chromium-bidi 0.4.16 → 0.4.17

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 (131) hide show
  1. package/.browser +1 -1
  2. package/README.md +11 -0
  3. package/lib/cjs/bidiMapper/BidiNoOpParser.d.ts +47 -0
  4. package/lib/cjs/bidiMapper/BidiNoOpParser.js +121 -0
  5. package/lib/cjs/bidiMapper/BidiNoOpParser.js.map +1 -0
  6. package/lib/cjs/bidiMapper/BidiParser.d.ts +46 -0
  7. package/lib/cjs/bidiMapper/BidiParser.js +19 -0
  8. package/lib/cjs/bidiMapper/BidiParser.js.map +1 -0
  9. package/lib/cjs/bidiMapper/BidiServer.d.ts +9 -9
  10. package/lib/cjs/bidiMapper/BidiServer.js.map +1 -1
  11. package/lib/cjs/bidiMapper/BidiTransport.d.ts +4 -4
  12. package/lib/cjs/bidiMapper/CommandProcessor.d.ts +7 -27
  13. package/lib/cjs/bidiMapper/CommandProcessor.js +80 -104
  14. package/lib/cjs/bidiMapper/CommandProcessor.js.map +1 -1
  15. package/lib/cjs/bidiMapper/OutgoingBidiMessage.d.ts +4 -4
  16. package/lib/cjs/bidiMapper/OutgoingBidiMessage.js.map +1 -1
  17. package/lib/cjs/bidiMapper/bidiMapper.d.ts +2 -2
  18. package/lib/cjs/bidiMapper/domains/context/PreloadScriptStorage.d.ts +3 -9
  19. package/lib/cjs/bidiMapper/domains/context/PreloadScriptStorage.js +0 -8
  20. package/lib/cjs/bidiMapper/domains/context/PreloadScriptStorage.js.map +1 -1
  21. package/lib/cjs/bidiMapper/domains/context/bidiPreloadScript.d.ts +7 -15
  22. package/lib/cjs/bidiMapper/domains/context/bidiPreloadScript.js +17 -33
  23. package/lib/cjs/bidiMapper/domains/context/bidiPreloadScript.js.map +1 -1
  24. package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.d.ts +9 -7
  25. package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js +71 -42
  26. package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js.map +1 -1
  27. package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.d.ts +20 -12
  28. package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js +105 -76
  29. package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js.map +1 -1
  30. package/lib/cjs/bidiMapper/domains/context/browsingContextStorage.d.ts +6 -6
  31. package/lib/cjs/bidiMapper/domains/context/browsingContextStorage.js +1 -1
  32. package/lib/cjs/bidiMapper/domains/context/browsingContextStorage.js.map +1 -1
  33. package/lib/cjs/bidiMapper/domains/context/cdpTarget.d.ts +6 -7
  34. package/lib/cjs/bidiMapper/domains/context/cdpTarget.js +24 -35
  35. package/lib/cjs/bidiMapper/domains/context/cdpTarget.js.map +1 -1
  36. package/lib/cjs/bidiMapper/domains/events/EventManager.d.ts +9 -9
  37. package/lib/cjs/bidiMapper/domains/events/EventManager.js +21 -4
  38. package/lib/cjs/bidiMapper/domains/events/EventManager.js.map +1 -1
  39. package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.d.ts +6 -6
  40. package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js +36 -26
  41. package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js.map +1 -1
  42. package/lib/cjs/bidiMapper/domains/input/ActionDispatcher.js +30 -24
  43. package/lib/cjs/bidiMapper/domains/input/ActionDispatcher.js.map +1 -1
  44. package/lib/cjs/bidiMapper/domains/input/InputSource.d.ts +11 -6
  45. package/lib/cjs/bidiMapper/domains/input/InputSource.js +5 -7
  46. package/lib/cjs/bidiMapper/domains/input/InputSource.js.map +1 -1
  47. package/lib/cjs/bidiMapper/domains/input/InputState.d.ts +1 -1
  48. package/lib/cjs/bidiMapper/domains/input/InputState.js +10 -10
  49. package/lib/cjs/bidiMapper/domains/input/InputState.js.map +1 -1
  50. package/lib/cjs/bidiMapper/domains/input/InputStateManager.d.ts +1 -1
  51. package/lib/cjs/bidiMapper/domains/input/InputStateManager.js +1 -1
  52. package/lib/cjs/bidiMapper/domains/input/InputStateManager.js.map +1 -1
  53. package/lib/cjs/bidiMapper/domains/log/logHelper.d.ts +3 -3
  54. package/lib/cjs/bidiMapper/domains/log/logHelper.js +5 -7
  55. package/lib/cjs/bidiMapper/domains/log/logHelper.js.map +1 -1
  56. package/lib/cjs/bidiMapper/domains/log/logManager.js +15 -15
  57. package/lib/cjs/bidiMapper/domains/log/logManager.js.map +1 -1
  58. package/lib/cjs/bidiMapper/domains/network/networkProcessor.d.ts +1 -0
  59. package/lib/cjs/bidiMapper/domains/network/networkProcessor.js +13 -0
  60. package/lib/cjs/bidiMapper/domains/network/networkProcessor.js.map +1 -1
  61. package/lib/cjs/bidiMapper/domains/network/networkRequest.d.ts +3 -2
  62. package/lib/cjs/bidiMapper/domains/network/networkRequest.js +23 -10
  63. package/lib/cjs/bidiMapper/domains/network/networkRequest.js.map +1 -1
  64. package/lib/cjs/bidiMapper/domains/script/channelProxy.d.ts +2 -3
  65. package/lib/cjs/bidiMapper/domains/script/channelProxy.js +2 -2
  66. package/lib/cjs/bidiMapper/domains/script/channelProxy.js.map +1 -1
  67. package/lib/cjs/bidiMapper/domains/script/realm.d.ts +9 -10
  68. package/lib/cjs/bidiMapper/domains/script/realm.js +11 -11
  69. package/lib/cjs/bidiMapper/domains/script/realm.js.map +1 -1
  70. package/lib/cjs/bidiMapper/domains/script/realmStorage.d.ts +2 -2
  71. package/lib/cjs/bidiMapper/domains/script/realmStorage.js +2 -2
  72. package/lib/cjs/bidiMapper/domains/script/realmStorage.js.map +1 -1
  73. package/lib/cjs/bidiMapper/domains/script/scriptEvaluator.d.ts +4 -4
  74. package/lib/cjs/bidiMapper/domains/script/scriptEvaluator.js +23 -9
  75. package/lib/cjs/bidiMapper/domains/script/scriptEvaluator.js.map +1 -1
  76. package/lib/cjs/bidiMapper/tsconfig.tsbuildinfo +1 -1
  77. package/lib/cjs/bidiServer/bidiServerRunner.js +1 -1
  78. package/lib/cjs/bidiServer/bidiServerRunner.js.map +1 -1
  79. package/lib/cjs/bidiServer/index.js +16 -15
  80. package/lib/cjs/bidiServer/index.js.map +1 -1
  81. package/lib/cjs/bidiServer/tsconfig.tsbuildinfo +1 -1
  82. package/lib/cjs/bidiTab/BidiParserImpl.d.ts +31 -0
  83. package/lib/cjs/bidiTab/BidiParserImpl.js +145 -0
  84. package/lib/cjs/bidiTab/BidiParserImpl.js.map +1 -0
  85. package/lib/cjs/bidiTab/bidiTab.js +3 -86
  86. package/lib/cjs/bidiTab/bidiTab.js.map +1 -1
  87. package/lib/cjs/bidiTab/tsconfig.tsbuildinfo +1 -1
  88. package/lib/cjs/cdp/cdpClient.d.ts +10 -0
  89. package/lib/cjs/cdp/cdpClient.js +6 -0
  90. package/lib/cjs/cdp/cdpClient.js.map +1 -1
  91. package/lib/cjs/cdp/cdpConnection.js +11 -8
  92. package/lib/cjs/cdp/cdpConnection.js.map +1 -1
  93. package/lib/cjs/cdp/tsconfig.tsbuildinfo +1 -1
  94. package/lib/cjs/protocol/ErrorResponse.d.ts +64 -0
  95. package/lib/cjs/protocol/ErrorResponse.js +117 -0
  96. package/lib/cjs/protocol/ErrorResponse.js.map +1 -0
  97. package/lib/cjs/protocol/cdp.d.ts +63 -0
  98. package/lib/cjs/protocol/cdp.js +19 -0
  99. package/lib/cjs/protocol/cdp.js.map +1 -0
  100. package/lib/cjs/protocol/chromium-bidi.d.ts +64 -0
  101. package/lib/cjs/protocol/chromium-bidi.js +71 -0
  102. package/lib/cjs/protocol/chromium-bidi.js.map +1 -0
  103. package/lib/cjs/protocol/protocol.d.ts +5 -947
  104. package/lib/cjs/protocol/protocol.js +32 -198
  105. package/lib/cjs/protocol/protocol.js.map +1 -1
  106. package/lib/cjs/protocol/tsconfig.tsbuildinfo +1 -1
  107. package/lib/cjs/protocol/webdriver-bidi.d.ts +1644 -0
  108. package/lib/cjs/protocol/webdriver-bidi.js +19 -0
  109. package/lib/cjs/protocol/webdriver-bidi.js.map +1 -0
  110. package/lib/cjs/protocol-parser/protocol-parser.d.ts +35 -218
  111. package/lib/cjs/protocol-parser/protocol-parser.js +104 -700
  112. package/lib/cjs/protocol-parser/protocol-parser.js.map +1 -1
  113. package/lib/cjs/protocol-parser/tsconfig.tsbuildinfo +1 -1
  114. package/lib/cjs/protocol-parser/webdriver-bidi.d.ts +56325 -0
  115. package/lib/cjs/protocol-parser/webdriver-bidi.js +1771 -0
  116. package/lib/cjs/protocol-parser/webdriver-bidi.js.map +1 -0
  117. package/lib/cjs/utils/EventEmitter.d.ts +7 -0
  118. package/lib/cjs/utils/EventEmitter.js +15 -0
  119. package/lib/cjs/utils/EventEmitter.js.map +1 -1
  120. package/lib/cjs/utils/buffer.d.ts +3 -5
  121. package/lib/cjs/utils/buffer.js +3 -5
  122. package/lib/cjs/utils/buffer.js.map +1 -1
  123. package/lib/cjs/utils/deferred.d.ts +1 -1
  124. package/lib/cjs/utils/deferred.js.map +1 -1
  125. package/lib/cjs/utils/idWrapper.js.map +1 -1
  126. package/lib/cjs/utils/log.js +1 -1
  127. package/lib/cjs/utils/log.js.map +1 -1
  128. package/lib/cjs/utils/tsconfig.tsbuildinfo +1 -1
  129. package/lib/iife/mapperTab.js +2 -2
  130. package/lib/iife/mapperTab.js.map +1 -1
  131. package/package.json +29 -31
