Open Bug 741304 Opened 9 years ago Updated 2 years ago

After quitting from DOM full screen mode, DOM full screen requests assert and fail


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





(Reporter: jruderman, Unassigned)



(Keywords: assertion, testcase)


(1 file)

Attached file testcase
Using a debug build,
1. mkdir ~/px/
2. firefox -profile ~/px/ y.html
3. Click the "full screen" button
4. Cmd+Q (quit while in full-screen mode!)
5. firefox -profile ~/px/ y.html
6. Click the "full screen" button

Firefox shows its in-window full-screen UI, but does not actually full-screen. Additionally, it hits an ObjC assertion failure, which is not fatal.

2012-04-02 01:46:25.244 firefox[93221:507] *** Assertion failure in -[_NSWindowFullScreenTransition makeAndSetupOverlayWindow], /SourceCache/AppKit/AppKit-1138.32/AppKit.subproj/NSWindowFullScreenTransition.m:671

2012-04-02 01:46:25.245 firefox[93221:507] Mozilla has caught an Obj-C exception [NSInternalInconsistencyException: Invalid parameter not satisfying: _transitionedWindowBeforeContents != nil]
Presumably related to this lovely bit in localstore.rdf:

  <RDF:Description RDF:about="chrome://browser/content/browser.xul#main-window"
                   sizemode="fullscreen" />
This is known and sort of being worked on in bug 714911 (which landed with lion fullscreen, but got backed out). Ideally we'd stop persisting sizemode=fullscree entirely

You'll hit the same bug on Linux and Windows, though you obviously won't get an ObjC exception.
OS: Mac OS X → All
Hardware: x86_64 → All
Depends on: 714911
The assertion from comment #0 happens when Firefox tries to put an invisible window into fullscreen mode.  See bug 752294.

Persisting sizemode=fullscreen isn't the only way to get this error.  (You don't only see it when restarting FF with a sizemode=fullscreen window.)  You also see it when you close the last window, that window is fullscreen, and you click on the FF Dock icon (which then tries to open a new window in fullscreen mode).

So bug 714911 won't really be a fix for this bug.
I imagine the Gecko bug that triggers bug 752294 is also the underlying bug here:

When opening a new fullscreen window, cross-platform code (nsGlobalWindow::SetFullScreen()) tries to make the window fullscreen before it's been made visible (before nsCocoaWindow::Show() has been called on it).

Move all DOM bugs that haven’t been updated in more than 3 years and has no one currently assigned to P5.

If you have questions, please contact :mdaly.
Priority: -- → P5
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.