[whatwg/fullscreen] Removing `:fullscreen-ancestor` pseudo-class causes webcompat issue (#103)

Gecko [unshipped `:-moz-full-screen-ancestor`](https://bugzilla.mozilla.org/show_bug.cgi?id=1199529) in Firefox 50, and recently it was reported to [cause breakage on Vimeo](https://bugzilla.mozilla.org/show_bug.cgi?id=1396732).

In this specific case, there are three different behaviors among Gecko (before regression), Gecko (after regression), and Blink:
* In Blink, currently, `window.scrollY` is set to zero whenever the document goes to fullscreen, which, I believe, doesn't match what the spec says, and could be because Blink is still using the old impl of fullscreen based on `position` and `z-index`.
* In Gecko before regression, Vimeo uses a rule with `:-moz-full-screen-ancestor` to hide all elements outside fullscreen element, and thus the page is no longer scrollable, and `window.scrollY` becomes zero as well.
* In Gecko after regression, `window.scrollY` keeps the previous value, because neither mechanism above works now.

So I tend to think this would be a regression once other engines also fully implement the top-layer-based fullscreen, and unship `:-webkit-full-screen-ancestor` pseudo-class.

The question is, then, what should we do? Should we bring back the `:fullscreen-ancestor` pseudo-class, or just keep current situation and blame the website? Is this a valid usecase of `:fullscreen-ancestor` or websites shouldn't be doing that?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/fullscreen/issues/103

Received on Thursday, 14 September 2017 01:09:18 UTC