Граф коммитов

2664 Коммитов

Автор SHA1 Сообщение Дата
Ben Hearsum 47eded26b0 Bug 1790809: stop creating private browsing shortcuts in the installer r=bytesized
It's important that this shortcut exists to avoid https://bugzilla.mozilla.org/show_bug.cgi?id=1762994. We were creating it in the installer to avoid first run I/O, with a fallback at runtime to catch zip builds and updates. Due to some of this code being in the installer and some of it in the browser, we ended up with two different strings. Unfortunately, this has resulted in a bug where we sometimes create two private shortcuts. This happens in at least two cases:
1) A localization has only translated one of those strings -- in which case we get an en-US string and a localized string
2) A localization has translated the strings differently -- in which case we get two localized, but slightly different, stings

Since the installer creation of the shortcut is an optimization, and the first run I/O is now on a background thread anyways, let's just get rid of the installer shortcut rather than trying to come up with a more complex fix for this.

Differential Revision: https://phabricator.services.mozilla.com/D157348
2022-09-14 19:25:16 +00:00
Nicholas Rishel 9454695dd9 Bug 1789390 - Remove scheduled and Action Center notifications during uninstall. r=nalexander
Non-MSIX notifications are not removed when Firefox is uninstalled. To handled this we've added a new `uninstall` background task and extended `nsIWindowsAlertService` to deregister notifications on uninstall.

Differential Revision: https://phabricator.services.mozilla.com/D156625
2022-09-14 00:42:43 +00:00
Iulian Moraru d07f446854 Backed out 2 changesets (bug 1789390) for causing bc failures regarding unreferenced file on BackgroundTask_uninstall.jsm. CLOSED TREE
Backed out changeset 4cec525d92f4 (bug 1789390)
Backed out changeset 6fcec3502cb2 (bug 1789390)
2022-09-13 13:20:20 +03:00
Nicholas Rishel f203d491e0 Bug 1789390 - Remove scheduled and Action Center notifications during uninstall. r=nalexander
Non-MSIX notifications are not removed when Firefox is uninstalled. To handled this we've added a new `uninstall` background task and extended `nsIWindowsAlertService` to deregister notifications on uninstall.

Differential Revision: https://phabricator.services.mozilla.com/D156625
2022-09-13 06:09:30 +00:00
Ben Hearsum 915bc53106 Bug 1782295: Enable Private Browsing shortcut creation by default r=bytesized
Because we're enabling window separation by default we also need to enable shortcut creation in the installer to minimize the possibility of users hitting https://bugzilla.mozilla.org/show_bug.cgi?id=1762994.

Differential Revision: https://phabricator.services.mozilla.com/D155599
2022-09-08 13:09:11 +00:00
Cristian Tuns cabdc5ed0b 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 ce8aefbbd4 Bug 1782295: Enable Private Browsing shortcut creation by default r=bytesized
Because we're enabling window separation by default we also need to enable shortcut creation in the installer to minimize the possibility of users hitting https://bugzilla.mozilla.org/show_bug.cgi?id=1762994.

Differential Revision: https://phabricator.services.mozilla.com/D155599
2022-08-26 14:50:15 +00:00
John Bieling 24210e2c3a Bug 1764698 - Move LanguageDetector.jsm and related files to toolkit. r=robwu
Differential Revision: https://phabricator.services.mozilla.com/D151606
2022-08-23 05:59:55 +00:00
Nick Alexander 98a5c8dac8 Bug 1782837 - Add `MOZ_NOTIFICATION_SERVER`; don't build notification server under MinGW. r=firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D154467
2022-08-18 16:31:09 +00:00
Nicholas Rishel 6e432b193e Bug 1782818 - Use COM notification server for toast notifications in MSIX packages. r=nalexander,Jamie
This converges Windows native notification behavior across all installers to use the COM notification server.

