Index: third_party/WebKit/Source/core/frame/FrameView.h |
diff --git a/third_party/WebKit/Source/core/frame/FrameView.h b/third_party/WebKit/Source/core/frame/FrameView.h |
index f3496595a49b91242f2929265d357eb26dab8317..d0946ae4bea708f14685b5ccd0fec2e86065f2fa 100644 |
--- a/third_party/WebKit/Source/core/frame/FrameView.h |
+++ b/third_party/WebKit/Source/core/frame/FrameView.h |
@@ -748,6 +748,19 @@ class CORE_EXPORT FrameView final |
m_needsPaintPropertyUpdate = false; |
} |
bool needsPaintPropertyUpdate() const { return m_needsPaintPropertyUpdate; } |
+ |
+ // Set when the whole frame subtree needs full paint invalidation and paint |
pdr.
2016/12/15 06:07:24
Why is a full paint property tree rebuild necessar
Xianzhu
2016/12/15 16:59:11
There would be many under-invalidations in paint a
Xianzhu
2016/12/15 17:05:42
The whole tree walk for SPv1 is in LayoutView::set
|
+ // property update, e.g. when beginning or finishing printing. |
+ void setShouldInvalidateAllPaintAndPaintProperties() { |
+ m_shouldInvalidateAllPaintAndPaintProperties = true; |
+ } |
+ void clearShouldInvalidateAllPaintAndPaintProperties() { |
+ m_shouldInvalidateAllPaintAndPaintProperties = true; |
+ } |
+ bool shouldInvalidateAllPaintAndPaintProperties() const { |
+ return m_shouldInvalidateAllPaintAndPaintProperties; |
+ } |
+ |
// TODO(ojan): Merge this with IntersectionObserver once it lands. |
IntRect computeVisibleArea(); |
@@ -1103,6 +1116,7 @@ class CORE_EXPORT FrameView final |
// Whether the paint properties need to be updated. For more details, see |
// FrameView::needsPaintPropertyUpdate(). |
bool m_needsPaintPropertyUpdate; |
+ bool m_shouldInvalidateAllPaintAndPaintProperties; |
// This is set on the local root frame view only. |
DocumentLifecycle::LifecycleState m_currentUpdateLifecyclePhasesTargetState; |