diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:14:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:14:29 +0000 |
commit | fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8 (patch) | |
tree | 4c1ccaf5486d4f2009f9a338a98a83e886e29c97 /devtools/server/actors/inspector | |
parent | Releasing progress-linux version 124.0.1-1~progress7.99u1. (diff) | |
download | firefox-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.js | 2 | ||||
-rw-r--r-- | devtools/server/actors/inspector/event-collector.js | 2 | ||||
-rw-r--r-- | devtools/server/actors/inspector/inspector.js | 7 | ||||
-rw-r--r-- | devtools/server/actors/inspector/walker.js | 44 |
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. |