RESOLVED FIXED281309
Regression(280901@main)? [WPE][TextureMapper] Incorrect extra hole punches with fixed body position
https://bugs.webkit.org/show_bug.cgi?id=281309
Summary Regression(280901@main)? [WPE][TextureMapper] Incorrect extra hole punches wi...
Tommy Lamb
Reported 2024-10-11 08:40:35 PDT
Created attachment 472907 [details] Test page that reproduces the issue When using external hole punch to render video, with the 'position:fixed' style applied to the body or html tags, extra holes are being punched through the page's content in incorrect places. With the attached test page we see the green body of the page showing through the pink div at the bottom of the page in two places, the video element is correctly sized and placed. This appears to be caused by commit 280901@main, which was introduced to fix Bug 274469. Reverting that commit resolves this issue. Some changes I tested that might help narrow down the cause: * Adding `style="position:fixed; left:1500px"` to the video also causes the extra holes at the bottom of the page to move, they are aligned with the video element. * Modifying the change introduced by 280901 to render a Red rectangle rather than transparent black causes a red rectangle to appear only on the correct position of the video element. The holes in the pink test div are unaffected * Removing "position:fixed" from the body tag avoids the issue * Rendering the webpage at 1920x1080 instead of 3840x2160 avoids the issue * When the test-div has absolute, relative, or static positioning the erroneous holes are visible. With sticky or fixed positions, they are not. * Increasing the height of the test-div above ~66% avoids the issue * Changing the test-div from `bottom:0` to `top:0` avoids the issue I have primarily tested against webkitglib/2.46@a9013872315792c1e94554f7776268e636be5f5d , but I also briefly tested main@ad4f7e712c10a2288245b1ed2d6faa628237522f (the cutting edge when I started digging) which showed the same issue. We're rendering webkit on screen through wpebackend-fdo (specifically the dmabuf-pool) in a custom application, but I have reproduced the bug with Cog using the same backend interface and direct DRM/KMS rendering (our custom distro lacks any window managers or compositors). Our build configuration of webkit is based on the Yocto recipe from meta-webkit (maintained I believe by Igalia), with some platform-specific tweaks. I also noticed the crossed-out play symbol is only sometimes visible in my test cases, but this may be a separate bug.
Attachments
Test page that reproduces the issue (512 bytes, text/html)
2024-10-11 08:40 PDT, Tommy Lamb
no flags
Screenshot of the rendering error (19.25 KB, image/jpeg)
2024-10-11 08:41 PDT, Tommy Lamb
no flags
Screenshot of issue with changed video position (20.69 KB, image/jpeg)
2024-10-11 08:42 PDT, Tommy Lamb
no flags
Screenshot with 280901 reverted (renders correctly) (19.17 KB, image/jpeg)
2024-10-11 08:44 PDT, Tommy Lamb
no flags
Tommy Lamb
Comment 1 2024-10-11 08:41:54 PDT
Created attachment 472908 [details] Screenshot of the rendering error
Tommy Lamb
Comment 2 2024-10-11 08:42:49 PDT
Created attachment 472909 [details] Screenshot of issue with changed video position
Tommy Lamb
Comment 3 2024-10-11 08:44:19 PDT
Created attachment 472910 [details] Screenshot with 280901 reverted (renders correctly)
Miguel Gomez
Comment 4 2024-11-04 03:07:32 PST
EWS
Comment 5 2024-11-05 05:14:05 PST
Committed 286146@main (4df9391bfafa): <https://commits.webkit.org/286146@main> Reviewed commits have been landed. Closing PR #36120 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.