Invalidation on DisplayItemClient deletion has no PaintInvalidationState available so must use slow version of paintingLayer() and paintInvalidationContainer().
Before we had client-side invalidation flags, the invalidate was definitely needed to avoid PaintController from being confused by a new object allocated at the same address of a deleted object. Now this is unnecessary because new objects will have new cache generations.
The only possible necessity of invalidating DisplayItemClient being deleted is to set the painting layer needsRepaint. This might be unnecessary if some other objects (e.g. the layoutObject of InlineBoxes) have already invalidated the painting layer, or we can improve the performance.
Comment 1 by bugdroid1@chromium.org
, Jun 18 2016