summaryrefslogtreecommitdiffstats
path: root/devtools/server/actors/inspector
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/actors/inspector
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/actors/inspector')
-rw-r--r--devtools/server/actors/inspector/constants.js2
-rw-r--r--devtools/server/actors/inspector/event-collector.js2
-rw-r--r--devtools/server/actors/inspector/inspector.js7
-rw-r--r--devtools/server/actors/inspector/walker.js44
4 files changed, 42 insertions, 13 deletions
diff --git a/devtools/server/actors/inspector/constants.js b/devtools/server/actors/inspector/constants.js
index c253c67b02..b55cd58389 100644
--- a/devtools/server/actors/inspector/constants.js
+++ b/devtools/server/actors/inspector/constants.js
@@ -10,7 +10,7 @@
*
* const someListener = () => {};
* someListener[EXCLUDED_LISTENER] = true;
- * eventListenerService.addSystemEventListener(node, "event", someListener);
+ * node.addEventListener("event", someListener);
*/
const EXCLUDED_LISTENER = Symbol("event-collector-excluded-listener");
diff --git a/devtools/server/actors/inspector/event-collector.js b/devtools/server/actors/inspector/event-collector.js
index 4ee8dc388f..7ae7ac45d7 100644
--- a/devtools/server/actors/inspector/event-collector.js
+++ b/devtools/server/actors/inspector/event-collector.js
@@ -241,7 +241,7 @@ class MainEventCollector {
* @return {Array}
* An array of event handlers.
*/
- getListeners(node, { checkOnly }) {
+ getListeners(_node, { checkOnly: _checkOnly }) {
throw new Error("You have to implement the method getListeners()!");
}
diff --git a/devtools/server/actors/inspector/inspector.js b/devtools/server/actors/inspector/inspector.js
index cdfa892889..95f7f76622 100644
--- a/devtools/server/actors/inspector/inspector.js
+++ b/devtools/server/actors/inspector/inspector.js
@@ -56,7 +56,8 @@ const {
} = require("resource://devtools/shared/specs/inspector.js");
const { setTimeout } = ChromeUtils.importESModule(
- "resource://gre/modules/Timer.sys.mjs"
+ "resource://gre/modules/Timer.sys.mjs",
+ { global: "contextual" }
);
const {
LongStringActor,
@@ -181,7 +182,7 @@ class InspectorActor extends Actor {
return this._pageStylePromise;
}
- this._pageStylePromise = this.getWalker().then(walker => {
+ this._pageStylePromise = this.getWalker().then(() => {
const pageStyle = new PageStyleActor(this);
this.manage(pageStyle);
return pageStyle;
@@ -263,7 +264,7 @@ class InspectorActor extends Actor {
return url;
}
- const baseURI = Services.io.newURI(document.location.href);
+ const baseURI = Services.io.newURI(document.baseURI);
return Services.io.newURI(url, null, baseURI).spec;
}
diff --git a/devtools/server/actors/inspector/walker.js b/devtools/server/actors/inspector/walker.js
index f8da1385e9..50df1720b7 100644
--- a/devtools/server/actors/inspector/walker.js
+++ b/devtools/server/actors/inspector/walker.js
@@ -111,11 +111,9 @@ if (!isWorker) {
() =>
ChromeUtils.importESModule(
"resource://gre/modules/ContentDOMReference.sys.mjs",
- {
- // ContentDOMReference needs to be retrieved from the shared global
- // since it is a shared singleton.
- loadInDevToolsLoader: false,
- }
+ // ContentDOMReference needs to be retrieved from the shared global
+ // since it is a shared singleton.
+ { global: "shared" }
).ContentDOMReference
);
}
@@ -341,7 +339,11 @@ class WalkerActor extends Actor {
return {
actor: this.actorID,
root: this.rootNode.form(),
- traits: {},
+ traits: {
+ // @backward-compat { version 125 } Indicate to the client that it can use getIdrefNode.
+ // This trait can be removed once 125 hits release.
+ hasGetIdrefNode: true,
+ },
};
}
@@ -524,7 +526,7 @@ class WalkerActor extends Actor {
* When a custom element is defined, send a customElementDefined mutation for all the
* NodeActors using this tag name.
*/
- onCustomElementDefined({ name, actors }) {
+ onCustomElementDefined({ actors }) {
actors.forEach(actor =>
this.queueMutation({
target: actor.actorID,
@@ -534,7 +536,7 @@ class WalkerActor extends Actor {
);
}
- _onReflows(reflows) {
+ _onReflows() {
// Going through the nodes the walker knows about, see which ones have had their
// containerType, display, scrollable or overflow state changed and send events if any.
const containerTypeChanges = [];
@@ -1070,6 +1072,32 @@ class WalkerActor extends Actor {
}
/**
+ * Return the node in the baseNode rootNode matching the passed id referenced in a
+ * idref/idreflist attribute, as those are scoped within a shadow root.
+ *
+ * @param NodeActor baseNode
+ * @param string id
+ */
+ getIdrefNode(baseNode, id) {
+ if (isNodeDead(baseNode)) {
+ return {};
+ }
+
+ // Get the document or the shadow root for baseNode
+ const rootNode = baseNode.rawNode.getRootNode({ composed: false });
+ if (!rootNode) {
+ return {};
+ }
+
+ const node = rootNode.getElementById(id);
+ if (!node) {
+ return {};
+ }
+
+ return this.attachElement(node);
+ }
+
+ /**
* Get a list of nodes that match the given selector in all known frames of
* the current content page.
* @param {String} selector.