Commit Graph

121 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
a1485f4c9f Bug 1890651 - Remove unused attributes from our fullscreen code. r=dao,desktop-theme-reviewers
As far as I can tell nothing really looks at inFullscreen in other
elements that are not the root, not in JS nor in CSS, so this code seems
like it can go?

Differential Revision: https://phabricator.services.mozilla.com/D207123
2024-04-10 16:45:38 +00:00
Paul Zuehlcke
bf56d79e48 Bug 1876675, r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D202932
2024-02-28 17:23:18 +00:00
Makoto Kato
20e52d1dda Bug 1832627 - Popup should be closed. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D197067
2024-01-17 08:48:29 +00:00
Paul Zuehlcke
2d4274179b Bug 1865914 - Part 3, r=Gijs,edgar
Differential Revision: https://phabricator.services.mozilla.com/D194886
2023-12-01 21:22:41 +00:00
Dão Gottwald
5e8489f029 Bug 1850993 - Clear status panel when entering DOM Fullscreen. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D194538
2023-11-25 04:21:34 +00:00
Brad Werth
925f30ab35 Bug 1863134: Stop hiding the nav toolbox when the menubar is animated away. r=edgar
This was done erroneously in an earlier code fix that was trying to fix
the showing and hiding of the menubar. It is not necessary to hide the
nav toolbox when the menubar is animated away. The nav toolbox will be
hidden when the user moves the cursor out of the nav toolbox area.

Differential Revision: https://phabricator.services.mozilla.com/D192972
2023-11-08 23:38:09 +00:00
Paul Zuehlcke
de631f48be Bug 1857430, r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D192370
2023-11-07 10:46:42 +00:00
Emilio Cobos Álvarez
ac6913c414 Bug 1854486 - Unify how we set the toolbox background across platforms. r=dao,desktop-theme-reviewers
Turns out macOS relies on the background being set in the toolbox rather
than :root because we slide the toolbox down entirely when the menubar
shows up in full-screen.

Since this is also the set up we have for lightweight themes and Linux,
and we can change Windows to do the same now that Aero is not a thing
anymore, clean-up the code and move all the toolbox background code to a
shared place.

In the future if we want to do something like Mica / Aero on Windows
again, we could do this trivially by setting --toolbox-non-lwt-bgcolor:
transparent or so on the relevant platform's file.

I can write a simpler patch for beta if needed.

Differential Revision: https://phabricator.services.mozilla.com/D189055
2023-09-25 14:04:11 +00:00
Brad Werth
bc065992a7 Bug 1851780: Make macOS menubar appearance force appearance of nav toolbox. r=edgar
Prior to this patch, users with the pref `browser.fullscreen.autohide` set
had to hit a 1-pixel tall element to get the tab bar to appear. If they miss
this shallow element, the macOS menubar will animate down, covering the
target, and it won't be possible to make the tab bar to appear until the
menubar is animated away again.

This patch ensures that any time the macOS menubar is animated down, we also
show the tab bar.

Differential Revision: https://phabricator.services.mozilla.com/D187821
2023-09-15 17:19:43 +00:00
Edgar Chen
42ff57bc49 Bug 1847901 - Should not show fullscreen warning if the user has disabled it explicitly; r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D185977
2023-08-14 15:52:24 +00:00
Gregory Pappas
a57c4f9405 Bug 1845311 - [Part 2] Use ChromeUtils.defineLazyGetter in more places r=arai,webcompat-reviewers,necko-reviewers,extension-reviewers,settings-reviewers,application-update-reviewers,credential-management-reviewers,devtools-reviewers,fxview-reviewers,sync-reviewers,anti-tracking-reviewers,tabbrowser-reviewers,bytesized,twisniewski,sgalich,mak,kershaw,sclements,pbz,robwu,geckoview-reviewers,amejiamarmol
Differential Revision: https://phabricator.services.mozilla.com/D184623
2023-08-01 23:01:02 +00:00
Edgar Chen
b5f3bc3534 Bug 1821884 - Reshow initial fullscreen notification; r=Gijs
Depends on D177790

