Bug 1788954 - Convert toolkit/components/nimbus to ES modules r=Standard8,pip-reviewers,credential-management-reviewers,sgalich

Differential Revision: https://phabricator.services.mozilla.com/D172850
This commit is contained in:
Barret Rennie
2023-03-30 20:51:58 +00:00
parent 710a74458d
commit f7a4fadf48
111 changed files with 329 additions and 473 deletions

View File

@@ -10,8 +10,8 @@ import { PrivateBrowsingUtils } from "resource://gre/modules/PrivateBrowsingUtil
const lazy = {}; const lazy = {};
XPCOMUtils.defineLazyModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm", NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
}); });
XPCOMUtils.defineLazyPreferenceGetter( XPCOMUtils.defineLazyPreferenceGetter(

View File

@@ -3,15 +3,13 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
import { RemotePageChild } from "resource://gre/actors/RemotePageChild.sys.mjs"; import { RemotePageChild } from "resource://gre/actors/RemotePageChild.sys.mjs";
const lazy = {}; const lazy = {};
XPCOMUtils.defineLazyModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm", NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm", ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
}); });
export class AboutPrivateBrowsingChild extends RemotePageChild { export class AboutPrivateBrowsingChild extends RemotePageChild {

View File

@@ -9,15 +9,11 @@ const { UIState } = ChromeUtils.importESModule(
"resource://services-sync/UIState.sys.mjs" "resource://services-sync/UIState.sys.mjs"
); );
ChromeUtils.defineModuleGetter(
this,
"ExperimentAPI",
"resource://nimbus/ExperimentAPI.jsm"
);
ChromeUtils.defineESModuleGetters(this, { ChromeUtils.defineESModuleGetters(this, {
EnsureFxAccountsWebChannel: EnsureFxAccountsWebChannel:
"resource://gre/modules/FxAccountsWebChannel.sys.mjs", "resource://gre/modules/FxAccountsWebChannel.sys.mjs",
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
FxAccounts: "resource://gre/modules/FxAccounts.sys.mjs", FxAccounts: "resource://gre/modules/FxAccounts.sys.mjs",
SyncedTabs: "resource://services-sync/SyncedTabs.sys.mjs", SyncedTabs: "resource://services-sync/SyncedTabs.sys.mjs",
Weave: "resource://services-sync/main.sys.mjs", Weave: "resource://services-sync/main.sys.mjs",

View File

@@ -32,6 +32,7 @@ ChromeUtils.defineESModuleGetters(this, {
Log: "resource://gre/modules/Log.sys.mjs", Log: "resource://gre/modules/Log.sys.mjs",
MigrationUtils: "resource:///modules/MigrationUtils.sys.mjs", MigrationUtils: "resource:///modules/MigrationUtils.sys.mjs",
NewTabUtils: "resource://gre/modules/NewTabUtils.sys.mjs", NewTabUtils: "resource://gre/modules/NewTabUtils.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
PictureInPicture: "resource://gre/modules/PictureInPicture.sys.mjs", PictureInPicture: "resource://gre/modules/PictureInPicture.sys.mjs",
PlacesTransactions: "resource://gre/modules/PlacesTransactions.sys.mjs", PlacesTransactions: "resource://gre/modules/PlacesTransactions.sys.mjs",
PlacesUIUtils: "resource:///modules/PlacesUIUtils.sys.mjs", PlacesUIUtils: "resource:///modules/PlacesUIUtils.sys.mjs",
@@ -78,7 +79,6 @@ XPCOMUtils.defineLazyModuleGetters(this, {
CFRPageActions: "resource://activity-stream/lib/CFRPageActions.jsm", CFRPageActions: "resource://activity-stream/lib/CFRPageActions.jsm",
CustomizableUI: "resource:///modules/CustomizableUI.jsm", CustomizableUI: "resource:///modules/CustomizableUI.jsm",
DownloadUtils: "resource://gre/modules/DownloadUtils.jsm", DownloadUtils: "resource://gre/modules/DownloadUtils.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
ExtensionsUI: "resource:///modules/ExtensionsUI.jsm", ExtensionsUI: "resource:///modules/ExtensionsUI.jsm",
HomePage: "resource:///modules/HomePage.jsm", HomePage: "resource:///modules/HomePage.jsm",
LoginHelper: "resource://gre/modules/LoginHelper.jsm", LoginHelper: "resource://gre/modules/LoginHelper.jsm",

View File

@@ -5,8 +5,8 @@
/* eslint-env mozilla/browser-window */ /* eslint-env mozilla/browser-window */
XPCOMUtils.defineLazyModuleGetters(this, { ChromeUtils.defineESModuleGetters(this, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm", NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
}); });
let delayedStartupTimeoutId = null; let delayedStartupTimeoutId = null;

View File

@@ -3,11 +3,11 @@
"use strict"; "use strict";
const { ExperimentAPI } = ChromeUtils.import( const { ExperimentAPI } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.jsm" "resource://nimbus/ExperimentAPI.sys.mjs"
); );
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
add_task(async function() { add_task(async function() {

View File

@@ -9,6 +9,7 @@ const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
FirstStartup: "resource://gre/modules/FirstStartup.sys.mjs", FirstStartup: "resource://gre/modules/FirstStartup.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs", PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
SessionStartup: "resource:///modules/sessionstore/SessionStartup.sys.mjs", SessionStartup: "resource:///modules/sessionstore/SessionStartup.sys.mjs",
UpdatePing: "resource://gre/modules/UpdatePing.sys.mjs", UpdatePing: "resource://gre/modules/UpdatePing.sys.mjs",
@@ -19,7 +20,6 @@ XPCOMUtils.defineLazyModuleGetters(lazy, {
HeadlessShell: "resource:///modules/HeadlessShell.jsm", HeadlessShell: "resource:///modules/HeadlessShell.jsm",
HomePage: "resource:///modules/HomePage.jsm", HomePage: "resource:///modules/HomePage.jsm",
LaterRun: "resource:///modules/LaterRun.jsm", LaterRun: "resource:///modules/LaterRun.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
ShellService: "resource:///modules/ShellService.jsm", ShellService: "resource:///modules/ShellService.jsm",
}); });
XPCOMUtils.defineLazyServiceGetters(lazy, { XPCOMUtils.defineLazyServiceGetters(lazy, {

View File

@@ -37,6 +37,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
Log: "resource://gre/modules/Log.sys.mjs", Log: "resource://gre/modules/Log.sys.mjs",
LoginBreaches: "resource:///modules/LoginBreaches.sys.mjs", LoginBreaches: "resource:///modules/LoginBreaches.sys.mjs",
NewTabUtils: "resource://gre/modules/NewTabUtils.sys.mjs", NewTabUtils: "resource://gre/modules/NewTabUtils.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
OsEnvironment: "resource://gre/modules/OsEnvironment.sys.mjs", OsEnvironment: "resource://gre/modules/OsEnvironment.sys.mjs",
PageDataService: "resource:///modules/pagedata/PageDataService.sys.mjs", PageDataService: "resource:///modules/pagedata/PageDataService.sys.mjs",
PdfJs: "resource://pdf.js/PdfJs.sys.mjs", PdfJs: "resource://pdf.js/PdfJs.sys.mjs",
@@ -91,7 +92,6 @@ XPCOMUtils.defineLazyModuleGetters(lazy, {
ExtensionsUI: "resource:///modules/ExtensionsUI.jsm", ExtensionsUI: "resource:///modules/ExtensionsUI.jsm",
HomePage: "resource:///modules/HomePage.jsm", HomePage: "resource:///modules/HomePage.jsm",
NetUtil: "resource://gre/modules/NetUtil.jsm", NetUtil: "resource://gre/modules/NetUtil.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
Normandy: "resource://normandy/Normandy.jsm", Normandy: "resource://normandy/Normandy.jsm",
OnboardingMessageProvider: OnboardingMessageProvider:

View File

@@ -15,17 +15,14 @@ ChromeUtils.defineESModuleGetters(lazy, {
AsyncShutdown: "resource://gre/modules/AsyncShutdown.sys.mjs", AsyncShutdown: "resource://gre/modules/AsyncShutdown.sys.mjs",
ClientID: "resource://gre/modules/ClientID.sys.mjs", ClientID: "resource://gre/modules/ClientID.sys.mjs",
DoHConfigController: "resource:///modules/DoHConfig.sys.mjs", DoHConfigController: "resource:///modules/DoHConfig.sys.mjs",
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
Heuristics: "resource:///modules/DoHHeuristics.sys.mjs", Heuristics: "resource:///modules/DoHHeuristics.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
Preferences: "resource://gre/modules/Preferences.sys.mjs", Preferences: "resource://gre/modules/Preferences.sys.mjs",
clearTimeout: "resource://gre/modules/Timer.sys.mjs", clearTimeout: "resource://gre/modules/Timer.sys.mjs",
setTimeout: "resource://gre/modules/Timer.sys.mjs", setTimeout: "resource://gre/modules/Timer.sys.mjs",
}); });
XPCOMUtils.defineLazyModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm",
});
// When this is set we suppress automatic TRR selection beyond dry-run as well // When this is set we suppress automatic TRR selection beyond dry-run as well
// as sending observer notifications during heuristics throttling. // as sending observer notifications during heuristics throttling.
XPCOMUtils.defineLazyPreferenceGetter( XPCOMUtils.defineLazyPreferenceGetter(

View File

@@ -9,8 +9,8 @@ const { AddonTestUtils } = ChromeUtils.import(
const { SearchTestUtils } = ChromeUtils.importESModule( const { SearchTestUtils } = ChromeUtils.importESModule(
"resource://testing-common/SearchTestUtils.sys.mjs" "resource://testing-common/SearchTestUtils.sys.mjs"
); );
const { NimbusFeatures } = ChromeUtils.import( const { NimbusFeatures } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.jsm" "resource://nimbus/ExperimentAPI.sys.mjs"
); );
const { sinon } = ChromeUtils.importESModule( const { sinon } = ChromeUtils.importESModule(
"resource://testing-common/Sinon.sys.mjs" "resource://testing-common/Sinon.sys.mjs"

View File

@@ -42,8 +42,8 @@ const { E10SUtils } = ChromeUtils.importESModule(
const lazy = {}; const lazy = {};
XPCOMUtils.defineLazyModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm", NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
}); });
/** /**

View File

@@ -12,11 +12,14 @@ const { XPCOMUtils } = ChromeUtils.importESModule(
const lazy = {}; const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
});
XPCOMUtils.defineLazyModuleGetters(lazy, { XPCOMUtils.defineLazyModuleGetters(lazy, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm",
AboutWelcomeDefaults: AboutWelcomeDefaults:
"resource://activity-stream/aboutwelcome/lib/AboutWelcomeDefaults.jsm", "resource://activity-stream/aboutwelcome/lib/AboutWelcomeDefaults.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
}); });
XPCOMUtils.defineLazyGetter(lazy, "log", () => { XPCOMUtils.defineLazyGetter(lazy, "log", () => {

View File

@@ -14,7 +14,9 @@ const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
Downloader: "resource://services-settings/Attachments.sys.mjs", Downloader: "resource://services-settings/Attachments.sys.mjs",
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
MacAttribution: "resource:///modules/MacAttribution.sys.mjs", MacAttribution: "resource:///modules/MacAttribution.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
SpecialMessageActions: SpecialMessageActions:
"resource://messaging-system/lib/SpecialMessageActions.sys.mjs", "resource://messaging-system/lib/SpecialMessageActions.sys.mjs",
TargetingContext: "resource://messaging-system/targeting/Targeting.sys.mjs", TargetingContext: "resource://messaging-system/targeting/Targeting.sys.mjs",
@@ -38,9 +40,7 @@ XPCOMUtils.defineLazyModuleGetters(lazy, {
"resource://activity-stream/lib/ASRouterTriggerListeners.jsm", "resource://activity-stream/lib/ASRouterTriggerListeners.jsm",
KintoHttpClient: "resource://services-common/kinto-http-client.js", KintoHttpClient: "resource://services-common/kinto-http-client.js",
RemoteL10n: "resource://activity-stream/lib/RemoteL10n.jsm", RemoteL10n: "resource://activity-stream/lib/RemoteL10n.jsm",
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm",
setTimeout: "resource://gre/modules/Timer.jsm", setTimeout: "resource://gre/modules/Timer.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
Utils: "resource://services-settings/Utils.jsm", Utils: "resource://services-settings/Utils.jsm",
}); });
XPCOMUtils.defineLazyServiceGetters(lazy, { XPCOMUtils.defineLazyServiceGetters(lazy, {

View File

@@ -24,6 +24,7 @@ const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
AttributionCode: "resource:///modules/AttributionCode.sys.mjs", AttributionCode: "resource:///modules/AttributionCode.sys.mjs",
BuiltInThemes: "resource:///modules/BuiltInThemes.sys.mjs", BuiltInThemes: "resource:///modules/BuiltInThemes.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
ProfileAge: "resource://gre/modules/ProfileAge.sys.mjs", ProfileAge: "resource://gre/modules/ProfileAge.sys.mjs",
Region: "resource://gre/modules/Region.sys.mjs", Region: "resource://gre/modules/Region.sys.mjs",
TargetingContext: "resource://messaging-system/targeting/Targeting.sys.mjs", TargetingContext: "resource://messaging-system/targeting/Targeting.sys.mjs",
@@ -38,7 +39,6 @@ XPCOMUtils.defineLazyModuleGetters(lazy, {
HomePage: "resource:///modules/HomePage.jsm", HomePage: "resource:///modules/HomePage.jsm",
AboutNewTab: "resource:///modules/AboutNewTab.jsm", AboutNewTab: "resource:///modules/AboutNewTab.jsm",
BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.jsm", BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
}); });
ChromeUtils.defineModuleGetter( ChromeUtils.defineModuleGetter(

View File

@@ -3,9 +3,6 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict"; "use strict";
const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
const { actionTypes: at, actionCreators: ac } = ChromeUtils.importESModule( const { actionTypes: at, actionCreators: ac } = ChromeUtils.importESModule(
"resource://activity-stream/common/Actions.sys.mjs" "resource://activity-stream/common/Actions.sys.mjs"
); );
@@ -15,8 +12,8 @@ const PREFERENCES_LOADED_EVENT = "home-pane-loaded";
const lazy = {}; const lazy = {};
XPCOMUtils.defineLazyModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm", NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
}); });
// These "section" objects are formatted in a way to be similar to the ones from // These "section" objects are formatted in a way to be similar to the ones from

View File

@@ -5,6 +5,7 @@
const lazy = {}; const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
NewTabUtils: "resource://gre/modules/NewTabUtils.sys.mjs", NewTabUtils: "resource://gre/modules/NewTabUtils.sys.mjs",
Region: "resource://gre/modules/Region.sys.mjs", Region: "resource://gre/modules/Region.sys.mjs",
RemoteSettings: "resource://services-settings/remote-settings.sys.mjs", RemoteSettings: "resource://services-settings/remote-settings.sys.mjs",
@@ -25,11 +26,6 @@ ChromeUtils.defineModuleGetter(
"PersistentCache", "PersistentCache",
"resource://activity-stream/lib/PersistentCache.jsm" "resource://activity-stream/lib/PersistentCache.jsm"
); );
ChromeUtils.defineModuleGetter(
lazy,
"ExperimentAPI",
"resource://nimbus/ExperimentAPI.jsm"
);
const CACHE_KEY = "discovery_stream"; const CACHE_KEY = "discovery_stream";
const LAYOUT_UPDATE_TIME = 30 * 60 * 1000; // 30 minutes const LAYOUT_UPDATE_TIME = 30 * 60 * 1000; // 30 minutes

View File

@@ -18,10 +18,10 @@ const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
BrowserUtils: "resource://gre/modules/BrowserUtils.sys.mjs", BrowserUtils: "resource://gre/modules/BrowserUtils.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
}); });
XPCOMUtils.defineLazyModuleGetters(lazy, { XPCOMUtils.defineLazyModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
ShellService: "resource:///modules/ShellService.jsm", ShellService: "resource:///modules/ShellService.jsm",
}); });

View File

@@ -3,10 +3,6 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict"; "use strict";
const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
const { const {
actionCreators: ac, actionCreators: ac,
actionTypes: at, actionTypes: at,
@@ -24,7 +20,9 @@ const { AboutNewTab } = ChromeUtils.import(
const lazy = {}; const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
NewTabUtils: "resource://gre/modules/NewTabUtils.sys.mjs", NewTabUtils: "resource://gre/modules/NewTabUtils.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
PartnerLinkAttribution: "resource:///modules/PartnerLinkAttribution.sys.mjs", PartnerLinkAttribution: "resource:///modules/PartnerLinkAttribution.sys.mjs",
PlacesUtils: "resource://gre/modules/PlacesUtils.sys.mjs", PlacesUtils: "resource://gre/modules/PlacesUtils.sys.mjs",
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs", PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
@@ -34,14 +32,6 @@ ChromeUtils.defineModuleGetter(
"pktApi", "pktApi",
"chrome://pocket/content/pktApi.jsm" "chrome://pocket/content/pktApi.jsm"
); );
ChromeUtils.defineModuleGetter(
lazy,
"ExperimentAPI",
"resource://nimbus/ExperimentAPI.jsm"
);
XPCOMUtils.defineLazyModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
const LINK_BLOCKED_EVENT = "newtab-linkBlocked"; const LINK_BLOCKED_EVENT = "newtab-linkBlocked";
const PLACES_LINKS_CHANGED_DELAY_TIME = 1000; // time in ms to delay timer for places links changed events const PLACES_LINKS_CHANGED_DELAY_TIME = 1000; // time in ms to delay timer for places links changed events

View File

@@ -6,9 +6,6 @@
const { actionCreators: ac, actionTypes: at } = ChromeUtils.importESModule( const { actionCreators: ac, actionTypes: at } = ChromeUtils.importESModule(
"resource://activity-stream/common/Actions.sys.mjs" "resource://activity-stream/common/Actions.sys.mjs"
); );
const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
const { Prefs } = ChromeUtils.import( const { Prefs } = ChromeUtils.import(
"resource://activity-stream/lib/ActivityStreamPrefs.jsm" "resource://activity-stream/lib/ActivityStreamPrefs.jsm"
); );
@@ -19,14 +16,11 @@ const { AppConstants } = ChromeUtils.importESModule(
const lazy = {}; const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs", PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
Region: "resource://gre/modules/Region.sys.mjs", Region: "resource://gre/modules/Region.sys.mjs",
}); });
XPCOMUtils.defineLazyModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
class PrefsFeed { class PrefsFeed {
constructor(prefMap) { constructor(prefMap) {
this._prefMap = prefMap; this._prefMap = prefMap;

View File

@@ -6,9 +6,6 @@
const { EventEmitter } = ChromeUtils.importESModule( const { EventEmitter } = ChromeUtils.importESModule(
"resource://gre/modules/EventEmitter.sys.mjs" "resource://gre/modules/EventEmitter.sys.mjs"
); );
const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
const { actionCreators: ac, actionTypes: at } = ChromeUtils.importESModule( const { actionCreators: ac, actionTypes: at } = ChromeUtils.importESModule(
"resource://activity-stream/common/Actions.sys.mjs" "resource://activity-stream/common/Actions.sys.mjs"
); );
@@ -19,13 +16,10 @@ const { getDefaultOptions } = ChromeUtils.import(
const lazy = {}; const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
PlacesUtils: "resource://gre/modules/PlacesUtils.sys.mjs", PlacesUtils: "resource://gre/modules/PlacesUtils.sys.mjs",
}); });
XPCOMUtils.defineLazyModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
/* /*
* Generators for built in sections, keyed by the pref name for their feed. * Generators for built in sections, keyed by the pref name for their feed.
* Built in sections may depend on options stored as serialised JSON in the pref * Built in sections may depend on options stored as serialised JSON in the pref

View File

@@ -45,6 +45,8 @@ ChromeUtils.defineModuleGetter(
); );
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
ClientID: "resource://gre/modules/ClientID.sys.mjs", ClientID: "resource://gre/modules/ClientID.sys.mjs",
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs", PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
TelemetryEnvironment: "resource://gre/modules/TelemetryEnvironment.sys.mjs", TelemetryEnvironment: "resource://gre/modules/TelemetryEnvironment.sys.mjs",
TelemetrySession: "resource://gre/modules/TelemetrySession.sys.mjs", TelemetrySession: "resource://gre/modules/TelemetrySession.sys.mjs",
@@ -61,11 +63,6 @@ ChromeUtils.defineModuleGetter(
"resource://gre/modules/ExtensionSettingsStore.jsm" "resource://gre/modules/ExtensionSettingsStore.jsm"
); );
XPCOMUtils.defineLazyModuleGetters(lazy, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
const ACTIVITY_STREAM_ID = "activity-stream"; const ACTIVITY_STREAM_ID = "activity-stream";
const DOMWINDOW_OPENED_TOPIC = "domwindowopened"; const DOMWINDOW_OPENED_TOPIC = "domwindowopened";
const DOMWINDOW_UNLOAD_TOPIC = "unload"; const DOMWINDOW_UNLOAD_TOPIC = "unload";

View File

@@ -9,8 +9,11 @@ const { XPCOMUtils } = ChromeUtils.importESModule(
const lazy = {}; const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
});
XPCOMUtils.defineLazyModuleGetters(lazy, { XPCOMUtils.defineLazyModuleGetters(lazy, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm",
RemoteL10n: "resource://activity-stream/lib/RemoteL10n.jsm", RemoteL10n: "resource://activity-stream/lib/RemoteL10n.jsm",
}); });

View File

@@ -52,6 +52,7 @@ ChromeUtils.defineModuleGetter(
); );
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
NewTabUtils: "resource://gre/modules/NewTabUtils.sys.mjs", NewTabUtils: "resource://gre/modules/NewTabUtils.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
Region: "resource://gre/modules/Region.sys.mjs", Region: "resource://gre/modules/Region.sys.mjs",
RemoteSettings: "resource://services-settings/remote-settings.sys.mjs", RemoteSettings: "resource://services-settings/remote-settings.sys.mjs",
}); });
@@ -73,10 +74,6 @@ XPCOMUtils.defineLazyGetter(lazy, "log", () => {
return new Logger("TopSitesFeed"); return new Logger("TopSitesFeed");
}); });
XPCOMUtils.defineLazyModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
const DEFAULT_SITES_PREF = "default.sites"; const DEFAULT_SITES_PREF = "default.sites";
const SHOWN_ON_NEWTAB_PREF = "feeds.topsites"; const SHOWN_ON_NEWTAB_PREF = "feeds.topsites";
const DEFAULT_TOP_SITES = []; const DEFAULT_TOP_SITES = [];

View File

@@ -3,8 +3,8 @@
"use strict"; "use strict";
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
registerCleanupFunction(async () => { registerCleanupFunction(async () => {

View File

@@ -1,7 +1,7 @@
"use strict"; "use strict";
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { AboutWelcomeTelemetry } = ChromeUtils.import( const { AboutWelcomeTelemetry } = ChromeUtils.import(

View File

@@ -1,10 +1,10 @@
"use strict"; "use strict";
const { ExperimentAPI } = ChromeUtils.import( const { ExperimentAPI } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.jsm" "resource://nimbus/ExperimentAPI.sys.mjs"
); );
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { TelemetryTestUtils } = ChromeUtils.importESModule( const { TelemetryTestUtils } = ChromeUtils.importESModule(
"resource://testing-common/TelemetryTestUtils.sys.mjs" "resource://testing-common/TelemetryTestUtils.sys.mjs"

View File

@@ -6,8 +6,8 @@ const { ASRouter } = ChromeUtils.import(
const { AddonRepository } = ChromeUtils.import( const { AddonRepository } = ChromeUtils.import(
"resource://gre/modules/addons/AddonRepository.jsm" "resource://gre/modules/addons/AddonRepository.jsm"
); );
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const TEST_ADDON_INFO = [ const TEST_ADDON_INFO = [

View File

@@ -4,17 +4,17 @@ const { RemoteSettings } = ChromeUtils.importESModule(
const { ASRouter } = ChromeUtils.import( const { ASRouter } = ChromeUtils.import(
"resource://activity-stream/lib/ASRouter.jsm" "resource://activity-stream/lib/ASRouter.jsm"
); );
const { RemoteSettingsExperimentLoader } = ChromeUtils.import( const { RemoteSettingsExperimentLoader } = ChromeUtils.importESModule(
"resource://nimbus/lib/RemoteSettingsExperimentLoader.jsm" "resource://nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs"
); );
const { ExperimentAPI } = ChromeUtils.import( const { ExperimentAPI } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.jsm" "resource://nimbus/ExperimentAPI.sys.mjs"
); );
const { ExperimentFakes, ExperimentTestUtils } = ChromeUtils.import( const { ExperimentFakes, ExperimentTestUtils } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { ExperimentManager } = ChromeUtils.import( const { ExperimentManager } = ChromeUtils.importESModule(
"resource://nimbus/lib/ExperimentManager.jsm" "resource://nimbus/lib/ExperimentManager.sys.mjs"
); );
const { TelemetryFeed } = ChromeUtils.import( const { TelemetryFeed } = ChromeUtils.import(
"resource://activity-stream/lib/TelemetryFeed.jsm" "resource://activity-stream/lib/TelemetryFeed.jsm"

View File

@@ -5,10 +5,7 @@ XPCOMUtils.defineLazyModuleGetters(this, {
ASRouterTargeting: "resource://activity-stream/lib/ASRouterTargeting.jsm", ASRouterTargeting: "resource://activity-stream/lib/ASRouterTargeting.jsm",
BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.jsm", BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.jsm",
CFRMessageProvider: "resource://activity-stream/lib/CFRMessageProvider.jsm", CFRMessageProvider: "resource://activity-stream/lib/CFRMessageProvider.jsm",
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.jsm",
HomePage: "resource:///modules/HomePage.jsm", HomePage: "resource:///modules/HomePage.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
QueryCache: "resource://activity-stream/lib/ASRouterTargeting.jsm", QueryCache: "resource://activity-stream/lib/ASRouterTargeting.jsm",
ShellService: "resource:///modules/ShellService.jsm", ShellService: "resource:///modules/ShellService.jsm",
}); });
@@ -16,8 +13,11 @@ ChromeUtils.defineESModuleGetters(this, {
AppConstants: "resource://gre/modules/AppConstants.sys.mjs", AppConstants: "resource://gre/modules/AppConstants.sys.mjs",
AttributionCode: "resource:///modules/AttributionCode.sys.mjs", AttributionCode: "resource:///modules/AttributionCode.sys.mjs",
BuiltInThemes: "resource:///modules/BuiltInThemes.sys.mjs", BuiltInThemes: "resource:///modules/BuiltInThemes.sys.mjs",
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.sys.mjs",
FxAccounts: "resource://gre/modules/FxAccounts.sys.mjs", FxAccounts: "resource://gre/modules/FxAccounts.sys.mjs",
NewTabUtils: "resource://gre/modules/NewTabUtils.sys.mjs", NewTabUtils: "resource://gre/modules/NewTabUtils.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
PlacesTestUtils: "resource://testing-common/PlacesTestUtils.sys.mjs", PlacesTestUtils: "resource://testing-common/PlacesTestUtils.sys.mjs",
ProfileAge: "resource://gre/modules/ProfileAge.sys.mjs", ProfileAge: "resource://gre/modules/ProfileAge.sys.mjs",
Region: "resource://gre/modules/Region.sys.mjs", Region: "resource://gre/modules/Region.sys.mjs",

View File

@@ -10,8 +10,8 @@ const { ASRouter } = ChromeUtils.import(
"resource://activity-stream/lib/ASRouter.jsm" "resource://activity-stream/lib/ASRouter.jsm"
); );
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
let sendTriggerMessageSpy; let sendTriggerMessageSpy;

View File

@@ -8,14 +8,14 @@ const { ASRouter } = ChromeUtils.import(
const { RemoteSettings } = ChromeUtils.importESModule( const { RemoteSettings } = ChromeUtils.importESModule(
"resource://services-settings/remote-settings.sys.mjs" "resource://services-settings/remote-settings.sys.mjs"
); );
const { RemoteSettingsExperimentLoader } = ChromeUtils.import( const { RemoteSettingsExperimentLoader } = ChromeUtils.importESModule(
"resource://nimbus/lib/RemoteSettingsExperimentLoader.jsm" "resource://nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs"
); );
const { ExperimentAPI } = ChromeUtils.import( const { ExperimentAPI } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.jsm" "resource://nimbus/ExperimentAPI.sys.mjs"
); );
const { ExperimentFakes, ExperimentTestUtils } = ChromeUtils.import( const { ExperimentFakes, ExperimentTestUtils } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const client = RemoteSettings("nimbus-desktop-experiments"); const client = RemoteSettings("nimbus-desktop-experiments");

View File

@@ -50,13 +50,10 @@ const { XPCOMUtils } = ChromeUtils.importESModule(
const lazy = {}; const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
IndexedDB: "resource://gre/modules/IndexedDB.sys.mjs", IndexedDB: "resource://gre/modules/IndexedDB.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs", PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
}); });
XPCOMUtils.defineLazyModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
XPCOMUtils.defineLazyPreferenceGetter( XPCOMUtils.defineLazyPreferenceGetter(
lazy, lazy,
"gCookieFirstPartyIsolate", "gCookieFirstPartyIsolate",

View File

@@ -45,6 +45,8 @@
/* eslint-env mozilla/browser-window */ /* eslint-env mozilla/browser-window */
ChromeUtils.defineESModuleGetters(this, { ChromeUtils.defineESModuleGetters(this, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs", PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
ReaderMode: "resource://gre/modules/ReaderMode.sys.mjs", ReaderMode: "resource://gre/modules/ReaderMode.sys.mjs",
}); });
@@ -63,14 +65,6 @@ ChromeUtils.defineModuleGetter(
"pktTelemetry", "pktTelemetry",
"chrome://pocket/content/pktTelemetry.jsm" "chrome://pocket/content/pktTelemetry.jsm"
); );
ChromeUtils.defineModuleGetter(
this,
"ExperimentAPI",
"resource://nimbus/ExperimentAPI.jsm"
);
XPCOMUtils.defineLazyModuleGetters(this, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
const POCKET_ONSAVERECS_PREF = "extensions.pocket.onSaveRecs"; const POCKET_ONSAVERECS_PREF = "extensions.pocket.onSaveRecs";
const POCKET_ONSAVERECS_LOCLES_PREF = "extensions.pocket.onSaveRecs.locales"; const POCKET_ONSAVERECS_LOCLES_PREF = "extensions.pocket.onSaveRecs.locales";

View File

@@ -85,6 +85,7 @@ ChromeUtils.defineESModuleGetters(this, {
"resource://gre/modules/ContextualIdentityService.sys.mjs", "resource://gre/modules/ContextualIdentityService.sys.mjs",
FeatureGate: "resource://featuregates/FeatureGate.sys.mjs", FeatureGate: "resource://featuregates/FeatureGate.sys.mjs",
FileUtils: "resource://gre/modules/FileUtils.sys.mjs", FileUtils: "resource://gre/modules/FileUtils.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
OSKeyStore: "resource://gre/modules/OSKeyStore.sys.mjs", OSKeyStore: "resource://gre/modules/OSKeyStore.sys.mjs",
PlacesUtils: "resource://gre/modules/PlacesUtils.sys.mjs", PlacesUtils: "resource://gre/modules/PlacesUtils.sys.mjs",
QuickSuggest: "resource:///modules/QuickSuggest.sys.mjs", QuickSuggest: "resource:///modules/QuickSuggest.sys.mjs",
@@ -106,7 +107,6 @@ XPCOMUtils.defineLazyModuleGetters(this, {
HomePage: "resource:///modules/HomePage.jsm", HomePage: "resource:///modules/HomePage.jsm",
LangPackMatcher: "resource://gre/modules/LangPackMatcher.jsm", LangPackMatcher: "resource://gre/modules/LangPackMatcher.jsm",
LoginHelper: "resource://gre/modules/LoginHelper.jsm", LoginHelper: "resource://gre/modules/LoginHelper.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
SelectionChangedMenulist: "resource:///modules/SelectionChangedMenulist.jsm", SelectionChangedMenulist: "resource:///modules/SelectionChangedMenulist.jsm",
SiteDataManager: "resource:///modules/SiteDataManager.jsm", SiteDataManager: "resource:///modules/SiteDataManager.jsm",
TransientPrefs: "resource:///modules/TransientPrefs.jsm", TransientPrefs: "resource:///modules/TransientPrefs.jsm",

View File

@@ -2,6 +2,8 @@
* http://creativecommons.org/publicdomain/zero/1.0/ */ * http://creativecommons.org/publicdomain/zero/1.0/ */
ChromeUtils.defineESModuleGetters(this, { ChromeUtils.defineESModuleGetters(this, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.sys.mjs",
FileUtils: "resource://gre/modules/FileUtils.sys.mjs", FileUtils: "resource://gre/modules/FileUtils.sys.mjs",
PlacesTestUtils: "resource://testing-common/PlacesTestUtils.sys.mjs", PlacesTestUtils: "resource://testing-common/PlacesTestUtils.sys.mjs",
PlacesUtils: "resource://gre/modules/PlacesUtils.sys.mjs", PlacesUtils: "resource://gre/modules/PlacesUtils.sys.mjs",
@@ -10,8 +12,6 @@ ChromeUtils.defineESModuleGetters(this, {
XPCOMUtils.defineLazyModuleGetters(this, { XPCOMUtils.defineLazyModuleGetters(this, {
ASRouter: "resource://activity-stream/lib/ASRouter.jsm", ASRouter: "resource://activity-stream/lib/ASRouter.jsm",
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.jsm",
PanelTestProvider: "resource://activity-stream/lib/PanelTestProvider.jsm", PanelTestProvider: "resource://activity-stream/lib/PanelTestProvider.jsm",
}); });

View File

@@ -2,11 +2,11 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
const { ExperimentAPI } = ChromeUtils.import( const { ExperimentAPI } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.jsm" "resource://nimbus/ExperimentAPI.sys.mjs"
); );
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
ChromeUtils.defineESModuleGetters(this, { ChromeUtils.defineESModuleGetters(this, {

View File

@@ -3,8 +3,8 @@
"use strict"; "use strict";
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { SearchService } = ChromeUtils.importESModule( const { SearchService } = ChromeUtils.importESModule(

View File

@@ -15,15 +15,12 @@ const { XPCOMUtils } = ChromeUtils.importESModule(
const lazy = {}; const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
Subprocess: "resource://gre/modules/Subprocess.sys.mjs", Subprocess: "resource://gre/modules/Subprocess.sys.mjs",
WindowsRegistry: "resource://gre/modules/WindowsRegistry.sys.mjs", WindowsRegistry: "resource://gre/modules/WindowsRegistry.sys.mjs",
setTimeout: "resource://gre/modules/Timer.sys.mjs", setTimeout: "resource://gre/modules/Timer.sys.mjs",
}); });
XPCOMUtils.defineLazyModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
XPCOMUtils.defineLazyServiceGetter( XPCOMUtils.defineLazyServiceGetter(
lazy, lazy,
"XreDirProvider", "XreDirProvider",

View File

@@ -1,10 +1,10 @@
/* Any copyright is dedicated to the Public Domain. /* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */ * http://creativecommons.org/publicdomain/zero/1.0/ */
XPCOMUtils.defineLazyModuleGetters(this, { ChromeUtils.defineESModuleGetters(this, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm", ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.jsm", ExperimentFakes: "resource://testing-common/NimbusTestUtils.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm", NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
}); });
registerCleanupFunction(() => { registerCleanupFunction(() => {

View File

@@ -2,15 +2,12 @@
* http://creativecommons.org/publicdomain/zero/1.0/ */ * http://creativecommons.org/publicdomain/zero/1.0/ */
ChromeUtils.defineESModuleGetters(this, { ChromeUtils.defineESModuleGetters(this, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
sinon: "resource://testing-common/Sinon.sys.mjs", sinon: "resource://testing-common/Sinon.sys.mjs",
}); });
XPCOMUtils.defineLazyModuleGetters(this, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
const userChoiceStub = sinon const userChoiceStub = sinon
.stub(ShellService, "setAsDefaultUserChoice") .stub(ShellService, "setAsDefaultUserChoice")
.resolves(); .resolves();

View File

@@ -2,15 +2,12 @@
* http://creativecommons.org/publicdomain/zero/1.0/ */ * http://creativecommons.org/publicdomain/zero/1.0/ */
ChromeUtils.defineESModuleGetters(this, { ChromeUtils.defineESModuleGetters(this, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
sinon: "resource://testing-common/Sinon.sys.mjs", sinon: "resource://testing-common/Sinon.sys.mjs",
}); });
XPCOMUtils.defineLazyModuleGetters(this, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
XPCOMUtils.defineLazyServiceGetter( XPCOMUtils.defineLazyServiceGetter(
this, this,
"XreDirProvider", "XreDirProvider",

View File

@@ -3,11 +3,11 @@ http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict"; "use strict";
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { ExperimentAPI } = ChromeUtils.import( const { ExperimentAPI } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.jsm" "resource://nimbus/ExperimentAPI.sys.mjs"
); );
const { OnboardingMessageProvider } = ChromeUtils.import( const { OnboardingMessageProvider } = ChromeUtils.import(
"resource://activity-stream/lib/OnboardingMessageProvider.jsm" "resource://activity-stream/lib/OnboardingMessageProvider.jsm"

View File

@@ -7,13 +7,13 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const lazy = {}; const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
UrlbarPrefs: "resource:///modules/UrlbarPrefs.sys.mjs", UrlbarPrefs: "resource:///modules/UrlbarPrefs.sys.mjs",
UrlbarUtils: "resource:///modules/UrlbarUtils.sys.mjs", UrlbarUtils: "resource:///modules/UrlbarUtils.sys.mjs",
}); });
XPCOMUtils.defineLazyModuleGetters(lazy, { XPCOMUtils.defineLazyModuleGetters(lazy, {
BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.jsm", BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
}); });
// Quick suggest features. On init, QuickSuggest creates an instance of each and // Quick suggest features. On init, QuickSuggest creates an instance of each and

View File

@@ -8,20 +8,15 @@
* preferences, but only for variables with fallback prefs. * preferences, but only for variables with fallback prefs.
*/ */
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const lazy = {}; const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
Region: "resource://gre/modules/Region.sys.mjs", Region: "resource://gre/modules/Region.sys.mjs",
TelemetryEnvironment: "resource://gre/modules/TelemetryEnvironment.sys.mjs", TelemetryEnvironment: "resource://gre/modules/TelemetryEnvironment.sys.mjs",
UrlbarUtils: "resource:///modules/UrlbarUtils.sys.mjs", UrlbarUtils: "resource:///modules/UrlbarUtils.sys.mjs",
}); });
XPCOMUtils.defineLazyModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
const PREF_URLBAR_BRANCH = "browser.urlbar."; const PREF_URLBAR_BRANCH = "browser.urlbar.";
// Prefs are defined as [pref name, default value] or [pref name, [default // Prefs are defined as [pref name, default value] or [pref name, [default

View File

@@ -14,8 +14,14 @@ const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
BrowserTestUtils: "resource://testing-common/BrowserTestUtils.sys.mjs", BrowserTestUtils: "resource://testing-common/BrowserTestUtils.sys.mjs",
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.sys.mjs",
ExperimentManager: "resource://nimbus/lib/ExperimentManager.sys.mjs",
FormHistoryTestUtils: FormHistoryTestUtils:
"resource://testing-common/FormHistoryTestUtils.sys.mjs", "resource://testing-common/FormHistoryTestUtils.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs", PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
TestUtils: "resource://testing-common/TestUtils.sys.mjs", TestUtils: "resource://testing-common/TestUtils.sys.mjs",
UrlbarController: "resource:///modules/UrlbarController.sys.mjs", UrlbarController: "resource:///modules/UrlbarController.sys.mjs",
@@ -28,10 +34,6 @@ XPCOMUtils.defineLazyModuleGetters(lazy, {
AddonTestUtils: "resource://testing-common/AddonTestUtils.jsm", AddonTestUtils: "resource://testing-common/AddonTestUtils.jsm",
BrowserUIUtils: "resource:///modules/BrowserUIUtils.jsm", BrowserUIUtils: "resource:///modules/BrowserUIUtils.jsm",
BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.jsm", BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.jsm",
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.jsm",
ExperimentManager: "resource://nimbus/lib/ExperimentManager.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
}); });
export var UrlbarTestUtils = { export var UrlbarTestUtils = {

View File

@@ -8,6 +8,8 @@
"use strict"; "use strict";
ChromeUtils.defineESModuleGetters(this, { ChromeUtils.defineESModuleGetters(this, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.sys.mjs",
PromiseUtils: "resource://gre/modules/PromiseUtils.sys.mjs", PromiseUtils: "resource://gre/modules/PromiseUtils.sys.mjs",
PromptTestUtils: "resource://testing-common/PromptTestUtils.sys.mjs", PromptTestUtils: "resource://testing-common/PromptTestUtils.sys.mjs",
ResetProfile: "resource://gre/modules/ResetProfile.sys.mjs", ResetProfile: "resource://gre/modules/ResetProfile.sys.mjs",
@@ -24,8 +26,6 @@ ChromeUtils.defineESModuleGetters(this, {
XPCOMUtils.defineLazyModuleGetters(this, { XPCOMUtils.defineLazyModuleGetters(this, {
AboutNewTab: "resource:///modules/AboutNewTab.jsm", AboutNewTab: "resource:///modules/AboutNewTab.jsm",
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.jsm",
ObjectUtils: "resource://gre/modules/ObjectUtils.jsm", ObjectUtils: "resource://gre/modules/ObjectUtils.jsm",
}); });

View File

@@ -3,8 +3,6 @@
/* eslint-disable mozilla/valid-lazy */ /* eslint-disable mozilla/valid-lazy */
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
import { import {
CONTEXTUAL_SERVICES_PING_TYPES, CONTEXTUAL_SERVICES_PING_TYPES,
PartnerLinkAttribution, PartnerLinkAttribution,
@@ -13,6 +11,9 @@ import {
const lazy = {}; const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
QuickSuggest: "resource:///modules/QuickSuggest.sys.mjs", QuickSuggest: "resource:///modules/QuickSuggest.sys.mjs",
SearchUtils: "resource://gre/modules/SearchUtils.sys.mjs", SearchUtils: "resource://gre/modules/SearchUtils.sys.mjs",
TelemetryTestUtils: "resource://testing-common/TelemetryTestUtils.sys.mjs", TelemetryTestUtils: "resource://testing-common/TelemetryTestUtils.sys.mjs",
@@ -25,12 +26,6 @@ ChromeUtils.defineESModuleGetters(lazy, {
sinon: "resource://testing-common/Sinon.sys.mjs", sinon: "resource://testing-common/Sinon.sys.mjs",
}); });
XPCOMUtils.defineLazyModuleGetters(lazy, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
let gTestScope; let gTestScope;
// Test utils singletons need special handling. Since they are uninitialized in // Test utils singletons need special handling. Since they are uninitialized in

View File

@@ -7,12 +7,9 @@
"use strict"; "use strict";
ChromeUtils.defineESModuleGetters(this, { ChromeUtils.defineESModuleGetters(this, {
ExperimentFakes: "resource://testing-common/NimbusTestUtils.sys.mjs",
MerinoClient: "resource:///modules/MerinoClient.sys.mjs", MerinoClient: "resource:///modules/MerinoClient.sys.mjs",
}); NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
XPCOMUtils.defineLazyModuleGetters(this, {
ExperimentFakes: "resource://testing-common/NimbusTestUtils.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
}); });
// Set the `merino.timeoutMs` pref to a large value so that the client will not // Set the `merino.timeoutMs` pref to a large value so that the client will not

View File

@@ -6,9 +6,9 @@
"use strict"; "use strict";
XPCOMUtils.defineLazyModuleGetters(this, { ChromeUtils.defineESModuleGetters(this, {
ExperimentFakes: "resource://testing-common/NimbusTestUtils.jsm", ExperimentFakes: "resource://testing-common/NimbusTestUtils.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm", NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
}); });
// Expected version 2 default-branch prefs // Expected version 2 default-branch prefs

View File

@@ -27,13 +27,13 @@ const FAR_FUTURE = 4102405200000; // 2100/01/01
const lazy = {}; const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
PlacesUtils: "resource://gre/modules/PlacesUtils.sys.mjs", PlacesUtils: "resource://gre/modules/PlacesUtils.sys.mjs",
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs", PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
ReaderMode: "resource://gre/modules/ReaderMode.sys.mjs", ReaderMode: "resource://gre/modules/ReaderMode.sys.mjs",
}); });
XPCOMUtils.defineLazyModuleGetters(lazy, { XPCOMUtils.defineLazyModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
TabsStore: "resource://gre/modules/RustTabs.jsm", TabsStore: "resource://gre/modules/RustTabs.jsm",
}); });

View File

@@ -10,12 +10,12 @@ const { SyncScheduler } = ChromeUtils.importESModule(
"resource://services-sync/policies.sys.mjs" "resource://services-sync/policies.sys.mjs"
); );
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { ExperimentAPI } = ChromeUtils.import( const { ExperimentAPI } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.jsm" "resource://nimbus/ExperimentAPI.sys.mjs"
); );
var scheduler = new SyncScheduler(Service); var scheduler = new SyncScheduler(Service);

View File

@@ -9,6 +9,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
ContentDOMReference: "resource://gre/modules/ContentDOMReference.sys.mjs", ContentDOMReference: "resource://gre/modules/ContentDOMReference.sys.mjs",
DeferredTask: "resource://gre/modules/DeferredTask.sys.mjs", DeferredTask: "resource://gre/modules/DeferredTask.sys.mjs",
KEYBOARD_CONTROLS: "resource://gre/modules/PictureInPictureControls.sys.mjs", KEYBOARD_CONTROLS: "resource://gre/modules/PictureInPictureControls.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
Rect: "resource://gre/modules/Geometry.sys.mjs", Rect: "resource://gre/modules/Geometry.sys.mjs",
TOGGLE_POLICIES: "resource://gre/modules/PictureInPictureControls.sys.mjs", TOGGLE_POLICIES: "resource://gre/modules/PictureInPictureControls.sys.mjs",
TOGGLE_POLICY_STRINGS: TOGGLE_POLICY_STRINGS:
@@ -19,10 +20,6 @@ const { WebVTT } = ChromeUtils.import("resource://gre/modules/vtt.jsm");
import { setTimeout, clearTimeout } from "resource://gre/modules/Timer.sys.mjs"; import { setTimeout, clearTimeout } from "resource://gre/modules/Timer.sys.mjs";
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs"; import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
XPCOMUtils.defineLazyModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
XPCOMUtils.defineLazyPreferenceGetter( XPCOMUtils.defineLazyPreferenceGetter(
lazy, lazy,
"DISPLAY_TEXT_TRACKS_PREF", "DISPLAY_TEXT_TRACKS_PREF",

View File

@@ -10,8 +10,8 @@
* integration works correctly in both normal and private browsing. * integration works correctly in both normal and private browsing.
*/ */
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const TEST_URI = TEST_DOMAIN + TEST_PATH + "file_stripping.html"; const TEST_URI = TEST_DOMAIN + TEST_PATH + "file_stripping.html";

View File

@@ -28,13 +28,18 @@ XPCOMUtils.defineLazyServiceGetter(
"nsIToolkitProfileService" "nsIToolkitProfileService"
); );
ChromeUtils.defineESModuleGetters(lazy, {
ExperimentManager: "resource://nimbus/lib/ExperimentManager.sys.mjs",
RemoteSettingsExperimentLoader:
"resource://nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs",
});
XPCOMUtils.defineLazyModuleGetters(lazy, { XPCOMUtils.defineLazyModuleGetters(lazy, {
ASRouter: "resource://activity-stream/lib/ASRouter.jsm", ASRouter: "resource://activity-stream/lib/ASRouter.jsm",
ASRouterDefaultConfig: ASRouterDefaultConfig:
"resource://activity-stream/lib/ASRouterDefaultConfig.jsm", "resource://activity-stream/lib/ASRouterDefaultConfig.jsm",
ExperimentManager: "resource://nimbus/lib/ExperimentManager.jsm",
RemoteSettingsExperimentLoader:
"resource://nimbus/lib/RemoteSettingsExperimentLoader.jsm",
}); });
class CannotLockProfileError extends Error { class CannotLockProfileError extends Error {

View File

@@ -2,30 +2,18 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict"; import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
import { AppConstants } from "resource://gre/modules/AppConstants.sys.mjs";
const EXPORTED_SYMBOLS = [
"ExperimentAPI",
"NimbusFeatures",
"_ExperimentFeature",
];
const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
const { AppConstants } = ChromeUtils.importESModule(
"resource://gre/modules/AppConstants.sys.mjs"
);
const lazy = {}; const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
ExperimentManager: "resource://nimbus/lib/ExperimentManager.sys.mjs",
ExperimentStore: "resource://nimbus/lib/ExperimentStore.sys.mjs",
RemoteSettings: "resource://services-settings/remote-settings.sys.mjs", RemoteSettings: "resource://services-settings/remote-settings.sys.mjs",
}); });
XPCOMUtils.defineLazyModuleGetters(lazy, { XPCOMUtils.defineLazyModuleGetters(lazy, {
ExperimentStore: "resource://nimbus/lib/ExperimentStore.jsm",
ExperimentManager: "resource://nimbus/lib/ExperimentManager.jsm",
FeatureManifest: "resource://nimbus/FeatureManifest.js", FeatureManifest: "resource://nimbus/FeatureManifest.js",
}); });
@@ -85,7 +73,7 @@ const experimentBranchAccessor = {
}, },
}; };
const ExperimentAPI = { export const ExperimentAPI = {
/** /**
* @returns {Promise} Resolves when the API has synchronized to the main store * @returns {Promise} Resolves when the API has synchronized to the main store
*/ */
@@ -305,14 +293,15 @@ const ExperimentAPI = {
* Singleton that holds lazy references to _ExperimentFeature instances * Singleton that holds lazy references to _ExperimentFeature instances
* defined by the FeatureManifest * defined by the FeatureManifest
*/ */
const NimbusFeatures = {}; export const NimbusFeatures = {};
for (let feature in lazy.FeatureManifest) { for (let feature in lazy.FeatureManifest) {
XPCOMUtils.defineLazyGetter(NimbusFeatures, feature, () => { XPCOMUtils.defineLazyGetter(NimbusFeatures, feature, () => {
return new _ExperimentFeature(feature); return new _ExperimentFeature(feature);
}); });
} }
class _ExperimentFeature { export class _ExperimentFeature {
constructor(featureId, manifest) { constructor(featureId, manifest) {
this.featureId = featureId; this.featureId = featureId;
this.prefGetters = {}; this.prefGetters = {};

View File

@@ -4,8 +4,8 @@
toolkit.jar: toolkit.jar:
% resource nimbus %res/nimbus/ % resource nimbus %res/nimbus/
res/nimbus/lib/ (./lib/*.jsm) res/nimbus/lib/ (./lib/*.sys.mjs)
res/nimbus/ExperimentAPI.jsm (./ExperimentAPI.jsm) res/nimbus/ExperimentAPI.sys.mjs (./ExperimentAPI.sys.mjs)
res/nimbus/FeatureManifest.js (FeatureManifest.js) res/nimbus/FeatureManifest.js (FeatureManifest.js)
res/nimbus/schemas/NimbusEnrollment.schema.json (./schemas/NimbusEnrollment.schema.json) res/nimbus/schemas/NimbusEnrollment.schema.json (./schemas/NimbusEnrollment.schema.json)
res/nimbus/schemas/NimbusExperiment.schema.json (./schemas/NimbusExperiment.schema.json) res/nimbus/schemas/NimbusExperiment.schema.json (./schemas/NimbusExperiment.schema.json)

View File

@@ -2,26 +2,20 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict"; import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const EXPORTED_SYMBOLS = ["ExperimentManager", "_ExperimentManager"];
const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
const lazy = {}; const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
ExperimentStore: "resource://nimbus/lib/ExperimentStore.sys.mjs",
FirstStartup: "resource://gre/modules/FirstStartup.sys.mjs", FirstStartup: "resource://gre/modules/FirstStartup.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
Sampling: "resource://gre/modules/components-utils/Sampling.sys.mjs", Sampling: "resource://gre/modules/components-utils/Sampling.sys.mjs",
TelemetryEnvironment: "resource://gre/modules/TelemetryEnvironment.sys.mjs", TelemetryEnvironment: "resource://gre/modules/TelemetryEnvironment.sys.mjs",
}); });
XPCOMUtils.defineLazyModuleGetters(lazy, { XPCOMUtils.defineLazyModuleGetters(lazy, {
ClientEnvironment: "resource://normandy/lib/ClientEnvironment.jsm", ClientEnvironment: "resource://normandy/lib/ClientEnvironment.jsm",
ExperimentStore: "resource://nimbus/lib/ExperimentStore.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
NormandyUtils: "resource://normandy/lib/NormandyUtils.jsm", NormandyUtils: "resource://normandy/lib/NormandyUtils.jsm",
TelemetryEvents: "resource://normandy/lib/TelemetryEvents.jsm", TelemetryEvents: "resource://normandy/lib/TelemetryEvents.jsm",
PrefUtils: "resource://normandy/lib/PrefUtils.jsm", PrefUtils: "resource://normandy/lib/PrefUtils.jsm",
@@ -66,7 +60,7 @@ function getFeatureFromBranch(branch, featureId) {
* A module for processes Experiment recipes, choosing and storing enrollment state, * A module for processes Experiment recipes, choosing and storing enrollment state,
* and sending experiment-related Telemetry. * and sending experiment-related Telemetry.
*/ */
class _ExperimentManager { export class _ExperimentManager {
constructor({ id = "experimentmanager", store } = {}) { constructor({ id = "experimentmanager", store } = {}) {
this.id = id; this.id = id;
this.store = store || new lazy.ExperimentStore(); this.store = store || new lazy.ExperimentStore();
@@ -1273,4 +1267,4 @@ class _ExperimentManager {
} }
} }
const ExperimentManager = new _ExperimentManager(); export const ExperimentManager = new _ExperimentManager();

View File

@@ -2,16 +2,10 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict"; import { SharedDataMap } from "resource://nimbus/lib/SharedDataMap.sys.mjs";
const EXPORTED_SYMBOLS = ["ExperimentStore"]; import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const { SharedDataMap } = ChromeUtils.import(
"resource://nimbus/lib/SharedDataMap.jsm"
);
const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
const lazy = {}; const lazy = {};
XPCOMUtils.defineLazyModuleGetters(lazy, { XPCOMUtils.defineLazyModuleGetters(lazy, {
FeatureManifest: "resource://nimbus/FeatureManifest.js", FeatureManifest: "resource://nimbus/FeatureManifest.js",
@@ -233,7 +227,7 @@ function featuresCompat(branch) {
return features; return features;
} }
class ExperimentStore extends SharedDataMap { export class ExperimentStore extends SharedDataMap {
static SYNC_DATA_PREF_BRANCH = SYNC_DATA_PREF_BRANCH; static SYNC_DATA_PREF_BRANCH = SYNC_DATA_PREF_BRANCH;
static SYNC_DEFAULTS_PREF_BRANCH = SYNC_DEFAULTS_PREF_BRANCH; static SYNC_DEFAULTS_PREF_BRANCH = SYNC_DEFAULTS_PREF_BRANCH;

View File

@@ -2,31 +2,21 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict"; import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const EXPORTED_SYMBOLS = [
"_RemoteSettingsExperimentLoader",
"RemoteSettingsExperimentLoader",
"EnrollmentsContext",
];
const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
const lazy = {}; const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
ExperimentManager: "resource://nimbus/lib/ExperimentManager.sys.mjs",
JsonSchema: "resource://gre/modules/JsonSchema.sys.mjs", JsonSchema: "resource://gre/modules/JsonSchema.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
RemoteSettings: "resource://services-settings/remote-settings.sys.mjs", RemoteSettings: "resource://services-settings/remote-settings.sys.mjs",
TargetingContext: "resource://messaging-system/targeting/Targeting.sys.mjs", TargetingContext: "resource://messaging-system/targeting/Targeting.sys.mjs",
}); });
XPCOMUtils.defineLazyModuleGetters(lazy, { XPCOMUtils.defineLazyModuleGetters(lazy, {
ASRouterTargeting: "resource://activity-stream/lib/ASRouterTargeting.jsm", ASRouterTargeting: "resource://activity-stream/lib/ASRouterTargeting.jsm",
ExperimentManager: "resource://nimbus/lib/ExperimentManager.jsm",
CleanupManager: "resource://normandy/lib/CleanupManager.jsm", CleanupManager: "resource://normandy/lib/CleanupManager.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
}); });
XPCOMUtils.defineLazyGetter(lazy, "log", () => { XPCOMUtils.defineLazyGetter(lazy, "log", () => {
@@ -86,7 +76,7 @@ const SCHEMAS = {
}, },
}; };
class _RemoteSettingsExperimentLoader { export class _RemoteSettingsExperimentLoader {
constructor() { constructor() {
// Has the timer been set? // Has the timer been set?
this._initialized = false; this._initialized = false;
@@ -368,7 +358,7 @@ class _RemoteSettingsExperimentLoader {
} }
} }
class EnrollmentsContext { export class EnrollmentsContext {
constructor( constructor(
experimentManager, experimentManager,
recipeValidator, recipeValidator,
@@ -666,4 +656,4 @@ class EnrollmentsContext {
} }
} }
const RemoteSettingsExperimentLoader = new _RemoteSettingsExperimentLoader(); export const RemoteSettingsExperimentLoader = new _RemoteSettingsExperimentLoader();

View File

@@ -2,13 +2,9 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict"; import { EventEmitter } from "resource://gre/modules/EventEmitter.sys.mjs";
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const EXPORTED_SYMBOLS = ["SharedDataMap"];
const { EventEmitter } = ChromeUtils.importESModule(
"resource://gre/modules/EventEmitter.sys.mjs"
);
const lazy = {}; const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
JSONFile: "resource://gre/modules/JSONFile.sys.mjs", JSONFile: "resource://gre/modules/JSONFile.sys.mjs",
@@ -18,11 +14,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
const IS_MAIN_PROCESS = const IS_MAIN_PROCESS =
Services.appinfo.processType === Services.appinfo.PROCESS_TYPE_DEFAULT; Services.appinfo.processType === Services.appinfo.PROCESS_TYPE_DEFAULT;
const { XPCOMUtils } = ChromeUtils.importESModule( export class SharedDataMap extends EventEmitter {
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
class SharedDataMap extends EventEmitter {
constructor(sharedDataKey, options = { isParent: IS_MAIN_PROCESS }) { constructor(sharedDataKey, options = { isParent: IS_MAIN_PROCESS }) {
super(); super();

View File

@@ -29,7 +29,7 @@ XPCSHELL_TESTS_MANIFESTS += ["test/unit/xpcshell.ini"]
SPHINX_TREES["docs"] = "docs" SPHINX_TREES["docs"] = "docs"
TESTING_JS_MODULES += [ TESTING_JS_MODULES += [
"test/NimbusTestUtils.jsm", "test/NimbusTestUtils.sys.mjs",
] ]
GeneratedFile( GeneratedFile(

View File

@@ -2,34 +2,24 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict"; import { ExperimentStore } from "resource://nimbus/lib/ExperimentStore.sys.mjs";
import { FileTestUtils } from "resource://testing-common/FileTestUtils.sys.mjs";
const { XPCOMUtils } = ChromeUtils.importESModule( import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
const { ExperimentStore } = ChromeUtils.import(
"resource://nimbus/lib/ExperimentStore.jsm"
);
const { FileTestUtils } = ChromeUtils.importESModule(
"resource://testing-common/FileTestUtils.sys.mjs"
);
const lazy = {}; const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
ExperimentManager: "resource://nimbus/lib/ExperimentManager.sys.mjs",
JsonSchema: "resource://gre/modules/JsonSchema.sys.mjs", JsonSchema: "resource://gre/modules/JsonSchema.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
_ExperimentManager: "resource://nimbus/lib/ExperimentManager.sys.mjs",
_RemoteSettingsExperimentLoader:
"resource://nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs",
sinon: "resource://testing-common/Sinon.sys.mjs", sinon: "resource://testing-common/Sinon.sys.mjs",
}); });
XPCOMUtils.defineLazyModuleGetters(lazy, { XPCOMUtils.defineLazyModuleGetters(lazy, {
_ExperimentManager: "resource://nimbus/lib/ExperimentManager.jsm",
ExperimentManager: "resource://nimbus/lib/ExperimentManager.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
NormandyUtils: "resource://normandy/lib/NormandyUtils.jsm", NormandyUtils: "resource://normandy/lib/NormandyUtils.jsm",
_RemoteSettingsExperimentLoader:
"resource://nimbus/lib/RemoteSettingsExperimentLoader.jsm",
FeatureManifest: "resource://nimbus/FeatureManifest.js", FeatureManifest: "resource://nimbus/FeatureManifest.js",
}); });
@@ -46,9 +36,7 @@ async function fetchSchema(url) {
return schema; return schema;
} }
const EXPORTED_SYMBOLS = ["ExperimentTestUtils", "ExperimentFakes"]; export const ExperimentTestUtils = {
const ExperimentTestUtils = {
_validateSchema(schema, value, errorMsg) { _validateSchema(schema, value, errorMsg) {
const result = lazy.JsonSchema.validate(value, schema, { const result = lazy.JsonSchema.validate(value, schema, {
shortCircuit: false, shortCircuit: false,
@@ -171,7 +159,7 @@ const ExperimentTestUtils = {
}, },
}; };
const ExperimentFakes = { export const ExperimentFakes = {
manager(store) { manager(store) {
let sandbox = lazy.sinon.createSandbox(); let sandbox = lazy.sinon.createSandbox();
let manager = new lazy._ExperimentManager({ store: store || this.store() }); let manager = new lazy._ExperimentManager({ store: store || this.store() });

View File

@@ -3,14 +3,14 @@
const { const {
EnrollmentsContext, EnrollmentsContext,
RemoteSettingsExperimentLoader, RemoteSettingsExperimentLoader,
} = ChromeUtils.import( } = ChromeUtils.importESModule(
"resource://nimbus/lib/RemoteSettingsExperimentLoader.jsm" "resource://nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs"
); );
const { ExperimentManager } = ChromeUtils.import( const { ExperimentManager } = ChromeUtils.importESModule(
"resource://nimbus/lib/ExperimentManager.jsm" "resource://nimbus/lib/ExperimentManager.sys.mjs"
); );
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
add_setup(async function setup() { add_setup(async function setup() {

View File

@@ -3,11 +3,11 @@
"use strict"; "use strict";
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { ExperimentAPI } = ChromeUtils.import( const { ExperimentAPI } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.jsm" "resource://nimbus/ExperimentAPI.sys.mjs"
); );
const SINGLE_FEATURE_RECIPE = { const SINGLE_FEATURE_RECIPE = {

View File

@@ -3,14 +3,14 @@
"use strict"; "use strict";
const { ExperimentStore } = ChromeUtils.import( const { ExperimentStore } = ChromeUtils.importESModule(
"resource://nimbus/lib/ExperimentStore.jsm" "resource://nimbus/lib/ExperimentStore.sys.mjs"
); );
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { ExperimentFeatures } = ChromeUtils.import( const { ExperimentFeatures } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.jsm" "resource://nimbus/ExperimentAPI.sys.mjs"
); );
ChromeUtils.defineESModuleGetters(this, { ChromeUtils.defineESModuleGetters(this, {
JSONFile: "resource://gre/modules/JSONFile.sys.mjs", JSONFile: "resource://gre/modules/JSONFile.sys.mjs",

View File

@@ -3,14 +3,14 @@
"use strict"; "use strict";
const { ExperimentStore } = ChromeUtils.import( const { ExperimentStore } = ChromeUtils.importESModule(
"resource://nimbus/lib/ExperimentStore.jsm" "resource://nimbus/lib/ExperimentStore.sys.mjs"
); );
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { ExperimentAPI } = ChromeUtils.import( const { ExperimentAPI } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.jsm" "resource://nimbus/ExperimentAPI.sys.mjs"
); );
ChromeUtils.defineESModuleGetters(this, { ChromeUtils.defineESModuleGetters(this, {
JSONFile: "resource://gre/modules/JSONFile.sys.mjs", JSONFile: "resource://gre/modules/JSONFile.sys.mjs",

View File

@@ -3,12 +3,12 @@
const { const {
ExperimentAPI, ExperimentAPI,
_ExperimentFeature: ExperimentFeature, _ExperimentFeature: ExperimentFeature,
} = ChromeUtils.import("resource://nimbus/ExperimentAPI.jsm"); } = ChromeUtils.importESModule("resource://nimbus/ExperimentAPI.sys.mjs");
const { ExperimentManager } = ChromeUtils.import( const { ExperimentManager } = ChromeUtils.importESModule(
"resource://nimbus/lib/ExperimentManager.jsm" "resource://nimbus/lib/ExperimentManager.sys.mjs"
); );
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { TelemetryTestUtils } = ChromeUtils.importESModule( const { TelemetryTestUtils } = ChromeUtils.importESModule(
"resource://testing-common/TelemetryTestUtils.sys.mjs" "resource://testing-common/TelemetryTestUtils.sys.mjs"

View File

@@ -3,14 +3,14 @@
"use strict"; "use strict";
const { ExperimentAPI } = ChromeUtils.import( const { ExperimentAPI } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.jsm" "resource://nimbus/ExperimentAPI.sys.mjs"
); );
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { ExperimentManager } = ChromeUtils.import( const { ExperimentManager } = ChromeUtils.importESModule(
"resource://nimbus/lib/ExperimentManager.jsm" "resource://nimbus/lib/ExperimentManager.sys.mjs"
); );
const EXPERIMENT_VALUE = "experiment-value"; const EXPERIMENT_VALUE = "experiment-value";

View File

@@ -3,17 +3,17 @@
const { RemoteSettings } = ChromeUtils.importESModule( const { RemoteSettings } = ChromeUtils.importESModule(
"resource://services-settings/remote-settings.sys.mjs" "resource://services-settings/remote-settings.sys.mjs"
); );
const { RemoteSettingsExperimentLoader } = ChromeUtils.import( const { RemoteSettingsExperimentLoader } = ChromeUtils.importESModule(
"resource://nimbus/lib/RemoteSettingsExperimentLoader.jsm" "resource://nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs"
); );
const { ExperimentAPI } = ChromeUtils.import( const { ExperimentAPI } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.jsm" "resource://nimbus/ExperimentAPI.sys.mjs"
); );
const { ExperimentManager } = ChromeUtils.import( const { ExperimentManager } = ChromeUtils.importESModule(
"resource://nimbus/lib/ExperimentManager.jsm" "resource://nimbus/lib/ExperimentManager.sys.mjs"
); );
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
let rsClient; let rsClient;

View File

@@ -5,14 +5,14 @@
const { RemoteSettings } = ChromeUtils.importESModule( const { RemoteSettings } = ChromeUtils.importESModule(
"resource://services-settings/remote-settings.sys.mjs" "resource://services-settings/remote-settings.sys.mjs"
); );
const { RemoteSettingsExperimentLoader } = ChromeUtils.import( const { RemoteSettingsExperimentLoader } = ChromeUtils.importESModule(
"resource://nimbus/lib/RemoteSettingsExperimentLoader.jsm" "resource://nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs"
); );
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { ExperimentManager } = ChromeUtils.import( const { ExperimentManager } = ChromeUtils.importESModule(
"resource://nimbus/lib/ExperimentManager.jsm" "resource://nimbus/lib/ExperimentManager.sys.mjs"
); );
async function setup(recipes) { async function setup(recipes) {

View File

@@ -3,14 +3,14 @@
"use strict"; "use strict";
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { ExperimentManager } = ChromeUtils.import( const { ExperimentManager } = ChromeUtils.importESModule(
"resource://nimbus/lib/ExperimentManager.jsm" "resource://nimbus/lib/ExperimentManager.sys.mjs"
); );
const { ExperimentAPI } = ChromeUtils.import( const { ExperimentAPI } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.jsm" "resource://nimbus/ExperimentAPI.sys.mjs"
); );
function getRecipe(slug) { function getRecipe(slug) {

View File

@@ -10,15 +10,15 @@ const {
_ExperimentFeature: ExperimentFeature, _ExperimentFeature: ExperimentFeature,
ExperimentAPI, ExperimentAPI,
} = ChromeUtils.import("resource://nimbus/ExperimentAPI.jsm"); } = ChromeUtils.importESModule("resource://nimbus/ExperimentAPI.sys.mjs");
const { ExperimentTestUtils } = ChromeUtils.import( const { ExperimentTestUtils } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { ExperimentManager } = ChromeUtils.import( const { ExperimentManager } = ChromeUtils.importESModule(
"resource://nimbus/lib/ExperimentManager.jsm" "resource://nimbus/lib/ExperimentManager.sys.mjs"
); );
const { RemoteSettingsExperimentLoader } = ChromeUtils.import( const { RemoteSettingsExperimentLoader } = ChromeUtils.importESModule(
"resource://nimbus/lib/RemoteSettingsExperimentLoader.jsm" "resource://nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs"
); );
const FOO_FAKE_FEATURE_MANIFEST = { const FOO_FAKE_FEATURE_MANIFEST = {

View File

@@ -8,10 +8,10 @@ const { sinon } = ChromeUtils.importESModule(
"resource://testing-common/Sinon.sys.mjs" "resource://testing-common/Sinon.sys.mjs"
); );
XPCOMUtils.defineLazyModuleGetters(this, { ChromeUtils.defineESModuleGetters(this, {
ExperimentManager: "resource://nimbus/lib/ExperimentManager.jsm", ExperimentManager: "resource://nimbus/lib/ExperimentManager.sys.mjs",
ExperimentTestUtils: "resource://testing-common/NimbusTestUtils.jsm", ExperimentTestUtils: "resource://testing-common/NimbusTestUtils.sys.mjs",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.jsm", ExperimentFakes: "resource://testing-common/NimbusTestUtils.sys.mjs",
}); });
add_setup(function() { add_setup(function() {

View File

@@ -7,7 +7,7 @@ const { sinon } = ChromeUtils.importESModule(
const { XPCOMUtils } = ChromeUtils.importESModule( const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs" "resource://gre/modules/XPCOMUtils.sys.mjs"
); );
XPCOMUtils.defineLazyModuleGetters(this, { ChromeUtils.defineESModuleGetters(this, {
ExperimentFakes: "resource://testing-common/NimbusTestUtils.jsm", ExperimentFakes: "resource://testing-common/NimbusTestUtils.sys.mjs",
ExperimentTestUtils: "resource://testing-common/NimbusTestUtils.jsm", ExperimentTestUtils: "resource://testing-common/NimbusTestUtils.sys.mjs",
}); });

View File

@@ -1,10 +1,10 @@
"use strict"; "use strict";
const { ExperimentAPI } = ChromeUtils.import( const { ExperimentAPI } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.jsm" "resource://nimbus/ExperimentAPI.sys.mjs"
); );
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { TestUtils } = ChromeUtils.importESModule( const { TestUtils } = ChromeUtils.importESModule(
"resource://testing-common/TestUtils.sys.mjs" "resource://testing-common/TestUtils.sys.mjs"

View File

@@ -3,9 +3,9 @@
const { const {
ExperimentAPI, ExperimentAPI,
_ExperimentFeature: ExperimentFeature, _ExperimentFeature: ExperimentFeature,
} = ChromeUtils.import("resource://nimbus/ExperimentAPI.jsm"); } = ChromeUtils.importESModule("resource://nimbus/ExperimentAPI.sys.mjs");
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
async function setupForExperimentFeature() { async function setupForExperimentFeature() {

View File

@@ -3,9 +3,9 @@
const { const {
ExperimentAPI, ExperimentAPI,
_ExperimentFeature: ExperimentFeature, _ExperimentFeature: ExperimentFeature,
} = ChromeUtils.import("resource://nimbus/ExperimentAPI.jsm"); } = ChromeUtils.importESModule("resource://nimbus/ExperimentAPI.sys.mjs");
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { cleanupStorePrefCache } = ExperimentFakes; const { cleanupStorePrefCache } = ExperimentFakes;

View File

@@ -3,7 +3,7 @@
const { const {
ExperimentAPI, ExperimentAPI,
_ExperimentFeature: ExperimentFeature, _ExperimentFeature: ExperimentFeature,
} = ChromeUtils.import("resource://nimbus/ExperimentAPI.jsm"); } = ChromeUtils.importESModule("resource://nimbus/ExperimentAPI.sys.mjs");
const { AppConstants } = ChromeUtils.importESModule( const { AppConstants } = ChromeUtils.importESModule(
"resource://gre/modules/AppConstants.sys.mjs" "resource://gre/modules/AppConstants.sys.mjs"
); );

View File

@@ -3,7 +3,7 @@
const { const {
ExperimentAPI, ExperimentAPI,
_ExperimentFeature: ExperimentFeature, _ExperimentFeature: ExperimentFeature,
} = ChromeUtils.import("resource://nimbus/ExperimentAPI.jsm"); } = ChromeUtils.importESModule("resource://nimbus/ExperimentAPI.sys.mjs");
const { JsonSchema } = ChromeUtils.importESModule( const { JsonSchema } = ChromeUtils.importESModule(
"resource://gre/modules/JsonSchema.sys.mjs" "resource://gre/modules/JsonSchema.sys.mjs"

View File

@@ -1,7 +1,7 @@
"use strict"; "use strict";
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { FirstStartup } = ChromeUtils.importESModule( const { FirstStartup } = ChromeUtils.importESModule(

View File

@@ -11,8 +11,8 @@ const { ClientEnvironment } = ChromeUtils.import(
); );
const { cleanupStorePrefCache } = ExperimentFakes; const { cleanupStorePrefCache } = ExperimentFakes;
const { ExperimentStore } = ChromeUtils.import( const { ExperimentStore } = ChromeUtils.importESModule(
"resource://nimbus/lib/ExperimentStore.jsm" "resource://nimbus/lib/ExperimentStore.sys.mjs"
); );
const { TelemetryEnvironment } = ChromeUtils.importESModule( const { TelemetryEnvironment } = ChromeUtils.importESModule(
"resource://gre/modules/TelemetryEnvironment.sys.mjs" "resource://gre/modules/TelemetryEnvironment.sys.mjs"

View File

@@ -1,6 +1,6 @@
"use strict"; "use strict";
const { ExperimentManager } = ChromeUtils.import( const { ExperimentManager } = ChromeUtils.importESModule(
"resource://nimbus/lib/ExperimentManager.jsm" "resource://nimbus/lib/ExperimentManager.sys.mjs"
); );
const TEST_CONFIG = { const TEST_CONFIG = {

View File

@@ -4,7 +4,7 @@
const { const {
_ExperimentFeature: ExperimentFeature, _ExperimentFeature: ExperimentFeature,
NimbusFeatures, NimbusFeatures,
} = ChromeUtils.import("resource://nimbus/ExperimentAPI.jsm"); } = ChromeUtils.importESModule("resource://nimbus/ExperimentAPI.sys.mjs");
const { PrefUtils } = ChromeUtils.import( const { PrefUtils } = ChromeUtils.import(
"resource://normandy/lib/PrefUtils.jsm" "resource://normandy/lib/PrefUtils.jsm"

View File

@@ -1,7 +1,7 @@
"use strict"; "use strict";
const { ExperimentStore } = ChromeUtils.import( const { ExperimentStore } = ChromeUtils.importESModule(
"resource://nimbus/lib/ExperimentStore.jsm" "resource://nimbus/lib/ExperimentStore.sys.mjs"
); );
const { FeatureManifest } = ChromeUtils.import( const { FeatureManifest } = ChromeUtils.import(
"resource://nimbus/FeatureManifest.js" "resource://nimbus/FeatureManifest.js"

View File

@@ -1,7 +1,7 @@
"use strict"; "use strict";
const { ExperimentFakes, ExperimentTestUtils } = ChromeUtils.import( const { ExperimentFakes, ExperimentTestUtils } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
add_task(async function test_recipe_fake_validates() { add_task(async function test_recipe_fake_validates() {

View File

@@ -1,16 +1,16 @@
"use strict"; "use strict";
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { ExperimentManager } = ChromeUtils.import( const { ExperimentManager } = ChromeUtils.importESModule(
"resource://nimbus/lib/ExperimentManager.jsm" "resource://nimbus/lib/ExperimentManager.sys.mjs"
); );
const { const {
RemoteSettingsExperimentLoader, RemoteSettingsExperimentLoader,
EnrollmentsContext, EnrollmentsContext,
} = ChromeUtils.import( } = ChromeUtils.importESModule(
"resource://nimbus/lib/RemoteSettingsExperimentLoader.jsm" "resource://nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs"
); );
const { TestUtils } = ChromeUtils.importESModule( const { TestUtils } = ChromeUtils.importESModule(
"resource://testing-common/TestUtils.sys.mjs" "resource://testing-common/TestUtils.sys.mjs"

View File

@@ -1,16 +1,16 @@
"use strict"; "use strict";
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { FirstStartup } = ChromeUtils.importESModule( const { FirstStartup } = ChromeUtils.importESModule(
"resource://gre/modules/FirstStartup.sys.mjs" "resource://gre/modules/FirstStartup.sys.mjs"
); );
const { NimbusFeatures } = ChromeUtils.import( const { NimbusFeatures } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.jsm" "resource://nimbus/ExperimentAPI.sys.mjs"
); );
const { EnrollmentsContext } = ChromeUtils.import( const { EnrollmentsContext } = ChromeUtils.importESModule(
"resource://nimbus/lib/RemoteSettingsExperimentLoader.jsm" "resource://nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs"
); );
const { PanelTestProvider } = ChromeUtils.import( const { PanelTestProvider } = ChromeUtils.import(
"resource://activity-stream/lib/PanelTestProvider.jsm" "resource://activity-stream/lib/PanelTestProvider.jsm"

View File

@@ -1,5 +1,5 @@
const { SharedDataMap } = ChromeUtils.import( const { SharedDataMap } = ChromeUtils.importESModule(
"resource://nimbus/lib/SharedDataMap.jsm" "resource://nimbus/lib/SharedDataMap.sys.mjs"
); );
const { FileTestUtils } = ChromeUtils.importESModule( const { FileTestUtils } = ChromeUtils.importESModule(
"resource://testing-common/FileTestUtils.sys.mjs" "resource://testing-common/FileTestUtils.sys.mjs"

View File

@@ -19,6 +19,11 @@ const { setTimeout } = ChromeUtils.importESModule(
const lazy = {}; const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
ExperimentManager: "resource://nimbus/lib/ExperimentManager.sys.mjs",
RemoteSettingsExperimentLoader:
"resource://nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs",
TelemetryUtils: "resource://gre/modules/TelemetryUtils.sys.mjs", TelemetryUtils: "resource://gre/modules/TelemetryUtils.sys.mjs",
}); });
@@ -33,9 +38,6 @@ XPCOMUtils.defineLazyModuleGetters(lazy, {
RecipeRunner: "resource://normandy/lib/RecipeRunner.jsm", RecipeRunner: "resource://normandy/lib/RecipeRunner.jsm",
ShieldPreferences: "resource://normandy/lib/ShieldPreferences.jsm", ShieldPreferences: "resource://normandy/lib/ShieldPreferences.jsm",
TelemetryEvents: "resource://normandy/lib/TelemetryEvents.jsm", TelemetryEvents: "resource://normandy/lib/TelemetryEvents.jsm",
ExperimentManager: "resource://nimbus/lib/ExperimentManager.jsm",
RemoteSettingsExperimentLoader:
"resource://nimbus/lib/RemoteSettingsExperimentLoader.jsm",
}); });
var EXPORTED_SYMBOLS = ["Normandy"]; var EXPORTED_SYMBOLS = ["Normandy"];

View File

@@ -10,11 +10,9 @@ const { BaseStudyAction } = ChromeUtils.import(
const lazy = {}; const lazy = {};
ChromeUtils.defineModuleGetter( ChromeUtils.defineESModuleGetters(lazy, {
lazy, ExperimentManager: "resource://nimbus/lib/ExperimentManager.sys.mjs",
"ExperimentManager", });
"resource://nimbus/lib/ExperimentManager.jsm"
);
ChromeUtils.defineModuleGetter( ChromeUtils.defineModuleGetter(
lazy, lazy,

View File

@@ -29,16 +29,11 @@ ChromeUtils.defineModuleGetter(
"RecipeRunner", "RecipeRunner",
"resource://normandy/lib/RecipeRunner.jsm" "resource://normandy/lib/RecipeRunner.jsm"
); );
ChromeUtils.defineModuleGetter( ChromeUtils.defineESModuleGetters(lazy, {
lazy, ExperimentManager: "resource://nimbus/lib/ExperimentManager.sys.mjs",
"ExperimentManager", RemoteSettingsExperimentLoader:
"resource://nimbus/lib/ExperimentManager.jsm" "resource://nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs",
); });
ChromeUtils.defineModuleGetter(
lazy,
"RemoteSettingsExperimentLoader",
"resource://nimbus/lib/RemoteSettingsExperimentLoader.jsm"
);
var EXPORTED_SYMBOLS = ["AboutPages"]; var EXPORTED_SYMBOLS = ["AboutPages"];

View File

@@ -2,12 +2,10 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const lazy = {}; const lazy = {};
XPCOMUtils.defineLazyModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm", ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm", NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
}); });
const FEATURE_ID = "legacyHeartbeat"; const FEATURE_ID = "legacyHeartbeat";

View File

@@ -13,11 +13,11 @@ const { Heartbeat } = ChromeUtils.import(
"resource://normandy/lib/Heartbeat.jsm" "resource://normandy/lib/Heartbeat.jsm"
); );
const { Normandy } = ChromeUtils.import("resource://normandy/Normandy.jsm"); const { Normandy } = ChromeUtils.import("resource://normandy/Normandy.jsm");
const { ExperimentAPI } = ChromeUtils.import( const { ExperimentAPI } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.jsm" "resource://nimbus/ExperimentAPI.sys.mjs"
); );
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { RecipeRunner } = ChromeUtils.import( const { RecipeRunner } = ChromeUtils.import(
"resource://normandy/lib/RecipeRunner.jsm" "resource://normandy/lib/RecipeRunner.jsm"

View File

@@ -6,14 +6,14 @@ const { PreferenceExperiments } = ChromeUtils.import(
const { RecipeRunner } = ChromeUtils.import( const { RecipeRunner } = ChromeUtils.import(
"resource://normandy/lib/RecipeRunner.jsm" "resource://normandy/lib/RecipeRunner.jsm"
); );
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const { ExperimentManager } = ChromeUtils.import( const { ExperimentManager } = ChromeUtils.importESModule(
"resource://nimbus/lib/ExperimentManager.jsm" "resource://nimbus/lib/ExperimentManager.sys.mjs"
); );
const { RemoteSettingsExperimentLoader } = ChromeUtils.import( const { RemoteSettingsExperimentLoader } = ChromeUtils.importESModule(
"resource://nimbus/lib/RemoteSettingsExperimentLoader.jsm" "resource://nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs"
); );
const { NormandyTestUtils } = ChromeUtils.import( const { NormandyTestUtils } = ChromeUtils.import(

View File

@@ -8,8 +8,8 @@ const { MessagingExperimentAction } = ChromeUtils.import(
"resource://normandy/actions/MessagingExperimentAction.jsm" "resource://normandy/actions/MessagingExperimentAction.jsm"
); );
const { _ExperimentManager, ExperimentManager } = ChromeUtils.import( const { _ExperimentManager, ExperimentManager } = ChromeUtils.importESModule(
"resource://nimbus/lib/ExperimentManager.jsm" "resource://nimbus/lib/ExperimentManager.sys.mjs"
); );
decorate_task( decorate_task(

View File

@@ -37,12 +37,12 @@ XPCOMUtils.defineLazyGetter(lazy, "PasswordRulesManager", () => {
ChromeUtils.defineESModuleGetters(lazy, { ChromeUtils.defineESModuleGetters(lazy, {
ChromeMigrationUtils: "resource:///modules/ChromeMigrationUtils.sys.mjs", ChromeMigrationUtils: "resource:///modules/ChromeMigrationUtils.sys.mjs",
MigrationUtils: "resource:///modules/MigrationUtils.sys.mjs", MigrationUtils: "resource:///modules/MigrationUtils.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs", PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
}); });
XPCOMUtils.defineLazyModuleGetters(lazy, { XPCOMUtils.defineLazyModuleGetters(lazy, {
FirefoxRelay: "resource://gre/modules/FirefoxRelay.jsm", FirefoxRelay: "resource://gre/modules/FirefoxRelay.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
LoginHelper: "resource://gre/modules/LoginHelper.jsm", LoginHelper: "resource://gre/modules/LoginHelper.jsm",
PasswordGenerator: "resource://gre/modules/PasswordGenerator.jsm", PasswordGenerator: "resource://gre/modules/PasswordGenerator.jsm",
}); });

View File

@@ -1,8 +1,8 @@
const { ChromeMigrationUtils } = ChromeUtils.import( const { ChromeMigrationUtils } = ChromeUtils.import(
"resource:///modules/ChromeMigrationUtils.jsm" "resource:///modules/ChromeMigrationUtils.jsm"
); );
const { ExperimentAPI } = ChromeUtils.import( const { ExperimentAPI } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.jsm" "resource://nimbus/ExperimentAPI.sys.mjs"
); );
const { sinon } = ChromeUtils.importESModule( const { sinon } = ChromeUtils.importESModule(

View File

@@ -3,8 +3,8 @@
"use strict"; "use strict";
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const EXPERIMENT_CLASS_NAME = "experiment"; const EXPERIMENT_CLASS_NAME = "experiment";

View File

@@ -3,8 +3,8 @@
"use strict"; "use strict";
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const PIP_EXPERIMENT_MESSAGE = "Hello world message"; const PIP_EXPERIMENT_MESSAGE = "Hello world message";

View File

@@ -3,8 +3,8 @@
"use strict"; "use strict";
const { ExperimentFakes } = ChromeUtils.import( const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.jsm" "resource://testing-common/NimbusTestUtils.sys.mjs"
); );
const PIP_EXPERIMENT_MESSAGE = "Hello world message"; const PIP_EXPERIMENT_MESSAGE = "Hello world message";

Some files were not shown because too many files have changed in this diff Show More