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.
Files changed (122) hide show
  1. package/.browser +1 -1
  2. package/README.md +19 -2
  3. package/lib/cjs/bidiMapper/BidiNoOpParser.d.ts +8 -1
  4. package/lib/cjs/bidiMapper/BidiNoOpParser.js +24 -0
  5. package/lib/cjs/bidiMapper/BidiNoOpParser.js.map +1 -1
  6. package/lib/cjs/bidiMapper/BidiParser.d.ts +8 -1
  7. package/lib/cjs/bidiMapper/BidiServer.d.ts +2 -1
  8. package/lib/cjs/bidiMapper/BidiServer.js +5 -5
  9. package/lib/cjs/bidiMapper/BidiServer.js.map +1 -1
  10. package/lib/cjs/bidiMapper/CommandProcessor.d.ts +12 -5
  11. package/lib/cjs/bidiMapper/CommandProcessor.js +51 -9
  12. package/lib/cjs/bidiMapper/CommandProcessor.js.map +1 -1
  13. package/lib/cjs/bidiMapper/OutgoingBidiMessage.d.ts +3 -2
  14. package/lib/cjs/bidiMapper/OutgoingBidiMessage.js +15 -4
  15. package/lib/cjs/bidiMapper/OutgoingBidiMessage.js.map +1 -1
  16. package/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.d.ts +23 -0
  17. package/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.js +34 -0
  18. package/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.js.map +1 -0
  19. package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.d.ts +5 -3
  20. package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js +6 -13
  21. package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js.map +1 -1
  22. package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.d.ts +3 -2
  23. package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js +6 -4
  24. package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js.map +1 -1
  25. package/lib/cjs/bidiMapper/domains/context/cdpTarget.d.ts +20 -6
  26. package/lib/cjs/bidiMapper/domains/context/cdpTarget.js +32 -9
  27. package/lib/cjs/bidiMapper/domains/context/cdpTarget.js.map +1 -1
  28. package/lib/cjs/bidiMapper/domains/events/EventManager.d.ts +3 -8
  29. package/lib/cjs/bidiMapper/domains/events/EventManager.js +7 -3
  30. package/lib/cjs/bidiMapper/domains/events/EventManager.js.map +1 -1
  31. package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js +17 -26
  32. package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js.map +1 -1
  33. package/lib/cjs/bidiMapper/domains/input/InputProcessor.d.ts +1 -2
  34. package/lib/cjs/bidiMapper/domains/input/InputProcessor.js +0 -3
  35. package/lib/cjs/bidiMapper/domains/input/InputProcessor.js.map +1 -1
  36. package/lib/cjs/bidiMapper/domains/log/logManager.d.ts +2 -2
  37. package/lib/cjs/bidiMapper/domains/log/logManager.js +31 -25
  38. package/lib/cjs/bidiMapper/domains/log/logManager.js.map +1 -1
  39. package/lib/cjs/bidiMapper/domains/network/NetworkManager.d.ts +6 -4
  40. package/lib/cjs/bidiMapper/domains/network/NetworkManager.js +38 -43
  41. package/lib/cjs/bidiMapper/domains/network/NetworkManager.js.map +1 -1
  42. package/lib/cjs/bidiMapper/domains/network/NetworkProcessor.d.ts +33 -0
  43. package/lib/cjs/bidiMapper/domains/network/NetworkProcessor.js +74 -0
  44. package/lib/cjs/bidiMapper/domains/network/NetworkProcessor.js.map +1 -0
  45. package/lib/cjs/bidiMapper/domains/network/{networkRequest.d.ts → NetworkRequest.d.ts} +3 -2
  46. package/lib/cjs/bidiMapper/domains/network/{networkRequest.js → NetworkRequest.js} +82 -27
  47. package/lib/cjs/bidiMapper/domains/network/NetworkRequest.js.map +1 -0
  48. package/lib/cjs/bidiMapper/domains/network/NetworkStorage.d.ts +58 -0
  49. package/lib/cjs/bidiMapper/domains/network/NetworkStorage.js +134 -0
  50. package/lib/cjs/bidiMapper/domains/network/NetworkStorage.js.map +1 -0
  51. package/lib/cjs/bidiMapper/domains/script/ScriptProcessor.d.ts +2 -1
  52. package/lib/cjs/bidiMapper/domains/script/ScriptProcessor.js +6 -4
  53. package/lib/cjs/bidiMapper/domains/script/ScriptProcessor.js.map +1 -1
  54. package/lib/cjs/bidiMapper/domains/script/bidiPreloadScript.d.ts +5 -3
  55. package/lib/cjs/bidiMapper/domains/script/bidiPreloadScript.js +2 -2
  56. package/lib/cjs/bidiMapper/domains/script/bidiPreloadScript.js.map +1 -1
  57. package/lib/cjs/bidiMapper/domains/script/channelProxy.d.ts +5 -4
  58. package/lib/cjs/bidiMapper/domains/script/channelProxy.js +45 -38
  59. package/lib/cjs/bidiMapper/domains/script/channelProxy.js.map +1 -1
  60. package/lib/cjs/bidiMapper/domains/script/realm.d.ts +4 -4
  61. package/lib/cjs/bidiMapper/domains/script/realm.js +6 -4
  62. package/lib/cjs/bidiMapper/domains/script/realm.js.map +1 -1
  63. package/lib/cjs/bidiMapper/domains/script/realmStorage.d.ts +1 -1
  64. package/lib/cjs/bidiMapper/domains/session/SessionProcessor.d.ts +4 -4
  65. package/lib/cjs/bidiMapper/domains/session/SessionProcessor.js +4 -4
  66. package/lib/cjs/bidiMapper/domains/session/SessionProcessor.js.map +1 -1
  67. package/lib/cjs/bidiMapper/tsconfig.tsbuildinfo +1 -1
  68. package/lib/cjs/bidiServer/bidiServerRunner.d.ts +1 -1
  69. package/lib/cjs/bidiServer/bidiServerRunner.js +24 -12
  70. package/lib/cjs/bidiServer/bidiServerRunner.js.map +1 -1
  71. package/lib/cjs/bidiServer/index.js +6 -3
  72. package/lib/cjs/bidiServer/index.js.map +1 -1
  73. package/lib/cjs/bidiServer/tsconfig.tsbuildinfo +1 -1
  74. package/lib/cjs/bidiTab/BidiParserImpl.d.ts +8 -1
  75. package/lib/cjs/bidiTab/BidiParserImpl.js +24 -0
  76. package/lib/cjs/bidiTab/BidiParserImpl.js.map +1 -1
  77. package/lib/cjs/bidiTab/bidiTab.js +5 -3
  78. package/lib/cjs/bidiTab/bidiTab.js.map +1 -1
  79. package/lib/cjs/bidiTab/mapperTabPage.js +1 -2
  80. package/lib/cjs/bidiTab/mapperTabPage.js.map +1 -1
  81. package/lib/cjs/bidiTab/tsconfig.tsbuildinfo +1 -1
  82. package/lib/cjs/cdp/cdpClient.d.ts +5 -6
  83. package/lib/cjs/cdp/cdpClient.js.map +1 -1
  84. package/lib/cjs/cdp/cdpConnection.d.ts +7 -4
  85. package/lib/cjs/cdp/cdpConnection.js +5 -3
  86. package/lib/cjs/cdp/cdpConnection.js.map +1 -1
  87. package/lib/cjs/cdp/cdpMessage.d.ts +2 -1
  88. package/lib/cjs/cdp/tsconfig.tsbuildinfo +1 -1
  89. package/lib/cjs/protocol/ErrorResponse.d.ts +18 -6
  90. package/lib/cjs/protocol/ErrorResponse.js +41 -33
  91. package/lib/cjs/protocol/ErrorResponse.js.map +1 -1
  92. package/lib/cjs/protocol/cdp.d.ts +5 -4
  93. package/lib/cjs/protocol/chromium-bidi.d.ts +10 -6
  94. package/lib/cjs/protocol/chromium-bidi.js +10 -5
  95. package/lib/cjs/protocol/chromium-bidi.js.map +1 -1
  96. package/lib/cjs/protocol/tsconfig.tsbuildinfo +1 -1
  97. package/lib/cjs/protocol/webdriver-bidi.d.ts +258 -44
  98. package/lib/cjs/protocol-parser/protocol-parser.d.ts +145 -2
  99. package/lib/cjs/protocol-parser/protocol-parser.js +33 -1
  100. package/lib/cjs/protocol-parser/protocol-parser.js.map +1 -1
  101. package/lib/cjs/protocol-parser/tsconfig.tsbuildinfo +1 -1
  102. package/lib/cjs/protocol-parser/webdriver-bidi.d.ts +19567 -9508
  103. package/lib/cjs/protocol-parser/webdriver-bidi.js +202 -4
  104. package/lib/cjs/protocol-parser/webdriver-bidi.js.map +1 -1
  105. package/lib/cjs/utils/assert.js +2 -2
  106. package/lib/cjs/utils/assert.js.map +1 -1
  107. package/lib/cjs/utils/deferred.js +2 -2
  108. package/lib/cjs/utils/deferred.js.map +1 -1
  109. package/lib/cjs/utils/log.d.ts +4 -4
  110. package/lib/cjs/utils/log.js +4 -4
  111. package/lib/cjs/utils/log.js.map +1 -1
  112. package/lib/cjs/utils/processingQueue.d.ts +3 -1
  113. package/lib/cjs/utils/processingQueue.js +18 -6
  114. package/lib/cjs/utils/processingQueue.js.map +1 -1
  115. package/lib/cjs/utils/result.d.ts +23 -0
  116. package/lib/cjs/utils/result.js +19 -0
  117. package/lib/cjs/utils/result.js.map +1 -0
  118. package/lib/cjs/utils/tsconfig.tsbuildinfo +1 -1
  119. package/lib/iife/mapperTab.js +2 -2
  120. package/lib/iife/mapperTab.js.map +1 -1
  121. package/package.json +19 -18
  122. package/lib/cjs/bidiMapper/domains/network/networkRequest.js.map +0 -1
