Commit Graph

699 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
e43ca4b09d Bug 1805939 - Have a central source of truth for desktop environment detection. r=stransky,jld
Gfx blocklist doesn't actually use the desktop environment filter so
remove that functionality. We can reintroduce it in the future if we
need it.

Differential Revision: https://phabricator.services.mozilla.com/D166090
2023-01-20 11:26:11 +00:00
Sylvestre Ledru
94583492da Bug 1802288 - remove trailing whitespaces in idl/webidl files r=credential-management-reviewers,webidl,smaug,sgalich
Differential Revision: https://phabricator.services.mozilla.com/D165559
2022-12-28 09:52:44 +00:00
Marco Castelluccio
ba39d286d5 Bug 1801836 - Remove no longer necessary 'from __future__' imports. r=linter-reviewers,glandium,webdriver-reviewers,perftest-reviewers,geckoview-reviewers,jld,ahal,owlish,afinder DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D165395
2022-12-23 22:45:46 +00:00
Ben Hearsum
a024511468 Bug 1804659: GNOME Shell search provider creates unnecessary windows r=jhorak
I was unable to get gnome searching working at all on my machine (perhaps it's broken on Ubuntu?), thus I was unable to verify this fix myself -- but it seems pretty straightforward and safe to take.

Differential Revision: https://phabricator.services.mozilla.com/D164902
2022-12-16 16:30:33 +00:00
Emilio Cobos Álvarez
0f61b77b68 Bug 1805415 - Use activateItem() rather than click() to activate menuitems. r=Gijs,extension-reviewers,pip-reviewers,search-reviewers
Bug 1805414 will move menu event handling to the DOM.

With that change the current synthetic click behavior of XUL menuitems
breaks. On current central, we rely on nsMenuFrame::HandleEvent not
getting called at all for synthetic clicks, and instead we just fire a
command event synchronously here:

  https://searchfox.org/mozilla-central/rev/a0d4f8f112c5c792ae272bf6ce50763ddd23ffa2/dom/xul/nsXULElement.cpp#1071

After my patch the command event is fired properly (potentially
asynchronously too) by the regular menu activation machinery, which is
preferable.

 * They fire a command event synchronously (even though on some
   platforms like macOS activating a context menu item is async).

 * They use a totally different codepath from what a user does.

 * They don't deal with native menus, etc.

We have a proper API for this (activateItem) which takes a much more
closer codepath to what users do, requires that the menu is shown, etc.
Use that API instead for testing.

As a benefit, tests now do not need to close the context menu manually
when clicking on a menu item (because we trigger the same code path as
users clicking the menu).

Differential Revision: https://phabricator.services.mozilla.com/D164567
2022-12-15 03:11:55 +00:00
Cristian Tuns
c9c42bc174 Backed out 2 changesets (bug 1805415) for causing dt failures on browser_net_telemetry_throttle_changed.js CLOSED TREE
Backed out changeset 5056d7df9f1e (bug 1805415)
Backed out changeset e13513500184 (bug 1805415)
2022-12-14 08:52:21 -05:00
Emilio Cobos Álvarez
9a53f8dea3 Bug 1805415 - Use activateItem() rather than click() to activate menuitems. r=Gijs,extension-reviewers,pip-reviewers,search-reviewers
Bug 1805414 will move menu event handling to the DOM.

With that change the current synthetic click behavior of XUL menuitems
breaks. On current central, we rely on nsMenuFrame::HandleEvent not
getting called at all for synthetic clicks, and instead we just fire a
command event synchronously here:

  https://searchfox.org/mozilla-central/rev/a0d4f8f112c5c792ae272bf6ce50763ddd23ffa2/dom/xul/nsXULElement.cpp#1071

After my patch the command event is fired properly (potentially
asynchronously too) by the regular menu activation machinery, which is
preferable.

 * They fire a command event synchronously (even though on some
   platforms like macOS activating a context menu item is async).

 * They use a totally different codepath from what a user does.

 * They don't deal with native menus, etc.

We have a proper API for this (activateItem) which takes a much more
closer codepath to what users do, requires that the menu is shown, etc.
Use that API instead for testing.

As a benefit, tests now do not need to close the context menu manually
when clicking on a menu item (because we trigger the same code path as
users clicking the menu).

Differential Revision: https://phabricator.services.mozilla.com/D164567
2022-12-14 10:25:17 +00:00
Marco Castelluccio
5bcb4a1506 Bug 1790816 - Reformat browser/ with isort. r=linter-reviewers,search-reviewers,Standard8 DONTBUILD
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D162667
2022-11-22 11:09:34 +00:00
Mark Banner
4a676b22bb Bug 1797686 - Convert subprocess import consumers to import ES modules directly. r=kmag,application-update-reviewers,bytesized
Differential Revision: https://phabricator.services.mozilla.com/D160489
2022-10-27 20:17:39 +00:00
Mark Banner
433fff5bca Bug 1795322 - Update toolkit modules references in browser/ code. r=mossop,Gijs,preferences-reviewers,desktop-theme-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D160031
2022-10-26 08:06:35 +00:00
Csoregi Natalia
5edbe31601 Backed out 12 changesets (bug 1795322) for causing multiple failures e.g. test_deletion_request_ping.py. CLOSED TREE
Backed out changeset aba25cbcda51 (bug 1795322)
Backed out changeset a4a35005ada9 (bug 1795322)
Backed out changeset 8e8d790eb0f4 (bug 1795322)
Backed out changeset db8903454bd3 (bug 1795322)
Backed out changeset 60cc71c61cad (bug 1795322)
Backed out changeset bc6a674994ad (bug 1795322)
Backed out changeset 6ac8a611f8c7 (bug 1795322)
Backed out changeset 9fb873ecfb31 (bug 1795322)
Backed out changeset c8a7a40c2a2f (bug 1795322)
Backed out changeset f2c118b6c6ce (bug 1795322)
Backed out changeset 38df43b4a70f (bug 1795322)
Backed out changeset 89aea8373411 (bug 1795322)
2022-10-25 23:47:58 +03:00
Mark Banner
6bff0ab996 Bug 1795322 - Update toolkit modules references in browser/ code. r=mossop,Gijs,preferences-reviewers,desktop-theme-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D160031
2022-10-25 19:49:26 +00:00
Olli Pettay
e5a262f4b8 Bug 1644658 - Remove usages of <img> loadend events in screenshots code, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D159929
2022-10-25 08:27:01 +00:00
Norisz Fay
aef5919fa4 Backed out 3 changesets (bug 1644658, bug 1574487, bug 1644656) for causing mochitest failures on browser_staticPartition_saveAs.js CLOSED TREE
Backed out changeset ccd076f67748 (bug 1574487)
Backed out changeset 2235323f0cf9 (bug 1644656)
Backed out changeset 7fe2c7526246 (bug 1644658)
2022-10-25 02:22:37 +03:00
Olli Pettay
0a78296049 Bug 1644658 - Remove usages of <img> loadend events in screenshots code, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D159929
2022-10-24 20:33:03 +00:00
Mark Banner
5407bdffa8 Bug 1792341 - Migrate more toolkit/modules consumers to use direct ES module import. r=Gijs,webdriver-reviewers,perftest-reviewers,necko-reviewers,geckoview-reviewers,preferences-reviewers,application-update-reviewers,pip-reviewers,credential-management-reviewers,sgalich,owlish,bytesized,AlexandruIonescu,whimboo,mconley,mixedpuppy
Mainly automated changes. Some manual ESLint fixes and whitespace cleanup.

Differential Revision: https://phabricator.services.mozilla.com/D158452
2022-10-18 11:21:26 +00:00
Emilio Cobos Álvarez
66c0eff1f3 Bug 1794969 - Fix other dialogs / windows with fixed widths. r=Gijs,preferences-reviewers,application-update-reviewers,bytesized
Differential Revision: https://phabricator.services.mozilla.com/D159247
2022-10-13 16:00:22 +00:00
Ben Hearsum
d55c5704d1 Bug 1794017: improve shortcut detection of existing shortcuts in windows shell service r=bytesized
The current shortcut detection was good enough for a long while -- it was mainly used for Telemetry purposes, and installer created shortcuts were almost always created anyways -- so both the rate of mismatches and the consequences of them were fairly low. This changed when we implemented Private taskbar pinning, most notably because when we're creating Private Browsing shortcuts in the installer (which we ought to do to work around various Windows bugs), we end up with 2 strings for the shortcut names (one for the installer, one for the browser).

The other thing that has changed since this was originally implemented is that all of those code has moved off of the main thread -- so it is less perf-sensitive than it was before.

With these two things in mind, making our shortcut detection much more accurate seems like the right thing to do. There's still rare cases (noted in the original comments) where it could be wrong -- but with this change we no longer rely on the file name, which can very easily be wrong for a number of reasons.

This also includes a fix for a bug I introduced in https://bugzilla.mozilla.org/show_bug.cgi?id=1789974 that caused pinning not to work if a shortcut needed to be created at pinning time (unlikely except in zip builds, but still needs to be fixed).

Differential Revision: https://phabricator.services.mozilla.com/D158799
2022-10-11 14:02:57 +00:00
Mark Banner
a49b8ef78f Bug 1792365 - Convert toolkit/modules consumers to use ES module imports directly. r=webdriver-reviewers,perftest-reviewers,geckoview-reviewers,extension-reviewers,preferences-reviewers,desktop-theme-reviewers,application-update-reviewers,pip-reviewers,credential-management-reviewers,robwu,Gijs,sgalich,bytesized,AlexandruIonescu,dao,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D158094
2022-09-29 06:52:34 +00:00
Ben Hearsum
942df42ed0 Bug 1787121: write runtime shortcuts log in UTF-16LE encoding r=bytesized
It turns out that the INI parser used by NSIS only supports UTF-16LE encoding. Our INI parser doesn't support UTF-16 at all, so we need to a bit of work ourselves to write this file correctly.

Differential Revision: https://phabricator.services.mozilla.com/D157378
2022-09-28 13:17:41 +00:00
Ben Hearsum
89c064c808 Bug 1791981: guard against null dereference in Windows 7 taskbar pinning code r=bytesized
Differential Revision: https://phabricator.services.mozilla.com/D158140
2022-09-26 16:30:56 +00:00
Ben Hearsum
318c01c3b8 Bug 1789974: Fix shortcut creation when pinning to taskbar r=bytesized
In the recent refactor of this (https://bugzilla.mozilla.org/show_bug.cgi?id=1782295) I managed to break our ability to create shortcuts if they don't already existed. This was caused by two things:
1) An errant `NS_SUCCEEDED` call remained after the call it was checking moved elsewhere (oops)
2) The taskbar pinning code was not updated to set the shortcut file path (required after the refactor).

