chromium-bidi 3.2.0 → 4.0.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/lib/cjs/bidiMapper/BidiNoOpParser.d.ts +2 -1
- package/lib/cjs/bidiMapper/BidiNoOpParser.js +6 -0
- package/lib/cjs/bidiMapper/BidiNoOpParser.js.map +1 -1
- package/lib/cjs/bidiMapper/BidiParser.d.ts +2 -1
- package/lib/cjs/bidiMapper/BidiServer.js +4 -2
- package/lib/cjs/bidiMapper/BidiServer.js.map +1 -1
- package/lib/cjs/bidiMapper/CommandProcessor.js +9 -19
- package/lib/cjs/bidiMapper/CommandProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/OutgoingMessage.d.ts +4 -4
- package/lib/cjs/bidiMapper/OutgoingMessage.js +9 -9
- package/lib/cjs/bidiMapper/OutgoingMessage.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/browser/UserContextConfig.d.ts +2 -1
- package/lib/cjs/bidiMapper/modules/browser/UserContextConfig.js +1 -0
- package/lib/cjs/bidiMapper/modules/browser/UserContextConfig.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/cdp/CdpTarget.d.ts +2 -1
- package/lib/cjs/bidiMapper/modules/cdp/CdpTarget.js +25 -13
- package/lib/cjs/bidiMapper/modules/cdp/CdpTarget.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/emulation/EmulationProcessor.d.ts +24 -0
- package/lib/cjs/bidiMapper/modules/emulation/EmulationProcessor.js +92 -0
- package/lib/cjs/bidiMapper/modules/emulation/EmulationProcessor.js.map +1 -0
- package/lib/cjs/bidiMapper/modules/input/InputSource.d.ts +5 -5
- package/lib/cjs/bidiMapper/modules/session/EventManager.d.ts +3 -3
- package/lib/cjs/bidiMapper/modules/session/EventManager.js +28 -30
- package/lib/cjs/bidiMapper/modules/session/EventManager.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/session/SessionProcessor.d.ts +3 -3
- package/lib/cjs/bidiMapper/modules/session/SessionProcessor.js +4 -4
- package/lib/cjs/bidiMapper/modules/session/SessionProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/session/SubscriptionManager.d.ts +7 -10
- package/lib/cjs/bidiMapper/modules/session/SubscriptionManager.js +15 -23
- package/lib/cjs/bidiMapper/modules/session/SubscriptionManager.js.map +1 -1
- package/lib/cjs/bidiMapper/modules/session/events.d.ts +0 -5
- package/lib/cjs/bidiMapper/modules/session/events.js +1 -12
- package/lib/cjs/bidiMapper/modules/session/events.js.map +1 -1
- package/lib/cjs/bidiTab/BidiParser.d.ts +2 -1
- package/lib/cjs/bidiTab/BidiParser.js +6 -0
- package/lib/cjs/bidiTab/BidiParser.js.map +1 -1
- package/lib/cjs/bidiTab/Transport.js +26 -25
- package/lib/cjs/bidiTab/Transport.js.map +1 -1
- package/lib/cjs/protocol/cdp.d.ts +2 -18
- package/lib/cjs/protocol/chromium-bidi.d.ts +3 -14
- package/lib/cjs/protocol/chromium-bidi.js +0 -1
- package/lib/cjs/protocol/chromium-bidi.js.map +1 -1
- package/lib/cjs/protocol/generated/webdriver-bidi.d.ts +14 -0
- package/lib/cjs/protocol-parser/generated/webdriver-bidi.js +8 -6
- package/lib/cjs/protocol-parser/generated/webdriver-bidi.js.map +1 -1
- package/lib/cjs/protocol-parser/protocol-parser.d.ts +3 -0
- package/lib/cjs/protocol-parser/protocol-parser.js +8 -1
- package/lib/cjs/protocol-parser/protocol-parser.js.map +1 -1
- package/lib/esm/bidiMapper/BidiNoOpParser.d.ts +2 -1
- package/lib/esm/bidiMapper/BidiNoOpParser.js +6 -0
- package/lib/esm/bidiMapper/BidiNoOpParser.js.map +1 -1
- package/lib/esm/bidiMapper/BidiParser.d.ts +2 -1
- package/lib/esm/bidiMapper/BidiServer.js +4 -2
- package/lib/esm/bidiMapper/BidiServer.js.map +1 -1
- package/lib/esm/bidiMapper/CommandProcessor.js +9 -19
- package/lib/esm/bidiMapper/CommandProcessor.js.map +1 -1
- package/lib/esm/bidiMapper/OutgoingMessage.d.ts +4 -4
- package/lib/esm/bidiMapper/OutgoingMessage.js +9 -9
- package/lib/esm/bidiMapper/OutgoingMessage.js.map +1 -1
- package/lib/esm/bidiMapper/modules/browser/UserContextConfig.d.ts +2 -1
- package/lib/esm/bidiMapper/modules/browser/UserContextConfig.js +1 -0
- package/lib/esm/bidiMapper/modules/browser/UserContextConfig.js.map +1 -1
- package/lib/esm/bidiMapper/modules/cdp/CdpTarget.d.ts +2 -1
- package/lib/esm/bidiMapper/modules/cdp/CdpTarget.js +25 -13
- package/lib/esm/bidiMapper/modules/cdp/CdpTarget.js.map +1 -1
- package/lib/esm/bidiMapper/modules/emulation/EmulationProcessor.d.ts +24 -0
- package/lib/esm/bidiMapper/modules/emulation/EmulationProcessor.js +88 -0
- package/lib/esm/bidiMapper/modules/emulation/EmulationProcessor.js.map +1 -0
- package/lib/esm/bidiMapper/modules/input/InputSource.d.ts +5 -5
- package/lib/esm/bidiMapper/modules/session/EventManager.d.ts +3 -3
- package/lib/esm/bidiMapper/modules/session/EventManager.js +28 -30
- package/lib/esm/bidiMapper/modules/session/EventManager.js.map +1 -1
- package/lib/esm/bidiMapper/modules/session/SessionProcessor.d.ts +3 -3
- package/lib/esm/bidiMapper/modules/session/SessionProcessor.js +4 -4
- package/lib/esm/bidiMapper/modules/session/SessionProcessor.js.map +1 -1
- package/lib/esm/bidiMapper/modules/session/SubscriptionManager.d.ts +7 -10
- package/lib/esm/bidiMapper/modules/session/SubscriptionManager.js +15 -23
- package/lib/esm/bidiMapper/modules/session/SubscriptionManager.js.map +1 -1
- package/lib/esm/bidiMapper/modules/session/events.d.ts +0 -5
- package/lib/esm/bidiMapper/modules/session/events.js +1 -11
- package/lib/esm/bidiMapper/modules/session/events.js.map +1 -1
- package/lib/esm/bidiServer/MapperCdpConnection.js +8 -16
- package/lib/esm/bidiServer/MapperCdpConnection.js.map +1 -1
- package/lib/esm/bidiServer/WebSocketServer.js +1 -1
- package/lib/esm/bidiServer/WebSocketServer.js.map +1 -1
- package/lib/esm/bidiTab/BidiParser.d.ts +2 -1
- package/lib/esm/bidiTab/BidiParser.js +6 -0
- package/lib/esm/bidiTab/BidiParser.js.map +1 -1
- package/lib/esm/bidiTab/Transport.js +26 -25
- package/lib/esm/bidiTab/Transport.js.map +1 -1
- package/lib/esm/protocol/cdp.d.ts +2 -18
- package/lib/esm/protocol/chromium-bidi.d.ts +3 -14
- package/lib/esm/protocol/chromium-bidi.js +0 -1
- package/lib/esm/protocol/chromium-bidi.js.map +1 -1
- package/lib/esm/protocol/generated/webdriver-bidi.d.ts +14 -0
- package/lib/esm/protocol-parser/generated/webdriver-bidi.js +8 -6
- package/lib/esm/protocol-parser/generated/webdriver-bidi.js.map +1 -1
- package/lib/esm/protocol-parser/protocol-parser.d.ts +3 -0
- package/lib/esm/protocol-parser/protocol-parser.js +7 -0
- package/lib/esm/protocol-parser/protocol-parser.js.map +1 -1
- package/lib/iife/mapperTab.js +214 -122
- package/lib/iife/mapperTab.js.map +1 -1
- package/package.json +17 -17
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright 2025 Google LLC.
|
|
4
|
+
* Copyright (c) Microsoft Corporation.
|
|
5
|
+
*
|
|
6
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
* you may not use this file except in compliance with the License.
|
|
8
|
+
* You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.EmulationProcessor = void 0;
|
|
20
|
+
const ErrorResponse_1 = require("../../../protocol/ErrorResponse");
|
|
21
|
+
class EmulationProcessor {
|
|
22
|
+
#userContextStorage;
|
|
23
|
+
#browsingContextStorage;
|
|
24
|
+
constructor(browsingContextStorage, userContextStorage) {
|
|
25
|
+
this.#userContextStorage = userContextStorage;
|
|
26
|
+
this.#browsingContextStorage = browsingContextStorage;
|
|
27
|
+
}
|
|
28
|
+
async setGeolocationOverride(params) {
|
|
29
|
+
if ((params.coordinates?.altitude ?? null) !== null) {
|
|
30
|
+
throw new ErrorResponse_1.UnsupportedOperationException('Geolocation altitude emulation is not supported');
|
|
31
|
+
}
|
|
32
|
+
if ((params.coordinates?.heading ?? null) !== null) {
|
|
33
|
+
throw new ErrorResponse_1.UnsupportedOperationException('Geolocation heading emulation is not supported');
|
|
34
|
+
}
|
|
35
|
+
if ((params.coordinates?.altitudeAccuracy ?? null) !== null) {
|
|
36
|
+
throw new ErrorResponse_1.UnsupportedOperationException('Geolocation altitudeAccuracy emulation is not supported');
|
|
37
|
+
}
|
|
38
|
+
if ((params.coordinates?.speed ?? null) !== null) {
|
|
39
|
+
throw new ErrorResponse_1.UnsupportedOperationException('Geolocation speed emulation is not supported');
|
|
40
|
+
}
|
|
41
|
+
const browsingContexts = await this.#getRelatedTopLevelBrowsingContexts(params.contexts, params.userContexts);
|
|
42
|
+
for (const userContextId of params.userContexts ?? []) {
|
|
43
|
+
const userContextConfig = this.#userContextStorage.getConfig(userContextId);
|
|
44
|
+
userContextConfig.emulatedGeolocation = params.coordinates;
|
|
45
|
+
}
|
|
46
|
+
await Promise.all(browsingContexts.map(async (context) => await context.cdpTarget.setGeolocationOverride(params.coordinates)));
|
|
47
|
+
return {};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Returns a list of top-level browsing contexts.
|
|
51
|
+
*/
|
|
52
|
+
async #getRelatedTopLevelBrowsingContexts(browsingContextIds, userContextIds) {
|
|
53
|
+
if (browsingContextIds === undefined && userContextIds === undefined) {
|
|
54
|
+
throw new ErrorResponse_1.InvalidArgumentException('Either user contexts or browsing contexts must be provided');
|
|
55
|
+
}
|
|
56
|
+
if (browsingContextIds !== undefined && userContextIds !== undefined) {
|
|
57
|
+
throw new ErrorResponse_1.InvalidArgumentException('User contexts and browsing contexts are mutually exclusive');
|
|
58
|
+
}
|
|
59
|
+
const result = [];
|
|
60
|
+
if (browsingContextIds === undefined) {
|
|
61
|
+
// userContextIds !== undefined
|
|
62
|
+
if (userContextIds.length === 0) {
|
|
63
|
+
throw new ErrorResponse_1.InvalidArgumentException('user context should be provided');
|
|
64
|
+
}
|
|
65
|
+
// Verify that all user contexts exist.
|
|
66
|
+
await this.#userContextStorage.verifyUserContextIdList(userContextIds);
|
|
67
|
+
for (const userContextId of userContextIds) {
|
|
68
|
+
const topLevelBrowsingContexts = this.#browsingContextStorage
|
|
69
|
+
.getTopLevelContexts()
|
|
70
|
+
.filter((browsingContext) => browsingContext.userContext === userContextId);
|
|
71
|
+
result.push(...topLevelBrowsingContexts);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
if (browsingContextIds.length === 0) {
|
|
76
|
+
throw new ErrorResponse_1.InvalidArgumentException('browsing context should be provided');
|
|
77
|
+
}
|
|
78
|
+
for (const browsingContextId of browsingContextIds) {
|
|
79
|
+
const browsingContext = this.#browsingContextStorage.getContext(browsingContextId);
|
|
80
|
+
if (!browsingContext.isTopLevelContext()) {
|
|
81
|
+
throw new ErrorResponse_1.InvalidArgumentException('The command is only supported on the top-level context');
|
|
82
|
+
}
|
|
83
|
+
result.push(browsingContext);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// Remove duplicates. Compare `BrowsingContextImpl` by reference is correct here, as
|
|
87
|
+
// `browsingContextStorage` returns the same instance for the same id.
|
|
88
|
+
return [...new Set(result).values()];
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.EmulationProcessor = EmulationProcessor;
|
|
92
|
+
//# sourceMappingURL=EmulationProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmulationProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/modules/emulation/EmulationProcessor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,mEAGyC;AASzC,MAAa,kBAAkB;IAC7B,mBAAmB,CAAqB;IACxC,uBAAuB,CAAyB;IAEhD,YACE,sBAA8C,EAC9C,kBAAsC;QAEtC,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;QAC9C,IAAI,CAAC,uBAAuB,GAAG,sBAAsB,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,MAAkD;QAElD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACpD,MAAM,IAAI,6CAA6B,CACrC,iDAAiD,CAClD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACnD,MAAM,IAAI,6CAA6B,CACrC,gDAAgD,CACjD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5D,MAAM,IAAI,6CAA6B,CACrC,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACjD,MAAM,IAAI,6CAA6B,CACrC,8CAA8C,CAC/C,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mCAAmC,CACrE,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,YAAY,CACpB,CAAC;QAEF,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;YACtD,MAAM,iBAAiB,GACrB,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACpD,iBAAiB,CAAC,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC;QAC7D,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CACf,gBAAgB,CAAC,GAAG,CAClB,KAAK,EAAE,OAAO,EAAE,EAAE,CAChB,MAAM,OAAO,CAAC,SAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAW,CAAC,CACrE,CACF,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mCAAmC,CACvC,kBAA6B,EAC7B,cAAyB;QAEzB,IAAI,kBAAkB,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACrE,MAAM,IAAI,wCAAwB,CAChC,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QAED,IAAI,kBAAkB,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACrE,MAAM,IAAI,wCAAwB,CAChC,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,+BAA+B;YAC/B,IAAI,cAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,wCAAwB,CAAC,iCAAiC,CAAC,CAAC;YACxE,CAAC;YAED,uCAAuC;YACvC,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,cAAe,CAAC,CAAC;YAExE,KAAK,MAAM,aAAa,IAAI,cAAe,EAAE,CAAC;gBAC5C,MAAM,wBAAwB,GAAG,IAAI,CAAC,uBAAuB;qBAC1D,mBAAmB,EAAE;qBACrB,MAAM,CACL,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC,WAAW,KAAK,aAAa,CACnE,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,wCAAwB,CAChC,qCAAqC,CACtC,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;gBACnD,MAAM,eAAe,GACnB,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;gBAC7D,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,EAAE,CAAC;oBACzC,MAAM,IAAI,wCAAwB,CAChC,wDAAwD,CACzD,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,oFAAoF;QACpF,sEAAsE;QACtE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;CACF;AAnHD,gDAmHC"}
|
|
@@ -54,13 +54,13 @@ export declare class PointerSource {
|
|
|
54
54
|
static ClickContext: {
|
|
55
55
|
new (x: number, y: number, time: number): {
|
|
56
56
|
count: number;
|
|
57
|
-
"__#
|
|
58
|
-
"__#
|
|
59
|
-
"__#
|
|
57
|
+
"__#98569@#x": number;
|
|
58
|
+
"__#98569@#y": number;
|
|
59
|
+
"__#98569@#time": number;
|
|
60
60
|
compare(context: /*elided*/ any): boolean;
|
|
61
61
|
};
|
|
62
|
-
"__#
|
|
63
|
-
"__#
|
|
62
|
+
"__#98569@#DOUBLE_CLICK_TIME_MS": number;
|
|
63
|
+
"__#98569@#MAX_DOUBLE_CLICK_RADIUS": number;
|
|
64
64
|
};
|
|
65
65
|
setClickCount(button: number, context: InstanceType<typeof PointerSource.ClickContext>): number;
|
|
66
66
|
getClickCount(button: number): number;
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import type {
|
|
17
|
+
import type { GoogChannel } from '../../../protocol/chromium-bidi.js';
|
|
18
18
|
import { type Browser, ChromiumBidi, type BrowsingContext } from '../../../protocol/protocol.js';
|
|
19
19
|
import { EventEmitter } from '../../../utils/EventEmitter.js';
|
|
20
20
|
import type { Result } from '../../../utils/result.js';
|
|
@@ -47,8 +47,8 @@ export declare class EventManager extends EventEmitter<EventManagerEventsMap> {
|
|
|
47
47
|
registerGlobalEvent(event: ChromiumBidi.Event): void;
|
|
48
48
|
registerPromiseEvent(event: Promise<Result<ChromiumBidi.Event>>, contextId: BrowsingContext.BrowsingContext, eventName: ChromiumBidi.EventNames): void;
|
|
49
49
|
registerGlobalPromiseEvent(event: Promise<Result<ChromiumBidi.Event>>, eventName: ChromiumBidi.EventNames): void;
|
|
50
|
-
subscribe(eventNames: ChromiumBidi.EventNames[], contextIds: BrowsingContext.BrowsingContext[], userContextIds: Browser.UserContext[],
|
|
51
|
-
unsubscribe(eventNames: ChromiumBidi.EventNames[], contextIds: BrowsingContext.BrowsingContext[],
|
|
50
|
+
subscribe(eventNames: ChromiumBidi.EventNames[], contextIds: BrowsingContext.BrowsingContext[], userContextIds: Browser.UserContext[], googChannel: GoogChannel): Promise<string>;
|
|
51
|
+
unsubscribe(eventNames: ChromiumBidi.EventNames[], contextIds: BrowsingContext.BrowsingContext[], googChannel: GoogChannel): Promise<void>;
|
|
52
52
|
unsubscribeByIds(subscriptionIds: string[]): Promise<void>;
|
|
53
53
|
toggleModulesIfNeeded(): Promise<void>;
|
|
54
54
|
clearBufferedEvents(contextId: string): void;
|
|
@@ -61,7 +61,7 @@ class EventManager extends EventEmitter_js_1.EventEmitter {
|
|
|
61
61
|
*/
|
|
62
62
|
#eventBuffers = new Map();
|
|
63
63
|
/**
|
|
64
|
-
* Maps `eventName` + `browsingContext` to Map of
|
|
64
|
+
* Maps `eventName` + `browsingContext` to Map of goog:channel to last id.
|
|
65
65
|
* Used to avoid sending duplicated events when user
|
|
66
66
|
* subscribes -> unsubscribes -> subscribes.
|
|
67
67
|
*/
|
|
@@ -106,31 +106,31 @@ class EventManager extends EventEmitter_js_1.EventEmitter {
|
|
|
106
106
|
}
|
|
107
107
|
registerPromiseEvent(event, contextId, eventName) {
|
|
108
108
|
const eventWrapper = new EventWrapper(event, contextId);
|
|
109
|
-
const
|
|
109
|
+
const sortedGoogChannels = this.#subscriptionManager.getGoogChannelsSubscribedToEvent(eventName, contextId);
|
|
110
110
|
this.#bufferEvent(eventWrapper, eventName);
|
|
111
111
|
// Send events to channels in the subscription priority.
|
|
112
|
-
for (const
|
|
112
|
+
for (const googChannel of sortedGoogChannels) {
|
|
113
113
|
this.emit("event" /* EventManagerEvents.Event */, {
|
|
114
|
-
message: OutgoingMessage_js_1.OutgoingMessage.createFromPromise(event,
|
|
114
|
+
message: OutgoingMessage_js_1.OutgoingMessage.createFromPromise(event, googChannel),
|
|
115
115
|
event: eventName,
|
|
116
116
|
});
|
|
117
|
-
this.#markEventSent(eventWrapper,
|
|
117
|
+
this.#markEventSent(eventWrapper, googChannel, eventName);
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
registerGlobalPromiseEvent(event, eventName) {
|
|
121
121
|
const eventWrapper = new EventWrapper(event, null);
|
|
122
|
-
const
|
|
122
|
+
const sortedGoogChannels = this.#subscriptionManager.getGoogChannelsSubscribedToEventGlobally(eventName);
|
|
123
123
|
this.#bufferEvent(eventWrapper, eventName);
|
|
124
|
-
// Send events to channels in the subscription priority.
|
|
125
|
-
for (const
|
|
124
|
+
// Send events to goog:channels in the subscription priority.
|
|
125
|
+
for (const googChannel of sortedGoogChannels) {
|
|
126
126
|
this.emit("event" /* EventManagerEvents.Event */, {
|
|
127
|
-
message: OutgoingMessage_js_1.OutgoingMessage.createFromPromise(event,
|
|
127
|
+
message: OutgoingMessage_js_1.OutgoingMessage.createFromPromise(event, googChannel),
|
|
128
128
|
event: eventName,
|
|
129
129
|
});
|
|
130
|
-
this.#markEventSent(eventWrapper,
|
|
130
|
+
this.#markEventSent(eventWrapper, googChannel, eventName);
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
|
-
async subscribe(eventNames, contextIds, userContextIds,
|
|
133
|
+
async subscribe(eventNames, contextIds, userContextIds, googChannel) {
|
|
134
134
|
for (const name of eventNames) {
|
|
135
135
|
(0, events_js_1.assertSupportedEvent)(name);
|
|
136
136
|
}
|
|
@@ -161,16 +161,16 @@ class EventManager extends EventEmitter_js_1.EventEmitter {
|
|
|
161
161
|
}));
|
|
162
162
|
subscribeStepEvents.set(eventName, (0, SubscriptionManager_js_1.difference)(subscriptionNavigableIds, subscribedNavigableIds));
|
|
163
163
|
}
|
|
164
|
-
const subscription = this.#subscriptionManager.subscribe(eventNames, contextIds, userContextIds,
|
|
164
|
+
const subscription = this.#subscriptionManager.subscribe(eventNames, contextIds, userContextIds, googChannel);
|
|
165
165
|
for (const eventName of subscription.eventNames) {
|
|
166
166
|
for (const contextId of subscriptionNavigableIds) {
|
|
167
|
-
for (const eventWrapper of this.#getBufferedEvents(eventName, contextId,
|
|
167
|
+
for (const eventWrapper of this.#getBufferedEvents(eventName, contextId, googChannel)) {
|
|
168
168
|
// The order of the events is important.
|
|
169
169
|
this.emit("event" /* EventManagerEvents.Event */, {
|
|
170
|
-
message: OutgoingMessage_js_1.OutgoingMessage.createFromPromise(eventWrapper.event,
|
|
170
|
+
message: OutgoingMessage_js_1.OutgoingMessage.createFromPromise(eventWrapper.event, googChannel),
|
|
171
171
|
event: eventName,
|
|
172
172
|
});
|
|
173
|
-
this.#markEventSent(eventWrapper,
|
|
173
|
+
this.#markEventSent(eventWrapper, googChannel, eventName);
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
176
|
}
|
|
@@ -182,11 +182,11 @@ class EventManager extends EventEmitter_js_1.EventEmitter {
|
|
|
182
182
|
await this.toggleModulesIfNeeded();
|
|
183
183
|
return subscription.id;
|
|
184
184
|
}
|
|
185
|
-
async unsubscribe(eventNames, contextIds,
|
|
185
|
+
async unsubscribe(eventNames, contextIds, googChannel) {
|
|
186
186
|
for (const name of eventNames) {
|
|
187
187
|
(0, events_js_1.assertSupportedEvent)(name);
|
|
188
188
|
}
|
|
189
|
-
this.#subscriptionManager.unsubscribe(eventNames, contextIds,
|
|
189
|
+
this.#subscriptionManager.unsubscribe(eventNames, contextIds, googChannel);
|
|
190
190
|
await this.toggleModulesIfNeeded();
|
|
191
191
|
}
|
|
192
192
|
async unsubscribeByIds(subscriptionIds) {
|
|
@@ -223,31 +223,29 @@ class EventManager extends EventEmitter_js_1.EventEmitter {
|
|
|
223
223
|
this.#eventToContextsMap.get(eventName).add(eventWrapper.contextId);
|
|
224
224
|
}
|
|
225
225
|
/**
|
|
226
|
-
* If the event is buffer-able, mark it as sent to the given contextId and channel.
|
|
226
|
+
* If the event is buffer-able, mark it as sent to the given contextId and goog:channel.
|
|
227
227
|
*/
|
|
228
|
-
#markEventSent(eventWrapper,
|
|
228
|
+
#markEventSent(eventWrapper, googChannel, eventName) {
|
|
229
229
|
if (!eventBufferLength.has(eventName)) {
|
|
230
230
|
// Do nothing if the event is no buffer-able.
|
|
231
231
|
return;
|
|
232
232
|
}
|
|
233
233
|
const lastSentMapKey = _a.#getMapKey(eventName, eventWrapper.contextId);
|
|
234
|
-
const lastId = Math.max(this.#lastMessageSent.get(lastSentMapKey)?.get(
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
channelMap.set(JSON.stringify(channel), lastId);
|
|
234
|
+
const lastId = Math.max(this.#lastMessageSent.get(lastSentMapKey)?.get(googChannel) ?? 0, eventWrapper.id);
|
|
235
|
+
const googChannelMap = this.#lastMessageSent.get(lastSentMapKey);
|
|
236
|
+
if (googChannelMap) {
|
|
237
|
+
googChannelMap.set(googChannel, lastId);
|
|
239
238
|
}
|
|
240
239
|
else {
|
|
241
|
-
this.#lastMessageSent.set(lastSentMapKey, new Map([[
|
|
240
|
+
this.#lastMessageSent.set(lastSentMapKey, new Map([[googChannel, lastId]]));
|
|
242
241
|
}
|
|
243
242
|
}
|
|
244
243
|
/**
|
|
245
|
-
* Returns events which are buffered and not yet sent to the given channel events.
|
|
244
|
+
* Returns events which are buffered and not yet sent to the given goog:channel events.
|
|
246
245
|
*/
|
|
247
|
-
#getBufferedEvents(eventName, contextId,
|
|
246
|
+
#getBufferedEvents(eventName, contextId, googChannel) {
|
|
248
247
|
const bufferMapKey = _a.#getMapKey(eventName, contextId);
|
|
249
|
-
const lastSentMessageId = this.#lastMessageSent.get(bufferMapKey)?.get(
|
|
250
|
-
-Infinity;
|
|
248
|
+
const lastSentMessageId = this.#lastMessageSent.get(bufferMapKey)?.get(googChannel) ?? -Infinity;
|
|
251
249
|
const result = this.#eventBuffers
|
|
252
250
|
.get(bufferMapKey)
|
|
253
251
|
?.get()
|
|
@@ -260,7 +258,7 @@ class EventManager extends EventEmitter_js_1.EventEmitter {
|
|
|
260
258
|
_contextId !== null &&
|
|
261
259
|
// Events from deleted contexts should not be sent.
|
|
262
260
|
this.#browsingContextStorage.hasContext(_contextId))
|
|
263
|
-
.map((_contextId) => this.#getBufferedEvents(eventName, _contextId,
|
|
261
|
+
.map((_contextId) => this.#getBufferedEvents(eventName, _contextId, googChannel))
|
|
264
262
|
.forEach((events) => result.push(...events));
|
|
265
263
|
}
|
|
266
264
|
return result.sort((e1, e2) => e1.id - e2.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/modules/session/EventManager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;AAGH,+DAKuC;AACvC,wDAAgD;AAChD,gEAAwD;AACxD,oEAA4D;AAC5D,8DAAsD;AAEtD,iEAAyD;AAIzD,2CAAiD;AACjD,qEAIkC;AAElC,MAAM,YAAY;IACP,UAAU,GAAG,IAAI,wBAAS,EAAE,CAAC;IAC7B,UAAU,CAAyC;IACnD,MAAM,CAAsC;IAErD,YACE,KAA0C,EAC1C,SAAiD;QAEjD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAYD;;GAEG;AACH,MAAM,iBAAiB,GAAiD,IAAI,GAAG,CAC7E,CAAC,CAAC,0BAAY,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CACnD,CAAC;AAUF,MAAa,YAAa,SAAQ,8BAAmC;IACnE;;;;OAIG;IACH,mBAAmB,GAAG,IAAI,0BAAU,CAGlC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IACnB;;;OAGG;IACH,aAAa,GAAG,IAAI,GAAG,EAAgC,CAAC;IACxD;;;;OAIG;IACH,gBAAgB,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"EventManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/modules/session/EventManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import type { CdpClient } from '../../../cdp/CdpClient.js';
|
|
18
|
-
import type {
|
|
18
|
+
import type { GoogChannel } from '../../../protocol/chromium-bidi.js';
|
|
19
19
|
import { Session, type EmptyResult } from '../../../protocol/protocol.js';
|
|
20
20
|
import type { MapperOptions } from '../../BidiServer.js';
|
|
21
21
|
import type { EventManager } from './EventManager.js';
|
|
@@ -24,6 +24,6 @@ export declare class SessionProcessor {
|
|
|
24
24
|
constructor(eventManager: EventManager, browserCdpClient: CdpClient, initConnection: (opts: MapperOptions) => Promise<void>);
|
|
25
25
|
status(): Session.StatusResult;
|
|
26
26
|
new(params: Session.NewParameters): Promise<Session.NewResult>;
|
|
27
|
-
subscribe(params: Session.SubscriptionRequest,
|
|
28
|
-
unsubscribe(params: Session.UnsubscribeParameters,
|
|
27
|
+
subscribe(params: Session.SubscriptionRequest, googChannel?: GoogChannel): Promise<Session.SubscribeResult>;
|
|
28
|
+
unsubscribe(params: Session.UnsubscribeParameters, googChannel?: GoogChannel): Promise<EmptyResult>;
|
|
29
29
|
}
|
|
@@ -99,18 +99,18 @@ class SessionProcessor {
|
|
|
99
99
|
},
|
|
100
100
|
};
|
|
101
101
|
}
|
|
102
|
-
async subscribe(params,
|
|
103
|
-
const subscription = await this.#eventManager.subscribe(params.events, params.contexts ?? [], params.userContexts ?? [],
|
|
102
|
+
async subscribe(params, googChannel = null) {
|
|
103
|
+
const subscription = await this.#eventManager.subscribe(params.events, params.contexts ?? [], params.userContexts ?? [], googChannel);
|
|
104
104
|
return {
|
|
105
105
|
subscription,
|
|
106
106
|
};
|
|
107
107
|
}
|
|
108
|
-
async unsubscribe(params,
|
|
108
|
+
async unsubscribe(params, googChannel = null) {
|
|
109
109
|
if ('subscriptions' in params) {
|
|
110
110
|
await this.#eventManager.unsubscribeByIds(params.subscriptions);
|
|
111
111
|
return {};
|
|
112
112
|
}
|
|
113
|
-
await this.#eventManager.unsubscribe(params.events, params.contexts ?? [],
|
|
113
|
+
await this.#eventManager.unsubscribe(params.events, params.contexts ?? [], googChannel);
|
|
114
114
|
return {};
|
|
115
115
|
}
|
|
116
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/modules/session/SessionProcessor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SessionProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/modules/session/SessionProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import type {
|
|
17
|
+
import type { GoogChannel } from '../../../protocol/chromium-bidi.js';
|
|
18
18
|
import { type Browser, type BrowsingContext, ChromiumBidi } from '../../../protocol/protocol.js';
|
|
19
19
|
import type { BrowsingContextStorage } from '../context/BrowsingContextStorage.js';
|
|
20
20
|
/**
|
|
@@ -31,31 +31,28 @@ export interface Subscription {
|
|
|
31
31
|
topLevelTraversableIds: Set<BrowsingContext.BrowsingContext>;
|
|
32
32
|
userContextIds: Set<string>;
|
|
33
33
|
eventNames: Set<ChromiumBidi.EventNames>;
|
|
34
|
-
|
|
34
|
+
googChannel: GoogChannel;
|
|
35
35
|
}
|
|
36
36
|
export declare class SubscriptionManager {
|
|
37
37
|
#private;
|
|
38
38
|
constructor(browsingContextStorage: BrowsingContextStorage);
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
getGoogChannelsSubscribedToEvent(eventName: ChromiumBidi.EventNames, contextId: BrowsingContext.BrowsingContext): GoogChannel[];
|
|
40
|
+
getGoogChannelsSubscribedToEventGlobally(eventName: ChromiumBidi.EventNames): GoogChannel[];
|
|
41
41
|
isSubscribedTo(moduleOrEvent: ChromiumBidi.EventNames, contextId: BrowsingContext.BrowsingContext): boolean;
|
|
42
42
|
/**
|
|
43
|
-
* Subscribes to event in the given context and channel.
|
|
44
|
-
* @param {EventNames} event
|
|
45
|
-
* @param {BrowsingContext.BrowsingContext | null} contextId
|
|
46
|
-
* @param {BidiPlusChannel} channel
|
|
43
|
+
* Subscribes to event in the given context and goog:channel.
|
|
47
44
|
* @return {SubscriptionItem[]} List of
|
|
48
45
|
* subscriptions. If the event is a whole module, it will return all the specific
|
|
49
46
|
* events. If the contextId is null, it will return all the top-level contexts which were
|
|
50
47
|
* not subscribed before the command.
|
|
51
48
|
*/
|
|
52
|
-
subscribe(eventNames: ChromiumBidi.EventNames[], contextIds: BrowsingContext.BrowsingContext[], userContextIds: Browser.UserContext[],
|
|
49
|
+
subscribe(eventNames: ChromiumBidi.EventNames[], contextIds: BrowsingContext.BrowsingContext[], userContextIds: Browser.UserContext[], googChannel: GoogChannel): Subscription;
|
|
53
50
|
/**
|
|
54
51
|
* Unsubscribes atomically from all events in the given contexts and channel.
|
|
55
52
|
*
|
|
56
53
|
* This is a legacy spec branch to unsubscribe by attributes.
|
|
57
54
|
*/
|
|
58
|
-
unsubscribe(inputEventNames: ChromiumBidi.EventNames[], inputContextIds: BrowsingContext.BrowsingContext[],
|
|
55
|
+
unsubscribe(inputEventNames: ChromiumBidi.EventNames[], inputContextIds: BrowsingContext.BrowsingContext[], googChannel: GoogChannel): void;
|
|
59
56
|
/**
|
|
60
57
|
* Unsubscribes by subscriptionId.
|
|
61
58
|
*/
|
|
@@ -72,32 +72,28 @@ class SubscriptionManager {
|
|
|
72
72
|
constructor(browsingContextStorage) {
|
|
73
73
|
this.#browsingContextStorage = browsingContextStorage;
|
|
74
74
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
// TODO: switch to `Set` of `goog:channel` once legacy `channel` is removed.
|
|
78
|
-
const channels = new Map();
|
|
75
|
+
getGoogChannelsSubscribedToEvent(eventName, contextId) {
|
|
76
|
+
const googChannels = new Set();
|
|
79
77
|
for (const subscription of this.#subscriptions) {
|
|
80
78
|
if (this.#isSubscribedTo(subscription, eventName, contextId)) {
|
|
81
|
-
|
|
79
|
+
googChannels.add(subscription.googChannel);
|
|
82
80
|
}
|
|
83
81
|
}
|
|
84
|
-
return Array.from(
|
|
82
|
+
return Array.from(googChannels);
|
|
85
83
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
// TODO: switch to `Set` of `goog:channel` once legacy `channel` is removed.
|
|
89
|
-
const channels = new Map();
|
|
84
|
+
getGoogChannelsSubscribedToEventGlobally(eventName) {
|
|
85
|
+
const googChannels = new Set();
|
|
90
86
|
for (const subscription of this.#subscriptions) {
|
|
91
87
|
if (this.#isSubscribedTo(subscription, eventName)) {
|
|
92
|
-
|
|
88
|
+
googChannels.add(subscription.googChannel);
|
|
93
89
|
}
|
|
94
90
|
}
|
|
95
|
-
return Array.from(
|
|
91
|
+
return Array.from(googChannels);
|
|
96
92
|
}
|
|
97
93
|
#isSubscribedTo(subscription, moduleOrEvent, browsingContextId) {
|
|
98
94
|
let includesEvent = false;
|
|
99
95
|
for (const eventName of subscription.eventNames) {
|
|
100
|
-
// This also covers the `cdp` case where
|
|
96
|
+
// This also covers the `goog:cdp` case where
|
|
101
97
|
// we don't unroll the event names
|
|
102
98
|
if (
|
|
103
99
|
// Event explicitly subscribed
|
|
@@ -145,16 +141,13 @@ class SubscriptionManager {
|
|
|
145
141
|
return false;
|
|
146
142
|
}
|
|
147
143
|
/**
|
|
148
|
-
* Subscribes to event in the given context and channel.
|
|
149
|
-
* @param {EventNames} event
|
|
150
|
-
* @param {BrowsingContext.BrowsingContext | null} contextId
|
|
151
|
-
* @param {BidiPlusChannel} channel
|
|
144
|
+
* Subscribes to event in the given context and goog:channel.
|
|
152
145
|
* @return {SubscriptionItem[]} List of
|
|
153
146
|
* subscriptions. If the event is a whole module, it will return all the specific
|
|
154
147
|
* events. If the contextId is null, it will return all the top-level contexts which were
|
|
155
148
|
* not subscribed before the command.
|
|
156
149
|
*/
|
|
157
|
-
subscribe(eventNames, contextIds, userContextIds,
|
|
150
|
+
subscribe(eventNames, contextIds, userContextIds, googChannel) {
|
|
158
151
|
// All the subscriptions are handled on the top-level contexts.
|
|
159
152
|
const subscription = {
|
|
160
153
|
id: (0, uuid_js_1.uuidv4)(),
|
|
@@ -167,7 +160,7 @@ class SubscriptionManager {
|
|
|
167
160
|
return topLevelContext;
|
|
168
161
|
})),
|
|
169
162
|
userContextIds: new Set(userContextIds),
|
|
170
|
-
|
|
163
|
+
googChannel,
|
|
171
164
|
};
|
|
172
165
|
this.#subscriptions.push(subscription);
|
|
173
166
|
this.#knownSubscriptionIds.add(subscription.id);
|
|
@@ -178,7 +171,7 @@ class SubscriptionManager {
|
|
|
178
171
|
*
|
|
179
172
|
* This is a legacy spec branch to unsubscribe by attributes.
|
|
180
173
|
*/
|
|
181
|
-
unsubscribe(inputEventNames, inputContextIds,
|
|
174
|
+
unsubscribe(inputEventNames, inputContextIds, googChannel) {
|
|
182
175
|
const eventNames = new Set(unrollEvents(inputEventNames));
|
|
183
176
|
// Validation that contexts exist.
|
|
184
177
|
this.#browsingContextStorage.verifyContextsList(inputContextIds);
|
|
@@ -194,8 +187,7 @@ class SubscriptionManager {
|
|
|
194
187
|
const eventsMatched = new Set();
|
|
195
188
|
const contextsMatched = new Set();
|
|
196
189
|
for (const subscription of this.#subscriptions) {
|
|
197
|
-
|
|
198
|
-
if (JSON.stringify(subscription.channel) !== JSON.stringify(channel)) {
|
|
190
|
+
if (subscription.googChannel !== googChannel) {
|
|
199
191
|
newSubscriptions.push(subscription);
|
|
200
192
|
continue;
|
|
201
193
|
}
|
|
@@ -260,7 +252,7 @@ class SubscriptionManager {
|
|
|
260
252
|
for (const [eventName, remainingContextIds] of eventMap) {
|
|
261
253
|
const partialSubscription = {
|
|
262
254
|
id: subscription.id,
|
|
263
|
-
|
|
255
|
+
googChannel: subscription.googChannel,
|
|
264
256
|
eventNames: new Set([eventName]),
|
|
265
257
|
topLevelTraversableIds: remainingContextIds,
|
|
266
258
|
userContextIds: new Set(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubscriptionManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/modules/session/SubscriptionManager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAmBH,4CAIC;AAGD,oCAqCC;
|
|
1
|
+
{"version":3,"file":"SubscriptionManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/modules/session/SubscriptionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,11 +20,6 @@ import { ChromiumBidi } from '../../../protocol/protocol.js';
|
|
|
20
20
|
* @see https://chromedevtools.github.io/devtools-protocol/
|
|
21
21
|
*/
|
|
22
22
|
export declare function isCdpEvent(name: string): boolean;
|
|
23
|
-
/**
|
|
24
|
-
* Returns true if the given event is a deprecated CDP event.
|
|
25
|
-
* @see https://chromedevtools.github.io/devtools-protocol/
|
|
26
|
-
*/
|
|
27
|
-
export declare function isDeprecatedCdpEvent(name: string): boolean;
|
|
28
23
|
/**
|
|
29
24
|
* Asserts that the given event is known to BiDi or BiDi+, or throws otherwise.
|
|
30
25
|
*/
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isCdpEvent = isCdpEvent;
|
|
4
|
-
exports.isDeprecatedCdpEvent = isDeprecatedCdpEvent;
|
|
5
4
|
exports.assertSupportedEvent = assertSupportedEvent;
|
|
6
5
|
/**
|
|
7
6
|
* Copyright 2023 Google LLC.
|
|
@@ -27,21 +26,11 @@ const protocol_js_1 = require("../../../protocol/protocol.js");
|
|
|
27
26
|
function isCdpEvent(name) {
|
|
28
27
|
return (name.split('.').at(0)?.startsWith(protocol_js_1.ChromiumBidi.BiDiModule.Cdp) ?? false);
|
|
29
28
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Returns true if the given event is a deprecated CDP event.
|
|
32
|
-
* @see https://chromedevtools.github.io/devtools-protocol/
|
|
33
|
-
*/
|
|
34
|
-
function isDeprecatedCdpEvent(name) {
|
|
35
|
-
return (name.split('.').at(0)?.startsWith(protocol_js_1.ChromiumBidi.BiDiModule.DeprecatedCdp) ??
|
|
36
|
-
false);
|
|
37
|
-
}
|
|
38
29
|
/**
|
|
39
30
|
* Asserts that the given event is known to BiDi or BiDi+, or throws otherwise.
|
|
40
31
|
*/
|
|
41
32
|
function assertSupportedEvent(name) {
|
|
42
|
-
if (!protocol_js_1.ChromiumBidi.EVENT_NAMES.has(name) &&
|
|
43
|
-
!isCdpEvent(name) &&
|
|
44
|
-
!isDeprecatedCdpEvent(name)) {
|
|
33
|
+
if (!protocol_js_1.ChromiumBidi.EVENT_NAMES.has(name) && !isCdpEvent(name)) {
|
|
45
34
|
throw new protocol_js_1.InvalidArgumentException(`Unknown event: ${name}`);
|
|
46
35
|
}
|
|
47
36
|
}
|