Summary: | [mac] REGRESSION (r122215): Animated GIF outside the viewport doesn't play when scrolled into view | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Tim Horton <thorton> | ||||
Component: | Images | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | adele, andersca, bdakin, dongseong.hwang, eric, japhet, kling, koivisto, simon.fraser, skyul, webkit.review.bot | ||||
Priority: | P1 | Keywords: | InRadar, Regression | ||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Tim Horton
2012-08-23 16:56:19 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." (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()); } Created attachment 167425 [details]
Patch
(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.) Comment on attachment 167425 [details] Patch Clearing flags on attachment: 167425 Committed r130573: <http://trac.webkit.org/changeset/130573> All reviewed patches have been landed. Closing bug. |