Bug 782552 Set overflow delta values even if there is no scroll target for the wheel event r=smaug

This commit is contained in:
Masayuki Nakano 2012-08-15 09:52:07 +09:00
Родитель 181defb77f
Коммит 97b357822f
1 изменённых файлов: 5 добавлений и 4 удалений

Просмотреть файл

@ -2801,10 +2801,6 @@ nsEventStateManager::DoScrollText(nsIScrollableFrame* aScrollableFrame,
MOZ_ASSERT(aScrollableFrame);
MOZ_ASSERT(aEvent);
aEvent->overflowDeltaX = aEvent->deltaX;
aEvent->overflowDeltaY = aEvent->deltaY;
WheelPrefs::GetInstance()->CancelApplyingUserPrefsFromOverflowDelta(aEvent);
nsIFrame* scrollFrame = do_QueryFrame(aScrollableFrame);
MOZ_ASSERT(scrollFrame);
nsWeakFrame scrollFrameWeak(scrollFrame);
@ -3238,6 +3234,10 @@ nsEventStateManager::PostHandleEvent(nsPresContext* aPresContext,
// transaction.
nsIScrollableFrame* scrollTarget =
ComputeScrollTarget(aTargetFrame, wheelEvent, true);
wheelEvent->overflowDeltaX = wheelEvent->deltaX;
wheelEvent->overflowDeltaY = wheelEvent->deltaY;
WheelPrefs::GetInstance()->
CancelApplyingUserPrefsFromOverflowDelta(wheelEvent);
if (scrollTarget) {
DoScrollText(scrollTarget, wheelEvent);
} else {
@ -3252,6 +3252,7 @@ nsEventStateManager::PostHandleEvent(nsPresContext* aPresContext,
case WheelPrefs::ACTION_ZOOM:
DoScrollZoom(aTargetFrame, wheelEvent->GetPreferredIntDelta());
break;
default:
break;
}