| Index: third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h | 
| diff --git a/third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h b/third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h | 
| index 25a5bcd9faa5cb3f5707b936f24a59779595f33d..fb47d824b2b8949868f9534a8010b5327d59d635 100644 | 
| --- a/third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h | 
| +++ b/third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h | 
| @@ -54,6 +54,20 @@ | 
| // object that owns the GraphicsLayer, i.e. offset by | 
| // offsetFromLayoutObjectWithSubpixelAccumulation(). | 
| virtual LayoutRect visualRect() const = 0; | 
| + | 
| +  // This is declared here instead of in LayoutObject for verifying the | 
| +  // condition in DrawingRecorder. | 
| +  // 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 of LayoutObjects (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; | 
| +  } | 
|  | 
| void setDisplayItemsUncached( | 
| PaintInvalidationReason reason = PaintInvalidationFull) const { | 
|  |