Bug 1793575 - [devtools] Convert jsdebugger.jsm to jsdebugger.sys.mjs. r=Honza,webdriver-reviewers,whimboo

Differential Revision: https://phabricator.services.mozilla.com/D158571
This commit is contained in:
Alexandre Poirot 2022-10-06 14:21:22 +00:00
parent ed051e8a4c
commit 76aed8f004
48 changed files with 80 additions and 85 deletions

View file

@ -363,7 +363,7 @@ if (!isDevtools) {
// resource://devtools/shared/worker/loader.js,
// resource://devtools/shared/loader/builtin-modules.js
if (!AppConstants.ENABLE_WEBDRIVER) {
whitelist.add("resource://gre/modules/jsdebugger.jsm");
whitelist.add("resource://gre/modules/jsdebugger.sys.mjs");
}
}

View file

@ -17,8 +17,8 @@ var { FileUtils } = ChromeUtils.import("resource://gre/modules/FileUtils.jsm");
var { expectState } = require("resource://devtools/server/actors/common.js");
var HeapSnapshotFileUtils = require("resource://devtools/shared/heapsnapshot/HeapSnapshotFileUtils.js");
var HeapAnalysesClient = require("resource://devtools/shared/heapsnapshot/HeapAnalysesClient.js");
var { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
var { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
var Store = require("resource://devtools/client/memory/store.js");
var { L10N } = require("resource://devtools/client/memory/utils.js");

View file

@ -34,8 +34,8 @@ This page shows how to use the :doc:`Debugger API <../index>` to show how many o
// This defines the 'Debugger' constructor in this
// Scratchpad; it doesn't actually start debugging anything.
const { addDebuggerToGlobal } = ChromeUtils.import(
'resource://gre/modules/jsdebugger.jsm'
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
'resource://gre/modules/jsdebugger.sys.mjs'
);
addDebuggerToGlobal(window);

View file

@ -40,8 +40,8 @@ This tutorial was tested against Firefox 58 Beta and Nightly. It does not work i
.. code-block:: javascript
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
const { console } = ChromeUtils.import(
"resource://gre/modules/Console.jsm"

View file

@ -6,8 +6,8 @@
/**
* Do not use this interface. Instead, write:
* const { addDebuggerToGlobal } = ChromeUtils.import(
* "resource://gre/modules/jsdebugger.jsm"
* const { addDebuggerToGlobal } = ChromeUtils.importESModule(
* "resource://gre/modules/jsdebugger.sys.mjs"
* );
* addDebuggerToGlobal(global);
*/

View file

@ -3,14 +3,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";
var EXPORTED_SYMBOLS = ["addDebuggerToGlobal", "addSandboxedDebuggerToGlobal"];
/*
* This is the js module for Debugger. Import it like so:
* const { addDebuggerToGlobal } = ChromeUtils.import(
* "resource://gre/modules/jsdebugger.jsm"
* const { addDebuggerToGlobal } = ChromeUtils.importESModule(
* "resource://gre/modules/jsdebugger.sys.mjs"
* );
* addDebuggerToGlobal(globalThis);
*
@ -23,14 +19,15 @@ var EXPORTED_SYMBOLS = ["addDebuggerToGlobal", "addSandboxedDebuggerToGlobal"];
*/
const init = Cc["@mozilla.org/jsdebugger;1"].createInstance(Ci.IJSDebugger);
function addDebuggerToGlobal(global) {
export function addDebuggerToGlobal(global) {
init.addClass(global);
initPromiseDebugging(global);
}
// Defines the Debugger in a sandbox global in a separate compartment. This
// ensures the debugger and debuggee are in different compartments.
function addSandboxedDebuggerToGlobal(global) {
export function addSandboxedDebuggerToGlobal(global) {
const sb = Cu.Sandbox(global, { freshCompartment: true });
addDebuggerToGlobal(sb);
global.Debugger = sb.Debugger;

View file

@ -23,7 +23,7 @@ XPCOM_MANIFESTS += [
]
EXTRA_JS_MODULES += [
"jsdebugger.jsm",
"jsdebugger.sys.mjs",
]
# The /devtools/moz.build opted in to treatment of devtools as a browser

View file

@ -1,8 +1,8 @@
"use strict";
function run_test() {
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
Services.prefs.setBoolPref("security.allow_eval_with_system_principal", true);

View file

@ -215,7 +215,7 @@ const WebConsoleActor = ActorClassWithSpec(webconsoleSpec, {
/**
* Debugger instance.
*
* @see jsdebugger.jsm
* @see jsdebugger.sys.mjs
*/
dbg: null,

View file

@ -16,7 +16,7 @@ Debugger.Script.prototype.global should return innerize globals, not WindowProxi
<script>
"use strict";
const {addDebuggerToGlobal} = ChromeUtils.import("resource://gre/modules/jsdebugger.jsm");
const {addDebuggerToGlobal} = ChromeUtils.importESModule("resource://gre/modules/jsdebugger.sys.mjs");
addDebuggerToGlobal(globalThis);
window.onload = function() {

View file

@ -17,7 +17,7 @@ element to which code is attached (if any), and how.
<script>
"use strict";
const {addSandboxedDebuggerToGlobal} = ChromeUtils.import("resource://gre/modules/jsdebugger.jsm");
const {addSandboxedDebuggerToGlobal} = ChromeUtils.importESModule("resource://gre/modules/jsdebugger.sys.mjs");
addSandboxedDebuggerToGlobal(globalThis);
window.onload = function() {

View file

@ -17,7 +17,7 @@ behave when 'eval' is called with no scripted frames active at all.
<script>
"use strict";
const {addDebuggerToGlobal} = ChromeUtils.import("resource://gre/modules/jsdebugger.jsm");
const {addDebuggerToGlobal} = ChromeUtils.importESModule("resource://gre/modules/jsdebugger.sys.mjs");
addDebuggerToGlobal(globalThis);
window.onload = function() {

View file

@ -18,7 +18,7 @@ JavaScrip appearing in an inline event handler attribute.
<script>
"use strict";
const {addSandboxedDebuggerToGlobal} = ChromeUtils.import("resource://gre/modules/jsdebugger.jsm");
const {addSandboxedDebuggerToGlobal} = ChromeUtils.importESModule("resource://gre/modules/jsdebugger.sys.mjs");
addSandboxedDebuggerToGlobal(globalThis);
let dbg;

View file

@ -18,7 +18,7 @@ object.
<script>
"use strict";
const {addDebuggerToGlobal} = ChromeUtils.import("resource://gre/modules/jsdebugger.jsm");
const {addDebuggerToGlobal} = ChromeUtils.importESModule("resource://gre/modules/jsdebugger.sys.mjs");
addDebuggerToGlobal(globalThis);
window.onload = function() {

View file

@ -17,7 +17,7 @@ Debugger.prototype.makeGlobalObjectReference should dereference WindowProxy
<script>
"use strict";
const {addSandboxedDebuggerToGlobal} = ChromeUtils.import("resource://gre/modules/jsdebugger.jsm");
const {addSandboxedDebuggerToGlobal} = ChromeUtils.importESModule("resource://gre/modules/jsdebugger.sys.mjs");
addSandboxedDebuggerToGlobal(globalThis);
window.onload = function() {

View file

@ -18,7 +18,7 @@ xray wrapper.
<script>
"use strict";
const {addDebuggerToGlobal} = ChromeUtils.import("resource://gre/modules/jsdebugger.jsm");
const {addDebuggerToGlobal} = ChromeUtils.importESModule("resource://gre/modules/jsdebugger.sys.mjs");
addDebuggerToGlobal(globalThis);
window.onload = function() {

View file

@ -57,8 +57,8 @@ const {
CommandsFactory,
} = require("resource://devtools/shared/commands/commands-factory.js");
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
const { AddonTestUtils } = ChromeUtils.import(

View file

@ -4,8 +4,8 @@ function run_test() {
registerCleanupFunction(() => {
Services.prefs.clearUserPref("security.allow_eval_with_system_principal");
});
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
addDebuggerToGlobal(globalThis);
const xpcInspector = Cc["@mozilla.org/jsinspector;1"].getService(

View file

@ -4,8 +4,8 @@ function run_test() {
registerCleanupFunction(() => {
Services.prefs.clearUserPref("security.allow_eval_with_system_principal");
});
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
addDebuggerToGlobal(globalThis);
const g = createTestGlobal("test1");

View file

@ -4,8 +4,8 @@ function run_test() {
registerCleanupFunction(() => {
Services.prefs.clearUserPref("security.allow_eval_with_system_principal");
});
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
addDebuggerToGlobal(globalThis);
const g = createTestGlobal("test", {

View file

@ -16,8 +16,8 @@ const { require } = ChromeUtils.import(
);
const { Match } = ChromeUtils.importESModule("resource://test/Match.sys.mjs");
const { Census } = ChromeUtils.importESModule("resource://test/Census.sys.mjs");
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
const DevToolsUtils = require("devtools/shared/DevToolsUtils");

View file

@ -4,8 +4,8 @@
// Test that we can read core dumps into HeapSnapshot instances.
/* eslint-disable strict */
if (typeof Debugger != "function") {
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
addDebuggerToGlobal(globalThis);
}

View file

@ -6,8 +6,8 @@
// into a HeapSnapshot.
if (typeof Debugger != "function") {
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
addDebuggerToGlobal(globalThis);
}

View file

@ -4,8 +4,8 @@
// Test the ChromeUtils interface.
// eslint-disable-next-line
if (typeof Debugger != "function") {
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
addDebuggerToGlobal(globalThis);
}

View file

@ -154,8 +154,8 @@ defineLazyGetter(exports.modules, "Debugger", () => {
if (global.Debugger) {
return global.Debugger;
}
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
addDebuggerToGlobal(global);
return global.Debugger;
@ -170,8 +170,8 @@ defineLazyGetter(exports.modules, "ChromeDebugger", () => {
freshCompartment: true,
});
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
addDebuggerToGlobal(debuggerSandbox);
return debuggerSandbox.Debugger;

View file

@ -390,8 +390,8 @@ var {
});
Cu.evalInSandbox(
`
const { addDebuggerToGlobal } = ChromeUtils.import(
'resource://gre/modules/jsdebugger.jsm'
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
'resource://gre/modules/jsdebugger.sys.mjs'
);
addDebuggerToGlobal(globalThis);
`,

View file

@ -40,8 +40,8 @@ const MemoryReporter = Cc["@mozilla.org/memory-reporter-manager;1"].getService(
);
const global = Cu.getGlobalForObject(this);
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
addDebuggerToGlobal(global);

View file

@ -3,8 +3,8 @@
"use strict";
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
addDebuggerToGlobal(globalThis);

View file

@ -6,8 +6,8 @@ const {
FallibleJSPropertyProvider: JSPropertyProvider,
} = require("devtools/shared/webconsole/js-property-provider");
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
addDebuggerToGlobal(globalThis);

View file

@ -25,7 +25,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1346936
/** Test for Bug 1346936 **/
const {addDebuggerToGlobal} = ChromeUtils.import("resource://gre/modules/jsdebugger.jsm");
const {addDebuggerToGlobal} = ChromeUtils.importESModule("resource://gre/modules/jsdebugger.sys.mjs");
addDebuggerToGlobal(globalThis);
window.onload = function() {

View file

@ -25,7 +25,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=765993
/** Test for Bug 765993 **/
const {addDebuggerToGlobal} = ChromeUtils.import("resource://gre/modules/jsdebugger.jsm");
const {addDebuggerToGlobal} = ChromeUtils.importESModule("resource://gre/modules/jsdebugger.sys.mjs");
addDebuggerToGlobal(globalThis);
window.onload = function() {

View file

@ -4,7 +4,7 @@
<script>
// Hook up the debugger statement to extract the calling script's
// introductionType and set it in a property on the parent global.
const {addSandboxedDebuggerToGlobal} = ChromeUtils.import("resource://gre/modules/jsdebugger.jsm");
const {addSandboxedDebuggerToGlobal} = ChromeUtils.importESModule("resource://gre/modules/jsdebugger.sys.mjs");
addSandboxedDebuggerToGlobal(globalThis);
var dbg = new Debugger;
dbg.addDebuggee(parent);

View file

@ -25,7 +25,7 @@ Debugger.prototype.onNewPromise.
"[object Promise]",
"We should have the native DOM promise implementation.");
const {addDebuggerToGlobal} = ChromeUtils.import("resource://gre/modules/jsdebugger.jsm");
const {addDebuggerToGlobal} = ChromeUtils.importESModule("resource://gre/modules/jsdebugger.sys.mjs");
var dbgGlobal = new Cu.Sandbox(document.nodePrincipal,
{freshCompartment: true});
addDebuggerToGlobal(dbgGlobal);

View file

@ -27,7 +27,7 @@ Debugger.prototype.onPromiseResolved.
"[object Promise]",
"We should have the native DOM promise implementation.");
const {addDebuggerToGlobal} = ChromeUtils.import("resource://gre/modules/jsdebugger.jsm");
const {addDebuggerToGlobal} = ChromeUtils.importESModule("resource://gre/modules/jsdebugger.sys.mjs");
var dbgGlobal = new Cu.Sandbox(document.nodePrincipal,
{freshCompartment: true});
addDebuggerToGlobal(dbgGlobal);

View file

@ -26,7 +26,7 @@ Bug 1084065 - Test that Debugger.prototype.onPromiseResolved doesn't get dupes.
"[object Promise]",
"We should have the native DOM promise implementation.");
const {addDebuggerToGlobal} = ChromeUtils.import("resource://gre/modules/jsdebugger.jsm");
const {addDebuggerToGlobal} = ChromeUtils.importESModule("resource://gre/modules/jsdebugger.sys.mjs");
var dbgGlobal = new Cu.Sandbox(document.nodePrincipal,
{freshCompartment: true});
addDebuggerToGlobal(dbgGlobal);

View file

@ -1,7 +1,7 @@
"use strict";
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
const SYSTEM_PRINCIPAL = Cc["@mozilla.org/systemprincipal;1"].createInstance(

View file

@ -20,8 +20,8 @@ them.
```js
// This simply defines the 'Debugger' constructor in this
// Scratchpad; it doesn't actually start debugging anything.
const { addDebuggerToGlobal } = ChromeUtils.import(
'resource://gre/modules/jsdebugger.jsm'
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
'resource://gre/modules/jsdebugger.sys.mjs'
);
addDebuggerToGlobal(window);

View file

@ -44,8 +44,8 @@ This tutorial was tested against Firefox 58 Beta and Nightly. It does not work i
5. Click on the Scratchpad panel and enter the following code:
```js
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
const { console } = ChromeUtils.import(
"resource://gre/modules/Console.jsm"

View file

@ -31,8 +31,8 @@ page whenever it executes a JavaScript `debugger;` statement.
```js
// This simply defines 'Debugger' in this Scratchpad;
// it doesn't actually start debugging anything.
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
addDebuggerToGlobal(window);

View file

@ -177,7 +177,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=533596
outerSB.sop = this;
Cu.evalInSandbox('checkExplicitVersions();', outerSB);
const {addDebuggerToGlobal} = ChromeUtils.import("resource://gre/modules/jsdebugger.jsm");
const {addDebuggerToGlobal} = ChromeUtils.importESModule("resource://gre/modules/jsdebugger.sys.mjs");
addDebuggerToGlobal(globalThis);
try {

View file

@ -24,8 +24,8 @@
}
);
Cu.evalInSandbox(`
const { addDebuggerToGlobal } = ChromeUtils.import(
'resource://gre/modules/jsdebugger.jsm'
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
'resource://gre/modules/jsdebugger.sys.mjs'
);
addDebuggerToGlobal(globalThis);
`, sandbox

View file

@ -1,4 +1,4 @@
var {addDebuggerToGlobal, addSandboxedDebuggerToGlobal} = ChromeUtils.import("resource://gre/modules/jsdebugger.jsm");
var {addDebuggerToGlobal, addSandboxedDebuggerToGlobal} = ChromeUtils.importESModule("resource://gre/modules/jsdebugger.sys.mjs");
const testingFunctions = Cu.getJSTestingFunctions();
const systemPrincipal = Cc["@mozilla.org/systemprincipal;1"].createInstance(Ci.nsIPrincipal);

View file

@ -2,8 +2,8 @@
* http://creativecommons.org/publicdomain/zero/1.0/ */
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
addDebuggerToGlobal(this);

View file

@ -1,7 +1,7 @@
// Test calling SavedFrame getters across wrappers from privileged and
// un-privileged globals.
const {addDebuggerToGlobal} = ChromeUtils.import("resource://gre/modules/jsdebugger.jsm");
const {addDebuggerToGlobal} = ChromeUtils.importESModule("resource://gre/modules/jsdebugger.sys.mjs");
addDebuggerToGlobal(globalThis);
const lowP = Services.scriptSecurityManager.createNullPrincipal({});

View file

@ -1,7 +1,7 @@
// Bug 1117242: Test calling SavedFrame getters from globals that don't subsume
// that frame's principals.
const {addDebuggerToGlobal} = ChromeUtils.import("resource://gre/modules/jsdebugger.jsm");
const {addDebuggerToGlobal} = ChromeUtils.importESModule("resource://gre/modules/jsdebugger.sys.mjs");
addDebuggerToGlobal(globalThis);
const lowP = Services.scriptSecurityManager.createNullPrincipal({});

View file

@ -4,9 +4,7 @@
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
);
import { addDebuggerToGlobal } from "resource://gre/modules/jsdebugger.sys.mjs";
import { ContentProcessDomain } from "chrome://remote/content/cdp/domains/ContentProcessDomain.sys.mjs";

View file

@ -5,8 +5,8 @@
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const lazy = {};
XPCOMUtils.defineLazyModuleGetters(lazy, {
addDebuggerToGlobal: "resource://gre/modules/jsdebugger.jsm",
ChromeUtils.defineESModuleGetters(lazy, {
addDebuggerToGlobal: "resource://gre/modules/jsdebugger.sys.mjs",
});
XPCOMUtils.defineLazyGetter(lazy, "dbg", () => {

View file

@ -7,8 +7,8 @@
var EXPORTED_SYMBOLS = ["CoverageCollector"];
/* globals Debugger */
const { addDebuggerToGlobal } = ChromeUtils.import(
"resource://gre/modules/jsdebugger.jsm"
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
// eslint-disable-next-line mozilla/reject-globalThis-modification
addDebuggerToGlobal(globalThis);