Bug 1868194 - Convert TelemetryFeed.jsm to an ESM. r=thecount
Differential Revision: https://phabricator.services.mozilla.com/D197972
This commit is contained in:
@@ -101,9 +101,9 @@ module.exports = function (config) {
|
||||
branches: 33,
|
||||
},
|
||||
/**
|
||||
* TelemetryFeed.jsm is tested via an xpcshell test
|
||||
* TelemetryFeed.sys.mjs is tested via an xpcshell test
|
||||
*/
|
||||
"lib/TelemetryFeed.jsm": {
|
||||
"lib/TelemetryFeed.sys.mjs": {
|
||||
statements: 10,
|
||||
lines: 10,
|
||||
functions: 9,
|
||||
|
||||
@@ -10,8 +10,8 @@ const EXPORTED_SYMBOLS = ["ASRouterDefaultConfig"];
|
||||
const { ASRouter } = ChromeUtils.import(
|
||||
"resource://activity-stream/lib/ASRouter.jsm"
|
||||
);
|
||||
const { TelemetryFeed } = ChromeUtils.import(
|
||||
"resource://activity-stream/lib/TelemetryFeed.jsm"
|
||||
const { TelemetryFeed } = ChromeUtils.importESModule(
|
||||
"resource://activity-stream/lib/TelemetryFeed.sys.mjs"
|
||||
);
|
||||
const { ASRouterParentProcessMessageHandler } = ChromeUtils.import(
|
||||
"resource://activity-stream/lib/ASRouterParentProcessMessageHandler.jsm"
|
||||
|
||||
@@ -14,6 +14,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
|
||||
DefaultPrefs: "resource://activity-stream/lib/ActivityStreamPrefs.sys.mjs",
|
||||
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
|
||||
Region: "resource://gre/modules/Region.sys.mjs",
|
||||
TelemetryFeed: "resource://activity-stream/lib/TelemetryFeed.sys.mjs",
|
||||
});
|
||||
|
||||
// NB: Eagerly load modules that will be loaded/constructed/initialized in the
|
||||
@@ -61,11 +62,6 @@ ChromeUtils.defineModuleGetter(
|
||||
"SystemTickFeed",
|
||||
"resource://activity-stream/lib/SystemTickFeed.jsm"
|
||||
);
|
||||
ChromeUtils.defineModuleGetter(
|
||||
lazy,
|
||||
"TelemetryFeed",
|
||||
"resource://activity-stream/lib/TelemetryFeed.jsm"
|
||||
);
|
||||
ChromeUtils.defineModuleGetter(
|
||||
lazy,
|
||||
"FaviconFeed",
|
||||
|
||||
@@ -2,21 +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";
|
||||
// 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
|
||||
// XPCOMUtils, 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 { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
const { MESSAGE_TYPE_HASH: msg } = ChromeUtils.importESModule(
|
||||
"resource://activity-stream/common/ActorConstants.sys.mjs"
|
||||
);
|
||||
|
||||
const { actionTypes: at, actionUtils: au } = ChromeUtils.importESModule(
|
||||
"resource://activity-stream/common/Actions.sys.mjs"
|
||||
);
|
||||
const { Prefs } = ChromeUtils.importESModule(
|
||||
"resource://activity-stream/lib/ActivityStreamPrefs.sys.mjs"
|
||||
);
|
||||
import { MESSAGE_TYPE_HASH as msg } from "resource://activity-stream/common/ActorConstants.sys.mjs";
|
||||
import {
|
||||
actionTypes as at,
|
||||
actionUtils as au,
|
||||
} from "resource://activity-stream/common/Actions.sys.mjs";
|
||||
import { Prefs } from "resource://activity-stream/lib/ActivityStreamPrefs.sys.mjs";
|
||||
|
||||
const { classifySite } = ChromeUtils.import(
|
||||
"resource://activity-stream/lib/SiteClassifier.jsm"
|
||||
);
|
||||
@@ -56,7 +59,7 @@ XPCOMUtils.defineLazyPreferenceGetter(
|
||||
);
|
||||
|
||||
// This is a mapping table between the user preferences and its encoding code
|
||||
const USER_PREFS_ENCODING = {
|
||||
export const USER_PREFS_ENCODING = {
|
||||
showSearch: 1 << 0,
|
||||
"feeds.topsites": 1 << 1,
|
||||
"feeds.section.topstories": 1 << 2,
|
||||
@@ -67,9 +70,9 @@ const USER_PREFS_ENCODING = {
|
||||
showSponsoredTopSites: 1 << 8,
|
||||
};
|
||||
|
||||
const PREF_IMPRESSION_ID = "impressionId";
|
||||
const TELEMETRY_PREF = "telemetry";
|
||||
const EVENTS_TELEMETRY_PREF = "telemetry.ut.events";
|
||||
export const PREF_IMPRESSION_ID = "impressionId";
|
||||
export const TELEMETRY_PREF = "telemetry";
|
||||
export const EVENTS_TELEMETRY_PREF = "telemetry.ut.events";
|
||||
|
||||
// Used as the missing value for timestamps in the session ping
|
||||
const TIMESTAMP_MISSING_VALUE = -1;
|
||||
@@ -112,7 +115,7 @@ const NEWTAB_PING_PREFS = {
|
||||
};
|
||||
const TOP_SITES_BLOCKED_SPONSORS_PREF = "browser.topsites.blockedSponsors";
|
||||
|
||||
class TelemetryFeed {
|
||||
export class TelemetryFeed {
|
||||
constructor() {
|
||||
this.sessions = new Map();
|
||||
this._prefs = new Prefs();
|
||||
@@ -1115,11 +1118,3 @@ class TelemetryFeed {
|
||||
// TODO: Send any unfinished sessions
|
||||
}
|
||||
}
|
||||
|
||||
const EXPORTED_SYMBOLS = [
|
||||
"TelemetryFeed",
|
||||
"USER_PREFS_ENCODING",
|
||||
"PREF_IMPRESSION_ID",
|
||||
"TELEMETRY_PREF",
|
||||
"EVENTS_TELEMETRY_PREF",
|
||||
];
|
||||
@@ -9,8 +9,8 @@ const { CFRMessageProvider } = ChromeUtils.importESModule(
|
||||
"resource://activity-stream/lib/CFRMessageProvider.sys.mjs"
|
||||
);
|
||||
|
||||
const { TelemetryFeed } = ChromeUtils.import(
|
||||
"resource://activity-stream/lib/TelemetryFeed.jsm"
|
||||
const { TelemetryFeed } = ChromeUtils.importESModule(
|
||||
"resource://activity-stream/lib/TelemetryFeed.sys.mjs"
|
||||
);
|
||||
|
||||
const createDummyRecommendation = ({
|
||||
|
||||
@@ -16,8 +16,8 @@ const { ExperimentFakes, ExperimentTestUtils } = ChromeUtils.importESModule(
|
||||
const { ExperimentManager } = ChromeUtils.importESModule(
|
||||
"resource://nimbus/lib/ExperimentManager.sys.mjs"
|
||||
);
|
||||
const { TelemetryFeed } = ChromeUtils.import(
|
||||
"resource://activity-stream/lib/TelemetryFeed.jsm"
|
||||
const { TelemetryFeed } = ChromeUtils.importESModule(
|
||||
"resource://activity-stream/lib/TelemetryFeed.sys.mjs"
|
||||
);
|
||||
const { TelemetryTestUtils } = ChromeUtils.importESModule(
|
||||
"resource://testing-common/TelemetryTestUtils.sys.mjs"
|
||||
|
||||
@@ -11,7 +11,7 @@ import { RecommendationProvider } from "lib/RecommendationProvider.jsm";
|
||||
import { PlacesFeed } from "lib/PlacesFeed.jsm";
|
||||
import { PrefsFeed } from "lib/PrefsFeed.jsm";
|
||||
import { SystemTickFeed } from "lib/SystemTickFeed.jsm";
|
||||
import { TelemetryFeed } from "lib/TelemetryFeed.jsm";
|
||||
import { TelemetryFeed } from "lib/TelemetryFeed.sys.mjs";
|
||||
import { FaviconFeed } from "lib/FaviconFeed.jsm";
|
||||
import { TopSitesFeed } from "lib/TopSitesFeed.jsm";
|
||||
import { TopStoriesFeed } from "lib/TopStoriesFeed.jsm";
|
||||
|
||||
@@ -15,6 +15,10 @@ const { updateAppInfo } = ChromeUtils.importESModule(
|
||||
"resource://testing-common/AppInfo.sys.mjs"
|
||||
);
|
||||
|
||||
const { TelemetryFeed, USER_PREFS_ENCODING } = ChromeUtils.importESModule(
|
||||
"resource://activity-stream/lib/TelemetryFeed.sys.mjs"
|
||||
);
|
||||
|
||||
ChromeUtils.defineESModuleGetters(this, {
|
||||
AboutNewTab: "resource:///modules/AboutNewTab.sys.mjs",
|
||||
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
|
||||
@@ -31,10 +35,6 @@ ChromeUtils.defineESModuleGetters(this, {
|
||||
UTEventReporting: "resource://activity-stream/lib/UTEventReporting.sys.mjs",
|
||||
});
|
||||
|
||||
const { TelemetryFeed, USER_PREFS_ENCODING } = ChromeUtils.import(
|
||||
"resource://activity-stream/lib/TelemetryFeed.jsm"
|
||||
);
|
||||
|
||||
const { AboutWelcomeTelemetry } = ChromeUtils.import(
|
||||
"resource:///modules/aboutwelcome/AboutWelcomeTelemetry.jsm"
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user