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

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

Issue 1287413002: Fix paint invalidation rect tracking within composited scrolling layers. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 4 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: Source/core/layout/LayoutObject.h
diff --git a/Source/core/layout/LayoutObject.h b/Source/core/layout/LayoutObject.h
index 65b9b5e91d2fb9e1590eb0f5d74bda1739b2791f..c793b568376b7246b4adf71569920259a3a29944 100644
--- a/Source/core/layout/LayoutObject.h
+++ b/Source/core/layout/LayoutObject.h
@@ -1190,6 +1190,11 @@ protected:
void setIsSlowRepaintObject(bool);
private:
+ // 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.
+ void adjustInvalidationRectForCompositedScrolling(LayoutRect&, const LayoutBoxModelObject& paintInvalidationContainer);
+
void clearLayoutRootIfNeeded() const;
bool isInert() const;
@@ -1426,11 +1431,13 @@ private:
// Store state between styleWillChange and styleDidChange
static bool s_affectsParentBlock;
- // This stores the paint invalidation rect from the previous frame.
+ // This stores the paint invalidation rect from the previous frame. This rect does *not* account for composited scrolling. See
skobes 2015/08/13 21:26:10 It's a little unclear what it means to "account fo
+ // adjustInvalidationRectForCompositedScrolling().
LayoutRect m_previousPaintInvalidationRect;
// This stores the position in the paint invalidation backing's coordinate.
// It is used to detect layoutObject shifts that forces a full invalidation.
+ // This point does *not* account for composited scrolling. See adjustInvalidationRectForCompositedScrolling().
LayoutPoint m_previousPositionFromPaintInvalidationBacking;
};

Powered by Google App Engine
This is Rietveld 408576698