Open klausw opened 4 years ago
In case it helps, I experimented with Fullscreen API here: https://fullscreenblend.glitch.me/
Specifically, this includes a style rule that sets the fullscreen backdrop transparent, overriding the UA's "backdrop: black":
:not(:root):fullscreen::backdrop {
background-color: transparent;
}
This leads to odd effects in Chrome (I tested 80 and 82), where it appears that the backdrop filter in the fullscreen element unexpectedly applies to content that's supposed to be hidden by the backdrop. If I'm understanding it right, this means that the top layer isn't yet acting as a backdrop root?
Here are screenshots of the experiment on my Android phone, this also appears to act the same way in Chrome Linux and ChromeOS.
Before fullscreen:
After entering fullscreen, with transparent backdrop:
Fullscreen with black backdrop (disabling the custom backdrop color):
To clarify, the behavior appears to be as expected when using the default black backdrop. The unexpected results appear for a transparent backdrop, and I'm unsure if this is expected to work, but the browser doesn't currently stop me from doing this. The experiment just used normal CSS rules, I didn't modify the browser or UA stylesheets.
I think we've reached the point where Fullscreen has done sufficient amounts of monkey patching of CSS algorithms and the CSS WG ought to take over these concepts.
cc @whatwg/css
In separate issue https://github.com/immersive-web/dom-overlays/issues/20, @chrishtr pointed out several issues related to the interaction of the fullscreen API and WebXR DOM Overlays, and suggested several changes to the Fullscreen API to better define the expected behavior:
@chrishtr wrote: