Bug 1198135 - Part 1: Recompute all required overflow areas when scrolling. r=dbaron

--HG--
extra : rebase_source : a9e34de77013548aa8a456f171ec77e58930af81
This commit is contained in:
Matt Woodrow 2016-08-18 16:08:17 +12:00
parent 2c1cb117fb
commit 06275ce493

View File

@ -2744,7 +2744,18 @@ ScrollFrameHelper::ScrollToImpl(nsPoint aPt, const nsRect& aRange, nsIAtom* aOri
if (mOuter->ChildrenHavePerspective()) {
// The overflow areas of descendants may depend on the scroll position,
// so ensure they get updated.
// First we recompute the overflow areas of the transformed children
// that use the perspective. FinishAndStoreOverflow only calls this
// if the size changes, so we need to do it manually.
mOuter->RecomputePerspectiveChildrenOverflow(mOuter);
// Update the overflow for the scrolled frame to take any changes from the
// children into account.
mScrolledFrame->UpdateOverflow();
// Update the overflow for the outer so that we recompute scrollbars.
mOuter->UpdateOverflow();
}
ScheduleSyntheticMouseMove();