Index: third_party/WebKit/Source/core/layout/LayoutBox.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutBox.cpp b/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
index 3b671d8d42b3358bd8d550c09b3042365177e79c..0c834ad1d1175a5dd06b8b893f0eae9bd7ae7070 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
@@ -947,13 +947,6 @@ void LayoutBox::applyCachedClipAndScrollOffsetForPaintInvalidation(LayoutRect& p |
flipForWritingMode(paintRect); |
paintRect.move(-scrolledContentOffset()); // For overflow:auto/scroll/hidden. |
- // Do not clip scroll layer contents because the compositor expects the whole layer |
leviw_travelin_and_unemployed
2015/12/09 23:06:26
You said there's a use that prevents us from asser
szager1
2015/12/09 23:21:26
The use is IntersectionObserver :)
|
- // to be always invalidated in-time. |
- if (usesCompositedScrolling()) { |
- flipForWritingMode(paintRect); |
- return; |
- } |
- |
// size() is inaccurate if we're in the middle of a layout of this LayoutBox, so use the |
// layer's size instead. Even if the layer's size is wrong, the layer itself will issue paint invalidations |
// anyway if its size does change. |
@@ -1932,7 +1925,7 @@ void LayoutBox::mapRectToPaintInvalidationBacking(const LayoutBoxModelObject* pa |
// FIXME: We ignore the lightweight clipping rect that controls use, since if |o| is in mid-layout, |
// its controlClipRect will be wrong. For overflow clip we use the values cached by the layer. |
rect.setLocation(topLeft); |
- if (o->hasOverflowClip()) { |
+ if (o != paintInvalidationContainer && o->hasOverflowClip()) { |
leviw_travelin_and_unemployed
2015/12/09 23:06:26
May be worthy of a comment?
szager1
2015/12/09 23:21:26
I'm not exactly sure what the comment should be.
|
LayoutBox* containerBox = toLayoutBox(o); |
containerBox->applyCachedClipAndScrollOffsetForPaintInvalidation(rect); |
if (rect.isEmpty()) |