зеркало из https://github.com/mozilla/gecko-dev.git
Bug 951793 - Obey overscroll-behavior for any overscroll effect. r=kats
MozReview-Commit-ID: HyATx3aCmmm --HG-- extra : rebase_source : 43f8d69a8e10f778179e77679cb7581b95d25b87
This commit is contained in:
Родитель
bfb1cd4ddd
Коммит
c956e489bc
|
@ -2809,8 +2809,8 @@ void AsyncPanZoomController::OverscrollBy(ParentLayerPoint& aOverscroll) {
|
|||
bool xConsumed = FuzzyEqualsAdditive(aOverscroll.x, 0.0f, COORDINATE_EPSILON);
|
||||
bool yConsumed = FuzzyEqualsAdditive(aOverscroll.y, 0.0f, COORDINATE_EPSILON);
|
||||
|
||||
bool shouldOverscrollX = xCanScroll && !xConsumed;
|
||||
bool shouldOverscrollY = yCanScroll && !yConsumed;
|
||||
bool shouldOverscrollX = xCanScroll && !xConsumed && mX.OverscrollBehaviorAllowsOverscrollEffect();
|
||||
bool shouldOverscrollY = yCanScroll && !yConsumed && mY.OverscrollBehaviorAllowsOverscrollEffect();
|
||||
|
||||
mOverscrollEffect->ConsumeOverscroll(aOverscroll, shouldOverscrollX, shouldOverscrollY);
|
||||
}
|
||||
|
@ -2892,7 +2892,18 @@ void AsyncPanZoomController::HandleFlingOverscroll(const ParentLayerPoint& aVelo
|
|||
aScrolledApzc};
|
||||
ParentLayerPoint residualVelocity = treeManagerLocal->DispatchFling(this, handoffState);
|
||||
if (!IsZero(residualVelocity) && IsPannable() && gfxPrefs::APZOverscrollEnabled()) {
|
||||
mOverscrollEffect->HandleFlingOverscroll(residualVelocity);
|
||||
// Obey overscroll-behavior.
|
||||
RecursiveMutexAutoLock lock(mRecursiveMutex);
|
||||
if (!mX.OverscrollBehaviorAllowsOverscrollEffect()) {
|
||||
residualVelocity.x = 0;
|
||||
}
|
||||
if (!mY.OverscrollBehaviorAllowsOverscrollEffect()) {
|
||||
residualVelocity.y = 0;
|
||||
}
|
||||
|
||||
if (!IsZero(residualVelocity)) {
|
||||
mOverscrollEffect->HandleFlingOverscroll(residualVelocity);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче