Commit Graph

144 Commits

Author SHA1 Message Date
Alexandre Poirot
0f32f335e3 Bug 1789201 - [devtools] Expose Services as a global to all DevTools modules. r=perftest-reviewers,nchevobbe,julienw,AlexandruIonescu
This will help transition to ES Modules as this symbol is exposed to them.

$ sed -ie "/require(.Services.)/d" $(git grep -l 'require("Services")' devtools/)
$ sed -ie "/loader.lazyRequireGetter(this, .Services./d" $(git grep -l 'loader.lazyRequireGetter(this, "Services"' devtools/)
+ the edition of builtin-modules.js + eslintrc.js
+ manual eslint fixes
+ removal of devtools-services in the debugger, except for jest tests

Differential Revision: https://phabricator.services.mozilla.com/D156401
2022-09-09 07:22:51 +00:00
Mark Banner
73631b4520 Bug 1789254 - Migrate enterprisepolicies consumers to use ESM imports directly. r=mkaply,necko-reviewers,application-update-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D156464
2022-09-08 14:40:07 +00:00
Mark Banner
be3e5b9f71 Bug 1789254 - Migrate enterprisepolicies (browser and toolkit) to ESM. r=mkaply
Differential Revision: https://phabricator.services.mozilla.com/D156463
2022-09-08 14:40:06 +00:00
Norisz Fay
6008f8d423 Backed out 3 changesets (bug 1789254) for causing bc failures on browser_xpcom_graph_wait.js CLOSED TREE
Backed out changeset bea1e1ba4a14 (bug 1789254)
Backed out changeset 4086aaa5f3d0 (bug 1789254)
Backed out changeset 131cac1d1146 (bug 1789254)
2022-09-08 17:14:00 +03:00
Mark Banner
e8c3c1e5b4 Bug 1789254 - Migrate enterprisepolicies consumers to use ESM imports directly. r=mkaply,necko-reviewers,application-update-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D156464
2022-09-08 12:43:32 +00:00
Nick Alexander
5025b0ded2 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
Marian-Vasile Laza
48f9a164c7 Backed out 5 changesets (bug 1781929, bug 1784367) for causing bc test failures. CLOSED TREE
Backed out changeset 34003f6f7b27 (bug 1781929)
Backed out changeset 8e6fe1c18e8d (bug 1781929)
Backed out changeset e50432e37751 (bug 1781929)
Backed out changeset abf6eff708d8 (bug 1781929)
Backed out changeset 15fec49b7587 (bug 1784367)
2022-09-03 02:26:04 +03:00
Nick Alexander
6249d25e59 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-02 20:22:51 +00:00
Valentin Gosu
57b46200de Bug 1705676 - Ignore errors when closing stdin in BackgroundTasksTestUtils r=nalexander
Depends on D132165

Differential Revision: https://phabricator.services.mozilla.com/D153952
2022-08-15 07:07:46 +00:00
Nick Alexander
7e987a7e1b Bug 1784117 - Lift default profile targeting to Nimbus in background tasks. r=barret
This was oversight.  In background tasks, I took some care to provide
the snapshot of the default profile's targeting state to the Firefox
Messaging System, but it also needs to be provided to Nimbus to filter
experiments directly.

For expedience, I provide an extra targeting context object to
`ExperimentManager.onStartup`.

The targeting contexts for Nimbus proper and Firefox Messaging System
are somewhat independent; that's why the triggering context remains in
the invocation of `sendTriggerMessage`.

Depends on D154308

Differential Revision: https://phabricator.services.mozilla.com/D154309
2022-08-11 17:39:53 +00:00
Nick Alexander
3b07c53c57 Bug 1784117 - Pre: Fix typoes. r=barret,application-update-reviewers,bytesized
Differential Revision: https://phabricator.services.mozilla.com/D154308
2022-08-11 17:39:53 +00:00
Nick Alexander
b5cdc9a2e8 Bug 1781952 - Pre: Fix typo. r=bytesized
Differential Revision: https://phabricator.services.mozilla.com/D152947
2022-08-05 03:51:55 +00:00
Barret Rennie
d8aa23c948 Bug 1782136 - Filter Nimbus recipes based on app ID r=emcminn,nalexander
Nimbus features can now specify a list of applications they support (defaulting
to firefox-desktop). Enrollment for a given recipe will only occur if the
application supports all the features listed in the experiment. This allows
Firefox Desktop and the background task service to have different sets of
features, which prevents Firefox from enrolling in backgroundTaskMessage
experiments and the background task service from enrolling in experiments
intended for Firefox Desktop.

