DescriptionPrevent synchronous image change notifications during paint
Image changed notifications are used by animated images to notify
LayoutObject clients that they need to repaint. These notifications
typically result in paint invalidations. Animated bitmap images have
some logic[1] to handle "falling behind" which would synchronously
fire image changed notifications during paint. This results in missed
paint invalidations as well as a changing layout tree out from under
the paint system.
This patch moves the synchronous image change notifications to an
immediate task which occurs after paint has completed.
[1] When painting animated gifs on a heavily loaded system (or a debug
build), pauses in the system can cause the animation to get behind.
When this happens, we want to advance the animation and catch-up but
prevent the next frame from using the same catch-up logic which could
get us in an infinite catch-up loop.
BUG=616700
Committed: https://crrev.com/45eef1a2a0f721e6782c4c92b28de3835f94ec46
Cr-Commit-Position: refs/heads/master@{#398147}
Patch Set 1 #Patch Set 2 : Great Expectations #
Total comments: 2
Messages
Total messages: 21 (7 generated)
|