Bug 1860668 - Convert ActivityStreamPrefs from a JSM to an ESM. r=thecount

Depends on D193489

Differential Revision: https://phabricator.services.mozilla.com/D193490
This commit is contained in:
Mike Conley 2023-11-27 16:42:20 +00:00
parent db89203526
commit 674a57e18e
10 changed files with 24 additions and 26 deletions

View File

@ -45,14 +45,12 @@ You can see an example in [this patch](https://github.com/mozilla/activity-strea
## Reading, setting, and observing preferences from `.jsm`s
To read/set/observe Activity Stream preferences, construct a `Prefs` instance found in `lib/ActivityStreamPrefs.jsm`.
To read/set/observe Activity Stream preferences, construct a `Prefs` instance found in `lib/ActivityStreamPrefs.sys.mjs`.
```js
// Import Prefs
ChromeUtils.defineModuleGetter(
this,
"Prefs",
"resource://activity-stream/lib/ActivityStreamPrefs.jsm"
const { Prefs } = ChromeUtils.importESModule(
"resource://activity-stream/lib/ActivityStreamPrefs.sys.mjs"
);
// Create an instance

View File

@ -11,6 +11,7 @@ const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
DEFAULT_SITES: "resource://activity-stream/lib/DefaultSites.sys.mjs",
DefaultPrefs: "resource://activity-stream/lib/ActivityStreamPrefs.sys.mjs",
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
Region: "resource://gre/modules/Region.sys.mjs",
});
@ -25,11 +26,6 @@ ChromeUtils.defineModuleGetter(
"AboutPreferences",
"resource://activity-stream/lib/AboutPreferences.jsm"
);
ChromeUtils.defineModuleGetter(
lazy,
"DefaultPrefs",
"resource://activity-stream/lib/ActivityStreamPrefs.jsm"
);
ChromeUtils.defineModuleGetter(
lazy,
"NewTabInit",

View File

@ -1,18 +1,25 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* 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";
// We use importESModule here instead of static import so that
// the Karma test environment won't choke on this module. This
// is because the Karma test environment already stubs out
// AppConstants, and overrides importESModule to be a no-op (which
// can't be done for a static import statement).
// eslint-disable-next-line mozilla/use-static-import
const { AppConstants } = ChromeUtils.importESModule(
"resource://gre/modules/AppConstants.sys.mjs"
);
// eslint-disable-next-line mozilla/use-static-import
const { Preferences } = ChromeUtils.importESModule(
"resource://gre/modules/Preferences.sys.mjs"
);
const ACTIVITY_STREAM_PREF_BRANCH = "browser.newtabpage.activity-stream.";
class Prefs extends Preferences {
export class Prefs extends Preferences {
/**
* Prefs - A wrapper around Preferences that always sets the branch to
* ACTIVITY_STREAM_PREF_BRANCH
@ -37,7 +44,7 @@ class Prefs extends Preferences {
}
}
class DefaultPrefs extends Preferences {
export class DefaultPrefs extends Preferences {
/**
* DefaultPrefs - A helper for setting and resetting default prefs for the add-on
*
@ -91,5 +98,3 @@ class DefaultPrefs extends Preferences {
}
}
}
const EXPORTED_SYMBOLS = ["DefaultPrefs", "Prefs"];

View File

@ -6,8 +6,8 @@
const { actionCreators: ac, actionTypes: at } = ChromeUtils.importESModule(
"resource://activity-stream/common/Actions.sys.mjs"
);
const { Prefs } = ChromeUtils.import(
"resource://activity-stream/lib/ActivityStreamPrefs.jsm"
const { Prefs } = ChromeUtils.importESModule(
"resource://activity-stream/lib/ActivityStreamPrefs.sys.mjs"
);
const { AppConstants } = ChromeUtils.importESModule(
"resource://gre/modules/AppConstants.sys.mjs"

View File

@ -9,8 +9,8 @@ const { ActivityStreamMessageChannel } = ChromeUtils.import(
const { ActivityStreamStorage } = ChromeUtils.import(
"resource://activity-stream/lib/ActivityStreamStorage.jsm"
);
const { Prefs } = ChromeUtils.import(
"resource://activity-stream/lib/ActivityStreamPrefs.jsm"
const { Prefs } = ChromeUtils.importESModule(
"resource://activity-stream/lib/ActivityStreamPrefs.sys.mjs"
);
const { reducers } = ChromeUtils.importESModule(
"resource://activity-stream/common/Reducers.sys.mjs"

View File

@ -14,8 +14,8 @@ const { MESSAGE_TYPE_HASH: msg } = ChromeUtils.importESModule(
const { actionTypes: at, actionUtils: au } = ChromeUtils.importESModule(
"resource://activity-stream/common/Actions.sys.mjs"
);
const { Prefs } = ChromeUtils.import(
"resource://activity-stream/lib/ActivityStreamPrefs.jsm"
const { Prefs } = ChromeUtils.importESModule(
"resource://activity-stream/lib/ActivityStreamPrefs.sys.mjs"
);
const { classifySite } = ChromeUtils.import(
"resource://activity-stream/lib/SiteClassifier.jsm"

View File

@ -6,8 +6,8 @@
const { actionTypes: at, actionCreators: ac } = ChromeUtils.importESModule(
"resource://activity-stream/common/Actions.sys.mjs"
);
const { Prefs } = ChromeUtils.import(
"resource://activity-stream/lib/ActivityStreamPrefs.jsm"
const { Prefs } = ChromeUtils.importESModule(
"resource://activity-stream/lib/ActivityStreamPrefs.sys.mjs"
);
const { shortURL } = ChromeUtils.import(
"resource://activity-stream/lib/ShortURL.jsm"

View File

@ -4,7 +4,7 @@ import { GlobalOverrider } from "test/unit/utils";
import { DEFAULT_SITES } from "lib/DefaultSites.sys.mjs";
import { AboutPreferences } from "lib/AboutPreferences.jsm";
import { DefaultPrefs } from "lib/ActivityStreamPrefs.jsm";
import { DefaultPrefs } from "lib/ActivityStreamPrefs.sys.mjs";
import { NewTabInit } from "lib/NewTabInit.jsm";
import { SectionsFeed } from "lib/SectionsManager.jsm";
import { RecommendationProvider } from "lib/RecommendationProvider.jsm";

View File

@ -1,4 +1,4 @@
import { DefaultPrefs, Prefs } from "lib/ActivityStreamPrefs.jsm";
import { DefaultPrefs, Prefs } from "lib/ActivityStreamPrefs.sys.mjs";
const TEST_PREF_CONFIG = new Map([
["foo", { value: true }],

View File

@ -294,7 +294,6 @@
"resource://activity-stream/lib/AboutPreferences.jsm": "browser/components/newtab/lib/AboutPreferences.jsm",
"resource://activity-stream/lib/ActivityStream.jsm": "browser/components/newtab/lib/ActivityStream.jsm",
"resource://activity-stream/lib/ActivityStreamMessageChannel.jsm": "browser/components/newtab/lib/ActivityStreamMessageChannel.jsm",
"resource://activity-stream/lib/ActivityStreamPrefs.jsm": "browser/components/newtab/lib/ActivityStreamPrefs.jsm",
"resource://activity-stream/lib/ActivityStreamStorage.jsm": "browser/components/newtab/lib/ActivityStreamStorage.jsm",
"resource://activity-stream/lib/CFRMessageProvider.jsm": "browser/components/newtab/lib/CFRMessageProvider.jsm",
"resource://activity-stream/lib/CFRPageActions.jsm": "browser/components/newtab/lib/CFRPageActions.jsm",