This patches fixes both of those issues. Note that all the directory service interaction is done on the main thread, because the actual function doing the work is on a background thread, and the directory service does not work there.

Differential Revision: https://phabricator.services.mozilla.com/D156993
2022-09-12 18:45:33 +00:00
Ben Hearsum
ae24a5eb11 Bug 1789991: correctly detect existing private browsing shortcuts r=bytesized
This was an oversight during the original implementation in bug 1761291. I updated the code that creates shortcuts there, but not the code that looks at existing ones.

Differential Revision: https://phabricator.services.mozilla.com/D156992
2022-09-12 18:45:32 +00:00
Ben Hearsum
3ea2839fc7 Bug 1789991: use a distinct string for in-product shortcut names r=nalexander,flod
In days of old, it was safe to use -brand-short-name for this, as it always lined up with the installer's concept of BrandShortName. This changed when https://bugzilla.mozilla.org/show_bug.cgi?id=1378834 landed -- which started using "Firefox Nightly" for the nightly branding BrandShortName in the installer (but maintained "Nightly" as the in-product -brand-short-name). Changing one or the other of these is not really a viable option:

- Changing the installer's BrandShortName for Nightly to match -brand-short-name would cause shortcuts to simply be called "Nightly" -- which is the opposite of what the aforementioned bug wanted
- Changing -brand-short-name would cause a number of in-product strings to start using "Firefox Nightly" instead of "Nightly" -- which is probably undesirable for a few reasons, not the least of which is possible l10n implications

