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

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

Issue 1955073002: LayoutObject::paintingLayer() to correctly handle column-span:all (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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 de88310f5786ba342e80b7a2ff454b9945d4e90e..855f7c743f0420b38e66630138c53670735b9493 100644
--- a/third_party/WebKit/Source/core/layout/LayoutObject.h
+++ b/third_party/WebKit/Source/core/layout/LayoutObject.h
@@ -269,7 +269,7 @@ public:
LayoutObject* lastLeafChild() const;
- // The following six functions are used when the layout tree hierarchy changes to make sure layers get
+ // The following functions are used when the layout tree hierarchy changes to make sure layers get
// properly added and removed. Since containership can be implemented by any subclass, and since a hierarchy
// can contain a mixture of boxes and other object types, these functions need to be in the base class.
PaintLayer* enclosingLayer() const;
@@ -278,6 +278,10 @@ public:
void moveLayers(PaintLayer* oldParent, PaintLayer* newParent);
PaintLayer* findNextLayer(PaintLayer* parentLayer, LayoutObject* startPoint, bool checkParent = true);
+ // Returns the layer that will paint this object.
+ // If possible, use the faster PaintInvalidationState::paintingLayer() instead.
+ PaintLayer* paintingLayer() const;
+
// Scrolling is a LayoutBox concept, however some code just cares about recursively scrolling our enclosing ScrollableArea(s).
bool scrollRectToVisible(
const LayoutRect&,
@@ -1557,9 +1561,12 @@ protected:
// owned by this object, including the object itself, LayoutText/LayoutInline line boxes, etc.,
// not including children which will be invalidated normally during invalidateTreeIfNeeded() and
// parts which are invalidated separately (e.g. scrollbars).
- // The caller should ensure the enclosing layer has been setNeedsRepaint before calling this function.
+ // The caller should ensure the painting layer has been setNeedsRepaint before calling this function.
virtual void invalidateDisplayItemClients(const LayoutBoxModelObject& paintInvalidationContainer, PaintInvalidationReason) const;
+ // If possible, use the faster paintInvalidationState.paintingLayer().setNeedsRepaint().
+ void setPaintingLayerNeedsRepaint() const;
+
// Sets enclosing layer needsRepaint, then calls invalidateDisplayItemClients().
// Should use this version when PaintInvalidationState is available.
void invalidateDisplayItemClientsWithPaintInvalidationState(const LayoutBoxModelObject& paintInvalidationContainer, const PaintInvalidationState&, PaintInvalidationReason) const;
@@ -1616,7 +1623,7 @@ private:
void invalidatePaintIncludingNonSelfPaintingLayerDescendantsInternal(const LayoutBoxModelObject& paintInvalidationContainer);
- // The caller should ensure the enclosing layer has been setNeedsRepaint before calling this function.
+ // The caller should ensure the painting layer has been setNeedsRepaint before calling this function.
void invalidatePaintOfPreviousPaintInvalidationRect(const LayoutBoxModelObject& paintInvalidationContainer, PaintInvalidationReason);
LayoutRect previousSelectionRectForPaintInvalidation() const;
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutBox.cpp ('k') | third_party/WebKit/Source/core/layout/LayoutObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698