gecko-dev/toolkit
Nick Alexander f7cb13e745 Bug 1781929 - Part 4: Pass through or launch Firefox from notification server. r=nrishel
When the notification server callback is executed by the Windows
notification system, it invokes Firefox with additional command line
parameters, most importantly the Windows-specific notification
"Windows tag".

If no appropriate Firefox is running, the command line will be
processed, the provided Windows tag will be inspected (and seen to not
be registered with this running Firefox instance) and a "launch URL"
stored as part of the Windows notification itself opened (if one is
provided).

If an appropriate Firefox is running, the remoting protocol will
forward this command line to the running instance.  If the instance
recognizes the provided `--notification-windowsTag`, the command line
will be ignored.  When the notification server exits, Windows will
fallback to the Windows 8.1 style notification callbacks registered
for this Windows tag and the existing (non notification server)
behaviour will occur.

In fact, the server therefore waits for a Windows tag-specific system
event to be signalled by the invoked Firefox (or a sibling process).
If we were to return `S_OK` from the notification server immediately,
and a running Firefox process would handle the notification via
Windows 8.1-style notification callbacks, then Windows would fall back
to those callbacks.  The invoked callbacks unregister themselves upon
completion, often before the launched Firefox has an opportunity to
process the command line.  By waiting for this system event, we allow
the invoked Firefox to process the command line while its own
notification callbacks are registered and therefore recognize that its
callbacks will handle the notification.

Differential Revision: https://phabricator.services.mozilla.com/D154468
2022-09-03 22:49:02 +00:00
..
actors Bug 1788933 - Convert View Source toolkit JSWindowActors from JSMs to ESMs. r=nchevobbe 2022-09-02 16:01:58 +00:00
components Bug 1781929 - Part 4: Pass through or launch Firefox from notification server. r=nrishel 2022-09-03 22:49:02 +00:00
content Bug 1788273 - Tweak popup alignment so that it looks good on mirrored wayland popups. r=dao,mak 2022-09-02 20:26:29 +00:00
crashreporter Bug 1777198 - Improve IPCShutdownState annotation. r=gsvelto 2022-09-01 09:43:37 +00:00
docs
library Bug 1788412 - Add support generating UniFFi for custom types r=bdk,supply-chain-reviewers 2022-09-02 02:56:12 +00:00
locales Bug 1785738 - part1 : add new type of utility process. r=bobowen,gerard-majax,fluent-reviewers,flod 2022-09-03 00:53:58 +00:00
modules Bug 1788273 - Tweak popup alignment so that it looks good on mirrored wayland popups. r=dao,mak 2022-09-02 20:26:29 +00:00
mozapps Bug 1781929 - Part 4: Pass through or launch Firefox from notification server. r=nrishel 2022-09-03 22:49:02 +00:00
profile Bug 1782008 - Remove now unnecessary .eslintrc.js files. r=webcompat-reviewers,extension-reviewers,media-playback-reviewers,pip-reviewers,denschub,rpl,alwu,mossop 2022-08-03 11:16:20 +00:00
system Bug 1772006 - Part 5: Simplify and move the string searching APIs from ns[T]StringObsolete, r=xpcom-reviewers,necko-reviewers,eeejay,dragana,barret 2022-07-30 00:12:48 +00:00
themes Bug 1788273 - Tweak popup alignment so that it looks good on mirrored wayland popups. r=dao,mak 2022-09-02 20:26:29 +00:00
xre Bug 1716727 - patchset #3 [1/1] - Cleanup: remove intermediate function r=glandium 2022-08-25 14:44:47 +00:00
.eslintrc.js
l10n-registry.manifest Bug 1775393 - Enable Fluent localization in background tasks. r=mossop 2022-06-26 23:38:45 +00:00
moz.build Bug 1782837 - Add MOZ_NOTIFICATION_SERVER; don't build notification server under MinGW. r=firefox-build-system-reviewers,glandium 2022-08-18 16:31:09 +00:00
moz.configure Bug 1765480 - Regenerate config* files for ffvpx on all platforms needed, splitting off config_components.h. r=alwu 2022-08-23 14:19:24 +00:00
toolkit.mozbuild