chromium-bidi 0.5.23 → 0.6.0
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 +0 -2
- package/lib/cjs/bidiMapper/BidiServer.d.ts +2 -1
- package/lib/cjs/bidiMapper/BidiServer.js +2 -2
- package/lib/cjs/bidiMapper/BidiServer.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/cdp/CdpTarget.d.ts +3 -3
- package/lib/cjs/bidiMapper/modules/cdp/CdpTarget.js +6 -4
- package/lib/cjs/bidiMapper/modules/cdp/CdpTarget.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/cdp/CdpTargetManager.d.ts +2 -2
- package/lib/cjs/bidiMapper/modules/cdp/CdpTargetManager.js +6 -4
- package/lib/cjs/bidiMapper/modules/cdp/CdpTargetManager.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/context/BrowsingContextImpl.d.ts +9 -3
- package/lib/cjs/bidiMapper/modules/context/BrowsingContextImpl.js +121 -19
- package/lib/cjs/bidiMapper/modules/context/BrowsingContextImpl.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/context/BrowsingContextProcessor.js +1 -1
- package/lib/cjs/bidiMapper/modules/context/BrowsingContextProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/input/InputSource.d.ts +5 -5
- package/lib/cjs/bidiMapper/modules/input/keyUtils.js +3 -4
- package/lib/cjs/bidiMapper/modules/input/keyUtils.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/log/LogManager.js +6 -0
- package/lib/cjs/bidiMapper/modules/log/LogManager.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/log/logHelper.js +2 -3
- package/lib/cjs/bidiMapper/modules/log/logHelper.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/network/NetworkProcessor.d.ts +16 -0
- package/lib/cjs/bidiMapper/modules/network/NetworkProcessor.js +29 -97
- package/lib/cjs/bidiMapper/modules/network/NetworkProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/network/NetworkRequest.d.ts +4 -4
- package/lib/cjs/bidiMapper/modules/network/NetworkRequest.js +129 -30
- package/lib/cjs/bidiMapper/modules/network/NetworkRequest.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/network/NetworkStorage.d.ts +6 -1
- package/lib/cjs/bidiMapper/modules/network/NetworkStorage.js +13 -1
- package/lib/cjs/bidiMapper/modules/network/NetworkStorage.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/network/NetworkUtils.d.ts +1 -0
- package/lib/cjs/bidiMapper/modules/network/NetworkUtils.js +21 -14
- package/lib/cjs/bidiMapper/modules/network/NetworkUtils.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/script/SharedId.js +2 -3
- package/lib/cjs/bidiMapper/modules/script/SharedId.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/session/SubscriptionManager.js +3 -3
- package/lib/cjs/bidiMapper/modules/session/SubscriptionManager.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/session/events.js +2 -3
- package/lib/cjs/bidiMapper/modules/session/events.js.map +1 -1
- package/lib/cjs/bidiServer/WebSocketServer.js +2 -1
- package/lib/cjs/bidiServer/WebSocketServer.js.map +1 -1
- package/lib/cjs/bidiServer/index.js +1 -2
- package/lib/cjs/bidiServer/index.js.map +1 -1
- package/lib/cjs/bidiServer/reader.js +1 -2
- package/lib/cjs/bidiServer/reader.js.map +1 -1
- package/lib/cjs/bidiTab/mapperTabPage.js +2 -3
- package/lib/cjs/bidiTab/mapperTabPage.js.map +1 -1
- package/lib/cjs/protocol/generated/webdriver-bidi.d.ts +30 -2
- package/lib/cjs/protocol-parser/generated/webdriver-bidi.d.ts +1218 -122
- package/lib/cjs/protocol-parser/generated/webdriver-bidi.js +24 -2
- package/lib/cjs/protocol-parser/generated/webdriver-bidi.js.map +1 -1
- package/lib/cjs/protocol-parser/protocol-parser.js +2 -2
- package/lib/cjs/protocol-parser/protocol-parser.js.map +1 -1
- package/lib/cjs/utils/Base64.js +1 -2
- package/lib/cjs/utils/Base64.js.map +1 -1
- package/lib/cjs/utils/DistinctValues.js +2 -3
- package/lib/cjs/utils/DistinctValues.js.map +1 -1
- package/lib/cjs/utils/GraphemeTools.js +2 -3
- package/lib/cjs/utils/GraphemeTools.js.map +1 -1
- package/lib/cjs/utils/assert.js +1 -2
- package/lib/cjs/utils/assert.js.map +1 -1
- package/lib/cjs/utils/unitConversions.js +1 -2
- package/lib/cjs/utils/unitConversions.js.map +1 -1
- package/lib/cjs/utils/uuid.js +1 -2
- package/lib/cjs/utils/uuid.js.map +1 -1
- package/lib/iife/mapperTab.js +878 -707
- package/lib/iife/mapperTab.js.map +1 -1
- package/package.json +15 -21
package/.browser
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
chrome@
|
|
1
|
+
chrome@128.0.6562.0
|
package/README.md
CHANGED
|
@@ -8,8 +8,6 @@
|
|
|
8
8
|
|
|
9
9
|

