summaryrefslogtreecommitdiffstats
path: root/devtools/server/connectors/js-window-actor
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:14:29 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:14:29 +0000
commitfbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8 (patch)
tree4c1ccaf5486d4f2009f9a338a98a83e886e29c97 /devtools/server/connectors/js-window-actor
parentReleasing progress-linux version 124.0.1-1~progress7.99u1. (diff)
downloadfirefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.tar.xz
firefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.zip
Merging upstream version 125.0.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devtools/server/connectors/js-window-actor')
-rw-r--r--devtools/server/connectors/js-window-actor/DevToolsFrameChild.sys.mjs16
-rw-r--r--devtools/server/connectors/js-window-actor/DevToolsFrameParent.sys.mjs8
-rw-r--r--devtools/server/connectors/js-window-actor/DevToolsWorkerParent.sys.mjs14
3 files changed, 17 insertions, 21 deletions
diff --git a/devtools/server/connectors/js-window-actor/DevToolsFrameChild.sys.mjs b/devtools/server/connectors/js-window-actor/DevToolsFrameChild.sys.mjs
index 519cd10325..acb5e97110 100644
--- a/devtools/server/connectors/js-window-actor/DevToolsFrameChild.sys.mjs
+++ b/devtools/server/connectors/js-window-actor/DevToolsFrameChild.sys.mjs
@@ -173,7 +173,7 @@ export class DevToolsFrameChild extends JSWindowActorChild {
* The prefix of the DevToolsServerConnection of the Watcher Actor.
* This is used to compute a unique ID for the target actor.
* @param Object options.sessionData
- * All data managed by the Watcher Actor and WatcherRegistry.jsm, containing
+ * All data managed by the Watcher Actor and WatcherRegistry.sys.mjs, containing
* target types, resources types to be listened as well as breakpoints and any
* other data meant to be shared across processes and threads.
* @param Boolean options.isDocumentCreation
@@ -364,6 +364,10 @@ export class DevToolsFrameChild extends JSWindowActorChild {
ignoreSubFrames: isEveryFrameTargetEnabled,
sessionContext: sessionData.sessionContext,
});
+ // There is no root actor in content processes and so
+ // the target actor can't be managed by it, but we do have to manage
+ // the actor to have it working and be registered in the DevToolsServerConnection.
+ // We make it manage itself and become a top level actor.
targetActor.manage(targetActor);
targetActor.createdFromJsWindowActor = true;
@@ -554,10 +558,10 @@ export class DevToolsFrameChild extends JSWindowActorChild {
sessionContext,
});
// By the time we are calling this, the target may already have been destroyed.
- if (targetActor) {
- return targetActor.removeSessionDataEntry(type, entries);
+ if (!targetActor) {
+ return null;
}
- return null;
+ return targetActor.removeSessionDataEntry(type, entries);
}
handleEvent({ type, persisted, target }) {
@@ -691,8 +695,8 @@ export class DevToolsFrameChild extends JSWindowActorChild {
didDestroy(options) {
logWindowGlobal(this.manager, "Destroy WindowGlobalTarget");
- for (const [, connectionInfo] of this._connections) {
- connectionInfo.connection.close(options);
+ for (const { connection } of this._connections.values()) {
+ connection.close(options);
}
this._connections.clear();
diff --git a/devtools/server/connectors/js-window-actor/DevToolsFrameParent.sys.mjs b/devtools/server/connectors/js-window-actor/DevToolsFrameParent.sys.mjs
index 3c5af2a724..31750d58e4 100644
--- a/devtools/server/connectors/js-window-actor/DevToolsFrameParent.sys.mjs
+++ b/devtools/server/connectors/js-window-actor/DevToolsFrameParent.sys.mjs
@@ -7,11 +7,9 @@ import { EventEmitter } from "resource://gre/modules/EventEmitter.sys.mjs";
const { WatcherRegistry } = ChromeUtils.importESModule(
"resource://devtools/server/actors/watcher/WatcherRegistry.sys.mjs",
- {
- // WatcherRegistry needs to be a true singleton and loads ActorManagerParent
- // which also has to be a true singleton.
- loadInDevToolsLoader: false,
- }
+ // WatcherRegistry needs to be a true singleton and loads ActorManagerParent
+ // which also has to be a true singleton.
+ { global: "shared" }
);
const lazy = {};
diff --git a/devtools/server/connectors/js-window-actor/DevToolsWorkerParent.sys.mjs b/devtools/server/connectors/js-window-actor/DevToolsWorkerParent.sys.mjs
index ebe3d10ad5..cb9bffc2ca 100644
--- a/devtools/server/connectors/js-window-actor/DevToolsWorkerParent.sys.mjs
+++ b/devtools/server/connectors/js-window-actor/DevToolsWorkerParent.sys.mjs
@@ -7,11 +7,9 @@ import { EventEmitter } from "resource://gre/modules/EventEmitter.sys.mjs";
const { WatcherRegistry } = ChromeUtils.importESModule(
"resource://devtools/server/actors/watcher/WatcherRegistry.sys.mjs",
- {
- // WatcherRegistry needs to be a true singleton and loads ActorManagerParent
- // which also has to be a true singleton.
- loadInDevToolsLoader: false,
- }
+ // WatcherRegistry needs to be a true singleton and loads ActorManagerParent
+ // which also has to be a true singleton.
+ { global: "shared" }
);
const lazy = {};
@@ -175,11 +173,7 @@ export class DevToolsWorkerParent extends JSWindowActorParent {
watcher.notifyTargetAvailable(workerTargetForm);
}
- workerTargetDestroyed({
- watcherActorID,
- forwardingPrefix,
- workerTargetForm,
- }) {
+ workerTargetDestroyed({ watcherActorID, workerTargetForm }) {
const watcher = WatcherRegistry.getWatcher(watcherActorID);
if (!watcher) {