[fxtf-drafts] [filter-effects-2] backdrop-filter and visibility (#455)

emilio has just created a new issue for https://github.com/w3c/fxtf-drafts:

== [filter-effects-2] backdrop-filter and visibility ==
https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty doesn't say what happens when `visibility: hidden` is applied to the backdrop root. As a result, browsers diverge.

Test-case could be: https://bug1765862.bmoattachments.org/attachment.cgi?id=9275099

Following the spec to the letter I think would mean that we should render the backdrop unconditionally, even if that subtree is `visibility: hidden`. That's not web compatible (see relevant Gecko bug).

When everything in the subtree is invisible it seems clear that no backdrop should be rendered.

When the backdrop root is visible it is clear that it should be rendered.

But what if there's `visibility: visible` contents inside the backdrop root? Safari seems to render the whole backdrop. Blink only filters the contents of the `visibility: visible` descendant.

I think it's more reasonable (and also probably simpler to spec and implement, since toggling visibility dynamically seems to have funny effects on both Safari and Chrome) to see `backdrop-filter` as a "background" effect, and thus get its visibility only determined by the visibility of the backdrop root (just like `background-color` or `background-image`).

I'm fairly confident this should be web compatible, specially given both current implementations disagree, what do you think?

cc @chrishtr @smfr @glennw 

Please view or discuss this issue at https://github.com/w3c/fxtf-drafts/issues/455 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 5 May 2022 00:02:18 UTC