| Summary: | Image animation is not always stopped if used as background-image of a div that is outside viewport | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Chris Dumez <cdumez> | ||||||||
| Component: | Layout and Rendering | Assignee: | Chris Dumez <cdumez> | ||||||||
| Status: | RESOLVED INVALID | ||||||||||
| Severity: | Normal | CC: | esprehn+autocc, glenn, kling, koivisto, kondapallykalyan, ossy, simon.fraser | ||||||||
| Priority: | P2 | ||||||||||
| Version: | 528+ (Nightly build) | ||||||||||
| Hardware: | Unspecified | ||||||||||
| OS: | Unspecified | ||||||||||
| Bug Depends on: | 139435 | ||||||||||
| Bug Blocks: | |||||||||||
| Attachments: |
|
||||||||||
|
Description
Chris Dumez
2014-12-10 21:28:57 PST
Created attachment 243098 [details]
Patch
Created attachment 243103 [details]
Patch
Created attachment 243104 [details]
Patch
I regressed this in http://trac.webkit.org/changeset/176212 when refactoring the code to detect if we're inside viewport to be shared between animated images and DOM Timer throttling. Comment on attachment 243104 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=243104&action=review > Source/WebCore/rendering/RenderElement.cpp:1371 > + LayoutRect backgroundPaintingRect = backgroundIsPaintedByRoot ? renderer.view().backgroundRect(&renderer.view()) : renderer.absoluteBoundingBoxRect(); But doesn't this regress the reflection case, and possibly others? Comment on attachment 243104 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=243104&action=review >> Source/WebCore/rendering/RenderElement.cpp:1371 >> + LayoutRect backgroundPaintingRect = backgroundIsPaintedByRoot ? renderer.view().backgroundRect(&renderer.view()) : renderer.absoluteBoundingBoxRect(); > > But doesn't this regress the reflection case, and possibly others? Hmm, I will have to check. It is indeed possible. If so, it is better to be conservative and use the overflow rect. |