chromium-bidi 0.4.19 → 0.4.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.browser +1 -1
- package/README.md +19 -2
- package/lib/cjs/bidiMapper/BidiNoOpParser.d.ts +8 -1
- package/lib/cjs/bidiMapper/BidiNoOpParser.js +24 -0
- package/lib/cjs/bidiMapper/BidiNoOpParser.js.map +1 -1
- package/lib/cjs/bidiMapper/BidiParser.d.ts +8 -1
- package/lib/cjs/bidiMapper/BidiServer.d.ts +2 -1
- package/lib/cjs/bidiMapper/BidiServer.js +5 -5
- package/lib/cjs/bidiMapper/BidiServer.js.map +1 -1
- package/lib/cjs/bidiMapper/CommandProcessor.d.ts +12 -5
- package/lib/cjs/bidiMapper/CommandProcessor.js +51 -9
- package/lib/cjs/bidiMapper/CommandProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/OutgoingBidiMessage.d.ts +3 -2
- package/lib/cjs/bidiMapper/OutgoingBidiMessage.js +15 -4
- package/lib/cjs/bidiMapper/OutgoingBidiMessage.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.d.ts +23 -0
- package/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.js +34 -0
- package/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.js.map +1 -0
- package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.d.ts +5 -3
- package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js +6 -13
- package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.d.ts +3 -2
- package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js +6 -4
- package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/context/cdpTarget.d.ts +20 -6
- package/lib/cjs/bidiMapper/domains/context/cdpTarget.js +32 -9
- package/lib/cjs/bidiMapper/domains/context/cdpTarget.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/events/EventManager.d.ts +3 -8
- package/lib/cjs/bidiMapper/domains/events/EventManager.js +7 -3
- package/lib/cjs/bidiMapper/domains/events/EventManager.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js +17 -26
- package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/input/InputProcessor.d.ts +1 -2
- package/lib/cjs/bidiMapper/domains/input/InputProcessor.js +0 -3
- package/lib/cjs/bidiMapper/domains/input/InputProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/log/logManager.d.ts +2 -2
- package/lib/cjs/bidiMapper/domains/log/logManager.js +31 -25
- package/lib/cjs/bidiMapper/domains/log/logManager.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/network/NetworkManager.d.ts +6 -4
- package/lib/cjs/bidiMapper/domains/network/NetworkManager.js +38 -43
- package/lib/cjs/bidiMapper/domains/network/NetworkManager.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/network/NetworkProcessor.d.ts +33 -0
- package/lib/cjs/bidiMapper/domains/network/NetworkProcessor.js +74 -0
- package/lib/cjs/bidiMapper/domains/network/NetworkProcessor.js.map +1 -0
- package/lib/cjs/bidiMapper/domains/network/{networkRequest.d.ts → NetworkRequest.d.ts} +3 -2
- package/lib/cjs/bidiMapper/domains/network/{networkRequest.js → NetworkRequest.js} +82 -27
- package/lib/cjs/bidiMapper/domains/network/NetworkRequest.js.map +1 -0
- package/lib/cjs/bidiMapper/domains/network/NetworkStorage.d.ts +58 -0
- package/lib/cjs/bidiMapper/domains/network/NetworkStorage.js +134 -0
- package/lib/cjs/bidiMapper/domains/network/NetworkStorage.js.map +1 -0
- package/lib/cjs/bidiMapper/domains/script/ScriptProcessor.d.ts +2 -1
- package/lib/cjs/bidiMapper/domains/script/ScriptProcessor.js +6 -4
- package/lib/cjs/bidiMapper/domains/script/ScriptProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/script/bidiPreloadScript.d.ts +5 -3
- package/lib/cjs/bidiMapper/domains/script/bidiPreloadScript.js +2 -2
- package/lib/cjs/bidiMapper/domains/script/bidiPreloadScript.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/script/channelProxy.d.ts +5 -4
- package/lib/cjs/bidiMapper/domains/script/channelProxy.js +45 -38
- package/lib/cjs/bidiMapper/domains/script/channelProxy.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/script/realm.d.ts +4 -4
- package/lib/cjs/bidiMapper/domains/script/realm.js +6 -4
- package/lib/cjs/bidiMapper/domains/script/realm.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/script/realmStorage.d.ts +1 -1
- package/lib/cjs/bidiMapper/domains/session/SessionProcessor.d.ts +4 -4
- package/lib/cjs/bidiMapper/domains/session/SessionProcessor.js +4 -4
- package/lib/cjs/bidiMapper/domains/session/SessionProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/bidiServer/bidiServerRunner.d.ts +1 -1
- package/lib/cjs/bidiServer/bidiServerRunner.js +24 -12
- package/lib/cjs/bidiServer/bidiServerRunner.js.map +1 -1
- package/lib/cjs/bidiServer/index.js +6 -3
- package/lib/cjs/bidiServer/index.js.map +1 -1
- package/lib/cjs/bidiServer/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/bidiTab/BidiParserImpl.d.ts +8 -1
- package/lib/cjs/bidiTab/BidiParserImpl.js +24 -0
- package/lib/cjs/bidiTab/BidiParserImpl.js.map +1 -1
- package/lib/cjs/bidiTab/bidiTab.js +5 -3
- package/lib/cjs/bidiTab/bidiTab.js.map +1 -1
- package/lib/cjs/bidiTab/mapperTabPage.js +1 -2
- package/lib/cjs/bidiTab/mapperTabPage.js.map +1 -1
- package/lib/cjs/bidiTab/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/cdp/cdpClient.d.ts +5 -6
- package/lib/cjs/cdp/cdpClient.js.map +1 -1
- package/lib/cjs/cdp/cdpConnection.d.ts +7 -4
- package/lib/cjs/cdp/cdpConnection.js +5 -3
- package/lib/cjs/cdp/cdpConnection.js.map +1 -1
- package/lib/cjs/cdp/cdpMessage.d.ts +2 -1
- package/lib/cjs/cdp/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/protocol/ErrorResponse.d.ts +18 -6
- package/lib/cjs/protocol/ErrorResponse.js +41 -33
- package/lib/cjs/protocol/ErrorResponse.js.map +1 -1
- package/lib/cjs/protocol/cdp.d.ts +5 -4
- package/lib/cjs/protocol/chromium-bidi.d.ts +10 -6
- package/lib/cjs/protocol/chromium-bidi.js +10 -5
- package/lib/cjs/protocol/chromium-bidi.js.map +1 -1
- package/lib/cjs/protocol/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/protocol/webdriver-bidi.d.ts +258 -44
- package/lib/cjs/protocol-parser/protocol-parser.d.ts +145 -2
- package/lib/cjs/protocol-parser/protocol-parser.js +33 -1
- package/lib/cjs/protocol-parser/protocol-parser.js.map +1 -1
- package/lib/cjs/protocol-parser/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/protocol-parser/webdriver-bidi.d.ts +19567 -9508
- package/lib/cjs/protocol-parser/webdriver-bidi.js +202 -4
- package/lib/cjs/protocol-parser/webdriver-bidi.js.map +1 -1
- package/lib/cjs/utils/assert.js +2 -2
- package/lib/cjs/utils/assert.js.map +1 -1
- package/lib/cjs/utils/deferred.js +2 -2
- package/lib/cjs/utils/deferred.js.map +1 -1
- package/lib/cjs/utils/log.d.ts +4 -4
- package/lib/cjs/utils/log.js +4 -4
- package/lib/cjs/utils/log.js.map +1 -1
- package/lib/cjs/utils/processingQueue.d.ts +3 -1
- package/lib/cjs/utils/processingQueue.js +18 -6
- package/lib/cjs/utils/processingQueue.js.map +1 -1
- package/lib/cjs/utils/result.d.ts +23 -0
- package/lib/cjs/utils/result.js +19 -0
- package/lib/cjs/utils/result.js.map +1 -0
- package/lib/cjs/utils/tsconfig.tsbuildinfo +1 -1
- package/lib/iife/mapperTab.js +2 -2
- package/lib/iife/mapperTab.js.map +1 -1
- package/package.json +19 -18
- package/lib/cjs/bidiMapper/domains/network/networkRequest.js.map +0 -1
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023 Google LLC.
|
|
3
|
+
* Copyright (c) Microsoft Corporation.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import type Protocol from 'devtools-protocol';
|
|
18
|
+
import { Network } from '../../../protocol/protocol.js';
|
|
19
|
+
import { DefaultMap } from '../../../utils/DefaultMap.js';
|
|
20
|
+
import type { EventManager } from '../events/EventManager.js';
|
|
21
|
+
import { NetworkRequest } from './NetworkRequest.js';
|
|
22
|
+
/** Stores network and intercept maps. */
|
|
23
|
+
export declare class NetworkStorage {
|
|
24
|
+
#private;
|
|
25
|
+
constructor(eventManager: EventManager);
|
|
26
|
+
get requestMap(): DefaultMap<string, NetworkRequest>;
|
|
27
|
+
disposeRequestMap(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Adds the given entry to the intercept map.
|
|
30
|
+
* URL patterns are assumed to be parsed.
|
|
31
|
+
*
|
|
32
|
+
* @return The intercept ID.
|
|
33
|
+
*/
|
|
34
|
+
addIntercept(value: {
|
|
35
|
+
urlPatterns: Network.UrlPattern[];
|
|
36
|
+
phases: Network.InterceptPhase[];
|
|
37
|
+
}): Network.Intercept;
|
|
38
|
+
/**
|
|
39
|
+
* Removes the given intercept from the intercept map.
|
|
40
|
+
* Throws NoSuchInterceptException if the intercept does not exist.
|
|
41
|
+
*/
|
|
42
|
+
removeIntercept(intercept: Network.Intercept): void;
|
|
43
|
+
/** Gets parameters for CDP 'Fetch.enable' command from the intercept map. */
|
|
44
|
+
getFetchEnableParams(): Protocol.Fetch.EnableRequest;
|
|
45
|
+
/** Converts a URL pattern from the spec to a CDP URL pattern. */
|
|
46
|
+
static cdpFromSpecUrlPattern(urlPattern: Network.UrlPattern): string;
|
|
47
|
+
static buildUrlPatternString({ protocol, hostname, port, pathname, search, }: Network.UrlPatternPattern): string;
|
|
48
|
+
/**
|
|
49
|
+
* Maps spec Network.InterceptPhase to CDP Fetch.RequestStage.
|
|
50
|
+
* AuthRequired has no CDP equivalent..
|
|
51
|
+
*/
|
|
52
|
+
static requestStageFromPhase(phase: Network.InterceptPhase): Protocol.Fetch.RequestStage;
|
|
53
|
+
get blockedRequestMap(): Map<string, {
|
|
54
|
+
request: string;
|
|
55
|
+
phase: Network.InterceptPhase;
|
|
56
|
+
response: Network.ResponseData;
|
|
57
|
+
}>;
|
|
58
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NetworkStorage = void 0;
|
|
4
|
+
const uuid_js_1 = require("../../../utils/uuid.js");
|
|
5
|
+
const protocol_js_1 = require("../../../protocol/protocol.js");
|
|
6
|
+
const DefaultMap_js_1 = require("../../../utils/DefaultMap.js");
|
|
7
|
+
const NetworkRequest_js_1 = require("./NetworkRequest.js");
|
|
8
|
+
/** Stores network and intercept maps. */
|
|
9
|
+
class NetworkStorage {
|
|
10
|
+
/**
|
|
11
|
+
* Map of request ID to NetworkRequest objects. Needed as long as information
|
|
12
|
+
* about requests comes from different events.
|
|
13
|
+
*/
|
|
14
|
+
#requestMap;
|
|
15
|
+
/** A map to define the properties of active network intercepts. */
|
|
16
|
+
#interceptMap;
|
|
17
|
+
/** A map to track the requests which are actively being blocked. */
|
|
18
|
+
#blockedRequestMap;
|
|
19
|
+
constructor(eventManager) {
|
|
20
|
+
this.#requestMap = new DefaultMap_js_1.DefaultMap((requestId) => new NetworkRequest_js_1.NetworkRequest(requestId, eventManager));
|
|
21
|
+
this.#interceptMap = new Map();
|
|
22
|
+
this.#blockedRequestMap = new Map();
|
|
23
|
+
}
|
|
24
|
+
// XXX: Replace getters with custom operations, follow suit of Browsing Context Storage.
|
|
25
|
+
get requestMap() {
|
|
26
|
+
return this.#requestMap;
|
|
27
|
+
}
|
|
28
|
+
disposeRequestMap() {
|
|
29
|
+
for (const request of this.#requestMap.values()) {
|
|
30
|
+
request.dispose();
|
|
31
|
+
}
|
|
32
|
+
this.#requestMap.clear();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Adds the given entry to the intercept map.
|
|
36
|
+
* URL patterns are assumed to be parsed.
|
|
37
|
+
*
|
|
38
|
+
* @return The intercept ID.
|
|
39
|
+
*/
|
|
40
|
+
addIntercept(value) {
|
|
41
|
+
const intercept = (0, uuid_js_1.uuidv4)();
|
|
42
|
+
this.#interceptMap.set(intercept, value);
|
|
43
|
+
return intercept;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Removes the given intercept from the intercept map.
|
|
47
|
+
* Throws NoSuchInterceptException if the intercept does not exist.
|
|
48
|
+
*/
|
|
49
|
+
removeIntercept(intercept) {
|
|
50
|
+
if (!this.#interceptMap.has(intercept)) {
|
|
51
|
+
throw new protocol_js_1.NoSuchInterceptException(`Intercept '${intercept}' does not exist.`);
|
|
52
|
+
}
|
|
53
|
+
this.#interceptMap.delete(intercept);
|
|
54
|
+
}
|
|
55
|
+
/** Gets parameters for CDP 'Fetch.enable' command from the intercept map. */
|
|
56
|
+
getFetchEnableParams() {
|
|
57
|
+
const patterns = [];
|
|
58
|
+
for (const value of this.#interceptMap.values()) {
|
|
59
|
+
for (const urlPatternSpec of value.urlPatterns) {
|
|
60
|
+
const urlPattern = NetworkStorage.cdpFromSpecUrlPattern(urlPatternSpec);
|
|
61
|
+
for (const phase of value.phases) {
|
|
62
|
+
if (phase === "authRequired" /* Network.InterceptPhase.AuthRequired */) {
|
|
63
|
+
patterns.push({
|
|
64
|
+
urlPattern,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
patterns.push({
|
|
69
|
+
urlPattern,
|
|
70
|
+
requestStage: NetworkStorage.requestStageFromPhase(phase),
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
patterns,
|
|
78
|
+
// If there's at least one intercept that requires auth, enable the
|
|
79
|
+
// 'Fetch.authRequired' event.
|
|
80
|
+
handleAuthRequests: [...this.#interceptMap.values()].some((param) => {
|
|
81
|
+
return param.phases.includes("authRequired" /* Network.InterceptPhase.AuthRequired */);
|
|
82
|
+
}),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/** Converts a URL pattern from the spec to a CDP URL pattern. */
|
|
86
|
+
static cdpFromSpecUrlPattern(urlPattern) {
|
|
87
|
+
switch (urlPattern.type) {
|
|
88
|
+
case 'string':
|
|
89
|
+
return urlPattern.pattern;
|
|
90
|
+
case 'pattern':
|
|
91
|
+
return NetworkStorage.buildUrlPatternString(urlPattern);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
static buildUrlPatternString({ protocol, hostname, port, pathname, search, }) {
|
|
95
|
+
let url = '';
|
|
96
|
+
if (protocol) {
|
|
97
|
+
url += `${protocol}://`;
|
|
98
|
+
}
|
|
99
|
+
if (hostname) {
|
|
100
|
+
url += hostname;
|
|
101
|
+
}
|
|
102
|
+
if (port) {
|
|
103
|
+
url += `:${port}`;
|
|
104
|
+
}
|
|
105
|
+
if (pathname) {
|
|
106
|
+
// TODO: add slash?
|
|
107
|
+
url += pathname;
|
|
108
|
+
}
|
|
109
|
+
if (search) {
|
|
110
|
+
url += `?${search}`;
|
|
111
|
+
}
|
|
112
|
+
return url;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Maps spec Network.InterceptPhase to CDP Fetch.RequestStage.
|
|
116
|
+
* AuthRequired has no CDP equivalent..
|
|
117
|
+
*/
|
|
118
|
+
static requestStageFromPhase(phase) {
|
|
119
|
+
switch (phase) {
|
|
120
|
+
case "beforeRequestSent" /* Network.InterceptPhase.BeforeRequestSent */:
|
|
121
|
+
return 'Request';
|
|
122
|
+
case "responseStarted" /* Network.InterceptPhase.ResponseStarted */:
|
|
123
|
+
return 'Response';
|
|
124
|
+
case "authRequired" /* Network.InterceptPhase.AuthRequired */:
|
|
125
|
+
throw new Error('AuthRequired is not a valid intercept phase for request stage.');
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
// XXX: Replace getters with custom operations, follow suit of Browsing Context Storage.
|
|
129
|
+
get blockedRequestMap() {
|
|
130
|
+
return this.#blockedRequestMap;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.NetworkStorage = NetworkStorage;
|
|
134
|
+
//# sourceMappingURL=NetworkStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NetworkStorage.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/network/NetworkStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,12 +15,13 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import { type EmptyResult, Script } from '../../../protocol/protocol';
|
|
18
|
+
import type { LoggerFn } from '../../../utils/log';
|
|
18
19
|
import type { BrowsingContextStorage } from '../context/browsingContextStorage';
|
|
19
20
|
import type { PreloadScriptStorage } from './PreloadScriptStorage';
|
|
20
21
|
import type { RealmStorage } from './realmStorage';
|
|
21
22
|
export declare class ScriptProcessor {
|
|
22
23
|
#private;
|
|
23
|
-
constructor(browsingContextStorage: BrowsingContextStorage, realmStorage: RealmStorage, preloadScriptStorage: PreloadScriptStorage);
|
|
24
|
+
constructor(browsingContextStorage: BrowsingContextStorage, realmStorage: RealmStorage, preloadScriptStorage: PreloadScriptStorage, logger?: LoggerFn);
|
|
24
25
|
addPreloadScript(params: Script.AddPreloadScriptParameters): Promise<Script.AddPreloadScriptResult>;
|
|
25
26
|
removePreloadScript(params: Script.RemovePreloadScriptParameters): Promise<EmptyResult>;
|
|
26
27
|
callFunction(params: Script.CallFunctionParameters): Promise<Script.EvaluateResult>;
|
|
@@ -23,13 +23,15 @@ class ScriptProcessor {
|
|
|
23
23
|
#browsingContextStorage;
|
|
24
24
|
#realmStorage;
|
|
25
25
|
#preloadScriptStorage;
|
|
26
|
-
|
|
26
|
+
#logger;
|
|
27
|
+
constructor(browsingContextStorage, realmStorage, preloadScriptStorage, logger) {
|
|
27
28
|
this.#browsingContextStorage = browsingContextStorage;
|
|
28
29
|
this.#realmStorage = realmStorage;
|
|
29
30
|
this.#preloadScriptStorage = preloadScriptStorage;
|
|
31
|
+
this.#logger = logger;
|
|
30
32
|
}
|
|
31
33
|
async addPreloadScript(params) {
|
|
32
|
-
const preloadScript = new bidiPreloadScript_1.BidiPreloadScript(params);
|
|
34
|
+
const preloadScript = new bidiPreloadScript_1.BidiPreloadScript(params, this.#logger);
|
|
33
35
|
this.#preloadScriptStorage.addPreloadScript(preloadScript);
|
|
34
36
|
const cdpTargets = new Set(this.#browsingContextStorage
|
|
35
37
|
.getTopLevelContexts()
|
|
@@ -59,11 +61,11 @@ class ScriptProcessor {
|
|
|
59
61
|
type: 'undefined',
|
|
60
62
|
}, // `this` is `undefined` by default.
|
|
61
63
|
params.arguments ?? [], // `arguments` is `[]` by default.
|
|
62
|
-
params.awaitPromise, params.resultOwnership ?? "none" /* Script.ResultOwnership.None */, params.serializationOptions ?? {});
|
|
64
|
+
params.awaitPromise, params.resultOwnership ?? "none" /* Script.ResultOwnership.None */, params.serializationOptions ?? {}, params.userActivation ?? false);
|
|
63
65
|
}
|
|
64
66
|
async evaluate(params) {
|
|
65
67
|
const realm = await this.#getRealm(params.target);
|
|
66
|
-
return realm.evaluate(params.expression, params.awaitPromise, params.resultOwnership ?? "none" /* Script.ResultOwnership.None */, params.serializationOptions ?? {});
|
|
68
|
+
return realm.evaluate(params.expression, params.awaitPromise, params.resultOwnership ?? "none" /* Script.ResultOwnership.None */, params.serializationOptions ?? {}, params.userActivation ?? false);
|
|
67
69
|
}
|
|
68
70
|
async disown(params) {
|
|
69
71
|
const realm = await this.#getRealm(params.target);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/script/ScriptProcessor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,yDAIoC;
|
|
1
|
+
{"version":3,"file":"ScriptProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/script/ScriptProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type Protocol from 'devtools-protocol';
|
|
1
2
|
import type { Script } from '../../../protocol/protocol.js';
|
|
2
3
|
import type { CdpTarget } from '../context/cdpTarget.js';
|
|
4
|
+
import type { LoggerFn } from '../../../utils/log.js';
|
|
3
5
|
import { ChannelProxy } from './channelProxy.js';
|
|
4
6
|
/**
|
|
5
7
|
* BiDi IDs are generated by the server and are unique within contexts.
|
|
@@ -14,8 +16,8 @@ import { ChannelProxy } from './channelProxy.js';
|
|
|
14
16
|
export declare class BidiPreloadScript {
|
|
15
17
|
#private;
|
|
16
18
|
get id(): string;
|
|
17
|
-
get targetIds(): Set<
|
|
18
|
-
constructor(params: Script.AddPreloadScriptParameters);
|
|
19
|
+
get targetIds(): Set<Protocol.Target.TargetID>;
|
|
20
|
+
constructor(params: Script.AddPreloadScriptParameters, logger?: LoggerFn);
|
|
19
21
|
/** Channels of the preload script. */
|
|
20
22
|
get channels(): ChannelProxy[];
|
|
21
23
|
/**
|
|
@@ -33,5 +35,5 @@ export declare class BidiPreloadScript {
|
|
|
33
35
|
*/
|
|
34
36
|
remove(): Promise<void>;
|
|
35
37
|
/** Removes the provided cdp target from the list of cdp preload scripts. */
|
|
36
|
-
dispose(cdpTargetId:
|
|
38
|
+
dispose(cdpTargetId: Protocol.Target.TargetID): void;
|
|
37
39
|
}
|
|
@@ -49,9 +49,9 @@ class BidiPreloadScript {
|
|
|
49
49
|
get targetIds() {
|
|
50
50
|
return this.#targetIds;
|
|
51
51
|
}
|
|
52
|
-
constructor(params) {
|
|
52
|
+
constructor(params, logger) {
|
|
53
53
|
this.#channels =
|
|
54
|
-
params.arguments?.map((a) => new channelProxy_js_1.ChannelProxy(a.value)) ?? [];
|
|
54
|
+
params.arguments?.map((a) => new channelProxy_js_1.ChannelProxy(a.value, logger)) ?? [];
|
|
55
55
|
this.#functionDeclaration = params.functionDeclaration;
|
|
56
56
|
this.#sandbox = params.sandbox;
|
|
57
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bidiPreloadScript.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/script/bidiPreloadScript.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;
|
|
1
|
+
{"version":3,"file":"bidiPreloadScript.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/script/bidiPreloadScript.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { Script } from '../../../protocol/protocol.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { EventManager } from '../events/EventManager.js';
|
|
3
|
+
import { type LoggerFn } from '../../../utils/log.js';
|
|
3
4
|
import type { Realm } from './realm.js';
|
|
4
5
|
/**
|
|
5
6
|
* Used to send messages from realm to BiDi user.
|
|
6
7
|
*/
|
|
7
8
|
export declare class ChannelProxy {
|
|
8
9
|
#private;
|
|
9
|
-
constructor(channel: Script.ChannelProperties);
|
|
10
|
+
constructor(channel: Script.ChannelProperties, logger?: LoggerFn);
|
|
10
11
|
/**
|
|
11
12
|
* Creates a channel proxy in the given realm, initialises listener and
|
|
12
13
|
* returns a handle to `sendMessage` delegate.
|
|
13
14
|
*/
|
|
14
|
-
init(realm: Realm, eventManager:
|
|
15
|
+
init(realm: Realm, eventManager: EventManager): Promise<Script.Handle>;
|
|
15
16
|
/** Gets a ChannelProxy from window and returns its handle. */
|
|
16
|
-
startListenerFromWindow(realm: Realm, eventManager:
|
|
17
|
+
startListenerFromWindow(realm: Realm, eventManager: EventManager): Promise<void>;
|
|
17
18
|
/**
|
|
18
19
|
* String to be evaluated to create a ProxyChannel and put it to window.
|
|
19
20
|
* Returns the delegate `sendMessage`. Used to provide an argument for preload
|
|
@@ -20,13 +20,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
20
20
|
exports.ChannelProxy = void 0;
|
|
21
21
|
const protocol_js_1 = require("../../../protocol/protocol.js");
|
|
22
22
|
const uuid_1 = require("../../../utils/uuid");
|
|
23
|
+
const log_js_1 = require("../../../utils/log.js");
|
|
23
24
|
/**
|
|
24
25
|
* Used to send messages from realm to BiDi user.
|
|
25
26
|
*/
|
|
26
27
|
class ChannelProxy {
|
|
27
28
|
#properties;
|
|
28
29
|
#id = (0, uuid_1.uuidv4)();
|
|
29
|
-
|
|
30
|
+
#logger;
|
|
31
|
+
constructor(channel, logger) {
|
|
30
32
|
if (![0, null, undefined].includes(channel.serializationOptions?.maxDomDepth)) {
|
|
31
33
|
throw new Error('serializationOptions.maxDomDepth other than 0 or null is not supported');
|
|
32
34
|
}
|
|
@@ -34,6 +36,7 @@ class ChannelProxy {
|
|
|
34
36
|
throw new Error('serializationOptions.includeShadowTree other than "none" is not supported');
|
|
35
37
|
}
|
|
36
38
|
this.#properties = channel;
|
|
39
|
+
this.#logger = logger;
|
|
37
40
|
}
|
|
38
41
|
/**
|
|
39
42
|
* Creates a channel proxy in the given realm, initialises listener and
|
|
@@ -118,47 +121,51 @@ class ChannelProxy {
|
|
|
118
121
|
}
|
|
119
122
|
/** Starts listening for the channel events of the provided ChannelProxy. */
|
|
120
123
|
async #startListener(realm, channelHandle, eventManager) {
|
|
121
|
-
// TODO(#294): Remove this loop after the realm is destroyed.
|
|
122
|
-
// Rely on the CDP throwing exception in such a case.
|
|
123
124
|
// noinspection InfiniteLoopJS
|
|
124
125
|
for (;;) {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
126
|
+
try {
|
|
127
|
+
const message = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {
|
|
128
|
+
functionDeclaration: String(async (channelHandle) => channelHandle.getMessage()),
|
|
129
|
+
arguments: [
|
|
130
|
+
{
|
|
131
|
+
objectId: channelHandle,
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
awaitPromise: true,
|
|
135
|
+
executionContextId: realm.executionContextId,
|
|
136
|
+
serializationOptions: {
|
|
137
|
+
serialization: "deep" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */,
|
|
138
|
+
...(this.#properties.serializationOptions?.maxObjectDepth ===
|
|
139
|
+
undefined ||
|
|
140
|
+
this.#properties.serializationOptions.maxObjectDepth === null
|
|
141
|
+
? {}
|
|
142
|
+
: {
|
|
143
|
+
maxDepth: this.#properties.serializationOptions.maxObjectDepth,
|
|
144
|
+
}),
|
|
130
145
|
},
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
:
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
if (message.exceptionDetails) {
|
|
146
|
-
// TODO: add logging.
|
|
147
|
-
// TODO: check if a error should be thrown.
|
|
148
|
-
return;
|
|
149
|
-
}
|
|
150
|
-
eventManager.registerEvent({
|
|
151
|
-
type: 'event',
|
|
152
|
-
method: protocol_js_1.ChromiumBidi.Script.EventNames.MessageEvent,
|
|
153
|
-
params: {
|
|
154
|
-
channel: this.#properties.channel,
|
|
155
|
-
data: realm.cdpToBidiValue(message, this.#properties.ownership ?? "none" /* Script.ResultOwnership.None */),
|
|
156
|
-
source: {
|
|
157
|
-
realm: realm.realmId,
|
|
158
|
-
context: realm.browsingContextId,
|
|
146
|
+
});
|
|
147
|
+
if (message.exceptionDetails) {
|
|
148
|
+
throw message.exceptionDetails;
|
|
149
|
+
}
|
|
150
|
+
eventManager.registerEvent({
|
|
151
|
+
type: 'event',
|
|
152
|
+
method: protocol_js_1.ChromiumBidi.Script.EventNames.MessageEvent,
|
|
153
|
+
params: {
|
|
154
|
+
channel: this.#properties.channel,
|
|
155
|
+
data: realm.cdpToBidiValue(message, this.#properties.ownership ?? "none" /* Script.ResultOwnership.None */),
|
|
156
|
+
source: {
|
|
157
|
+
realm: realm.realmId,
|
|
158
|
+
context: realm.browsingContextId,
|
|
159
|
+
},
|
|
159
160
|
},
|
|
160
|
-
},
|
|
161
|
-
}
|
|
161
|
+
}, realm.browsingContextId);
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
// If an error is thrown, then the channel is permanently broken, so we
|
|
165
|
+
// exit the loop.
|
|
166
|
+
this.#logger?.(log_js_1.LogType.debug, error);
|
|
167
|
+
break;
|
|
168
|
+
}
|
|
162
169
|
}
|
|
163
170
|
}
|
|
164
171
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channelProxy.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/script/channelProxy.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAIH,+DAAmE;
|
|
1
|
+
{"version":3,"file":"channelProxy.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/script/channelProxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,14 +17,14 @@
|
|
|
17
17
|
import { Protocol } from 'devtools-protocol';
|
|
18
18
|
import { type BrowsingContext, Script } from '../../../protocol/protocol.js';
|
|
19
19
|
import type { BrowsingContextStorage } from '../context/browsingContextStorage.js';
|
|
20
|
-
import type {
|
|
20
|
+
import type { EventManager } from '../events/EventManager.js';
|
|
21
21
|
import type { ICdpClient } from '../../../cdp/cdpClient.js';
|
|
22
22
|
import { type LoggerFn } from '../../../utils/log.js';
|
|
23
23
|
import type { RealmStorage } from './realmStorage.js';
|
|
24
24
|
export declare class Realm {
|
|
25
25
|
#private;
|
|
26
26
|
readonly sandbox?: string;
|
|
27
|
-
constructor(realmStorage: RealmStorage, browsingContextStorage: BrowsingContextStorage, realmId: Script.Realm, browsingContextId: BrowsingContext.BrowsingContext, executionContextId: Protocol.Runtime.ExecutionContextId, origin: string, type: Script.RealmType, sandbox: string | undefined, cdpClient: ICdpClient, eventManager:
|
|
27
|
+
constructor(realmStorage: RealmStorage, browsingContextStorage: BrowsingContextStorage, realmId: Script.Realm, browsingContextId: BrowsingContext.BrowsingContext, executionContextId: Protocol.Runtime.ExecutionContextId, origin: string, type: Script.RealmType, sandbox: string | undefined, cdpClient: ICdpClient, eventManager: EventManager, logger?: LoggerFn);
|
|
28
28
|
cdpToBidiValue(cdpValue: Protocol.Runtime.CallFunctionOnResponse | Protocol.Runtime.EvaluateResponse, resultOwnership: Script.ResultOwnership): Script.RemoteValue;
|
|
29
29
|
get realmId(): Script.Realm;
|
|
30
30
|
get navigableId(): string;
|
|
@@ -34,7 +34,7 @@ export declare class Realm {
|
|
|
34
34
|
get type(): Script.RealmType;
|
|
35
35
|
get cdpClient(): ICdpClient;
|
|
36
36
|
get realmInfo(): Script.RealmInfo;
|
|
37
|
-
evaluate(expression: string, awaitPromise: boolean, resultOwnership: Script.ResultOwnership, serializationOptions: Script.SerializationOptions): Promise<Script.EvaluateResult>;
|
|
37
|
+
evaluate(expression: string, awaitPromise: boolean, resultOwnership: Script.ResultOwnership, serializationOptions: Script.SerializationOptions, userActivation?: boolean): Promise<Script.EvaluateResult>;
|
|
38
38
|
/**
|
|
39
39
|
* Serializes a given CDP object into BiDi, keeping references in the
|
|
40
40
|
* target's `globalThis`.
|
|
@@ -45,7 +45,7 @@ export declare class Realm {
|
|
|
45
45
|
* calling `toString()` on the object value.
|
|
46
46
|
*/
|
|
47
47
|
stringifyObject(cdpRemoteObject: Protocol.Runtime.RemoteObject): Promise<string>;
|
|
48
|
-
callFunction(functionDeclaration: string, thisLocalValue: Script.LocalValue, argumentsLocalValues: Script.LocalValue[], awaitPromise: boolean, resultOwnership: Script.ResultOwnership, serializationOptions: Script.SerializationOptions): Promise<Script.EvaluateResult>;
|
|
48
|
+
callFunction(functionDeclaration: string, thisLocalValue: Script.LocalValue, argumentsLocalValues: Script.LocalValue[], awaitPromise: boolean, resultOwnership: Script.ResultOwnership, serializationOptions: Script.SerializationOptions, userActivation?: boolean): Promise<Script.EvaluateResult>;
|
|
49
49
|
disown(handle: Script.Handle): Promise<void>;
|
|
50
50
|
dispose(): void;
|
|
51
51
|
}
|
|
@@ -49,7 +49,7 @@ class Realm {
|
|
|
49
49
|
}
|
|
50
50
|
else {
|
|
51
51
|
// No need to await for the object to be released.
|
|
52
|
-
void this.#releaseObject(objectId).catch((error) => this.#logger?.(log_js_1.LogType.
|
|
52
|
+
void this.#releaseObject(objectId).catch((error) => this.#logger?.(log_js_1.LogType.debug, error));
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
if (cdpValue.result.type === 'object') {
|
|
@@ -145,7 +145,7 @@ class Realm {
|
|
|
145
145
|
...(this.sandbox === undefined ? {} : { sandbox: this.sandbox }),
|
|
146
146
|
};
|
|
147
147
|
}
|
|
148
|
-
async evaluate(expression, awaitPromise, resultOwnership, serializationOptions) {
|
|
148
|
+
async evaluate(expression, awaitPromise, resultOwnership, serializationOptions, userActivation = false) {
|
|
149
149
|
await this.#browsingContextStorage
|
|
150
150
|
.getContext(this.browsingContextId)
|
|
151
151
|
.targetUnblocked();
|
|
@@ -154,6 +154,7 @@ class Realm {
|
|
|
154
154
|
expression,
|
|
155
155
|
awaitPromise,
|
|
156
156
|
serializationOptions: Realm.#getSerializationOptions("deep" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */, serializationOptions),
|
|
157
|
+
userGesture: userActivation,
|
|
157
158
|
});
|
|
158
159
|
if (cdpEvaluateResult.exceptionDetails) {
|
|
159
160
|
return this.#getExceptionResult(cdpEvaluateResult.exceptionDetails, 0, resultOwnership);
|
|
@@ -244,7 +245,7 @@ class Realm {
|
|
|
244
245
|
text: (await this.stringifyObject(exception)) || cdpExceptionDetails.text,
|
|
245
246
|
};
|
|
246
247
|
}
|
|
247
|
-
async callFunction(functionDeclaration, thisLocalValue, argumentsLocalValues, awaitPromise, resultOwnership, serializationOptions) {
|
|
248
|
+
async callFunction(functionDeclaration, thisLocalValue, argumentsLocalValues, awaitPromise, resultOwnership, serializationOptions, userActivation = false) {
|
|
248
249
|
await this.#browsingContextStorage
|
|
249
250
|
.getContext(this.browsingContextId)
|
|
250
251
|
.targetUnblocked();
|
|
@@ -270,6 +271,7 @@ class Realm {
|
|
|
270
271
|
arguments: thisAndArgumentsList,
|
|
271
272
|
serializationOptions: Realm.#getSerializationOptions("deep" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */, serializationOptions),
|
|
272
273
|
executionContextId: this.executionContextId,
|
|
274
|
+
userGesture: userActivation,
|
|
273
275
|
});
|
|
274
276
|
}
|
|
275
277
|
catch (error) {
|
|
@@ -441,7 +443,7 @@ class Realm {
|
|
|
441
443
|
return { objectId: result.objectId };
|
|
442
444
|
}
|
|
443
445
|
case 'channel': {
|
|
444
|
-
const channelProxy = new channelProxy_js_1.ChannelProxy(localValue.value);
|
|
446
|
+
const channelProxy = new channelProxy_js_1.ChannelProxy(localValue.value, this.#logger);
|
|
445
447
|
const channelProxySendMessageHandle = await channelProxy.init(this, this.#eventManager);
|
|
446
448
|
return { objectId: channelProxySendMessageHandle };
|
|
447
449
|
}
|