Picture-in-picture video window has titlebar decorations on Linux
Categories
(Core :: Widget: Gtk, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr60 | --- | unaffected |
firefox-esr68 | --- | unaffected |
firefox69 | --- | unaffected |
firefox70 | --- | unaffected |
firefox71 | --- | fixed |
People
(Reporter: ke5trel, Assigned: stransky)
References
(Regression)
Details
(Keywords: regression)
Attachments
(3 files)
Since the picture-in-picture window type was changed to a dialog (Bug 1543027), it now correctly stays on top with Wayland (Bug 1536747) on Ubuntu 19.04 but it also has a titlebar which it did not have before.
Regression window:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=b5d436985831449e4f160b10abc362d937a6486c&tochange=969b3828a301038c57540d8bffb51539132d393c
Regressed by Bug 1543027.
Updated•5 years ago
|
Comment 1•5 years ago
•
|
||
For some reason mBorderStyle
(changed by titlebar=no
) is only used for eWindowType_popup
and not eWindowType_dialog
. (source)
Someone with more GTK experience really should take a look at nsWindow::Create
and maybe simplify that whole function.
Comment 2•5 years ago
|
||
(In reply to Tom Schuster [:evilpie] from comment #1)
For some reason
mBorderStyle
(changed bytitlebar=no
) is only used foreWindowType_popup
and noteWindowType_dialog
. (source)
Someone with more GTK experience really should take a look atnsWindow::Create
and maybe simplify that hole function.
Let's ask Martin about it :)
Assignee | ||
Comment 4•5 years ago
|
||
The PIP window also does not have any name on the taskbar on Linux - we should set something to enable move/close that window or disable to show it on a taskbar.
Assignee | ||
Comment 5•5 years ago
|
||
I think there are more fixes needed on Linux:
- update the window decoration
- keep window ratio which is not honored now
- set window name or disable to show it on taskbar
- display system menu on right mouse click on Wayland to allow place it on top
Assignee | ||
Comment 6•5 years ago
|
||
I think Bug 1543027 should be reverted for Linux as Dialog is not suitable for this.
Assignee | ||
Comment 7•5 years ago
|
||
Dialog window on Linux/Gtk adds extra border/titlebar to PIP window
so don't use it there.
Assignee | ||
Comment 8•5 years ago
|
||
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 9•5 years ago
|
||
We should not use dialog for PIP window. The borders can be disabled but the window also can't be resized then. Better to keep the previous window type and fix the remaining errors.
Reporter | ||
Comment 10•5 years ago
|
||
I'd rather keep the current dialog window which stays on top of browser windows until we are sure it can be done programmatically with non-dialog windows. Everything else is polish compared with always on top functionality.
Comment 11•5 years ago
|
||
Always-on-top already works for me with non-dialog windows (bug 1532103). Is this about Wayland or some specific window manager?
Assignee | ||
Comment 12•5 years ago
|
||
(In reply to Kestrel from comment #10)
I'd rather keep the current dialog window which stays on top of browser windows until we are sure it can be done programmatically with non-dialog windows. Everything else is polish compared with always on top functionality.
The behavior you see with dialog window is wrong.
Dialog window is intended for simple Yen/No modal windows and are keep above only for particular toplevel browser window which is the dialog related to, not all other windows. It's semi-on top behavior which is not intended and may confuse users. Also we can't set proper window decorations for dialog windows without functionality loss (missing resizers).
The former behavior (top-level window) will be on top on X11 Bug 1532103. Wayland does not allow application place itself on top by design so I'm going to implement a functionality which shows titlebar menu when right mouse click is performed on a PIP window and then it can be truly set on top by Wayland compositor.
Comment 13•5 years ago
|
||
Marking as fix-optional for 71 to remove it from our regression triage queue as we will not ship the feature for Linux in a later release.
Comment 14•5 years ago
|
||
(In reply to Martin Stránský [:stransky] from comment #12)
The former behavior (top-level window) will be on top on X11 Bug 1532103. Wayland does not allow application place itself on top by design so I'm going to implement a functionality which shows titlebar menu when right mouse click is performed on a PIP window and then it can be truly set on top by Wayland compositor.
AFAIK, this solution doesn't work with a tiling window manager because the window never sends the necessary hints to let the WM know how to
position the window.
I have the exact same problem with lots of other windows in FF like the "About Firefox" that open tiled by default instead of on-top.
Assignee | ||
Comment 15•5 years ago
|
||
(In reply to Danny Colin [:sdk] from comment #14)
(In reply to Martin Stránský [:stransky] from comment #12)
The former behavior (top-level window) will be on top on X11 Bug 1532103. Wayland does not allow application place itself on top by design so I'm going to implement a functionality which shows titlebar menu when right mouse click is performed on a PIP window and then it can be truly set on top by Wayland compositor.
AFAIK, this solution doesn't work with a tiling window manager because the window never sends the necessary hints to let the WM know how to
position the window.I have the exact same problem with lots of other windows in FF like the "About Firefox" that open tiled by default instead of on-top.
Let's fix that properly by setting correct WM class you need to. Let's fix that at Bug 1532096.
Also Bug 397251 may be related.
Comment 16•5 years ago
|
||
(In reply to Martin Stránský [:stransky] from comment #15)
Let's fix that properly by setting correct WM class you need to.
Sounds good to me.
Assignee | ||
Updated•5 years ago
|
Comment 17•5 years ago
|
||
Pushed by nerli@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/63f9bee4712f
Don't use dialog for PIP window on Linux, r=JSON_voorhees
Comment 18•5 years ago
|
||
Pushed by aiakab@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/4bf8ad9c7de4 Fixed Es lint failure on PictureInPicture.jsm CLOSED TREE
Comment 19•5 years ago
|
||
+const { XPCOMUtils } = ChromeUtils.import(
+ "resource://gre/modules/XPCOMUtils.jsm"
+);
+
+XPCOMUtils.defineLazyModuleGetters(this, {
+ AppConstants: "resource://gre/modules/AppConstants.jsm",
+});
should really be.
const { AppConstants } = ChromeUtils.import(
"resource://gre/modules/AppConstants.jsm"
);
Assignee | ||
Comment 20•5 years ago
|
||
Okay, I'll fix that. Thanks.
Assignee | ||
Updated•5 years ago
|
Comment 21•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/63f9bee4712f
https://hg.mozilla.org/mozilla-central/rev/4bf8ad9c7de4
Updated•5 years ago
|
Assignee | ||
Comment 22•5 years ago
|
||
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Updated•5 years ago
|
Comment 23•5 years ago
|
||
Pushed by btara@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/7dd1ac96a354
Fix AppConstants module getter, r=evilpie,mconley
Comment 24•5 years ago
|
||
bugherder |
Updated•2 years ago
|
Description
•