DOM Fullscreen interacts badly with Pandora

VERIFIED FIXED in Firefox 10

Status

()

Core
DOM
VERIFIED FIXED
6 years ago
5 years ago

People

(Reporter: khuey, Assigned: cpearce)

Tracking

({verified-aurora, verified-beta})

unspecified
mozilla10
x86_64
Windows 7
verified-aurora, verified-beta
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox10 verified, firefox11 verified)

Details

(Whiteboard: [qa!])

Attachments

(1 attachment)

STR:

1. Open Pandora in a tab, start playing music.
2. Open http://html5-demos.appspot.com/static/fullscreen.html
3. Click the full screen button

What happens:

Pandora stops playing audio, is now in a broken state.

Expected:

Pandora keeps playing music.
(Assignee)

Comment 1

6 years ago
Weird. Doesn't happen on transition to/from F11 full-screen mode.
I got a chance to test this morning and for me when doing the html5 demo full screen, Pandora stops for a couple of seconds, then resumes play.  Same for when exiting full screen demo, a pause of 2-3 seconds, then play resumes and the controls etc on Pandora are all functional. 

Lurking

System, win7 x64, 8 gig RAM, HD3200 on-board video card, HWA all enabled.
(Assignee)

Comment 3

6 years ago
This regressed for me between:

GOOD 2011-11-01-03-11-08
BAD  2011-11-02-03-10-56

Regression range is:

http://hg.mozilla.org/mozilla-central/pushloghtml?startdate=2011-11-01+03%3A11%3A08&enddate=2011-11-02+03%3A10%3A56

This includes the landings to implement :-moz-full-screen-ancestor...
(Assignee)

Comment 4

6 years ago
I've done a bisection, and this is a regression from bug 685779; the landings to implement :-moz-full-screen-ancestor.
(Assignee)

Updated

6 years ago
Blocks: 545812, 685779
(Assignee)

Comment 5

6 years ago
And yes, if we remove the style rules for :-moz-full-screen-ancestor from ua.css, pandora works as expected when we enter full-screen.
Which of those properties is doing it?
(Assignee)

Comment 7

6 years ago
This one:

/* If there is a full-screen element that is not the root then
   we should hide the viewport scrollbar. */
*|*:root:-moz-full-screen-ancestor {
  overflow: hidden !important;
}
Oh, I missed that rule.  Yeah, that would do it: it's causing a reframe of the <window> element in the browser UI, I bet, which reframes all plug-ins.

Do we want to propagate the :-moz-full-screen-ancestor into the browser UI?
No!
So right now we go up the GetParentDocument chain in the fullscreen code.

We should probably change that to check whether we're changing docshell type and if so stop?
(Assignee)

Comment 11

6 years ago
Right, we still need to propagate full-screen state into the chrome doc (currently other code relies on that) so the easiest thing to do is to simply not apply :-moz-full-screen-ancestor to the chrome doc (we should still apply the other full-screen state).
(Assignee)

Comment 12

6 years ago
Created attachment 575301 [details] [diff] [review]
Patch: Don't apply overflow:hidden to full-screen-ancestor chrome roots

On second thoughts, I think it makes more sense to change the rule, rather than making :-moz-full-screen-ancestor not apply to the chrome document's root. The chrome document's root *is* an ancestor of the full-screen element after all.
Assignee: nobody → chris
Status: NEW → ASSIGNED
Attachment #575301 - Flags: review?(bzbarsky)
Comment on attachment 575301 [details] [diff] [review]
Patch: Don't apply overflow:hidden to full-screen-ancestor chrome roots

r=me
Attachment #575301 - Flags: review?(bzbarsky) → review+
(Assignee)

Comment 14

6 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/974111a53365
Target Milestone: --- → mozilla11
(Assignee)

Updated

6 years ago
status-firefox10: --- → affected
status-firefox11: --- → fixed
https://hg.mozilla.org/mozilla-central/rev/974111a53365
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
(Assignee)

Comment 16

6 years ago
Comment on attachment 575301 [details] [diff] [review]
Patch: Don't apply overflow:hidden to full-screen-ancestor chrome roots

It would be good to get this on Aurora because if stops entering DOM full-screen causing plugins in other tabs to re-initialize, which will for example kill music playing or farmville running in a plugin in a background tab.
Attachment #575301 - Flags: approval-mozilla-aurora?
Duplicate of this bug: 704250

Comment 18

6 years ago
Comment on attachment 575301 [details] [diff] [review]
Patch: Don't apply overflow:hidden to full-screen-ancestor chrome roots

We're early enough in the aurora cycle to take this.
Attachment #575301 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
(Assignee)

Comment 19

6 years ago
https://hg.mozilla.org/releases/mozilla-aurora/rev/b0708d072131
status-firefox10: affected → fixed
Target Milestone: mozilla11 → mozilla10
Whiteboard: [qa+]
Verified in the latest nightly, aurora, beta and 10.0.2 on Win7 following the steps in comment #0.
Status: RESOLVED → VERIFIED
Keywords: verified-aurora, verified-beta

Updated

5 years ago
status-firefox10: fixed → verified
status-firefox11: fixed → verified
Whiteboard: [qa+] → [qa!]
You need to log in before you can comment on or make changes to this bug.