Re: [whatwg/fullscreen] Remove top layer definitions, now that CSS Position 4 contains them. (PR #223)

To help decide on the flip-flop case I checked how `<dialog>` behaves with this test:

```html
<dialog id="A" style="background-color:lavender">
    <span>This is A. <button onclick="show(event)">open/toggle dialog</button></span>
</dialog>
<dialog id="B" style="background-color: lemonchiffon">
    <span>This is B. <button onclick="show(event)">open/toggle dialog</button></span>
</dialog>
<button onclick="show(event)">open/toggle dialog</button>
<script>
const dialogs = Array.from(document.querySelectorAll('dialog'));
function show(event) {
    let dialog = dialogs.find((dialog) => !dialog.open);
    if (!dialog) {
        // Try to open the first one anyway, expect it to fail.
        dialog = dialogs[0];
    }
    console.log(`Showing dialog ${dialog.id}`);
    try {
        dialog.showModal();
        console.log(`Success for ${dialog.id}`);
    } catch (error) {
        console.log(`Error for ${dialog.id}: ${error.message}`);
    }
}
</script>
```

These are sibling `<dialog>` elements. Chrome, Firefox and Safari all open A and then B, but won't open A again because it's already open.

To get the equivalent behavior for the fullscreen API, we should reject if the element is already in top layer stack, but we _shouldn't_ add back a hierarchy restriction.

@josepharhar @mfreed7 would that work for you?

-- 
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/fullscreen/pull/223#issuecomment-1531730959
You are receiving this because you are subscribed to this thread.

Message ID: <whatwg/fullscreen/pull/223/c1531730959@github.com>

Received on Tuesday, 2 May 2023 16:02:42 UTC