For these reasons, and the relatively short timeline I have to fix this, I'm taking the simplest and easiest path of introducing a new string specifically for in-product shortcut names, which lines up with the installer's values for BrandShortName. (We perhaps should also separate this out in the installer -- but it's unnecessary here, so I did not go to the trouble.)

Differential Revision: https://phabricator.services.mozilla.com/D156991
2022-09-12 18:39:19 +00:00
Ben Hearsum
0fbdcd4371 Bug 1782295: move private shortcut check & creation to background thread r=barret
This happens during lazy startup, and we try to avoid any main thread I/O there. Even though this will only ever happen once, there's really no reason I know of to keep it on the main thread.

Differential Revision: https://phabricator.services.mozilla.com/D155598
2022-09-08 13:09:10 +00:00
Cristian Tuns
eb9e313a06 Backed out 3 changesets (bug 1782295) for causing Assertion failures on nsDirectoryService.cpp CLOSED TREE
Backed out changeset b332385ffca4 (bug 1782295)
Backed out changeset 8c36812a12dc (bug 1782295)
Backed out changeset 8016b1f25509 (bug 1782295)
2022-08-26 11:50:40 -04:00
Ben Hearsum
5276862261 Bug 1782295: move private shortcut check & creation to background thread r=barret
This happens during lazy startup, and we try to avoid any main thread I/O there. Even though this will only ever happen once, there's really no reason I know of to keep it on the main thread.

Differential Revision: https://phabricator.services.mozilla.com/D155598
2022-08-26 14:50:13 +00:00
Ben Hearsum
b0c4809fde Bug 1785814: The "os.environment.is_taskbar_pinned_private" scalar is set to "false" even if the "Pin Private Window" shortcut is pinned to the taskbar r=bytesized
In an ideal world we'd pass in the `privateBrowsing` flag and use that to both find the correct AUMID and binary to compare against, but because this code runs off main thread, and finding AUMIDs requires prefs access - we must pass in the AUMID from elsewhere.

Given that, checking that the target of the shortcut is one of the two possible Firefox entry points, and ensuring it matches the requested AUMID, seems reasonable.

There's no technical reason why we couldn't pass in the `privateBrowsing` flag to use in determining which binary we're looking for -- but I don't think it really adds any real benefit, and passing both it an the AUMID makes the interface more confusing.

Differential Revision: https://phabricator.services.mozilla.com/D155008
2022-08-18 20:50:05 +00:00
Ben Hearsum
8b2aa4c0eb Bug 1761291: use private browsing wrapper as target for Private Browsing shortcuts r=mhowell
This ensure the shortcuts will use the correct Visual Elements on the off chance they get pinned to the Start Menu.

Differential Revision: https://phabricator.services.mozilla.com/D151539
2022-08-03 13:49:05 +00:00
Mark Banner
1e3410cbdd Bug 1782008 - Remove now unnecessary .eslintrc.js files. r=webcompat-reviewers,extension-reviewers,media-playback-reviewers,pip-reviewers,denschub,rpl,alwu,mossop
Differential Revision: https://phabricator.services.mozilla.com/D152736
2022-08-03 11:16:20 +00:00
Tooru Fujisawa
328d63ce7f Bug 1777486 - Part 2: Migrate XPCOMUtils.jsm consumers with automatic migration. r=webdriver-reviewers,geckoview-reviewers,preferences-reviewers,application-update-reviewers,pip-reviewers,kmag,owlish,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D151214
2022-07-12 04:21:34 +00:00
Andreea Pavel
f009ba2983 Backed out 11 changesets (Bug 1777486) for failing bc at browser_startup.js on a CLOSED TREE
Backed out changeset b6c4c386f1a6 (Bug 1777486)
Backed out changeset 195cc2de8433 (Bug 1777486)
Backed out changeset 20c746fb1648 (Bug 1777486)
Backed out changeset d5fd8173d62d (Bug 1777486)
Backed out changeset 6d758fab5a3e (Bug 1777486)
Backed out changeset e938b601ba15 (Bug 1777486)
Backed out changeset 0c4ea0b9416b (Bug 1777486)
Backed out changeset 0559c53cc668 (Bug 1777486)
Backed out changeset eea573d3a9f9 (Bug 1777486)
Backed out changeset 9ce3a6496a49 (bug 1777486)
Backed out changeset b0867652fc48 (bug 1777486)
2022-07-11 22:24:40 +03:00
Tooru Fujisawa
bf0a8b781b Bug 1777486 - Part 2: Migrate XPCOMUtils.jsm consumers with automatic migration. r=webdriver-reviewers,geckoview-reviewers,preferences-reviewers,application-update-reviewers,pip-reviewers,kmag,owlish,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D151214
2022-07-11 15:09:13 +00:00
Tooru Fujisawa
b10d0289af Bug 1667455 - Part 4: Stop importing Services.jsm from JSM. r=kmag,webdriver-reviewers,perftest-reviewers,webcompat-reviewers,geckoview-reviewers,application-update-reviewers,pip-reviewers,twisniewski,devtools-reviewers,m_kato,jdescottes,ochameau,mconley,sfoster,AlexandruIonescu
Differential Revision: https://phabricator.services.mozilla.com/D150893
2022-07-11 12:41:50 +00:00
Ben Hearsum
75090cf439 Bug 1758961: fix .lnk.lnk names when creating shortcuts through ShellService.pinToTaskbar r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D150631
2022-06-30 13:15:58 +00:00
Ben Hearsum
80cd5a909a Bug 1712628: mark taskbar pinning methods as not implemented for MSIX packages r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D150578
2022-06-29 17:57:28 +00:00
Ben Hearsum
1a04b49dd2 Bug 1758961: update private browsing shortcuts and descriptions with finalized, localized strings r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D150129
2022-06-27 13:28:17 +00:00
Ben Hearsum
03c5d6d051 Bug 1762994: ensure a Private Browsing shortcut exists as early as possible r=mhowell,fluent-reviewers
This fixes a bug where pinning a Private Browsing window to Taskbar with the windows context menu item pins regular Firefox instead. This happens because Windows cannot find an appropriate shortcut (presumably by looking for one with the right AUMID), and ends up creating its own instead -- with almost entirely incorrect metadata.

With this, we'll be creating one at a few points (if it doesn't already exist):
* Installer - for new installs
* Post-Update - to make sure we get one when people update to the first version where we pref this on
* Startup idle - for zip installs, and to handle any other possible case where the shortcut doesn't exist

