WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
94874
[mac] REGRESSION (
r122215
): Animated GIF outside the viewport doesn't play when scrolled into view
https://bugs.webkit.org/show_bug.cgi?id=94874
Summary
[mac] REGRESSION (r122215): Animated GIF outside the viewport doesn't play wh...
Tim Horton
Reported
2012-08-23 16:56:19 PDT
Steps to Reproduce: 1. On Mountain Lion, with the Mac port (where tiled scrolling is enabled): 2. With a relatively small window: 3. Load
http://whenapthuntinginsf.tumblr.com
. 4. Scroll down. Expected: All of the GIFs animate. Actual: The GIFs which are scrolled into view do not animate. This is probably due to the fact that they are offscreen (on offscreen tiles) when they are first painted, so they don't animate. Then, when they are scrolled into view, they don't need to repaint, so they don't realize they should start animating. This will probably require some special logic in the tiled scrolling case. <
rdar://problem/12067641
>
Attachments
Patch
(5.88 KB, patch)
2012-10-05 17:46 PDT
,
Dongseong Hwang
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Tim Horton
Comment 1
2012-08-23 17:04:49 PDT
This regressed in
http://trac.webkit.org/changeset/122215
. The ChangeLog entry for that patch includes the comment: "This patch makes GIF animation outside the viewport be paused."
Dongseong Hwang
Comment 2
2012-08-23 18:57:41 PDT
(In reply to
comment #1
)
> This regressed in
http://trac.webkit.org/changeset/122215
. The ChangeLog entry for that patch includes the comment: "This patch makes GIF animation outside the viewport be paused."
I'm sorry for this regression. I think the tiled scrolling disables RenderObject::willRenderImage from checking if the renderer is outside the viewport. "viewRect().intersects(absoluteClippedOverflowRect())" is often used in WebKit, such as spatial navigation. I think the tiled scrolling should return the proper value. bool RenderObject::willRenderImage(CachedImage*) { .... // If a renderer is outside the viewport, we won't render. return viewRect().intersects(absoluteClippedOverflowRect()); }
Dongseong Hwang
Comment 3
2012-10-05 17:46:10 PDT
Created
attachment 167425
[details]
Patch
Dongseong Hwang
Comment 4
2012-10-05 17:48:55 PDT
(In reply to
comment #3
)
> Created an attachment (id=167425) [details] > Patch
Rollback previous patch because this patch caused two problems. 1. GIF animation is occasionally paused when tiled scrolling is enabled. 2. This change regressed Apple's Membuster benchmark by ~20% (80MB.)
WebKit Review Bot
Comment 5
2012-10-05 18:27:57 PDT
Comment on
attachment 167425
[details]
Patch Clearing flags on attachment: 167425 Committed
r130573
: <
http://trac.webkit.org/changeset/130573
>
WebKit Review Bot
Comment 6
2012-10-05 18:28:01 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug