Bug 1830814 - Migrate remaining extension jsm files to ESM r=geckoview-reviewers,Standard8,m_kato

Differential Revision: https://phabricator.services.mozilla.com/D179890
This commit is contained in:
Rob Wu 2023-06-05 10:23:40 +00:00
parent 162c96c2fe
commit fef9c3bf5e
26 changed files with 57 additions and 140 deletions

View File

@ -1,13 +1,8 @@
/* 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";
const EXPORTED_SYMBOLS = ["BrowsingDataDelegate"];
const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const lazy = {};
@ -24,7 +19,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
Sanitizer: "resource:///modules/Sanitizer.sys.mjs",
});
class BrowsingDataDelegate {
export class BrowsingDataDelegate {
// Unused for now
constructor(extension) {}

View File

@ -1,9 +1,6 @@
/* 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/. */
/* exported ExtensionControlledPopup */
"use strict";
/*
* @fileOverview
@ -17,14 +14,8 @@
* the change by triggering the primary action.
*/
var EXPORTED_SYMBOLS = ["ExtensionControlledPopup"];
const { ExtensionCommon } = ChromeUtils.importESModule(
"resource://gre/modules/ExtensionCommon.sys.mjs"
);
const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
import { ExtensionCommon } from "resource://gre/modules/ExtensionCommon.sys.mjs";
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const lazy = {};
@ -58,7 +49,7 @@ XPCOMUtils.defineLazyGetter(lazy, "distributionAddonsList", function () {
return new Set(addonList);
});
class ExtensionControlledPopup {
export class ExtensionControlledPopup {
/* Provide necessary options for the popup.
*
* @param {object} opts Options for configuring popup.

View File

@ -4,15 +4,7 @@
* 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";
/* exported PanelPopup, ViewPopup */
var EXPORTED_SYMBOLS = ["BasePopup", "PanelPopup", "ViewPopup"];
const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const lazy = {};
@ -22,15 +14,9 @@ ChromeUtils.defineESModuleGetters(lazy, {
setTimeout: "resource://gre/modules/Timer.sys.mjs",
});
const { AppConstants } = ChromeUtils.importESModule(
"resource://gre/modules/AppConstants.sys.mjs"
);
const { ExtensionCommon } = ChromeUtils.importESModule(
"resource://gre/modules/ExtensionCommon.sys.mjs"
);
const { ExtensionUtils } = ChromeUtils.importESModule(
"resource://gre/modules/ExtensionUtils.sys.mjs"
);
import { AppConstants } from "resource://gre/modules/AppConstants.sys.mjs";
import { ExtensionCommon } from "resource://gre/modules/ExtensionCommon.sys.mjs";
import { ExtensionUtils } from "resource://gre/modules/ExtensionUtils.sys.mjs";
var { DefaultWeakMap, promiseEvent } = ExtensionUtils;
@ -69,7 +55,7 @@ XPCOMUtils.defineLazyGetter(lazy, "standaloneStylesheets", () => {
const REMOTE_PANEL_ID = "webextension-remote-preload-panel";
class BasePopup {
export class BasePopup {
constructor(
extension,
viewNode,
@ -483,7 +469,7 @@ class BasePopup {
*/
BasePopup.instances = new DefaultWeakMap(() => new WeakMap());
class PanelPopup extends BasePopup {
export class PanelPopup extends BasePopup {
constructor(extension, document, popupURL, browserStyle) {
let panel = document.createXULElement("panel");
panel.setAttribute("id", makeWidgetId(extension.id) + "-panel");
@ -533,7 +519,7 @@ class PanelPopup extends BasePopup {
}
}
class ViewPopup extends BasePopup {
export class ViewPopup extends BasePopup {
constructor(
extension,
window,

View File

@ -14,13 +14,13 @@ EXTRA_COMPONENTS += [
]
EXTRA_JS_MODULES += [
"ExtensionBrowsingData.jsm",
"ExtensionControlledPopup.jsm",
"ExtensionPopups.jsm",
"ExtensionBrowsingData.sys.mjs",
"ExtensionControlledPopup.sys.mjs",
"ExtensionPopups.sys.mjs",
]
TESTING_JS_MODULES += [
"test/AppUiTestDelegate.jsm",
"test/AppUiTestDelegate.sys.mjs",
]
DIRS += ["schemas"]

View File

@ -10,14 +10,10 @@ ChromeUtils.defineESModuleGetters(this, {
CustomizableUI: "resource:///modules/CustomizableUI.sys.mjs",
ExtensionTelemetry: "resource://gre/modules/ExtensionTelemetry.sys.mjs",
OriginControls: "resource://gre/modules/ExtensionPermissions.sys.mjs",
ViewPopup: "resource:///modules/ExtensionPopups.sys.mjs",
clearTimeout: "resource://gre/modules/Timer.sys.mjs",
setTimeout: "resource://gre/modules/Timer.sys.mjs",
});
ChromeUtils.defineModuleGetter(
this,
"ViewPopup",
"resource:///modules/ExtensionPopups.jsm"
);
ChromeUtils.defineModuleGetter(
this,
"BrowserUsageTelemetry",

View File

@ -12,16 +12,13 @@ var { ExtensionParent } = ChromeUtils.importESModule(
);
ChromeUtils.defineESModuleGetters(this, {
ExtensionControlledPopup:
"resource:///modules/ExtensionControlledPopup.sys.mjs",
ExtensionPermissions: "resource://gre/modules/ExtensionPermissions.sys.mjs",
ExtensionSettingsStore:
"resource://gre/modules/ExtensionSettingsStore.sys.mjs",
});
ChromeUtils.defineModuleGetter(
this,
"ExtensionControlledPopup",
"resource:///modules/ExtensionControlledPopup.jsm"
);
ChromeUtils.defineModuleGetter(
this,
"HomePage",

View File

@ -8,17 +8,13 @@
ChromeUtils.defineESModuleGetters(this, {
ExtensionTelemetry: "resource://gre/modules/ExtensionTelemetry.sys.mjs",
PanelPopup: "resource:///modules/ExtensionPopups.sys.mjs",
});
ChromeUtils.defineModuleGetter(
this,
"PageActions",
"resource:///modules/PageActions.jsm"
);
ChromeUtils.defineModuleGetter(
this,
"PanelPopup",
"resource:///modules/ExtensionPopups.jsm"
);
ChromeUtils.defineModuleGetter(
this,
"BrowserUsageTelemetry",

View File

@ -13,15 +13,12 @@ ChromeUtils.defineModuleGetter(
);
ChromeUtils.defineESModuleGetters(this, {
DownloadPaths: "resource://gre/modules/DownloadPaths.sys.mjs",
ExtensionControlledPopup:
"resource:///modules/ExtensionControlledPopup.sys.mjs",
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
PromiseUtils: "resource://gre/modules/PromiseUtils.sys.mjs",
SessionStore: "resource:///modules/sessionstore/SessionStore.sys.mjs",
});
ChromeUtils.defineModuleGetter(
this,
"ExtensionControlledPopup",
"resource:///modules/ExtensionControlledPopup.jsm"
);
XPCOMUtils.defineLazyGetter(this, "strBundle", function () {
return Services.strings.createBundle(

View File

@ -8,12 +8,9 @@ var { ExtensionParent } = ChromeUtils.importESModule(
"resource://gre/modules/ExtensionParent.sys.mjs"
);
ChromeUtils.defineModuleGetter(
this,
"ExtensionControlledPopup",
"resource:///modules/ExtensionControlledPopup.jsm"
);
ChromeUtils.defineESModuleGetters(this, {
ExtensionControlledPopup:
"resource:///modules/ExtensionControlledPopup.sys.mjs",
ExtensionSettingsStore:
"resource://gre/modules/ExtensionSettingsStore.sys.mjs",
});

View File

@ -1,14 +1,8 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
const { Assert } = ChromeUtils.importESModule(
"resource://testing-common/Assert.sys.mjs"
);
const { BrowserTestUtils } = ChromeUtils.importESModule(
"resource://testing-common/BrowserTestUtils.sys.mjs"
);
import { Assert } from "resource://testing-common/Assert.sys.mjs";
import { BrowserTestUtils } from "resource://testing-common/BrowserTestUtils.sys.mjs";
const lazy = {};
@ -16,8 +10,6 @@ ChromeUtils.defineESModuleGetters(lazy, {
CustomizableUI: "resource:///modules/CustomizableUI.sys.mjs",
});
var EXPORTED_SYMBOLS = ["AppUiTestDelegate", "AppUiTestInternals"];
async function promiseAnimationFrame(window) {
await new Promise(resolve => window.requestAnimationFrame(resolve));
@ -208,7 +200,7 @@ async function removeTab(tab) {
// These metods are exported so that they can be used in head.js but are
// *not* part of the AppUiTestDelegate API.
var AppUiTestInternals = {
export var AppUiTestInternals = {
awaitBrowserLoaded,
getBrowserActionWidget,
getBrowserActionWidgetId,
@ -223,7 +215,7 @@ var AppUiTestInternals = {
// These methods are part of the TestDelegate API and need to be compatible
// with the `mobile` AppUiTestDelegate counterpart.
var AppUiTestDelegate = {
export var AppUiTestDelegate = {
awaitExtensionPanel,
clickBrowserAction,
clickPageAction,

View File

@ -7,14 +7,11 @@ const { sinon } = ChromeUtils.importESModule(
);
ChromeUtils.defineESModuleGetters(this, {
ExtensionControlledPopup:
"resource:///modules/ExtensionControlledPopup.sys.mjs",
ExtensionSettingsStore:
"resource://gre/modules/ExtensionSettingsStore.sys.mjs",
});
ChromeUtils.defineModuleGetter(
this,
"ExtensionControlledPopup",
"resource:///modules/ExtensionControlledPopup.jsm"
);
function createMarkup(doc, popup) {
let panel = ExtensionControlledPopup._getAndMaybeCreatePanel(doc);

View File

@ -7,6 +7,8 @@ requestLongerTimeout(4);
ChromeUtils.defineESModuleGetters(this, {
AddonManager: "resource://gre/modules/AddonManager.sys.mjs",
ExtensionControlledPopup:
"resource:///modules/ExtensionControlledPopup.sys.mjs",
ExtensionSettingsStore:
"resource://gre/modules/ExtensionSettingsStore.sys.mjs",
});
@ -15,12 +17,6 @@ XPCOMUtils.defineLazyModuleGetters(this, {
HomePage: "resource:///modules/HomePage.jsm",
});
ChromeUtils.defineModuleGetter(
this,
"ExtensionControlledPopup",
"resource:///modules/ExtensionControlledPopup.jsm"
);
// Named this way so they correspond to the extensions
const HOME_URI_2 = "http://example.com/";
const HOME_URI_3 = "http://example.org/";

View File

@ -1,14 +1,11 @@
"use strict";
ChromeUtils.defineESModuleGetters(this, {
ExtensionControlledPopup:
"resource:///modules/ExtensionControlledPopup.sys.mjs",
SessionStore: "resource:///modules/sessionstore/SessionStore.sys.mjs",
TabStateFlusher: "resource:///modules/sessionstore/TabStateFlusher.sys.mjs",
});
ChromeUtils.defineModuleGetter(
this,
"ExtensionControlledPopup",
"resource:///modules/ExtensionControlledPopup.jsm"
);
const triggeringPrincipal_base64 = E10SUtils.SERIALIZED_SYSTEMPRINCIPAL;

View File

@ -6,6 +6,8 @@
requestLongerTimeout(4);
ChromeUtils.defineESModuleGetters(this, {
ExtensionControlledPopup:
"resource:///modules/ExtensionControlledPopup.sys.mjs",
ExtensionSettingsStore:
"resource://gre/modules/ExtensionSettingsStore.sys.mjs",
});
@ -14,11 +16,6 @@ ChromeUtils.defineModuleGetter(
"AboutNewTab",
"resource:///modules/AboutNewTab.jsm"
);
ChromeUtils.defineModuleGetter(
this,
"ExtensionControlledPopup",
"resource:///modules/ExtensionControlledPopup.jsm"
);
function getNotificationSetting(extensionId) {
return ExtensionSettingsStore.getSetting("newTabNotification", extensionId);

View File

@ -50,8 +50,8 @@ PromiseTestUtils.allowMatchingRejectionsGlobally(
/Receiving end does not exist/
);
const { AppUiTestDelegate, AppUiTestInternals } = ChromeUtils.import(
"resource://testing-common/AppUiTestDelegate.jsm"
const { AppUiTestDelegate, AppUiTestInternals } = ChromeUtils.importESModule(
"resource://testing-common/AppUiTestDelegate.sys.mjs"
);
const { Preferences } = ChromeUtils.importESModule(

View File

@ -4,14 +4,11 @@
"use strict";
ChromeUtils.defineESModuleGetters(this, {
ExtensionControlledPopup:
"resource:///modules/ExtensionControlledPopup.sys.mjs",
ExtensionSettingsStore:
"resource://gre/modules/ExtensionSettingsStore.sys.mjs",
});
ChromeUtils.defineModuleGetter(
this,
"ExtensionControlledPopup",
"resource:///modules/ExtensionControlledPopup.jsm"
);
/*
* This function is a unit test for distributions disabling the ExtensionControlledPopup.

View File

@ -21,8 +21,8 @@ AddonTestUtils.overrideCertDB();
createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "58");
// This is copied and pasted from ExtensionPopups.jsm. It's used as the
// PageActions action ID. See ext-pageAction.js.
// This is copied and pasted from ext-browser.js and used in ext-pageAction.js.
// It's used as the PageActions action ID.
function makeWidgetId(id) {
id = id.toLowerCase();
// FIXME: This allows for collisions.

View File

@ -33,8 +33,8 @@ async function testWebExtensionMessages(
// TODO: Re-enable this (See Bug 1699050).
/*
// Trigger the messages logged when opening the popup.
const { AppUiTestDelegate } = ChromeUtils.import(
"resource://testing-common/AppUiTestDelegate.jsm"
const { AppUiTestDelegate } = ChromeUtils.importESModule(
"resource://testing-common/AppUiTestDelegate.sys.mjs"
);
const onPopupReady = extension.awaitMessage(`popup-ready`);
await AppUiTestDelegate.clickBrowserAction(window, extension.id);

View File

@ -1,13 +1,8 @@
/* 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";
const EXPORTED_SYMBOLS = ["BrowsingDataDelegate"];
const { ExtensionUtils } = ChromeUtils.importESModule(
"resource://gre/modules/ExtensionUtils.sys.mjs"
);
import { ExtensionUtils } from "resource://gre/modules/ExtensionUtils.sys.mjs";
const lazy = {};
@ -17,7 +12,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
const { ExtensionError } = ExtensionUtils;
class BrowsingDataDelegate {
export class BrowsingDataDelegate {
constructor(extension) {
this.extension = extension;
}

View File

@ -7,7 +7,7 @@
JAR_MANIFESTS += ["jar.mn"]
EXTRA_JS_MODULES += [
"ExtensionBrowsingData.jsm",
"ExtensionBrowsingData.sys.mjs",
]
EXTRA_COMPONENTS += [

View File

@ -2,10 +2,6 @@
* 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 = ["AppUiTestDelegate"];
const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
@ -111,4 +107,4 @@ class Delegate {
}
}
var AppUiTestDelegate = new Delegate();
export var AppUiTestDelegate = new Delegate();

View File

@ -3,5 +3,5 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
TESTING_JS_MODULES += [
"AppUiTestDelegate.jsm",
"AppUiTestDelegate.sys.mjs",
]

View File

@ -2,13 +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/. */
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const lazy = {};
// Each app needs to implement this
XPCOMUtils.defineLazyModuleGetters(lazy, {
AppUiTestDelegate: "resource://testing-common/AppUiTestDelegate.jsm",
ChromeUtils.defineESModuleGetters(lazy, {
// Each app needs to implement this
AppUiTestDelegate: "resource://testing-common/AppUiTestDelegate.sys.mjs",
});
export class AppTestDelegateParent extends JSWindowActorParent {

View File

@ -591,7 +591,7 @@ ExtensionTestCommon = class ExtensionTestCommon {
// - browserAction/pageAction.
// - tabs.create, tabs.update, tabs.remove (uses GeckoViewTabBridge).
// - downloads API
// - browsingData API (via ExtensionBrowsingData.jsm).
// - browsingData API (via ExtensionBrowsingData.sys.mjs).
//
// In xpcshell tests, the AddonManager is optional, so the AddonManager
// cannot unconditionally be enabled.

View File

@ -5,16 +5,13 @@
"use strict";
ChromeUtils.defineESModuleGetters(this, {
// This helper contains the platform-specific bits of browsingData.
BrowsingDataDelegate: "resource:///modules/ExtensionBrowsingData.sys.mjs",
LoginHelper: "resource://gre/modules/LoginHelper.sys.mjs",
ServiceWorkerCleanUp: "resource://gre/modules/ServiceWorkerCleanUp.sys.mjs",
setTimeout: "resource://gre/modules/Timer.sys.mjs",
});
XPCOMUtils.defineLazyModuleGetters(this, {
// This helper contains the platform-specific bits of browsingData.
BrowsingDataDelegate: "resource:///modules/ExtensionBrowsingData.jsm",
});
/**
* A number of iterations after which to yield time back
* to the system.

View File

@ -4,8 +4,8 @@ const { PromiseTestUtils } = ChromeUtils.importESModule(
"resource://testing-common/PromiseTestUtils.sys.mjs"
);
const { AppUiTestDelegate } = ChromeUtils.import(
"resource://testing-common/AppUiTestDelegate.jsm"
const { AppUiTestDelegate } = ChromeUtils.importESModule(
"resource://testing-common/AppUiTestDelegate.sys.mjs"
);
// Ignore error "Actor 'Conduits' destroyed before query 'RunListener' was resolved"