|
|
10
10
|
|
|
11
|
-
[](https://codecov.io/gh/GoogleChromeLabs/chromium-bidi)
|
|
12
|
-
|
|
13
11
|
This is an implementation of the
|
|
14
12
|
[WebDriver BiDi](https://w3c.github.io/webdriver-bidi/) protocol with some
|
|
15
13
|
extensions (**BiDi+**)
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import type { CdpClient } from '../cdp/CdpClient';
|
|
18
18
|
import type { CdpConnection } from '../cdp/CdpConnection.js';
|
|
19
|
-
import type { ChromiumBidi } from '../protocol/protocol.js';
|
|
19
|
+
import type { ChromiumBidi, Session } from '../protocol/protocol.js';
|
|
20
20
|
import { EventEmitter } from '../utils/EventEmitter.js';
|
|
21
21
|
import { type LoggerFn } from '../utils/log.js';
|
|
22
22
|
import type { Result } from '../utils/result.js';
|
|
@@ -28,6 +28,7 @@ type BidiServerEvent = {
|
|
|
28
28
|
};
|
|
29
29
|
export type MapperOptions = {
|
|
30
30
|
acceptInsecureCerts: boolean;
|
|
31
|
+
unhandledPromptBehavior?: Session.UserPromptHandler;
|
|
31
32
|
};
|
|
32
33
|
export declare class BidiServer extends EventEmitter<BidiServerEvent> {
|
|
33
34
|
#private;
|
|
@@ -55,8 +55,8 @@ class BidiServer extends EventEmitter_js_1.EventEmitter {
|
|
|
55
55
|
this.#transport = bidiTransport;
|
|
56
56
|
this.#transport.setOnMessage(this.#handleIncomingMessage);
|
|
57
57
|
this.#eventManager = new EventManager_js_1.EventManager(this.#browsingContextStorage);
|
|
58
|
-
const networkStorage = new NetworkStorage_js_1.NetworkStorage(this.#eventManager, browserCdpClient, logger);
|
|
59
|
-
new CdpTargetManager_js_1.CdpTargetManager(cdpConnection, browserCdpClient, selfTargetId, this.#eventManager, this.#browsingContextStorage, this.#realmStorage, networkStorage, this.#preloadScriptStorage, options?.acceptInsecureCerts ?? false, defaultUserContextId, logger);
|
|
58
|
+
const networkStorage = new NetworkStorage_js_1.NetworkStorage(this.#eventManager, this.#browsingContextStorage, browserCdpClient, logger);
|
|
59
|
+
new CdpTargetManager_js_1.CdpTargetManager(cdpConnection, browserCdpClient, selfTargetId, this.#eventManager, this.#browsingContextStorage, this.#realmStorage, networkStorage, this.#preloadScriptStorage, options?.acceptInsecureCerts ?? false, defaultUserContextId, options?.unhandledPromptBehavior, logger);
|
|
60
60
|
this.#commandProcessor = new CommandProcessor_js_1.CommandProcessor(cdpConnection, browserCdpClient, this.#eventManager, this.#browsingContextStorage, this.#realmStorage, this.#preloadScriptStorage, networkStorage, parser, this.#logger);
|
|
61
61
|
this.#eventManager.on("event" /* EventManagerEvents.Event */, ({ message, event }) => {
|
|
62
62
|
this.emitOutgoingMessage(message, event);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BidiServer.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiServer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAKH,8DAAsD;AACtD,4CAAuD;AACvD,oEAA4D;AAK5D,+DAA+E;AAC/E,2EAAmE;AACnE,2FAAmF;AACnF,2EAAmE;AACnE,sFAA8E;AAC9E,sEAA8D;AAC9D,uEAG2C;
|
|
1
|
+
{"version":3,"file":"BidiServer.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Protocol } from 'devtools-protocol';
|
|
2
2
|
import type { CdpClient } from '../../../cdp/CdpClient.js';
|
|
3
|
-
import type { ChromiumBidi } from '../../../protocol/protocol.js';
|
|
3
|
+
import type { ChromiumBidi, Session } from '../../../protocol/protocol.js';
|
|
4
4
|
import { Deferred } from '../../../utils/Deferred.js';
|
|
5
5
|
import type { LoggerFn } from '../../../utils/log.js';
|
|
6
6
|
import type { Result } from '../../../utils/result.js';
|
|
@@ -12,8 +12,8 @@ import type { RealmStorage } from '../script/RealmStorage.js';
|
|
|
12
12
|
import type { EventManager } from '../session/EventManager.js';
|
|
13
13
|
export declare class CdpTarget {
|
|
14
14
|
#private;
|
|
15
|
-
static create(targetId: Protocol.Target.TargetID, cdpClient: CdpClient, browserCdpClient: CdpClient, realmStorage: RealmStorage, eventManager: EventManager, preloadScriptStorage: PreloadScriptStorage, browsingContextStorage: BrowsingContextStorage, networkStorage: NetworkStorage, acceptInsecureCerts: boolean, logger?: LoggerFn): CdpTarget;
|
|
16
|
-
constructor(targetId: Protocol.Target.TargetID, cdpClient: CdpClient, browserCdpClient: CdpClient, eventManager: EventManager, realmStorage: RealmStorage, preloadScriptStorage: PreloadScriptStorage, browsingContextStorage: BrowsingContextStorage, networkStorage: NetworkStorage, acceptInsecureCerts: boolean, logger?: LoggerFn);
|
|
15
|
+
static create(targetId: Protocol.Target.TargetID, cdpClient: CdpClient, browserCdpClient: CdpClient, realmStorage: RealmStorage, eventManager: EventManager, preloadScriptStorage: PreloadScriptStorage, browsingContextStorage: BrowsingContextStorage, networkStorage: NetworkStorage, acceptInsecureCerts: boolean, unhandledPromptBehavior?: Session.UserPromptHandler, logger?: LoggerFn): CdpTarget;
|
|
16
|
+
constructor(targetId: Protocol.Target.TargetID, cdpClient: CdpClient, browserCdpClient: CdpClient, eventManager: EventManager, realmStorage: RealmStorage, preloadScriptStorage: PreloadScriptStorage, browsingContextStorage: BrowsingContextStorage, networkStorage: NetworkStorage, acceptInsecureCerts: boolean, unhandledPromptBehavior?: Session.UserPromptHandler, logger?: LoggerFn);
|
|
17
17
|
/** Returns a deferred that resolves when the target is unblocked. */
|
|
18
18
|
get unblocked(): Deferred<Result<void>>;
|
|
19
19
|
get id(): Protocol.Target.TargetID;
|
|
@@ -16,6 +16,7 @@ class CdpTarget {
|
|
|
16
16
|
#browsingContextStorage;
|
|
17
17
|
#networkStorage;
|
|
18
18
|
#unblocked = new Deferred_js_1.Deferred();
|
|
19
|
+
#unhandledPromptBehavior;
|
|
19
20
|
#acceptInsecureCerts;
|
|
20
21
|
#logger;
|
|
21
22
|
#networkDomainEnabled = false;
|
|
@@ -24,8 +25,8 @@ class CdpTarget {
|
|
|
24
25
|
response: false,
|
|
25
26
|
auth: false,
|
|
26
27
|
};
|
|
27
|
-
static create(targetId, cdpClient, browserCdpClient, realmStorage, eventManager, preloadScriptStorage, browsingContextStorage, networkStorage, acceptInsecureCerts, logger) {
|
|
28
|
-
const cdpTarget = new CdpTarget(targetId, cdpClient, browserCdpClient, eventManager, realmStorage, preloadScriptStorage, browsingContextStorage, networkStorage, acceptInsecureCerts, logger);
|
|
28
|
+
static create(targetId, cdpClient, browserCdpClient, realmStorage, eventManager, preloadScriptStorage, browsingContextStorage, networkStorage, acceptInsecureCerts, unhandledPromptBehavior, logger) {
|
|
29
|
+
const cdpTarget = new CdpTarget(targetId, cdpClient, browserCdpClient, eventManager, realmStorage, preloadScriptStorage, browsingContextStorage, networkStorage, acceptInsecureCerts, unhandledPromptBehavior, logger);
|
|
29
30
|
LogManager_js_1.LogManager.create(cdpTarget, realmStorage, eventManager, logger);
|
|
30
31
|
cdpTarget.#setEventListeners();
|
|
31
32
|
// No need to await.
|
|
@@ -33,7 +34,7 @@ class CdpTarget {
|
|
|
33
34
|
void cdpTarget.#unblock();
|
|
34
35
|
return cdpTarget;
|
|
35
36
|
}
|
|
36
|
-
constructor(targetId, cdpClient, browserCdpClient, eventManager, realmStorage, preloadScriptStorage, browsingContextStorage, networkStorage, acceptInsecureCerts, logger) {
|
|
37
|
+
constructor(targetId, cdpClient, browserCdpClient, eventManager, realmStorage, preloadScriptStorage, browsingContextStorage, networkStorage, acceptInsecureCerts, unhandledPromptBehavior, logger) {
|
|
37
38
|
this.#id = targetId;
|
|
38
39
|
this.#cdpClient = cdpClient;
|
|
39
40
|
this.#browserCdpClient = browserCdpClient;
|
|
@@ -43,6 +44,7 @@ class CdpTarget {
|
|
|
43
44
|
this.#networkStorage = networkStorage;
|
|
44
45
|
this.#browsingContextStorage = browsingContextStorage;
|
|
45
46
|
this.#acceptInsecureCerts = acceptInsecureCerts;
|
|
47
|
+
this.#unhandledPromptBehavior = unhandledPromptBehavior;
|
|
46
48
|
this.#logger = logger;
|
|
47
49
|
}
|
|
48
50
|
/** Returns a deferred that resolves when the target is unblocked. */
|
|
@@ -122,7 +124,7 @@ class CdpTarget {
|
|
|
122
124
|
// Can restore only not yet known nested frames. The top-level frame is created
|
|
123
125
|
// when the target is attached.
|
|
124
126
|
const parentBrowsingContext = this.#browsingContextStorage.getContext(frame.parentId);
|
|
125
|
-
BrowsingContextImpl_js_1.BrowsingContextImpl.create(frame.id, frame.parentId, parentBrowsingContext.userContext, parentBrowsingContext.cdpTarget, this.#eventManager, this.#browsingContextStorage, this.#realmStorage, frame.url, this.#logger);
|
|
127
|
+
BrowsingContextImpl_js_1.BrowsingContextImpl.create(frame.id, frame.parentId, parentBrowsingContext.userContext, parentBrowsingContext.cdpTarget, this.#eventManager, this.#browsingContextStorage, this.#realmStorage, frame.url, undefined, this.#unhandledPromptBehavior, this.#logger);
|
|
126
128
|
}
|
|
127
129
|
frameTree.childFrames?.map((frameTree) => this.#restoreFrameTreeState(frameTree));
|
|
128
130
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CdpTarget.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/modules/cdp/CdpTarget.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CdpTarget.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/modules/cdp/CdpTarget.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CdpClient } from '../../../cdp/CdpClient.js';
|
|
2
2
|
import type { CdpConnection } from '../../../cdp/CdpConnection.js';
|
|
3
|
-
import type { Browser } from '../../../protocol/protocol.js';
|
|
3
|
+
import type { Browser, Session } from '../../../protocol/protocol.js';
|
|
4
4
|
import { type LoggerFn } from '../../../utils/log.js';
|
|
5
5
|
import type { BrowsingContextStorage } from '../context/BrowsingContextStorage.js';
|
|
6
6
|
import type { NetworkStorage } from '../network/NetworkStorage.js';
|
|
@@ -9,5 +9,5 @@ import type { RealmStorage } from '../script/RealmStorage.js';
|
|
|
9
9
|
import type { EventManager } from '../session/EventManager.js';
|
|
10
10
|
export declare class CdpTargetManager {
|
|
11
11
|
#private;
|
|
12
|
-
constructor(cdpConnection: CdpConnection, browserCdpClient: CdpClient, selfTargetId: string, eventManager: EventManager, browsingContextStorage: BrowsingContextStorage, realmStorage: RealmStorage, networkStorage: NetworkStorage, preloadScriptStorage: PreloadScriptStorage, acceptInsecureCerts: boolean, defaultUserContextId: Browser.UserContext, logger?: LoggerFn);
|
|
12
|
+
constructor(cdpConnection: CdpConnection, browserCdpClient: CdpClient, selfTargetId: string, eventManager: EventManager, browsingContextStorage: BrowsingContextStorage, realmStorage: RealmStorage, networkStorage: NetworkStorage, preloadScriptStorage: PreloadScriptStorage, acceptInsecureCerts: boolean, defaultUserContextId: Browser.UserContext, unhandledPromptBehavior?: Session.UserPromptHandler, logger?: LoggerFn);
|
|
13
13
|
}
|
|
@@ -22,7 +22,8 @@ class CdpTargetManager {
|
|
|
22
22
|
#realmStorage;
|
|
23
23
|
#defaultUserContextId;
|
|
24
24
|
#logger;
|
|
25
|
-
|
|
25
|
+
#unhandledPromptBehavior;
|
|
26
|
+
constructor(cdpConnection, browserCdpClient, selfTargetId, eventManager, browsingContextStorage, realmStorage, networkStorage, preloadScriptStorage, acceptInsecureCerts, defaultUserContextId, unhandledPromptBehavior, logger) {
|
|
26
27
|
this.#acceptInsecureCerts = acceptInsecureCerts;
|
|
27
28
|
this.#cdpConnection = cdpConnection;
|
|
28
29
|
this.#browserCdpClient = browserCdpClient;
|
|
@@ -33,6 +34,7 @@ class CdpTargetManager {
|
|
|
33
34
|
this.#networkStorage = networkStorage;
|
|
34
35
|
this.#realmStorage = realmStorage;
|
|
35
36
|
this.#defaultUserContextId = defaultUserContextId;
|
|
37
|
+
this.#unhandledPromptBehavior = unhandledPromptBehavior;
|
|
36
38
|
this.#logger = logger;
|
|
37
39
|
this.#setEventListeners(browserCdpClient);
|
|
38
40
|
}
|
|
@@ -58,7 +60,7 @@ class CdpTargetManager {
|
|
|
58
60
|
BrowsingContextImpl_js_1.BrowsingContextImpl.create(params.frameId, params.parentFrameId, parentBrowsingContext.userContext, parentBrowsingContext.cdpTarget, this.#eventManager, this.#browsingContextStorage, this.#realmStorage,
|
|
59
61
|
// At this point, we don't know the URL of the frame yet, so it will be updated
|
|
60
62
|
// later.
|
|
61
|
-
'about:blank', this.#logger);
|
|
63
|
+
'about:blank', undefined, this.#unhandledPromptBehavior, this.#logger);
|
|
62
64
|
}
|
|
63
65
|
}
|
|
64
66
|
#handleFrameDetachedEvent(params) {
|
|
@@ -98,7 +100,7 @@ class CdpTargetManager {
|
|
|
98
100
|
// "7.3.2.1 Creating browsing contexts".
|
|
99
101
|
// https://html.spec.whatwg.org/multipage/document-sequences.html#creating-browsing-contexts
|
|
100
102
|
// TODO: check who to deal with non-null creator and its `creatorOrigin`.
|
|
101
|
-
targetInfo.url === '' ? 'about:blank' : targetInfo.url, this.#logger);
|
|
103
|
+
targetInfo.url === '' ? 'about:blank' : targetInfo.url, targetInfo.openerFrameId ?? targetInfo.openerId, this.#unhandledPromptBehavior, this.#logger);
|
|
102
104
|
}
|
|
103
105
|
return;
|
|
104
106
|
}
|
|
@@ -134,7 +136,7 @@ class CdpTargetManager {
|
|
|
134
136
|
}
|
|
135
137
|
#createCdpTarget(targetCdpClient, targetInfo) {
|
|
136
138
|
this.#setEventListeners(targetCdpClient);
|
|
137
|
-
const target = CdpTarget_js_1.CdpTarget.create(targetInfo.targetId, targetCdpClient, this.#browserCdpClient, this.#realmStorage, this.#eventManager, this.#preloadScriptStorage, this.#browsingContextStorage, this.#networkStorage, this.#acceptInsecureCerts, this.#logger);
|
|
139
|
+
const target = CdpTarget_js_1.CdpTarget.create(targetInfo.targetId, targetCdpClient, this.#browserCdpClient, this.#realmStorage, this.#eventManager, this.#preloadScriptStorage, this.#browsingContextStorage, this.#networkStorage, this.#acceptInsecureCerts, this.#unhandledPromptBehavior, this.#logger);
|
|
138
140
|
this.#networkStorage.onCdpTargetCreated(target);
|
|
139
141
|
return target;
|
|
140
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CdpTargetManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/modules/cdp/CdpTargetManager.ts"],"names":[],"mappings":";;;AAqBA,kDAA6D;AAC7D,8EAG2C;AAM3C,6DAA2E;AAG3E,iDAAyC;AAEzC,MAAM,oBAAoB,GAAG;IAC3B,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,eAAe;IAC9B,MAAM,EAAE,kBAAkB;CAClB,CAAC;AAEX,MAAa,gBAAgB;IAClB,iBAAiB,CAAY;IAC7B,cAAc,CAAgB;IAC9B,aAAa,CAAS;IACtB,aAAa,CAAe;IAE5B,uBAAuB,CAAyB;IAChD,eAAe,CAAiB;IAChC,oBAAoB,CAAU;IAC9B,qBAAqB,CAAuB;IAC5C,aAAa,CAAe;IAE5B,qBAAqB,CAAsB;IAC3C,OAAO,CAAY;
|
|
1
|
+
{"version":3,"file":"CdpTargetManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/modules/cdp/CdpTargetManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import type { Protocol } from 'devtools-protocol';
|
|
18
|
-
import { BrowsingContext } from '../../../protocol/protocol.js';
|
|
18
|
+
import { BrowsingContext, type Session } from '../../../protocol/protocol.js';
|
|
19
19
|
import { type LoggerFn } from '../../../utils/log.js';
|
|
20
20
|
import type { CdpTarget } from '../cdp/CdpTarget.js';
|
|
21
21
|
import type { Realm } from '../script/Realm.js';
|
|
@@ -27,12 +27,18 @@ export declare class BrowsingContextImpl {
|
|
|
27
27
|
static readonly LOGGER_PREFIX: "debug:browsingContext";
|
|
28
28
|
readonly userContext: string;
|
|
29
29
|
private constructor();
|
|
30
|
-
static create(id: BrowsingContext.BrowsingContext, parentId: BrowsingContext.BrowsingContext | null, userContext: string, cdpTarget: CdpTarget, eventManager: EventManager, browsingContextStorage: BrowsingContextStorage, realmStorage: RealmStorage, url: string, logger?: LoggerFn): BrowsingContextImpl;
|
|
30
|
+
static create(id: BrowsingContext.BrowsingContext, parentId: BrowsingContext.BrowsingContext | null, userContext: string, cdpTarget: CdpTarget, eventManager: EventManager, browsingContextStorage: BrowsingContextStorage, realmStorage: RealmStorage, url: string, originalOpener?: string, unhandledPromptBehavior?: Session.UserPromptHandler, logger?: LoggerFn): BrowsingContextImpl;
|
|
31
31
|
static getTimestamp(): number;
|
|
32
32
|
/**
|
|
33
33
|
* @see https://html.spec.whatwg.org/multipage/document-sequences.html#navigable
|
|
34
34
|
*/
|
|
35
35
|
get navigableId(): string | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Virtual navigation ID. Required, as CDP `loaderId` cannot be mapped 1:1 to all the
|
|
38
|
+
* navigations (e.g. same document navigations). Updated after each navigation,
|
|
39
|
+
* including same-document ones.
|
|
40
|
+
*/
|
|
41
|
+
get virtualNavigationId(): string;
|
|
36
42
|
dispose(): void;
|
|
37
43
|
/** Returns the ID of this context. */
|
|
38
44
|
get id(): BrowsingContext.BrowsingContext;
|
|
@@ -62,7 +68,7 @@ export declare class BrowsingContextImpl {
|
|
|
62
68
|
navigate(url: string, wait: BrowsingContext.ReadinessState): Promise<BrowsingContext.NavigateResult>;
|
|
63
69
|
reload(ignoreCache: boolean, wait: BrowsingContext.ReadinessState): Promise<BrowsingContext.NavigateResult>;
|
|
64
70
|
setViewport(viewport?: BrowsingContext.Viewport | null, devicePixelRatio?: number | null): Promise<void>;
|
|
65
|
-
handleUserPrompt(
|
|
71
|
+
handleUserPrompt(accept?: boolean, userText?: string): Promise<void>;
|
|
66
72
|
activate(): Promise<void>;
|
|
67
73
|
captureScreenshot(params: BrowsingContext.CaptureScreenshotParameters): Promise<BrowsingContext.CaptureScreenshotResult>;
|
|
68
74
|
print(params: BrowsingContext.PrintParameters): Promise<BrowsingContext.PrintResult>;
|
|
@@ -16,12 +16,14 @@
|
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.
|
|
19
|
+
exports.BrowsingContextImpl = void 0;
|
|
20
|
+
exports.serializeOrigin = serializeOrigin;
|
|
20
21
|
const protocol_js_1 = require("../../../protocol/protocol.js");
|
|
21
22
|
const assert_js_1 = require("../../../utils/assert.js");
|
|
22
23
|
const Deferred_js_1 = require("../../../utils/Deferred.js");
|
|
23
24
|
const log_js_1 = require("../../../utils/log.js");
|
|
24
25
|
const unitConversions_js_1 = require("../../../utils/unitConversions.js");
|
|
26
|
+
const uuid_1 = require("../../../utils/uuid");
|
|
25
27
|
const WindowRealm_js_1 = require("../script/WindowRealm.js");
|
|
26
28
|
class BrowsingContextImpl {
|
|
27
29
|
static LOGGER_PREFIX = `${log_js_1.LogType.debug}:browsingContext`;
|
|
@@ -53,7 +55,17 @@ class BrowsingContextImpl {
|
|
|
53
55
|
#logger;
|
|
54
56
|
// Keeps track of the previously set viewport.
|
|
55
57
|
#previousViewport = { width: 0, height: 0 };
|
|
56
|
-
|
|
58
|
+
// The URL of the navigation that is currently in progress. A workaround of the CDP
|
|
59
|
+
// lacking URL for the pending navigation events, e.g. `Page.frameStartedLoading`.
|
|
60
|
+
// Set on `Page.navigate`, `Page.reload` commands and on deprecated CDP event
|
|
61
|
+
// `Page.frameScheduledNavigation`.
|
|
62
|
+
#pendingNavigationUrl;
|
|
63
|
+
#virtualNavigationId = (0, uuid_1.uuidv4)();
|
|
64
|
+
#originalOpener;
|
|
65
|
+
// Set when the user prompt is opened. Required to provide the type in closing event.
|
|
66
|
+
#lastUserPromptType;
|
|
67
|
+
#unhandledPromptBehavior;
|
|
68
|
+
constructor(id, parentId, userContext, cdpTarget, eventManager, browsingContextStorage, realmStorage, url, originalOpener, unhandledPromptBehavior, logger) {
|
|
57
69
|
this.#cdpTarget = cdpTarget;
|
|
58
70
|
this.#id = id;
|
|
59
71
|
this.#parentId = parentId;
|
|
@@ -61,11 +73,13 @@ class BrowsingContextImpl {
|
|
|
61
73
|
this.#eventManager = eventManager;
|
|
62
74
|
this.#browsingContextStorage = browsingContextStorage;
|
|
63
75
|
this.#realmStorage = realmStorage;
|
|
76
|
+
this.#unhandledPromptBehavior = unhandledPromptBehavior;
|
|
64
77
|
this.#logger = logger;
|
|
65
78
|
this.#url = url;
|
|
79
|
+
this.#originalOpener = originalOpener;
|
|
66
80
|
}
|
|
67
|
-
static create(id, parentId, userContext, cdpTarget, eventManager, browsingContextStorage, realmStorage, url, logger) {
|
|
68
|
-
const context = new BrowsingContextImpl(id, parentId, userContext, cdpTarget, eventManager, browsingContextStorage, realmStorage, url, logger);
|
|
81
|
+
static create(id, parentId, userContext, cdpTarget, eventManager, browsingContextStorage, realmStorage, url, originalOpener, unhandledPromptBehavior, logger) {
|
|
82
|
+
const context = new BrowsingContextImpl(id, parentId, userContext, cdpTarget, eventManager, browsingContextStorage, realmStorage, url, originalOpener, unhandledPromptBehavior, logger);
|
|
69
83
|
context.#initListeners();
|
|
70
84
|
browsingContextStorage.addContext(context);
|
|
71
85
|
if (!context.isTopLevelContext()) {
|
|
@@ -91,6 +105,14 @@ class BrowsingContextImpl {
|
|
|
91
105
|
get navigableId() {
|
|
92
106
|
return this.#loaderId;
|
|
93
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Virtual navigation ID. Required, as CDP `loaderId` cannot be mapped 1:1 to all the
|
|
110
|
+
* navigations (e.g. same document navigations). Updated after each navigation,
|
|
111
|
+
* including same-document ones.
|
|
112
|
+
*/
|
|
113
|
+
get virtualNavigationId() {
|
|
114
|
+
return this.#virtualNavigationId;
|
|
115
|
+
}
|
|
94
116
|
dispose() {
|
|
95
117
|
this.#deleteAllChildren();
|
|
96
118
|
this.#realmStorage.deleteRealms({
|
|
@@ -208,6 +230,7 @@ class BrowsingContextImpl {
|
|
|
208
230
|
context: this.#id,
|
|
209
231
|
url: this.url,
|
|
210
232
|
userContext: this.userContext,
|
|
233
|
+
originalOpener: this.#originalOpener ?? null,
|
|
211
234
|
children: maxDepth > 0
|
|
212
235
|
? this.directChildren.map((c) => c.serializeToBidiValue(maxDepth - 1, false))
|
|
213
236
|
: null,
|
|
@@ -223,6 +246,7 @@ class BrowsingContextImpl {
|
|
|
223
246
|
return;
|
|
224
247
|
}
|
|
225
248
|
this.#url = params.frame.url + (params.frame.urlFragment ?? '');
|
|
249
|
+
this.#pendingNavigationUrl = undefined;
|
|
226
250
|
// At the point the page is initialized, all the nested iframes from the
|
|
227
251
|
// previous page are detached and realms are destroyed.
|
|
228
252
|
// Remove children from context.
|
|
@@ -232,6 +256,7 @@ class BrowsingContextImpl {
|
|
|
232
256
|
if (this.id !== params.frameId) {
|
|
233
257
|
return;
|
|
234
258
|
}
|
|
259
|
+
this.#pendingNavigationUrl = undefined;
|
|
235
260
|
const timestamp = BrowsingContextImpl.getTimestamp();
|
|
236
261
|
this.#url = params.url;
|
|
237
262
|
this.#navigation.withinDocument.resolve();
|
|
@@ -240,7 +265,7 @@ class BrowsingContextImpl {
|
|
|
240
265
|
method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.FragmentNavigated,
|
|
241
266
|
params: {
|
|
242
267
|
context: this.id,
|
|
243
|
-
navigation:
|
|
268
|
+
navigation: this.#virtualNavigationId,
|
|
244
269
|
timestamp,
|
|
245
270
|
url: this.#url,
|
|
246
271
|
},
|
|
@@ -250,17 +275,30 @@ class BrowsingContextImpl {
|
|
|
250
275
|
if (this.id !== params.frameId) {
|
|
251
276
|
return;
|
|
252
277
|
}
|
|
278
|
+
// Generate a new virtual navigation id.
|
|
279
|
+
this.#virtualNavigationId = (0, uuid_1.uuidv4)();
|
|
253
280
|
this.#eventManager.registerEvent({
|
|
254
281
|
type: 'event',
|
|
255
282
|
method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.NavigationStarted,
|
|
256
283
|
params: {
|
|
257
284
|
context: this.id,
|
|
258
|
-
navigation:
|
|
285
|
+
navigation: this.#virtualNavigationId,
|
|
259
286
|
timestamp: BrowsingContextImpl.getTimestamp(),
|
|
260
|
-
|
|
287
|
+
// The URL of the navigation that is currently in progress. Although the URL
|
|
288
|
+
// is not yet known in case of user-initiated navigations, it is possible to
|
|
289
|
+
// provide the URL in case of BiDi-initiated navigations.
|
|
290
|
+
// TODO: provide proper URL in case of user-initiated navigations.
|
|
291
|
+
url: this.#pendingNavigationUrl ?? 'UNKNOWN',
|
|
261
292
|
},
|
|
262
293
|
}, this.id);
|
|
263
294
|
});
|
|
295
|
+
// TODO: don't use deprecated `Page.frameScheduledNavigation` event.
|
|
296
|
+
this.#cdpTarget.cdpClient.on('Page.frameScheduledNavigation', (params) => {
|
|
297
|
+
if (this.id !== params.frameId) {
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
this.#pendingNavigationUrl = params.url;
|
|
301
|
+
});
|
|
264
302
|
this.#cdpTarget.cdpClient.on('Page.lifecycleEvent', (params) => {
|
|
265
303
|
if (this.id !== params.frameId) {
|
|
266
304
|
return;
|
|
@@ -291,7 +329,7 @@ class BrowsingContextImpl {
|
|
|
291
329
|
method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.DomContentLoaded,
|
|
292
330
|
params: {
|
|
293
331
|
context: this.id,
|
|
294
|
-
navigation: this.#
|
|
332
|
+
navigation: this.#virtualNavigationId,
|
|
295
333
|
timestamp,
|
|
296
334
|
url: this.#url,
|
|
297
335
|
},
|
|
@@ -304,7 +342,7 @@ class BrowsingContextImpl {
|
|
|
304
342
|
method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.Load,
|
|
305
343
|
params: {
|
|
306
344
|
context: this.id,
|
|
307
|
-
navigation: this.#
|
|
345
|
+
navigation: this.#virtualNavigationId,
|
|
308
346
|
timestamp,
|
|
309
347
|
url: this.#url,
|
|
310
348
|
},
|
|
@@ -373,31 +411,91 @@ class BrowsingContextImpl {
|
|
|
373
411
|
});
|
|
374
412
|
this.#cdpTarget.cdpClient.on('Page.javascriptDialogClosed', (params) => {
|
|
375
413
|
const accepted = params.result;
|
|
414
|
+
if (this.#lastUserPromptType === undefined) {
|
|
415
|
+
this.#logger?.(log_js_1.LogType.debugError, 'Unexpectedly no opening prompt event before closing one');
|
|
416
|
+
}
|
|
376
417
|
this.#eventManager.registerEvent({
|
|
377
418
|
type: 'event',
|
|
378
419
|
method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.UserPromptClosed,
|
|
379
420
|
params: {
|
|
380
421
|
context: this.id,
|
|
381
422
|
accepted,
|
|
423
|
+
// `lastUserPromptType` should never be undefined here, so fallback to
|
|
424
|
+
// `UNKNOWN`. The fallback is required to prevent tests from hanging while
|
|
425
|
+
// waiting for the closing event. The cast is required, as the `UNKNOWN` value
|
|
426
|
+
// is not standard.
|
|
427
|
+
type: this.#lastUserPromptType ??
|
|
428
|
+
'UNKNOWN',
|
|
382
429
|
userText: accepted && params.userInput ? params.userInput : undefined,
|
|
383
430
|
},
|
|
384
431
|
}, this.id);
|
|
432
|
+
this.#lastUserPromptType = undefined;
|
|
385
433
|
});
|
|
386
434
|
this.#cdpTarget.cdpClient.on('Page.javascriptDialogOpening', (params) => {
|
|
435
|
+
const promptType = BrowsingContextImpl.#getPromptType(params.type);
|
|
436
|
+
// Set the last prompt type to provide it in closing event.
|
|
437
|
+
this.#lastUserPromptType = promptType;
|
|
438
|
+
const promptHandler = this.#getPromptHandler(promptType);
|
|
387
439
|
this.#eventManager.registerEvent({
|
|
388
440
|
type: 'event',
|
|
389
441
|
method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.UserPromptOpened,
|
|
390
442
|
params: {
|
|
391
443
|
context: this.id,
|
|
392
|
-
|
|
444
|
+
handler: promptHandler,
|
|
445
|
+
type: promptType,
|
|
393
446
|
message: params.message,
|
|
394
447
|
...(params.type === 'prompt'
|
|
395
448
|
? { defaultValue: params.defaultPrompt }
|
|
396
449
|
: {}),
|
|
397
450
|
},
|
|
398
451
|
}, this.id);
|
|
452
|
+
switch (promptHandler) {
|
|
453
|
+
// Based on `unhandledPromptBehavior`, check if the prompt should be handled
|
|
454
|
+
// automatically (`accept`, `dismiss`) or wait for the user to do it.
|
|
455
|
+
case 'accept':
|
|
456
|
+
void this.handleUserPrompt(true);
|
|
457
|
+
break;
|
|
458
|
+
case 'dismiss':
|
|
459
|
+
void this.handleUserPrompt(false);
|
|
460
|
+
break;
|
|
461
|
+
case 'ignore':
|
|
462
|
+
break;
|
|
463
|
+
}
|
|
399
464
|
});
|
|
400
465
|
}
|
|
466
|
+
static #getPromptType(cdpType) {
|
|
467
|
+
switch (cdpType) {
|
|
468
|
+
case 'alert':
|
|
469
|
+
return "alert" /* BrowsingContext.UserPromptType.Alert */;
|
|
470
|
+
case 'beforeunload':
|
|
471
|
+
return "beforeunload" /* BrowsingContext.UserPromptType.Beforeunload */;
|
|
472
|
+
case 'confirm':
|
|
473
|
+
return "confirm" /* BrowsingContext.UserPromptType.Confirm */;
|
|
474
|
+
case 'prompt':
|
|
475
|
+
return "prompt" /* BrowsingContext.UserPromptType.Prompt */;
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
#getPromptHandler(promptType) {
|
|
479
|
+
const defaultPromptHandler = 'dismiss';
|
|
480
|
+
switch (promptType) {
|
|
481
|
+
case "alert" /* BrowsingContext.UserPromptType.Alert */:
|
|
482
|
+
return (this.#unhandledPromptBehavior?.alert ??
|
|
483
|
+
this.#unhandledPromptBehavior?.default ??
|
|
484
|
+
defaultPromptHandler);
|
|
485
|
+
case "beforeunload" /* BrowsingContext.UserPromptType.Beforeunload */:
|
|
486
|
+
return (this.#unhandledPromptBehavior?.beforeUnload ??
|
|
487
|
+
this.#unhandledPromptBehavior?.default ??
|
|
488
|
+
defaultPromptHandler);
|
|
489
|
+
case "confirm" /* BrowsingContext.UserPromptType.Confirm */:
|
|
490
|
+
return (this.#unhandledPromptBehavior?.confirm ??
|
|
491
|
+
this.#unhandledPromptBehavior?.default ??
|
|
492
|
+
defaultPromptHandler);
|
|
493
|
+
case "prompt" /* BrowsingContext.UserPromptType.Prompt */:
|
|
494
|
+
return (this.#unhandledPromptBehavior?.prompt ??
|
|
495
|
+
this.#unhandledPromptBehavior?.default ??
|
|
496
|
+
defaultPromptHandler);
|
|
497
|
+
}
|
|
498
|
+
}
|
|
401
499
|
#documentChanged(loaderId) {
|
|
402
500
|
// Same document navigation.
|
|
403
501
|
if (loaderId === undefined || this.#loaderId === loaderId) {
|
|
@@ -442,18 +540,25 @@ class BrowsingContextImpl {
|
|
|
442
540
|
throw new protocol_js_1.InvalidArgumentException(`Invalid URL: ${url}`);
|
|
443
541
|
}
|
|
444
542
|
await this.targetUnblockedOrThrow();
|
|
543
|
+
// Set the pending navigation URL to provide it in `browsingContext.navigationStarted`
|
|
544
|
+
// event.
|
|
545
|
+
// TODO: detect navigation start not from CDP. Check if
|
|
546
|
+
// `Page.frameRequestedNavigation` can be used for this purpose.
|
|
547
|
+
this.#pendingNavigationUrl = url;
|
|
445
548
|
// TODO: handle loading errors.
|
|
446
549
|
const cdpNavigateResult = await this.#cdpTarget.cdpClient.sendCommand('Page.navigate', {
|
|
447
550
|
url,
|
|
448
551
|
frameId: this.id,
|
|
449
552
|
});
|
|
450
553
|
if (cdpNavigateResult.errorText) {
|
|
554
|
+
// If navigation failed, no pending navigation is left.
|
|
555
|
+
this.#pendingNavigationUrl = undefined;
|
|
451
556
|
this.#eventManager.registerEvent({
|
|
452
557
|
type: 'event',
|
|
453
558
|
method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.NavigationFailed,
|
|
454
559
|
params: {
|
|
455
560
|
context: this.id,
|
|
456
|
-
navigation:
|
|
561
|
+
navigation: this.#virtualNavigationId,
|
|
457
562
|
timestamp: BrowsingContextImpl.getTimestamp(),
|
|
458
563
|
url,
|
|
459
564
|
},
|
|
@@ -484,7 +589,7 @@ class BrowsingContextImpl {
|
|
|
484
589
|
break;
|
|
485
590
|
}
|
|
486
591
|
return {
|
|
487
|
-
navigation:
|
|
592
|
+
navigation: this.#virtualNavigationId,
|
|
488
593
|
// Url can change due to redirect get the latest one.
|
|
489
594
|
url: wait === "none" /* BrowsingContext.ReadinessState.None */ ? url : this.#url,
|
|
490
595
|
};
|
|
@@ -506,9 +611,7 @@ class BrowsingContextImpl {
|
|
|
506
611
|
break;
|
|
507
612
|
}
|
|
508
613
|
return {
|
|
509
|
-
navigation:
|
|
510
|
-
? null
|
|
511
|
-
: this.navigableId ?? null,
|
|
614
|
+
navigation: this.#virtualNavigationId,
|
|
512
615
|
url: this.url,
|
|
513
616
|
};
|
|
514
617
|
}
|
|
@@ -550,10 +653,10 @@ class BrowsingContextImpl {
|
|
|
550
653
|
}
|
|
551
654
|
}
|
|
552
655
|
}
|
|
553
|
-
async handleUserPrompt(
|
|
656
|
+
async handleUserPrompt(accept, userText) {
|
|
554
657
|
await this.#cdpTarget.cdpClient.sendCommand('Page.handleJavaScriptDialog', {
|
|
555
|
-
accept:
|
|
556
|
-
promptText:
|
|
658
|
+
accept: accept ?? true,
|
|
659
|
+
promptText: userText,
|
|
557
660
|
});
|
|
558
661
|
}
|
|
559
662
|
async activate() {
|
|
@@ -1061,7 +1164,6 @@ function serializeOrigin(origin) {
|
|
|
1061
1164
|
}
|
|
1062
1165
|
return origin;
|
|
1063
1166
|
}
|
|
1064
|
-
exports.serializeOrigin = serializeOrigin;
|
|
1065
1167
|
function getImageFormatParameters(params) {
|
|
1066
1168
|
const { quality, type } = params.format ?? {
|
|
1067
1169
|
type: 'image/png',
|