cddl2java 0.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.
Files changed (507) hide show
  1. package/.release-it.ts +10 -0
  2. package/README.md +28 -0
  3. package/bin/cddl2java.js +5 -0
  4. package/build/cli.d.ts +2 -0
  5. package/build/cli.d.ts.map +1 -0
  6. package/build/cli.js +36 -0
  7. package/build/constants.d.ts +4 -0
  8. package/build/constants.d.ts.map +1 -0
  9. package/build/constants.js +22 -0
  10. package/build/index.d.ts +2 -0
  11. package/build/index.d.ts.map +1 -0
  12. package/build/index.js +656 -0
  13. package/build/templates.d.ts +10 -0
  14. package/build/templates.d.ts.map +1 -0
  15. package/build/templates.js +252 -0
  16. package/build/utils.d.ts +11 -0
  17. package/build/utils.d.ts.map +1 -0
  18. package/build/utils.js +17 -0
  19. package/package.json +41 -0
  20. package/src/cli.ts +42 -0
  21. package/src/constants.ts +25 -0
  22. package/src/index.ts +731 -0
  23. package/src/templates.ts +258 -0
  24. package/src/utils.ts +23 -0
  25. package/tests/__fixtures__/AccessibilityValue.java +71 -0
  26. package/tests/__fixtures__/Browser/BrowserModule.java +34 -0
  27. package/tests/__fixtures__/Browser/ClientWindowInfo.java +122 -0
  28. package/tests/__fixtures__/Browser/ClientWindowNamedState.java +50 -0
  29. package/tests/__fixtures__/Browser/ClientWindowRectState.java +98 -0
  30. package/tests/__fixtures__/Browser/CreateUserContextResult.java +16 -0
  31. package/tests/__fixtures__/Browser/GetClientWindowsResult.java +50 -0
  32. package/tests/__fixtures__/Browser/GetUserContextsResult.java +50 -0
  33. package/tests/__fixtures__/Browser/RemoveUserContextParameters.java +50 -0
  34. package/tests/__fixtures__/Browser/SetClientWindowStateParameters.java +50 -0
  35. package/tests/__fixtures__/Browser/UserContextInfo.java +50 -0
  36. package/tests/__fixtures__/BrowsingContext/AccessibilityLocator.java +62 -0
  37. package/tests/__fixtures__/BrowsingContext/ActivateParameters.java +50 -0
  38. package/tests/__fixtures__/BrowsingContext/BaseNavigationInfo.java +86 -0
  39. package/tests/__fixtures__/BrowsingContext/BoxClipRectangle.java +98 -0
  40. package/tests/__fixtures__/BrowsingContext/BrowsingContextModule.java +34 -0
  41. package/tests/__fixtures__/BrowsingContext/CaptureScreenshotParameters.java +86 -0
  42. package/tests/__fixtures__/BrowsingContext/CaptureScreenshotResult.java +50 -0
  43. package/tests/__fixtures__/BrowsingContext/ClipRectangle.java +17 -0
  44. package/tests/__fixtures__/BrowsingContext/CloseParameters.java +62 -0
  45. package/tests/__fixtures__/BrowsingContext/ContextLocator.java +62 -0
  46. package/tests/__fixtures__/BrowsingContext/CreateParameters.java +86 -0
  47. package/tests/__fixtures__/BrowsingContext/CreateResult.java +50 -0
  48. package/tests/__fixtures__/BrowsingContext/CreateType.java +35 -0
  49. package/tests/__fixtures__/BrowsingContext/CssLocator.java +62 -0
  50. package/tests/__fixtures__/BrowsingContext/DownloadWillBeginParams.java +50 -0
  51. package/tests/__fixtures__/BrowsingContext/ElementClipRectangle.java +62 -0
  52. package/tests/__fixtures__/BrowsingContext/GetTreeParameters.java +62 -0
  53. package/tests/__fixtures__/BrowsingContext/GetTreeResult.java +50 -0
  54. package/tests/__fixtures__/BrowsingContext/HandleUserPromptParameters.java +74 -0
  55. package/tests/__fixtures__/BrowsingContext/HistoryUpdatedParameters.java +62 -0
  56. package/tests/__fixtures__/BrowsingContext/ImageFormat.java +62 -0
  57. package/tests/__fixtures__/BrowsingContext/Info.java +122 -0
  58. package/tests/__fixtures__/BrowsingContext/InnerTextLocator.java +98 -0
  59. package/tests/__fixtures__/BrowsingContext/LocateNodesParameters.java +98 -0
  60. package/tests/__fixtures__/BrowsingContext/LocateNodesResult.java +50 -0
  61. package/tests/__fixtures__/BrowsingContext/Locator.java +20 -0
  62. package/tests/__fixtures__/BrowsingContext/NavigateParameters.java +74 -0
  63. package/tests/__fixtures__/BrowsingContext/NavigateResult.java +62 -0
  64. package/tests/__fixtures__/BrowsingContext/PrintMarginParameters.java +86 -0
  65. package/tests/__fixtures__/BrowsingContext/PrintPageParameters.java +62 -0
  66. package/tests/__fixtures__/BrowsingContext/PrintParameters.java +134 -0
  67. package/tests/__fixtures__/BrowsingContext/PrintResult.java +50 -0
  68. package/tests/__fixtures__/BrowsingContext/ReadinessState.java +36 -0
  69. package/tests/__fixtures__/BrowsingContext/ReloadParameters.java +74 -0
  70. package/tests/__fixtures__/BrowsingContext/SetViewportParameters.java +86 -0
  71. package/tests/__fixtures__/BrowsingContext/TraverseHistoryParameters.java +62 -0
  72. package/tests/__fixtures__/BrowsingContext/TraverseHistoryResult.java +28 -0
  73. package/tests/__fixtures__/BrowsingContext/UserPromptClosedParameters.java +86 -0
  74. package/tests/__fixtures__/BrowsingContext/UserPromptOpenedParameters.java +98 -0
  75. package/tests/__fixtures__/BrowsingContext/UserPromptType.java +37 -0
  76. package/tests/__fixtures__/BrowsingContext/Viewport.java +62 -0
  77. package/tests/__fixtures__/BrowsingContext/XPathLocator.java +62 -0
  78. package/tests/__fixtures__/ContextValue.java +55 -0
  79. package/tests/__fixtures__/EmptyResult.java +21 -0
  80. package/tests/__fixtures__/Emulation/EmulationModule.java +34 -0
  81. package/tests/__fixtures__/Emulation/GeolocationCoordinates.java +122 -0
  82. package/tests/__fixtures__/Emulation/SetGeolocationOverrideParameters.java +74 -0
  83. package/tests/__fixtures__/Input/ElementOrigin.java +62 -0
  84. package/tests/__fixtures__/Input/FileDialogInfo.java +74 -0
  85. package/tests/__fixtures__/Input/InputModule.java +34 -0
  86. package/tests/__fixtures__/Input/KeyDownAction.java +62 -0
  87. package/tests/__fixtures__/Input/KeySourceAction.java +18 -0
  88. package/tests/__fixtures__/Input/KeySourceActions.java +74 -0
  89. package/tests/__fixtures__/Input/KeyUpAction.java +62 -0
  90. package/tests/__fixtures__/Input/NoneSourceAction.java +16 -0
  91. package/tests/__fixtures__/Input/NoneSourceActions.java +74 -0
  92. package/tests/__fixtures__/Input/Origin.java +36 -0
  93. package/tests/__fixtures__/Input/PauseAction.java +62 -0
  94. package/tests/__fixtures__/Input/PerformActionsParameters.java +62 -0
  95. package/tests/__fixtures__/Input/PointerCommonProperties.java +122 -0
  96. package/tests/__fixtures__/Input/PointerDownAction.java +62 -0
  97. package/tests/__fixtures__/Input/PointerMoveAction.java +98 -0
  98. package/tests/__fixtures__/Input/PointerParameters.java +50 -0
  99. package/tests/__fixtures__/Input/PointerSourceAction.java +19 -0
  100. package/tests/__fixtures__/Input/PointerSourceActions.java +86 -0
  101. package/tests/__fixtures__/Input/PointerType.java +36 -0
  102. package/tests/__fixtures__/Input/PointerUpAction.java +62 -0
  103. package/tests/__fixtures__/Input/ReleaseActionsParameters.java +50 -0
  104. package/tests/__fixtures__/Input/SetFilesParameters.java +74 -0
  105. package/tests/__fixtures__/Input/SourceActions.java +19 -0
  106. package/tests/__fixtures__/Input/WheelScrollAction.java +122 -0
  107. package/tests/__fixtures__/Input/WheelSourceAction.java +17 -0
  108. package/tests/__fixtures__/Input/WheelSourceActions.java +74 -0
  109. package/tests/__fixtures__/Log/BaseLogEntry.java +98 -0
  110. package/tests/__fixtures__/Log/ConsoleLogEntry.java +74 -0
  111. package/tests/__fixtures__/Log/Entry.java +18 -0
  112. package/tests/__fixtures__/Log/GenericLogEntry.java +50 -0
  113. package/tests/__fixtures__/Log/JavascriptLogEntry.java +50 -0
  114. package/tests/__fixtures__/Log/Level.java +37 -0
  115. package/tests/__fixtures__/Log/LogModule.java +34 -0
  116. package/tests/__fixtures__/Network/AddInterceptParameters.java +74 -0
  117. package/tests/__fixtures__/Network/AddInterceptResult.java +50 -0
  118. package/tests/__fixtures__/Network/AuthChallenge.java +62 -0
  119. package/tests/__fixtures__/Network/AuthCredentials.java +74 -0
  120. package/tests/__fixtures__/Network/AuthRequiredParameters.java +50 -0
  121. package/tests/__fixtures__/Network/Base64Value.java +62 -0
  122. package/tests/__fixtures__/Network/BaseParameters.java +122 -0
  123. package/tests/__fixtures__/Network/BeforeRequestSentParameters.java +50 -0
  124. package/tests/__fixtures__/Network/BytesValue.java +17 -0
  125. package/tests/__fixtures__/Network/ContinueRequestParameters.java +110 -0
  126. package/tests/__fixtures__/Network/ContinueResponseParameters.java +110 -0
  127. package/tests/__fixtures__/Network/ContinueWithAuthCredentials.java +62 -0
  128. package/tests/__fixtures__/Network/ContinueWithAuthNoCredentials.java +50 -0
  129. package/tests/__fixtures__/Network/ContinueWithAuthParameters.java +50 -0
  130. package/tests/__fixtures__/Network/Cookie.java +146 -0
  131. package/tests/__fixtures__/Network/CookieHeader.java +62 -0
  132. package/tests/__fixtures__/Network/FailRequestParameters.java +50 -0
  133. package/tests/__fixtures__/Network/FetchErrorParameters.java +50 -0
  134. package/tests/__fixtures__/Network/FetchTimingInfo.java +194 -0
  135. package/tests/__fixtures__/Network/Header.java +62 -0
  136. package/tests/__fixtures__/Network/Initiator.java +98 -0
  137. package/tests/__fixtures__/Network/InterceptPhase.java +36 -0
  138. package/tests/__fixtures__/Network/NetworkModule.java +34 -0
  139. package/tests/__fixtures__/Network/ProvideResponseParameters.java +110 -0
  140. package/tests/__fixtures__/Network/RemoveInterceptParameters.java +50 -0
  141. package/tests/__fixtures__/Network/RequestData.java +158 -0
  142. package/tests/__fixtures__/Network/ResponseCompletedParameters.java +50 -0
  143. package/tests/__fixtures__/Network/ResponseContent.java +50 -0
  144. package/tests/__fixtures__/Network/ResponseData.java +182 -0
  145. package/tests/__fixtures__/Network/ResponseStartedParameters.java +50 -0
  146. package/tests/__fixtures__/Network/SameSite.java +36 -0
  147. package/tests/__fixtures__/Network/SetCacheBehaviorParameters.java +62 -0
  148. package/tests/__fixtures__/Network/SetCookieHeader.java +146 -0
  149. package/tests/__fixtures__/Network/StringValue.java +62 -0
  150. package/tests/__fixtures__/Network/UrlPattern.java +17 -0
  151. package/tests/__fixtures__/Network/UrlPatternPattern.java +110 -0
  152. package/tests/__fixtures__/Network/UrlPatternString.java +62 -0
  153. package/tests/__fixtures__/Script/AddPreloadScriptParameters.java +98 -0
  154. package/tests/__fixtures__/Script/AddPreloadScriptResult.java +50 -0
  155. package/tests/__fixtures__/Script/ArrayBufferRemoteValue.java +74 -0
  156. package/tests/__fixtures__/Script/ArrayLocalValue.java +62 -0
  157. package/tests/__fixtures__/Script/ArrayRemoteValue.java +86 -0
  158. package/tests/__fixtures__/Script/AudioWorkletRealmInfo.java +50 -0
  159. package/tests/__fixtures__/Script/BaseRealmInfo.java +62 -0
  160. package/tests/__fixtures__/Script/BigIntValue.java +62 -0
  161. package/tests/__fixtures__/Script/BooleanValue.java +62 -0
  162. package/tests/__fixtures__/Script/CallFunctionParameters.java +134 -0
  163. package/tests/__fixtures__/Script/ChannelProperties.java +74 -0
  164. package/tests/__fixtures__/Script/ChannelValue.java +62 -0
  165. package/tests/__fixtures__/Script/ContextTarget.java +62 -0
  166. package/tests/__fixtures__/Script/DateLocalValue.java +62 -0
  167. package/tests/__fixtures__/Script/DedicatedWorkerRealmInfo.java +62 -0
  168. package/tests/__fixtures__/Script/DisownParameters.java +62 -0
  169. package/tests/__fixtures__/Script/ErrorRemoteValue.java +74 -0
  170. package/tests/__fixtures__/Script/EvaluateParameters.java +110 -0
  171. package/tests/__fixtures__/Script/EvaluateResult.java +17 -0
  172. package/tests/__fixtures__/Script/EvaluateResultException.java +74 -0
  173. package/tests/__fixtures__/Script/EvaluateResultSuccess.java +74 -0
  174. package/tests/__fixtures__/Script/ExceptionDetails.java +98 -0
  175. package/tests/__fixtures__/Script/FunctionRemoteValue.java +74 -0
  176. package/tests/__fixtures__/Script/GeneratorRemoteValue.java +74 -0
  177. package/tests/__fixtures__/Script/GetRealmsParameters.java +62 -0
  178. package/tests/__fixtures__/Script/GetRealmsResult.java +50 -0
  179. package/tests/__fixtures__/Script/HTMLCollectionRemoteValue.java +86 -0
  180. package/tests/__fixtures__/Script/LocalValue.java +24 -0
  181. package/tests/__fixtures__/Script/MapLocalValue.java +62 -0
  182. package/tests/__fixtures__/Script/MapRemoteValue.java +86 -0
  183. package/tests/__fixtures__/Script/MessageParameters.java +74 -0
  184. package/tests/__fixtures__/Script/NodeListRemoteValue.java +86 -0
  185. package/tests/__fixtures__/Script/NodeProperties.java +146 -0
  186. package/tests/__fixtures__/Script/NodeRemoteValue.java +98 -0
  187. package/tests/__fixtures__/Script/NullValue.java +50 -0
  188. package/tests/__fixtures__/Script/NumberValue.java +62 -0
  189. package/tests/__fixtures__/Script/ObjectLocalValue.java +62 -0
  190. package/tests/__fixtures__/Script/ObjectRemoteValue.java +86 -0
  191. package/tests/__fixtures__/Script/PaintWorkletRealmInfo.java +50 -0
  192. package/tests/__fixtures__/Script/PrimitiveProtocolValue.java +21 -0
  193. package/tests/__fixtures__/Script/PromiseRemoteValue.java +74 -0
  194. package/tests/__fixtures__/Script/ProxyRemoteValue.java +74 -0
  195. package/tests/__fixtures__/Script/RealmDestroyedParameters.java +50 -0
  196. package/tests/__fixtures__/Script/RealmInfo.java +23 -0
  197. package/tests/__fixtures__/Script/RealmTarget.java +50 -0
  198. package/tests/__fixtures__/Script/RealmType.java +41 -0
  199. package/tests/__fixtures__/Script/RegExpLocalValue.java +62 -0
  200. package/tests/__fixtures__/Script/RegExpValue.java +62 -0
  201. package/tests/__fixtures__/Script/RemoteObjectReference.java +62 -0
  202. package/tests/__fixtures__/Script/RemoteReference.java +17 -0
  203. package/tests/__fixtures__/Script/RemoteValue.java +36 -0
  204. package/tests/__fixtures__/Script/RemovePreloadScriptParameters.java +50 -0
  205. package/tests/__fixtures__/Script/ResultOwnership.java +35 -0
  206. package/tests/__fixtures__/Script/ScriptModule.java +34 -0
  207. package/tests/__fixtures__/Script/SerializationOptions.java +74 -0
  208. package/tests/__fixtures__/Script/ServiceWorkerRealmInfo.java +50 -0
  209. package/tests/__fixtures__/Script/SetLocalValue.java +62 -0
  210. package/tests/__fixtures__/Script/SetRemoteValue.java +86 -0
  211. package/tests/__fixtures__/Script/SharedReference.java +62 -0
  212. package/tests/__fixtures__/Script/SharedWorkerRealmInfo.java +50 -0
  213. package/tests/__fixtures__/Script/Source.java +62 -0
  214. package/tests/__fixtures__/Script/SpecialNumber.java +37 -0
  215. package/tests/__fixtures__/Script/StackFrame.java +86 -0
  216. package/tests/__fixtures__/Script/StackTrace.java +50 -0
  217. package/tests/__fixtures__/Script/StringValue.java +62 -0
  218. package/tests/__fixtures__/Script/SymbolRemoteValue.java +74 -0
  219. package/tests/__fixtures__/Script/Target.java +17 -0
  220. package/tests/__fixtures__/Script/TypedArrayRemoteValue.java +74 -0
  221. package/tests/__fixtures__/Script/UndefinedValue.java +50 -0
  222. package/tests/__fixtures__/Script/WeakMapRemoteValue.java +74 -0
  223. package/tests/__fixtures__/Script/WeakSetRemoteValue.java +74 -0
  224. package/tests/__fixtures__/Script/WindowProxyProperties.java +50 -0
  225. package/tests/__fixtures__/Script/WindowProxyRemoteValue.java +86 -0
  226. package/tests/__fixtures__/Script/WindowRealmInfo.java +74 -0
  227. package/tests/__fixtures__/Script/WorkerRealmInfo.java +50 -0
  228. package/tests/__fixtures__/Script/WorkletRealmInfo.java +50 -0
  229. package/tests/__fixtures__/Session/Capabilities.java +55 -0
  230. package/tests/__fixtures__/Session/CapabilitiesRequest.java +62 -0
  231. package/tests/__fixtures__/Session/CapabilityRequest.java +110 -0
  232. package/tests/__fixtures__/Session/NewParameters.java +50 -0
  233. package/tests/__fixtures__/Session/NewResult.java +62 -0
  234. package/tests/__fixtures__/Session/ProxyConfiguration.java +20 -0
  235. package/tests/__fixtures__/Session/SessionModule.java +34 -0
  236. package/tests/__fixtures__/Session/StatusResult.java +62 -0
  237. package/tests/__fixtures__/Session/SubscribeResult.java +50 -0
  238. package/tests/__fixtures__/Session/SubscriptionRequest.java +74 -0
  239. package/tests/__fixtures__/Session/UnsubscribeByAttributesRequest.java +62 -0
  240. package/tests/__fixtures__/Session/UnsubscribeByIDRequest.java +50 -0
  241. package/tests/__fixtures__/Session/UnsubscribeParameters.java +17 -0
  242. package/tests/__fixtures__/Session/UserPromptHandler.java +110 -0
  243. package/tests/__fixtures__/Session/UserPromptHandlerType.java +36 -0
  244. package/tests/__fixtures__/Storage/BrowsingContextPartitionDescriptor.java +62 -0
  245. package/tests/__fixtures__/Storage/CookieFilter.java +146 -0
  246. package/tests/__fixtures__/Storage/DeleteCookiesParameters.java +62 -0
  247. package/tests/__fixtures__/Storage/DeleteCookiesResult.java +50 -0
  248. package/tests/__fixtures__/Storage/GetCookiesParameters.java +62 -0
  249. package/tests/__fixtures__/Storage/GetCookiesResult.java +62 -0
  250. package/tests/__fixtures__/Storage/PartialCookie.java +134 -0
  251. package/tests/__fixtures__/Storage/PartitionDescriptor.java +17 -0
  252. package/tests/__fixtures__/Storage/PartitionKey.java +62 -0
  253. package/tests/__fixtures__/Storage/SetCookieParameters.java +62 -0
  254. package/tests/__fixtures__/Storage/SetCookieResult.java +50 -0
  255. package/tests/__fixtures__/Storage/StorageKeyPartitionDescriptor.java +74 -0
  256. package/tests/__fixtures__/Storage/StorageModule.java +34 -0
  257. package/tests/__fixtures__/WebExtension/ExtensionArchivePath.java +62 -0
  258. package/tests/__fixtures__/WebExtension/ExtensionBase64Encoded.java +62 -0
  259. package/tests/__fixtures__/WebExtension/ExtensionData.java +18 -0
  260. package/tests/__fixtures__/WebExtension/ExtensionPath.java +62 -0
  261. package/tests/__fixtures__/WebExtension/InstallParameters.java +50 -0
  262. package/tests/__fixtures__/WebExtension/InstallResult.java +50 -0
  263. package/tests/__fixtures__/WebExtension/UninstallParameters.java +50 -0
  264. package/tests/__fixtures__/WebExtension/WebExtensionModule.java +34 -0
  265. package/tests/__output__/AccessibilityValue.java +71 -0
  266. package/tests/__output__/Browser/BrowserModule.java +34 -0
  267. package/tests/__output__/Browser/ClientWindowInfo.java +122 -0
  268. package/tests/__output__/Browser/ClientWindowNamedState.java +50 -0
  269. package/tests/__output__/Browser/ClientWindowRectState.java +98 -0
  270. package/tests/__output__/Browser/CreateUserContextResult.java +16 -0
  271. package/tests/__output__/Browser/GetClientWindowsResult.java +50 -0
  272. package/tests/__output__/Browser/GetUserContextsResult.java +50 -0
  273. package/tests/__output__/Browser/RemoveUserContextParameters.java +50 -0
  274. package/tests/__output__/Browser/SetClientWindowStateParameters.java +50 -0
  275. package/tests/__output__/Browser/UserContextInfo.java +50 -0
  276. package/tests/__output__/BrowsingContext/AccessibilityLocator.java +62 -0
  277. package/tests/__output__/BrowsingContext/ActivateParameters.java +50 -0
  278. package/tests/__output__/BrowsingContext/BaseNavigationInfo.java +86 -0
  279. package/tests/__output__/BrowsingContext/BoxClipRectangle.java +98 -0
  280. package/tests/__output__/BrowsingContext/BrowsingContextModule.java +34 -0
  281. package/tests/__output__/BrowsingContext/CaptureScreenshotParameters.java +86 -0
  282. package/tests/__output__/BrowsingContext/CaptureScreenshotResult.java +50 -0
  283. package/tests/__output__/BrowsingContext/ClipRectangle.java +17 -0
  284. package/tests/__output__/BrowsingContext/CloseParameters.java +62 -0
  285. package/tests/__output__/BrowsingContext/ContextLocator.java +62 -0
  286. package/tests/__output__/BrowsingContext/CreateParameters.java +86 -0
  287. package/tests/__output__/BrowsingContext/CreateResult.java +50 -0
  288. package/tests/__output__/BrowsingContext/CreateType.java +35 -0
  289. package/tests/__output__/BrowsingContext/CssLocator.java +62 -0
  290. package/tests/__output__/BrowsingContext/DownloadWillBeginParams.java +50 -0
  291. package/tests/__output__/BrowsingContext/ElementClipRectangle.java +62 -0
  292. package/tests/__output__/BrowsingContext/GetTreeParameters.java +62 -0
  293. package/tests/__output__/BrowsingContext/GetTreeResult.java +50 -0
  294. package/tests/__output__/BrowsingContext/HandleUserPromptParameters.java +74 -0
  295. package/tests/__output__/BrowsingContext/HistoryUpdatedParameters.java +62 -0
  296. package/tests/__output__/BrowsingContext/ImageFormat.java +62 -0
  297. package/tests/__output__/BrowsingContext/Info.java +122 -0
  298. package/tests/__output__/BrowsingContext/InnerTextLocator.java +98 -0
  299. package/tests/__output__/BrowsingContext/LocateNodesParameters.java +98 -0
  300. package/tests/__output__/BrowsingContext/LocateNodesResult.java +50 -0
  301. package/tests/__output__/BrowsingContext/Locator.java +20 -0
  302. package/tests/__output__/BrowsingContext/NavigateParameters.java +74 -0
  303. package/tests/__output__/BrowsingContext/NavigateResult.java +62 -0
  304. package/tests/__output__/BrowsingContext/PrintMarginParameters.java +86 -0
  305. package/tests/__output__/BrowsingContext/PrintPageParameters.java +62 -0
  306. package/tests/__output__/BrowsingContext/PrintParameters.java +134 -0
  307. package/tests/__output__/BrowsingContext/PrintResult.java +50 -0
  308. package/tests/__output__/BrowsingContext/ReadinessState.java +36 -0
  309. package/tests/__output__/BrowsingContext/ReloadParameters.java +74 -0
  310. package/tests/__output__/BrowsingContext/SetViewportParameters.java +86 -0
  311. package/tests/__output__/BrowsingContext/TraverseHistoryParameters.java +62 -0
  312. package/tests/__output__/BrowsingContext/TraverseHistoryResult.java +28 -0
  313. package/tests/__output__/BrowsingContext/UserPromptClosedParameters.java +86 -0
  314. package/tests/__output__/BrowsingContext/UserPromptOpenedParameters.java +98 -0
  315. package/tests/__output__/BrowsingContext/UserPromptType.java +37 -0
  316. package/tests/__output__/BrowsingContext/Viewport.java +62 -0
  317. package/tests/__output__/BrowsingContext/XPathLocator.java +62 -0
  318. package/tests/__output__/ContextValue.java +55 -0
  319. package/tests/__output__/EmptyResult.java +21 -0
  320. package/tests/__output__/Emulation/EmulationModule.java +34 -0
  321. package/tests/__output__/Emulation/GeolocationCoordinates.java +122 -0
  322. package/tests/__output__/Emulation/SetGeolocationOverrideParameters.java +74 -0
  323. package/tests/__output__/Input/ElementOrigin.java +62 -0
  324. package/tests/__output__/Input/FileDialogInfo.java +74 -0
  325. package/tests/__output__/Input/InputModule.java +34 -0
  326. package/tests/__output__/Input/KeyDownAction.java +62 -0
  327. package/tests/__output__/Input/KeySourceAction.java +18 -0
  328. package/tests/__output__/Input/KeySourceActions.java +74 -0
  329. package/tests/__output__/Input/KeyUpAction.java +62 -0
  330. package/tests/__output__/Input/NoneSourceAction.java +16 -0
  331. package/tests/__output__/Input/NoneSourceActions.java +74 -0
  332. package/tests/__output__/Input/Origin.java +36 -0
  333. package/tests/__output__/Input/PauseAction.java +62 -0
  334. package/tests/__output__/Input/PerformActionsParameters.java +62 -0
  335. package/tests/__output__/Input/PointerCommonProperties.java +122 -0
  336. package/tests/__output__/Input/PointerDownAction.java +62 -0
  337. package/tests/__output__/Input/PointerMoveAction.java +98 -0
  338. package/tests/__output__/Input/PointerParameters.java +50 -0
  339. package/tests/__output__/Input/PointerSourceAction.java +19 -0
  340. package/tests/__output__/Input/PointerSourceActions.java +86 -0
  341. package/tests/__output__/Input/PointerType.java +36 -0
  342. package/tests/__output__/Input/PointerUpAction.java +62 -0
  343. package/tests/__output__/Input/ReleaseActionsParameters.java +50 -0
  344. package/tests/__output__/Input/SetFilesParameters.java +74 -0
  345. package/tests/__output__/Input/SourceActions.java +19 -0
  346. package/tests/__output__/Input/WheelScrollAction.java +122 -0
  347. package/tests/__output__/Input/WheelSourceAction.java +17 -0
  348. package/tests/__output__/Input/WheelSourceActions.java +74 -0
  349. package/tests/__output__/Log/BaseLogEntry.java +98 -0
  350. package/tests/__output__/Log/ConsoleLogEntry.java +74 -0
  351. package/tests/__output__/Log/Entry.java +18 -0
  352. package/tests/__output__/Log/GenericLogEntry.java +50 -0
  353. package/tests/__output__/Log/JavascriptLogEntry.java +50 -0
  354. package/tests/__output__/Log/Level.java +37 -0
  355. package/tests/__output__/Log/LogModule.java +34 -0
  356. package/tests/__output__/Network/AddInterceptParameters.java +74 -0
  357. package/tests/__output__/Network/AddInterceptResult.java +50 -0
  358. package/tests/__output__/Network/AuthChallenge.java +62 -0
  359. package/tests/__output__/Network/AuthCredentials.java +74 -0
  360. package/tests/__output__/Network/AuthRequiredParameters.java +50 -0
  361. package/tests/__output__/Network/Base64Value.java +62 -0
  362. package/tests/__output__/Network/BaseParameters.java +122 -0
  363. package/tests/__output__/Network/BeforeRequestSentParameters.java +50 -0
  364. package/tests/__output__/Network/BytesValue.java +17 -0
  365. package/tests/__output__/Network/ContinueRequestParameters.java +110 -0
  366. package/tests/__output__/Network/ContinueResponseParameters.java +110 -0
  367. package/tests/__output__/Network/ContinueWithAuthCredentials.java +62 -0
  368. package/tests/__output__/Network/ContinueWithAuthNoCredentials.java +50 -0
  369. package/tests/__output__/Network/ContinueWithAuthParameters.java +50 -0
  370. package/tests/__output__/Network/Cookie.java +146 -0
  371. package/tests/__output__/Network/CookieHeader.java +62 -0
  372. package/tests/__output__/Network/FailRequestParameters.java +50 -0
  373. package/tests/__output__/Network/FetchErrorParameters.java +50 -0
  374. package/tests/__output__/Network/FetchTimingInfo.java +194 -0
  375. package/tests/__output__/Network/Header.java +62 -0
  376. package/tests/__output__/Network/Initiator.java +98 -0
  377. package/tests/__output__/Network/InterceptPhase.java +36 -0
  378. package/tests/__output__/Network/NetworkModule.java +34 -0
  379. package/tests/__output__/Network/ProvideResponseParameters.java +110 -0
  380. package/tests/__output__/Network/RemoveInterceptParameters.java +50 -0
  381. package/tests/__output__/Network/RequestData.java +158 -0
  382. package/tests/__output__/Network/ResponseCompletedParameters.java +50 -0
  383. package/tests/__output__/Network/ResponseContent.java +50 -0
  384. package/tests/__output__/Network/ResponseData.java +182 -0
  385. package/tests/__output__/Network/ResponseStartedParameters.java +50 -0
  386. package/tests/__output__/Network/SameSite.java +36 -0
  387. package/tests/__output__/Network/SetCacheBehaviorParameters.java +62 -0
  388. package/tests/__output__/Network/SetCookieHeader.java +146 -0
  389. package/tests/__output__/Network/StringValue.java +62 -0
  390. package/tests/__output__/Network/UrlPattern.java +17 -0
  391. package/tests/__output__/Network/UrlPatternPattern.java +110 -0
  392. package/tests/__output__/Network/UrlPatternString.java +62 -0
  393. package/tests/__output__/Script/AddPreloadScriptParameters.java +98 -0
  394. package/tests/__output__/Script/AddPreloadScriptResult.java +50 -0
  395. package/tests/__output__/Script/ArrayBufferRemoteValue.java +74 -0
  396. package/tests/__output__/Script/ArrayLocalValue.java +62 -0
  397. package/tests/__output__/Script/ArrayRemoteValue.java +86 -0
  398. package/tests/__output__/Script/AudioWorkletRealmInfo.java +50 -0
  399. package/tests/__output__/Script/BaseRealmInfo.java +62 -0
  400. package/tests/__output__/Script/BigIntValue.java +62 -0
  401. package/tests/__output__/Script/BooleanValue.java +62 -0
  402. package/tests/__output__/Script/CallFunctionParameters.java +134 -0
  403. package/tests/__output__/Script/ChannelProperties.java +74 -0
  404. package/tests/__output__/Script/ChannelValue.java +62 -0
  405. package/tests/__output__/Script/ContextTarget.java +62 -0
  406. package/tests/__output__/Script/DateLocalValue.java +62 -0
  407. package/tests/__output__/Script/DedicatedWorkerRealmInfo.java +62 -0
  408. package/tests/__output__/Script/DisownParameters.java +62 -0
  409. package/tests/__output__/Script/ErrorRemoteValue.java +74 -0
  410. package/tests/__output__/Script/EvaluateParameters.java +110 -0
  411. package/tests/__output__/Script/EvaluateResult.java +17 -0
  412. package/tests/__output__/Script/EvaluateResultException.java +74 -0
  413. package/tests/__output__/Script/EvaluateResultSuccess.java +74 -0
  414. package/tests/__output__/Script/ExceptionDetails.java +98 -0
  415. package/tests/__output__/Script/FunctionRemoteValue.java +74 -0
  416. package/tests/__output__/Script/GeneratorRemoteValue.java +74 -0
  417. package/tests/__output__/Script/GetRealmsParameters.java +62 -0
  418. package/tests/__output__/Script/GetRealmsResult.java +50 -0
  419. package/tests/__output__/Script/HTMLCollectionRemoteValue.java +86 -0
  420. package/tests/__output__/Script/LocalValue.java +24 -0
  421. package/tests/__output__/Script/MapLocalValue.java +62 -0
  422. package/tests/__output__/Script/MapRemoteValue.java +86 -0
  423. package/tests/__output__/Script/MessageParameters.java +74 -0
  424. package/tests/__output__/Script/NodeListRemoteValue.java +86 -0
  425. package/tests/__output__/Script/NodeProperties.java +146 -0
  426. package/tests/__output__/Script/NodeRemoteValue.java +98 -0
  427. package/tests/__output__/Script/NullValue.java +50 -0
  428. package/tests/__output__/Script/NumberValue.java +62 -0
  429. package/tests/__output__/Script/ObjectLocalValue.java +62 -0
  430. package/tests/__output__/Script/ObjectRemoteValue.java +86 -0
  431. package/tests/__output__/Script/PaintWorkletRealmInfo.java +50 -0
  432. package/tests/__output__/Script/PrimitiveProtocolValue.java +21 -0
  433. package/tests/__output__/Script/PromiseRemoteValue.java +74 -0
  434. package/tests/__output__/Script/ProxyRemoteValue.java +74 -0
  435. package/tests/__output__/Script/RealmDestroyedParameters.java +50 -0
  436. package/tests/__output__/Script/RealmInfo.java +23 -0
  437. package/tests/__output__/Script/RealmTarget.java +50 -0
  438. package/tests/__output__/Script/RealmType.java +41 -0
  439. package/tests/__output__/Script/RegExpLocalValue.java +62 -0
  440. package/tests/__output__/Script/RegExpValue.java +62 -0
  441. package/tests/__output__/Script/RemoteObjectReference.java +62 -0
  442. package/tests/__output__/Script/RemoteReference.java +17 -0
  443. package/tests/__output__/Script/RemoteValue.java +36 -0
  444. package/tests/__output__/Script/RemovePreloadScriptParameters.java +50 -0
  445. package/tests/__output__/Script/ResultOwnership.java +35 -0
  446. package/tests/__output__/Script/ScriptModule.java +34 -0
  447. package/tests/__output__/Script/SerializationOptions.java +74 -0
  448. package/tests/__output__/Script/ServiceWorkerRealmInfo.java +50 -0
  449. package/tests/__output__/Script/SetLocalValue.java +62 -0
  450. package/tests/__output__/Script/SetRemoteValue.java +86 -0
  451. package/tests/__output__/Script/SharedReference.java +62 -0
  452. package/tests/__output__/Script/SharedWorkerRealmInfo.java +50 -0
  453. package/tests/__output__/Script/Source.java +62 -0
  454. package/tests/__output__/Script/SpecialNumber.java +37 -0
  455. package/tests/__output__/Script/StackFrame.java +86 -0
  456. package/tests/__output__/Script/StackTrace.java +50 -0
  457. package/tests/__output__/Script/StringValue.java +62 -0
  458. package/tests/__output__/Script/SymbolRemoteValue.java +74 -0
  459. package/tests/__output__/Script/Target.java +17 -0
  460. package/tests/__output__/Script/TypedArrayRemoteValue.java +74 -0
  461. package/tests/__output__/Script/UndefinedValue.java +50 -0
  462. package/tests/__output__/Script/WeakMapRemoteValue.java +74 -0
  463. package/tests/__output__/Script/WeakSetRemoteValue.java +74 -0
  464. package/tests/__output__/Script/WindowProxyProperties.java +50 -0
  465. package/tests/__output__/Script/WindowProxyRemoteValue.java +86 -0
  466. package/tests/__output__/Script/WindowRealmInfo.java +74 -0
  467. package/tests/__output__/Script/WorkerRealmInfo.java +50 -0
  468. package/tests/__output__/Script/WorkletRealmInfo.java +50 -0
  469. package/tests/__output__/Session/Capabilities.java +55 -0
  470. package/tests/__output__/Session/CapabilitiesRequest.java +62 -0
  471. package/tests/__output__/Session/CapabilityRequest.java +110 -0
  472. package/tests/__output__/Session/NewParameters.java +50 -0
  473. package/tests/__output__/Session/NewResult.java +62 -0
  474. package/tests/__output__/Session/ProxyConfiguration.java +20 -0
  475. package/tests/__output__/Session/SessionModule.java +34 -0
  476. package/tests/__output__/Session/StatusResult.java +62 -0
  477. package/tests/__output__/Session/SubscribeResult.java +50 -0
  478. package/tests/__output__/Session/SubscriptionRequest.java +74 -0
  479. package/tests/__output__/Session/UnsubscribeByAttributesRequest.java +62 -0
  480. package/tests/__output__/Session/UnsubscribeByIDRequest.java +50 -0
  481. package/tests/__output__/Session/UnsubscribeParameters.java +17 -0
  482. package/tests/__output__/Session/UserPromptHandler.java +110 -0
  483. package/tests/__output__/Session/UserPromptHandlerType.java +36 -0
  484. package/tests/__output__/Storage/BrowsingContextPartitionDescriptor.java +62 -0
  485. package/tests/__output__/Storage/CookieFilter.java +146 -0
  486. package/tests/__output__/Storage/DeleteCookiesParameters.java +62 -0
  487. package/tests/__output__/Storage/DeleteCookiesResult.java +50 -0
  488. package/tests/__output__/Storage/GetCookiesParameters.java +62 -0
  489. package/tests/__output__/Storage/GetCookiesResult.java +62 -0
  490. package/tests/__output__/Storage/PartialCookie.java +134 -0
  491. package/tests/__output__/Storage/PartitionDescriptor.java +17 -0
  492. package/tests/__output__/Storage/PartitionKey.java +62 -0
  493. package/tests/__output__/Storage/SetCookieParameters.java +62 -0
  494. package/tests/__output__/Storage/SetCookieResult.java +50 -0
  495. package/tests/__output__/Storage/StorageKeyPartitionDescriptor.java +74 -0
  496. package/tests/__output__/Storage/StorageModule.java +34 -0
  497. package/tests/__output__/WebExtension/ExtensionArchivePath.java +62 -0
  498. package/tests/__output__/WebExtension/ExtensionBase64Encoded.java +62 -0
  499. package/tests/__output__/WebExtension/ExtensionData.java +18 -0
  500. package/tests/__output__/WebExtension/ExtensionPath.java +62 -0
  501. package/tests/__output__/WebExtension/InstallParameters.java +50 -0
  502. package/tests/__output__/WebExtension/InstallResult.java +50 -0
  503. package/tests/__output__/WebExtension/UninstallParameters.java +50 -0
  504. package/tests/__output__/WebExtension/WebExtensionModule.java +34 -0
  505. package/tests/bidi.cddl +2511 -0
  506. package/tests/mod.test.ts +65 -0
  507. package/tsconfig.json +11 -0