Differential Revision: https://phabricator.services.mozilla.com/D153119
2022-08-04 21:43:15 +00:00
Barret Rennie
9e4607afa5 Bug 1772928 - Port osfile.jsm usage to IOUtils in toolkit/components/backgroundtasks/ r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D153709
2022-08-04 19:58:30 +00:00
Barret Rennie
aeb738dbd5 Bug 1782148 - Fix up imports of XPCOMUtils in ToastNotification code r=nalexander
This also removes the import of Services.jsm since it is no longer required as
of bug 1667455.

Differential Revision: https://phabricator.services.mozilla.com/D153130
2022-08-03 16:30:17 +00:00
Nika Layzell
b14d1318e0 Bug 1772006 - Part 4: Simplify and move the string comparison APIs from ns[T]StringObsolete, r=xpcom-reviewers,necko-reviewers,dragana,barret
This patch moves EqualsIgnoreCase to ns[T]StringObsolete, and removes
the aCount argument, instead migrating callers to use `StringBeginsWith`
with a case-insensitive comparator.

In addition, nsTStringRepr::Compare was removed and replaced with either
calls to methods like `StringBeginsWith` or the global `Compare` method.

These changes required some modifications at call-sites but should make
the behaviour less surprising and more consistent.

Differential Revision: https://phabricator.services.mozilla.com/D148299
2022-07-30 00:12:48 +00:00
Nick Alexander
770d26e84e 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
14acd83640 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
2d3f9c32f8 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
1aa2668d63 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
c455022de9 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
Iulian Moraru
df431be6b8 Backed out 3 changesets (bug 1780074, bug 1780347) for causing multiple failures. CLOSED TREE
Backed out changeset ee4c4d34816c (bug 1780347)
Backed out changeset a13d3939b98a (bug 1780074)
Backed out changeset 3bc739f7de43 (bug 1780074)
2022-07-20 14:57:48 +03:00
Mark Banner
9e59e52e55 Bug 1780074 - Migrate newtab consumers to use ESM imports directly. r=daleharvey,application-update-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D152114
2022-07-20 10:36:52 +00:00
Nick Alexander
ef96062919 Bug 1775132 - Part 2: Allow background tasks to have non-ephemeral persistent profiles. r=mossop
This is a little tricky since some behaviour must be in the profile
service while some is more naturally in the background tasks mechanism.
Essentially, some background tasks will have a consistent profile
location determined by their "profile prefix", which includes vendor,
installation hash, and background task name.  Right now, those tasks are
determined by their task name, but in the future we could make this more
flexible.

A few technical notes:

1.  I elected to not assume (or provide) a directory service provider
    in the relevant helper, mostly to ease future commits that might
    pull this functionality forward in the startup process.
2.  These background task profiles are placed in "Background Tasks
    Profiles" on relevant platforms (non-Unix and macOS), sibling to
    "Profiles".
3.  To avoid any possible vulnerability with predictable profile
    directories, these non-ephemeral background task profiles are
    salted.  An entry is placed in the `BackgroundTasksProfiles` section
    of `profiles.ini` mapping the profile prefix to the relative salted
    path.

Differential Revision: https://phabricator.services.mozilla.com/D149919
2022-07-13 20:12:12 +00:00
Nick Alexander
f3ccda3906 Bug 1775132 - Part 1: Make profile service select background task profile directory. r=mossop
This allows the profile service to handle `XRE_PROFILE_PATH`,
`--profile`, etc as normal before choosing a "default" background task
profile directory.

Differential Revision: https://phabricator.services.mozilla.com/D149918
2022-07-13 20:12:12 +00:00
Nick Alexander
5539b6e521 Bug 1775132 - Pre: Prefer "ephemeral" to "temporary" profiles in background tasks. r=nrishel
Temporary profiles mean different things in different contexts; for
example, the term is used in testing and the test harnesses.

I think ephemeral conveys what we're after well and will be easier to
search for.

Differential Revision: https://phabricator.services.mozilla.com/D149917
2022-07-13 20:12:11 +00:00
Tooru Fujisawa
056fb76f66 Bug 1777486 - Part 6: Update testcase that monitors XPCOMUtils imports. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D151218
2022-07-12 04:21:36 +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
b2feb1bee9 Bug 1777486 - Part 10: Migrate more XPCOMUtils.jsm consumer CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D151520
2022-07-11 16:25:35 +00:00
Tooru Fujisawa
a71c772322 Bug 1777486 - Part 6: Update testcase that monitors XPCOMUtils imports. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D151218
2022-07-11 15:09:15 +00: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
532659290f Bug 1667455 - Part 24: Remove Services.jsm reference in testcase that monitors module loading. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D151428
2022-07-11 12:41:58 +00:00
Tooru Fujisawa
48c568867c Bug 1667455 - Part 5: Stop importing Services.jsm from chrome-priv JS code, top-level single-line cases. r=kmag,webdriver-reviewers,perftest-reviewers,webcompat-reviewers,geckoview-reviewers,extension-reviewers,application-update-reviewers,pip-reviewers,twisniewski,m_kato,jdescottes,mconley,AlexandruIonescu,mossop
Differential Revision: https://phabricator.services.mozilla.com/D150894
2022-07-11 12:41:50 +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
Nick Alexander
bc3f197c8b Bug 1775138 - Part 3: Consume default profile Firefox Messaging System targeting in background tasks. r=barret
The default browsing profile's targeting snapshot is read using the
standard `BackgroundTasksUtils.jsm` helpers, which allow setting the
profile location for testing.