This also fixes an issue where interacting with an MSIX notification opened a new window with new tabs correlated to the toast notification launch arguments. MSIX by default calls the application sending a notification with the provided launch arugments, which was an problem as we use launch arguments in the COM server to reconstruct the origin of a notification.

Differential Revision: https://phabricator.services.mozilla.com/D153538
2022-08-04 21:46:15 +00:00
Ben Hearsum c7cfad2069 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
Ben Hearsum 4cc0c36830 Bug 1761291: create wrapper to launch Firefox in Private Browsing mode r=rkraesig,glandium
This allows us to fix a bug where when our current Private Browsing shortcuts are pinned to the Start Menu, they use the regular Firefox Visual Elements (which is the non-Private Browsing logo). I tried to make this as minimal and braindead as possible.

Differential Revision: https://phabricator.services.mozilla.com/D151538
2022-08-03 13:49:04 +00:00
Nicholas Rishel 94c7867e54 Bug 1774083 - Part 1: Add notificationserver.dll COM Server to handle Window's toast notifications. r=nalexander
This implements a COM Server and returns objects implementing INotificationActivationCallback. This allows Firefox notifications to be acted upon even after the main process exits.

COM objects require a (normally static) CLSID in the registry to be identified by other apps. To prevent CLSID duplication between parallel installs and portable/development builds, this implementation inspects the registry when a COM object CLSID is requested, and returns an object if the CLSID's InprocServer32 key matches the path of the DLL.

Differential Revision: https://phabricator.services.mozilla.com/D149182
2022-08-02 19:40:39 +00:00
Nick Alexander 49ce4aba64 Bug 1774082 - Make installer and uninstaller add/remove Toast Notification to/from registry. r=bhearsum,nrishel
Differential Revision: https://phabricator.services.mozilla.com/D152145
2022-08-02 19:40:38 +00:00
Iulian Moraru 5820ae4560 Backed out 6 changesets (bug 1774083, bug 1774082) for causing xpcshell failures. CLOSED TREE
Backed out changeset 4056bc743e25 (bug 1774083)
Backed out changeset ad20680728cc (bug 1774083)
Backed out changeset 173c4519227f (bug 1774083)
Backed out changeset 54beca69e971 (bug 1774083)
Backed out changeset 1d9d80c75d9d (bug 1774082)
Backed out changeset 7b03aa4c49d1 (bug 1774082)
2022-08-02 02:46:47 +03:00
Nicholas Rishel 97ac4311fd Bug 1774083 - Part 1: Add notificationserver.dll COM Server to handle Window's toast notifications. r=nalexander
This implements a COM Server and returns objects implementing INotificationActivationCallback. This allows Firefox notifications to be acted upon even after the main process exits.

COM objects require a (normally static) CLSID in the registry to be identified by other apps. To prevent CLSID duplication between parallel installs and portable/development builds, this implementation inspects the registry when a COM object CLSID is requested, and returns an object if the CLSID's InprocServer32 key matches the path of the DLL.

Differential Revision: https://phabricator.services.mozilla.com/D149182
2022-08-01 21:38:06 +00:00
Nick Alexander d00fde0e7a Bug 1774082 - Make installer and uninstaller add/remove Toast Notification to/from registry. r=bhearsum,nrishel
Differential Revision: https://phabricator.services.mozilla.com/D152145
2022-08-01 21:38:05 +00:00
Butkovits Atila 2d3fe7f943 Backed out 2 changesets (bug 1774082) for causing failure at test_windows_alert_service.js. CLOSED TREE
Backed out changeset a9553786b2ee (bug 1774082)
Backed out changeset da2ad41a6d10 (bug 1774082)
2022-08-01 01:40:13 +03:00
Nick Alexander 590ff33177 Bug 1774082 - Make installer and uninstaller add/remove Toast Notification to/from registry. r=bhearsum,nrishel
Differential Revision: https://phabricator.services.mozilla.com/D152145
2022-07-31 21:59:30 +00:00
Nick Alexander 1968f60af5 Bug 1776514 - Allow background tasks to enable Nimbus and Firefox Messaging System. r=barret,bytesized
This commit does several things:

1.  It configures a new Nimbus feature and corresponding message group
    `backgroundTaskMessage`.

2.  It configures `Firefox Messaging Experiments` to use the new
    Nimbus feature in background tasks.  The existing Remote Settings
    collection `nimbus-desktop-experiments` continues to be used.

    These configurations are achieved by setting preferences in
    `backgroundtasks_browser.js`, which is applied on top of
    `firefox.js` prefs by the preference service.  These preferences
    apply to every background task.

3.  It implements functions for enabling Nimbus and the Firefox
    Messaging System (and Messaging Experiments) that can be used by
    arbitrary background tasks.

    It is assumed (but not enforced here) that such tasks will use
    non-ephemeral (persistent) profiles, so that Remote Settings
    incremental sync, Nimbus bucketing, and Messaging System message
    limits, function as expected.

4.  It adds a new `message` background task specifically for testing
    background task messages.  Invoke the testing task with command
    lines like `firefox --backgroundtask message ...`.

    To ease testing, the framework accepts `--url about:studies?...`
    arguments from the Experimenter Web UI to explicitly opt-in to
    specific experiment branches.

    This task is complicated because it is intended both for QA to
    manually invoke, but also to be used by automated tests.

Eventually the existing `backgroundupdate` task will use the new
functions, just as the testing `message` task does.

Differential Revision: https://phabricator.services.mozilla.com/D150521
2022-07-22 04:42:13 +00:00
Butkovits Atila 8aa56f17be Backed out changeset e6ad35220e23 (bug 1776514) for causing failures at browser_all_files_referenced.js. CLOSED TREE 2022-07-22 07:06:35 +03:00
Nick Alexander 5cf7be7f97 Bug 1776514 - Allow background tasks to enable Nimbus and Firefox Messaging System. r=barret,bytesized
This commit does several things:

1.  It configures a new Nimbus feature and corresponding message group
    `backgroundTaskMessage`.

2.  It configures `Firefox Messaging Experiments` to use the new
    Nimbus feature in background tasks.  The existing Remote Settings
    collection `nimbus-desktop-experiments` continues to be used.

    These configurations are achieved by setting preferences in
    `backgroundtasks_browser.js`, which is applied on top of
    `firefox.js` prefs by the preference service.  These preferences
    apply to every background task.

3.  It implements functions for enabling Nimbus and the Firefox
    Messaging System (and Messaging Experiments) that can be used by
    arbitrary background tasks.

    It is assumed (but not enforced here) that such tasks will use
    non-ephemeral (persistent) profiles, so that Remote Settings
    incremental sync, Nimbus bucketing, and Messaging System message
    limits, function as expected.

4.  It adds a new `message` background task specifically for testing
    background task messages.  Invoke the testing task with command
    lines like `firefox --backgroundtask message ...`.

    To ease testing, the framework accepts `--url about:studies?...`
    arguments from the Experimenter Web UI to explicitly opt-in to
    specific experiment branches.

    This task is complicated because it is intended both for QA to
    manually invoke, but also to be used by automated tests.

Eventually the existing `backgroundupdate` task will use the new
functions, just as the testing `message` task does.

Differential Revision: https://phabricator.services.mozilla.com/D150521
2022-07-22 03:16:43 +00:00
Butkovits Atila 2837e8698a Backed out changeset b083e38b2ed9 (bug 1776514) for causing failure at browser_all_files_referenced.js. CLOSED TREE 2022-07-22 01:49:04 +03:00
Nick Alexander 168102a659 Bug 1776514 - Allow background tasks to enable Nimbus and Firefox Messaging System. r=barret,bytesized
This commit does several things:

1.  It configures a new Nimbus feature and corresponding message group
    `backgroundTaskMessage`.

