- From: <bugzilla@jessica.w3.org>
- Date: Tue, 26 Aug 2014 21:49:24 +0000
- To: public-webapps@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=26676 Bug ID: 26676 Summary: Non-fullscreen documents can end up with non-empty fullscreen element stacks Product: WebAppsWG Version: unspecified Hardware: PC OS: All Status: NEW Severity: normal Priority: P2 Component: Fullscreen Assignee: annevk@annevk.nl Reporter: philipj@opera.com QA Contact: public-webapps-bugzilla@w3.org CC: mike@w3.org, public-webapps@w3.org Splitting this from https://www.w3.org/Bugs/Public/show_bug.cgi?id=26673#c0 as I don't think the root problem is tied to topDoc. The problem is that it's possible to end up with a document with a non-empty fullscreen element stack that is no longer displayed in fullscreen. The easiest way to do it currently is to remove or move an iframe which has fullscreen elements in it. exitFullscreen() will be invoked on the document that contained the iframe element, but the iframe's document won't be in descendantDocs later. One fix would be to check if oldNode is an iframe, and if so also invoke exitDocument() on iframe.contentDocument. Another fix would be to change how descendantDocs is populated to instead follow iframe elements in the fullscreen element stack, regardless of how where those iframes are now. Either fix can still leave you with an untruthful document.fullscreen while waiting for the next animation frame. I'm not sure that's a problem or not. Since node removal is the only way to (temporarily) end up with an inconsistent fullscreen element stack, it's also worth considering instead modifying the fullscreen element stack synchronously (and recursively) upon node removal. But that may have other consequences. -- You are receiving this mail because: You are on the CC list for the bug.
Received on Tuesday, 26 August 2014 21:49:26 UTC