Differential Revision: https://phabricator.services.mozilla.com/D178339
2023-06-08 08:56:51 +00:00
Edgar Chen
f3495ba6b4 Bug 1821884 - Ensure consistent state for fullscreen/pointerlock warnings; r=Gijs
Fullscreen/PointerLock warnings are initialized with hidden="true", but
change to hidden="" after being shown and hidden again. I think this
started happening when we began using HTML elements instead of XUL as
they handle hidden attribute differently.

Differential Revision: https://phabricator.services.mozilla.com/D177790
2023-06-08 08:56:51 +00:00
Iulian Moraru
f9297bcaef Backed out 2 changesets (bug 1821884) for causing bc failures on browser_pointerlock_warning.js. CLOSED TREE
Backed out changeset b843039f6806 (bug 1821884)
Backed out changeset 47ac6b453494 (bug 1821884)
2023-06-08 01:28:45 +03:00
Edgar Chen
ebe7425bc8 Bug 1821884 - Reshow initial fullscreen notification; r=Gijs
Depends on D177790

Differential Revision: https://phabricator.services.mozilla.com/D178339
2023-06-07 20:28:10 +00:00
Edgar Chen
3a3fdb92ca Bug 1821884 - Ensure consistent state for fullscreen/pointerlock warnings; r=Gijs
Fullscreen/PointerLock warnings are initialized with hidden="true", but
change to hidden="" after being shown and hidden again. I think this
started happening when we began using HTML elements instead of XUL as
they handle hidden attribute differently.

Differential Revision: https://phabricator.services.mozilla.com/D177790
2023-06-07 20:28:09 +00:00
Masayuki Nakano
efc5cf1f81 Bug 1821886 - Reserve shortcut keys exiting from the fullscreen mode r=Gijs,edgar,smaug
Chrome for Windows does not dispatch `keydown` event for shortcut keys existing
from the fullscreen mode.  Therefore, we can follow it.

For reserving only shortcut keys in fullscreen mode, we need to duplicate XUL
`<key>` elements which define the shortcut keys (only one in Windows/Linux,
but 3 in macOS).  Then, their `disabled` attributes should be managed when
toggling the fullscreen mode.

Finally, we need to make `XULKeySetGlobalKeyListener` check the `disabled`
attribute **of** `<key>` elements because it's check in `DispatchXULKeyCommand`
in the final step:
https://searchfox.org/mozilla-central/rev/11a4d97a7b5cdfa133f4bda4525649f651703018/dom/events/KeyEventHandler.cpp#315-316

and it stops handling everything with doing nothing. I'm not sure whether this
was intentionally implemented or just a inefficient code which we didn't take
care the performance. However, I think that ignoring the disabled `<key>`
elements is reasonable behavior from `<key>` element users point of view.

