forked from mirrors/gecko-dev
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:
parent
db89203526
commit
674a57e18e
10 changed files with 24 additions and 26 deletions
|
|
@ -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
|
## 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
|
```js
|
||||||
// Import Prefs
|
// Import Prefs
|
||||||
ChromeUtils.defineModuleGetter(
|
const { Prefs } = ChromeUtils.importESModule(
|
||||||
this,
|
"resource://activity-stream/lib/ActivityStreamPrefs.sys.mjs"
|
||||||
"Prefs",
|
|
||||||
"resource://activity-stream/lib/ActivityStreamPrefs.jsm"
|
|
||||||
);
|
);
|
||||||
|
|
||||||
// Create an instance
|
// Create an instance
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ const lazy = {};
|
||||||
|
|
||||||
ChromeUtils.defineESModuleGetters(lazy, {
|
ChromeUtils.defineESModuleGetters(lazy, {
|
||||||
DEFAULT_SITES: "resource://activity-stream/lib/DefaultSites.sys.mjs",
|
DEFAULT_SITES: "resource://activity-stream/lib/DefaultSites.sys.mjs",
|
||||||
|
DefaultPrefs: "resource://activity-stream/lib/ActivityStreamPrefs.sys.mjs",
|
||||||
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
|
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
|
||||||
Region: "resource://gre/modules/Region.sys.mjs",
|
Region: "resource://gre/modules/Region.sys.mjs",
|
||||||
});
|
});
|
||||||
|
|
@ -25,11 +26,6 @@ ChromeUtils.defineModuleGetter(
|
||||||
"AboutPreferences",
|
"AboutPreferences",
|
||||||
"resource://activity-stream/lib/AboutPreferences.jsm"
|
"resource://activity-stream/lib/AboutPreferences.jsm"
|
||||||
);
|
);
|
||||||
ChromeUtils.defineModuleGetter(
|
|
||||||
lazy,
|
|
||||||
"DefaultPrefs",
|
|
||||||
"resource://activity-stream/lib/ActivityStreamPrefs.jsm"
|
|
||||||
);
|
|
||||||
ChromeUtils.defineModuleGetter(
|
ChromeUtils.defineModuleGetter(
|
||||||
lazy,
|
lazy,
|
||||||
"NewTabInit",
|
"NewTabInit",
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,25 @@
|
||||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
/* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
"use strict";
|
|
||||||
|
|
||||||
|
// 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(
|
const { AppConstants } = ChromeUtils.importESModule(
|
||||||
"resource://gre/modules/AppConstants.sys.mjs"
|
"resource://gre/modules/AppConstants.sys.mjs"
|
||||||
);
|
);
|
||||||
|
// eslint-disable-next-line mozilla/use-static-import
|
||||||
const { Preferences } = ChromeUtils.importESModule(
|
const { Preferences } = ChromeUtils.importESModule(
|
||||||
"resource://gre/modules/Preferences.sys.mjs"
|
"resource://gre/modules/Preferences.sys.mjs"
|
||||||
);
|
);
|
||||||
|
|
||||||
const ACTIVITY_STREAM_PREF_BRANCH = "browser.newtabpage.activity-stream.";
|
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
|
* Prefs - A wrapper around Preferences that always sets the branch to
|
||||||
* ACTIVITY_STREAM_PREF_BRANCH
|
* 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
|
* 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"];
|
|
||||||
|
|
@ -6,8 +6,8 @@
|
||||||
const { actionCreators: ac, actionTypes: at } = ChromeUtils.importESModule(
|
const { actionCreators: ac, actionTypes: at } = ChromeUtils.importESModule(
|
||||||
"resource://activity-stream/common/Actions.sys.mjs"
|
"resource://activity-stream/common/Actions.sys.mjs"
|
||||||
);
|
);
|
||||||
const { Prefs } = ChromeUtils.import(
|
const { Prefs } = ChromeUtils.importESModule(
|
||||||
"resource://activity-stream/lib/ActivityStreamPrefs.jsm"
|
"resource://activity-stream/lib/ActivityStreamPrefs.sys.mjs"
|
||||||
);
|
);
|
||||||
const { AppConstants } = ChromeUtils.importESModule(
|
const { AppConstants } = ChromeUtils.importESModule(
|
||||||
"resource://gre/modules/AppConstants.sys.mjs"
|
"resource://gre/modules/AppConstants.sys.mjs"
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,8 @@ const { ActivityStreamMessageChannel } = ChromeUtils.import(
|
||||||
const { ActivityStreamStorage } = ChromeUtils.import(
|
const { ActivityStreamStorage } = ChromeUtils.import(
|
||||||
"resource://activity-stream/lib/ActivityStreamStorage.jsm"
|
"resource://activity-stream/lib/ActivityStreamStorage.jsm"
|
||||||
);
|
);
|
||||||
const { Prefs } = ChromeUtils.import(
|
const { Prefs } = ChromeUtils.importESModule(
|
||||||
"resource://activity-stream/lib/ActivityStreamPrefs.jsm"
|
"resource://activity-stream/lib/ActivityStreamPrefs.sys.mjs"
|
||||||
);
|
);
|
||||||
const { reducers } = ChromeUtils.importESModule(
|
const { reducers } = ChromeUtils.importESModule(
|
||||||
"resource://activity-stream/common/Reducers.sys.mjs"
|
"resource://activity-stream/common/Reducers.sys.mjs"
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,8 @@ const { MESSAGE_TYPE_HASH: msg } = ChromeUtils.importESModule(
|
||||||
const { actionTypes: at, actionUtils: au } = ChromeUtils.importESModule(
|
const { actionTypes: at, actionUtils: au } = ChromeUtils.importESModule(
|
||||||
"resource://activity-stream/common/Actions.sys.mjs"
|
"resource://activity-stream/common/Actions.sys.mjs"
|
||||||
);
|
);
|
||||||
const { Prefs } = ChromeUtils.import(
|
const { Prefs } = ChromeUtils.importESModule(
|
||||||
"resource://activity-stream/lib/ActivityStreamPrefs.jsm"
|
"resource://activity-stream/lib/ActivityStreamPrefs.sys.mjs"
|
||||||
);
|
);
|
||||||
const { classifySite } = ChromeUtils.import(
|
const { classifySite } = ChromeUtils.import(
|
||||||
"resource://activity-stream/lib/SiteClassifier.jsm"
|
"resource://activity-stream/lib/SiteClassifier.jsm"
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,8 @@
|
||||||
const { actionTypes: at, actionCreators: ac } = ChromeUtils.importESModule(
|
const { actionTypes: at, actionCreators: ac } = ChromeUtils.importESModule(
|
||||||
"resource://activity-stream/common/Actions.sys.mjs"
|
"resource://activity-stream/common/Actions.sys.mjs"
|
||||||
);
|
);
|
||||||
const { Prefs } = ChromeUtils.import(
|
const { Prefs } = ChromeUtils.importESModule(
|
||||||
"resource://activity-stream/lib/ActivityStreamPrefs.jsm"
|
"resource://activity-stream/lib/ActivityStreamPrefs.sys.mjs"
|
||||||
);
|
);
|
||||||
const { shortURL } = ChromeUtils.import(
|
const { shortURL } = ChromeUtils.import(
|
||||||
"resource://activity-stream/lib/ShortURL.jsm"
|
"resource://activity-stream/lib/ShortURL.jsm"
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import { GlobalOverrider } from "test/unit/utils";
|
||||||
|
|
||||||
import { DEFAULT_SITES } from "lib/DefaultSites.sys.mjs";
|
import { DEFAULT_SITES } from "lib/DefaultSites.sys.mjs";
|
||||||
import { AboutPreferences } from "lib/AboutPreferences.jsm";
|
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 { NewTabInit } from "lib/NewTabInit.jsm";
|
||||||
import { SectionsFeed } from "lib/SectionsManager.jsm";
|
import { SectionsFeed } from "lib/SectionsManager.jsm";
|
||||||
import { RecommendationProvider } from "lib/RecommendationProvider.jsm";
|
import { RecommendationProvider } from "lib/RecommendationProvider.jsm";
|
||||||
|
|
|
||||||
|
|
@ -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([
|
const TEST_PREF_CONFIG = new Map([
|
||||||
["foo", { value: true }],
|
["foo", { value: true }],
|
||||||
|
|
|
||||||
|
|
@ -294,7 +294,6 @@
|
||||||
"resource://activity-stream/lib/AboutPreferences.jsm": "browser/components/newtab/lib/AboutPreferences.jsm",
|
"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/ActivityStream.jsm": "browser/components/newtab/lib/ActivityStream.jsm",
|
||||||
"resource://activity-stream/lib/ActivityStreamMessageChannel.jsm": "browser/components/newtab/lib/ActivityStreamMessageChannel.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/ActivityStreamStorage.jsm": "browser/components/newtab/lib/ActivityStreamStorage.jsm",
|
||||||
"resource://activity-stream/lib/CFRMessageProvider.jsm": "browser/components/newtab/lib/CFRMessageProvider.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",
|
"resource://activity-stream/lib/CFRPageActions.jsm": "browser/components/newtab/lib/CFRPageActions.jsm",
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue