Closed
Bug 1174431
Opened 10 years ago
Closed 10 years ago
DOM Fullscreen makes the Bookmarks bar disappear
Categories
(Firefox :: General, defect)
Firefox
General
Tracking
()
RESOLVED
FIXED
| Tracking | Status | |
|---|---|---|
| firefox39 | --- | unaffected |
| firefox40 | + | fixed |
| firefox41 | --- | verified |
| firefox42 | --- | fixed |
People
(Reporter: osmose, Unassigned)
References
(Blocks 1 open bug, )
Details
(Keywords: regression, reproducible, Whiteboard: fixed by bug 1176233)
Attachments
(1 file, 1 obsolete file)
|
4.36 KB,
patch
|
dao
:
review-
|
Details | Diff | Splinter Review |
Tested on a fresh profile on Developer Edition 40.0a2 (2015-06-13), OS X 10.10.3.
STR:
1. Ensure the Bookmarks bar is visible.
2. Visit http://codepen.io/anon/pen/mJwNba.
3. Click the button to enter fullscreen mode.
4. Hit Esc to exit fullscreen mode (or decline the request or whatever).
Expected: The Bookmarks bar is still visible below the URL bar.
Actual: The Bookmarks bar has disappeared from the UI. The View menu still shows it as enabled, and disabling/re-enabling it does not make it appear again, nor does it show up in the customization view.
This affects Youtube, Vimeo, etc. and can be reproduced on them as well.
Updated•10 years ago
|
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
Comment 2•10 years ago
|
||
[Tracking Requested - why for this release]:
This bug is a regression from bug 1168397 in Nightly 41 that was uplifted to Aurora 40.
Status: RESOLVED → REOPENED
status-firefox39:
--- → unaffected
status-firefox40:
--- → affected
status-firefox41:
--- → affected
tracking-firefox40:
--- → ?
Keywords: regression,
reproducible
Resolution: DUPLICATE → ---
Comment 4•10 years ago
|
||
This bug actually have another behavior which affects all users who even don't use bookmark toolbar: the context menu of the window is still in fullscreen mode, and restart Firefox makes the window maximized.
Comment 5•10 years ago
|
||
Attachment #8624114 -
Flags: review?(gijskruitbosch+bugs)
Comment 6•10 years ago
|
||
Comment on attachment 8624114 [details] [diff] [review]
patch
Review of attachment 8624114 [details] [diff] [review]:
-----------------------------------------------------------------
Considering Dão reviewed all the patches that changed all this code, he seems like a better reviewer. One note below already.
::: browser/base/content/browser-fullScreen.js
@@ -598,5 @@
> - // For Lion fullscreen, all fullscreen controls are hidden, don't
> - // bother to touch them. If we don't stop here, the following code
> - // could cause the native fullscreen button be shown unexpectedly.
> - // See bug 1165570.
> - if (this.useLionFullScreen) {
Why are you reverting this?
Attachment #8624114 -
Flags: review?(gijskruitbosch+bugs) → review?(dao)
Comment 7•10 years ago
|
||
(In reply to :Gijs Kruitbosch from comment #6)
> Comment on attachment 8624114 [details] [diff] [review]
> patch
>
> Review of attachment 8624114 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> Considering Dão reviewed all the patches that changed all this code, he
> seems like a better reviewer. One note below already.
>
> ::: browser/base/content/browser-fullScreen.js
> @@ -598,5 @@
> > - // For Lion fullscreen, all fullscreen controls are hidden, don't
> > - // bother to touch them. If we don't stop here, the following code
> > - // could cause the native fullscreen button be shown unexpectedly.
> > - // See bug 1165570.
> > - if (this.useLionFullScreen) {
>
> Why are you reverting this?
Because the only callsite of this function has the exactly the same guard now.
Comment 8•10 years ago
|
||
Comment on attachment 8624114 [details] [diff] [review]
patch
This patch seems completely wrong to me. We absolutely should hide toolbars for DOM fullscreen mode, Lion or not. If I understand comment 0 correctly, the bug is that the bookmarks toolbar doesn't reappear when exiting DOM FS.
Attachment #8624114 -
Flags: review?(dao) → review-
Comment 9•10 years ago
|
||
Attachment #8624114 -
Attachment is obsolete: true
Attachment #8624162 -
Flags: review?(dao)
Comment 10•10 years ago
|
||
Comment on attachment 8624162 [details] [diff] [review]
patch
Maybe I'm missing something, but I don't see how this patch is better than the previous one regarding my review comment on that...
Attachment #8624162 -
Flags: review?(dao) → review-
Comment 11•10 years ago
|
||
(In reply to Dão Gottwald [:dao] from comment #10)
> Comment on attachment 8624162 [details] [diff] [review]
> patch
>
> Maybe I'm missing something, but I don't see how this patch is better than
> the previous one regarding my review comment on that...
Yes, they are effectively the same thing. But I describe more detailedly about what the code does in this patch.
So in DOM fullscreen, we have hidden the whole toolbar, so we don't need to bother what should be shown or hidden on the toolbar at all.
Originally, hidding non-fullscreen toolbar code is called when entering fullscreen, but is not called when leaving fullscreen on OS X. This patch fixes this via making both path identical in all platforms.
Updated•10 years ago
|
Flags: needinfo?(dao)
Comment 12•10 years ago
|
||
(In reply to Xidorn Quan [:xidorn] (UTC+12) from comment #11)
> (In reply to Dão Gottwald [:dao] from comment #10)
> So in DOM fullscreen, we have hidden the whole toolbar, so we don't need to
> bother what should be shown or hidden on the toolbar at all.
I see. But why would we avoid hiding toolbars for DOM FS only on OS X Lion and later rather than all OSes? This doesn't seem to make much sense and contributed to me being confused by the patch.
Flags: needinfo?(dao)
Comment 13•10 years ago
|
||
(In reply to Dão Gottwald [:dao] from comment #12)
> (In reply to Xidorn Quan [:xidorn] (UTC+12) from comment #11)
> > (In reply to Dão Gottwald [:dao] from comment #10)
> > So in DOM fullscreen, we have hidden the whole toolbar, so we don't need to
> > bother what should be shown or hidden on the toolbar at all.
>
> I see. But why would we avoid hiding toolbars for DOM FS only on OS X Lion
> and later rather than all OSes? This doesn't seem to make much sense and
> contributed to me being confused by the patch.
We hide toolbars on all platforms *including* OS X Lion for DOM Fullscreen via calling hideNavToolbox().
We just do not hide non-fullscreen toolbar, which has already been invisible on DOM Fullscreen, again on OS X Lion like other platforms.
The reason is that, doing so makes code path more complicated. If we need to hide that in addition to hiding the whole toolbar, we need to distinguish between exiting fullscreen mode and exiting DOM fullscreen. If we want to distinguish that, then, we need to backup the state to check, because events may not be helpful enough in that case. ("fullscreen" event is triggered earlier than "MozDOMFullscreen:Exited" event)
Comment 14•10 years ago
|
||
(In reply to Xidorn Quan [:xidorn] (UTC+12) from comment #13)
> We just do not hide non-fullscreen toolbar, which has already been invisible
> on DOM Fullscreen, again on OS X Lion like other platforms.
I'm not sure how to read this sentence. Are you saying that (with your patch applied) we'd avoid hiding toolbars on all OSes or that we'd make the whole toolbox invisible on all OSes and on top of that avoid hiding toolbars on OS X Lion? The latter is how I read the patch, and it's confusing.
Comment 15•10 years ago
|
||
(In reply to Dão Gottwald [:dao] from comment #14)
> (In reply to Xidorn Quan [:xidorn] (UTC+12) from comment #13)
> > We just do not hide non-fullscreen toolbar, which has already been invisible
> > on DOM Fullscreen, again on OS X Lion like other platforms.
>
> I'm not sure how to read this sentence. Are you saying that (with your patch
> applied) we'd avoid hiding toolbars on all OSes or that we'd make the whole
> toolbox invisible on all OSes and on top of that avoid hiding toolbars on OS
> X Lion? The latter is how I read the patch, and it's confusing.
On platforms other than OS X (as well as OS X without the patch), when enter DOM fullscreen, we do:
1) hide non-fullscreen toolbar, then
2) hide the whole toolbar
On platforms other than OS X, when leave DOM fullscreen, we do:
3) show non-fullscreen toolbar, then
4) show the whole toolbar
But on OS X without the patch, when leave DOM fullscreen, we skip 3).
So what this patch does is, making 1) also be skipped on OS X.
Behavior on other platforms should be unchanged.
Updated•10 years ago
|
Flags: needinfo?(dao)
Comment 16•10 years ago
|
||
We should do 1) and 3) on all platforms or nowhere for DOM FS; preferably nowhere. There should be no special treatment for OS X here. If the events aren't useful or not in the right order to do the right thing here, we should fix that.
Flags: needinfo?(dao)
Comment 17•10 years ago
|
||
(In reply to Dão Gottwald [:dao] from comment #16)
> We should do 1) and 3) on all platforms or nowhere for DOM FS; preferably
> nowhere. There should be no special treatment for OS X here. If the events
> aren't useful or not in the right order to do the right thing here, we
> should fix that.
Fixing that is much more complicated than fixing this bug in this way. And even if we decide to do so, it is also much more dangerous to uplift.
We have skipped 1) and 3) on OS X for fullscreen mode as a special case, why we cannot skip them for DOM fullscreen, especially given it has no visible difference?
Actually, I would prefer we backout bug 1168397 so that we don't treat anything special on OS X, but you all did not agree with that.
Comment 18•10 years ago
|
||
The original behavior before all my changes, is:
* for DOM fullscreen, it prefectly runs all four steps on all platforms; but
* for fullscreen mode, it removes 1) but leave 3) on OS X.
We can restore to that behavior, but I consider asymmetric calls potentially more dangerous than removing a pair of corresponding operations.
Updated•10 years ago
|
Flags: needinfo?(dao)
Comment 19•10 years ago
|
||
I think my patch in bug 1176233 should fix this bug by replacing the faulty JS spaghetti code with simpler CSS.
Flags: needinfo?(dao)
Comment 21•10 years ago
|
||
Fixed by bug 1176233
Status: REOPENED → RESOLVED
Closed: 10 years ago → 10 years ago
Resolution: --- → FIXED
Updated•10 years ago
|
Whiteboard: fixed by bug 1176233
Comment 23•10 years ago
|
||
Is this something that you would want to uplift to 40? Tracking because regression.
Flags: needinfo?(cpeterson)
Comment 24•10 years ago
|
||
Xidorn says this bug was fixed by bug 1176233, which Dão has asked to uplift to Beta 40.
status-firefox42:
--- → fixed
Flags: needinfo?(cpeterson)
Comment 25•10 years ago
|
||
Verified as fixed using Aurora 41.0a2 (2015-07-08) under Ubuntu 14.04 x32, Mac OS X 10.9.5 and Windows 10 Pro x64 (Build 10162) on a Microsoft Surface Pro 2.
Comment 26•10 years ago
|
||
Setting status flags to reflect fix in bug 1176233.
Comment 28•10 years ago
|
||
Verified on Firefox 42 beta 7 during testday (https://public.etherpad-mozilla.org/p/mozqabd-testday-16102015).
QA Whiteboard: [testday-20151016]
You need to log in
before you can comment on or make changes to this bug.
Description
•