Bug 59042 - REGRESSION (WK2): Animated GIF stops when navigating forward, back
Summary: REGRESSION (WK2): Animated GIF stops when navigating forward, back
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC OS X 10.5
: P2 Normal
Assignee: Andy Estes
Keywords: InRadar, Regression
Depends on:
Blocks: 59062
  Show dependency treegraph
Reported: 2011-04-20 17:02 PDT by Andy Estes
Modified: 2011-04-20 19:16 PDT (History)
4 users (show)

See Also:

Patch (9.63 KB, patch)
2011-04-20 17:15 PDT, Andy Estes
mjs: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andy Estes 2011-04-20 17:02:04 PDT
After loading this page and going forward, then back, the animated gif stops animating.

1. Load http://en.wikipedia.org/wiki/Methadone
2. Click the animated gif
3. Hit the back button

Gif no longer animates.
Comment 1 Andy Estes 2011-04-20 17:02:23 PDT
Comment 2 Andy Estes 2011-04-20 17:03:31 PDT
When loading the page from the b/f cache, document()->view()->isOffscreen() returns true in RenderObject::willRenderImage(), so BitmapImage::startAnimation() returns without actually kicking off the animation.

In WebKit1, the ScrollView is a platform widget, so ScrollView::isOffscreen() calls [NSWindow isVisible]. In WebKit2, the ScrollView isn't a platform widget so it asks the WebCore Widget whether or not it is visible. It always returns false since setParentVisible(false) was called on the old ScrollView before navigating to a new page, but setParentVisible(true) is never called when restoring it from the back/forward cache.
Comment 3 Andy Estes 2011-04-20 17:06:14 PDT
It's sad that I'm fixing a WebKit2-specific bug that'll have to be skipped for now on the WebKit2 bots due to <https://bugs.webkit.org/show_bug.cgi?id=42197> :(
Comment 4 Andy Estes 2011-04-20 17:15:03 PDT
Created attachment 90450 [details]
Comment 5 Maciej Stachowiak 2011-04-20 17:31:39 PDT
Comment on attachment 90450 [details]

Comment 6 Andy Estes 2011-04-20 17:46:49 PDT
Committed r84443: <http://trac.webkit.org/changeset/84443>
Comment 7 WebKit Review Bot 2011-04-20 18:37:05 PDT
http://trac.webkit.org/changeset/84443 might have broken Windows 7 Release (Tests)
The following tests are not passing: