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 0059bbab5bf8150de2a83382b3129cf08619b873..ffba10ad12132c12d977204fc917d37aeb05a9b8 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutObject.h |
+++ b/third_party/WebKit/Source/core/layout/LayoutObject.h |
@@ -1309,6 +1309,18 @@ |
void setShouldDoFullPaintInvalidationIncludingNonCompositingDescendants(); |
+ // Returns true if the object itself will not generate any effective painted |
+ // output no matter what size the object is. For example, this function can |
+ // return false for an object whose size is currently 0x0 but would have |
+ // effective painted output if it was set a non-empty size. |
+ // It's used to skip unforced paint invalidation (which is when |
+ // shouldDoFullPaintInvalidation is false, but mayNeedPaintInvalidation or |
+ // childShouldCheckForPaintInvalidation is true) to avoid unnecessary paint |
+ // invalidations of empty areas covered by such objects. |
+ virtual bool paintedOutputOfObjectHasNoEffectRegardlessOfSize() const { |
+ return false; |
+ } |
+ |
// Returns the rect that should have paint invalidated whenever this object |
// changes. The rect is in the view's coordinate space. This method deals with |
// outlines and overflow. |