package/.browser CHANGED
@@ -1 +1 @@
1
- chrome@116.0.5840.0
1
+ chrome@117.0.5875.0
package/README.md CHANGED
@@ -8,6 +8,8 @@
8
8
 
9
9
  ![Pre-commit](https://github.com/GoogleChromeLabs/chromium-bidi/actions/workflows/pre-commit.yml/badge.svg)
10
10
 
11
+ [![codecov](https://codecov.io/gh/GoogleChromeLabs/chromium-bidi/branch/main/graph/badge.svg?token=LJSXSC9L09)](https://codecov.io/gh/GoogleChromeLabs/chromium-bidi)
12
+
11
13
  This is an implementation of the
12
14
  [WebDriver BiDi](https://w3c.github.io/webdriver-bidi/) protocol with some
13
15
  extensions (**BiDi+**)
@@ -138,6 +140,15 @@ This is a Node.js project, so install dependencies as usual:
138
140
  npm install
139
141
  ```
140
142
 
143
+ ### `cargo`
144
+
145
+ <!-- TODO(jrandolf): Remove after binaries get published -->
146
+
147
+ We use [cddlconv](https://github.com/jrandolf/cddlconv) to generate our WebDriverBidi types before building.
148
+
149
+ 1. Install [Rust](https://rustup.rs/).
150
+ 2. Run `cargo install --git https://github.com/jrandolf/cddlconv.git cddlconv`
151
+
141
152
  ### pre-commit.com integration
142
153
 
143
154
  Refer to the documentation at [.pre-commit-config.yaml](.pre-commit-config.yaml).
@@ -0,0 +1,47 @@
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 { BrowsingContext, Cdp, Input, Network, Script, Session } from '../protocol/protocol.js';
18
+ import type { IBidiParser } from './BidiParser.js';
19
+ export declare class BidiNoOpParser implements IBidiParser {
20
+ parseCaptureScreenshotParams(params: unknown): BrowsingContext.CaptureScreenshotParameters;
21
+ parseCloseParams(params: unknown): BrowsingContext.CloseParameters;
22
+ parseCreateParams(params: unknown): BrowsingContext.CreateParameters;
23
+ parseGetTreeParams(params: unknown): BrowsingContext.GetTreeParameters;
24
+ parseHandleUserPromptParams(params: unknown): BrowsingContext.HandleUserPromptParameters;
25
+ parseNavigateParams(params: unknown): BrowsingContext.NavigateParameters;
26
+ parsePrintParams(params: unknown): BrowsingContext.PrintParameters;
27
+ parseReloadParams(params: unknown): BrowsingContext.ReloadParameters;
28
+ parseSetViewportParams(params: unknown): BrowsingContext.SetViewportParameters;
29
+ parseGetSessionParams(params: unknown): Cdp.GetSessionParameters;
30
+ parseSendCommandParams(params: unknown): Cdp.SendCommandParameters;
31
+ parseAddPreloadScriptParams(params: unknown): Script.AddPreloadScriptParameters;
32
+ parseCallFunctionParams(params: unknown): Script.CallFunctionParameters;
33
+ parseDisownParams(params: unknown): Script.DisownParameters;
34
+ parseEvaluateParams(params: unknown): Script.EvaluateParameters;
35
+ parseGetRealmsParams(params: unknown): Script.GetRealmsParameters;
36
+ parseRemovePreloadScriptParams(params: unknown): Script.RemovePreloadScriptParameters;
37
+ parsePerformActionsParams(params: unknown): Input.PerformActionsParameters;
38
+ parseReleaseActionsParams(params: unknown): Input.ReleaseActionsParameters;
39
+ parseAddInterceptParams(params: unknown): Network.AddInterceptParameters;
40
+ parseContinueRequestParams(params: unknown): Network.ContinueRequestParameters;
41
+ parseContinueResponseParams(params: unknown): Network.ContinueResponseParameters;
42
+ parseContinueWithAuthParams(params: unknown): Network.ContinueWithAuthParameters;
43
+ parseFailRequestParams(params: unknown): Network.FailRequestParameters;
44
+ parseProvideResponseParams(params: unknown): Network.ProvideResponseParameters;
45
+ parseRemoveInterceptParams(params: unknown): Network.RemoveInterceptParameters;
46
+ parseSubscribeParams(params: unknown): Session.SubscriptionRequest;
47
+ }
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2023 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.BidiNoOpParser = void 0;
20
+ class BidiNoOpParser {
21
+ // Browsing Context domain
22
+ // keep-sorted start block=yes
23
+ parseCaptureScreenshotParams(params) {
24
+ return params;
25
+ }
26
+ parseCloseParams(params) {
27
+ return params;
28
+ }
29
+ parseCreateParams(params) {
30
+ return params;
31
+ }
32
+ parseGetTreeParams(params) {
33
+ return params;
34
+ }
35
+ parseHandleUserPromptParams(params) {
36
+ return params;
37
+ }
38
+ parseNavigateParams(params) {
39
+ return params;
40
+ }
41
+ parsePrintParams(params) {
42
+ return params;
43
+ }
44
+ parseReloadParams(params) {
45
+ return params;
46
+ }
47
+ parseSetViewportParams(params) {
48
+ return params;
49
+ }
50
+ // keep-sorted end
51
+ // CDP domain
52
+ // keep-sorted start block=yes
53
+ parseGetSessionParams(params) {
54
+ return params;
55
+ }
56
+ parseSendCommandParams(params) {
57
+ return params;
58
+ }
59
+ // keep-sorted end
60
+ // Script domain
61
+ // keep-sorted start block=yes
62
+ parseAddPreloadScriptParams(params) {
63
+ return params;
64
+ }
65
+ parseCallFunctionParams(params) {
66
+ return params;
67
+ }
68
+ parseDisownParams(params) {
69
+ return params;
70
+ }
71
+ parseEvaluateParams(params) {
72
+ return params;
73
+ }
74
+ parseGetRealmsParams(params) {
75
+ return params;
76
+ }
77
+ parseRemovePreloadScriptParams(params) {
78
+ return params;
79
+ }
80
+ // keep-sorted end
81
+ // Input domain
82
+ // keep-sorted start block=yes
83
+ parsePerformActionsParams(params) {
84
+ return params;
85
+ }
86
+ parseReleaseActionsParams(params) {
87
+ return params;
88
+ }
89
+ // keep-sorted end
90
+ // Network domain
91
+ // keep-sorted start block=yes
92
+ parseAddInterceptParams(params) {
93
+ return params;
94
+ }
95
+ parseContinueRequestParams(params) {
96
+ return params;
97
+ }
98
+ parseContinueResponseParams(params) {
99
+ return params;
100
+ }
101
+ parseContinueWithAuthParams(params) {
102
+ return params;
103
+ }
104
+ parseFailRequestParams(params) {
105
+ return params;
106
+ }
107
+ parseProvideResponseParams(params) {
108
+ return params;
109
+ }
110
+ parseRemoveInterceptParams(params) {
111
+ return params;
112
+ }
113
+ // keep-sorted end
114
+ // Session domain
115
+ // keep-sorted start block=yes
116
+ parseSubscribeParams(params) {
117
+ return params;
118
+ }
119
+ }
120
+ exports.BidiNoOpParser = BidiNoOpParser;
121
+ //# sourceMappingURL=BidiNoOpParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BidiNoOpParser.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiNoOpParser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAaH,MAAa,cAAc;IACzB,0BAA0B;IAC1B,8BAA8B;IAC9B,4BAA4B,CAC1B,MAAe;QAEf,OAAO,MAAqD,CAAC;IAC/D,CAAC;IACD,gBAAgB,CAAC,MAAe;QAC9B,OAAO,MAAyC,CAAC;IACnD,CAAC;IACD,iBAAiB,CAAC,MAAe;QAC/B,OAAO,MAA0C,CAAC;IACpD,CAAC;IACD,kBAAkB,CAAC,MAAe;QAChC,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,2BAA2B,CACzB,MAAe;QAEf,OAAO,MAAoD,CAAC;IAC9D,CAAC;IACD,mBAAmB,CAAC,MAAe;QACjC,OAAO,MAA4C,CAAC;IACtD,CAAC;IACD,gBAAgB,CAAC,MAAe;QAC9B,OAAO,MAAyC,CAAC;IACnD,CAAC;IACD,iBAAiB,CAAC,MAAe;QAC/B,OAAO,MAA0C,CAAC;IACpD,CAAC;IACD,sBAAsB,CACpB,MAAe;QAEf,OAAO,MAA+C,CAAC;IACzD,CAAC;IACD,kBAAkB;IAElB,aAAa;IACb,8BAA8B;IAC9B,qBAAqB,CAAC,MAAe;QACnC,OAAO,MAAkC,CAAC;IAC5C,CAAC;IACD,sBAAsB,CAAC,MAAe;QACpC,OAAO,MAAmC,CAAC;IAC7C,CAAC;IACD,kBAAkB;IAElB,gBAAgB;IAChB,8BAA8B;IAC9B,2BAA2B,CACzB,MAAe;QAEf,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,uBAAuB,CAAC,MAAe;QACrC,OAAO,MAAuC,CAAC;IACjD,CAAC;IACD,iBAAiB,CAAC,MAAe;QAC/B,OAAO,MAAiC,CAAC;IAC3C,CAAC;IACD,mBAAmB,CAAC,MAAe;QACjC,OAAO,MAAmC,CAAC;IAC7C,CAAC;IACD,oBAAoB,CAAC,MAAe;QAClC,OAAO,MAAoC,CAAC;IAC9C,CAAC;IACD,8BAA8B,CAC5B,MAAe;QAEf,OAAO,MAA8C,CAAC;IACxD,CAAC;IACD,kBAAkB;IAElB,eAAe;IACf,8BAA8B;IAC9B,yBAAyB,CAAC,MAAe;QACvC,OAAO,MAAwC,CAAC;IAClD,CAAC;IACD,yBAAyB,CAAC,MAAe;QACvC,OAAO,MAAwC,CAAC;IAClD,CAAC;IACD,kBAAkB;IAElB,iBAAiB;IACjB,8BAA8B;IAC9B,uBAAuB,CAAC,MAAe;QACrC,OAAO,MAAwC,CAAC;IAClD,CAAC;IACD,0BAA0B,CACxB,MAAe;QAEf,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,2BAA2B,CACzB,MAAe;QAEf,OAAO,MAA4C,CAAC;IACtD,CAAC;IACD,2BAA2B,CACzB,MAAe;QAEf,OAAO,MAA4C,CAAC;IACtD,CAAC;IACD,sBAAsB,CAAC,MAAe;QACpC,OAAO,MAAuC,CAAC;IACjD,CAAC;IACD,0BAA0B,CACxB,MAAe;QAEf,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,0BAA0B,CACxB,MAAe;QAEf,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,kBAAkB;IAElB,iBAAiB;IACjB,8BAA8B;IAC9B,oBAAoB,CAAC,MAAe;QAClC,OAAO,MAAqC,CAAC;IAC/C,CAAC;CAEF;AA7HD,wCA6HC"}
@@ -0,0 +1,46 @@
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 { BrowsingContext, Cdp, Input, Network, Script, Session } from '../protocol/protocol.js';
18
+ export interface IBidiParser {
19
+ parseCaptureScreenshotParams(params: unknown): BrowsingContext.CaptureScreenshotParameters;
20
+ parseCloseParams(params: unknown): BrowsingContext.CloseParameters;
21
+ parseCreateParams(params: unknown): BrowsingContext.CreateParameters;
22
+ parseGetTreeParams(params: unknown): BrowsingContext.GetTreeParameters;
23
+ parseHandleUserPromptParams(params: unknown): BrowsingContext.HandleUserPromptParameters;
24
+ parseNavigateParams(params: unknown): BrowsingContext.NavigateParameters;
25
+ parsePrintParams(params: unknown): BrowsingContext.PrintParameters;
26
+ parseReloadParams(params: unknown): BrowsingContext.ReloadParameters;
27
+ parseSetViewportParams(params: unknown): BrowsingContext.SetViewportParameters;
28
+ parseGetSessionParams(params: unknown): Cdp.GetSessionParameters;
29
+ parseSendCommandParams(params: unknown): Cdp.SendCommandParameters;
30
+ parsePerformActionsParams(params: unknown): Input.PerformActionsParameters;
31
+ parseReleaseActionsParams(params: unknown): Input.ReleaseActionsParameters;
32
+ parseAddInterceptParams(params: unknown): Network.AddInterceptParameters;
33
+ parseContinueRequestParams(params: unknown): Network.ContinueRequestParameters;
34
+ parseContinueResponseParams(params: unknown): Network.ContinueResponseParameters;
35
+ parseContinueWithAuthParams(params: unknown): Network.ContinueWithAuthParameters;
36
+ parseFailRequestParams(params: unknown): Network.FailRequestParameters;
37
+ parseProvideResponseParams(params: unknown): Network.ProvideResponseParameters;
38
+ parseRemoveInterceptParams(params: unknown): Network.RemoveInterceptParameters;
39
+ parseAddPreloadScriptParams(params: unknown): Script.AddPreloadScriptParameters;
40
+ parseCallFunctionParams(params: unknown): Script.CallFunctionParameters;
41
+ parseDisownParams(params: unknown): Script.DisownParameters;
42
+ parseEvaluateParams(params: unknown): Script.EvaluateParameters;
43
+ parseGetRealmsParams(params: unknown): Script.GetRealmsParameters;
44
+ parseRemovePreloadScriptParams(params: unknown): Script.RemovePreloadScriptParameters;
45
+ parseSubscribeParams(params: unknown): Session.SubscriptionRequest;
46
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2023 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
+ //# sourceMappingURL=BidiParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BidiParser.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiParser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG"}
@@ -14,21 +14,21 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
+ import type { ICdpConnection } from '../cdp/cdpConnection.js';
18
+ import type { ChromiumBidi } from '../protocol/protocol.js';
17
19
  import { EventEmitter } from '../utils/EventEmitter.js';
18
20
  import { type LoggerFn } from '../utils/log.js';
19
- import type { Message } from '../protocol/protocol.js';
20
- import type { ICdpConnection } from '../cdp/cdpConnection.js';
21
- import { type BidiParser } from './CommandProcessor.js';
22
- import type { BidiTransport } from './BidiTransport.js';
23
- import { BrowsingContextStorage } from './domains/context/browsingContextStorage.js';
21
+ import type { IBidiParser } from './BidiParser.js';
22
+ import type { IBidiTransport } from './BidiTransport.js';
24
23
  import type { OutgoingBidiMessage } from './OutgoingBidiMessage.js';
25
- type BidiServerEvents = {
26
- message: Message.RawCommandRequest;
24
+ import { BrowsingContextStorage } from './domains/context/browsingContextStorage.js';
25
+ type BidiServerEvent = {
26
+ message: ChromiumBidi.Command;
27
27
  };
28
- export declare class BidiServer extends EventEmitter<BidiServerEvents> {
28
+ export declare class BidiServer extends EventEmitter<BidiServerEvent> {
29
29
  #private;
30
30
  private constructor();
31
- static createAndStart(bidiTransport: BidiTransport, cdpConnection: ICdpConnection, selfTargetId: string, parser?: BidiParser, logger?: LoggerFn): Promise<BidiServer>;
31
+ static createAndStart(bidiTransport: IBidiTransport, cdpConnection: ICdpConnection, selfTargetId: string, parser?: IBidiParser, logger?: LoggerFn): Promise<BidiServer>;
32
32
  topLevelContextsLoaded(): Promise<void>;
33
33
  /**
34
34
  * Sends BiDi message.
@@ -1 +1 @@
1
- {"version":3,"file":"BidiServer.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BidiServer.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiServer.ts"],"names":[],"mappings":"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"}
@@ -14,9 +14,9 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- import type { Message } from '../protocol/protocol.js';
18
- export interface BidiTransport {
19
- setOnMessage: (handler: (message: Message.RawCommandRequest) => Promise<void> | void) => void;
20
- sendMessage: (message: Message.OutgoingMessage) => Promise<void> | void;
17
+ import type { ChromiumBidi } from '../protocol/protocol.js';
18
+ export interface IBidiTransport {
19
+ setOnMessage: (handler: (message: ChromiumBidi.Command) => Promise<void> | void) => void;
20
+ sendMessage: (message: ChromiumBidi.Message) => Promise<void> | void;
21
21
  close(): void;
22
22
  }
@@ -14,41 +14,21 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- import { type BrowsingContext, type Cdp, type Input, Message, type Script, type Session } from '../protocol/protocol.js';
18
- import { type LoggerFn } from '../utils/log.js';
19
- import { EventEmitter } from '../utils/EventEmitter.js';
20
17
  import type { ICdpConnection } from '../cdp/cdpConnection.js';
18
+ import { type ChromiumBidi } from '../protocol/protocol.js';
19
+ import { EventEmitter } from '../utils/EventEmitter.js';
20
+ import { type LoggerFn } from '../utils/log.js';
21
+ import type { IBidiParser } from './BidiParser.js';
22
+ import { OutgoingBidiMessage } from './OutgoingBidiMessage.js';
21
23
  import type { BrowsingContextStorage } from './domains/context/browsingContextStorage.js';
22
24
  import type { IEventManager } from './domains/events/EventManager.js';
23
- import { OutgoingBidiMessage } from './OutgoingBidiMessage.js';
24
25
  import type { RealmStorage } from './domains/script/realmStorage.js';
25
26
  type CommandProcessorEvents = {
26
27
  response: Promise<OutgoingBidiMessage>;
27
28
  };
28
- export interface BidiParser {
29
- parseAddPreloadScriptParams(params: object): Script.AddPreloadScriptParameters;
30
- parseRemovePreloadScriptParams(params: object): Script.RemovePreloadScriptParameters;
31
- parseGetRealmsParams(params: object): Script.GetRealmsParameters;
32
- parseCallFunctionParams(params: object): Script.CallFunctionParameters;
33
- parseEvaluateParams(params: object): Script.EvaluateParameters;
34
- parseDisownParams(params: object): Script.DisownParameters;
35
- parseSendCommandParams(params: object): Cdp.SendCommandParams;
36
- parseGetSessionParams(params: object): Cdp.GetSessionParams;
37
- parseSubscribeParams(params: object): Session.SubscriptionRequest;
38
- parseNavigateParams(params: object): BrowsingContext.NavigateParameters;
39
- parseReloadParams(params: object): BrowsingContext.ReloadParameters;
40
- parseGetTreeParams(params: object): BrowsingContext.GetTreeParameters;
41
- parseCreateParams(params: object): BrowsingContext.CreateParameters;
42
- parseCloseParams(params: object): BrowsingContext.CloseParameters;
43
- parseCaptureScreenshotParams(params: object): BrowsingContext.CaptureScreenshotParameters;
44
- parsePrintParams(params: object): BrowsingContext.PrintParameters;
45
- parseSetViewportParams(params: object): BrowsingContext.SetViewportParameters;
46
- parsePerformActionsParams(params: object): Input.PerformActionsParameters;
47
- parseReleaseActionsParams(params: object): Input.ReleaseActionsParameters;
48
- }
49
29
  export declare class CommandProcessor extends EventEmitter<CommandProcessorEvents> {
50
30
  #private;
51
- constructor(cdpConnection: ICdpConnection, eventManager: IEventManager, selfTargetId: string, parser: BidiParser | undefined, browsingContextStorage: BrowsingContextStorage, realmStorage: RealmStorage, logger?: LoggerFn);
52
- processCommand(command: Message.RawCommandRequest): Promise<void>;
31
+ constructor(cdpConnection: ICdpConnection, eventManager: IEventManager, selfTargetId: string, parser: IBidiParser | undefined, browsingContextStorage: BrowsingContextStorage, realmStorage: RealmStorage, logger?: LoggerFn);
32
+ processCommand(command: ChromiumBidi.Command): Promise<void>;
53
33
  }
54
34
  export {};
@@ -18,75 +18,17 @@
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.CommandProcessor = void 0;
20
20
  const protocol_js_1 = require("../protocol/protocol.js");
21
- const log_js_1 = require("../utils/log.js");
22
21
  const EventEmitter_js_1 = require("../utils/EventEmitter.js");
23
- const browsingContextProcessor_js_1 = require("./domains/context/browsingContextProcessor.js");
22
+ const log_js_1 = require("../utils/log.js");
23
+ const BidiNoOpParser_js_1 = require("./BidiNoOpParser.js");
24
24
  const OutgoingBidiMessage_js_1 = require("./OutgoingBidiMessage.js");
25
- class BidiNoOpParser {
26
- parseAddPreloadScriptParams(params) {
27
- return params;
28
- }
29
- parseRemovePreloadScriptParams(params) {
30
- return params;
31
- }
32
- parseGetRealmsParams(params) {
33
- return params;
34
- }
35
- parseCallFunctionParams(params) {
36
- return params;
37
- }
38
- parseEvaluateParams(params) {
39
- return params;
40
- }
41
- parseDisownParams(params) {
42
- return params;
43
- }
44
- parseSendCommandParams(params) {
45
- return params;
46
- }
47
- parseGetSessionParams(params) {
48
- return params;
49
- }
50
- parseSubscribeParams(params) {
51
- return params;
52
- }
53
- parseNavigateParams(params) {
54
- return params;
55
- }
56
- parseReloadParams(params) {
57
- return params;
58
- }
59
- parseGetTreeParams(params) {
60
- return params;
61
- }
62
- parseCreateParams(params) {
63
- return params;
64
- }
65
- parseCloseParams(params) {
66
- return params;
67
- }
68
- parseCaptureScreenshotParams(params) {
69
- return params;
70
- }
71
- parsePrintParams(params) {
72
- return params;
73
- }
74
- parsePerformActionsParams(params) {
75
- return params;
76
- }
77
- parseReleaseActionsParams(params) {
78
- return params;
79
- }
80
- parseSetViewportParams(params) {
81
- return params;
82
- }
83
- }
25
+ const browsingContextProcessor_js_1 = require("./domains/context/browsingContextProcessor.js");
84
26
  class CommandProcessor extends EventEmitter_js_1.EventEmitter {
85
27
  #contextProcessor;
86
28
  #eventManager;
87
29
  #parser;
88
30
  #logger;
89
- constructor(cdpConnection, eventManager, selfTargetId, parser = new BidiNoOpParser(), browsingContextStorage, realmStorage, logger) {
31
+ constructor(cdpConnection, eventManager, selfTargetId, parser = new BidiNoOpParser_js_1.BidiNoOpParser(), browsingContextStorage, realmStorage, logger) {
90
32
  super();
91
33
  this.#eventManager = eventManager;
92
34
  this.#logger = logger;
@@ -94,84 +36,118 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
94
36
  this.#parser = parser;
95
37
  }
96
38
  static #process_session_status() {
97
- return { result: { ready: false, message: 'already connected' } };
39
+ return { ready: false, message: 'already connected' };
98
40
  }
99
41
  async #process_session_subscribe(params, channel) {
100
42
  await this.#eventManager.subscribe(params.events, params.contexts ?? [null], channel);
101
- return { result: {} };
43
+ return {};
102
44
  }
103
45
  async #process_session_unsubscribe(params, channel) {
104
46
  await this.#eventManager.unsubscribe(params.events, params.contexts ?? [null], channel);
105
- return { result: {} };
47
+ return {};
106
48
  }
107
- async #processCommand(commandData) {
108
- switch (commandData.method) {
109
- case 'session.status':
110
- return CommandProcessor.#process_session_status();
111
- case 'session.subscribe':
112
- return this.#process_session_subscribe(this.#parser.parseSubscribeParams(commandData.params), commandData.channel ?? null);
113
- case 'session.unsubscribe':
114
- return this.#process_session_unsubscribe(this.#parser.parseSubscribeParams(commandData.params), commandData.channel ?? null);
115
- case 'browsingContext.create':
116
- return this.#contextProcessor.process_browsingContext_create(this.#parser.parseCreateParams(commandData.params));
49
+ async #processCommand(command) {
50
+ switch (command.method) {
51
+ // Browsing Context domain
52
+ // keep-sorted start block=yes
53
+ case 'browsingContext.captureScreenshot':
54
+ return this.#contextProcessor.process_browsingContext_captureScreenshot(this.#parser.parseCaptureScreenshotParams(command.params));
117
55
  case 'browsingContext.close':
118
- return this.#contextProcessor.process_browsingContext_close(this.#parser.parseCloseParams(commandData.params));
56
+ return this.#contextProcessor.process_browsingContext_close(this.#parser.parseCloseParams(command.params));
57
+ case 'browsingContext.create':
58
+ return this.#contextProcessor.process_browsingContext_create(this.#parser.parseCreateParams(command.params));
119
59
  case 'browsingContext.getTree':
120
- return this.#contextProcessor.process_browsingContext_getTree(this.#parser.parseGetTreeParams(commandData.params));
60
+ return this.#contextProcessor.process_browsingContext_getTree(this.#parser.parseGetTreeParams(command.params));
61
+ case 'browsingContext.handleUserPrompt':
62
+ return this.#contextProcessor.process_browsingContext_handleUserPrompt(this.#parser.parseHandleUserPromptParams(command.params));
121
63
  case 'browsingContext.navigate':
122
- return this.#contextProcessor.process_browsingContext_navigate(this.#parser.parseNavigateParams(commandData.params));
123
- case 'browsingContext.captureScreenshot':
124
- return this.#contextProcessor.process_browsingContext_captureScreenshot(this.#parser.parseCaptureScreenshotParams(commandData.params));
64
+ return this.#contextProcessor.process_browsingContext_navigate(this.#parser.parseNavigateParams(command.params));
125
65
  case 'browsingContext.print':
126
- return this.#contextProcessor.process_browsingContext_print(this.#parser.parsePrintParams(commandData.params));
66
+ return this.#contextProcessor.process_browsingContext_print(this.#parser.parsePrintParams(command.params));
127
67
  case 'browsingContext.reload':
128
- return this.#contextProcessor.process_browsingContext_reload(this.#parser.parseReloadParams(commandData.params));
68
+ return this.#contextProcessor.process_browsingContext_reload(this.#parser.parseReloadParams(command.params));
129
69
  case 'browsingContext.setViewport':
130
- return this.#contextProcessor.process_browsingContext_setViewport(this.#parser.parseSetViewportParams(commandData.params));
70
+ return this.#contextProcessor.process_browsingContext_setViewport(this.#parser.parseSetViewportParams(command.params));
71
+ // keep-sorted end
72
+ // CDP domain
73
+ // keep-sorted start block=yes
74
+ case 'cdp.getSession':
75
+ return this.#contextProcessor.process_cdp_getSession(this.#parser.parseGetSessionParams(command.params));
76
+ case 'cdp.sendCommand':
77
+ return this.#contextProcessor.process_cdp_sendCommand(this.#parser.parseSendCommandParams(command.params));
78
+ // keep-sorted end
79
+ // Input domain
80
+ // keep-sorted start block=yes
81
+ case 'input.performActions':
82
+ return this.#contextProcessor.process_input_performActions(this.#parser.parsePerformActionsParams(command.params));
83
+ case 'input.releaseActions':
84
+ return this.#contextProcessor.process_input_releaseActions(this.#parser.parseReleaseActionsParams(command.params));
85
+ // keep-sorted end
86
+ // Network domain
87
+ // keep-sorted start block=yes
88
+ case 'network.addIntercept':
89
+ return this.#contextProcessor.process_network_addIntercept(this.#parser.parseAddInterceptParams(command.params));
90
+ case 'network.continueRequest':
91
+ return this.#contextProcessor.process_network_continueRequest(this.#parser.parseContinueRequestParams(command.params));
92
+ case 'network.continueResponse':
93
+ return this.#contextProcessor.process_network_continueResponse(this.#parser.parseContinueResponseParams(command.params));
94
+ case 'network.continueWithAuth':
95
+ return this.#contextProcessor.process_network_continueWithAuth(this.#parser.parseContinueWithAuthParams(command.params));
96
+ case 'network.failRequest':
97
+ return this.#contextProcessor.process_network_failRequest(this.#parser.parseFailRequestParams(command.params));
98
+ case 'network.provideResponse':
99
+ return this.#contextProcessor.process_network_provideResponse(this.#parser.parseProvideResponseParams(command.params));
100
+ case 'network.removeIntercept':
101
+ return this.#contextProcessor.process_network_removeIntercept(this.#parser.parseRemoveInterceptParams(command.params));
102
+ // keep-sorted end
103
+ // Script domain
104
+ // keep-sorted start block=yes
131
105
  case 'script.addPreloadScript':
132
- return this.#contextProcessor.process_script_addPreloadScript(this.#parser.parseAddPreloadScriptParams(commandData.params));
133
- case 'script.removePreloadScript':
134
- return this.#contextProcessor.process_script_removePreloadScript(this.#parser.parseRemovePreloadScriptParams(commandData.params));
135
- case 'script.getRealms':
136
- return this.#contextProcessor.process_script_getRealms(this.#parser.parseGetRealmsParams(commandData.params));
106
+ return this.#contextProcessor.process_script_addPreloadScript(this.#parser.parseAddPreloadScriptParams(command.params));
137
107
  case 'script.callFunction':
138
- return this.#contextProcessor.process_script_callFunction(this.#parser.parseCallFunctionParams(commandData.params));
139
- case 'script.evaluate':
140
- return this.#contextProcessor.process_script_evaluate(this.#parser.parseEvaluateParams(commandData.params));
108
+ return this.#contextProcessor.process_script_callFunction(this.#parser.parseCallFunctionParams(command.params));
141
109
  case 'script.disown':
142
- return this.#contextProcessor.process_script_disown(this.#parser.parseDisownParams(commandData.params));
143
- case 'input.performActions':
144
- return this.#contextProcessor.process_input_performActions(this.#parser.parsePerformActionsParams(commandData.params));
145
- case 'input.releaseActions':
146
- return this.#contextProcessor.process_input_releaseActions(this.#parser.parseReleaseActionsParams(commandData.params));
147
- case 'cdp.sendCommand':
148
- return this.#contextProcessor.process_cdp_sendCommand(this.#parser.parseSendCommandParams(commandData.params));
149
- case 'cdp.getSession':
150
- return this.#contextProcessor.process_cdp_getSession(this.#parser.parseGetSessionParams(commandData.params));
110
+ return this.#contextProcessor.process_script_disown(this.#parser.parseDisownParams(command.params));
111
+ case 'script.evaluate':
112
+ return this.#contextProcessor.process_script_evaluate(this.#parser.parseEvaluateParams(command.params));
113
+ case 'script.getRealms':
114
+ return this.#contextProcessor.process_script_getRealms(this.#parser.parseGetRealmsParams(command.params));
115
+ case 'script.removePreloadScript':
116
+ return this.#contextProcessor.process_script_removePreloadScript(this.#parser.parseRemovePreloadScriptParams(command.params));
117
+ // keep-sorted end
118
+ // Session domain
119
+ // keep-sorted start block=yes
120
+ case 'session.status':
121
+ return CommandProcessor.#process_session_status();
122
+ case 'session.subscribe':
123
+ return this.#process_session_subscribe(this.#parser.parseSubscribeParams(command.params), command.channel ?? null);
124
+ case 'session.unsubscribe':
125
+ return this.#process_session_unsubscribe(this.#parser.parseSubscribeParams(command.params), command.channel ?? null);
126
+ // keep-sorted end
151
127
  }
152
128
  // Intentionally kept outside of the switch statement to ensure that
153
129
  // ESLint @typescript-eslint/switch-exhaustiveness-check triggers if a new
154
130
  // command is added.
155
- throw new protocol_js_1.Message.UnknownCommandException(`Unknown command '${commandData.method}'.`);
131
+ throw new protocol_js_1.UnknownCommandException(`Unknown command '${command.method}'.`);
156
132
  }
157
133
  async processCommand(command) {
158
134
  try {
159
135
  const result = await this.#processCommand(command);
160
136
  const response = {
161
137
  id: command.id,
162
- ...result,
138
+ result,
163
139
  };
164
140
  this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(response, command.channel ?? null));
165
141
  }
166
142
  catch (e) {
167
- if (e instanceof protocol_js_1.Message.ErrorResponse) {
143
+ if (e instanceof protocol_js_1.Exception) {
168
144
  const errorResponse = e;
169
145
  this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(errorResponse.toErrorResponse(command.id), command.channel ?? null));
170
146
  }
171
147
  else {
172
148
  const error = e;
173
149
  this.#logger?.(log_js_1.LogType.bidi, error);
174
- this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(new protocol_js_1.Message.UnknownErrorException(error.message).toErrorResponse(command.id), command.channel ?? null));
150
+ this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(new protocol_js_1.UnknownErrorException(error.message, error.stack).toErrorResponse(command.id), command.channel ?? null));
175
151
  }
176
152
  }
177
153
  }