Bug 951793 - Do not reconstruct the frame when overscroll-behavior has changed. r=mstange

A repaint is sufficient to pick up the new property value.

MozReview-Commit-ID: oKFgGfquyl
This commit is contained in:
Botond Ballo 2017-11-22 19:06:43 -05:00 committed by Emilio Cobos Álvarez
parent 94aad98f21
commit a3ce4187d1

View File

@ -3709,8 +3709,6 @@ nsStyleDisplay::CalcDifference(const nsStyleDisplay& aNewData) const
|| mContain != aNewData.mContain
|| (mFloat == StyleFloat::None) != (aNewData.mFloat == StyleFloat::None)
|| mScrollBehavior != aNewData.mScrollBehavior
|| mOverscrollBehaviorX != aNewData.mOverscrollBehaviorX
|| mOverscrollBehaviorY != aNewData.mOverscrollBehaviorY
|| mScrollSnapTypeX != aNewData.mScrollSnapTypeX
|| mScrollSnapTypeY != aNewData.mScrollSnapTypeY
|| mScrollSnapPointsX != aNewData.mScrollSnapPointsX
@ -3901,6 +3899,13 @@ nsStyleDisplay::CalcDifference(const nsStyleDisplay& aNewData) const
hint |= nsChangeHint_RepaintFrame;
}
// If overscroll-behavior has changed, the changes are picked up
// during a repaint.
if (mOverscrollBehaviorX != aNewData.mOverscrollBehaviorX ||
mOverscrollBehaviorY != aNewData.mOverscrollBehaviorY) {
hint |= nsChangeHint_SchedulePaint;
}
// Note: Our current behavior for handling changes to the
// transition-duration, transition-delay, and transition-timing-function
// properties is to do nothing. In other words, the transition