The targeting snapshot is provided in the triggering context under
`defaultProfile`, allowing both the background task profile's
targeting (for things like current Firefox version and `currentDate`)
and the default browsing profile's targeting (for things like the
snapshot's `currentDate` and add-ons).

Differential Revision: https://phabricator.services.mozilla.com/D151090
2022-07-08 20:36:09 +00:00
Nick Alexander
6395b2359f Bug 1775138 - Part 2: Ensure ASRouterTargeting.Environment can be used in background tasks. r=barret
We take a simple approach:

1.  We add a test to verify that all getters succeed in background
    task mode (save for an exclusion list of getters that access
    non-local hosts).
2.  We make certain getters background task-aware: for example,
    because they require the `AddonsManager` or legacy Telemetry.

This will allow background tasks to access their own targeting as well
as a snapshot of the default profile's targeting.

Differential Revision: https://phabricator.services.mozilla.com/D151089
2022-07-08 20:36:09 +00:00
Nick Alexander
7b8906aaff Bug 1778233 - Avoid macOS crash in background tasks mode due to racing shutdown and font list initialization. r=jfkthame
Background tasks can exit very quickly, exacerbating this latent race.

Differential Revision: https://phabricator.services.mozilla.com/D151088
2022-07-06 17:31:35 +00:00
Geoff Lankow
caec1ded15 Bug 1777378 - Stop a toolkit test failing on Thunderbird because of a browser L10n file. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D150926
2022-07-04 23:04:36 +00:00
Kris Maglione
dce1cd0d12 Bug 1773770: Part 9 - Migrate widget component content proxies to static registration. r=mccr8
Several widget contracts use different implementations in the parent and
content processes. Since the static registration system builds its hashtable
at compile time rather than runtime, it doesn't support different contract IDs
per process. It could make the decision at lookup time, but given how rarely
it's needed, I don't think it would be worth the complexity.

This patch updates the widget components that need different implementations
in the parent and content process to register separate contracts for each
implementation, and a third stub contract which forwards to the appropriate
implementation depending on which process it's used in. The implementation
entries restrict their usage to the process they are meant to be used in.

Differential Revision: https://phabricator.services.mozilla.com/D149436
2022-06-30 09:12:18 +00:00
Nick Alexander
3039149f5a Bug 1775393 - Enable Fluent localization in background tasks. r=mossop
The chrome manifest flag parsing is not particularly flexible.  It's
easiest to duplicate the manifest entries rather than further adjust
the parser.

Differential Revision: https://phabricator.services.mozilla.com/D149950
2022-06-26 23:38:45 +00:00
Noemi Erli
4461eb9462 Backed out 11 changesets (bug 1773770) because shouldn't have been landed during a soft freeze CLOSED TREE
Backed out changeset ede55d570d1e (bug 1773770)
Backed out changeset d5374ef362c2 (bug 1773770)
Backed out changeset 26e47956508b (bug 1773770)
Backed out changeset c78f0c4c8f3f (bug 1773770)
Backed out changeset 9089a97bcb26 (bug 1773770)
Backed out changeset 17894f5b3b41 (bug 1773770)
Backed out changeset 986a64a9e6b4 (bug 1773770)
Backed out changeset 7a63d8676bf0 (bug 1773770)
Backed out changeset 38e7b99ffbed (bug 1773770)
Backed out changeset e9ad07c96ab2 (bug 1773770)
Backed out changeset 2a8f65417b66 (bug 1773770)
2022-06-24 20:03:43 +03:00
Kris Maglione
277d8aa0f1 Bug 1773770: Part 9 - Migrate widget component content proxies to static registration. r=mccr8
Several widget contracts use different implementations in the parent and
content processes. Since the static registration system builds its hashtable
at compile time rather than runtime, it doesn't support different contract IDs
per process. It could make the decision at lookup time, but given how rarely
it's needed, I don't think it would be worth the complexity.

This patch updates the widget components that need different implementations
in the parent and content process to register separate contracts for each
implementation, and a third stub contract which forwards to the appropriate
implementation depending on which process it's used in. The implementation
entries restrict their usage to the process they are meant to be used in.

Differential Revision: https://phabricator.services.mozilla.com/D149436
2022-06-24 07:10:18 +00:00
criss
ac555d5ef5 Backed out 11 changesets (bug 1773770) for causing mochitest failures on test_bug466599.xhtml. CLOSED TREE
Backed out changeset d35762c3242d (bug 1773770)
Backed out changeset 0501c85d3f58 (bug 1773770)
Backed out changeset cdd28e0e3434 (bug 1773770)
Backed out changeset a48829529dd0 (bug 1773770)
Backed out changeset c3fcdd7e88e5 (bug 1773770)
Backed out changeset 8f334c5dc0cd (bug 1773770)
Backed out changeset 337e76b67647 (bug 1773770)
Backed out changeset 71f539b482ba (bug 1773770)
Backed out changeset b996cbbbc2f5 (bug 1773770)
Backed out changeset a6ddc3cdc9ba (bug 1773770)
Backed out changeset c8d7da3cf2ac (bug 1773770)
2022-06-24 08:12:40 +03:00
Kris Maglione
36b74e65b1 Bug 1773770: Part 9 - Migrate widget component content proxies to static registration. r=mccr8
Several widget contracts use different implementations in the parent and
content processes. Since the static registration system builds its hashtable
at compile time rather than runtime, it doesn't support different contract IDs
per process. It could make the decision at lookup time, but given how rarely
it's needed, I don't think it would be worth the complexity.

This patch updates the widget components that need different implementations
in the parent and content process to register separate contracts for each
implementation, and a third stub contract which forwards to the appropriate
implementation depending on which process it's used in. The implementation
entries restrict their usage to the process they are meant to be used in.

Differential Revision: https://phabricator.services.mozilla.com/D149436
2022-06-24 00:47:45 +00:00
Marian-Vasile Laza
190cc26468 Backed out 11 changesets (bug 1773770) for causing bc failures on browser_xpcom_graph_wait.js. CLOSED TREE
Backed out changeset 72ace9ee39ae (bug 1773770)
Backed out changeset e8a3a040b4c4 (bug 1773770)
Backed out changeset 4ff5f4f0f5d1 (bug 1773770)
Backed out changeset f96e9664168d (bug 1773770)
Backed out changeset b6a696897ca8 (bug 1773770)
Backed out changeset 1b8ad6be2dce (bug 1773770)
Backed out changeset 7e3a1a32a88d (bug 1773770)
Backed out changeset 6dbe5fa1ad4f (bug 1773770)
Backed out changeset 86e09dcdadde (bug 1773770)
Backed out changeset 1ee8d852d9d5 (bug 1773770)
Backed out changeset c99e93023059 (bug 1773770)
2022-06-24 03:25:34 +03:00
Kris Maglione
5458694dc6 Bug 1773770: Part 9 - Migrate widget component content proxies to static registration. r=mccr8
Several widget contracts use different implementations in the parent and
content processes. Since the static registration system builds its hashtable
at compile time rather than runtime, it doesn't support different contract IDs
per process. It could make the decision at lookup time, but given how rarely
it's needed, I don't think it would be worth the complexity.

This patch updates the widget components that need different implementations
in the parent and content process to register separate contracts for each
implementation, and a third stub contract which forwards to the appropriate
implementation depending on which process it's used in. The implementation
entries restrict their usage to the process they are meant to be used in.

Differential Revision: https://phabricator.services.mozilla.com/D149436
2022-06-23 23:05:36 +00:00
Kris Maglione
b090beee3a Bug 1770237: Part 16 - Remove component loading logic from mozJSComponentLoader. r=mccr8,florian
Differential Revision: https://phabricator.services.mozilla.com/D148196
2022-06-22 20:31:37 +00:00
Tooru Fujisawa
8f9bf2f553 Bug 1608282 - Part 3: Remove Cu.importGlobalProperties from JSM. r=extension-reviewers,kmag
Depends on D149195

Differential Revision: https://phabricator.services.mozilla.com/D149196
2022-06-16 00:19:54 +00:00
Butkovits Atila
0642580e74 Backed out 4 changesets (bug 1608282) for causing hazard failures. CLOSED TREE
Backed out changeset 32aebc8be201 (bug 1608282)
Backed out changeset 37c970364269 (bug 1608282)
Backed out changeset ced8d82cc2d2 (bug 1608282)
Backed out changeset e26e480c7dd6 (bug 1608282)
2022-06-16 03:10:02 +03:00