Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1785)

Unified Diff: third_party/WebKit/Source/core/layout/LayoutObject.h

Issue 1368163002: Workaround rect-based paint invalidation on ancestor clip change (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/layout/LayoutObject.h
diff --git a/third_party/WebKit/Source/core/layout/LayoutObject.h b/third_party/WebKit/Source/core/layout/LayoutObject.h
index 910a91bd7a0a8803d30dff77eb1515b55988ac05..f89eef4625b1e665436eb849783e63bd01546a1f 100644
--- a/third_party/WebKit/Source/core/layout/LayoutObject.h
+++ b/third_party/WebKit/Source/core/layout/LayoutObject.h
@@ -1187,7 +1187,9 @@ public:
// Should check for paint invalidation if some ancestor changed location, because this object
// may also change paint offset or location in paint invalidation container, even if there is
// no paint invalidation flag set.
- return paintInvalidationState.forcedSubtreeInvalidationWithinContainer() || shouldCheckForPaintInvalidationRegardlessOfPaintInvalidationState();
+ return paintInvalidationState.forcedSubtreeInvalidationWithinContainer()
+ || paintInvalidationState.forcedSubtreeInvalidationRectUpdateWithinContainer()
+ || shouldCheckForPaintInvalidationRegardlessOfPaintInvalidationState();
}
bool shouldCheckForPaintInvalidationRegardlessOfPaintInvalidationState() const
@@ -1365,11 +1367,11 @@ protected:
bool containsInlineWithOutlineAndContinuation() const { return m_bitfields.containsInlineWithOutlineAndContinuation(); }
void setContainsInlineWithOutlineAndContinuation(bool b) { m_bitfields.setContainsInlineWithOutlineAndContinuation(b); }
+ const LayoutRect& previousPaintInvalidationRect() const { return m_previousPaintInvalidationRect; }
+
private:
void fullyInvalidatePaint(const LayoutBoxModelObject& paintInvalidationContainer, PaintInvalidationReason, const LayoutRect& oldBounds, const LayoutRect& newBounds);
- const LayoutRect& previousPaintInvalidationRect() const { return m_previousPaintInvalidationRect; }
-
// Adjusts a paint invalidation rect in the space of |m_previousPaintInvalidationRect| and |m_previousPositionFromPaintInvalidationBacking|
// to be in the space of the |paintInvalidationContainer|,
// if needed. They can be different only if |paintInvalidationContainer| is a composited scroller.

Powered by Google App Engine
This is Rietveld 408576698