From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- .../windowglobal-in-root/browsingContext.sys.mjs | 43 ++++++++++++++++++++++ .../modules/windowglobal-in-root/log.sys.mjs | 37 +++++++++++++++++++ .../modules/windowglobal-in-root/script.sys.mjs | 37 +++++++++++++++++++ 3 files changed, 117 insertions(+) create mode 100644 remote/webdriver-bidi/modules/windowglobal-in-root/browsingContext.sys.mjs create mode 100644 remote/webdriver-bidi/modules/windowglobal-in-root/log.sys.mjs create mode 100644 remote/webdriver-bidi/modules/windowglobal-in-root/script.sys.mjs (limited to 'remote/webdriver-bidi/modules/windowglobal-in-root') diff --git a/remote/webdriver-bidi/modules/windowglobal-in-root/browsingContext.sys.mjs b/remote/webdriver-bidi/modules/windowglobal-in-root/browsingContext.sys.mjs new file mode 100644 index 0000000000..45cee66eb3 --- /dev/null +++ b/remote/webdriver-bidi/modules/windowglobal-in-root/browsingContext.sys.mjs @@ -0,0 +1,43 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * 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/. */ + +import { Module } from "chrome://remote/content/shared/messagehandler/Module.sys.mjs"; + +const lazy = {}; + +ChromeUtils.defineESModuleGetters(lazy, { + TabManager: "chrome://remote/content/shared/TabManager.sys.mjs", +}); + +class BrowsingContextModule extends Module { + destroy() {} + + interceptEvent(name, payload) { + if ( + name == "browsingContext.domContentLoaded" || + name == "browsingContext.load" + ) { + const browsingContext = payload.context; + if (!lazy.TabManager.isValidCanonicalBrowsingContext(browsingContext)) { + // Discard events for invalid browsing contexts. + return null; + } + + // Resolve browsing context to a Navigable id. + payload.context = + lazy.TabManager.getIdForBrowsingContext(browsingContext); + + // Resolve navigation id. + const navigation = + this.messageHandler.navigationManager.getNavigationForBrowsingContext( + browsingContext + ); + payload.navigation = navigation ? navigation.navigationId : null; + } + + return payload; + } +} + +export const browsingContext = BrowsingContextModule; diff --git a/remote/webdriver-bidi/modules/windowglobal-in-root/log.sys.mjs b/remote/webdriver-bidi/modules/windowglobal-in-root/log.sys.mjs new file mode 100644 index 0000000000..4cfbc61e63 --- /dev/null +++ b/remote/webdriver-bidi/modules/windowglobal-in-root/log.sys.mjs @@ -0,0 +1,37 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * 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/. */ + +import { Module } from "chrome://remote/content/shared/messagehandler/Module.sys.mjs"; + +const lazy = {}; + +ChromeUtils.defineESModuleGetters(lazy, { + processExtraData: + "chrome://remote/content/webdriver-bidi/modules/Intercept.sys.mjs", + TabManager: "chrome://remote/content/shared/TabManager.sys.mjs", +}); + +class LogModule extends Module { + destroy() {} + + interceptEvent(name, payload) { + if (name == "log.entryAdded") { + const browsingContext = payload.source.context; + if (!lazy.TabManager.isValidCanonicalBrowsingContext(browsingContext)) { + // Discard events for invalid browsing contexts. + return null; + } + + // Resolve browsing context to a Navigable id. + payload.source.context = + lazy.TabManager.getIdForBrowsingContext(browsingContext); + + payload = lazy.processExtraData(this.messageHandler.sessionId, payload); + } + + return payload; + } +} + +export const log = LogModule; diff --git a/remote/webdriver-bidi/modules/windowglobal-in-root/script.sys.mjs b/remote/webdriver-bidi/modules/windowglobal-in-root/script.sys.mjs new file mode 100644 index 0000000000..30af29dd21 --- /dev/null +++ b/remote/webdriver-bidi/modules/windowglobal-in-root/script.sys.mjs @@ -0,0 +1,37 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * 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/. */ + +import { Module } from "chrome://remote/content/shared/messagehandler/Module.sys.mjs"; + +const lazy = {}; + +ChromeUtils.defineESModuleGetters(lazy, { + processExtraData: + "chrome://remote/content/webdriver-bidi/modules/Intercept.sys.mjs", + TabManager: "chrome://remote/content/shared/TabManager.sys.mjs", +}); + +class ScriptModule extends Module { + destroy() {} + + interceptEvent(name, payload) { + if (name == "script.message") { + const browsingContext = payload.source.context; + if (!lazy.TabManager.isValidCanonicalBrowsingContext(browsingContext)) { + // Discard events for invalid browsing contexts. + return null; + } + + // Resolve browsing context to a Navigable id. + payload.source.context = + lazy.TabManager.getIdForBrowsingContext(browsingContext); + + payload = lazy.processExtraData(this.messageHandler.sessionId, payload); + } + + return payload; + } +} + +export const script = ScriptModule; -- cgit v1.2.3