Bug 203613

Summary: The image is flashing if falls out and has an animation transform: rotate
Product: WebKit Reporter: Roman Kosov <bugs-webkit>
Component: CompositingAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, dino, graouts, koivisto, sabouhallawa, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 13   
Hardware: Mac   
OS: macOS 10.15   
See Also: https://bugs.webkit.org/show_bug.cgi?id=173732
Attachments:
Description Flags
image with animation transform: rotate = flashing
none
Reduced test case
none
Patch none

Roman Kosov
Reported 2019-10-30 09:39:41 PDT
Created attachment 382324 [details] image with animation transform: rotate = flashing The image is flashing if falls out and has an animation transform: rotate. Preview: https://codepen.io/romankosov/full/GRRMPJJ Code: https://codepen.io/romankosov/pen/GRRMPJJ MacOS X: 10.15.1 Beta (19B86a) Safri: Version 13.0.3 (15608.3.10.1.4)
Attachments
image with animation transform: rotate = flashing (16.29 MB, video/quicktime)
2019-10-30 09:39 PDT, Roman Kosov
no flags
Reduced test case (1.10 KB, text/html)
2019-11-13 17:33 PST, Simon Fraser (smfr)
no flags
Patch (8.63 KB, patch)
2019-11-14 14:55 PST, Simon Fraser (smfr)
no flags
Said Abou-Hallawa
Comment 1 2019-10-30 10:01:11 PDT
The flashing happens only when resizing the window or scrolling the page horizontally such that the image is partially visible. And it is not because of image decoding.
Radar WebKit Bug Importer
Comment 2 2019-10-30 10:01:25 PDT
Simon Fraser (smfr)
Comment 3 2019-10-30 11:56:14 PDT
This is about backing store detachment.
Simon Fraser (smfr)
Comment 4 2019-11-13 17:33:48 PST
Created attachment 383525 [details] Reduced test case
Simon Fraser (smfr)
Comment 5 2019-11-13 18:33:21 PST
This code is wrong: if (auto extent = animationExtent()) { // Adjust the animation extent to match the current animation position. bounds = rects.animatingTransform.inverse().valueOr(TransformationMatrix()).mapRect(*extent); }
Simon Fraser (smfr)
Comment 6 2019-11-13 18:35:04 PST
Antti added this code in r218735
Simon Fraser (smfr)
Comment 7 2019-11-13 18:39:55 PST
I don't think we need to map "extent" through the inverses of the current transform, because "extent" was computed as the union of all the possible bounds that result from the animation.
Simon Fraser (smfr)
Comment 8 2019-11-14 14:55:48 PST
WebKit Commit Bot
Comment 9 2019-11-15 08:59:05 PST
Comment on attachment 383574 [details] Patch Clearing flags on attachment: 383574 Committed r252486: <https://trac.webkit.org/changeset/252486>
WebKit Commit Bot
Comment 10 2019-11-15 08:59:07 PST
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.