2.  It configures `Firefox Messaging Experiments` to use the new
    Nimbus feature in background tasks.  The existing Remote Settings
    collection `nimbus-desktop-experiments` continues to be used.

    These configurations are achieved by setting preferences in
    `backgroundtasks_browser.js`, which is applied on top of
    `firefox.js` prefs by the preference service.  These preferences
    apply to every background task.

3.  It implements functions for enabling Nimbus and the Firefox
    Messaging System (and Messaging Experiments) that can be used by
    arbitrary background tasks.

    It is assumed (but not enforced here) that such tasks will use
    non-ephemeral (persistent) profiles, so that Remote Settings
    incremental sync, Nimbus bucketing, and Messaging System message
    limits, function as expected.

4.  It adds a new `message` background task specifically for testing
    background task messages.  Invoke the testing task with command
    lines like `firefox --backgroundtask message ...`.

    To ease testing, the framework accepts `--url about:studies?...`
    arguments from the Experimenter Web UI to explicitly opt-in to
    specific experiment branches.

    This task is complicated because it is intended both for QA to
    manually invoke, but also to be used by automated tests.

Eventually the existing `backgroundupdate` task will use the new
functions, just as the testing `message` task does.

Differential Revision: https://phabricator.services.mozilla.com/D150521
2022-07-21 21:31:13 +00:00
Ben Hearsum 17a20bb87e Bug 1778463: Firefox is pinned to the taskbar even though the "On my taskbar" checkbox is unchecked r=mhowell
The problem here ended up being that we lose the value of `AddTaskBarSC` once ExecCodeSegement is called -- which we do anytime we try to set ourselves as the default if the installer was run elevated.

Differential Revision: https://phabricator.services.mozilla.com/D151291
2022-07-11 12:09:06 +00:00
Ben Hearsum 6b90a75cab Bug 1778706: Fix typo in postSigningData removal in uninstaller r=bytesized
This file never has an extension.

Differential Revision: https://phabricator.services.mozilla.com/D151371
2022-07-08 16:51:28 +00:00
Ben Hearsum da13474f5b Bug 1771951: Add UI to the installer for opting out of Taskbar shortcut creation r=nalexander,flod
This includes some minor updates to the desktop and Start Menu strings from Content Design as well.

I also removed the now-useless quicklaunch option (which was only used pre-Windows 7).

Differential Revision: https://phabricator.services.mozilla.com/D148289
2022-06-27 16:40:34 +00:00
Ben Hearsum 0210e257d7 Bug 1771951: add pin to taskbar support in the installer on Windows 10 & 11 r=mhowell
This patch starts pinning Firefox to the Taskbar by default on all supported Windows versions. The main addition here is a port of our existing taskbar pinning code for modern Windows 10 & 11 versions to an NSIS plugin (compiled version also included).

