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 82075ad1ed24a2aa9211a8441f7cc133f7729b22..acf790de9e321718594748c25410df02a120073c 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutObject.h |
+++ b/third_party/WebKit/Source/core/layout/LayoutObject.h |
@@ -1575,9 +1575,7 @@ class CORE_EXPORT LayoutObject : public ImageResourceObserver, |
// Called when the previous visual rect(s) is no longer valid. |
virtual void clearPreviousVisualRects(); |
- const LayoutPoint& previousPaintOffset() const { |
- return m_previousPaintOffset; |
- } |
+ const LayoutPoint& paintOffset() const { return m_paintOffset; } |
PaintInvalidationReason fullPaintInvalidationReason() const { |
return m_bitfields.fullPaintInvalidationReason(); |
@@ -1676,12 +1674,16 @@ class CORE_EXPORT LayoutObject : public ImageResourceObserver, |
m_layoutObject.ensureIsReadyForPaintInvalidation(); |
} |
+ // The following setters store the current values as calculated during the |
+ // pre-paint tree walk. TODO(wangxianzhu): Add check of lifecycle states. |
Xianzhu
2017/01/06 19:24:18
The TODO means I'm not sure for now if we can chec
pdr.
2017/01/06 19:40:01
SGTM
What about the paintOffset accessor (line 15
Xianzhu
2017/01/06 22:12:18
I would like to defer the decision to the TODO. Fo
|
void setPreviousVisualRect(const LayoutRect& r) { |
m_layoutObject.setPreviousVisualRect(r); |
} |
- void setPreviousPaintOffset(const LayoutPoint& p) { |
+ void setPaintOffset(const LayoutPoint& p) { |
DCHECK(RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled()); |
- m_layoutObject.m_previousPaintOffset = p; |
+ DCHECK_EQ(m_layoutObject.document().lifecycle().state(), |
+ DocumentLifecycle::InPrePaint); |
+ m_layoutObject.m_paintOffset = p; |
} |
void setHasPreviousLocationInBacking(bool b) { |
m_layoutObject.m_bitfields.setHasPreviousLocationInBacking(b); |
@@ -1695,6 +1697,7 @@ class CORE_EXPORT LayoutObject : public ImageResourceObserver, |
void setPreviousBackgroundObscured(bool b) { |
m_layoutObject.setPreviousBackgroundObscured(b); |
} |
+ |
void clearPreviousVisualRects() { |
m_layoutObject.clearPreviousVisualRects(); |
} |
@@ -2445,7 +2448,7 @@ class CORE_EXPORT LayoutObject : public ImageResourceObserver, |
// offset that will be used to paint the object on SPv2. It's used to detect |
// paint offset change for paint invalidation on SPv2, and partial paint |
// property tree update for SlimmingPaintInvalidation on SPv1 and SPv2. |
- LayoutPoint m_previousPaintOffset; |
+ LayoutPoint m_paintOffset; |
// For SPv2 only. The ObjectPaintProperties structure holds references to the |
// property tree nodes that are created by the layout object for painting. |