@@ -0,0 +1,2511 @@
1
+ Message = (
2
+ CommandResponse /
3
+ ErrorResponse /
4
+ Event
5
+ )
6
+
7
+ CommandResponse = {
8
+ type: "success",
9
+ id: js-uint,
10
+ result: ResultData,
11
+ Extensible
12
+ }
13
+
14
+ ErrorResponse = {
15
+ type: "error",
16
+ id: js-uint / null,
17
+ error: ErrorCode,
18
+ message: text,
19
+ ? stacktrace: text,
20
+ Extensible
21
+ }
22
+
23
+ ResultData = (
24
+ BrowsingContextResult /
25
+ EmptyResult /
26
+ NetworkResult /
27
+ ScriptResult /
28
+ SessionResult /
29
+ StorageResult /
30
+ WebExtensionResult
31
+ )
32
+
33
+ EmptyResult = {
34
+ Extensible
35
+ }
36
+
37
+ Event = {
38
+ type: "event",
39
+ EventData,
40
+ Extensible
41
+ }
42
+
43
+ EventData = (
44
+ BrowsingContextEvent //
45
+ InputEvent //
46
+ LogEvent //
47
+ NetworkEvent //
48
+ ScriptEvent
49
+ )
50
+
51
+ Extensible = (*text => any)
52
+
53
+ js-int = -9007199254740991..9007199254740991
54
+ js-uint = 0..9007199254740991
55
+
56
+ ErrorCode = "invalid argument" /
57
+ "invalid selector" /
58
+ "invalid session id" /
59
+ "invalid web extension" /
60
+ "move target out of bounds" /
61
+ "no such alert" /
62
+ "no such element" /
63
+ "no such frame" /
64
+ "no such handle" /
65
+ "no such history entry" /
66
+ "no such intercept" /
67
+ "no such node" /
68
+ "no such request" /
69
+ "no such script" /
70
+ "no such storage partition" /
71
+ "no such user context" /
72
+ "no such web extension" /
73
+ "session not created" /
74
+ "unable to capture screen" /
75
+ "unable to close browser" /
76
+ "unable to set cookie" /
77
+ "unable to set file input" /
78
+ "underspecified storage partition" /
79
+ "unknown command" /
80
+ "unknown error" /
81
+ "unsupported operation"
82
+
83
+ SessionResult = (
84
+ session.NewResult /
85
+ session.StatusResult /
86
+ session.SubscribeResult
87
+ )
88
+
89
+ session.CapabilitiesRequest = {
90
+ ? alwaysMatch: session.CapabilityRequest,
91
+ ? firstMatch: [*session.CapabilityRequest]
92
+ }
93
+
94
+ session.CapabilityRequest = {
95
+ ? acceptInsecureCerts: bool,
96
+ ? browserName: text,
97
+ ? browserVersion: text,
98
+ ? platformName: text,
99
+ ? proxy: session.ProxyConfiguration,
100
+ ? unhandledPromptBehavior: session.UserPromptHandler,
101
+ Extensible
102
+ }
103
+
104
+ session.ProxyConfiguration = session.AutodetectProxyConfiguration / session.DirectProxyConfiguration / session.ManualProxyConfiguration / session.PacProxyConfiguration / session.SystemProxyConfiguration
105
+
106
+ session.UserPromptHandler = {
107
+ ? alert: session.UserPromptHandlerType,
108
+ ? beforeUnload: session.UserPromptHandlerType,
109
+ ? confirm: session.UserPromptHandlerType,
110
+ ? default: session.UserPromptHandlerType,
111
+ ? file: session.UserPromptHandlerType,
112
+ ? prompt: session.UserPromptHandlerType,
113
+ }
114
+
115
+ session.UserPromptHandlerType = "accept" / "dismiss" / "ignore";
116
+
117
+ session.Subscription = text
118
+
119
+ session.StatusResult = {
120
+ ready: bool,
121
+ message: text,
122
+ }
123
+
124
+ session.NewResult = {
125
+ sessionId: text,
126
+ capabilities: {
127
+ acceptInsecureCerts: bool,
128
+ browserName: text,
129
+ browserVersion: text,
130
+ platformName: text,
131
+ setWindowRect: bool,
132
+ userAgent: text,
133
+ ? proxy: session.ProxyConfiguration,
134
+ ? unhandledPromptBehavior: session.UserPromptHandler,
135
+ ? webSocketUrl: text,
136
+ Extensible
137
+ }
138
+ }
139
+
140
+ session.SubscribeResult = {
141
+ subscription: session.Subscription,
142
+ }
143
+
144
+ BrowserResult = (
145
+ browser.CreateUserContextResult /
146
+ browser.GetUserContextsResult
147
+ )
148
+
149
+ browser.ClientWindow = text;
150
+
151
+ browser.ClientWindowInfo = {
152
+ active: bool,
153
+ clientWindow: browser.ClientWindow,
154
+ height: js-uint,
155
+ state: "fullscreen" / "maximized" / "minimized" / "normal",
156
+ width: js-uint,
157
+ x: js-int,
158
+ y: js-int,
159
+ }
160
+
161
+ browser.UserContext = text;
162
+
163
+ browser.UserContextInfo = {
164
+ userContext: browser.UserContext
165
+ }
166
+
167
+ browser.CreateUserContextResult = browser.UserContextInfo
168
+
169
+ browser.GetClientWindowsResult = {
170
+ clientWindows: [ * browser.ClientWindowInfo]
171
+ }
172
+
173
+ browser.GetUserContextsResult = {
174
+ userContexts: [ + browser.UserContextInfo]
175
+ }
176
+
177
+ BrowsingContextResult = (
178
+ browsingContext.CaptureScreenshotResult /
179
+ browsingContext.CreateResult /
180
+ browsingContext.GetTreeResult /
181
+ browsingContext.LocateNodesResult /
182
+ browsingContext.NavigateResult /
183
+ browsingContext.PrintResult /
184
+ browsingContext.TraverseHistoryResult
185
+ )
186
+
187
+ BrowsingContextEvent = (
188
+ browsingContext.ContextCreated //
189
+ browsingContext.ContextDestroyed //
190
+ browsingContext.DomContentLoaded //
191
+ browsingContext.DownloadWillBegin //
192
+ browsingContext.FragmentNavigated //
193
+ browsingContext.HistoryUpdated //
194
+ browsingContext.Load //
195
+ browsingContext.NavigationAborted //
196
+ browsingContext.NavigationCommitted //
197
+ browsingContext.NavigationFailed //
198
+ browsingContext.NavigationStarted //
199
+ browsingContext.UserPromptClosed //
200
+ browsingContext.UserPromptOpened
201
+ )
202
+
203
+ browsingContext.BrowsingContext = text;
204
+
205
+ browsingContext.InfoList = [*browsingContext.Info]
206
+
207
+ browsingContext.Info = {
208
+ children: browsingContext.InfoList / null,
209
+ clientWindow: browser.ClientWindow,
210
+ context: browsingContext.BrowsingContext,
211
+ originalOpener: browsingContext.BrowsingContext / null,
212
+ url: text,
213
+ userContext: browser.UserContext,
214
+ ? parent: browsingContext.BrowsingContext / null,
215
+ }
216
+
217
+ browsingContext.Locator = (
218
+ browsingContext.AccessibilityLocator /
219
+ browsingContext.CssLocator /
220
+ browsingContext.ContextLocator /
221
+ browsingContext.InnerTextLocator /
222
+ browsingContext.XPathLocator
223
+ )
224
+
225
+ browsingContext.AccessibilityLocator = {
226
+ type: "accessibility",
227
+ value: {
228
+ ? name: text,
229
+ ? role: text,
230
+ }
231
+ }
232
+
233
+ browsingContext.CssLocator = {
234
+ type: "css",
235
+ value: text
236
+ }
237
+
238
+ browsingContext.ContextLocator = {
239
+ type: "context",
240
+ value: {
241
+ context: browsingContext.BrowsingContext,
242
+ }
243
+ }
244
+
245
+ browsingContext.InnerTextLocator = {
246
+ type: "innerText",
247
+ value: text,
248
+ ? ignoreCase: bool
249
+ ? matchType: "full" / "partial",
250
+ ? maxDepth: js-uint,
251
+ }
252
+
253
+ browsingContext.XPathLocator = {
254
+ type: "xpath",
255
+ value: text
256
+ }
257
+
258
+ browsingContext.Navigation = text;
259
+
260
+ browsingContext.BaseNavigationInfo = (
261
+ context: browsingContext.BrowsingContext,
262
+ navigation: browsingContext.Navigation / null,
263
+ timestamp: js-uint,
264
+ url: text,
265
+ )
266
+
267
+ browsingContext.NavigationInfo = {
268
+ browsingContext.BaseNavigationInfo
269
+ }
270
+
271
+ browsingContext.UserPromptType = "alert" / "beforeunload" / "confirm" / "prompt";
272
+
273
+ browsingContext.CaptureScreenshotResult = {
274
+ data: text
275
+ }
276
+
277
+ browsingContext.CreateResult = {
278
+ context: browsingContext.BrowsingContext
279
+ }
280
+
281
+ browsingContext.GetTreeResult = {
282
+ contexts: browsingContext.InfoList
283
+ }
284
+
285
+ browsingContext.LocateNodesResult = {
286
+ nodes: [ * script.NodeRemoteValue ]
287
+ }
288
+
289
+ browsingContext.NavigateResult = {
290
+ navigation: browsingContext.Navigation / null,
291
+ url: text,
292
+ }
293
+
294
+ browsingContext.PrintResult = {
295
+ data: text
296
+ }
297
+
298
+ browsingContext.TraverseHistoryResult = {
299
+ }
300
+
301
+ browsingContext.ContextCreated = (
302
+ method: "browsingContext.contextCreated",
303
+ params: browsingContext.Info
304
+ )
305
+
306
+ browsingContext.ContextDestroyed = (
307
+ method: "browsingContext.contextDestroyed",
308
+ params: browsingContext.Info
309
+ )
310
+
311
+ browsingContext.NavigationStarted = (
312
+ method: "browsingContext.navigationStarted",
313
+ params: browsingContext.NavigationInfo
314
+ )
315
+
316
+ browsingContext.FragmentNavigated = (
317
+ method: "browsingContext.fragmentNavigated",
318
+ params: browsingContext.NavigationInfo
319
+ )
320
+
321
+ browsingContext.HistoryUpdated = (
322
+ method: "browsingContext.historyUpdated",
323
+ params: browsingContext.HistoryUpdatedParameters
324
+ )
325
+
326
+ browsingContext.HistoryUpdatedParameters = {
327
+ context: browsingContext.BrowsingContext,
328
+ url: text
329
+ }
330
+
331
+ browsingContext.DomContentLoaded = (
332
+ method: "browsingContext.domContentLoaded",
333
+ params: browsingContext.NavigationInfo
334
+ )
335
+
336
+ browsingContext.Load = (
337
+ method: "browsingContext.load",
338
+ params: browsingContext.NavigationInfo
339
+ )
340
+
341
+ browsingContext.DownloadWillBegin = (
342
+ method: "browsingContext.downloadWillBegin",
343
+ params: browsingContext.DownloadWillBeginParams
344
+ )
345
+
346
+ browsingContext.DownloadWillBeginParams = {
347
+ suggestedFilename: text,
348
+ browsingContext.BaseNavigationInfo
349
+ }
350
+
351
+ browsingContext.NavigationAborted = (
352
+ method: "browsingContext.navigationAborted",
353
+ params: browsingContext.NavigationInfo
354
+ )
355
+
356
+ browsingContext.NavigationCommitted = (
357
+ method: "browsingContext.navigationCommitted",
358
+ params: browsingContext.NavigationInfo
359
+ )
360
+
361
+ browsingContext.NavigationFailed = (
362
+ method: "browsingContext.navigationFailed",
363
+ params: browsingContext.NavigationInfo
364
+ )
365
+
366
+ browsingContext.UserPromptClosed = (
367
+ method: "browsingContext.userPromptClosed",
368
+ params: browsingContext.UserPromptClosedParameters
369
+ )
370
+
371
+ browsingContext.UserPromptClosedParameters = {
372
+ context: browsingContext.BrowsingContext,
373
+ accepted: bool,
374
+ type: browsingContext.UserPromptType,
375
+ ? userText: text
376
+ }
377
+
378
+ browsingContext.UserPromptOpened = (
379
+ method: "browsingContext.userPromptOpened",
380
+ params: browsingContext.UserPromptOpenedParameters
381
+ )
382
+
383
+ browsingContext.UserPromptOpenedParameters = {
384
+ context: browsingContext.BrowsingContext,
385
+ handler: session.UserPromptHandlerType,
386
+ message: text,
387
+ type: browsingContext.UserPromptType,
388
+ ? defaultValue: text
389
+ }
390
+
391
+
392
+ NetworkResult = (
393
+ network.AddInterceptResult
394
+ )
395
+
396
+ NetworkEvent = (
397
+ network.AuthRequired //
398
+ network.BeforeRequestSent //
399
+ network.FetchError //
400
+ network.ResponseCompleted //
401
+ network.ResponseStarted
402
+ )
403
+
404
+
405
+ network.AuthChallenge = {
406
+ scheme: text,
407
+ realm: text,
408
+ }
409
+
410
+ network.BaseParameters = (
411
+ context: browsingContext.BrowsingContext / null,
412
+ isBlocked: bool,
413
+ navigation: browsingContext.Navigation / null,
414
+ redirectCount: js-uint,
415
+ request: network.RequestData,
416
+ timestamp: js-uint,
417
+ ? intercepts: [+network.Intercept]
418
+ )
419
+
420
+ network.BytesValue = network.StringValue / network.Base64Value;
421
+
422
+ network.StringValue = {
423
+ type: "string",
424
+ value: text,
425
+ }
426
+
427
+ network.Base64Value = {
428
+ type: "base64",
429
+ value: text,
430
+ }
431
+
432
+
433
+ network.SameSite = "strict" / "lax" / "none"
434
+
435
+
436
+ network.Cookie = {
437
+ name: text,
438
+ value: network.BytesValue,
439
+ domain: text,
440
+ path: text,
441
+ size: js-uint,
442
+ httpOnly: bool,
443
+ secure: bool,
444
+ sameSite: network.SameSite,
445
+ ? expiry: js-uint,
446
+ Extensible,
447
+ }
448
+
449
+ network.FetchTimingInfo = {
450
+ timeOrigin: float,
451
+ requestTime: float,
452
+ redirectStart: float,
453
+ redirectEnd: float,
454
+ fetchStart: float,
455
+ dnsStart: float,
456
+ dnsEnd: float,
457
+ connectStart: float,
458
+ connectEnd: float,
459
+ tlsStart: float,
460
+
461
+ requestStart: float,
462
+ responseStart: float,
463
+
464
+ responseEnd: float,
465
+ }
466
+
467
+ network.Header = {
468
+ name: text,
469
+ value: network.BytesValue,
470
+ }
471
+
472
+ network.Initiator = {
473
+ ? columnNumber: js-uint,
474
+ ? lineNumber: js-uint,
475
+ ? request: network.Request,
476
+ ? stackTrace: script.StackTrace,
477
+ ? type: "parser" / "script" / "preflight" / "other"
478
+ }
479
+
480
+ network.Intercept = text
481
+
482
+ network.Request = text;
483
+
484
+ network.RequestData = {
485
+ request: network.Request,
486
+ url: text,
487
+ method: text,
488
+ headers: [*network.Header],
489
+ cookies: [*network.Cookie],
490
+ headersSize: js-uint,
491
+ bodySize: js-uint / null,
492
+ destination: text,
493
+ initiatorType: text / null,
494
+ timings: network.FetchTimingInfo,
495
+ }
496
+
497
+ network.ResponseContent = {
498
+ size: js-uint
499
+ }
500
+
501
+ network.ResponseData = {
502
+ url: text,
503
+ protocol: text,
504
+ status: js-uint,
505
+ statusText: text,
506
+ fromCache: bool,
507
+ headers: [*network.Header],
508
+ mimeType: text,
509
+ bytesReceived: js-uint,
510
+ headersSize: js-uint / null,
511
+ bodySize: js-uint / null,
512
+ content: network.ResponseContent,
513
+ ?authChallenges: [*network.AuthChallenge],
514
+ }
515
+
516
+ network.AddInterceptResult = {
517
+ intercept: network.Intercept
518
+ }
519
+
520
+ network.AuthRequired = (
521
+ method: "network.authRequired",
522
+ params: network.AuthRequiredParameters
523
+ )
524
+
525
+ network.AuthRequiredParameters = {
526
+ network.BaseParameters,
527
+ response: network.ResponseData
528
+ }
529
+
530
+ network.BeforeRequestSent = (
531
+ method: "network.beforeRequestSent",
532
+ params: network.BeforeRequestSentParameters
533
+ )
534
+
535
+ network.BeforeRequestSentParameters = {
536
+ network.BaseParameters,
537
+ ? initiator: network.Initiator,
538
+ }
539
+
540
+ network.FetchError = (
541
+ method: "network.fetchError",
542
+ params: network.FetchErrorParameters
543
+ )
544
+
545
+ network.FetchErrorParameters = {
546
+ network.BaseParameters,
547
+ errorText: text,
548
+ }
549
+
550
+ network.ResponseCompleted = (
551
+ method: "network.responseCompleted",
552
+ params: network.ResponseCompletedParameters
553
+ )
554
+
555
+ network.ResponseCompletedParameters = {
556
+ network.BaseParameters,
557
+ response: network.ResponseData,
558
+ }
559
+
560
+ network.ResponseStarted = (
561
+ method: "network.responseStarted",
562
+ params: network.ResponseStartedParameters
563
+ )
564
+
565
+ network.ResponseStartedParameters = {
566
+ network.BaseParameters,
567
+ response: network.ResponseData,
568
+ }
569
+
570
+ ScriptResult = (
571
+ script.AddPreloadScriptResult /
572
+ script.EvaluateResult /
573
+ script.GetRealmsResult
574
+ )
575
+
576
+ ScriptEvent = (
577
+ script.Message //
578
+ script.RealmCreated //
579
+ script.RealmDestroyed
580
+ )
581
+
582
+ script.Channel = text;
583
+
584
+ script.ChannelValue = {
585
+ type: "channel",
586
+ value: script.ChannelProperties,
587
+ }
588
+
589
+ script.ChannelProperties = {
590
+ channel: script.Channel,
591
+ ? serializationOptions: script.SerializationOptions,
592
+ ? ownership: script.ResultOwnership,
593
+ }
594
+
595
+ script.EvaluateResult = (
596
+ script.EvaluateResultSuccess /
597
+ script.EvaluateResultException
598
+ )
599
+
600
+ script.EvaluateResultSuccess = {
601
+ type: "success",
602
+ result: script.RemoteValue,
603
+ realm: script.Realm
604
+ }
605
+
606
+ script.EvaluateResultException = {
607
+ type: "exception",
608
+ exceptionDetails: script.ExceptionDetails
609
+ realm: script.Realm
610
+ }
611
+
612
+ script.ExceptionDetails = {
613
+ columnNumber: js-uint,
614
+ exception: script.RemoteValue,
615
+ lineNumber: js-uint,
616
+ stackTrace: script.StackTrace,
617
+ text: text,
618
+ }
619
+
620
+ script.Handle = text;
621
+
622
+ script.InternalId = text;
623
+
624
+ script.LocalValue = (
625
+ script.RemoteReference /
626
+ script.PrimitiveProtocolValue /
627
+ script.ChannelValue /
628
+ script.ArrayLocalValue /
629
+ script.DateLocalValue /
630
+ script.MapLocalValue /
631
+ script.ObjectLocalValue /
632
+ script.RegExpLocalValue /
633
+ script.SetLocalValue
634
+ )
635
+
636
+ script.ListLocalValue = [*script.LocalValue];
637
+
638
+ script.ArrayLocalValue = {
639
+ type: "array",
640
+ value: script.ListLocalValue,
641
+ }
642
+
643
+ script.DateLocalValue = {
644
+ type: "date",
645
+ value: text
646
+ }
647
+
648
+ script.MappingLocalValue = [*[(script.LocalValue / text), script.LocalValue]];
649
+
650
+ script.MapLocalValue = {
651
+ type: "map",
652
+ value: script.MappingLocalValue,
653
+ }
654
+
655
+ script.ObjectLocalValue = {
656
+ type: "object",
657
+ value: script.MappingLocalValue,
658
+ }
659
+
660
+ script.RegExpValue = {
661
+ pattern: text,
662
+ ? flags: text,
663
+ }
664
+
665
+ script.RegExpLocalValue = {
666
+ type: "regexp",
667
+ value: script.RegExpValue,
668
+ }
669
+
670
+ script.SetLocalValue = {
671
+ type: "set",
672
+ value: script.ListLocalValue,
673
+ }
674
+
675
+ script.PreloadScript = text;
676
+
677
+ script.Realm = text;
678
+
679
+ script.PrimitiveProtocolValue = (
680
+ script.UndefinedValue /
681
+ script.NullValue /
682
+ script.StringValue /
683
+ script.NumberValue /
684
+ script.BooleanValue /
685
+ script.BigIntValue
686
+ )
687
+
688
+ script.UndefinedValue = {
689
+ type: "undefined",
690
+ }
691
+
692
+ script.NullValue = {
693
+ type: "null",
694
+ }
695
+
696
+ script.StringValue = {
697
+ type: "string",
698
+ value: text,
699
+ }
700
+
701
+ script.SpecialNumber = "NaN" / "-0" / "Infinity" / "-Infinity";
702
+
703
+ script.NumberValue = {
704
+ type: "number",
705
+ value: number / script.SpecialNumber,
706
+ }
707
+
708
+ script.BooleanValue = {
709
+ type: "boolean",
710
+ value: bool,
711
+ }
712
+
713
+ script.BigIntValue = {
714
+ type: "bigint",
715
+ value: text,
716
+ }
717
+
718
+ script.RealmInfo = (
719
+ script.WindowRealmInfo /
720
+ script.DedicatedWorkerRealmInfo /
721
+ script.SharedWorkerRealmInfo /
722
+ script.ServiceWorkerRealmInfo /
723
+ script.WorkerRealmInfo /
724
+ script.PaintWorkletRealmInfo /
725
+ script.AudioWorkletRealmInfo /
726
+ script.WorkletRealmInfo
727
+ )
728
+
729
+ script.BaseRealmInfo = (
730
+ realm: script.Realm,
731
+ origin: text
732
+ )
733
+
734
+ script.WindowRealmInfo = {
735
+ script.BaseRealmInfo,
736
+ type: "window",
737
+ context: browsingContext.BrowsingContext,
738
+ ? sandbox: text
739
+ }
740
+
741
+ script.DedicatedWorkerRealmInfo = {
742
+ script.BaseRealmInfo,
743
+ type: "dedicated-worker",
744
+ owners: [script.Realm]
745
+ }
746
+
747
+ script.SharedWorkerRealmInfo = {
748
+ script.BaseRealmInfo,
749
+ type: "shared-worker"
750
+ }
751
+
752
+ script.ServiceWorkerRealmInfo = {
753
+ script.BaseRealmInfo,
754
+ type: "service-worker"
755
+ }
756
+
757
+ script.WorkerRealmInfo = {
758
+ script.BaseRealmInfo,
759
+ type: "worker"
760
+ }
761
+
762
+ script.PaintWorkletRealmInfo = {
763
+ script.BaseRealmInfo,
764
+ type: "paint-worklet"
765
+ }
766
+
767
+ script.AudioWorkletRealmInfo = {
768
+ script.BaseRealmInfo,
769
+ type: "audio-worklet"
770
+ }
771
+
772
+ script.WorkletRealmInfo = {
773
+ script.BaseRealmInfo,
774
+ type: "worklet"
775
+ }
776
+
777
+ script.RealmType = "window" / "dedicated-worker" / "shared-worker" / "service-worker" /
778
+ "worker" / "paint-worklet" / "audio-worklet" / "worklet"
779
+
780
+
781
+
782
+ script.RemoteReference = (
783
+ script.SharedReference /
784
+ script.RemoteObjectReference
785
+ )
786
+
787
+ script.SharedReference = {
788
+ sharedId: script.SharedId
789
+
790
+ ? handle: script.Handle,
791
+ Extensible
792
+ }
793
+
794
+ script.RemoteObjectReference = {
795
+ handle: script.Handle,
796
+
797
+ ? sharedId: script.SharedId
798
+ Extensible
799
+ }
800
+
801
+ script.RemoteValue = (
802
+ script.PrimitiveProtocolValue /
803
+ script.SymbolRemoteValue /
804
+ script.ArrayRemoteValue /
805
+ script.ObjectRemoteValue /
806
+ script.FunctionRemoteValue /
807
+ script.RegExpRemoteValue /
808
+ script.DateRemoteValue /
809
+ script.MapRemoteValue /
810
+ script.SetRemoteValue /
811
+ script.WeakMapRemoteValue /
812
+ script.WeakSetRemoteValue /
813
+ script.GeneratorRemoteValue /
814
+ script.ErrorRemoteValue /
815
+ script.ProxyRemoteValue /
816
+ script.PromiseRemoteValue /
817
+ script.TypedArrayRemoteValue /
818
+ script.ArrayBufferRemoteValue /
819
+ script.NodeListRemoteValue /
820
+ script.HTMLCollectionRemoteValue /
821
+ script.NodeRemoteValue /
822
+ script.WindowProxyRemoteValue
823
+ )
824
+
825
+ script.ListRemoteValue = [*script.RemoteValue];
826
+
827
+ script.MappingRemoteValue = [*[(script.RemoteValue / text), script.RemoteValue]];
828
+
829
+ script.SymbolRemoteValue = {
830
+ type: "symbol",
831
+ ? handle: script.Handle,
832
+ ? internalId: script.InternalId,
833
+ }
834
+
835
+ script.ArrayRemoteValue = {
836
+ type: "array",
837
+ ? handle: script.Handle,
838
+ ? internalId: script.InternalId,
839
+ ? value: script.ListRemoteValue,
840
+ }
841
+
842
+ script.ObjectRemoteValue = {
843
+ type: "object",
844
+ ? handle: script.Handle,
845
+ ? internalId: script.InternalId,
846
+ ? value: script.MappingRemoteValue,
847
+ }
848
+
849
+ script.FunctionRemoteValue = {
850
+ type: "function",
851
+ ? handle: script.Handle,
852
+ ? internalId: script.InternalId,
853
+ }
854
+
855
+ script.MapRemoteValue = {
856
+ type: "map",
857
+ ? handle: script.Handle,
858
+ ? internalId: script.InternalId,
859
+ ? value: script.MappingRemoteValue,
860
+ }
861
+
862
+ script.SetRemoteValue = {
863
+ type: "set",
864
+ ? handle: script.Handle,
865
+ ? internalId: script.InternalId,
866
+ ? value: script.ListRemoteValue
867
+ }
868
+
869
+ script.WeakMapRemoteValue = {
870
+ type: "weakmap",
871
+ ? handle: script.Handle,
872
+ ? internalId: script.InternalId,
873
+ }
874
+
875
+ script.WeakSetRemoteValue = {
876
+ type: "weakset",
877
+ ? handle: script.Handle,
878
+ ? internalId: script.InternalId,
879
+ }
880
+
881
+ script.GeneratorRemoteValue = {
882
+ type: "generator",
883
+ ? handle: script.Handle,
884
+ ? internalId: script.InternalId,
885
+ }
886
+
887
+ script.ErrorRemoteValue = {
888
+ type: "error",
889
+ ? handle: script.Handle,
890
+ ? internalId: script.InternalId,
891
+ }
892
+
893
+ script.ProxyRemoteValue = {
894
+ type: "proxy",
895
+ ? handle: script.Handle,
896
+ ? internalId: script.InternalId,
897
+ }
898
+
899
+ script.PromiseRemoteValue = {
900
+ type: "promise",
901
+ ? handle: script.Handle,
902
+ ? internalId: script.InternalId,
903
+ }
904
+
905
+ script.TypedArrayRemoteValue = {
906
+ type: "typedarray",
907
+ ? handle: script.Handle,
908
+ ? internalId: script.InternalId,
909
+ }
910
+
911
+ script.ArrayBufferRemoteValue = {
912
+ type: "arraybuffer",
913
+ ? handle: script.Handle,
914
+ ? internalId: script.InternalId,
915
+ }
916
+
917
+ script.NodeListRemoteValue = {
918
+ type: "nodelist",
919
+ ? handle: script.Handle,
920
+ ? internalId: script.InternalId,
921
+ ? value: script.ListRemoteValue,
922
+ }
923
+
924
+ script.HTMLCollectionRemoteValue = {
925
+ type: "htmlcollection",
926
+ ? handle: script.Handle,
927
+ ? internalId: script.InternalId,
928
+ ? value: script.ListRemoteValue,
929
+ }
930
+
931
+ script.NodeRemoteValue = {
932
+ type: "node",
933
+ ? sharedId: script.SharedId,
934
+ ? handle: script.Handle,
935
+ ? internalId: script.InternalId,
936
+ ? value: script.NodeProperties,
937
+ }
938
+
939
+ script.NodeProperties = {
940
+ nodeType: js-uint,
941
+ childNodeCount: js-uint,
942
+ ? attributes: {*text => text},
943
+ ? children: [*script.NodeRemoteValue],
944
+ ? localName: text,
945
+ ? mode: "open" / "closed",
946
+ ? namespaceURI: text,
947
+ ? nodeValue: text,
948
+ ? shadowRoot: script.NodeRemoteValue / null,
949
+ }
950
+
951
+ script.WindowProxyRemoteValue = {
952
+ type: "window",
953
+ value: script.WindowProxyProperties,
954
+ ? handle: script.Handle,
955
+ ? internalId: script.InternalId
956
+ }
957
+
958
+ script.WindowProxyProperties = {
959
+ context: browsingContext.BrowsingContext
960
+ }
961
+
962
+ script.ResultOwnership = "root" / "none"
963
+
964
+ script.SerializationOptions = {
965
+ ? maxDomDepth: (js-uint / null) .default 0,
966
+ ? maxObjectDepth: (js-uint / null) .default null,
967
+ ? includeShadowTree: ("none" / "open" / "all") .default "none",
968
+ }
969
+
970
+ script.SharedId = text;
971
+
972
+ script.StackFrame = {
973
+ columnNumber: js-uint,
974
+ functionName: text,
975
+ lineNumber: js-uint,
976
+ url: text,
977
+ }
978
+
979
+ script.StackTrace = {
980
+ callFrames: [*script.StackFrame],
981
+ }
982
+
983
+ script.Source = {
984
+ realm: script.Realm,
985
+ ? context: browsingContext.BrowsingContext
986
+ }
987
+
988
+ script.AddPreloadScriptResult = {
989
+ script: script.PreloadScript
990
+ }
991
+
992
+ script.GetRealmsResult = {
993
+ realms: [*script.RealmInfo]
994
+ }
995
+
996
+ script.Message = (
997
+ method: "script.message",
998
+ params: script.MessageParameters
999
+ )
1000
+
1001
+ script.MessageParameters = {
1002
+ channel: script.Channel,
1003
+ data: script.RemoteValue,
1004
+ source: script.Source,
1005
+ }
1006
+
1007
+ script.RealmCreated = (
1008
+ method: "script.realmCreated",
1009
+ params: script.RealmInfo
1010
+ )
1011
+
1012
+ script.RealmDestroyed = (
1013
+ method: "script.realmDestroyed",
1014
+ params: script.RealmDestroyedParameters
1015
+ )
1016
+
1017
+ script.RealmDestroyedParameters = {
1018
+ realm: script.Realm
1019
+ }
1020
+
1021
+
1022
+ StorageResult = (
1023
+ storage.DeleteCookiesResult /
1024
+ storage.GetCookiesResult /
1025
+ storage.SetCookieResult
1026
+ )
1027
+
1028
+ storage.PartitionKey = {
1029
+ ? userContext: text,
1030
+ ? sourceOrigin: text,
1031
+ Extensible,
1032
+ }
1033
+
1034
+ storage.GetCookiesResult = {
1035
+ cookies: [*network.Cookie],
1036
+ partitionKey: storage.PartitionKey,
1037
+ }
1038
+
1039
+ storage.SetCookieResult = {
1040
+ partitionKey: storage.PartitionKey
1041
+ }
1042
+
1043
+ storage.DeleteCookiesResult = {
1044
+ partitionKey: storage.PartitionKey
1045
+ }
1046
+
1047
+ LogEvent = (
1048
+ log.EntryAdded
1049
+ )
1050
+
1051
+ log.Level = "debug" / "info" / "warn" / "error"
1052
+
1053
+ log.Entry = (
1054
+ log.GenericLogEntry /
1055
+ log.ConsoleLogEntry /
1056
+ log.JavascriptLogEntry
1057
+ )
1058
+
1059
+ log.BaseLogEntry = (
1060
+ level: log.Level,
1061
+ source: script.Source,
1062
+ text: text / null,
1063
+ timestamp: js-uint,
1064
+ ? stackTrace: script.StackTrace,
1065
+ )
1066
+
1067
+ log.GenericLogEntry = {
1068
+ log.BaseLogEntry,
1069
+ type: text,
1070
+ }
1071
+
1072
+ log.ConsoleLogEntry = {
1073
+ log.BaseLogEntry,
1074
+ type: "console",
1075
+ method: text,
1076
+ args: [*script.RemoteValue],
1077
+ }
1078
+
1079
+ log.JavascriptLogEntry = {
1080
+ log.BaseLogEntry,
1081
+ type: "javascript",
1082
+ }
1083
+
1084
+ log.EntryAdded = (
1085
+ method: "log.entryAdded",
1086
+ params: log.Entry,
1087
+ )
1088
+
1089
+
1090
+ InputEvent = (
1091
+ input.FileDialogOpened
1092
+ )
1093
+
1094
+ input.FileDialogOpened = (
1095
+ method: "input.fileDialogOpened",
1096
+ params: input.FileDialogInfo
1097
+ )
1098
+
1099
+ input.FileDialogInfo = {
1100
+ context: browsingContext.BrowsingContext,
1101
+ ? element: script.SharedReference,
1102
+ multiple: bool,
1103
+ }
1104
+
1105
+ WebExtensionResult = (
1106
+ webExtension.InstallResult
1107
+ )
1108
+
1109
+ webExtension.Extension = text
1110
+
1111
+ webExtension.InstallResult = {
1112
+ extension: webExtension.Extension
1113
+ }
1114
+
1115
+ Command = {
1116
+ id: js-uint,
1117
+ CommandData,
1118
+ Extensible,
1119
+ }
1120
+
1121
+ CommandData = (
1122
+ BrowserCommand //
1123
+ BrowsingContextCommand //
1124
+ EmulationCommand //
1125
+ InputCommand //
1126
+ NetworkCommand //
1127
+ ScriptCommand //
1128
+ SessionCommand //
1129
+ StorageCommand //
1130
+ WebExtensionCommand
1131
+ )
1132
+
1133
+ EmptyParams = {
1134
+ Extensible
1135
+ }
1136
+
1137
+ Extensible = (*text => any)
1138
+
1139
+ js-int = -9007199254740991..9007199254740991
1140
+ js-uint = 0..9007199254740991
1141
+
1142
+ SessionCommand = (
1143
+ session.End //
1144
+ session.New //
1145
+ session.Status //
1146
+ session.Subscribe //
1147
+ session.Unsubscribe
1148
+ )
1149
+
1150
+ session.CapabilitiesRequest = {
1151
+ ? alwaysMatch: session.CapabilityRequest,
1152
+ ? firstMatch: [*session.CapabilityRequest]
1153
+ }
1154
+
1155
+ session.CapabilityRequest = {
1156
+ ? acceptInsecureCerts: bool,
1157
+ ? browserName: text,
1158
+ ? browserVersion: text,
1159
+ ? platformName: text,
1160
+ ? proxy: session.ProxyConfiguration,
1161
+ ? unhandledPromptBehavior: session.UserPromptHandler,
1162
+ Extensible
1163
+ }
1164
+
1165
+ session.ProxyConfiguration = session.AutodetectProxyConfiguration / session.DirectProxyConfiguration / session.ManualProxyConfiguration / session.PacProxyConfiguration / session.SystemProxyConfiguration
1166
+
1167
+ session.UserPromptHandler = {
1168
+ ? alert: session.UserPromptHandlerType,
1169
+ ? beforeUnload: session.UserPromptHandlerType,
1170
+ ? confirm: session.UserPromptHandlerType,
1171
+ ? default: session.UserPromptHandlerType,
1172
+ ? file: session.UserPromptHandlerType,
1173
+ ? prompt: session.UserPromptHandlerType,
1174
+ }
1175
+
1176
+ session.UserPromptHandlerType = "accept" / "dismiss" / "ignore";
1177
+
1178
+ session.Subscription = text
1179
+
1180
+ session.SubscriptionRequest = {
1181
+ events: [+text],
1182
+ ? contexts: [+browsingContext.BrowsingContext],
1183
+ ? userContexts: [+browser.UserContext],
1184
+ }
1185
+
1186
+ session.UnsubscribeByIDRequest = {
1187
+ subscriptions: [+session.Subscription],
1188
+ }
1189
+
1190
+ session.UnsubscribeByAttributesRequest = {
1191
+ events: [+text],
1192
+ ? contexts: [+browsingContext.BrowsingContext],
1193
+ }
1194
+
1195
+ session.Status = (
1196
+ method: "session.status",
1197
+ params: EmptyParams,
1198
+ )
1199
+
1200
+ session.New = (
1201
+ method: "session.new",
1202
+ params: session.NewParameters
1203
+ )
1204
+
1205
+ session.NewParameters = {
1206
+ capabilities: session.CapabilitiesRequest
1207
+ }
1208
+
1209
+ session.End = (
1210
+ method: "session.end",
1211
+ params: EmptyParams
1212
+ )
1213
+
1214
+
1215
+ session.Subscribe = (
1216
+ method: "session.subscribe",
1217
+ params: session.SubscriptionRequest
1218
+ )
1219
+
1220
+ session.Unsubscribe = (
1221
+ method: "session.unsubscribe",
1222
+ params: session.UnsubscribeParameters,
1223
+ )
1224
+
1225
+ session.UnsubscribeParameters = session.UnsubscribeByAttributesRequest / session.UnsubscribeByIDRequest
1226
+
1227
+ BrowserCommand = (
1228
+ browser.Close //
1229
+ browser.CreateUserContext //
1230
+ browser.GetClientWindows //
1231
+ browser.GetUserContexts //
1232
+ browser.RemoveUserContext //
1233
+ browser.SetClientWindowState
1234
+ )
1235
+
1236
+ browser.ClientWindow = text;
1237
+
1238
+ browser.ClientWindowInfo = {
1239
+ active: bool,
1240
+ clientWindow: browser.ClientWindow,
1241
+ height: js-uint,
1242
+ state: "fullscreen" / "maximized" / "minimized" / "normal",
1243
+ width: js-uint,
1244
+ x: js-int,
1245
+ y: js-int,
1246
+ }
1247
+
1248
+ browser.UserContext = text;
1249
+
1250
+ browser.UserContextInfo = {
1251
+ userContext: browser.UserContext
1252
+ }
1253
+
1254
+ browser.Close = (
1255
+ method: "browser.close",
1256
+ params: EmptyParams,
1257
+ )
1258
+
1259
+ browser.CreateUserContext = (
1260
+ method: "browser.createUserContext",
1261
+ params: EmptyParams,
1262
+ )
1263
+
1264
+ browser.GetClientWindows = (
1265
+ method: "browser.getClientWindows",
1266
+ params: EmptyParams,
1267
+ )
1268
+
1269
+ browser.GetUserContexts = (
1270
+ method: "browser.getUserContexts",
1271
+ params: EmptyParams,
1272
+ )
1273
+
1274
+ browser.RemoveUserContext = (
1275
+ method: "browser.removeUserContext",
1276
+ params: browser.RemoveUserContextParameters
1277
+ )
1278
+
1279
+ browser.RemoveUserContextParameters = {
1280
+ userContext: browser.UserContext
1281
+ }
1282
+
1283
+ browser.SetClientWindowState = (
1284
+ method: "browser.setClientWindowState",
1285
+ params: browser.SetClientWindowStateParameters
1286
+ )
1287
+
1288
+ browser.SetClientWindowStateParameters = {
1289
+ clientWindow: browser.ClientWindow,
1290
+ (browser.ClientWindowNamedState // browser.ClientWindowRectState)
1291
+ }
1292
+
1293
+ browser.ClientWindowNamedState = (
1294
+ state: "fullscreen" / "maximized" / "minimized"
1295
+ )
1296
+
1297
+ browser.ClientWindowRectState = (
1298
+ state: "normal",
1299
+ ? width: js-uint,
1300
+ ? height: js-uint,
1301
+ ? x: js-int,
1302
+ ? y: js-int,
1303
+ )
1304
+
1305
+ BrowsingContextCommand = (
1306
+ browsingContext.Activate //
1307
+ browsingContext.CaptureScreenshot //
1308
+ browsingContext.Close //
1309
+ browsingContext.Create //
1310
+ browsingContext.GetTree //
1311
+ browsingContext.HandleUserPrompt //
1312
+ browsingContext.LocateNodes //
1313
+ browsingContext.Navigate //
1314
+ browsingContext.Print //
1315
+ browsingContext.Reload //
1316
+ browsingContext.SetViewport //
1317
+ browsingContext.TraverseHistory
1318
+ )
1319
+
1320
+ browsingContext.BrowsingContext = text;
1321
+
1322
+ browsingContext.Locator = (
1323
+ browsingContext.AccessibilityLocator /
1324
+ browsingContext.CssLocator /
1325
+ browsingContext.ContextLocator /
1326
+ browsingContext.InnerTextLocator /
1327
+ browsingContext.XPathLocator
1328
+ )
1329
+
1330
+ browsingContext.AccessibilityLocator = {
1331
+ type: "accessibility",
1332
+ value: {
1333
+ ? name: text,
1334
+ ? role: text,
1335
+ }
1336
+ }
1337
+
1338
+ browsingContext.CssLocator = {
1339
+ type: "css",
1340
+ value: text
1341
+ }
1342
+
1343
+ browsingContext.ContextLocator = {
1344
+ type: "context",
1345
+ value: {
1346
+ context: browsingContext.BrowsingContext,
1347
+ }
1348
+ }
1349
+
1350
+ browsingContext.InnerTextLocator = {
1351
+ type: "innerText",
1352
+ value: text,
1353
+ ? ignoreCase: bool
1354
+ ? matchType: "full" / "partial",
1355
+ ? maxDepth: js-uint,
1356
+ }
1357
+
1358
+ browsingContext.XPathLocator = {
1359
+ type: "xpath",
1360
+ value: text
1361
+ }
1362
+
1363
+ browsingContext.Navigation = text;
1364
+
1365
+ browsingContext.ReadinessState = "none" / "interactive" / "complete"
1366
+
1367
+ browsingContext.UserPromptType = "alert" / "beforeunload" / "confirm" / "prompt";
1368
+
1369
+ browsingContext.Activate = (
1370
+ method: "browsingContext.activate",
1371
+ params: browsingContext.ActivateParameters
1372
+ )
1373
+
1374
+ browsingContext.ActivateParameters = {
1375
+ context: browsingContext.BrowsingContext
1376
+ }
1377
+
1378
+ browsingContext.CaptureScreenshot = (
1379
+ method: "browsingContext.captureScreenshot",
1380
+ params: browsingContext.CaptureScreenshotParameters
1381
+ )
1382
+
1383
+ browsingContext.CaptureScreenshotParameters = {
1384
+ context: browsingContext.BrowsingContext,
1385
+ ? origin: ("viewport" / "document") .default "viewport",
1386
+ ? format: browsingContext.ImageFormat,
1387
+ ? clip: browsingContext.ClipRectangle,
1388
+ }
1389
+
1390
+ browsingContext.ImageFormat = {
1391
+ type: text,
1392
+ ? quality: 0.0..1.0,
1393
+ }
1394
+
1395
+ browsingContext.ClipRectangle = (
1396
+ browsingContext.BoxClipRectangle /
1397
+ browsingContext.ElementClipRectangle
1398
+ )
1399
+
1400
+ browsingContext.ElementClipRectangle = {
1401
+ type: "element",
1402
+ element: script.SharedReference
1403
+ }
1404
+
1405
+ browsingContext.BoxClipRectangle = {
1406
+ type: "box",
1407
+ x: float,
1408
+ y: float,
1409
+ width: float,
1410
+ height: float
1411
+ }
1412
+
1413
+ browsingContext.Close = (
1414
+ method: "browsingContext.close",
1415
+ params: browsingContext.CloseParameters
1416
+ )
1417
+
1418
+ browsingContext.CloseParameters = {
1419
+ context: browsingContext.BrowsingContext,
1420
+ ? promptUnload: bool .default false
1421
+ }
1422
+
1423
+ browsingContext.Create = (
1424
+ method: "browsingContext.create",
1425
+ params: browsingContext.CreateParameters
1426
+ )
1427
+
1428
+ browsingContext.CreateType = "tab" / "window"
1429
+
1430
+ browsingContext.CreateParameters = {
1431
+ type: browsingContext.CreateType,
1432
+ ? referenceContext: browsingContext.BrowsingContext,
1433
+ ? background: bool .default false,
1434
+ ? userContext: browser.UserContext
1435
+ }
1436
+
1437
+ browsingContext.GetTree = (
1438
+ method: "browsingContext.getTree",
1439
+ params: browsingContext.GetTreeParameters
1440
+ )
1441
+
1442
+ browsingContext.GetTreeParameters = {
1443
+ ? maxDepth: js-uint,
1444
+ ? root: browsingContext.BrowsingContext,
1445
+ }
1446
+
1447
+ browsingContext.HandleUserPrompt = (
1448
+ method: "browsingContext.handleUserPrompt",
1449
+ params: browsingContext.HandleUserPromptParameters
1450
+ )
1451
+
1452
+ browsingContext.HandleUserPromptParameters = {
1453
+ context: browsingContext.BrowsingContext,
1454
+ ? accept: bool,
1455
+ ? userText: text,
1456
+ }
1457
+
1458
+ browsingContext.LocateNodes = (
1459
+ method: "browsingContext.locateNodes",
1460
+ params: browsingContext.LocateNodesParameters
1461
+ )
1462
+
1463
+ browsingContext.LocateNodesParameters = {
1464
+ context: browsingContext.BrowsingContext,
1465
+ locator: browsingContext.Locator,
1466
+ ? maxNodeCount: (js-uint .ge 1),
1467
+ ? serializationOptions: script.SerializationOptions,
1468
+ ? startNodes: [ + script.SharedReference ]
1469
+ }
1470
+
1471
+ browsingContext.Navigate = (
1472
+ method: "browsingContext.navigate",
1473
+ params: browsingContext.NavigateParameters
1474
+ )
1475
+
1476
+ browsingContext.NavigateParameters = {
1477
+ context: browsingContext.BrowsingContext,
1478
+ url: text,
1479
+ ? wait: browsingContext.ReadinessState,
1480
+ }
1481
+
1482
+ browsingContext.Print = (
1483
+ method: "browsingContext.print",
1484
+ params: browsingContext.PrintParameters
1485
+ )
1486
+
1487
+ browsingContext.PrintParameters = {
1488
+ context: browsingContext.BrowsingContext,
1489
+ ? background: bool .default false,
1490
+ ? margin: browsingContext.PrintMarginParameters,
1491
+ ? orientation: ("portrait" / "landscape") .default "portrait",
1492
+ ? page: browsingContext.PrintPageParameters,
1493
+ ? pageRanges: [*(js-uint / text)],
1494
+ ? scale: 0.1..2.0 .default 1.0,
1495
+ ? shrinkToFit: bool .default true,
1496
+ }
1497
+
1498
+ browsingContext.PrintMarginParameters = {
1499
+ ? bottom: (float .ge 0.0) .default 1.0,
1500
+ ? left: (float .ge 0.0) .default 1.0,
1501
+ ? right: (float .ge 0.0) .default 1.0,
1502
+ ? top: (float .ge 0.0) .default 1.0,
1503
+ }
1504
+
1505
+ ; Minimum size is 1pt x 1pt. Conversion follows from
1506
+ ; https://www.w3.org/TR/css3-values/#absolute-lengths
1507
+ browsingContext.PrintPageParameters = {
1508
+ ? height: (float .ge 0.0352) .default 27.94,
1509
+ ? width: (float .ge 0.0352) .default 21.59,
1510
+ }
1511
+
1512
+ browsingContext.Reload = (
1513
+ method: "browsingContext.reload",
1514
+ params: browsingContext.ReloadParameters
1515
+ )
1516
+
1517
+ browsingContext.ReloadParameters = {
1518
+ context: browsingContext.BrowsingContext,
1519
+ ? ignoreCache: bool,
1520
+ ? wait: browsingContext.ReadinessState,
1521
+ }
1522
+
1523
+ browsingContext.SetViewport = (
1524
+ method: "browsingContext.setViewport",
1525
+ params: browsingContext.SetViewportParameters
1526
+ )
1527
+
1528
+ browsingContext.SetViewportParameters = {
1529
+ ? context: browsingContext.BrowsingContext,
1530
+ ? viewport: browsingContext.Viewport / null,
1531
+ ? devicePixelRatio: float .gt 0.0 / null,
1532
+ ? userContexts: [+browser.UserContext],
1533
+ }
1534
+
1535
+ browsingContext.Viewport = {
1536
+ width: js-uint,
1537
+ height: js-uint,
1538
+ }
1539
+
1540
+ browsingContext.TraverseHistory = (
1541
+ method: "browsingContext.traverseHistory",
1542
+ params: browsingContext.TraverseHistoryParameters
1543
+ )
1544
+
1545
+ browsingContext.TraverseHistoryParameters = {
1546
+ context: browsingContext.BrowsingContext,
1547
+ delta: js-int,
1548
+ }
1549
+
1550
+ EmulationCommand = (
1551
+ emulation.SetGeolocationOverride
1552
+ )
1553
+
1554
+ emulation.SetGeolocationOverride = (
1555
+ method: "emulation.setGeolocationOverride",
1556
+ params: emulation.SetGeolocationOverrideParameters
1557
+ )
1558
+
1559
+ emulation.SetGeolocationOverrideParameters = {
1560
+ coordinates: emulation.GeolocationCoordinates / null,
1561
+ ? contexts: [+browsingContext.BrowsingContext],
1562
+ ? userContexts: [+browser.UserContext],
1563
+ }
1564
+
1565
+ emulation.GeolocationCoordinates = {
1566
+ latitude: float,
1567
+ longitude: float,
1568
+ ? accuracy: float .default 1.0,
1569
+ ? altitude: float / null,
1570
+ ? altitudeAccuracy: float / null,
1571
+ ? heading: float / null,
1572
+ ? speed: float / null
1573
+ }
1574
+
1575
+
1576
+ NetworkCommand = (
1577
+ network.AddIntercept //
1578
+ network.ContinueRequest //
1579
+ network.ContinueResponse //
1580
+ network.ContinueWithAuth //
1581
+ network.FailRequest //
1582
+ network.ProvideResponse //
1583
+ network.RemoveIntercept //
1584
+ network.SetCacheBehavior
1585
+ )
1586
+
1587
+
1588
+ network.AuthCredentials = {
1589
+ type: "password",
1590
+ username: text,
1591
+ password: text,
1592
+ }
1593
+
1594
+ network.BytesValue = network.StringValue / network.Base64Value;
1595
+
1596
+ network.StringValue = {
1597
+ type: "string",
1598
+ value: text,
1599
+ }
1600
+
1601
+ network.Base64Value = {
1602
+ type: "base64",
1603
+ value: text,
1604
+ }
1605
+
1606
+
1607
+ network.SameSite = "strict" / "lax" / "none"
1608
+
1609
+
1610
+ network.Cookie = {
1611
+ name: text,
1612
+ value: network.BytesValue,
1613
+ domain: text,
1614
+ path: text,
1615
+ size: js-uint,
1616
+ httpOnly: bool,
1617
+ secure: bool,
1618
+ sameSite: network.SameSite,
1619
+ ? expiry: js-uint,
1620
+ Extensible,
1621
+ }
1622
+
1623
+ network.CookieHeader = {
1624
+ name: text,
1625
+ value: network.BytesValue,
1626
+ }
1627
+
1628
+ network.Header = {
1629
+ name: text,
1630
+ value: network.BytesValue,
1631
+ }
1632
+
1633
+ network.Intercept = text
1634
+
1635
+ network.Request = text;
1636
+
1637
+
1638
+ network.SetCookieHeader = {
1639
+ name: text,
1640
+ value: network.BytesValue,
1641
+ ? domain: text,
1642
+ ? httpOnly: bool,
1643
+ ? expiry: text,
1644
+ ? maxAge: js-int,
1645
+ ? path: text,
1646
+ ? sameSite: network.SameSite,
1647
+ ? secure: bool,
1648
+ }
1649
+
1650
+ network.UrlPattern = (
1651
+ network.UrlPatternPattern /
1652
+ network.UrlPatternString
1653
+ )
1654
+
1655
+ network.UrlPatternPattern = {
1656
+ type: "pattern",
1657
+ ?protocol: text,
1658
+ ?hostname: text,
1659
+ ?port: text,
1660
+ ?pathname: text,
1661
+ ?search: text,
1662
+ }
1663
+
1664
+
1665
+ network.UrlPatternString = {
1666
+ type: "string",
1667
+ pattern: text,
1668
+ }
1669
+
1670
+
1671
+ network.AddIntercept = (
1672
+ method: "network.addIntercept",
1673
+ params: network.AddInterceptParameters
1674
+ )
1675
+
1676
+ network.AddInterceptParameters = {
1677
+ phases: [+network.InterceptPhase],
1678
+ ? contexts: [+browsingContext.BrowsingContext],
1679
+ ? urlPatterns: [*network.UrlPattern],
1680
+ }
1681
+
1682
+ network.InterceptPhase = "beforeRequestSent" / "responseStarted" /
1683
+ "authRequired"
1684
+
1685
+ network.ContinueRequest = (
1686
+ method: "network.continueRequest",
1687
+ params: network.ContinueRequestParameters
1688
+ )
1689
+
1690
+ network.ContinueRequestParameters = {
1691
+ request: network.Request,
1692
+ ?body: network.BytesValue,
1693
+ ?cookies: [*network.CookieHeader],
1694
+ ?headers: [*network.Header],
1695
+ ?method: text,
1696
+ ?url: text,
1697
+ }
1698
+
1699
+ network.ContinueResponse = (
1700
+ method: "network.continueResponse",
1701
+ params: network.ContinueResponseParameters
1702
+ )
1703
+
1704
+ network.ContinueResponseParameters = {
1705
+ request: network.Request,
1706
+ ?cookies: [*network.SetCookieHeader]
1707
+ ?credentials: network.AuthCredentials,
1708
+ ?headers: [*network.Header],
1709
+ ?reasonPhrase: text,
1710
+ ?statusCode: js-uint,
1711
+ }
1712
+
1713
+ network.ContinueWithAuth = (
1714
+ method: "network.continueWithAuth",
1715
+ params: network.ContinueWithAuthParameters
1716
+ )
1717
+
1718
+ network.ContinueWithAuthParameters = {
1719
+ request: network.Request,
1720
+ (network.ContinueWithAuthCredentials // network.ContinueWithAuthNoCredentials)
1721
+ }
1722
+
1723
+ network.ContinueWithAuthCredentials = (
1724
+ action: "provideCredentials",
1725
+ credentials: network.AuthCredentials
1726
+ )
1727
+
1728
+ network.ContinueWithAuthNoCredentials = (
1729
+ action: "default" / "cancel"
1730
+ )
1731
+
1732
+ network.FailRequest = (
1733
+ method: "network.failRequest",
1734
+ params: network.FailRequestParameters
1735
+ )
1736
+
1737
+ network.FailRequestParameters = {
1738
+ request: network.Request,
1739
+ }
1740
+
1741
+ network.ProvideResponse = (
1742
+ method: "network.provideResponse",
1743
+ params: network.ProvideResponseParameters
1744
+ )
1745
+
1746
+ network.ProvideResponseParameters = {
1747
+ request: network.Request,
1748
+ ?body: network.BytesValue,
1749
+ ?cookies: [*network.SetCookieHeader],
1750
+ ?headers: [*network.Header],
1751
+ ?reasonPhrase: text,
1752
+ ?statusCode: js-uint,
1753
+ }
1754
+
1755
+ network.RemoveIntercept = (
1756
+ method: "network.removeIntercept",
1757
+ params: network.RemoveInterceptParameters
1758
+ )
1759
+
1760
+ network.RemoveInterceptParameters = {
1761
+ intercept: network.Intercept
1762
+ }
1763
+
1764
+ network.SetCacheBehavior = (
1765
+ method: "network.setCacheBehavior",
1766
+ params: network.SetCacheBehaviorParameters
1767
+ )
1768
+
1769
+ network.SetCacheBehaviorParameters = {
1770
+ cacheBehavior: "default" / "bypass",
1771
+ ? contexts: [+browsingContext.BrowsingContext]
1772
+ }
1773
+
1774
+ ScriptCommand = (
1775
+ script.AddPreloadScript //
1776
+ script.CallFunction //
1777
+ script.Disown //
1778
+ script.Evaluate //
1779
+ script.GetRealms //
1780
+ script.RemovePreloadScript
1781
+ )
1782
+
1783
+ script.Channel = text;
1784
+
1785
+ script.ChannelValue = {
1786
+ type: "channel",
1787
+ value: script.ChannelProperties,
1788
+ }
1789
+
1790
+ script.ChannelProperties = {
1791
+ channel: script.Channel,
1792
+ ? serializationOptions: script.SerializationOptions,
1793
+ ? ownership: script.ResultOwnership,
1794
+ }
1795
+
1796
+ script.EvaluateResult = (
1797
+ script.EvaluateResultSuccess /
1798
+ script.EvaluateResultException
1799
+ )
1800
+
1801
+ script.EvaluateResultSuccess = {
1802
+ type: "success",
1803
+ result: script.RemoteValue,
1804
+ realm: script.Realm
1805
+ }
1806
+
1807
+ script.EvaluateResultException = {
1808
+ type: "exception",
1809
+ exceptionDetails: script.ExceptionDetails
1810
+ realm: script.Realm
1811
+ }
1812
+
1813
+ script.ExceptionDetails = {
1814
+ columnNumber: js-uint,
1815
+ exception: script.RemoteValue,
1816
+ lineNumber: js-uint,
1817
+ stackTrace: script.StackTrace,
1818
+ text: text,
1819
+ }
1820
+
1821
+ script.Handle = text;
1822
+
1823
+ script.InternalId = text;
1824
+
1825
+ script.LocalValue = (
1826
+ script.RemoteReference /
1827
+ script.PrimitiveProtocolValue /
1828
+ script.ChannelValue /
1829
+ script.ArrayLocalValue /
1830
+ script.DateLocalValue /
1831
+ script.MapLocalValue /
1832
+ script.ObjectLocalValue /
1833
+ script.RegExpLocalValue /
1834
+ script.SetLocalValue
1835
+ )
1836
+
1837
+ script.ListLocalValue = [*script.LocalValue];
1838
+
1839
+ script.ArrayLocalValue = {
1840
+ type: "array",
1841
+ value: script.ListLocalValue,
1842
+ }
1843
+
1844
+ script.DateLocalValue = {
1845
+ type: "date",
1846
+ value: text
1847
+ }
1848
+
1849
+ script.MappingLocalValue = [*[(script.LocalValue / text), script.LocalValue]];
1850
+
1851
+ script.MapLocalValue = {
1852
+ type: "map",
1853
+ value: script.MappingLocalValue,
1854
+ }
1855
+
1856
+ script.ObjectLocalValue = {
1857
+ type: "object",
1858
+ value: script.MappingLocalValue,
1859
+ }
1860
+
1861
+ script.RegExpValue = {
1862
+ pattern: text,
1863
+ ? flags: text,
1864
+ }
1865
+
1866
+ script.RegExpLocalValue = {
1867
+ type: "regexp",
1868
+ value: script.RegExpValue,
1869
+ }
1870
+
1871
+ script.SetLocalValue = {
1872
+ type: "set",
1873
+ value: script.ListLocalValue,
1874
+ }
1875
+
1876
+ script.PreloadScript = text;
1877
+
1878
+ script.Realm = text;
1879
+
1880
+ script.PrimitiveProtocolValue = (
1881
+ script.UndefinedValue /
1882
+ script.NullValue /
1883
+ script.StringValue /
1884
+ script.NumberValue /
1885
+ script.BooleanValue /
1886
+ script.BigIntValue
1887
+ )
1888
+
1889
+ script.UndefinedValue = {
1890
+ type: "undefined",
1891
+ }
1892
+
1893
+ script.NullValue = {
1894
+ type: "null",
1895
+ }
1896
+
1897
+ script.StringValue = {
1898
+ type: "string",
1899
+ value: text,
1900
+ }
1901
+
1902
+ script.SpecialNumber = "NaN" / "-0" / "Infinity" / "-Infinity";
1903
+
1904
+ script.NumberValue = {
1905
+ type: "number",
1906
+ value: number / script.SpecialNumber,
1907
+ }
1908
+
1909
+ script.BooleanValue = {
1910
+ type: "boolean",
1911
+ value: bool,
1912
+ }
1913
+
1914
+ script.BigIntValue = {
1915
+ type: "bigint",
1916
+ value: text,
1917
+ }
1918
+
1919
+ script.RealmType = "window" / "dedicated-worker" / "shared-worker" / "service-worker" /
1920
+ "worker" / "paint-worklet" / "audio-worklet" / "worklet"
1921
+
1922
+
1923
+
1924
+ script.RemoteReference = (
1925
+ script.SharedReference /
1926
+ script.RemoteObjectReference
1927
+ )
1928
+
1929
+ script.SharedReference = {
1930
+ sharedId: script.SharedId
1931
+
1932
+ ? handle: script.Handle,
1933
+ Extensible
1934
+ }
1935
+
1936
+ script.RemoteObjectReference = {
1937
+ handle: script.Handle,
1938
+
1939
+ ? sharedId: script.SharedId
1940
+ Extensible
1941
+ }
1942
+
1943
+ script.RemoteValue = (
1944
+ script.PrimitiveProtocolValue /
1945
+ script.SymbolRemoteValue /
1946
+ script.ArrayRemoteValue /
1947
+ script.ObjectRemoteValue /
1948
+ script.FunctionRemoteValue /
1949
+ script.RegExpRemoteValue /
1950
+ script.DateRemoteValue /
1951
+ script.MapRemoteValue /
1952
+ script.SetRemoteValue /
1953
+ script.WeakMapRemoteValue /
1954
+ script.WeakSetRemoteValue /
1955
+ script.GeneratorRemoteValue /
1956
+ script.ErrorRemoteValue /
1957
+ script.ProxyRemoteValue /
1958
+ script.PromiseRemoteValue /
1959
+ script.TypedArrayRemoteValue /
1960
+ script.ArrayBufferRemoteValue /
1961
+ script.NodeListRemoteValue /
1962
+ script.HTMLCollectionRemoteValue /
1963
+ script.NodeRemoteValue /
1964
+ script.WindowProxyRemoteValue
1965
+ )
1966
+
1967
+ script.ListRemoteValue = [*script.RemoteValue];
1968
+
1969
+ script.MappingRemoteValue = [*[(script.RemoteValue / text), script.RemoteValue]];
1970
+
1971
+ script.SymbolRemoteValue = {
1972
+ type: "symbol",
1973
+ ? handle: script.Handle,
1974
+ ? internalId: script.InternalId,
1975
+ }
1976
+
1977
+ script.ArrayRemoteValue = {
1978
+ type: "array",
1979
+ ? handle: script.Handle,
1980
+ ? internalId: script.InternalId,
1981
+ ? value: script.ListRemoteValue,
1982
+ }
1983
+
1984
+ script.ObjectRemoteValue = {
1985
+ type: "object",
1986
+ ? handle: script.Handle,
1987
+ ? internalId: script.InternalId,
1988
+ ? value: script.MappingRemoteValue,
1989
+ }
1990
+
1991
+ script.FunctionRemoteValue = {
1992
+ type: "function",
1993
+ ? handle: script.Handle,
1994
+ ? internalId: script.InternalId,
1995
+ }
1996
+
1997
+ script.MapRemoteValue = {
1998
+ type: "map",
1999
+ ? handle: script.Handle,
2000
+ ? internalId: script.InternalId,
2001
+ ? value: script.MappingRemoteValue,
2002
+ }
2003
+
2004
+ script.SetRemoteValue = {
2005
+ type: "set",
2006
+ ? handle: script.Handle,
2007
+ ? internalId: script.InternalId,
2008
+ ? value: script.ListRemoteValue
2009
+ }
2010
+
2011
+ script.WeakMapRemoteValue = {
2012
+ type: "weakmap",
2013
+ ? handle: script.Handle,
2014
+ ? internalId: script.InternalId,
2015
+ }
2016
+
2017
+ script.WeakSetRemoteValue = {
2018
+ type: "weakset",
2019
+ ? handle: script.Handle,
2020
+ ? internalId: script.InternalId,
2021
+ }
2022
+
2023
+ script.GeneratorRemoteValue = {
2024
+ type: "generator",
2025
+ ? handle: script.Handle,
2026
+ ? internalId: script.InternalId,
2027
+ }
2028
+
2029
+ script.ErrorRemoteValue = {
2030
+ type: "error",
2031
+ ? handle: script.Handle,
2032
+ ? internalId: script.InternalId,
2033
+ }
2034
+
2035
+ script.ProxyRemoteValue = {
2036
+ type: "proxy",
2037
+ ? handle: script.Handle,
2038
+ ? internalId: script.InternalId,
2039
+ }
2040
+
2041
+ script.PromiseRemoteValue = {
2042
+ type: "promise",
2043
+ ? handle: script.Handle,
2044
+ ? internalId: script.InternalId,
2045
+ }
2046
+
2047
+ script.TypedArrayRemoteValue = {
2048
+ type: "typedarray",
2049
+ ? handle: script.Handle,
2050
+ ? internalId: script.InternalId,
2051
+ }
2052
+
2053
+ script.ArrayBufferRemoteValue = {
2054
+ type: "arraybuffer",
2055
+ ? handle: script.Handle,
2056
+ ? internalId: script.InternalId,
2057
+ }
2058
+
2059
+ script.NodeListRemoteValue = {
2060
+ type: "nodelist",
2061
+ ? handle: script.Handle,
2062
+ ? internalId: script.InternalId,
2063
+ ? value: script.ListRemoteValue,
2064
+ }
2065
+
2066
+ script.HTMLCollectionRemoteValue = {
2067
+ type: "htmlcollection",
2068
+ ? handle: script.Handle,
2069
+ ? internalId: script.InternalId,
2070
+ ? value: script.ListRemoteValue,
2071
+ }
2072
+
2073
+ script.NodeRemoteValue = {
2074
+ type: "node",
2075
+ ? sharedId: script.SharedId,
2076
+ ? handle: script.Handle,
2077
+ ? internalId: script.InternalId,
2078
+ ? value: script.NodeProperties,
2079
+ }
2080
+
2081
+ script.NodeProperties = {
2082
+ nodeType: js-uint,
2083
+ childNodeCount: js-uint,
2084
+ ? attributes: {*text => text},
2085
+ ? children: [*script.NodeRemoteValue],
2086
+ ? localName: text,
2087
+ ? mode: "open" / "closed",
2088
+ ? namespaceURI: text,
2089
+ ? nodeValue: text,
2090
+ ? shadowRoot: script.NodeRemoteValue / null,
2091
+ }
2092
+
2093
+ script.WindowProxyRemoteValue = {
2094
+ type: "window",
2095
+ value: script.WindowProxyProperties,
2096
+ ? handle: script.Handle,
2097
+ ? internalId: script.InternalId
2098
+ }
2099
+
2100
+ script.WindowProxyProperties = {
2101
+ context: browsingContext.BrowsingContext
2102
+ }
2103
+
2104
+ script.ResultOwnership = "root" / "none"
2105
+
2106
+ script.SerializationOptions = {
2107
+ ? maxDomDepth: (js-uint / null) .default 0,
2108
+ ? maxObjectDepth: (js-uint / null) .default null,
2109
+ ? includeShadowTree: ("none" / "open" / "all") .default "none",
2110
+ }
2111
+
2112
+ script.SharedId = text;
2113
+
2114
+ script.StackFrame = {
2115
+ columnNumber: js-uint,
2116
+ functionName: text,
2117
+ lineNumber: js-uint,
2118
+ url: text,
2119
+ }
2120
+
2121
+ script.StackTrace = {
2122
+ callFrames: [*script.StackFrame],
2123
+ }
2124
+
2125
+ script.RealmTarget = {
2126
+ realm: script.Realm
2127
+ }
2128
+
2129
+ script.ContextTarget = {
2130
+ context: browsingContext.BrowsingContext,
2131
+ ? sandbox: text
2132
+ }
2133
+
2134
+ script.Target = (
2135
+ script.ContextTarget /
2136
+ script.RealmTarget
2137
+ )
2138
+
2139
+ script.AddPreloadScript = (
2140
+ method: "script.addPreloadScript",
2141
+ params: script.AddPreloadScriptParameters
2142
+ )
2143
+
2144
+ script.AddPreloadScriptParameters = {
2145
+ functionDeclaration: text,
2146
+ ? arguments: [*script.ChannelValue],
2147
+ ? contexts: [+browsingContext.BrowsingContext],
2148
+ ? userContexts: [+browser.UserContext],
2149
+ ? sandbox: text
2150
+ }
2151
+
2152
+ script.Disown = (
2153
+ method: "script.disown",
2154
+ params: script.DisownParameters
2155
+ )
2156
+
2157
+ script.DisownParameters = {
2158
+ handles: [*script.Handle]
2159
+ target: script.Target;
2160
+ }
2161
+
2162
+ script.CallFunction = (
2163
+ method: "script.callFunction",
2164
+ params: script.CallFunctionParameters
2165
+ )
2166
+
2167
+ script.CallFunctionParameters = {
2168
+ functionDeclaration: text,
2169
+ awaitPromise: bool,
2170
+ target: script.Target,
2171
+ ? arguments: [*script.LocalValue],
2172
+ ? resultOwnership: script.ResultOwnership,
2173
+ ? serializationOptions: script.SerializationOptions,
2174
+ ? this: script.LocalValue,
2175
+ ? userActivation: bool .default false,
2176
+ }
2177
+
2178
+ script.Evaluate = (
2179
+ method: "script.evaluate",
2180
+ params: script.EvaluateParameters
2181
+ )
2182
+
2183
+ script.EvaluateParameters = {
2184
+ expression: text,
2185
+ target: script.Target,
2186
+ awaitPromise: bool,
2187
+ ? resultOwnership: script.ResultOwnership,
2188
+ ? serializationOptions: script.SerializationOptions,
2189
+ ? userActivation: bool .default false,
2190
+ }
2191
+
2192
+ script.GetRealms = (
2193
+ method: "script.getRealms",
2194
+ params: script.GetRealmsParameters
2195
+ )
2196
+
2197
+ script.GetRealmsParameters = {
2198
+ ? context: browsingContext.BrowsingContext,
2199
+ ? type: script.RealmType,
2200
+ }
2201
+
2202
+ script.RemovePreloadScript = (
2203
+ method: "script.removePreloadScript",
2204
+ params: script.RemovePreloadScriptParameters
2205
+ )
2206
+
2207
+ script.RemovePreloadScriptParameters = {
2208
+ script: script.PreloadScript
2209
+ }
2210
+
2211
+ StorageCommand = (
2212
+ storage.DeleteCookies //
2213
+ storage.GetCookies //
2214
+ storage.SetCookie
2215
+ )
2216
+
2217
+ storage.PartitionKey = {
2218
+ ? userContext: text,
2219
+ ? sourceOrigin: text,
2220
+ Extensible,
2221
+ }
2222
+
2223
+ storage.GetCookies = (
2224
+ method: "storage.getCookies",
2225
+ params: storage.GetCookiesParameters
2226
+ )
2227
+
2228
+
2229
+ storage.CookieFilter = {
2230
+ ? name: text,
2231
+ ? value: network.BytesValue,
2232
+ ? domain: text,
2233
+ ? path: text,
2234
+ ? size: js-uint,
2235
+ ? httpOnly: bool,
2236
+ ? secure: bool,
2237
+ ? sameSite: network.SameSite,
2238
+ ? expiry: js-uint,
2239
+ Extensible,
2240
+ }
2241
+
2242
+ storage.BrowsingContextPartitionDescriptor = {
2243
+ type: "context",
2244
+ context: browsingContext.BrowsingContext
2245
+ }
2246
+
2247
+ storage.StorageKeyPartitionDescriptor = {
2248
+ type: "storageKey",
2249
+ ? userContext: text,
2250
+ ? sourceOrigin: text,
2251
+ Extensible,
2252
+ }
2253
+
2254
+ storage.PartitionDescriptor = (
2255
+ storage.BrowsingContextPartitionDescriptor /
2256
+ storage.StorageKeyPartitionDescriptor
2257
+ )
2258
+
2259
+ storage.GetCookiesParameters = {
2260
+ ? filter: storage.CookieFilter,
2261
+ ? partition: storage.PartitionDescriptor,
2262
+ }
2263
+
2264
+ storage.SetCookie = (
2265
+ method: "storage.setCookie",
2266
+ params: storage.SetCookieParameters,
2267
+ )
2268
+
2269
+
2270
+ storage.PartialCookie = {
2271
+ name: text,
2272
+ value: network.BytesValue,
2273
+ domain: text,
2274
+ ? path: text,
2275
+ ? httpOnly: bool,
2276
+ ? secure: bool,
2277
+ ? sameSite: network.SameSite,
2278
+ ? expiry: js-uint,
2279
+ Extensible,
2280
+ }
2281
+
2282
+ storage.SetCookieParameters = {
2283
+ cookie: storage.PartialCookie,
2284
+ ? partition: storage.PartitionDescriptor,
2285
+ }
2286
+
2287
+ storage.DeleteCookies = (
2288
+ method: "storage.deleteCookies",
2289
+ params: storage.DeleteCookiesParameters,
2290
+ )
2291
+
2292
+ storage.DeleteCookiesParameters = {
2293
+ ? filter: storage.CookieFilter,
2294
+ ? partition: storage.PartitionDescriptor,
2295
+ }
2296
+
2297
+
2298
+ InputCommand = (
2299
+ input.PerformActions //
2300
+ input.ReleaseActions //
2301
+ input.SetFiles
2302
+ )
2303
+
2304
+ input.ElementOrigin = {
2305
+ type: "element",
2306
+ element: script.SharedReference
2307
+ }
2308
+
2309
+ input.PerformActions = (
2310
+ method: "input.performActions",
2311
+ params: input.PerformActionsParameters
2312
+ )
2313
+
2314
+ input.PerformActionsParameters = {
2315
+ context: browsingContext.BrowsingContext,
2316
+ actions: [*input.SourceActions]
2317
+ }
2318
+
2319
+ input.SourceActions = (
2320
+ input.NoneSourceActions /
2321
+ input.KeySourceActions /
2322
+ input.PointerSourceActions /
2323
+ input.WheelSourceActions
2324
+ )
2325
+
2326
+ input.NoneSourceActions = {
2327
+ type: "none",
2328
+ id: text,
2329
+ actions: [*input.NoneSourceAction]
2330
+ }
2331
+
2332
+ input.NoneSourceAction = input.PauseAction
2333
+
2334
+ input.KeySourceActions = {
2335
+ type: "key",
2336
+ id: text,
2337
+ actions: [*input.KeySourceAction]
2338
+ }
2339
+
2340
+ input.KeySourceAction = (
2341
+ input.PauseAction /
2342
+ input.KeyDownAction /
2343
+ input.KeyUpAction
2344
+ )
2345
+
2346
+ input.PointerSourceActions = {
2347
+ type: "pointer",
2348
+ id: text,
2349
+ ? parameters: input.PointerParameters,
2350
+ actions: [*input.PointerSourceAction]
2351
+ }
2352
+
2353
+ input.PointerType = "mouse" / "pen" / "touch"
2354
+
2355
+ input.PointerParameters = {
2356
+ ? pointerType: input.PointerType .default "mouse"
2357
+ }
2358
+
2359
+ input.PointerSourceAction = (
2360
+ input.PauseAction /
2361
+ input.PointerDownAction /
2362
+ input.PointerUpAction /
2363
+ input.PointerMoveAction
2364
+ )
2365
+
2366
+ input.WheelSourceActions = {
2367
+ type: "wheel",
2368
+ id: text,
2369
+ actions: [*input.WheelSourceAction]
2370
+ }
2371
+
2372
+ input.WheelSourceAction = (
2373
+ input.PauseAction /
2374
+ input.WheelScrollAction
2375
+ )
2376
+
2377
+ input.PauseAction = {
2378
+ type: "pause",
2379
+ ? duration: js-uint
2380
+ }
2381
+
2382
+ input.KeyDownAction = {
2383
+ type: "keyDown",
2384
+ value: text
2385
+ }
2386
+
2387
+ input.KeyUpAction = {
2388
+ type: "keyUp",
2389
+ value: text
2390
+ }
2391
+
2392
+ input.PointerUpAction = {
2393
+ type: "pointerUp",
2394
+ button: js-uint,
2395
+ }
2396
+
2397
+ input.PointerDownAction = {
2398
+ type: "pointerDown",
2399
+ button: js-uint,
2400
+ input.PointerCommonProperties
2401
+ }
2402
+
2403
+ input.PointerMoveAction = {
2404
+ type: "pointerMove",
2405
+ x: float,
2406
+ y: float,
2407
+ ? duration: js-uint,
2408
+ ? origin: input.Origin,
2409
+ input.PointerCommonProperties
2410
+ }
2411
+
2412
+ input.WheelScrollAction = {
2413
+ type: "scroll",
2414
+ x: js-int,
2415
+ y: js-int,
2416
+ deltaX: js-int,
2417
+ deltaY: js-int,
2418
+ ? duration: js-uint,
2419
+ ? origin: input.Origin .default "viewport",
2420
+ }
2421
+
2422
+ input.PointerCommonProperties = (
2423
+ ? width: js-uint .default 1,
2424
+ ? height: js-uint .default 1,
2425
+ ? pressure: float .default 0.0,
2426
+ ? tangentialPressure: float .default 0.0,
2427
+ ? twist: 0..359 .default 0,
2428
+ ; 0 .. Math.PI / 2
2429
+ ? altitudeAngle: 0.0..1.5707963267948966 .default 0.0,
2430
+ ; 0 .. 2 * Math.PI
2431
+ ? azimuthAngle: 0.0..6.283185307179586 .default 0.0,
2432
+ )
2433
+
2434
+ input.Origin = "viewport" / "pointer" / input.ElementOrigin
2435
+
2436
+ input.ReleaseActions = (
2437
+ method: "input.releaseActions",
2438
+ params: input.ReleaseActionsParameters
2439
+ )
2440
+
2441
+ input.ReleaseActionsParameters = {
2442
+ context: browsingContext.BrowsingContext,
2443
+ }
2444
+
2445
+ input.SetFiles = (
2446
+ method: "input.setFiles",
2447
+ params: input.SetFilesParameters
2448
+ )
2449
+
2450
+ input.SetFilesParameters = {
2451
+ context: browsingContext.BrowsingContext,
2452
+ element: script.SharedReference,
2453
+ files: [*text]
2454
+ }
2455
+
2456
+ input.FileDialogOpened = (
2457
+ method: "input.fileDialogOpened",
2458
+ params: input.FileDialogInfo
2459
+ )
2460
+
2461
+ input.FileDialogInfo = {
2462
+ context: browsingContext.BrowsingContext,
2463
+ ? element: script.SharedReference,
2464
+ multiple: bool,
2465
+ }
2466
+
2467
+ WebExtensionCommand = (
2468
+ webExtension.Install //
2469
+ webExtension.Uninstall
2470
+ )
2471
+
2472
+ webExtension.Extension = text
2473
+
2474
+ webExtension.Install = (
2475
+ method: "webExtension.install",
2476
+ params: webExtension.InstallParameters
2477
+ )
2478
+
2479
+ webExtension.InstallParameters = {
2480
+ extensionData: webExtension.ExtensionData,
2481
+ }
2482
+
2483
+ webExtension.ExtensionData = (
2484
+ webExtension.ExtensionArchivePath /
2485
+ webExtension.ExtensionBase64Encoded /
2486
+ webExtension.ExtensionPath
2487
+ )
2488
+
2489
+ webExtension.ExtensionPath = {
2490
+ type: "path",
2491
+ path: text,
2492
+ }
2493
+
2494
+ webExtension.ExtensionArchivePath = {
2495
+ type: "archivePath",
2496
+ path: text,
2497
+ }
2498
+
2499
+ webExtension.ExtensionBase64Encoded = {
2500
+ type: "base64",
2501
+ value: text,
2502
+ }
2503
+
2504
+ webExtension.Uninstall = (
2505
+ method: "webExtension.uninstall",
2506
+ params: webExtension.UninstallParameters
2507
+ )
2508
+
2509
+ webExtension.UninstallParameters = {
2510
+ extension: webExtension.Extension,
2511
+ }