[Webkit-unassigned] [Bug 281309] New: Regression(280901 at main)? [WPE] Incorrect extra hole punches with fixed body position

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Oct 11 08:40:35 PDT 2024


https://bugs.webkit.org/show_bug.cgi?id=281309

            Bug ID: 281309
           Summary: Regression(280901 at main)? [WPE] Incorrect extra hole
                    punches with fixed body position
           Product: WebKit
           Version: Other
          Hardware: Other
                OS: Linux
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WPE WebKit
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: tommy.lamb+webkit at vitec.com
                CC: bugs-noreply at webkitgtk.org

Created attachment 472907

  --> https://bugs.webkit.org/attachment.cgi?id=472907&action=review

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 at 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 at a9013872315792c1e94554f7776268e636be5f5d , but I also briefly tested main at 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.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20241011/bbdc6ad0/attachment.htm>


More information about the webkit-unassigned mailing list