Until we enable separation of Private Windows by default I've pref'ed off this behaviour (otherwise a user may pin the shortcut to the Taskbar, but the app will launch into a different icon).

Differential Revision: https://phabricator.services.mozilla.com/D147702
2022-06-23 15:15:42 +00:00
Ben Hearsum
11381d8f47 Bug 1762994: fix inconsistency in nsWindowsShellService folder ID handling r=mhowell
The shortcut creation code was mapping the "StartMenu" known folder to what is actually a "Programs" folder. This patch fixes that, and updates some related code to match. Notably, no behaviour has changed (ie: we still create shortcuts in the same place) -- this just makes it more obvious what's happening.

Differential Revision: https://phabricator.services.mozilla.com/D147701
2022-06-23 15:15:41 +00:00
serge-sans-paille
0e0495f341 Bug 1773148 - Cleanup browser/components/shell includes r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D148621
2022-06-08 09:53:54 +00:00
Jan Horak
3594dc02fc Bug 1748096 Allow multi word search on Gnome shell search provider; r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D148132
2022-06-07 11:09:06 +00:00
Tooru Fujisawa
7c2f1c68a6 Bug 1772100 - Part 17: Use plain object for lazy getter in browser/components/shell/. r=bytesized
Differential Revision: https://phabricator.services.mozilla.com/D148027
2022-06-06 22:46:25 +00:00
Henrik Skupin
502939f7d0 Bug 1726465 - Don't enable Marionette in new Firefox processes launched by browser-chrome shell tests. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D145933
2022-05-10 15:08:17 +00:00
criss
ba242a0c40 Backed out 8 changesets (bug 1726465) for causing failures on browser_preferences_usage.js. CLOSED TREE
Backed out changeset 4b57310622a0 (bug 1726465)
Backed out changeset 0c6c4a15621a (bug 1726465)
Backed out changeset 081a0f91e0a7 (bug 1726465)
Backed out changeset 60bceb18ff57 (bug 1726465)
Backed out changeset f241655ea876 (bug 1726465)
Backed out changeset 7bc0a3aeb254 (bug 1726465)
Backed out changeset b2f7c710daef (bug 1726465)
Backed out changeset e9b90fd1b4ec (bug 1726465)
2022-05-10 13:59:54 +03:00
Henrik Skupin
39aed41129 Bug 1726465 - Don't enable Marionette in new Firefox processes launched by browser-chrome shell tests. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D145933
2022-05-10 09:04:03 +00:00
Ben Hearsum
b80045836f Bug 1767589: check for S_FALSE where appropriate in PinCurrentAppToTaskbar r=rkraesig
Differential Revision: https://phabricator.services.mozilla.com/D145652
2022-05-09 13:53:46 +00:00
Emilio Cobos Álvarez
22b9131360 Bug 1767889 - Set both picture-uri and picture-uri-dark when setting desktop background in GSettings. r=stransky
Clean up a bit the code while at it.