(I found only one `<key>` which is disabled by default:
https://searchfox.org/mozilla-central/rev/11a4d97a7b5cdfa133f4bda4525649f651703018/browser/base/content/browser-sets.inc#225-233)

Differential Revision: https://phabricator.services.mozilla.com/D178262
2023-05-24 00:50:17 +00:00
Mark Banner
0666077666 Bug 1826062 - Automatic fixes for upgrading Prettier to 2.8.8. r=mossop,perftest-reviewers,webcompat-reviewers,geckoview-reviewers,denschub,devtools-reviewers,sparky,calu
Differential Revision: https://phabricator.services.mozilla.com/D177027
2023-05-20 12:26:53 +00:00
Abhishek Tiwari
cec6f4b2e7 Bug 1820878 - Convert toolkit/mozapps/downloads to ESmodules . r=Standard8,extension-reviewers,application-update-reviewers,bytesized,robwu
Differential Revision: https://phabricator.services.mozilla.com/D172245
2023-04-12 17:32:30 +00:00
Gregory Pappas
0e505f184a Bug 1804264 - Refactor PermissionUI to use JS class r=pbz
Also, esmify.

Differential Revision: https://phabricator.services.mozilla.com/D167074
2023-01-23 21:53:19 +00:00
Noemi Erli
9299cc61f9 Backed out changeset c37b70009a8b (bug 1804264) for causing failures in Geolocation.cpp CLOSED TREE 2023-01-23 19:11:47 +02:00
Gregory Pappas
8972ac3379 Bug 1804264 - Refactor PermissionUI to use JS class r=pbz
Also, esmify.

Differential Revision: https://phabricator.services.mozilla.com/D167074
2023-01-23 16:30:32 +00:00
Mark Banner
34d6fb8d94 Bug 1806503 - Automatically replace Cu.reportError with console.error (browser/actors, browser/base). r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D165068
2022-12-27 10:08:58 +00:00
Neil Deakin
65756040a9 Bug 1801168, initialize the field that gets the fullscr-toggler element properly, as showNavToolbox can be called without it being set yet, this caused the browser_tabswitch_select.js test to fail in verify mode, r=dao
Depends on D162857

Differential Revision: https://phabricator.services.mozilla.com/D163059
2022-11-25 10:36:00 +00:00
Michael Kohler
59a0472aa2 Bug 1749989 - Rename FullScreen.getAutohide to FullScreen.updateAutohideMenuitem r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D148353
2022-07-11 16:24:07 +00:00
Edgar Chen
225e30e4b3 Bug 1756388; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D144193
2022-05-03 19:11:30 +00:00
Mark Banner
d22663f0f9 Bug 1758476 - Remove some unnecessary uses of the target object argument to ChromeUtils.import. r=mossop,webdriver-reviewers,perftest-reviewers,robwu,whimboo,AlexandruIonescu
Differential Revision: https://phabricator.services.mozilla.com/D140518
2022-03-17 22:13:08 +00:00
Cristian Tuns
a180c6cba3 Backed out changeset 528295e7cb0c (bug 1758476) for causing tabswitch failures CLOSED TREE 2022-03-14 12:27:48 -04:00
Mark Banner
beed912c8e Bug 1758476 - Remove some unnecessary uses of the target object argument to ChromeUtils.import. r=mossop,webdriver-reviewers,perftest-reviewers,robwu,whimboo,AlexandruIonescu
Differential Revision: https://phabricator.services.mozilla.com/D140518
2022-03-14 10:19:40 +00:00
Mark Banner
7ea3c792f2 Bug 1758474 - Implement an ESLint rule to disallow passing {} as the target parameter for ChromeUtils.import. r=Gijs,mossop,perftest-reviewers,preferences-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D140517
2022-03-11 16:41:29 +00:00
smolnar
19781d16c7 Backed out changeset 5018856d8fee (bug 1758474) for causing node eslint failure. CLOSED TREE 2022-03-10 11:58:45 +02:00
Mark Banner
de1754318e Bug 1758474 - Implement an ESLint rule to disallow passing {} as the target parameter for ChromeUtils.import. r=Gijs,mossop,perftest-reviewers,preferences-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D140517
2022-03-10 09:25:28 +00:00
aminomancer
7aebd7f3db Bug 1591040 - show both fullscreen and normal toolbar/tabstrip context menus in full screen, r=jaws,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D131493
2022-01-21 22:52:24 +00:00
Norisz Fay
d35104b746 Backed out changeset e23259733a51 (bug 1591040) for causing bc failures on browser_fullscreen_context_menu.js CLOSED TREE 2022-01-19 13:32:54 +02:00
aminomancer
3394fc2082 Bug 1591040 - show both fullscreen and normal toolbar/tabstrip context menus in full screen, r=jaws,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D131493
2022-01-19 10:14:34 +00:00
Edgar Chen
55e49c6194 Bug 1739220 - Handle fullscreen state in a more reliable way; r=smaug,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D131185
2021-12-17 09:15:10 +00:00
Csoregi Natalia
f20254ab82 Backed out 2 changesets (bug 1739220) for causing multiple failures e.g.browser_media_control_non_eligible_media.js. CLOSED TREE
Backed out changeset 20bce7cd571c (bug 1739220)
Backed out changeset f69aa1b07b51 (bug 1739220)
2021-12-14 20:32:26 +02:00
Edgar Chen
8add597890 Bug 1739220 - Handle fullscreen state in a more reliable way; r=smaug,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D131185
2021-12-14 15:23:54 +00:00
Paul Zuehlcke
0ca511ff0f Bug 1739091, r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D131268
2021-11-22 16:11:45 +00:00
Harry Twyford
45025048ce Bug 1701929 - Define positioning required for Mac fullscreen slide in CSS to avoid frame reconstruction. r=mstange,Gijs
Baseline profile: https://share.firefox.dev/3p5PgDn (jank)
Profile with just setting pinned tab position to absolute: https://share.firefox.dev/30jKR5p (jank)
Profile with just moving relative positioning to CSS: https://share.firefox.dev/3p6c5a7 (jank)
Profile with this patch: https://share.firefox.dev/3FRLmnK (no jank)

Markus said setting abspos pinned tabs would be safe as long as there were no relative-positioned ancestors in the tab overflow scrollbox. The only notable ancestor of a pinned tab is the tab arrowscrollbox itself, so there aren't any surprise ancestors here. Manual testing indicates things work fine.

I also confirmed that this patch fixes bug 1725151.

Differential Revision: https://phabricator.services.mozilla.com/D121403
2021-10-20 13:59:23 +00:00
Emilio Cobos Alvarez
2edef0e001 Bug 1735318 - Unify "native" vs. "fullscreen" window controls. r=desktop-theme-reviewers,dao
I've tested this (both with and without titlebar) in Linux, Win10,
Win11, Win7 and macOS.

 * On macOS behavior doesn't change at all (since on fullscreen we didn't
show the buttons to begin with).

 * Linux now shows "native" buttons on fullscreen (which is also an
improvement).

 * On Windows 10/11 the sizing of the buttons is now the same when
