Closed Bug 790521 Opened 12 years ago Closed 12 years ago

Fullscreen state changes doesn't propagate up to parent processes

Categories

(Core :: DOM: Core & HTML, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla18

People

(Reporter: cpearce, Assigned: cpearce)

Details

Attachments

(1 file)

Currently you can't exit fullscreen properly on B2G. If you exit fullscreen in a web app, the parent frame doesn't exit fullscreen. i.e. see
https://github.com/mozilla-b2g/gaia/issues/4598

The problem is that HasCrossProcessParent() in nsDocument.cpp is returning false for the root document in the web app's process because its docshell->getIsBrowserElement() is returning false. Obviously we should be checking for whether the docshell is a web app as well as if its a browser element; nsIDocShell::GetIsContentBoundary() does that, and changing HasCrossProcessParent() to do that fixes this bug.
Attached patch PatchSplinter Review
We should propagate fullscreen state changes across process boundaries when the root document's docshell is a content boundary, rather than only when the root document's docshell is a mozbrowser. This means apps's root documents now propagate fullscreen state changes to their parent process. Previously we only propagated fullscreen state changes for mozbrowser's root documents. I'm not sure when this regressed.
Attachment #660325 - Flags: review?(justin.lebar+bug)
I just tested this, confirm it fixes my issue in 

https://github.com/mozilla-b2g/gaia/issues/4598
Attachment #660325 - Flags: review?(justin.lebar+bug) → review+
https://hg.mozilla.org/mozilla-central/rev/d06938893ffe
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla18
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: