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 = {};
XPCOMUtils.defineLazyModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
ChromeUtils.defineESModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
});
XPCOMUtils.defineLazyPreferenceGetter(

View File

@@ -3,15 +3,13 @@
* 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/. */
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
import { RemotePageChild } from "resource://gre/actors/RemotePageChild.sys.mjs";
const lazy = {};
XPCOMUtils.defineLazyModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm",
ChromeUtils.defineESModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
});
export class AboutPrivateBrowsingChild extends RemotePageChild {

View File

@@ -9,15 +9,11 @@ const { UIState } = ChromeUtils.importESModule(
"resource://services-sync/UIState.sys.mjs"
);
ChromeUtils.defineModuleGetter(
this,
"ExperimentAPI",
"resource://nimbus/ExperimentAPI.jsm"
);
ChromeUtils.defineESModuleGetters(this, {
EnsureFxAccountsWebChannel:
"resource://gre/modules/FxAccountsWebChannel.sys.mjs",
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
FxAccounts: "resource://gre/modules/FxAccounts.sys.mjs",
SyncedTabs: "resource://services-sync/SyncedTabs.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",
MigrationUtils: "resource:///modules/MigrationUtils.sys.mjs",
NewTabUtils: "resource://gre/modules/NewTabUtils.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
PictureInPicture: "resource://gre/modules/PictureInPicture.sys.mjs",
PlacesTransactions: "resource://gre/modules/PlacesTransactions.sys.mjs",
PlacesUIUtils: "resource:///modules/PlacesUIUtils.sys.mjs",
@@ -78,7 +79,6 @@ XPCOMUtils.defineLazyModuleGetters(this, {
CFRPageActions: "resource://activity-stream/lib/CFRPageActions.jsm",
CustomizableUI: "resource:///modules/CustomizableUI.jsm",
DownloadUtils: "resource://gre/modules/DownloadUtils.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
ExtensionsUI: "resource:///modules/ExtensionsUI.jsm",
HomePage: "resource:///modules/HomePage.jsm",
LoginHelper: "resource://gre/modules/LoginHelper.jsm",

View File

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

View File

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

View File

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

View File

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

View File

@@ -15,17 +15,14 @@ ChromeUtils.defineESModuleGetters(lazy, {
AsyncShutdown: "resource://gre/modules/AsyncShutdown.sys.mjs",
ClientID: "resource://gre/modules/ClientID.sys.mjs",
DoHConfigController: "resource:///modules/DoHConfig.sys.mjs",
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
Heuristics: "resource:///modules/DoHHeuristics.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
Preferences: "resource://gre/modules/Preferences.sys.mjs",
clearTimeout: "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
// as sending observer notifications during heuristics throttling.
XPCOMUtils.defineLazyPreferenceGetter(

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -3,10 +3,6 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
const {
actionCreators: ac,
actionTypes: at,
@@ -24,7 +20,9 @@ const { AboutNewTab } = ChromeUtils.import(
const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
NewTabUtils: "resource://gre/modules/NewTabUtils.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
PartnerLinkAttribution: "resource:///modules/PartnerLinkAttribution.sys.mjs",
PlacesUtils: "resource://gre/modules/PlacesUtils.sys.mjs",
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
@@ -34,14 +32,6 @@ ChromeUtils.defineModuleGetter(
"pktApi",
"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 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(
"resource://activity-stream/common/Actions.sys.mjs"
);
const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
const { Prefs } = ChromeUtils.import(
"resource://activity-stream/lib/ActivityStreamPrefs.jsm"
);
@@ -19,14 +16,11 @@ const { AppConstants } = ChromeUtils.importESModule(
const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
Region: "resource://gre/modules/Region.sys.mjs",
});
XPCOMUtils.defineLazyModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
class PrefsFeed {
constructor(prefMap) {
this._prefMap = prefMap;

View File

@@ -6,9 +6,6 @@
const { EventEmitter } = ChromeUtils.importESModule(
"resource://gre/modules/EventEmitter.sys.mjs"
);
const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
const { actionCreators: ac, actionTypes: at } = ChromeUtils.importESModule(
"resource://activity-stream/common/Actions.sys.mjs"
);
@@ -19,13 +16,10 @@ const { getDefaultOptions } = ChromeUtils.import(
const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.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.
* 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, {
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",
TelemetryEnvironment: "resource://gre/modules/TelemetryEnvironment.sys.mjs",
TelemetrySession: "resource://gre/modules/TelemetrySession.sys.mjs",
@@ -61,11 +63,6 @@ ChromeUtils.defineModuleGetter(
"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 DOMWINDOW_OPENED_TOPIC = "domwindowopened";
const DOMWINDOW_UNLOAD_TOPIC = "unload";

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -5,10 +5,7 @@ XPCOMUtils.defineLazyModuleGetters(this, {
ASRouterTargeting: "resource://activity-stream/lib/ASRouterTargeting.jsm",
BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.jsm",
CFRMessageProvider: "resource://activity-stream/lib/CFRMessageProvider.jsm",
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.jsm",
HomePage: "resource:///modules/HomePage.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
QueryCache: "resource://activity-stream/lib/ASRouterTargeting.jsm",
ShellService: "resource:///modules/ShellService.jsm",
});
@@ -16,8 +13,11 @@ ChromeUtils.defineESModuleGetters(this, {
AppConstants: "resource://gre/modules/AppConstants.sys.mjs",
AttributionCode: "resource:///modules/AttributionCode.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",
NewTabUtils: "resource://gre/modules/NewTabUtils.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
PlacesTestUtils: "resource://testing-common/PlacesTestUtils.sys.mjs",
ProfileAge: "resource://gre/modules/ProfileAge.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"
);
const { ExperimentFakes } = ChromeUtils.import(
"resource://testing-common/NimbusTestUtils.jsm"
const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.sys.mjs"
);
let sendTriggerMessageSpy;

View File

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

View File

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

View File

@@ -45,6 +45,8 @@
/* eslint-env mozilla/browser-window */
ChromeUtils.defineESModuleGetters(this, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
ReaderMode: "resource://gre/modules/ReaderMode.sys.mjs",
});
@@ -63,14 +65,6 @@ ChromeUtils.defineModuleGetter(
"pktTelemetry",
"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_LOCLES_PREF = "extensions.pocket.onSaveRecs.locales";

View File

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

View File

@@ -2,6 +2,8 @@
* http://creativecommons.org/publicdomain/zero/1.0/ */
ChromeUtils.defineESModuleGetters(this, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.sys.mjs",
FileUtils: "resource://gre/modules/FileUtils.sys.mjs",
PlacesTestUtils: "resource://testing-common/PlacesTestUtils.sys.mjs",
PlacesUtils: "resource://gre/modules/PlacesUtils.sys.mjs",
@@ -10,8 +12,6 @@ ChromeUtils.defineESModuleGetters(this, {
XPCOMUtils.defineLazyModuleGetters(this, {
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",
});

View File

@@ -2,11 +2,11 @@
* 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/. */
const { ExperimentAPI } = ChromeUtils.import(
"resource://nimbus/ExperimentAPI.jsm"
const { ExperimentAPI } = ChromeUtils.importESModule(
"resource://nimbus/ExperimentAPI.sys.mjs"
);
const { ExperimentFakes } = ChromeUtils.import(
"resource://testing-common/NimbusTestUtils.jsm"
const { ExperimentFakes } = ChromeUtils.importESModule(
"resource://testing-common/NimbusTestUtils.sys.mjs"
);
ChromeUtils.defineESModuleGetters(this, {

View File

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

View File

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

View File

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

View File

@@ -2,15 +2,12 @@
* http://creativecommons.org/publicdomain/zero/1.0/ */
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",
});
XPCOMUtils.defineLazyModuleGetters(this, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
const userChoiceStub = sinon
.stub(ShellService, "setAsDefaultUserChoice")
.resolves();

View File

@@ -2,15 +2,12 @@
* http://creativecommons.org/publicdomain/zero/1.0/ */
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",
});
XPCOMUtils.defineLazyModuleGetters(this, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm",
ExperimentFakes: "resource://testing-common/NimbusTestUtils.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
XPCOMUtils.defineLazyServiceGetter(
this,
"XreDirProvider",

View File

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

View File

@@ -7,13 +7,13 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
UrlbarPrefs: "resource:///modules/UrlbarPrefs.sys.mjs",
UrlbarUtils: "resource:///modules/UrlbarUtils.sys.mjs",
});
XPCOMUtils.defineLazyModuleGetters(lazy, {
BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
// 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.
*/
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
Region: "resource://gre/modules/Region.sys.mjs",
TelemetryEnvironment: "resource://gre/modules/TelemetryEnvironment.sys.mjs",
UrlbarUtils: "resource:///modules/UrlbarUtils.sys.mjs",
});
XPCOMUtils.defineLazyModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
const PREF_URLBAR_BRANCH = "browser.urlbar.";
// Prefs are defined as [pref name, default value] or [pref name, [default

View File

@@ -14,8 +14,14 @@ const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
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:
"resource://testing-common/FormHistoryTestUtils.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
TestUtils: "resource://testing-common/TestUtils.sys.mjs",
UrlbarController: "resource:///modules/UrlbarController.sys.mjs",
@@ -28,10 +34,6 @@ XPCOMUtils.defineLazyModuleGetters(lazy, {
AddonTestUtils: "resource://testing-common/AddonTestUtils.jsm",
BrowserUIUtils: "resource:///modules/BrowserUIUtils.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 = {

View File

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

View File

@@ -3,8 +3,6 @@
/* eslint-disable mozilla/valid-lazy */
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
import {
CONTEXTUAL_SERVICES_PING_TYPES,
PartnerLinkAttribution,
@@ -13,6 +11,9 @@ import {
const 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",
SearchUtils: "resource://gre/modules/SearchUtils.sys.mjs",
TelemetryTestUtils: "resource://testing-common/TelemetryTestUtils.sys.mjs",
@@ -25,12 +26,6 @@ ChromeUtils.defineESModuleGetters(lazy, {
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;
// Test utils singletons need special handling. Since they are uninitialized in

View File

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

View File

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

View File

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

View File

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

View File

@@ -9,6 +9,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
ContentDOMReference: "resource://gre/modules/ContentDOMReference.sys.mjs",
DeferredTask: "resource://gre/modules/DeferredTask.sys.mjs",
KEYBOARD_CONTROLS: "resource://gre/modules/PictureInPictureControls.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
Rect: "resource://gre/modules/Geometry.sys.mjs",
TOGGLE_POLICIES: "resource://gre/modules/PictureInPictureControls.sys.mjs",
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 { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
XPCOMUtils.defineLazyModuleGetters(lazy, {
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
XPCOMUtils.defineLazyPreferenceGetter(
lazy,
"DISPLAY_TEXT_TRACKS_PREF",

View File

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

View File

@@ -28,13 +28,18 @@ XPCOMUtils.defineLazyServiceGetter(
"nsIToolkitProfileService"
);
ChromeUtils.defineESModuleGetters(lazy, {
ExperimentManager: "resource://nimbus/lib/ExperimentManager.sys.mjs",
RemoteSettingsExperimentLoader:
"resource://nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs",
});
XPCOMUtils.defineLazyModuleGetters(lazy, {
ASRouter: "resource://activity-stream/lib/ASRouter.jsm",
ASRouterDefaultConfig:
"resource://activity-stream/lib/ASRouterDefaultConfig.jsm",
ExperimentManager: "resource://nimbus/lib/ExperimentManager.jsm",
RemoteSettingsExperimentLoader:
"resource://nimbus/lib/RemoteSettingsExperimentLoader.jsm",
});
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
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
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"
);
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
import { AppConstants } from "resource://gre/modules/AppConstants.sys.mjs";
const 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",
});
XPCOMUtils.defineLazyModuleGetters(lazy, {
ExperimentStore: "resource://nimbus/lib/ExperimentStore.jsm",
ExperimentManager: "resource://nimbus/lib/ExperimentManager.jsm",
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
*/
@@ -305,14 +293,15 @@ const ExperimentAPI = {
* Singleton that holds lazy references to _ExperimentFeature instances
* defined by the FeatureManifest
*/
const NimbusFeatures = {};
export const NimbusFeatures = {};
for (let feature in lazy.FeatureManifest) {
XPCOMUtils.defineLazyGetter(NimbusFeatures, feature, () => {
return new _ExperimentFeature(feature);
});
}
class _ExperimentFeature {
export class _ExperimentFeature {
constructor(featureId, manifest) {
this.featureId = featureId;
this.prefGetters = {};

View File

@@ -4,8 +4,8 @@
toolkit.jar:
% resource nimbus %res/nimbus/
res/nimbus/lib/ (./lib/*.jsm)
res/nimbus/ExperimentAPI.jsm (./ExperimentAPI.jsm)
res/nimbus/lib/ (./lib/*.sys.mjs)
res/nimbus/ExperimentAPI.sys.mjs (./ExperimentAPI.sys.mjs)
res/nimbus/FeatureManifest.js (FeatureManifest.js)
res/nimbus/schemas/NimbusEnrollment.schema.json (./schemas/NimbusEnrollment.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
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
const EXPORTED_SYMBOLS = ["ExperimentManager", "_ExperimentManager"];
const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
ExperimentStore: "resource://nimbus/lib/ExperimentStore.sys.mjs",
FirstStartup: "resource://gre/modules/FirstStartup.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
Sampling: "resource://gre/modules/components-utils/Sampling.sys.mjs",
TelemetryEnvironment: "resource://gre/modules/TelemetryEnvironment.sys.mjs",
});
XPCOMUtils.defineLazyModuleGetters(lazy, {
ClientEnvironment: "resource://normandy/lib/ClientEnvironment.jsm",
ExperimentStore: "resource://nimbus/lib/ExperimentStore.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
NormandyUtils: "resource://normandy/lib/NormandyUtils.jsm",
TelemetryEvents: "resource://normandy/lib/TelemetryEvents.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,
* and sending experiment-related Telemetry.
*/
class _ExperimentManager {
export class _ExperimentManager {
constructor({ id = "experimentmanager", store } = {}) {
this.id = id;
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
* 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 = {};
XPCOMUtils.defineLazyModuleGetters(lazy, {
FeatureManifest: "resource://nimbus/FeatureManifest.js",
@@ -233,7 +227,7 @@ function featuresCompat(branch) {
return features;
}
class ExperimentStore extends SharedDataMap {
export class ExperimentStore extends SharedDataMap {
static SYNC_DATA_PREF_BRANCH = SYNC_DATA_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
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
const EXPORTED_SYMBOLS = [
"_RemoteSettingsExperimentLoader",
"RemoteSettingsExperimentLoader",
"EnrollmentsContext",
];
const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
ExperimentManager: "resource://nimbus/lib/ExperimentManager.sys.mjs",
JsonSchema: "resource://gre/modules/JsonSchema.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
RemoteSettings: "resource://services-settings/remote-settings.sys.mjs",
TargetingContext: "resource://messaging-system/targeting/Targeting.sys.mjs",
});
XPCOMUtils.defineLazyModuleGetters(lazy, {
ASRouterTargeting: "resource://activity-stream/lib/ASRouterTargeting.jsm",
ExperimentManager: "resource://nimbus/lib/ExperimentManager.jsm",
CleanupManager: "resource://normandy/lib/CleanupManager.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
});
XPCOMUtils.defineLazyGetter(lazy, "log", () => {
@@ -86,7 +76,7 @@ const SCHEMAS = {
},
};
class _RemoteSettingsExperimentLoader {
export class _RemoteSettingsExperimentLoader {
constructor() {
// Has the timer been set?
this._initialized = false;
@@ -368,7 +358,7 @@ class _RemoteSettingsExperimentLoader {
}
}
class EnrollmentsContext {
export class EnrollmentsContext {
constructor(
experimentManager,
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
* 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 = {};
ChromeUtils.defineESModuleGetters(lazy, {
JSONFile: "resource://gre/modules/JSONFile.sys.mjs",
@@ -18,11 +14,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
const IS_MAIN_PROCESS =
Services.appinfo.processType === Services.appinfo.PROCESS_TYPE_DEFAULT;
const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
class SharedDataMap extends EventEmitter {
export class SharedDataMap extends EventEmitter {
constructor(sharedDataKey, options = { isParent: IS_MAIN_PROCESS }) {
super();

View File

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

View File

@@ -2,34 +2,24 @@
* 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/. */
"use strict";
const { XPCOMUtils } = ChromeUtils.importESModule(
"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"
);
import { ExperimentStore } from "resource://nimbus/lib/ExperimentStore.sys.mjs";
import { FileTestUtils } from "resource://testing-common/FileTestUtils.sys.mjs";
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
ExperimentManager: "resource://nimbus/lib/ExperimentManager.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",
});
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",
_RemoteSettingsExperimentLoader:
"resource://nimbus/lib/RemoteSettingsExperimentLoader.jsm",
FeatureManifest: "resource://nimbus/FeatureManifest.js",
});
@@ -46,9 +36,7 @@ async function fetchSchema(url) {
return schema;
}
const EXPORTED_SYMBOLS = ["ExperimentTestUtils", "ExperimentFakes"];
const ExperimentTestUtils = {
export const ExperimentTestUtils = {
_validateSchema(schema, value, errorMsg) {
const result = lazy.JsonSchema.validate(value, schema, {
shortCircuit: false,
@@ -171,7 +159,7 @@ const ExperimentTestUtils = {
},
};
const ExperimentFakes = {
export const ExperimentFakes = {
manager(store) {
let sandbox = lazy.sinon.createSandbox();
let manager = new lazy._ExperimentManager({ store: store || this.store() });

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -19,6 +19,11 @@ const { setTimeout } = ChromeUtils.importESModule(
const 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",
});
@@ -33,9 +38,6 @@ XPCOMUtils.defineLazyModuleGetters(lazy, {
RecipeRunner: "resource://normandy/lib/RecipeRunner.jsm",
ShieldPreferences: "resource://normandy/lib/ShieldPreferences.jsm",
TelemetryEvents: "resource://normandy/lib/TelemetryEvents.jsm",
ExperimentManager: "resource://nimbus/lib/ExperimentManager.jsm",
RemoteSettingsExperimentLoader:
"resource://nimbus/lib/RemoteSettingsExperimentLoader.jsm",
});
var EXPORTED_SYMBOLS = ["Normandy"];

View File

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

View File

@@ -29,16 +29,11 @@ ChromeUtils.defineModuleGetter(
"RecipeRunner",
"resource://normandy/lib/RecipeRunner.jsm"
);
ChromeUtils.defineModuleGetter(
lazy,
"ExperimentManager",
"resource://nimbus/lib/ExperimentManager.jsm"
);
ChromeUtils.defineModuleGetter(
lazy,
"RemoteSettingsExperimentLoader",
"resource://nimbus/lib/RemoteSettingsExperimentLoader.jsm"
);
ChromeUtils.defineESModuleGetters(lazy, {
ExperimentManager: "resource://nimbus/lib/ExperimentManager.sys.mjs",
RemoteSettingsExperimentLoader:
"resource://nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs",
});
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
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const lazy = {};
XPCOMUtils.defineLazyModuleGetters(lazy, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.jsm",
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
ChromeUtils.defineESModuleGetters(lazy, {
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
});
const FEATURE_ID = "legacyHeartbeat";

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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