diff --git a/layout/base/FrameLayerBuilder.cpp b/layout/base/FrameLayerBuilder.cpp index 48111a66d1bf..59fb6a038fdf 100644 --- a/layout/base/FrameLayerBuilder.cpp +++ b/layout/base/FrameLayerBuilder.cpp @@ -5287,7 +5287,7 @@ FrameLayerBuilder::BuildContainerLayerFor(nsDisplayListBuilder* aBuilder, const DisplayItemScrollClip* containerScrollClip = aParameters.mScrollClip; ContainerLayerParameters scaleParameters; - nsRect bounds = aChildren->GetClippedBoundsUpTo(aBuilder, containerScrollClip); + nsRect bounds = aChildren->GetScrollClippedBoundsUpTo(aBuilder, containerScrollClip); nsRect childrenVisible = aContainerItem ? aContainerItem->GetVisibleRectForChildren() : aContainerFrame->GetVisualOverflowRectRelativeToSelf(); diff --git a/layout/base/nsDisplayList.cpp b/layout/base/nsDisplayList.cpp index 0d211b0b3244..01cfb49afb4d 100644 --- a/layout/base/nsDisplayList.cpp +++ b/layout/base/nsDisplayList.cpp @@ -1396,11 +1396,11 @@ nsDisplayList::GetBounds(nsDisplayListBuilder* aBuilder) const { } nsRect -nsDisplayList::GetClippedBoundsUpTo(nsDisplayListBuilder* aBuilder, - const DisplayItemScrollClip* aIncludeScrollClipsUpTo) const { +nsDisplayList::GetScrollClippedBoundsUpTo(nsDisplayListBuilder* aBuilder, + const DisplayItemScrollClip* aIncludeScrollClipsUpTo) const { nsRect bounds; for (nsDisplayItem* i = GetBottom(); i != nullptr; i = i->GetAbove()) { - bounds.UnionRect(bounds, i->GetClippedBoundsUpTo(aBuilder, aIncludeScrollClipsUpTo)); + bounds.UnionRect(bounds, i->GetScrollClippedBoundsUpTo(aBuilder, aIncludeScrollClipsUpTo)); } return bounds; } @@ -2187,8 +2187,8 @@ nsDisplayItem::GetClippedBounds(nsDisplayListBuilder* aBuilder) } nsRect -nsDisplayItem::GetClippedBoundsUpTo(nsDisplayListBuilder* aBuilder, - const DisplayItemScrollClip* aIncludeScrollClipsUpTo) +nsDisplayItem::GetScrollClippedBoundsUpTo(nsDisplayListBuilder* aBuilder, + const DisplayItemScrollClip* aIncludeScrollClipsUpTo) { nsRect r = GetClippedBounds(aBuilder); for (const DisplayItemScrollClip* sc = mScrollClip; diff --git a/layout/base/nsDisplayList.h b/layout/base/nsDisplayList.h index 92d193f1a924..6d1b05b19fd3 100644 --- a/layout/base/nsDisplayList.h +++ b/layout/base/nsDisplayList.h @@ -1437,8 +1437,8 @@ public: * The intersection is approximate since rounded corners are not taking into * account. */ - nsRect GetClippedBoundsUpTo(nsDisplayListBuilder* aBuilder, - const DisplayItemScrollClip* aIncludeScrollClipsUpTo); + nsRect GetScrollClippedBoundsUpTo(nsDisplayListBuilder* aBuilder, + const DisplayItemScrollClip* aIncludeScrollClipsUpTo); nsRect GetBorderRect() { return nsRect(ToReferenceFrame(), Frame()->GetSize()); @@ -2162,8 +2162,11 @@ public: * The result is not cached. */ nsRect GetBounds(nsDisplayListBuilder* aBuilder) const; - nsRect GetClippedBoundsUpTo(nsDisplayListBuilder* aBuilder, - const DisplayItemScrollClip* aIncludeScrollClipsUpTo) const; + /** + * Return the union of the scroll clipped bounds of all children. + */ + nsRect GetScrollClippedBoundsUpTo(nsDisplayListBuilder* aBuilder, + const DisplayItemScrollClip* aIncludeScrollClipsUpTo) const; /** * Find the topmost display item that returns a non-null frame, and return * the frame. @@ -3187,7 +3190,7 @@ public: */ virtual void UpdateBounds(nsDisplayListBuilder* aBuilder) override { - mBounds = mList.GetClippedBoundsUpTo(aBuilder, mScrollClip); + mBounds = mList.GetScrollClippedBoundsUpTo(aBuilder, mScrollClip); // The display list may contain content that's visible outside the visible // rect (i.e. the current dirty rect) passed in when the item was created. // This happens when the dirty rect has been restricted to the visual