WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
274469
[WPE] GStreamer hole punch does not render correctly with fixed body position
https://bugs.webkit.org/show_bug.cgi?id=274469
Summary
[WPE] GStreamer hole punch does not render correctly with fixed body position
Arnaud Vrac
Reported
2024-05-21 07:38:24 PDT
On a custom platform using the GStreamer hole punch to render video, the skia backend fails to render the hole correctly when the 'position:fixed' css style is applied on the body tag, whether using accelerated or unaccelerated skia . This works fine with the Cairo backend on the same commit id (451b7c7c97bd7c2ad7bd5a2918020ac039334145 with additional platform specific patches). The hole does seem to be rendered by the TextureMapperPlatformLayerBuffer::paintToTextureMapper() call, but it seems to be blended to the background instead of copied over. I can see it when forcing the color to Color::red instead of Color::transparentBlack. This should be reproducible with the following url:
https://absolut.zogzog.org/wpe-tests/video_aspect.html
Attachments
Add attachment
proposed patch, testcase, etc.
Miguel Gomez
Comment 1
2024-06-19 07:29:51 PDT
This does not only reproduce with skia, but also with cairo. If this is working for you with cairo then you're probably using an old wpe version, where stacking contexts were not implemented (I think 2.38 was the last one where the test page works as expected). What seems to be the problem here is that the position:fixed body is forcing the body element to create a stacking context. This means that the body element and its children are rendered to an intermediate surface that's later blended on top of the browser background. The holepunch is properly drawing the transparent rectangle on the intermediate surface, but then this surface is blended on top of the browser background, which causes the transparent rectangle to be lost and the browser background to remain visible. We need to find a way to propagate the transparent rectangle to the stacking contexts that are behind the one that contains the video element.
Arnaud Vrac
Comment 2
2024-06-20 01:41:01 PDT
I tested again with Cairo and I can confirm it does not work either, I'm not sure what I did to get a different result before.
Miguel Gomez
Comment 3
2024-07-11 08:08:47 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/30697
EWS
Comment 4
2024-07-12 04:47:07 PDT
Committed
280901@main
(d8014cfad03b): <
https://commits.webkit.org/280901@main
> Reviewed commits have been landed. Closing PR #30697 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug