Bug 222132

Summary: Sticky/fixed layers that are resized on the main thread can appear stretched when scrolling
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: CompositingAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: morungos, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari Technology Preview   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=222124
https://bugs.webkit.org/show_bug.cgi?id=222092
https://bugs.webkit.org/show_bug.cgi?id=244767
Attachments:
Description Flags
Testcase (BYOI)
none
Testcase none

Simon Fraser (smfr)
Reported 2021-02-18 14:20:32 PST
Scroll-coordinated layers, for fixed and sticky, get their CALayer's position changed on the scrolling thread. However, if the main thread also commits a size change, but the layer contents are slow to paint, then CA can do the size change on the scrolling thread before the contents are painted, resulting in stretched content. This happens on https://www.apple.com/ipad-air/ in low memory configurations. The fix is to use another layer as the "anchor" for fixed and sticky.
Attachments
Testcase (BYOI) (1.53 KB, text/html)
2021-02-18 14:27 PST, Simon Fraser (smfr)
no flags
Testcase (1.81 KB, text/html)
2022-08-18 11:14 PDT, Simon Fraser (smfr)
no flags
Simon Fraser (smfr)
Comment 1 2021-02-18 14:21:35 PST
Relates to rdar://71881767
Simon Fraser (smfr)
Comment 2 2021-02-18 14:27:37 PST
Created attachment 420873 [details] Testcase (BYOI)
Radar WebKit Bug Importer
Comment 3 2021-02-25 14:21:14 PST
Simon Fraser (smfr)
Comment 4 2022-08-18 11:14:53 PDT
Created attachment 461716 [details] Testcase
Simon Fraser (smfr)
Comment 5 2022-08-18 16:01:30 PDT
This also affects GitHub pages like https://github.com/WebKit/WebKit/pull/2941/files
Simon Fraser (smfr)
Comment 6 2022-08-19 16:24:00 PDT
EWS
Comment 7 2022-08-27 09:32:03 PDT
Committed 253865@main (69483ca1904a): <https://commits.webkit.org/253865@main> Reviewed commits have been landed. Closing PR #3492 and removing active labels.
zalan
Comment 8 2022-12-30 08:22:39 PST
*** Bug 249848 has been marked as a duplicate of this bug. ***
Note You need to log in before you can comment on or make changes to this bug.