Windows 10 taskbar is present if restoring Firefox to full screen from its minimized state
Categories
(Core :: Widget: Win32, defect, P3)
Tracking
()
People
(Reporter: dr2017, Assigned: rkraesig)
References
Details
(Whiteboard: [win:fullscreen])
Attachments
(4 files)
User Agent: Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/115.0
Steps to reproduce:
Minimized Firefox when in full screen using all minimize methods, including Windows 10 toolbar controls and Win + M.
Actual results:
When restoring to full screen the bottom taskbar remains stuck. It doesn't happen every time however once it begins it's frequent. The quickest way to re-produce it is to open a private window next to a regular one, surf a bit then minimize it several times.
Expected results:
The taskbar should have dropped down to restore the browser to full screen.
Note a regression was attempted, however was impossible to pin it down since it was never completely remedied from this bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=1806438
Tried with a fresh profile with the same results. While Open Shell is installed, it is not a a factor since with the native taskbar the problem remains.
Hoping this can be re-produced and resolved for 115.0 since it's an esr version.
Comment 1•2 years ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Widget: Win32' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
| Assignee | ||
Comment 2•2 years ago
|
||
CCing :emilio.
(In reply to 202nine from comment #0)
Note a regression was attempted, however was impossible to pin it down since it was never completely remedied from this bug:
Just to confirm: did you adjust the 'last known good build' when doing the bisection? It defaults to a year ago; you'd need to set it to sometime in the last two or three months to avoid picking up builds with the old bug.
Hello,
Yes I went back to about a month ago but the problem is that because it doesn't do it every time and the fact that it never really stopped completely from the last bug it's difficult to tell the difference for sure. However, it seems to have gotten much worse and frequent in the last few weeks.
I can confirm this, Firefox 114.0, Windows 10 21H2.
Easiest way to reproduce is to fullscreen any video, minimize Firefox (windows key + down arrow) and restore it by clicking on the taskbar icon. Half the time the taskbar stays visible over the video.
| Assignee | ||
Comment 5•2 years ago
•
|
||
I still haven't been able to repro this locally. Can either or both of you do the following?
- Go to https://profiler.firefox.com/ and click Enable Profiler Menu Button.
- Go to
about:logging:
a. Set the New log modules: field totimestamp,sync,BaseWidget:5,Widget:5,WindowsEvent:4,TaskbarConcealer:5.
b. Click the Set Log Modules button.
c. Confirm that Logging output is set to Logging to the Firefox Profiler. - Start the Firefox Profiler with the new menu button.
- Reproduce the bug.
- Stop the Firefox Profiler.
- When the Profiler page comes up, click Upload Local Profile (in the upper-right) and Upload.
- When it finishes uploading, post the provided permalink to this bug.
| Assignee | ||
Comment 6•2 years ago
•
|
||
On a restart of Nightly, I'm noticing some different behavior — I may actually have reproduced it without realizing. When you say "the taskbar stays visible", do you mean "sometimes the taskbar stays in place and never autohides again", or "sometimes the taskbar is above the window, and even though it eventually hides itself, there's still a sliver of taskbar visible along the bottom of the fullscreen window"?
What I'm experiencing is the taskbar stays in place and doesn't autohide after restoring firefox. It can be forced down again by pressing the mouse on the taskbar then clicking the firefox taskbar tab. This appears to be a problem only in Windows 10 (not tested in Win 11), in Windows 7 it still works properly.
Same for me. The taskbar stays above the fullscreen window, never hides. To hide it I need to click anywhere on the taskbar first and then switch to Firefox.
Here is the profiler link - https://share.firefox.dev/3WWKpmS Hope I did it right.
| Assignee | ||
Comment 10•2 years ago
|
||
(In reply to vladkosi from comment #8)
Same for me. The taskbar stays above the fullscreen window, never hides. To hide it I need to click anywhere on the taskbar first and then switch to Firefox.
Ah, then I still can't reproduce. (Interestingly, that's dual to my experience, in a sense: I can't get the taskbar not to autohide unless I click somewhere else on it after I switch to Firefox.)
Just in case: do you happen to have Open Shell or another taskbar-replacement installed? (Even if it's disabled.)
(In reply to vladkosi from comment #9)
Here is the profiler link - https://share.firefox.dev/3WWKpmS Hope I did it right.
You did — except that I'm afraid the log-modules list I provided was incorrect. (WindowsEvent was missing its s, and BaseWidget:5 was missing entirely.) I've amended comment #5 accordingly, and I'll be filing a bug to get the correct log-modules list added to the presets dropdown to prevent this sort of thing from happening again.
If you have time I'd appreciate a redo, but if not, I'll pore over what's there; it may turn out to suffice.
Comment 11•2 years ago
|
||
Yes, I am using Open-Shell and 7+ Taskbar Tweaker - https://tweaker.ramensoftware.com
I can reproduce the bug with both disabled and restarted windows.
Here is the new profiler - https://share.firefox.dev/45V34nd
Comment 12•2 years ago
|
||
I have reproduced this on a second Windows 10 PC.
Here are the exact steps:
- Firefox is in normal window or maximized window.
- Switch to fullscreen mode (F11), taskbar is hidden.
- Open any youtube video.
- Fullscreen the video.
- Exit fullscreen (just the video). Firefox is still in fullscreen mode, taskbar is hidden.
- Minimize Firefox.
- Restore Firefox by clicking its icon on the taskbar.
- Firefox is still in fullscreen mode, taskbar should be hidden but most of the time it stays visible above the Firefox window.
If the taskbar is not visible repeat steps 6 to 8 until the bug occurs.
Step 4 or 5 is the part that triggers the bug. If I restart Firefox and skip steps 4 and 5 everything works fine, restoring Firefox to fullscreen mode always hides the taskbar.
| Assignee | ||
Updated•2 years ago
|
| Reporter | ||
Comment 13•2 years ago
|
||
The only workaround I've been able to find for this bug is to run RetroBar and use an older taskbar theme. Figured it would be a solution since this isn't a problem with Windows 7 classic theme.
Comment 14•2 years ago
|
||
Any news on this? I have now reproduced this bug on three different Windows 10 PCs. No special start menu or taskbar utilities were installed.
| Assignee | ||
Comment 15•2 years ago
•
|
||
I've been working on other issues, unfortunately, and have not been able to reproduce this as described without Taskbar Tweaker despite dozens of attempts. (Conversely, I reproduced it on my first attempt with Taskbar Tweaker.)
I have been able to reproduce a different bug — first described in comment 6 and comment 10, but I'll reiterate and elaborate here. When Firefox is deminimized to fullscreen:
- sometimes the taskbar will be immediately concealed and is not accessible by moving the mouse to the bottom of the screen (expected behavior); but
- sometimes the taskbar will remain in the foreground and slowly autohide, but remains visible thereafter as a two-pixel-high stripe, and can be revealed by moving the mouse to the bottom of the screen. This can be fixed by clicking the taskbar (which locks it as fully visible above Firefox) and then clicking Firefox (which instantly covers the taskbar, entering the expected-behavior state).
That's almost certainly a Firefox bug, as the second case does not occur in Microsoft Edge.
Even then, though, without Taskbar Tweaker, the taskbar invariably autohides once the mouse is moved away from it — which was not what was indicated in comment 7 and comment 8. @vladkosi, is it possible that the behavior you've seen on the other PCs is actually that second case?
Comment 16•2 years ago
|
||
What are you describing as a different bug is in fact this bug.
It looks like you have the option to auto hide taskbar turned on ("Automatically hide the taskbar in desktop mode" in taskbar settings).
I have this option off (windows default) so there is no hiding animation and no two-pixel stripe. After clicking the icon to restore Firefox the taskbar immediately dissappears (expected behaviour, your first case) or sometimes stays fully visible (bug, your second case).
Even with this option turned on there should be no hiding animation. The taskbar should immediately dissappear under the fullscreen window like in your first case.
| Reporter | ||
Comment 17•2 years ago
|
||
Same here, I do not have auto hide taskbar turned on. Even with Taskbar Tweaker completely uninstalled this bug is there. Sometimes it can take a while but when the taskbar finally does begin sticking it's constant. There appears to be a trigger of some sort related to Windows 10 theme (since it doesn't happen in Windows 7).
| Assignee | ||
Comment 18•2 years ago
|
||
(In reply to vladkosi from comment #16)
It looks like you have the option to auto hide taskbar turned on ("Automatically hide the taskbar in desktop mode" in taskbar settings).
... ah. Yes, that would explain things. I am not entirely certain where I picked up the idea that this was a required part of the repro procedure, but on reread, it clearly isn't. Mea culpa.
| Assignee | ||
Comment 19•2 years ago
|
||
The bad news is that I'm pretty sure this is a known race condition in the Windows 10 taskbar itself. The good news is that, if it is, it's also a well-understood race-condition, and we should be able to do something about it.
If you install and run RudeWindowFixer — which will stay active in the background and need to be killed in the Task Manager — do you still see the issue? (This appears to suppress it for me.)
| Reporter | ||
Comment 20•2 years ago
|
||
Running RudeWindowFixer does suppress it mostly, far better than without it. The taskbar does stick on occasion but it's easier to activate the window and hide the taskbar since you just need to press down on the page itself.
If you intend to fix this code internally within Firefox please consider 115.0 as well, it's your best esr version yet.
Comment 21•2 years ago
|
||
RudeWindowFixer seems to work. I wasn't able to reproduce the bug while it was active.
| Assignee | ||
Comment 22•2 years ago
|
||
To work around a race condition involving unminimizing windows, post a
message to our own message queue, to notify the taskbar that fullscreen
state recalculation is potentially necessary. (This notification must
occur after we have finished processing the WM_WINDOWPOSCHANGING
message.)
Updated•2 years ago
|
| Assignee | ||
Comment 23•2 years ago
|
||
Remove widget.windows.alternate_fullscreen_heuristics and all logic
dependent thereupon, since no one has reported any issues with it in the
year or so it's been present.
Depends on D184762
Updated•2 years ago
|
Updated•2 years ago
|
| Assignee | ||
Comment 24•2 years ago
|
||
Remove calls to IsWin10OrLater().
The Windows 7 taskbar does not have this particular race condition, so
there is no need to perform it there. As Firefox no longer supports
Windows 7, there is no need for these checks in Nightly; they existed
solely to simplify uplift of that commit to ESR (which does still
support Win7).
Depends on D184763
Comment 25•2 years ago
|
||
Comment 26•2 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/a97fb23b18e1
https://hg.mozilla.org/mozilla-central/rev/b03beb4d56a0
https://hg.mozilla.org/mozilla-central/rev/ca1f29cbb4f1
| Reporter | ||
Comment 27•2 years ago
|
||
This is fixed for me in 117 so thank-you for that. With 115.0esr in Windows 10 I'll just keep using RudeWindowFixer.
Updated•2 years ago
|
Comment 28•2 years ago
|
||
I have reproduced this issue in Release v116.0 and ESR v115.1.0esr using steps:
- open browser
- open private window
- F11 to go full screen
- play youtube video
- make video full screen
- exit fullscreen (for video only)
- minimize fullscreen private browsing window
- refocus private window (click taskbar icon)
observe: window is displayed in fullscreen and hides taskbar - minimize fullscreen private browsing window, again
- refocus private window (click taskbar icon)
observe: window is displayed in fullscreen and incorrectly leaves taskbar on display
This issue no longer occurs in Beta v117.0b3 and Nightly v118.0a1.
Furthermore, it could not be reproduced in Windows 11.
Description
•