@@ -56,21 +56,24 @@ class LogManager {
56
56
  return realm.serializeCdpObject(arg, "none" /* Script.ResultOwnership.None */);
57
57
  }));
58
58
  this.#eventManager.registerPromiseEvent(argsPromise.then((args) => ({
59
- type: 'event',
60
- method: protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent,
61
- params: {
62
- level: getLogLevel(params.type),
63
- source: {
64
- realm: realm?.realmId ?? 'UNKNOWN',
65
- context: realm?.browsingContextId ?? 'UNKNOWN',
59
+ kind: 'success',
60
+ value: {
61
+ type: 'event',
62
+ method: protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent,
63
+ params: {
64
+ level: getLogLevel(params.type),
65
+ source: {
66
+ realm: realm?.realmId ?? 'UNKNOWN',
67
+ context: realm?.browsingContextId ?? 'UNKNOWN',
68
+ },
69
+ text: (0, logHelper_js_1.getRemoteValuesText)(args, true),
70
+ timestamp: Math.round(params.timestamp),
71
+ stackTrace: getBidiStackTrace(params.stackTrace),
72
+ type: 'console',
73
+ // Console method is `warn`, not `warning`.
74
+ method: params.type === 'warning' ? 'warn' : params.type,
75
+ args,
66
76
  },
67
- text: (0, logHelper_js_1.getRemoteValuesText)(args, true),
68
- timestamp: Math.round(params.timestamp),
69
- stackTrace: getBidiStackTrace(params.stackTrace),
70
- type: 'console',
71
- // Console method is `warn`, not `warning`.
72
- method: params.type === 'warning' ? 'warn' : params.type,
73
- args,
74
77
  },
75
78
  })), realm?.browsingContextId ?? 'UNKNOWN', protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent);
