summaryrefslogtreecommitdiffstats
path: root/devtools/server/actors/watcher.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 05:35:37 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 05:35:37 +0000
commita90a5cba08fdf6c0ceb95101c275108a152a3aed (patch)
tree532507288f3defd7f4dcf1af49698bcb76034855 /devtools/server/actors/watcher.js
parentAdding debian version 126.0.1-1. (diff)
downloadfirefox-a90a5cba08fdf6c0ceb95101c275108a152a3aed.tar.xz
firefox-a90a5cba08fdf6c0ceb95101c275108a152a3aed.zip
Merging upstream version 127.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devtools/server/actors/watcher.js')
-rw-r--r--devtools/server/actors/watcher.js78
1 files changed, 60 insertions, 18 deletions
diff --git a/devtools/server/actors/watcher.js b/devtools/server/actors/watcher.js
index 10de102229..34d2509420 100644
--- a/devtools/server/actors/watcher.js
+++ b/devtools/server/actors/watcher.js
@@ -258,10 +258,24 @@ exports.WatcherActor = class WatcherActor extends Actor {
continue;
}
promises.push(
- domProcess.getActor(this._jsActorName).watchTargets({
- watcherActorID: this.actorID,
- targetType,
- })
+ domProcess
+ .getActor(this._jsActorName)
+ .watchTargets({
+ watcherActorID: this.actorID,
+ targetType,
+ })
+ .catch(e => {
+ // Ignore any process that got destroyed while trying to send the request
+ if (!domProcess.canSend) {
+ console.warn(
+ "Content process closed while requesting targets",
+ domProcess.name,
+ domProcess.remoteType
+ );
+ return;
+ }
+ throw e;
+ })
);
}
await Promise.all(promises);
@@ -561,13 +575,27 @@ exports.WatcherActor = class WatcherActor extends Actor {
const domProcesses = ChromeUtils.getAllDOMProcesses();
for (const domProcess of domProcesses) {
promises.push(
- domProcess.getActor(this._jsActorName).addOrSetSessionDataEntry({
- watcherActorID: this.actorID,
- sessionContext: this.sessionContext,
- type: "resources",
- entries: resourceTypes,
- updateType: "add",
- })
+ domProcess
+ .getActor(this._jsActorName)
+ .addOrSetSessionDataEntry({
+ watcherActorID: this.actorID,
+ sessionContext: this.sessionContext,
+ type: "resources",
+ entries: resourceTypes,
+ updateType: "add",
+ })
+ .catch(e => {
+ // Ignore any process that got destroyed while trying to send the request
+ if (!domProcess.canSend) {
+ console.warn(
+ "Content process closed while requesting resources",
+ domProcess.name,
+ domProcess.remoteType
+ );
+ return;
+ }
+ throw e;
+ })
);
}
await Promise.all(promises);
@@ -769,13 +797,27 @@ exports.WatcherActor = class WatcherActor extends Actor {
const domProcesses = ChromeUtils.getAllDOMProcesses();
for (const domProcess of domProcesses) {
promises.push(
- domProcess.getActor(this._jsActorName).addOrSetSessionDataEntry({
- watcherActorID: this.actorID,
- sessionContext: this.sessionContext,
- type,
- entries,
- updateType,
- })
+ domProcess
+ .getActor(this._jsActorName)
+ .addOrSetSessionDataEntry({
+ watcherActorID: this.actorID,
+ sessionContext: this.sessionContext,
+ type,
+ entries,
+ updateType,
+ })
+ .catch(e => {
+ // Ignore any process that got destroyed while trying to send the request
+ if (!domProcess.canSend) {
+ console.warn(
+ "Content process closed while sending session data",
+ domProcess.name,
+ domProcess.remoteType
+ );
+ return;
+ }
+ throw e;
+ })
);
}
await Promise.all(promises);