Index: third_party/WebKit/Source/core/layout/LayoutView.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutView.cpp b/third_party/WebKit/Source/core/layout/LayoutView.cpp |
index 5313853971f78c318f8c62e23ac8dded92e9d190..18b2dbe696e4b951579933ee764331264a55a631 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutView.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutView.cpp |
@@ -455,12 +455,14 @@ void LayoutView::mapRectToPaintInvalidationBacking(const LayoutBoxModelObject* p |
return; |
if (LayoutBox* obj = owner->layoutBox()) { |
- // Intersect the viewport with the paint invalidation rect. |
- LayoutRect viewRectangle = viewRect(); |
- rect.intersect(viewRectangle); |
+ if (!state || !state->viewClippingAndScrollOffsetDisabled()) { |
+ // Intersect the viewport with the paint invalidation rect. |
+ LayoutRect viewRectangle = viewRect(); |
+ rect.intersect(viewRectangle); |
- // Adjust for scroll offset of the view. |
- rect.moveBy(-viewRectangle.location()); |
+ // Adjust for scroll offset of the view. |
+ rect.moveBy(-viewRectangle.location()); |
+ } |
// Adjust for frame border. |
rect.move(obj->contentBoxOffset()); |