76
79
  });
@@ -92,18 +95,21 @@ class LogManager {
92
95
  return realm.stringifyObject(params.exceptionDetails.exception);
93
96
  })();
94
97
  this.#eventManager.registerPromiseEvent(textPromise.then((text) => ({
95
- type: 'event',
96
- method: protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent,
97
- params: {
98
- level: "error" /* Log.Level.Error */,
99
- source: {
100
- realm: realm?.realmId ?? 'UNKNOWN',
101
- context: realm?.browsingContextId ?? 'UNKNOWN',
98
+ kind: 'success',
99
+ value: {
100
+ type: 'event',
101
+ method: protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent,
102
+ params: {
103
+ level: "error" /* Log.Level.Error */,
104
+ source: {
105
+ realm: realm?.realmId ?? 'UNKNOWN',
106
+ context: realm?.browsingContextId ?? 'UNKNOWN',
107
+ },
108
+ text,
109
+ timestamp: Math.round(params.timestamp),
110
+ stackTrace: getBidiStackTrace(params.exceptionDetails.stackTrace),
111
+ type: 'javascript',
102
112
  },
103
- text,
104
- timestamp: Math.round(params.timestamp),
105
- stackTrace: getBidiStackTrace(params.exceptionDetails.stackTrace),
106
- type: 'javascript',
107
113
  },
108
114
  })), realm?.browsingContextId ?? 'UNKNOWN', protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent);
109
115
  });
