[webkit-reviews] review requested: [Bug 20745] REGRESSION: Animated GIF not animated : [Attachment 23486] Partial patch v1

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Sep 16 14:00:35 PDT 2008

Peter Kasting <pkasting at google.com> has asked  for review:
Bug 20745: REGRESSION: Animated GIF not animated

Attachment 23486: Partial patch v1

------- Additional Comments from Peter Kasting <pkasting at google.com>
This patch makes life better, but does not fix all the problems.

I elected to cache "m_isComplete" on the FrameData to keep things in parallel
with how the duration and alpha work.  Someone should yell if this is invalid,
say because the completion status of a frame can change without cacheFrame()
being called a second time.

With this patch, the image on the URL animates on load.  However, some fiddling
with the resize corner can eventually make it stop animating.  What I think is
happening is that we're falling into the "too far behind, skip the current
frame" case in startAnimation().  In this case, internalAdvanceAnimation()
changes the image and notifies observers, expecting this to eventually result
in another call to BitmapImage::draw(), which in turn will call back to
startAnimation() and result in a timer getting set for the next frame.	But
draw() is never reached after observer notification.  I don't know why.  We
mark parts of the backing store dirty but beyond that my ability to trace
through this code diminishes.  Help wanted :(

More information about the webkit-reviews mailing list