Differential Revision: https://phabricator.services.mozilla.com/D145559
2022-05-09 13:38:38 +00:00
Barret Rennie
02c2614389 Bug 1766434 - Make checking for and pinning app to taskbar async on Windows r=bhearsum
Previously `nsIWindowsShellService::{Check,}PinCurrrentAppToTaskbar` was doing
main thread IO. They have been replaced with async versions that do their work
on a background thread.

Differential Revision: https://phabricator.services.mozilla.com/D145244
2022-05-05 18:48:44 +00:00
Iulian Moraru
fa1ecc0bc5 Backed out changeset 9dd640f33e1b (bug 1766434) for causing assertion failures on ServoUtils.h. CLOSED TREE 2022-05-04 02:54:33 +03:00
Barret Rennie
ebc8728e2e Bug 1766434 - Do not run nsIWindowsShellService::CheckPinCurrentAppToTaskbar on main thread in ShellService.jsm r=bhearsum
`nsIWindowsShellService::CheckPinCurrentAppToTaskbar` does IO which we want to
move off of the main thread. There is now an async version,
`CheckPinCurrentAppToTaskbarAsync`, that runs the IO on a background thread and
returns a promise, which we now use in ShellService.jsm.

Differential Revision: https://phabricator.services.mozilla.com/D145244
2022-05-03 20:50:09 +00:00