Bug 254200

Summary: [UI-side compositing] fast/repaint/canvas-object-fit.html fails on macOS due to a missing repaint rect
Product: WebKit Reporter: Said Abou-Hallawa <sabouhallawa>
Component: Layout and RenderingAssignee: Said Abou-Hallawa <sabouhallawa>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, jenner, simon.fraser, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=223283

Description Said Abou-Hallawa 2023-03-20 23:13:01 PDT
--- /Volumes/z/safari/main/OpenSource/WebKitBuild/Debug/layout-test-results/fast/repaint/canvas-object-fit-expected.txt
+++ /Volumes/z/safari/main/OpenSource/WebKitBuild/Debug/layout-test-results/fast/repaint/canvas-object-fit-actual.txt
@@ -10,9 +10,6 @@
           (position 8.00 8.00)
           (bounds 202.00 102.00)
           (drawsContent 1)
-          (repaint rects
-            (rect 70.00 20.00 7.00 7.00)
-          )
         )
       )
     )

The problem is the two JS functions in the test are combined in one updateRendering() so we report one repaint rect which the entire canvas rect. So there is no user problem here but the test does not generate exactly the expected output.

To fix the test, the first JS function needs to run in the first updateRendering() loop instead of running it onload. It looks like running the first JS function after two requestAnimationFrame(), fixes the test for WK1 as well.
Comment 1 Said Abou-Hallawa 2023-03-20 23:21:42 PDT
rdar://103582615
Comment 2 Said Abou-Hallawa 2023-03-20 23:33:44 PDT
Pull request: https://github.com/WebKit/WebKit/pull/11747
Comment 3 Said Abou-Hallawa 2023-03-21 11:52:52 PDT
*** Bug 223283 has been marked as a duplicate of this bug. ***
Comment 4 EWS 2023-03-21 12:46:19 PDT
Committed 261933@main (9eeb1f044a72): <https://commits.webkit.org/261933@main>

Reviewed commits have been landed. Closing PR #11747 and removing active labels.