[whatwg/fullscreen] Removing the fullscreen element won't fire a fullscreenchange event (#105)

Working on https://crbug.com/240576, I have tried to match the spec quite pedantically, and now I've discovered a problem that I think is a spec bug. When matching the spec, this test will timeout:
https://cs.chromium.org/chromium/src/third_party/WebKit/LayoutTests/fullscreen/full-screen-remove-children.html

The `div.innerHTML = ""` is what removes the fullscreen element from the document and with the changes in https://github.com/whatwg/fullscreen/pull/102 this doesn't cause any event to be fired when exiting.

The problem is step 9 of https://fullscreen.spec.whatwg.org/#exit-fullscreen. Immediately after steps 1-6 ran, the removing steps will remove the element from top layer. We will exit fullscreen as expected, but when we step 9 of https://fullscreen.spec.whatwg.org/#exit-fullscreen there's no longer a fullscreen element, so no events are fired.

Step 9 can't simply be removed, it's there to make sure that if you call `exitFullscreen()` twice, only one fullscreenchange event is fired.

@upsuper FYI.

-- 
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/105

Received on Friday, 29 September 2017 12:44:40 UTC