@@ -1 +1 @@
1
- {"version":3,"file":"logManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/log/logManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/log/logManager.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
- import type { ICdpClient } from '../../../cdp/cdpClient.js';
2
- import type { IEventManager } from '../events/EventManager.js';
1
+ import type { CdpTarget } from '../context/cdpTarget.js';
2
+ import type { NetworkStorage } from './NetworkStorage.js';
3
+ /** Maps 1:1 to CdpTarget. */
3
4
  export declare class NetworkManager {
4
5
  #private;
5
6
  private constructor();
6
- static create(cdpClient: ICdpClient, eventManager: IEventManager): NetworkManager;
7
- dispose(): void;
7
+ /** Returns the CDP Target associated with this NetworkManager instance. */
8
+ get cdpTarget(): CdpTarget;
9
+ static create(cdpTarget: CdpTarget, networkStorage: NetworkStorage): NetworkManager;
8
10
  }
@@ -17,80 +17,75 @@
17
17
  */
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.NetworkManager = void 0;
20
- const DefaultMap_js_1 = require("../../../utils/DefaultMap.js");
21
- const networkRequest_js_1 = require("./networkRequest.js");
20
+ /** Maps 1:1 to CdpTarget. */
22
21
  class NetworkManager {
23
- #eventManager;
24
- /**
25
- * Map of request ID to NetworkRequest objects. Needed as long as information
26
- * about requests comes from different events.
27
- */
28
- #requestMap;
29
- constructor(eventManager) {
30
- this.#eventManager = eventManager;
31
- this.#requestMap = new DefaultMap_js_1.DefaultMap((requestId) => new networkRequest_js_1.NetworkRequest(requestId, this.#eventManager));
22
+ #cdpTarget;
23
+ #networkStorage;
24
+ constructor(cdpTarget, networkStorage) {
25
+ this.#cdpTarget = cdpTarget;
26
+ this.#networkStorage = networkStorage;
32
27
  }
33
- static create(cdpClient, eventManager) {
34
- const networkProcessor = new NetworkManager(eventManager);
35
- cdpClient
28
+ /** Returns the CDP Target associated with this NetworkManager instance. */
29
+ get cdpTarget() {
30
+ return this.#cdpTarget;
31
+ }
32
+ static create(cdpTarget, networkStorage) {
33
+ const networkManager = new NetworkManager(cdpTarget, networkStorage);
34
+ // XXX: This will work if a single page is open but what if we open 2 pages?
35
+ // Investigate further.
36
+ cdpTarget.cdpClient
36
37
  .browserClient()
37
38
  .on('Target.detachedFromTarget', (params) => {
38
- if (cdpClient.sessionId === params.sessionId) {
39
- networkProcessor.dispose();
39
+ if (cdpTarget.cdpClient.sessionId === params.sessionId) {
40
+ networkManager.#networkStorage.disposeRequestMap();
40
41
  }
41
42
  });
42
- cdpClient.on('Network.requestWillBeSent', (params) => {
43
- networkProcessor
43
+ cdpTarget.cdpClient.on('Network.requestWillBeSent', (params) => {
44
+ networkManager
44
45
  .#getOrCreateNetworkRequest(params.requestId)
45
46
  .onRequestWillBeSentEvent(params);
46
47
  });
47
- cdpClient.on('Network.requestWillBeSentExtraInfo', (params) => {
48
- networkProcessor
48
+ cdpTarget.cdpClient.on('Network.requestWillBeSentExtraInfo', (params) => {
49
+ networkManager
49
50
  .#getOrCreateNetworkRequest(params.requestId)
50
51
  .onRequestWillBeSentExtraInfoEvent(params);
51
52
  });
52
- cdpClient.on('Network.responseReceived', (params) => {
53
- networkProcessor
53
+ cdpTarget.cdpClient.on('Network.responseReceived', (params) => {
54
+ networkManager
54
55
  .#getOrCreateNetworkRequest(params.requestId)
55
56
  .onResponseReceivedEvent(params);
56
57
  });
57
- cdpClient.on('Network.responseReceivedExtraInfo', (params) => {
58
- networkProcessor
58
+ cdpTarget.cdpClient.on('Network.responseReceivedExtraInfo', (params) => {
59
+ networkManager
59
60
  .#getOrCreateNetworkRequest(params.requestId)
60
61
  .onResponseReceivedEventExtraInfo(params);
61
62
  });
62
- cdpClient.on('Network.requestServedFromCache', (params) => {
63
- networkProcessor
63
+ cdpTarget.cdpClient.on('Network.requestServedFromCache', (params) => {
64
+ networkManager
64
65
  .#getOrCreateNetworkRequest(params.requestId)
65
66
  .onServedFromCache();
66
67
  });
67
- cdpClient.on('Network.loadingFailed', (params) => {
68
- networkProcessor
68
+ cdpTarget.cdpClient.on('Network.loadingFailed', (params) => {
69
+ networkManager
69
70
  .#getOrCreateNetworkRequest(params.requestId)
70
71
  .onLoadingFailedEvent(params);
71
- networkProcessor.#forgetRequest(params.requestId);
72
+ networkManager.#forgetRequest(params.requestId);
72
73
  });
73
- cdpClient.on('Network.loadingFinished', (params) => {
74
- networkProcessor.#forgetRequest(params.requestId);
74
+ cdpTarget.cdpClient.on('Network.loadingFinished', (params) => {
75
+ networkManager.#forgetRequest(params.requestId);
75
76
  });
76
- return networkProcessor;
77
- }
78
- dispose() {
79
- for (const request of this.#requestMap.values()) {
80
- request.dispose();
81
- }
82
- this.#requestMap.clear();
83
- }
84
- #getOrCreateNetworkRequest(requestId) {
85
- return this.#requestMap.get(requestId);
77
+ return networkManager;
86
78
  }
87
79
  #forgetRequest(requestId) {
88
- const request = this.#requestMap.get(requestId);
80
+ const request = this.#networkStorage.requestMap.get(requestId);
89
81
  if (request) {
90
82
  request.dispose();
91
- this.#requestMap.delete(requestId);
83
+ this.#networkStorage.requestMap.delete(requestId);
92
84
  }
93
85
  }
86
+ #getOrCreateNetworkRequest(requestId) {
87
+ return this.#networkStorage.requestMap.get(requestId);
88
+ }
94
89
  }
95
90
  exports.NetworkManager = NetworkManager;
96
91
  //# sourceMappingURL=NetworkManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/network/NetworkManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NetworkManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/network/NetworkManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
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 Network, type EmptyResult } from '../../../protocol/protocol.js';
18
+ import type { BrowsingContextStorage } from '../context/browsingContextStorage.js';
19
+ import type { NetworkStorage } from './NetworkStorage.js';
20
+ /** Dispatches Network domain commands. */
21
+ export declare class NetworkProcessor {
22
+ #private;
23
+ constructor(browsingContextStorage: BrowsingContextStorage, networkStorage: NetworkStorage);
24
+ /** Applies all existing network intercepts to all CDP targets concurrently. */
25
+ applyIntercepts(): Promise<void>;
26
+ addIntercept(params: Network.AddInterceptParameters): Promise<Network.AddInterceptResult>;
27
+ continueRequest(_params: Network.ContinueRequestParameters): EmptyResult;
28
+ continueResponse(_params: Network.ContinueResponseParameters): EmptyResult;
29
+ continueWithAuth(_params: Network.ContinueWithAuthParameters): EmptyResult;
30
+ failRequest(_params: Network.FailRequestParameters): EmptyResult;
31
+ provideResponse(_params: Network.ProvideResponseParameters): EmptyResult;
32
+ removeIntercept(params: Network.RemoveInterceptParameters): Promise<EmptyResult>;
33
+ }
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NetworkProcessor = void 0;
4
+ /**
5
+ * Copyright 2023 Google LLC.
6
+ * Copyright (c) Microsoft Corporation.
7
+ *
8
+ * Licensed under the Apache License, Version 2.0 (the "License");
9
+ * you may not use this file except in compliance with the License.
10
+ * You may obtain a copy of the License at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing, software
15
+ * distributed under the License is distributed on an "AS IS" BASIS,
16
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ * See the License for the specific language governing permissions and
18
+ * limitations under the License.
19
+ */
20
+ const protocol_js_1 = require("../../../protocol/protocol.js");
21
+ /** Dispatches Network domain commands. */
22
+ class NetworkProcessor {
23
+ #browsingContextStorage;
24
+ #networkStorage;
25
+ constructor(browsingContextStorage, networkStorage) {
26
+ this.#browsingContextStorage = browsingContextStorage;
27
+ this.#networkStorage = networkStorage;
28
+ }
29
+ /** Applies all existing network intercepts to all CDP targets concurrently. */
30
+ async applyIntercepts() {
31
+ await Promise.all(this.#browsingContextStorage.getAllContexts().map(async (context) => {
32
+ await context.cdpTarget.fetchApply();
33
+ }));
34
+ }
35
+ async addIntercept(params) {
36
+ if (params.phases.length === 0) {
37
+ throw new protocol_js_1.InvalidArgumentException('At least one phase must be specified.');
38
+ }
39
+ // TODO: Parse the pattern. Should fix a WPT test with the "foo" string.
40
+ const urlPatterns = params.urlPatterns ?? [];
41
+ const intercept = this.#networkStorage.addIntercept({
42
+ urlPatterns,
43
+ phases: params.phases,
44
+ });
45
+ // TODO: Add try/catch. Remove the intercept if CDP Fetch commands fail.
46
+ await this.applyIntercepts();
47
+ return {
48
+ intercept,
49
+ };
50
+ }
51
+ continueRequest(_params) {
52
+ throw new protocol_js_1.UnknownCommandException('Not implemented yet.');
53
+ }
54
+ continueResponse(_params) {
55
+ throw new protocol_js_1.UnknownCommandException('Not implemented yet.');
56
+ }
57
+ continueWithAuth(_params) {
58
+ throw new protocol_js_1.UnknownCommandException('Not implemented yet.');
59
+ }
60
+ failRequest(_params) {
61
+ throw new protocol_js_1.UnknownCommandException('Not implemented yet.');
62
+ }
63
+ provideResponse(_params) {
64
+ throw new protocol_js_1.UnknownCommandException('Not implemented yet.');
65
+ }
66
+ async removeIntercept(params) {
67
+ this.#networkStorage.removeIntercept(params.intercept);
68
+ // TODO: Add try/catch. Remove the intercept if CDP Fetch commands fail.
69
+ await this.applyIntercepts();
70
+ return {};
71
+ }
72
+ }
73
+ exports.NetworkProcessor = NetworkProcessor;
74
+ //# sourceMappingURL=NetworkProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/network/NetworkProcessor.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;GAeG;AACH,+DAKuC;AAKvC,0CAA0C;AAC1C,MAAa,gBAAgB;IAClB,uBAAuB,CAAyB;IAChD,eAAe,CAAiB;IAEzC,YACE,sBAA8C,EAC9C,cAA8B;QAE9B,IAAI,CAAC,uBAAuB,GAAG,sBAAsB,CAAC;QACtD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,eAAe;QACnB,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,uBAAuB,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAClE,MAAM,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QACvC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAAsC;QAEtC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,sCAAwB,CAChC,uCAAuC,CACxC,CAAC;SACH;QAED,wEAAwE;QACxE,MAAM,WAAW,GAAyB,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QAEnE,MAAM,SAAS,GAAsB,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;YACrE,WAAW;YACX,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QAEH,wEAAwE;QACxE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE7B,OAAO;YACL,SAAS;SACV,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,OAA0C;QACxD,MAAM,IAAI,qCAAuB,CAAC,sBAAsB,CAAC,CAAC;IAC5D,CAAC;IAED,gBAAgB,CAAC,OAA2C;QAC1D,MAAM,IAAI,qCAAuB,CAAC,sBAAsB,CAAC,CAAC;IAC5D,CAAC;IAED,gBAAgB,CAAC,OAA2C;QAC1D,MAAM,IAAI,qCAAuB,CAAC,sBAAsB,CAAC,CAAC;IAC5D,CAAC;IAED,WAAW,CAAC,OAAsC;QAChD,MAAM,IAAI,qCAAuB,CAAC,sBAAsB,CAAC,CAAC;IAC5D,CAAC;IAED,eAAe,CAAC,OAA0C;QACxD,MAAM,IAAI,qCAAuB,CAAC,sBAAsB,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAAyC;QAEzC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEvD,wEAAwE;QACxE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE7B,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AA5ED,4CA4EC"}
@@ -3,8 +3,9 @@
3
3
  * track of all the related CDP events.
4
4
  */
5
5
  import type Protocol from 'devtools-protocol';
6
- import type { IEventManager } from '../events/EventManager.js';
6
+ import type { EventManager } from '../events/EventManager.js';
7
7
  import { type Network } from '../../../protocol/protocol.js';
8
+ /** Abstracts one individual network request. */
8
9
  export declare class NetworkRequest {
9
10
  #private;
10
11
  /**
@@ -15,7 +16,7 @@ export declare class NetworkRequest {
15
16
  * request that initiated it.
16
17
  */
17
18
  readonly requestId: Network.Request;
18
- constructor(requestId: Network.Request, eventManager: IEventManager);
19
+ constructor(requestId: Network.Request, eventManager: EventManager);
19
20
  onRequestWillBeSentEvent(event: Protocol.Network.RequestWillBeSentEvent): void;
20
21
  onRequestWillBeSentExtraInfoEvent(event: Protocol.Network.RequestWillBeSentExtraInfoEvent): void;
21
22
  onResponseReceivedEventExtraInfo(event: Protocol.Network.ResponseReceivedExtraInfoEvent): void;
@@ -20,6 +20,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.NetworkRequest = void 0;
21
21
  const deferred_js_1 = require("../../../utils/deferred.js");
22
22
  const protocol_js_1 = require("../../../protocol/protocol.js");
23
+ /** Abstracts one individual network request. */
23
24
  class NetworkRequest {
24
25
  static #unknown = 'UNKNOWN';
25
26
  /**
@@ -50,7 +51,10 @@ class NetworkRequest {
50
51
  }
51
52
  this.#requestWillBeSentEvent = event;
52
53
  if (this.#requestWillBeSentExtraInfoEvent !== undefined) {
53
- this.#beforeRequestSentDeferred.resolve();
54
+ this.#beforeRequestSentDeferred.resolve({
55
+ kind: 'success',
56
+ value: undefined,
57
+ });
54
58
  }
55
59
  this.#sendBeforeRequestEvent();
56
60
  }
@@ -61,7 +65,10 @@ class NetworkRequest {
61
65
  }
62
66
  this.#requestWillBeSentExtraInfoEvent = event;
63
67
  if (this.#requestWillBeSentEvent !== undefined) {
64
- this.#beforeRequestSentDeferred.resolve();
68
+ this.#beforeRequestSentDeferred.resolve({
69
+ kind: 'success',
70
+ value: undefined,
71
+ });
65
72
  }
66
73
  }
67
74
  onResponseReceivedEventExtraInfo(event) {
@@ -71,7 +78,10 @@ class NetworkRequest {
71
78
  }
72
79
  this.#responseReceivedExtraInfoEvent = event;
73
80
  if (this.#responseReceivedEvent !== undefined) {
74
- this.#responseReceivedDeferred.resolve();
81
+ this.#responseReceivedDeferred.resolve({
82
+ kind: 'success',
83
+ value: undefined,
84
+ });
75
85
  }
76
86
  }
77
87
  onResponseReceivedEvent(responseReceivedEvent) {
@@ -82,27 +92,45 @@ class NetworkRequest {
82
92
  this.#responseReceivedEvent = responseReceivedEvent;
83
93
  if (!responseReceivedEvent.hasExtraInfo &&
84
94
  !this.#beforeRequestSentDeferred.isFinished) {
85
- this.#beforeRequestSentDeferred.resolve();
95
+ this.#beforeRequestSentDeferred.resolve({
96
+ kind: 'success',
97
+ value: undefined,
98
+ });
86
99
  }
87
100
  if (!responseReceivedEvent.hasExtraInfo ||
88
101
  this.#responseReceivedExtraInfoEvent !== undefined ||
89
102
  this.#servedFromCache) {
90
- this.#responseReceivedDeferred.resolve();
103
+ this.#responseReceivedDeferred.resolve({
104
+ kind: 'success',
105
+ value: undefined,
106
+ });
91
107
  }
92
108
  this.#sendResponseReceivedEvent();
93
109
  }
94
110
  onServedFromCache() {
95
111
  if (this.#requestWillBeSentEvent !== undefined) {
96
- this.#beforeRequestSentDeferred.resolve();
112
+ this.#beforeRequestSentDeferred.resolve({
113
+ kind: 'success',
114
+ value: undefined,
115
+ });
97
116
  }
98
117
  if (this.#responseReceivedEvent !== undefined) {
99
- this.#responseReceivedDeferred.resolve();
118
+ this.#responseReceivedDeferred.resolve({
119
+ kind: 'success',
120
+ value: undefined,
121
+ });
100
122
  }
101
123
  this.#servedFromCache = true;
102
124
  }
103
125
  onLoadingFailedEvent(event) {
104
- this.#beforeRequestSentDeferred.resolve();
105
- this.#responseReceivedDeferred.reject(event);
126
+ this.#beforeRequestSentDeferred.resolve({
127
+ kind: 'success',
128
+ value: undefined,
129
+ });
130
+ this.#responseReceivedDeferred.resolve({
131
+ kind: 'error',
132
+ error: new Error('Loading Failed'),
133
+ });
106
134
  this.#eventManager.registerEvent({
107
135
  type: 'event',
108
136
  method: protocol_js_1.ChromiumBidi.Network.EventNames.FetchErrorEvent,
@@ -113,12 +141,17 @@ class NetworkRequest {
113
141
  }, this.#requestWillBeSentEvent?.frameId ?? null);
114
142
  }
115
143
  dispose() {
116
- const error = new Error('Network processor detached');
117
- this.#responseReceivedDeferred.reject(error);
118
- this.#beforeRequestSentDeferred.reject(error);
144
+ const result = {
145
+ kind: 'error',
146
+ error: new Error('Network processor detached'),
147
+ };
148
+ this.#responseReceivedDeferred.resolve(result);
149
+ this.#beforeRequestSentDeferred.resolve(result);
119
150
  }
120
151
  #getBaseEventParams() {
121
152
  return {
153
+ // TODO: implement.
154
+ isBlocked: false,
122
155
  context: this.#requestWillBeSentEvent?.frameId ?? null,
123
156
  navigation: this.#getNavigationId(),
124
157
  // TODO: implement.
@@ -186,7 +219,17 @@ class NetworkRequest {
186
219
  }
187
220
  #sendBeforeRequestEvent() {
188
221
  if (!this.#isIgnoredEvent()) {
189
- this.#eventManager.registerPromiseEvent(this.#beforeRequestSentDeferred.then(() => Object.assign(this.#getBeforeRequestEvent(), { type: 'event' })), this.#requestWillBeSentEvent?.frameId ?? null, protocol_js_1.ChromiumBidi.Network.EventNames.BeforeRequestSentEvent);
222
+ this.#eventManager.registerPromiseEvent(this.#beforeRequestSentDeferred.then((result) => {
223
+ if (result.kind === 'success') {
224
+ return {
225
+ kind: 'success',
226
+ value: Object.assign(this.#getBeforeRequestEvent(), {
227
+ type: 'event',
228
+ }),
229
+ };
230
+ }
231
+ return result;
232
+ }), this.#requestWillBeSentEvent?.frameId ?? null, protocol_js_1.ChromiumBidi.Network.EventNames.BeforeRequestSentEvent);
190
233
  }
191
234
  }
192
235
  #getBeforeRequestEvent() {
@@ -205,9 +248,17 @@ class NetworkRequest {
205
248
  }
206
249
  #sendResponseReceivedEvent() {
207
250
  if (!this.#isIgnoredEvent()) {
208
- this.#eventManager.registerPromiseEvent(this.#responseReceivedDeferred.then(() => Object.assign(this.#getResponseReceivedEvent(), {
209
- type: 'event',
210
- })), this.#responseReceivedEvent?.frameId ?? null, protocol_js_1.ChromiumBidi.Network.EventNames.ResponseCompletedEvent);
251
+ this.#eventManager.registerPromiseEvent(this.#responseReceivedDeferred.then((result) => {
252
+ if (result.kind === 'success') {
253
+ return {
254
+ kind: 'success',
255
+ value: Object.assign(this.#getResponseReceivedEvent(), {
256
+ type: 'event',
257
+ }),
258
+ };
259
+ }
260
+ return result;
261
+ }), this.#responseReceivedEvent?.frameId ?? null, protocol_js_1.ChromiumBidi.Network.EventNames.ResponseCompletedEvent);
211
262
  }
212
263
  }
213
264
  #getResponseReceivedEvent() {
@@ -284,20 +335,24 @@ class NetworkRequest {
284
335
  }
285
336
  }
286
337
  static #getCookies(associatedCookies) {
287
- return associatedCookies.map((cookieInfo) => {
338
+ return associatedCookies
339
+ .filter(({ blockedReasons }) => {
340
+ return !Array.isArray(blockedReasons) || blockedReasons.length === 0;
341
+ })
342
+ .map(({ cookie }) => {
288
343
  return {
289
- name: cookieInfo.cookie.name,
344
+ name: cookie.name,
290
345
  value: {
291
346
  type: 'string',
292
- value: cookieInfo.cookie.value,
347
+ value: cookie.value,
293
348
  },
294
- domain: cookieInfo.cookie.domain,
295
- path: cookieInfo.cookie.path,
296
- expires: cookieInfo.cookie.expires,
297
- size: cookieInfo.cookie.size,
298
- httpOnly: cookieInfo.cookie.httpOnly,
299
- secure: cookieInfo.cookie.secure,
300
- sameSite: NetworkRequest.#getCookiesSameSite(cookieInfo.cookie.sameSite),
349
+ domain: cookie.domain,
350
+ path: cookie.path,
351
+ expires: cookie.expires,
352
+ size: cookie.size,
353
+ httpOnly: cookie.httpOnly,
354
+ secure: cookie.secure,
355
+ sameSite: NetworkRequest.#getCookiesSameSite(cookie.sameSite),
301
356
  };
302
357
  });
303
358
  }
@@ -313,4 +368,4 @@ class NetworkRequest {
313
368
  }
314
369
  }
315
370
  exports.NetworkRequest = NetworkRequest;
316
- //# sourceMappingURL=networkRequest.js.map
371
+ //# sourceMappingURL=NetworkRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkRequest.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/network/NetworkRequest.ts"],"names":[],"mappings":"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"}