After discussion with a few stakeholders, we also decided that we will never pin during an update on Windows 10 or 11. (Arguably we could stop on Windows 7 & 8 as well - but I don't really see any harm in carrying forward our pre-existing behaviour there.) With this in mind, I dropped all the second pinning attempt code (which was only ever enabled for Windows 10).

Differential Revision: https://phabricator.services.mozilla.com/D148288
2022-06-27 16:31:36 +00:00
Cristian Tuns 0ecf2c627a Backed out 2 changesets (bug 1771951) for causing build bustages on makensis.mk CLOSED TREE
Backed out changeset d5dc93904754 (bug 1771951)
Backed out changeset 9651db4a6e3f (bug 1771951)
2022-06-27 12:10:17 -04:00
Ben Hearsum c04f7cfc9b Bug 1771951: Add UI to the installer for opting out of Taskbar shortcut creation r=nalexander,flod
This includes some minor updates to the desktop and Start Menu strings from Content Design as well.

I also removed the now-useless quicklaunch option (which was only used pre-Windows 7).

Differential Revision: https://phabricator.services.mozilla.com/D148289
2022-06-27 15:52:25 +00:00
Ben Hearsum 7b7e16ab55 Bug 1771951: add pin to taskbar support in the installer on Windows 10 & 11 r=mhowell
This patch starts pinning Firefox to the Taskbar by default on all supported Windows versions. The main addition here is a port of our existing taskbar pinning code for modern Windows 10 & 11 versions to an NSIS plugin (compiled version also included).

After discussion with a few stakeholders, we also decided that we will never pin during an update on Windows 10 or 11. (Arguably we could stop on Windows 7 & 8 as well - but I don't really see any harm in carrying forward our pre-existing behaviour there.) With this in mind, I dropped all the second pinning attempt code (which was only ever enabled for Windows 10).

Differential Revision: https://phabricator.services.mozilla.com/D148288
2022-06-27 15:52:24 +00:00
smolnar 5095928f4d Merge mozilla-central to autoland. a=merge 2022-06-23 18:59:00 +03:00
Ben Hearsum 588bf8226f 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
smolnar 45ecfdfaa2 Backed out 2 changesets (bug 1771951) for causing bug 1776170. CLOSED TREE
Backed out changeset 3a789d06604f (bug 1771951)
Backed out changeset 59eac90984cb (bug 1771951)
2022-06-23 15:14:20 +03:00
Kris Maglione 23d4c575c6 Bug 1770237: Part 14 - Update URILoader parent handler service to use static component registration. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D148194
2022-06-22 20:31:36 +00:00
Kris Maglione 360a2f6d5c Bug 1770237: Part 8 - Remove legacy component registration for TestInterfaceJS. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D148188
2022-06-22 20:31:34 +00:00
Kris Maglione c4e585b525 Bug 1770237: Part 3 - Migrate StartupRecorder to static component registration. r=florian
Differential Revision: https://phabricator.services.mozilla.com/D148183
2022-06-22 20:31:32 +00:00
Kris Maglione b66351f3fb Bug 1770237: Part 2 - Migrate MacTouchBar to static component registration. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D148182
2022-06-22 20:31:32 +00:00
Ben Hearsum d919f20d46 Bug 1771951: Add UI to the installer for opting out of Taskbar shortcut creation r=nalexander,flod
This includes some minor updates to the desktop and Start Menu strings from Content Design as well.

I also removed the now-useless quicklaunch option (which was only used pre-Windows 7).

Differential Revision: https://phabricator.services.mozilla.com/D148289
2022-06-22 14:19:51 +00:00
Ben Hearsum fa35a4365f Bug 1771951: add pin to taskbar support in the installer on Windows 10 & 11 r=mhowell
This patch starts pinning Firefox to the Taskbar by default on all supported Windows versions. The main addition here is a port of our existing taskbar pinning code for modern Windows 10 & 11 versions to an NSIS plugin (compiled version also included).

After discussion with a few stakeholders, we also decided that we will never pin during an update on Windows 10 or 11. (Arguably we could stop on Windows 7 & 8 as well - but I don't really see any harm in carrying forward our pre-existing behaviour there.) With this in mind, I dropped all the second pinning attempt code (which was only ever enabled for Windows 10).

Differential Revision: https://phabricator.services.mozilla.com/D148288
2022-06-22 14:19:50 +00:00
Ben Hearsum 1e2cdbc725 Bug 1616355: attribution postSigningData should be per installation r=nalexander
about:newtab#asrouter actually depends on the ability to be able to write to postSigningData at the moment, so this will break that in any circumstance where the running Firefox cannot write to the installation directory. This code is only used for dev & qa testing though, and I've been told this is OK (and we may change how it works to avoid writing the file at all).

Differential Revision: https://phabricator.services.mozilla.com/D144167
2022-05-03 20:04:28 +00:00
Nick Alexander c8e73b46a9 Bug 1763824 - Always add/update `FirefoxPDF-*` ProgID in Windows PostUpdate. r=mhowell,bhearsum
This was simply an oversight on my part: I didn't appreciate that
freshly introduced ProgIDs need to be added or updated unconditionally
in PostUpdate.

I've tested this by copying the fresh `helper.exe` into an existing
installation directory, running `uninstall\helper.exe /PostUpdate`
manually, verifying the expected ProgIDs exist in HKCR, and then
verifying that "Make default" within Firefox succeeds.

At some point we should do the same for `FirefoxHTML-*` and
`FirefoxURL-*`, but this patch should be uplifted to Beta 100 and I
don't want to introduce additional risk.

Differential Revision: https://phabricator.services.mozilla.com/D143661
2022-04-14 21:12:39 +00:00
Nick Alexander b896fb72f7 Bug 1761389 - Add and use new PDF-specific document icon on Windows. r=bhearsum
The new icon is not channel-specific, but I've kept it in branding
since it's possible that we'll distinguish in the future.

Differential Revision: https://phabricator.services.mozilla.com/D142396
2022-04-01 20:29:18 +00:00
Nick Alexander fdcac688e9 Bug 1761389 - Pre: Use defines rather than inline numerals for icon indices. r=bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D142395
2022-04-01 20:29:18 +00:00
Marian-Vasile Laza 9bb9b0c036 Backed out changeset cd0595cee3e0 (bug 1762100) for breaking msi repacks (bug 1762172). 2022-03-30 11:16:28 -07:00
Nick Alexander 5a10b71bd1 Bug 1762100 - Part 4: Make MSIX have PDF-specific document description. r=bhearsum
In addition, this makes the other file associations have a non-default
description, like "Firefox HTML Document", which agrees (at least for
Release and Beta) with what the installer arranges.  (The Windows
default description is otherwise "HTML Document", "PDF Document",
etc.)

Differential Revision: https://phabricator.services.mozilla.com/D142304
2022-03-30 03:42:00 +00:00
Nick Alexander 6cf68a44ba Bug 1762100 - Part 2: Add and use `FirefoxPDF-...` file association. r=bhearsum
This is simply the mechanics of s/FirefoxHTML-.../FirefoxPDF-.../.  We
need this to alter the description ("Firefox PDF Document") and, in
subsequent commits, the display icon.

Generally I tried to keep alphabetical ordering: FirefoxHTML-...,
FirefoxPDF-..., FirefoxURL-...; and I generally tried to use the '-'
suffix to disambiguate the older FirefoxHTML from the newer suffixed
FirefoxHTML-... form.

Differential Revision: https://phabricator.services.mozilla.com/D142302
2022-03-30 03:41:59 +00:00
Ben Hearsum f2c03db490 Bug 1750987: Uninstaller support for Private Browsing enhancements. r=nalexander,mhowell
The most notable part of this is the rework of DeleteShortcuts to handle the new shortcuts logs in %PROGRAMDATA%.

Also of note is what we're not handling these new shortcuts in UpdateShortcutAppModelIDs/UpdateShortcutsBranding. As far as I can tell, these are one-off fixes to handle old shortcuts. Because we know that the new shortcut creation code will set from the start -- so there's no need to. This means that there's nothing to do during install or post-update.

Differential Revision: https://phabricator.services.mozilla.com/D139884
2022-03-21 16:35:41 +00:00
Nick Alexander f0a577a014 Bug 1752968 - Pre: Convert `MOZ_PACKAGER_MINIFY{_JS}` to `moz.configure`. r=firefox-build-system-reviewers,mhentges
There's no current use for setting `JS_BINARY` in `packager.mk`, so
remove it while we're here.  I elected to make it easy to add new file
types to minify rather than to make it easy to specify `JS_BINARY`,
since the latter mechanism is strictly more general and could be used
in future for things other than minification.

Differential Revision: https://phabricator.services.mozilla.com/D138364
2022-03-02 17:43:47 +00:00
Sylvestre Ledru caaedeee98 Bug 1753413 - fx doc: Remove whitespaces, trailing lines & windows CR r=andi,perftest-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D137741
2022-02-03 18:34:58 +00:00