https://codereview.chromium.org/2254893005 had to copy the optional CacheSkipper we have in LayoutObjectDrawingRecorder ctor:
if (layoutObject.fullPaintInvalidationReason() ==
PaintInvalidationDelayedFull)
m_cacheSkipper.emplace(context);
which was needed for this test case:
paint/invalidation/animated-gif-background-offscreen.html
And I'm working on a change for http://crbug.com/647809 which moves from using LayoutObjectDrawingRecorder to DrawingRecorder and so may need similar. I'm not sure yet whether we can create a table-specific animated gif case that's analogous, but I will look into and attempt.
If so, we could consider adding a method to check for this case to DisplayItemClient and moving the skipping into the base DrawingRecorder.
Or, pdr@ said perhaps we can change the callsite/situation that leads to the need for this. Filing bug for tracking and discussion.
Comment 1 by wkorman@chromium.org
, May 11 2017Status: Available (was: Assigned)