Bug 1031067 - Clear overscroll at the end of a pinch. r=kats

--HG--
extra : rebase_source : 2484d2513aab9d9d321fe6d42a1face685b45ba0
This commit is contained in:
Botond Ballo 2014-07-08 17:07:12 -04:00
Родитель 436b383057
Коммит fdf0b38e86
2 изменённых файлов: 13 добавлений и 0 удалений

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

@ -808,6 +808,10 @@ APZCTreeManager::DispatchScroll(AsyncPanZoomController* aPrev, ScreenPoint aStar
return false;
}
if (next->GetGuid().mLayersId != aPrev->GetGuid().mLayersId) {
NS_WARNING("Handing off scroll across a layer tree boundary; may need to revise approach to bug 1031067");
}
// Convert the start and end points from |aPrev|'s coordinate space to
// |next|'s coordinate space. Since |aPrev| may be the same as |next|
// (if |aPrev| is the APZC that is initiating the scroll and there is no

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

@ -1240,6 +1240,15 @@ nsEventStatus AsyncPanZoomController::OnScaleEnd(const PinchGestureInput& aEvent
{
ReentrantMonitorAutoEnter lock(mMonitor);
// We can get into a situation where we are overscrolled at the end of a
// pinch if we go into overscroll with a two-finger pan, and then turn
// that into a pinch by increasing the span sufficiently. In such a case,
// there is no snap-back animation to get us out of overscroll, so we need
// to get out of it somehow.
mX.ClearOverscroll();
mY.ClearOverscroll();
ScheduleComposite();
RequestContentRepaint();
UpdateSharedCompositorFrameMetrics();