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

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

Issue 1209133002: Traverse into child LayoutViews during invalidateTreeIfNeeded (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 6 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/LayoutView.h
diff --git a/Source/core/layout/LayoutView.h b/Source/core/layout/LayoutView.h
index fc6656e6e09877266402fb9992f7b8bdbde60808..2643894fd80fc2b9835231a8fa77fd635b786551 100644
--- a/Source/core/layout/LayoutView.h
+++ b/Source/core/layout/LayoutView.h
@@ -183,6 +183,11 @@ public:
virtual LayoutRect visualOverflowRect() const override;
+ bool forceCheckForPaintInvalidationByParent() const { return !isPaintInvalidationContainer() && m_forceCheckForPaintInvalidationByParent; }
+ void setForceCheckForPaintInvalidationByParent(bool b) { ASSERT(!isPaintInvalidationContainer()); m_forceCheckForPaintInvalidationByParent = b; }
+ bool paintInvalidationCachedOffsetsEnabledByParent() const { return isPaintInvalidationContainer() || m_paintInvalidationCachedOffsetsEnabledByParent; }
+ void setPaintInvalidationCachedOffsetsEnabledByParent(bool b) { ASSERT(!isPaintInvalidationContainer()); m_paintInvalidationCachedOffsetsEnabledByParent = b; }
+
private:
virtual void mapLocalToContainer(const LayoutBoxModelObject* paintInvalidationContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = nullptr, const PaintInvalidationState* = nullptr) const override;
@@ -227,6 +232,11 @@ private:
OwnPtrWillBePersistent<HitTestCache> m_hitTestCache;
OwnPtrWillBePersistent<PendingSelection> m_pendingSelection;
+
+ // Set during parent LayoutView's paint invalidation. Checked during its own paint invalidation.
+ // They are ignored if this LayoutView is paint invalidation container.
+ bool m_forceCheckForPaintInvalidationByParent;
+ bool m_paintInvalidationCachedOffsetsEnabledByParent;
};
DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutView, isLayoutView());

Powered by Google App Engine
This is Rietveld 408576698