fullscreen vs. not (which is an improvement).

 * On Windows 7 we now use regular native-looking buttons (like on
   windows 10) instead of the custom windowControls.png. That could be
   considered a slight regression I guess, but is consistent with win10.

Differential Revision: https://phabricator.services.mozilla.com/D128196
2021-10-12 13:20:13 +00:00
Harry Twyford
3468883144 Bug 1706901 - Allow the toolbar to shift with position: relative. r=mstange,desktop-theme-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D113612
2021-04-28 20:15:38 +00:00
Harry Twyford
787f35839a Bug 740148 - Allow toolbar autohide in fullscreen on macOS, but disable it by default. r=mac-reviewers,mstange,bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D110573
2021-04-01 18:16:25 +00:00
Harry Twyford
2be160a28f Bug 1695921 - Rename OSXLionFullscreen to macOSNativeFullscreen. r=mac-reviewers,mstange
Differential Revision: https://phabricator.services.mozilla.com/D109931
2021-03-26 16:34:54 +00:00
Harry Twyford
bd1a4f8ca2 Bug 1699506 - Part 2 - Add CSS rules to shift the toolbar over the content when the macOS menubar is shown. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D106847
2021-03-18 20:20:40 +00:00
james
c8a67215e0 Bug 1691274 - Use DOM hidden property methods instead of attribute methods in browser/ directory. r=ntim,preferences-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D104552
2021-02-13 23:33:51 +00:00
Narcis Beleuzu
d5390af0ba Backed out changeset b3fcb4fcea64 (bug 1691274) for bc failures on browser_pointerlock_warning.js . CLOSED TREE 2021-02-13 21:46:51 +02:00
james
1c970f6297 Bug 1691274 - Use DOM hidden property methods instead of attribute methods in browser/ directory. r=ntim,preferences-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D104552
2021-02-13 18:11:18 +00:00
Emma Malysz
779c8f15b9 Bug 1678211, remove unused fullscreen.used telemetry probe r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D98124
2020-12-01 16:59:30 +00:00
Xidorn Quan
ddbb4074f5 Bug 729011 - Make fullscr-toggler not affect viewport size. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D97736
2020-11-20 11:21:03 +00:00