diff --git a/browser/actors/AboutNewTabChild.sys.mjs b/browser/actors/AboutNewTabChild.sys.mjs index f22883166814..1eeed88e1ac8 100644 --- a/browser/actors/AboutNewTabChild.sys.mjs +++ b/browser/actors/AboutNewTabChild.sys.mjs @@ -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( diff --git a/browser/actors/AboutPrivateBrowsingChild.sys.mjs b/browser/actors/AboutPrivateBrowsingChild.sys.mjs index eda88e4b8993..1433c9cb799f 100644 --- a/browser/actors/AboutPrivateBrowsingChild.sys.mjs +++ b/browser/actors/AboutPrivateBrowsingChild.sys.mjs @@ -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 { diff --git a/browser/base/content/browser-sync.js b/browser/base/content/browser-sync.js index f744bddbc99b..08b536533fe0 100644 --- a/browser/base/content/browser-sync.js +++ b/browser/base/content/browser-sync.js @@ -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", diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js index 8a6bc66381d8..67d6bcb3f45f 100644 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -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", diff --git a/browser/base/content/nonbrowser-mac.js b/browser/base/content/nonbrowser-mac.js index d9dbed78fc3b..c1f6d2c2268c 100644 --- a/browser/base/content/nonbrowser-mac.js +++ b/browser/base/content/nonbrowser-mac.js @@ -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; diff --git a/browser/base/content/test/about/browser_aboutSupport.js b/browser/base/content/test/about/browser_aboutSupport.js index a9b1a1433125..d2fd38dfd30f 100644 --- a/browser/base/content/test/about/browser_aboutSupport.js +++ b/browser/base/content/test/about/browser_aboutSupport.js @@ -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() { diff --git a/browser/components/BrowserContentHandler.sys.mjs b/browser/components/BrowserContentHandler.sys.mjs index 8a42bf114802..0b6aa0df4240 100644 --- a/browser/components/BrowserContentHandler.sys.mjs +++ b/browser/components/BrowserContentHandler.sys.mjs @@ -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, { diff --git a/browser/components/BrowserGlue.sys.mjs b/browser/components/BrowserGlue.sys.mjs index cbc14f676b42..34e323fe8553 100644 --- a/browser/components/BrowserGlue.sys.mjs +++ b/browser/components/BrowserGlue.sys.mjs @@ -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: diff --git a/browser/components/doh/DoHController.sys.mjs b/browser/components/doh/DoHController.sys.mjs index 2d820aac21f4..0f53795cd1ad 100644 --- a/browser/components/doh/DoHController.sys.mjs +++ b/browser/components/doh/DoHController.sys.mjs @@ -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( diff --git a/browser/components/extensions/test/xpcshell/test_ext_settings_overrides_search_mozParam.js b/browser/components/extensions/test/xpcshell/test_ext_settings_overrides_search_mozParam.js index ce44c8080523..c05a24f2f8c5 100644 --- a/browser/components/extensions/test/xpcshell/test_ext_settings_overrides_search_mozParam.js +++ b/browser/components/extensions/test/xpcshell/test_ext_settings_overrides_search_mozParam.js @@ -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" diff --git a/browser/components/newtab/AboutNewTabService.jsm b/browser/components/newtab/AboutNewTabService.jsm index dac03f14833b..6e04e32abf8c 100644 --- a/browser/components/newtab/AboutNewTabService.jsm +++ b/browser/components/newtab/AboutNewTabService.jsm @@ -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", }); /** diff --git a/browser/components/newtab/aboutwelcome/AboutWelcomeChild.jsm b/browser/components/newtab/aboutwelcome/AboutWelcomeChild.jsm index aeba680adfd9..07f4a692b84e 100644 --- a/browser/components/newtab/aboutwelcome/AboutWelcomeChild.jsm +++ b/browser/components/newtab/aboutwelcome/AboutWelcomeChild.jsm @@ -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", () => { diff --git a/browser/components/newtab/lib/ASRouter.jsm b/browser/components/newtab/lib/ASRouter.jsm index f04eda26cc67..0156c503d2ff 100644 --- a/browser/components/newtab/lib/ASRouter.jsm +++ b/browser/components/newtab/lib/ASRouter.jsm @@ -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, { diff --git a/browser/components/newtab/lib/ASRouterTargeting.jsm b/browser/components/newtab/lib/ASRouterTargeting.jsm index 38a637744300..8e978a96806d 100644 --- a/browser/components/newtab/lib/ASRouterTargeting.jsm +++ b/browser/components/newtab/lib/ASRouterTargeting.jsm @@ -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( diff --git a/browser/components/newtab/lib/AboutPreferences.jsm b/browser/components/newtab/lib/AboutPreferences.jsm index 4906728eb29c..476b42b21e93 100644 --- a/browser/components/newtab/lib/AboutPreferences.jsm +++ b/browser/components/newtab/lib/AboutPreferences.jsm @@ -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 diff --git a/browser/components/newtab/lib/DiscoveryStreamFeed.jsm b/browser/components/newtab/lib/DiscoveryStreamFeed.jsm index 2aa56f598ab6..af3b6c1152c7 100644 --- a/browser/components/newtab/lib/DiscoveryStreamFeed.jsm +++ b/browser/components/newtab/lib/DiscoveryStreamFeed.jsm @@ -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 diff --git a/browser/components/newtab/lib/OnboardingMessageProvider.jsm b/browser/components/newtab/lib/OnboardingMessageProvider.jsm index a805bfb0bc4c..590449770731 100644 --- a/browser/components/newtab/lib/OnboardingMessageProvider.jsm +++ b/browser/components/newtab/lib/OnboardingMessageProvider.jsm @@ -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", }); diff --git a/browser/components/newtab/lib/PlacesFeed.jsm b/browser/components/newtab/lib/PlacesFeed.jsm index 8e68ac5c6ed0..27ee47e038bd 100644 --- a/browser/components/newtab/lib/PlacesFeed.jsm +++ b/browser/components/newtab/lib/PlacesFeed.jsm @@ -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 diff --git a/browser/components/newtab/lib/PrefsFeed.jsm b/browser/components/newtab/lib/PrefsFeed.jsm index fb50fe48c64e..a511aa24f825 100644 --- a/browser/components/newtab/lib/PrefsFeed.jsm +++ b/browser/components/newtab/lib/PrefsFeed.jsm @@ -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; diff --git a/browser/components/newtab/lib/SectionsManager.jsm b/browser/components/newtab/lib/SectionsManager.jsm index 81c052397e6e..3e9853203873 100644 --- a/browser/components/newtab/lib/SectionsManager.jsm +++ b/browser/components/newtab/lib/SectionsManager.jsm @@ -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 diff --git a/browser/components/newtab/lib/TelemetryFeed.jsm b/browser/components/newtab/lib/TelemetryFeed.jsm index 9f33b1d40f39..4aa00a4ace36 100644 --- a/browser/components/newtab/lib/TelemetryFeed.jsm +++ b/browser/components/newtab/lib/TelemetryFeed.jsm @@ -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"; diff --git a/browser/components/newtab/lib/ToastNotification.jsm b/browser/components/newtab/lib/ToastNotification.jsm index 4d6193d76fcf..1664a8d60a2c 100644 --- a/browser/components/newtab/lib/ToastNotification.jsm +++ b/browser/components/newtab/lib/ToastNotification.jsm @@ -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", }); diff --git a/browser/components/newtab/lib/TopSitesFeed.jsm b/browser/components/newtab/lib/TopSitesFeed.jsm index 16ce5af2e2d0..ef1634843dc6 100644 --- a/browser/components/newtab/lib/TopSitesFeed.jsm +++ b/browser/components/newtab/lib/TopSitesFeed.jsm @@ -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 = []; diff --git a/browser/components/newtab/test/browser/abouthomecache/browser_experiments_api_control.js b/browser/components/newtab/test/browser/abouthomecache/browser_experiments_api_control.js index bcf1f066d681..a94f1fe05543 100644 --- a/browser/components/newtab/test/browser/abouthomecache/browser_experiments_api_control.js +++ b/browser/components/newtab/test/browser/abouthomecache/browser_experiments_api_control.js @@ -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 () => { diff --git a/browser/components/newtab/test/browser/browser_aboutwelcome_configurable_ui.js b/browser/components/newtab/test/browser/browser_aboutwelcome_configurable_ui.js index c7bebd5baedc..ff3ad2fce0e9 100644 --- a/browser/components/newtab/test/browser/browser_aboutwelcome_configurable_ui.js +++ b/browser/components/newtab/test/browser/browser_aboutwelcome_configurable_ui.js @@ -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( diff --git a/browser/components/newtab/test/browser/browser_aboutwelcome_multistage_experimentAPI.js b/browser/components/newtab/test/browser/browser_aboutwelcome_multistage_experimentAPI.js index b37b848745a1..fea1ca961ac5 100644 --- a/browser/components/newtab/test/browser/browser_aboutwelcome_multistage_experimentAPI.js +++ b/browser/components/newtab/test/browser/browser_aboutwelcome_multistage_experimentAPI.js @@ -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" diff --git a/browser/components/newtab/test/browser/browser_aboutwelcome_rtamo.js b/browser/components/newtab/test/browser/browser_aboutwelcome_rtamo.js index 7c53ea21b221..0bad44cba77c 100644 --- a/browser/components/newtab/test/browser/browser_aboutwelcome_rtamo.js +++ b/browser/components/newtab/test/browser/browser_aboutwelcome_rtamo.js @@ -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 = [ diff --git a/browser/components/newtab/test/browser/browser_asrouter_experimentsAPILoader.js b/browser/components/newtab/test/browser/browser_asrouter_experimentsAPILoader.js index ad8af06ed449..ac2b8703a834 100644 --- a/browser/components/newtab/test/browser/browser_asrouter_experimentsAPILoader.js +++ b/browser/components/newtab/test/browser/browser_asrouter_experimentsAPILoader.js @@ -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" diff --git a/browser/components/newtab/test/browser/browser_asrouter_targeting.js b/browser/components/newtab/test/browser/browser_asrouter_targeting.js index 025a6238d554..a79e6e0cefb9 100644 --- a/browser/components/newtab/test/browser/browser_asrouter_targeting.js +++ b/browser/components/newtab/test/browser/browser_asrouter_targeting.js @@ -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", diff --git a/browser/components/newtab/test/browser/browser_newtab_ping.js b/browser/components/newtab/test/browser/browser_newtab_ping.js index d12f03d50ad2..35b3c2c35704 100644 --- a/browser/components/newtab/test/browser/browser_newtab_ping.js +++ b/browser/components/newtab/test/browser/browser_newtab_ping.js @@ -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; diff --git a/browser/components/newtab/test/browser/browser_trigger_messagesLoaded.js b/browser/components/newtab/test/browser/browser_trigger_messagesLoaded.js index fad36809225d..816871528926 100644 --- a/browser/components/newtab/test/browser/browser_trigger_messagesLoaded.js +++ b/browser/components/newtab/test/browser/browser_trigger_messagesLoaded.js @@ -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"); diff --git a/browser/components/pocket/content/pktApi.jsm b/browser/components/pocket/content/pktApi.jsm index 50da6e6ab99b..c8fd09a79c48 100644 --- a/browser/components/pocket/content/pktApi.jsm +++ b/browser/components/pocket/content/pktApi.jsm @@ -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", diff --git a/browser/components/pocket/content/pktUI.js b/browser/components/pocket/content/pktUI.js index 9ce29b5874e9..37de5c139fc0 100644 --- a/browser/components/pocket/content/pktUI.js +++ b/browser/components/pocket/content/pktUI.js @@ -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"; diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js index 1d2dadc50151..8424ee387960 100644 --- a/browser/components/preferences/preferences.js +++ b/browser/components/preferences/preferences.js @@ -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", diff --git a/browser/components/privatebrowsing/test/browser/head.js b/browser/components/privatebrowsing/test/browser/head.js index f0e34ad26f8b..6bdccc631532 100644 --- a/browser/components/privatebrowsing/test/browser/head.js +++ b/browser/components/privatebrowsing/test/browser/head.js @@ -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", }); diff --git a/browser/components/search/test/browser/browser_defaultPrivate_nimbus.js b/browser/components/search/test/browser/browser_defaultPrivate_nimbus.js index 6842682db669..cc808371f9ae 100644 --- a/browser/components/search/test/browser/browser_defaultPrivate_nimbus.js +++ b/browser/components/search/test/browser/browser_defaultPrivate_nimbus.js @@ -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, { diff --git a/browser/components/search/test/browser/browser_search_nimbus_reload.js b/browser/components/search/test/browser/browser_search_nimbus_reload.js index e4f88aae7cc7..a15391f027e2 100644 --- a/browser/components/search/test/browser/browser_search_nimbus_reload.js +++ b/browser/components/search/test/browser/browser_search_nimbus_reload.js @@ -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( diff --git a/browser/components/shell/ShellService.jsm b/browser/components/shell/ShellService.jsm index 9bdadc2415a4..efe383ec8076 100644 --- a/browser/components/shell/ShellService.jsm +++ b/browser/components/shell/ShellService.jsm @@ -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", diff --git a/browser/components/shell/test/browser_doesAppNeedPin.js b/browser/components/shell/test/browser_doesAppNeedPin.js index 1ecb6cc10852..e5dc25faf881 100644 --- a/browser/components/shell/test/browser_doesAppNeedPin.js +++ b/browser/components/shell/test/browser_doesAppNeedPin.js @@ -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(() => { diff --git a/browser/components/shell/test/browser_setDefaultBrowser.js b/browser/components/shell/test/browser_setDefaultBrowser.js index 884949ce3487..be4e152fad6b 100644 --- a/browser/components/shell/test/browser_setDefaultBrowser.js +++ b/browser/components/shell/test/browser_setDefaultBrowser.js @@ -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(); diff --git a/browser/components/shell/test/browser_setDefaultPDFHandler.js b/browser/components/shell/test/browser_setDefaultPDFHandler.js index 2fb979f05b4a..3314a4cf210e 100644 --- a/browser/components/shell/test/browser_setDefaultPDFHandler.js +++ b/browser/components/shell/test/browser_setDefaultPDFHandler.js @@ -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", diff --git a/browser/components/tests/browser/browser_browserGlue_upgradeDialog_trigger.js b/browser/components/tests/browser/browser_browserGlue_upgradeDialog_trigger.js index 3abfc0a69d99..c0e1aadb8b0f 100644 --- a/browser/components/tests/browser/browser_browserGlue_upgradeDialog_trigger.js +++ b/browser/components/tests/browser/browser_browserGlue_upgradeDialog_trigger.js @@ -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" diff --git a/browser/components/urlbar/QuickSuggest.sys.mjs b/browser/components/urlbar/QuickSuggest.sys.mjs index 835cefd1c642..e6b660e13192 100644 --- a/browser/components/urlbar/QuickSuggest.sys.mjs +++ b/browser/components/urlbar/QuickSuggest.sys.mjs @@ -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 diff --git a/browser/components/urlbar/UrlbarPrefs.sys.mjs b/browser/components/urlbar/UrlbarPrefs.sys.mjs index 088887e662c7..304018632103 100644 --- a/browser/components/urlbar/UrlbarPrefs.sys.mjs +++ b/browser/components/urlbar/UrlbarPrefs.sys.mjs @@ -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 diff --git a/browser/components/urlbar/tests/UrlbarTestUtils.sys.mjs b/browser/components/urlbar/tests/UrlbarTestUtils.sys.mjs index 7d574c394ffc..61c8bcf8ea2c 100644 --- a/browser/components/urlbar/tests/UrlbarTestUtils.sys.mjs +++ b/browser/components/urlbar/tests/UrlbarTestUtils.sys.mjs @@ -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 = { diff --git a/browser/components/urlbar/tests/browser/head.js b/browser/components/urlbar/tests/browser/head.js index 889e485bb64e..9cd708faa1ec 100644 --- a/browser/components/urlbar/tests/browser/head.js +++ b/browser/components/urlbar/tests/browser/head.js @@ -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", }); diff --git a/browser/components/urlbar/tests/quicksuggest/QuickSuggestTestUtils.sys.mjs b/browser/components/urlbar/tests/quicksuggest/QuickSuggestTestUtils.sys.mjs index edf04cc860cb..2d57291c7110 100644 --- a/browser/components/urlbar/tests/quicksuggest/QuickSuggestTestUtils.sys.mjs +++ b/browser/components/urlbar/tests/quicksuggest/QuickSuggestTestUtils.sys.mjs @@ -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 diff --git a/browser/components/urlbar/tests/quicksuggest/unit/test_merinoClient.js b/browser/components/urlbar/tests/quicksuggest/unit/test_merinoClient.js index a9b55c3dd12f..4213c5628ac0 100644 --- a/browser/components/urlbar/tests/quicksuggest/unit/test_merinoClient.js +++ b/browser/components/urlbar/tests/quicksuggest/unit/test_merinoClient.js @@ -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 diff --git a/browser/components/urlbar/tests/quicksuggest/unit/test_quicksuggest_migrate_v2.js b/browser/components/urlbar/tests/quicksuggest/unit/test_quicksuggest_migrate_v2.js index 9b22a366dd4e..8f25492ef2d4 100644 --- a/browser/components/urlbar/tests/quicksuggest/unit/test_quicksuggest_migrate_v2.js +++ b/browser/components/urlbar/tests/quicksuggest/unit/test_quicksuggest_migrate_v2.js @@ -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 diff --git a/services/sync/modules/engines/tabs.sys.mjs b/services/sync/modules/engines/tabs.sys.mjs index 415b1a9e98af..2b5e7866cd5d 100644 --- a/services/sync/modules/engines/tabs.sys.mjs +++ b/services/sync/modules/engines/tabs.sys.mjs @@ -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", }); diff --git a/services/sync/tests/unit/test_tab_tracker.js b/services/sync/tests/unit/test_tab_tracker.js index bb6401e1b21e..0d5690532f85 100644 --- a/services/sync/tests/unit/test_tab_tracker.js +++ b/services/sync/tests/unit/test_tab_tracker.js @@ -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); diff --git a/toolkit/actors/PictureInPictureChild.sys.mjs b/toolkit/actors/PictureInPictureChild.sys.mjs index c79c5d72b667..f24a9a06c6fe 100644 --- a/toolkit/actors/PictureInPictureChild.sys.mjs +++ b/toolkit/actors/PictureInPictureChild.sys.mjs @@ -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", diff --git a/toolkit/components/antitracking/test/browser/browser_urlQueryStringStripping_nimbus.js b/toolkit/components/antitracking/test/browser/browser_urlQueryStringStripping_nimbus.js index 87026385e922..9ed655cf0118 100644 --- a/toolkit/components/antitracking/test/browser/browser_urlQueryStringStripping_nimbus.js +++ b/toolkit/components/antitracking/test/browser/browser_urlQueryStringStripping_nimbus.js @@ -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"; diff --git a/toolkit/components/backgroundtasks/BackgroundTasksUtils.sys.mjs b/toolkit/components/backgroundtasks/BackgroundTasksUtils.sys.mjs index ef763d42eaa1..566d7a089cf1 100644 --- a/toolkit/components/backgroundtasks/BackgroundTasksUtils.sys.mjs +++ b/toolkit/components/backgroundtasks/BackgroundTasksUtils.sys.mjs @@ -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 { diff --git a/toolkit/components/nimbus/ExperimentAPI.jsm b/toolkit/components/nimbus/ExperimentAPI.sys.mjs similarity index 96% rename from toolkit/components/nimbus/ExperimentAPI.jsm rename to toolkit/components/nimbus/ExperimentAPI.sys.mjs index 7a14687f6721..28fc7996f0eb 100644 --- a/toolkit/components/nimbus/ExperimentAPI.jsm +++ b/toolkit/components/nimbus/ExperimentAPI.sys.mjs @@ -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 = {}; diff --git a/toolkit/components/nimbus/jar.mn b/toolkit/components/nimbus/jar.mn index 19e2ede5c9ba..8be3ce7c0c04 100644 --- a/toolkit/components/nimbus/jar.mn +++ b/toolkit/components/nimbus/jar.mn @@ -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) diff --git a/toolkit/components/nimbus/lib/ExperimentManager.jsm b/toolkit/components/nimbus/lib/ExperimentManager.sys.mjs similarity index 99% rename from toolkit/components/nimbus/lib/ExperimentManager.jsm rename to toolkit/components/nimbus/lib/ExperimentManager.sys.mjs index de99dd013649..2b5f7a5dae4d 100644 --- a/toolkit/components/nimbus/lib/ExperimentManager.jsm +++ b/toolkit/components/nimbus/lib/ExperimentManager.sys.mjs @@ -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(); diff --git a/toolkit/components/nimbus/lib/ExperimentStore.jsm b/toolkit/components/nimbus/lib/ExperimentStore.sys.mjs similarity index 98% rename from toolkit/components/nimbus/lib/ExperimentStore.jsm rename to toolkit/components/nimbus/lib/ExperimentStore.sys.mjs index 002515d05359..af6cdaab29fb 100644 --- a/toolkit/components/nimbus/lib/ExperimentStore.jsm +++ b/toolkit/components/nimbus/lib/ExperimentStore.sys.mjs @@ -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; diff --git a/toolkit/components/nimbus/lib/RemoteSettingsExperimentLoader.jsm b/toolkit/components/nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs similarity index 97% rename from toolkit/components/nimbus/lib/RemoteSettingsExperimentLoader.jsm rename to toolkit/components/nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs index 44b977ff227a..07ad0c2ba8bc 100644 --- a/toolkit/components/nimbus/lib/RemoteSettingsExperimentLoader.jsm +++ b/toolkit/components/nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs @@ -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(); diff --git a/toolkit/components/nimbus/lib/SharedDataMap.jsm b/toolkit/components/nimbus/lib/SharedDataMap.sys.mjs similarity index 93% rename from toolkit/components/nimbus/lib/SharedDataMap.jsm rename to toolkit/components/nimbus/lib/SharedDataMap.sys.mjs index 7817f5d6259d..f7d38f32ea0c 100644 --- a/toolkit/components/nimbus/lib/SharedDataMap.jsm +++ b/toolkit/components/nimbus/lib/SharedDataMap.sys.mjs @@ -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(); diff --git a/toolkit/components/nimbus/moz.build b/toolkit/components/nimbus/moz.build index 8f1ada80cf9e..c04180030315 100644 --- a/toolkit/components/nimbus/moz.build +++ b/toolkit/components/nimbus/moz.build @@ -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( diff --git a/toolkit/components/nimbus/test/NimbusTestUtils.jsm b/toolkit/components/nimbus/test/NimbusTestUtils.sys.mjs similarity index 94% rename from toolkit/components/nimbus/test/NimbusTestUtils.jsm rename to toolkit/components/nimbus/test/NimbusTestUtils.sys.mjs index 9732f42656f2..2549cdf566f7 100644 --- a/toolkit/components/nimbus/test/NimbusTestUtils.jsm +++ b/toolkit/components/nimbus/test/NimbusTestUtils.sys.mjs @@ -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() }); diff --git a/toolkit/components/nimbus/test/browser/browser_experiment_evaluate_jexl.js b/toolkit/components/nimbus/test/browser/browser_experiment_evaluate_jexl.js index a3c738369234..e811c90e0a18 100644 --- a/toolkit/components/nimbus/test/browser/browser_experiment_evaluate_jexl.js +++ b/toolkit/components/nimbus/test/browser/browser_experiment_evaluate_jexl.js @@ -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() { diff --git a/toolkit/components/nimbus/test/browser/browser_experiment_single_feature_enrollment.js b/toolkit/components/nimbus/test/browser/browser_experiment_single_feature_enrollment.js index f4b392f03ec9..ac20ff8b7a40 100644 --- a/toolkit/components/nimbus/test/browser/browser_experiment_single_feature_enrollment.js +++ b/toolkit/components/nimbus/test/browser/browser_experiment_single_feature_enrollment.js @@ -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 = { diff --git a/toolkit/components/nimbus/test/browser/browser_experimentstore_load.js b/toolkit/components/nimbus/test/browser/browser_experimentstore_load.js index 92993a97719c..a6f526e764ec 100644 --- a/toolkit/components/nimbus/test/browser/browser_experimentstore_load.js +++ b/toolkit/components/nimbus/test/browser/browser_experimentstore_load.js @@ -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", diff --git a/toolkit/components/nimbus/test/browser/browser_experimentstore_load_single_feature.js b/toolkit/components/nimbus/test/browser/browser_experimentstore_load_single_feature.js index 60be5f008e2d..7e9a19e21d07 100644 --- a/toolkit/components/nimbus/test/browser/browser_experimentstore_load_single_feature.js +++ b/toolkit/components/nimbus/test/browser/browser_experimentstore_load_single_feature.js @@ -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", diff --git a/toolkit/components/nimbus/test/browser/browser_nimbus_telemetry.js b/toolkit/components/nimbus/test/browser/browser_nimbus_telemetry.js index 9197a78dad02..78def6df89c8 100644 --- a/toolkit/components/nimbus/test/browser/browser_nimbus_telemetry.js +++ b/toolkit/components/nimbus/test/browser/browser_nimbus_telemetry.js @@ -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" diff --git a/toolkit/components/nimbus/test/browser/browser_prefs.js b/toolkit/components/nimbus/test/browser/browser_prefs.js index 803f5deb3c8e..6c38d164283f 100644 --- a/toolkit/components/nimbus/test/browser/browser_prefs.js +++ b/toolkit/components/nimbus/test/browser/browser_prefs.js @@ -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"; diff --git a/toolkit/components/nimbus/test/browser/browser_remotesettings_experiment_enroll.js b/toolkit/components/nimbus/test/browser/browser_remotesettings_experiment_enroll.js index 32a0a5b49b21..2f699b932f14 100644 --- a/toolkit/components/nimbus/test/browser/browser_remotesettings_experiment_enroll.js +++ b/toolkit/components/nimbus/test/browser/browser_remotesettings_experiment_enroll.js @@ -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; diff --git a/toolkit/components/nimbus/test/browser/browser_remotesettingsexperimentloader_force_enrollment.js b/toolkit/components/nimbus/test/browser/browser_remotesettingsexperimentloader_force_enrollment.js index 64f223fd6def..7c501b22fafd 100644 --- a/toolkit/components/nimbus/test/browser/browser_remotesettingsexperimentloader_force_enrollment.js +++ b/toolkit/components/nimbus/test/browser/browser_remotesettingsexperimentloader_force_enrollment.js @@ -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) { diff --git a/toolkit/components/nimbus/test/browser/browser_remotesettingsexperimentloader_init.js b/toolkit/components/nimbus/test/browser/browser_remotesettingsexperimentloader_init.js index 8f9c91b81c85..f80fb7dfa51a 100644 --- a/toolkit/components/nimbus/test/browser/browser_remotesettingsexperimentloader_init.js +++ b/toolkit/components/nimbus/test/browser/browser_remotesettingsexperimentloader_init.js @@ -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) { diff --git a/toolkit/components/nimbus/test/browser/browser_remotesettingsexperimentloader_remote_defaults.js b/toolkit/components/nimbus/test/browser/browser_remotesettingsexperimentloader_remote_defaults.js index 6fc22ee156f6..e88c551c0567 100644 --- a/toolkit/components/nimbus/test/browser/browser_remotesettingsexperimentloader_remote_defaults.js +++ b/toolkit/components/nimbus/test/browser/browser_remotesettingsexperimentloader_remote_defaults.js @@ -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 = { diff --git a/toolkit/components/nimbus/test/browser/head.js b/toolkit/components/nimbus/test/browser/head.js index a69bb5541daf..dfcb149f7df1 100644 --- a/toolkit/components/nimbus/test/browser/head.js +++ b/toolkit/components/nimbus/test/browser/head.js @@ -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() { diff --git a/toolkit/components/nimbus/test/unit/head.js b/toolkit/components/nimbus/test/unit/head.js index 814ec9c588ff..5a8c4ceddd14 100644 --- a/toolkit/components/nimbus/test/unit/head.js +++ b/toolkit/components/nimbus/test/unit/head.js @@ -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", }); diff --git a/toolkit/components/nimbus/test/unit/test_ExperimentAPI.js b/toolkit/components/nimbus/test/unit/test_ExperimentAPI.js index 336f14f837ba..722011f5b825 100644 --- a/toolkit/components/nimbus/test/unit/test_ExperimentAPI.js +++ b/toolkit/components/nimbus/test/unit/test_ExperimentAPI.js @@ -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" diff --git a/toolkit/components/nimbus/test/unit/test_ExperimentAPI_ExperimentFeature.js b/toolkit/components/nimbus/test/unit/test_ExperimentAPI_ExperimentFeature.js index c2116199ef56..6df30e4f30d7 100644 --- a/toolkit/components/nimbus/test/unit/test_ExperimentAPI_ExperimentFeature.js +++ b/toolkit/components/nimbus/test/unit/test_ExperimentAPI_ExperimentFeature.js @@ -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() { diff --git a/toolkit/components/nimbus/test/unit/test_ExperimentAPI_ExperimentFeature_getAllVariables.js b/toolkit/components/nimbus/test/unit/test_ExperimentAPI_ExperimentFeature_getAllVariables.js index b29d84c93786..3c57b11a8388 100644 --- a/toolkit/components/nimbus/test/unit/test_ExperimentAPI_ExperimentFeature_getAllVariables.js +++ b/toolkit/components/nimbus/test/unit/test_ExperimentAPI_ExperimentFeature_getAllVariables.js @@ -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; diff --git a/toolkit/components/nimbus/test/unit/test_ExperimentAPI_ExperimentFeature_getVariable.js b/toolkit/components/nimbus/test/unit/test_ExperimentAPI_ExperimentFeature_getVariable.js index 4fbbb3792fb8..27e95c574ac2 100644 --- a/toolkit/components/nimbus/test/unit/test_ExperimentAPI_ExperimentFeature_getVariable.js +++ b/toolkit/components/nimbus/test/unit/test_ExperimentAPI_ExperimentFeature_getVariable.js @@ -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" ); diff --git a/toolkit/components/nimbus/test/unit/test_ExperimentAPI_NimbusFeatures.js b/toolkit/components/nimbus/test/unit/test_ExperimentAPI_NimbusFeatures.js index 7c4de4ec42ef..99a70a3e91c1 100644 --- a/toolkit/components/nimbus/test/unit/test_ExperimentAPI_NimbusFeatures.js +++ b/toolkit/components/nimbus/test/unit/test_ExperimentAPI_NimbusFeatures.js @@ -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" diff --git a/toolkit/components/nimbus/test/unit/test_ExperimentManager_context.js b/toolkit/components/nimbus/test/unit/test_ExperimentManager_context.js index 5194d92bb665..b8cdb3afc924 100644 --- a/toolkit/components/nimbus/test/unit/test_ExperimentManager_context.js +++ b/toolkit/components/nimbus/test/unit/test_ExperimentManager_context.js @@ -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( diff --git a/toolkit/components/nimbus/test/unit/test_ExperimentManager_enroll.js b/toolkit/components/nimbus/test/unit/test_ExperimentManager_enroll.js index 8ab9573bb192..95c6ae893e61 100644 --- a/toolkit/components/nimbus/test/unit/test_ExperimentManager_enroll.js +++ b/toolkit/components/nimbus/test/unit/test_ExperimentManager_enroll.js @@ -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" diff --git a/toolkit/components/nimbus/test/unit/test_ExperimentManager_generateTestIds.js b/toolkit/components/nimbus/test/unit/test_ExperimentManager_generateTestIds.js index 17b34dc199ac..87c50f61c8d4 100644 --- a/toolkit/components/nimbus/test/unit/test_ExperimentManager_generateTestIds.js +++ b/toolkit/components/nimbus/test/unit/test_ExperimentManager_generateTestIds.js @@ -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 = { diff --git a/toolkit/components/nimbus/test/unit/test_ExperimentManager_prefs.js b/toolkit/components/nimbus/test/unit/test_ExperimentManager_prefs.js index 5e1d2d24dc7f..a980f217fea1 100644 --- a/toolkit/components/nimbus/test/unit/test_ExperimentManager_prefs.js +++ b/toolkit/components/nimbus/test/unit/test_ExperimentManager_prefs.js @@ -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" diff --git a/toolkit/components/nimbus/test/unit/test_ExperimentStore.js b/toolkit/components/nimbus/test/unit/test_ExperimentStore.js index e370b0daee36..bb6e7893467a 100644 --- a/toolkit/components/nimbus/test/unit/test_ExperimentStore.js +++ b/toolkit/components/nimbus/test/unit/test_ExperimentStore.js @@ -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" diff --git a/toolkit/components/nimbus/test/unit/test_NimbusTestUtils.js b/toolkit/components/nimbus/test/unit/test_NimbusTestUtils.js index 13eb2ba80a59..1815dcfdd8bb 100644 --- a/toolkit/components/nimbus/test/unit/test_NimbusTestUtils.js +++ b/toolkit/components/nimbus/test/unit/test_NimbusTestUtils.js @@ -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() { diff --git a/toolkit/components/nimbus/test/unit/test_RemoteSettingsExperimentLoader.js b/toolkit/components/nimbus/test/unit/test_RemoteSettingsExperimentLoader.js index f3944a89e01d..4f54c1f6707b 100644 --- a/toolkit/components/nimbus/test/unit/test_RemoteSettingsExperimentLoader.js +++ b/toolkit/components/nimbus/test/unit/test_RemoteSettingsExperimentLoader.js @@ -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" diff --git a/toolkit/components/nimbus/test/unit/test_RemoteSettingsExperimentLoader_updateRecipes.js b/toolkit/components/nimbus/test/unit/test_RemoteSettingsExperimentLoader_updateRecipes.js index 31fcb27841ec..c20a448a80b9 100644 --- a/toolkit/components/nimbus/test/unit/test_RemoteSettingsExperimentLoader_updateRecipes.js +++ b/toolkit/components/nimbus/test/unit/test_RemoteSettingsExperimentLoader_updateRecipes.js @@ -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" diff --git a/toolkit/components/nimbus/test/unit/test_SharedDataMap.js b/toolkit/components/nimbus/test/unit/test_SharedDataMap.js index 06abad981d38..6186b41a4089 100644 --- a/toolkit/components/nimbus/test/unit/test_SharedDataMap.js +++ b/toolkit/components/nimbus/test/unit/test_SharedDataMap.js @@ -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" diff --git a/toolkit/components/normandy/Normandy.jsm b/toolkit/components/normandy/Normandy.jsm index ec969a5f4a81..18753660de8d 100644 --- a/toolkit/components/normandy/Normandy.jsm +++ b/toolkit/components/normandy/Normandy.jsm @@ -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"]; diff --git a/toolkit/components/normandy/actions/MessagingExperimentAction.jsm b/toolkit/components/normandy/actions/MessagingExperimentAction.jsm index 8606546f017b..c1c66f09c82b 100644 --- a/toolkit/components/normandy/actions/MessagingExperimentAction.jsm +++ b/toolkit/components/normandy/actions/MessagingExperimentAction.jsm @@ -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, diff --git a/toolkit/components/normandy/content/AboutPages.jsm b/toolkit/components/normandy/content/AboutPages.jsm index 6db3dd24615a..2aadd4a9bba5 100644 --- a/toolkit/components/normandy/content/AboutPages.jsm +++ b/toolkit/components/normandy/content/AboutPages.jsm @@ -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"]; diff --git a/toolkit/components/normandy/lib/LegacyHeartbeat.sys.mjs b/toolkit/components/normandy/lib/LegacyHeartbeat.sys.mjs index 1df374494c13..501c9f70aff6 100644 --- a/toolkit/components/normandy/lib/LegacyHeartbeat.sys.mjs +++ b/toolkit/components/normandy/lib/LegacyHeartbeat.sys.mjs @@ -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"; diff --git a/toolkit/components/normandy/test/browser/browser_LegacyHeartbeat.js b/toolkit/components/normandy/test/browser/browser_LegacyHeartbeat.js index d599031123d8..51713edf7b08 100644 --- a/toolkit/components/normandy/test/browser/browser_LegacyHeartbeat.js +++ b/toolkit/components/normandy/test/browser/browser_LegacyHeartbeat.js @@ -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" diff --git a/toolkit/components/normandy/test/browser/browser_about_studies.js b/toolkit/components/normandy/test/browser/browser_about_studies.js index 07e193efeba1..3a83d01874b1 100644 --- a/toolkit/components/normandy/test/browser/browser_about_studies.js +++ b/toolkit/components/normandy/test/browser/browser_about_studies.js @@ -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( diff --git a/toolkit/components/normandy/test/browser/browser_actions_MessagingExperimentAction.js b/toolkit/components/normandy/test/browser/browser_actions_MessagingExperimentAction.js index 2c86ec5e44de..cb63c9d74130 100644 --- a/toolkit/components/normandy/test/browser/browser_actions_MessagingExperimentAction.js +++ b/toolkit/components/normandy/test/browser/browser_actions_MessagingExperimentAction.js @@ -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( diff --git a/toolkit/components/passwordmgr/LoginManagerParent.jsm b/toolkit/components/passwordmgr/LoginManagerParent.jsm index cc076bbfdb85..e01a5ca9e52e 100644 --- a/toolkit/components/passwordmgr/LoginManagerParent.jsm +++ b/toolkit/components/passwordmgr/LoginManagerParent.jsm @@ -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", }); diff --git a/toolkit/components/passwordmgr/test/browser/browser_autocomplete_import.js b/toolkit/components/passwordmgr/test/browser/browser_autocomplete_import.js index 9dc9e11e48e3..88ebb2e2e7b7 100644 --- a/toolkit/components/passwordmgr/test/browser/browser_autocomplete_import.js +++ b/toolkit/components/passwordmgr/test/browser/browser_autocomplete_import.js @@ -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( diff --git a/toolkit/components/pictureinpicture/tests/browser_nimbusFirstTimeStyleVariant.js b/toolkit/components/pictureinpicture/tests/browser_nimbusFirstTimeStyleVariant.js index e616a3a35bd6..e2b6ff9d9807 100644 --- a/toolkit/components/pictureinpicture/tests/browser_nimbusFirstTimeStyleVariant.js +++ b/toolkit/components/pictureinpicture/tests/browser_nimbusFirstTimeStyleVariant.js @@ -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"; diff --git a/toolkit/components/pictureinpicture/tests/browser_nimbusMessageFirstTimePip.js b/toolkit/components/pictureinpicture/tests/browser_nimbusMessageFirstTimePip.js index 03c8edc220e1..7f528299e636 100644 --- a/toolkit/components/pictureinpicture/tests/browser_nimbusMessageFirstTimePip.js +++ b/toolkit/components/pictureinpicture/tests/browser_nimbusMessageFirstTimePip.js @@ -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"; diff --git a/toolkit/components/pictureinpicture/tests/browser_nimbusShowIconOnly.js b/toolkit/components/pictureinpicture/tests/browser_nimbusShowIconOnly.js index 561c151553f4..7217283059c3 100644 --- a/toolkit/components/pictureinpicture/tests/browser_nimbusShowIconOnly.js +++ b/toolkit/components/pictureinpicture/tests/browser_nimbusShowIconOnly.js @@ -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"; diff --git a/toolkit/components/reader/AboutReader.sys.mjs b/toolkit/components/reader/AboutReader.sys.mjs index c8e88ed5c605..ea3eac3f4828 100644 --- a/toolkit/components/reader/AboutReader.sys.mjs +++ b/toolkit/components/reader/AboutReader.sys.mjs @@ -12,12 +12,8 @@ const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { AsyncPrefs: "resource://gre/modules/AsyncPrefs.sys.mjs", NarrateControls: "resource://gre/modules/narrate/NarrateControls.sys.mjs", + NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs", }); -ChromeUtils.defineModuleGetter( - lazy, - "NimbusFeatures", - "resource://nimbus/ExperimentAPI.jsm" -); XPCOMUtils.defineLazyGetter( lazy, diff --git a/toolkit/components/search/SearchEngine.sys.mjs b/toolkit/components/search/SearchEngine.sys.mjs index 1bf4c1c336f9..f76a57a8b9a3 100644 --- a/toolkit/components/search/SearchEngine.sys.mjs +++ b/toolkit/components/search/SearchEngine.sys.mjs @@ -9,13 +9,10 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs"; const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { + NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs", SearchUtils: "resource://gre/modules/SearchUtils.sys.mjs", }); -XPCOMUtils.defineLazyModuleGetters(lazy, { - NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm", -}); - const BinaryInputStream = Components.Constructor( "@mozilla.org/binaryinputstream;1", "nsIBinaryInputStream", diff --git a/toolkit/components/search/SearchService.sys.mjs b/toolkit/components/search/SearchService.sys.mjs index d13e07ee8d1b..96aee4cdde2a 100644 --- a/toolkit/components/search/SearchService.sys.mjs +++ b/toolkit/components/search/SearchService.sys.mjs @@ -15,6 +15,7 @@ const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { AddonSearchEngine: "resource://gre/modules/AddonSearchEngine.sys.mjs", IgnoreLists: "resource://gre/modules/IgnoreLists.sys.mjs", + NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs", OpenSearchEngine: "resource://gre/modules/OpenSearchEngine.sys.mjs", PolicySearchEngine: "resource://gre/modules/PolicySearchEngine.sys.mjs", Region: "resource://gre/modules/Region.sys.mjs", @@ -29,7 +30,6 @@ ChromeUtils.defineESModuleGetters(lazy, { XPCOMUtils.defineLazyModuleGetters(lazy, { AddonManager: "resource://gre/modules/AddonManager.jsm", - NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm", }); XPCOMUtils.defineLazyGetter(lazy, "logConsole", () => { diff --git a/toolkit/components/search/tests/xpcshell/searchconfigs/test_google.js b/toolkit/components/search/tests/xpcshell/searchconfigs/test_google.js index 42c336dd8e3c..2303efa1148c 100644 --- a/toolkit/components/search/tests/xpcshell/searchconfigs/test_google.js +++ b/toolkit/components/search/tests/xpcshell/searchconfigs/test_google.js @@ -3,8 +3,8 @@ "use strict"; -XPCOMUtils.defineLazyModuleGetters(this, { - NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm", +ChromeUtils.defineESModuleGetters(this, { + NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs", }); const test = new SearchConfigTest({ diff --git a/toolkit/components/search/tests/xpcshell/test_defaultEngine_experiments.js b/toolkit/components/search/tests/xpcshell/test_defaultEngine_experiments.js index 5fe0ba62b56d..82f4c9368372 100644 --- a/toolkit/components/search/tests/xpcshell/test_defaultEngine_experiments.js +++ b/toolkit/components/search/tests/xpcshell/test_defaultEngine_experiments.js @@ -8,8 +8,8 @@ "use strict"; -XPCOMUtils.defineLazyModuleGetters(this, { - NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm", +ChromeUtils.defineESModuleGetters(this, { + NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs", }); let getVariableStub; diff --git a/toolkit/components/search/tests/xpcshell/test_telemetry_event_default.js b/toolkit/components/search/tests/xpcshell/test_telemetry_event_default.js index a5e41d4d889f..2cda61385d9a 100644 --- a/toolkit/components/search/tests/xpcshell/test_telemetry_event_default.js +++ b/toolkit/components/search/tests/xpcshell/test_telemetry_event_default.js @@ -10,13 +10,10 @@ "use strict"; ChromeUtils.defineESModuleGetters(this, { + NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs", TelemetryTestUtils: "resource://testing-common/TelemetryTestUtils.sys.mjs", }); -XPCOMUtils.defineLazyModuleGetters(this, { - NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm", -}); - const BASE_CONFIG = [ { webExtension: { id: "engine@search.mozilla.org" }, diff --git a/toolkit/components/telemetry/app/TelemetrySend.sys.mjs b/toolkit/components/telemetry/app/TelemetrySend.sys.mjs index c7722b1500e8..935b5adcd619 100644 --- a/toolkit/components/telemetry/app/TelemetrySend.sys.mjs +++ b/toolkit/components/telemetry/app/TelemetrySend.sys.mjs @@ -22,16 +22,12 @@ import { clearTimeout, setTimeout } from "resource://gre/modules/Timer.sys.mjs"; const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { + NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs", TelemetryHealthPing: "resource://gre/modules/HealthPing.sys.mjs", TelemetryReportingPolicy: "resource://gre/modules/TelemetryReportingPolicy.sys.mjs", TelemetryStorage: "resource://gre/modules/TelemetryStorage.sys.mjs", }); -ChromeUtils.defineModuleGetter( - lazy, - "NimbusFeatures", - "resource://nimbus/ExperimentAPI.jsm" -); const Utils = TelemetryUtils; diff --git a/toolkit/components/telemetry/dap/DAPTelemetrySender.sys.mjs b/toolkit/components/telemetry/dap/DAPTelemetrySender.sys.mjs index 0ce983f4a019..f101ae790a56 100644 --- a/toolkit/components/telemetry/dap/DAPTelemetrySender.sys.mjs +++ b/toolkit/components/telemetry/dap/DAPTelemetrySender.sys.mjs @@ -12,8 +12,8 @@ XPCOMUtils.defineLazyGetter(lazy, "logConsole", function() { maxLogLevelPref: "toolkit.telemetry.dap.logLevel", }); }); -XPCOMUtils.defineLazyModuleGetters(lazy, { - NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm", +ChromeUtils.defineESModuleGetters(lazy, { + NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs", }); const PREF_LEADER = "toolkit.telemetry.dap_leader"; diff --git a/toolkit/modules/LightweightThemeConsumer.sys.mjs b/toolkit/modules/LightweightThemeConsumer.sys.mjs index 317eb0770fd7..b48d07c65865 100644 --- a/toolkit/modules/LightweightThemeConsumer.sys.mjs +++ b/toolkit/modules/LightweightThemeConsumer.sys.mjs @@ -10,17 +10,12 @@ const lazy = {}; // Get the theme variables from the app resource directory. // This allows per-app variables. ChromeUtils.defineESModuleGetters(lazy, { + NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs", PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs", ThemeContentPropertyList: "resource:///modules/ThemeVariableMap.sys.mjs", ThemeVariableMap: "resource:///modules/ThemeVariableMap.sys.mjs", }); -ChromeUtils.defineModuleGetter( - lazy, - "NimbusFeatures", - "resource://nimbus/ExperimentAPI.jsm" -); - // Whether the content and chrome areas should always use the same color // scheme (unless user-overridden). Thunderbird uses this. XPCOMUtils.defineLazyPreferenceGetter( diff --git a/toolkit/modules/Troubleshoot.sys.mjs b/toolkit/modules/Troubleshoot.sys.mjs index 57d613146f1d..0e5ee7eb44c2 100644 --- a/toolkit/modules/Troubleshoot.sys.mjs +++ b/toolkit/modules/Troubleshoot.sys.mjs @@ -973,8 +973,8 @@ var dataProviders = { const { PreferenceRollouts: NormandyPreferenceRollouts, } = ChromeUtils.import("resource://normandy/lib/PreferenceRollouts.jsm"); - const { ExperimentManager } = ChromeUtils.import( - "resource://nimbus/lib/ExperimentManager.jsm" + const { ExperimentManager } = ChromeUtils.importESModule( + "resource://nimbus/lib/ExperimentManager.sys.mjs" ); // Get Normandy data in parallel, and sort each group by slug. diff --git a/toolkit/mozapps/extensions/content/aboutaddons.js b/toolkit/mozapps/extensions/content/aboutaddons.js index 306f062b1f7b..4c4bf17714a8 100644 --- a/toolkit/mozapps/extensions/content/aboutaddons.js +++ b/toolkit/mozapps/extensions/content/aboutaddons.js @@ -14,6 +14,7 @@ ChromeUtils.defineESModuleGetters(this, { ClientID: "resource://gre/modules/ClientID.sys.mjs", DeferredTask: "resource://gre/modules/DeferredTask.sys.mjs", E10SUtils: "resource://gre/modules/E10SUtils.sys.mjs", + NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs", PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs", }); @@ -24,7 +25,6 @@ XPCOMUtils.defineLazyModuleGetters(this, { ExtensionCommon: "resource://gre/modules/ExtensionCommon.jsm", ExtensionParent: "resource://gre/modules/ExtensionParent.jsm", ExtensionPermissions: "resource://gre/modules/ExtensionPermissions.jsm", - NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm", }); XPCOMUtils.defineLazyGetter(this, "browserBundle", () => {