@checkly/playwright-core 1.48.22 → 1.51.11-beta.1

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 (307) hide show
  1. package/ThirdPartyNotices.txt +60 -48
  2. package/bin/reinstall_chrome_beta_linux.sh +10 -8
  3. package/bin/reinstall_chrome_stable_linux.sh +10 -8
  4. package/bin/reinstall_msedge_beta_linux.sh +17 -9
  5. package/bin/reinstall_msedge_dev_linux.sh +17 -9
  6. package/bin/reinstall_msedge_stable_linux.sh +17 -9
  7. package/browsers.json +33 -12
  8. package/index.js +0 -1
  9. package/lib/androidServerImpl.js +5 -5
  10. package/lib/browserServerImpl.js +18 -9
  11. package/lib/checkly/secretsFilter.js +1 -1
  12. package/lib/cli/driver.js +6 -6
  13. package/lib/cli/program.js +38 -43
  14. package/lib/cli/programWithTestStub.js +2 -1
  15. package/lib/client/android.js +37 -58
  16. package/lib/client/artifact.js +4 -7
  17. package/lib/client/browser.js +10 -15
  18. package/lib/client/browserContext.js +69 -62
  19. package/lib/client/browserType.js +30 -64
  20. package/lib/client/channelOwner.js +53 -68
  21. package/lib/client/clientHelper.js +4 -6
  22. package/lib/client/clientInstrumentation.js +2 -0
  23. package/lib/client/clientStackTrace.js +65 -0
  24. package/lib/client/connection.js +48 -41
  25. package/lib/client/consoleMessage.js +4 -7
  26. package/lib/client/electron.js +10 -10
  27. package/lib/client/elementHandle.js +32 -33
  28. package/lib/client/errors.js +2 -2
  29. package/lib/client/eventEmitter.js +5 -8
  30. package/lib/client/fetch.js +61 -62
  31. package/lib/client/fileUtils.js +31 -0
  32. package/lib/client/frame.js +22 -23
  33. package/lib/client/harRouter.js +7 -9
  34. package/lib/client/jsHandle.js +3 -4
  35. package/lib/client/localUtils.js +24 -0
  36. package/lib/client/locator.js +27 -13
  37. package/lib/client/network.js +44 -37
  38. package/lib/client/page.js +50 -41
  39. package/lib/client/platform.js +71 -0
  40. package/lib/client/playwright.js +21 -1
  41. package/lib/client/selectors.js +8 -2
  42. package/lib/client/stream.js +2 -21
  43. package/lib/client/timeoutSettings.js +65 -0
  44. package/lib/client/tracing.js +29 -7
  45. package/lib/client/video.js +2 -2
  46. package/lib/client/waiter.js +19 -16
  47. package/lib/client/webSocket.js +106 -0
  48. package/lib/client/worker.js +4 -4
  49. package/lib/client/writableStream.js +2 -21
  50. package/lib/generated/consoleApiSource.js +1 -1
  51. package/lib/generated/injectedScriptSource.js +1 -1
  52. package/lib/generated/pollingRecorderSource.js +1 -1
  53. package/lib/generated/recorderSource.js +7 -0
  54. package/lib/generated/webSocketMockSource.js +1 -1
  55. package/lib/inProcessFactory.js +8 -3
  56. package/lib/outofprocess.js +12 -8
  57. package/lib/protocol/debug.js +1 -1
  58. package/lib/protocol/validator.js +77 -11
  59. package/lib/protocol/validatorPrimitives.js +1 -2
  60. package/lib/remote/playwrightConnection.js +21 -12
  61. package/lib/remote/playwrightServer.js +22 -8
  62. package/lib/server/android/android.js +17 -14
  63. package/lib/server/android/backendAdb.js +14 -14
  64. package/lib/server/artifact.js +3 -3
  65. package/lib/server/bidi/bidiBrowser.js +11 -8
  66. package/lib/server/bidi/bidiChromium.js +5 -4
  67. package/lib/server/bidi/bidiConnection.js +1 -3
  68. package/lib/server/bidi/bidiExecutionContext.js +71 -25
  69. package/lib/server/bidi/bidiFirefox.js +4 -3
  70. package/lib/server/bidi/bidiInput.js +11 -12
  71. package/lib/server/bidi/bidiNetworkManager.js +11 -12
  72. package/lib/server/bidi/bidiOverCdp.js +2 -2
  73. package/lib/server/bidi/bidiPage.js +39 -66
  74. package/lib/server/bidi/third_party/bidiKeyboard.js +9 -7
  75. package/lib/server/bidi/third_party/firefoxPrefs.js +19 -3
  76. package/lib/server/browser.js +2 -2
  77. package/lib/server/browserContext.js +60 -55
  78. package/lib/server/browserType.js +22 -18
  79. package/lib/server/callLog.js +79 -0
  80. package/lib/server/chromium/chromium.js +20 -16
  81. package/lib/server/chromium/chromiumSwitches.js +32 -9
  82. package/lib/server/chromium/crBrowser.js +25 -24
  83. package/lib/server/chromium/crConnection.js +2 -2
  84. package/lib/server/chromium/crCoverage.js +1 -1
  85. package/lib/server/chromium/crDevTools.js +1 -1
  86. package/lib/server/chromium/crDragDrop.js +1 -1
  87. package/lib/server/chromium/crExecutionContext.js +26 -35
  88. package/lib/server/chromium/crInput.js +17 -6
  89. package/lib/server/chromium/crNetworkManager.js +3 -3
  90. package/lib/server/chromium/crPage.js +43 -55
  91. package/lib/server/chromium/crPdf.js +1 -1
  92. package/lib/server/chromium/crProtocolHelper.js +3 -3
  93. package/lib/server/chromium/crServiceWorker.js +2 -2
  94. package/lib/server/chromium/videoRecorder.js +2 -2
  95. package/lib/server/clock.js +1 -1
  96. package/lib/server/codegen/csharp.js +21 -16
  97. package/lib/server/codegen/java.js +17 -9
  98. package/lib/server/codegen/javascript.js +37 -7
  99. package/lib/server/codegen/jsonl.js +1 -1
  100. package/lib/server/codegen/languages.js +2 -2
  101. package/lib/server/codegen/python.js +14 -17
  102. package/lib/server/debugController.js +23 -45
  103. package/lib/server/debugger.js +1 -1
  104. package/lib/server/deviceDescriptors.js +1 -1
  105. package/lib/server/deviceDescriptorsSource.json +131 -131
  106. package/lib/server/dispatchers/androidDispatcher.js +14 -3
  107. package/lib/server/dispatchers/artifactDispatcher.js +3 -3
  108. package/lib/server/dispatchers/browserContextDispatcher.js +21 -32
  109. package/lib/server/dispatchers/browserTypeDispatcher.js +1 -1
  110. package/lib/server/dispatchers/cdpSessionDispatcher.js +1 -1
  111. package/lib/server/dispatchers/debugControllerDispatcher.js +5 -3
  112. package/lib/server/dispatchers/dispatcher.js +27 -25
  113. package/lib/server/dispatchers/electronDispatcher.js +3 -3
  114. package/lib/server/dispatchers/elementHandlerDispatcher.js +7 -2
  115. package/lib/server/dispatchers/frameDispatcher.js +9 -3
  116. package/lib/server/dispatchers/jsonPipeDispatcher.js +2 -2
  117. package/lib/server/dispatchers/localUtilsDispatcher.js +25 -291
  118. package/lib/server/dispatchers/networkDispatchers.js +3 -3
  119. package/lib/server/dispatchers/pageDispatcher.js +10 -8
  120. package/lib/server/dispatchers/playwrightDispatcher.js +5 -5
  121. package/lib/server/dispatchers/streamDispatcher.js +4 -3
  122. package/lib/server/dispatchers/tracingDispatcher.js +10 -0
  123. package/lib/server/dispatchers/webSocketRouteDispatcher.js +18 -18
  124. package/lib/server/dispatchers/writableStreamDispatcher.js +5 -6
  125. package/lib/server/dom.js +102 -48
  126. package/lib/server/download.js +1 -1
  127. package/lib/server/electron/electron.js +17 -16
  128. package/lib/server/errors.js +1 -1
  129. package/lib/server/fetch.js +49 -33
  130. package/lib/server/fileUploadUtils.js +7 -4
  131. package/lib/server/firefox/ffBrowser.js +17 -9
  132. package/lib/server/firefox/ffConnection.js +1 -1
  133. package/lib/server/firefox/ffExecutionContext.js +25 -29
  134. package/lib/server/firefox/ffInput.js +15 -4
  135. package/lib/server/firefox/ffNetworkManager.js +3 -3
  136. package/lib/server/firefox/ffPage.js +29 -50
  137. package/lib/server/firefox/firefox.js +7 -9
  138. package/lib/server/frameSelectors.js +1 -1
  139. package/lib/server/frames.js +65 -55
  140. package/lib/server/har/harRecorder.js +4 -4
  141. package/lib/server/har/harTracer.js +8 -9
  142. package/lib/server/harBackend.js +157 -0
  143. package/lib/server/helper.js +2 -2
  144. package/lib/server/index.js +1 -14
  145. package/lib/server/input.js +3 -4
  146. package/lib/server/instrumentation.js +2 -2
  147. package/lib/server/isomorphic/utilityScriptSerializers.js +3 -0
  148. package/lib/server/javascript.js +26 -33
  149. package/lib/server/launchApp.js +7 -7
  150. package/lib/server/localUtils.js +203 -0
  151. package/lib/server/network.js +5 -5
  152. package/lib/server/page.js +76 -37
  153. package/lib/server/pipeTransport.js +1 -1
  154. package/lib/server/playwright.js +5 -5
  155. package/lib/server/progress.js +1 -4
  156. package/lib/server/protocolError.js +1 -1
  157. package/lib/server/recorder/chat.js +177 -0
  158. package/lib/server/recorder/codeGenerator.js +154 -0
  159. package/lib/server/recorder/contextRecorder.js +9 -18
  160. package/lib/server/recorder/csharp.js +311 -0
  161. package/lib/server/recorder/java.js +249 -0
  162. package/lib/server/recorder/javascript.js +230 -0
  163. package/lib/server/recorder/jsonl.js +48 -0
  164. package/lib/server/recorder/language.js +45 -0
  165. package/lib/server/recorder/python.js +276 -0
  166. package/lib/server/recorder/recorderActions.js +6 -0
  167. package/lib/server/recorder/recorderApp.js +25 -28
  168. package/lib/server/recorder/recorderCollection.js +9 -21
  169. package/lib/server/recorder/recorderInTraceViewer.js +1 -1
  170. package/lib/server/recorder/recorderRunner.js +7 -3
  171. package/lib/server/recorder/recorderUtils.js +5 -28
  172. package/lib/server/recorder/throttledFile.js +3 -4
  173. package/lib/server/recorder/utils.js +46 -0
  174. package/lib/server/recorder.js +83 -43
  175. package/lib/server/registry/browserFetcher.js +10 -8
  176. package/lib/server/registry/dependencies.js +20 -20
  177. package/lib/server/registry/index.js +215 -61
  178. package/lib/server/registry/nativeDeps.js +10 -4
  179. package/lib/server/registry/oopDownloadBrowserMain.js +3 -3
  180. package/lib/server/screenshotter.js +1 -1
  181. package/lib/server/selectors.js +3 -3
  182. package/lib/server/socksClientCertificatesInterceptor.js +8 -8
  183. package/lib/server/socksInterceptor.js +8 -5
  184. package/lib/server/storageScript.js +160 -0
  185. package/lib/server/timeoutSettings.js +74 -0
  186. package/lib/server/trace/recorder/snapshotter.js +10 -20
  187. package/lib/server/trace/recorder/snapshotterInjected.js +26 -1
  188. package/lib/server/trace/recorder/tracing.js +108 -45
  189. package/lib/server/trace/test/inMemorySnapshotter.js +6 -6
  190. package/lib/server/trace/viewer/traceViewer.js +21 -7
  191. package/lib/server/transport.js +3 -2
  192. package/lib/server/utils/ascii.js +31 -0
  193. package/lib/server/utils/comparators.js +159 -0
  194. package/lib/server/utils/crypto.js +171 -0
  195. package/lib/server/utils/debug.js +38 -0
  196. package/lib/server/utils/debugLogger.js +93 -0
  197. package/lib/server/utils/env.js +53 -0
  198. package/lib/server/utils/eventsHelper.js +38 -0
  199. package/lib/server/utils/expectUtils.js +33 -0
  200. package/lib/server/utils/fileUtils.js +204 -0
  201. package/lib/server/utils/happyEyeballs.js +207 -0
  202. package/lib/server/utils/hostPlatform.js +145 -0
  203. package/lib/server/utils/httpServer.js +233 -0
  204. package/lib/server/utils/image_tools/colorUtils.js +98 -0
  205. package/lib/server/utils/image_tools/compare.js +108 -0
  206. package/lib/server/utils/image_tools/imageChannel.js +70 -0
  207. package/lib/server/utils/image_tools/stats.js +102 -0
  208. package/lib/server/utils/linuxUtils.js +58 -0
  209. package/lib/server/utils/network.js +160 -0
  210. package/lib/server/utils/nodePlatform.js +140 -0
  211. package/lib/server/utils/pipeTransport.js +82 -0
  212. package/lib/server/utils/processLauncher.js +248 -0
  213. package/lib/server/utils/profiler.js +52 -0
  214. package/lib/server/utils/socksProxy.js +570 -0
  215. package/lib/server/utils/spawnAsync.js +45 -0
  216. package/lib/server/utils/task.js +58 -0
  217. package/lib/server/utils/userAgent.js +91 -0
  218. package/lib/server/utils/wsServer.js +128 -0
  219. package/lib/server/utils/zipFile.js +75 -0
  220. package/lib/server/utils/zones.js +54 -0
  221. package/lib/server/webkit/webkit.js +4 -4
  222. package/lib/server/webkit/wkBrowser.js +10 -10
  223. package/lib/server/webkit/wkConnection.js +1 -1
  224. package/lib/server/webkit/wkExecutionContext.js +26 -30
  225. package/lib/server/webkit/wkInput.js +17 -7
  226. package/lib/server/webkit/wkInterceptableRequest.js +2 -2
  227. package/lib/server/webkit/wkPage.js +80 -66
  228. package/lib/server/webkit/wkProvisionalPage.js +1 -1
  229. package/lib/server/webkit/wkWorkers.js +2 -2
  230. package/lib/utils/fileUtils.js +1 -1
  231. package/lib/utils/glob.js +84 -0
  232. package/lib/utils/isomorphic/ariaSnapshot.js +392 -0
  233. package/lib/utils/isomorphic/assert.js +25 -0
  234. package/lib/utils/isomorphic/colors.js +65 -0
  235. package/lib/utils/isomorphic/cssParser.js +5 -5
  236. package/lib/utils/isomorphic/headers.js +52 -0
  237. package/lib/utils/isomorphic/locatorGenerators.js +38 -8
  238. package/lib/utils/isomorphic/locatorParser.js +19 -13
  239. package/lib/utils/isomorphic/manualPromise.js +107 -0
  240. package/lib/utils/isomorphic/mimeType.js +11 -3
  241. package/lib/utils/isomorphic/multimap.js +73 -0
  242. package/lib/utils/isomorphic/rtti.js +41 -0
  243. package/lib/utils/isomorphic/semaphore.js +51 -0
  244. package/lib/utils/isomorphic/stackTrace.js +169 -0
  245. package/lib/utils/isomorphic/stringUtils.js +31 -1
  246. package/lib/utils/isomorphic/time.js +25 -0
  247. package/lib/utils/isomorphic/timeoutRunner.js +66 -0
  248. package/lib/utils/isomorphic/traceUtils.js +23 -0
  249. package/lib/utils/isomorphic/types.js +5 -0
  250. package/lib/utils/isomorphic/urlMatch.js +7 -5
  251. package/lib/utils/mimeType.js +30 -0
  252. package/lib/utils/stackTrace.js +1 -1
  253. package/lib/utils.js +447 -0
  254. package/lib/utilsBundle.js +4 -29
  255. package/lib/utilsBundleImpl/index.js +188 -33
  256. package/lib/vite/htmlReport/index.html +20 -17
  257. package/lib/vite/recorder/assets/codeMirrorModule-B9YMkrwa.js +24 -0
  258. package/lib/vite/recorder/assets/index-ELPgmkwA.js +184 -0
  259. package/lib/vite/recorder/assets/{index-BW-aOBcL.css → index-eHBmevrY.css} +1 -1
  260. package/lib/vite/recorder/index.html +2 -2
  261. package/lib/vite/traceViewer/assets/codeMirrorModule-gU1OOCQO.js +24 -0
  262. package/lib/vite/traceViewer/assets/defaultSettingsView-B5n_FjMx.js +1 -0
  263. package/lib/vite/traceViewer/assets/inspectorTab-6Tru8Mn_.js +235 -0
  264. package/lib/vite/traceViewer/assets/workbench-B_Nj4NA2.js +25 -0
  265. package/lib/vite/traceViewer/assets/{xtermModule-BeNbaIVa.js → xtermModule-BoAIEibi.js} +7 -7
  266. package/lib/vite/traceViewer/defaultSettingsView.CO3FR0CX.css +1 -0
  267. package/lib/vite/traceViewer/{embedded.BkvOrz5Z.js → embedded.DpNPH6mk.js} +2 -2
  268. package/lib/vite/traceViewer/embedded.html +6 -6
  269. package/lib/vite/traceViewer/index.CuE3SYGw.js +2 -0
  270. package/lib/vite/traceViewer/index.html +27 -9
  271. package/lib/vite/traceViewer/inspectorTab.CXDulcFG.css +1 -0
  272. package/lib/vite/traceViewer/{recorder.DNMfnSiu.js → recorder.BD-uZJs7.js} +2 -2
  273. package/lib/vite/traceViewer/recorder.html +4 -4
  274. package/lib/vite/traceViewer/sw.bundle.js +3 -3
  275. package/lib/vite/traceViewer/{uiMode.CAYqod-m.css → uiMode.BatfzHMG.css} +1 -1
  276. package/lib/vite/traceViewer/uiMode.DHrNgddz.js +5 -0
  277. package/lib/vite/traceViewer/uiMode.html +8 -7
  278. package/lib/vite/traceViewer/workbench.B9vIAzH9.css +1 -0
  279. package/lib/zipBundleImpl.js +4 -4
  280. package/package.json +7 -7
  281. package/types/protocol.d.ts +820 -153
  282. package/types/types.d.ts +285 -82
  283. package/bin/PrintDeps.exe +0 -0
  284. package/bin/README.md +0 -2
  285. package/lib/vite/recorder/assets/codeMirrorModule-d0KhC1qL.js +0 -24
  286. package/lib/vite/recorder/assets/index-Bxxcmxlu.js +0 -42
  287. package/lib/vite/traceViewer/assets/codeMirrorModule-pBPtArIT.js +0 -24
  288. package/lib/vite/traceViewer/assets/codeMirrorModule-tzBrK1V4.js +0 -24
  289. package/lib/vite/traceViewer/assets/inspectorTab-BuJ3wAX_.js +0 -64
  290. package/lib/vite/traceViewer/assets/inspectorTab-Soeeuvzv.js +0 -64
  291. package/lib/vite/traceViewer/assets/testServerConnection-DeE2kSzz.js +0 -1
  292. package/lib/vite/traceViewer/assets/workbench-DdmJ9AJV.js +0 -9
  293. package/lib/vite/traceViewer/assets/workbench-lypYlf00.js +0 -9
  294. package/lib/vite/traceViewer/embedded.DInvAijy.js +0 -2
  295. package/lib/vite/traceViewer/index.Dha3cgqs.js +0 -2
  296. package/lib/vite/traceViewer/index._Iolt-uE.js +0 -2
  297. package/lib/vite/traceViewer/inspectorTab.DLjBDrQR.css +0 -1
  298. package/lib/vite/traceViewer/recorder.DTSaNaly.js +0 -2
  299. package/lib/vite/traceViewer/uiMode.BM7yhjzl.js +0 -5
  300. package/lib/vite/traceViewer/uiMode.Cr1tvTWS.js +0 -5
  301. package/lib/vite/traceViewer/workbench.DlsCx8k5.css +0 -1
  302. /package/lib/vite/recorder/assets/{codeMirrorModule-ez37Vkbh.css → codeMirrorModule-C3UTv-Ge.css} +0 -0
  303. /package/lib/vite/traceViewer/{codeMirrorModule.ez37Vkbh.css → codeMirrorModule.C3UTv-Ge.css} +0 -0
  304. /package/lib/vite/traceViewer/{embedded.w7WN2u1R.css → embedded.mLhjB5IF.css} +0 -0
  305. /package/lib/vite/traceViewer/{index.CrbWWHbf.css → index.CFOW-Ezb.css} +0 -0
  306. /package/lib/vite/traceViewer/{recorder.B_SY1GJM.css → recorder.tn0RQdqM.css} +0 -0
  307. /package/lib/vite/traceViewer/{xtermModule.DSXBckUd.css → xtermModule.Beg8tuEN.css} +0 -0
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Network = exports.BidiBrowserContext = exports.BidiBrowser = void 0;
7
- var _eventsHelper = require("../../utils/eventsHelper");
7
+ var _eventsHelper = require("../utils/eventsHelper");
8
8
  var _browser = require("../browser");
9
9
  var _browserContext = require("../browserContext");
10
10
  var network = _interopRequireWildcard(require("../network"));
@@ -13,7 +13,7 @@ var _bidiNetworkManager = require("./bidiNetworkManager");
13
13
  var _bidiPage = require("./bidiPage");
14
14
  var bidi = _interopRequireWildcard(require("./third_party/bidiProtocol"));
15
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
17
  /**
18
18
  * Copyright (c) Microsoft Corporation.
19
19
  *
@@ -80,8 +80,8 @@ class BidiBrowser extends _browser.Browser {
80
80
  browser._defaultContext = new BidiBrowserContext(browser, undefined, options.persistent);
81
81
  await browser._defaultContext._initialize();
82
82
  // Create default page as we cannot get access to the existing one.
83
- const pageDelegate = await browser._defaultContext.newPageDelegate();
84
- await pageDelegate.pageOrError();
83
+ const page = await browser._defaultContext.doCreateNewPage();
84
+ await page.waitForInitializedOrError();
85
85
  }
86
86
  return browser;
87
87
  }
@@ -129,6 +129,8 @@ class BidiBrowser extends _browser.Browser {
129
129
  if (!parentFrame) continue;
130
130
  page._session.addFrameBrowsingContext(event.context);
131
131
  page._page._frameManager.frameAttached(event.context, parentFrameId);
132
+ const frame = page._page._frameManager.frame(event.context);
133
+ if (frame) frame._url = event.url;
132
134
  return;
133
135
  }
134
136
  return;
@@ -139,6 +141,7 @@ class BidiBrowser extends _browser.Browser {
139
141
  const session = this._connection.createMainFrameBrowsingContextSession(event.context);
140
142
  const opener = event.originalOpener && this._bidiPages.get(event.originalOpener);
141
143
  const page = new _bidiPage.BidiPage(context, session, opener || null);
144
+ page._page.mainFrame()._url = event.url;
142
145
  this._bidiPages.set(event.context, page);
143
146
  }
144
147
  _onBrowsingContextDestroyed(event) {
@@ -173,10 +176,10 @@ class BidiBrowserContext extends _browserContext.BrowserContext {
173
176
  _bidiPages() {
174
177
  return [...this._browser._bidiPages.values()].filter(bidiPage => bidiPage._browserContext === this);
175
178
  }
176
- pages() {
177
- return this._bidiPages().map(bidiPage => bidiPage._initializedPage).filter(Boolean);
179
+ possiblyUninitializedPages() {
180
+ return this._bidiPages().map(bidiPage => bidiPage._page);
178
181
  }
179
- async newPageDelegate() {
182
+ async doCreateNewPage() {
180
183
  (0, _browserContext.assertBrowserContextIsNotOwned)(this);
181
184
  const {
182
185
  context
@@ -184,7 +187,7 @@ class BidiBrowserContext extends _browserContext.BrowserContext {
184
187
  type: bidi.BrowsingContext.CreateType.Window,
185
188
  userContext: this._browserContextId
186
189
  });
187
- return this._browser._bidiPages.get(context);
190
+ return this._browser._bidiPages.get(context)._page;
188
191
  }
189
192
  async doGetCookies(urls) {
190
193
  const {
@@ -6,11 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.BidiChromium = void 0;
7
7
  var _os = _interopRequireDefault(require("os"));
8
8
  var _utils = require("../../utils");
9
+ var _ascii = require("../utils/ascii");
9
10
  var _browserType = require("../browserType");
10
- var _chromiumSwitches = require("../chromium/chromiumSwitches");
11
11
  var _bidiBrowser = require("./bidiBrowser");
12
12
  var _bidiConnection = require("./bidiConnection");
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ var _chromiumSwitches = require("../chromium/chromiumSwitches");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
15
  /**
15
16
  * Copyright (c) Microsoft Corporation.
16
17
  *
@@ -42,7 +43,7 @@ class BidiChromium extends _browserType.BrowserType {
42
43
  }
43
44
  doRewriteStartupLog(error) {
44
45
  if (!error.logs) return error;
45
- if (error.logs.includes('Missing X server')) error.logs = '\n' + (0, _utils.wrapInASCIIBox)(_browserType.kNoXServerRunningError, 1);
46
+ if (error.logs.includes('Missing X server')) error.logs = '\n' + (0, _ascii.wrapInASCIIBox)(_browserType.kNoXServerRunningError, 1);
46
47
  // These error messages are taken from Chromium source code as of July, 2020:
47
48
  // https://github.com/chromium/chromium/blob/70565f67e79f79e17663ad1337dc6e63ee207ce9/content/browser/zygote_host/zygote_host_impl_linux.cc
48
49
  if (!error.logs.includes('crbug.com/357670') && !error.logs.includes('No usable sandbox!') && !error.logs.includes('crbug.com/638180')) return error;
@@ -89,7 +90,7 @@ class BidiChromium extends _browserType.BrowserType {
89
90
  }
90
91
  if (options.devtools) chromeArguments.push('--auto-open-devtools-for-tabs');
91
92
  if (options.headless) {
92
- if (process.env.PLAYWRIGHT_CHROMIUM_USE_HEADLESS_NEW) chromeArguments.push('--headless=new');else chromeArguments.push('--headless=old');
93
+ chromeArguments.push('--headless');
93
94
  chromeArguments.push('--hide-scrollbars', '--mute-audio', '--blink-settings=primaryHoverType=2,availableHoverTypes=2,primaryPointerType=4,availablePointerTypes=4');
94
95
  }
95
96
  if (options.chromiumSandbox !== true) chromeArguments.push('--no-sandbox');
@@ -5,8 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.kBrowserCloseMessageId = exports.BidiSession = exports.BidiConnection = void 0;
7
7
  var _events = require("events");
8
- var _utils = require("../../utils");
9
- var _debugLogger = require("../../utils/debugLogger");
8
+ var _debugLogger = require("../utils/debugLogger");
10
9
  var _helper = require("../helper");
11
10
  var _protocolError = require("../protocolError");
12
11
  /**
@@ -197,7 +196,6 @@ class BidiSession extends _events.EventEmitter {
197
196
  }
198
197
  } else if (object.id) {
199
198
  // Response might come after session has been disposed and rejected all callbacks.
200
- (0, _utils.assert)(this.isDisposed());
201
199
  } else {
202
200
  Promise.resolve().then(() => this.emit(object.method, object.params));
203
201
  }
@@ -4,13 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.BidiExecutionContext = void 0;
7
+ exports.createHandle = createHandle;
8
+ var _utils = require("../../utils");
7
9
  var _utilityScriptSerializers = require("../isomorphic/utilityScriptSerializers");
8
10
  var js = _interopRequireWildcard(require("../javascript"));
11
+ var dom = _interopRequireWildcard(require("../dom"));
9
12
  var _bidiDeserializer = require("./third_party/bidiDeserializer");
10
13
  var bidi = _interopRequireWildcard(require("./third_party/bidiProtocol"));
11
14
  var _bidiSerializer = require("./third_party/bidiSerializer");
12
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
17
  /**
15
18
  * Copyright (c) Microsoft Corporation.
16
19
  *
@@ -59,7 +62,7 @@ class BidiExecutionContext {
59
62
  if (response.type === 'exception') throw new js.JavaScriptErrorInEvaluate(response.exceptionDetails.text + '\nFull val: ' + JSON.stringify(response.exceptionDetails));
60
63
  throw new js.JavaScriptErrorInEvaluate('Unexpected response type: ' + JSON.stringify(response));
61
64
  }
62
- async rawEvaluateHandle(expression) {
65
+ async rawEvaluateHandle(context, expression) {
63
66
  const response = await this._session.send('script.evaluate', {
64
67
  expression,
65
68
  target: this._target,
@@ -73,23 +76,20 @@ class BidiExecutionContext {
73
76
  userActivation: true
74
77
  });
75
78
  if (response.type === 'success') {
76
- if ('handle' in response.result) return response.result.handle;
79
+ if ('handle' in response.result) return createHandle(context, response.result);
77
80
  throw new js.JavaScriptErrorInEvaluate('Cannot get handle: ' + JSON.stringify(response.result));
78
81
  }
79
82
  if (response.type === 'exception') throw new js.JavaScriptErrorInEvaluate(response.exceptionDetails.text + '\nFull val: ' + JSON.stringify(response.exceptionDetails));
80
83
  throw new js.JavaScriptErrorInEvaluate('Unexpected response type: ' + JSON.stringify(response));
81
84
  }
82
- rawCallFunctionNoReply(func, ...args) {
83
- throw new Error('Method not implemented.');
84
- }
85
- async evaluateWithArguments(functionDeclaration, returnByValue, utilityScript, values, objectIds) {
85
+ async evaluateWithArguments(functionDeclaration, returnByValue, utilityScript, values, handles) {
86
86
  const response = await this._session.send('script.callFunction', {
87
87
  functionDeclaration,
88
88
  target: this._target,
89
89
  arguments: [{
90
90
  handle: utilityScript._objectId
91
- }, ...values.map(_bidiSerializer.BidiSerializer.serialize), ...objectIds.map(handle => ({
92
- handle
91
+ }, ...values.map(_bidiSerializer.BidiSerializer.serialize), ...handles.map(handle => ({
92
+ handle: handle._objectId
93
93
  }))],
94
94
  resultOwnership: returnByValue ? undefined : bidi.Script.ResultOwnership.Root,
95
95
  // Necessary for the handle to be returned.
@@ -103,34 +103,72 @@ class BidiExecutionContext {
103
103
  if (response.type === 'exception') throw new js.JavaScriptErrorInEvaluate(response.exceptionDetails.text + '\nFull val: ' + JSON.stringify(response.exceptionDetails));
104
104
  if (response.type === 'success') {
105
105
  if (returnByValue) return (0, _utilityScriptSerializers.parseEvaluationResultValue)(_bidiDeserializer.BidiDeserializer.deserialize(response.result));
106
- const objectId = 'handle' in response.result ? response.result.handle : undefined;
107
- return utilityScript._context.createHandle({
108
- objectId,
109
- ...response.result
110
- });
106
+ return createHandle(utilityScript._context, response.result);
111
107
  }
112
108
  throw new js.JavaScriptErrorInEvaluate('Unexpected response type: ' + JSON.stringify(response));
113
109
  }
114
- async getProperties(context, objectId) {
115
- throw new Error('Method not implemented.');
116
- }
117
- createHandle(context, jsRemoteObject) {
118
- const remoteObject = jsRemoteObject;
119
- return new js.JSHandle(context, remoteObject.type, renderPreview(remoteObject), jsRemoteObject.objectId, remoteObjectValue(remoteObject));
110
+ async getProperties(handle) {
111
+ const names = await handle.evaluate(object => {
112
+ const names = [];
113
+ const descriptors = Object.getOwnPropertyDescriptors(object);
114
+ for (const name in descriptors) {
115
+ var _descriptors$name;
116
+ if ((_descriptors$name = descriptors[name]) !== null && _descriptors$name !== void 0 && _descriptors$name.enumerable) names.push(name);
117
+ }
118
+ return names;
119
+ });
120
+ const values = await Promise.all(names.map(name => handle.evaluateHandle((object, name) => object[name], name)));
121
+ const map = new Map();
122
+ for (let i = 0; i < names.length; i++) map.set(names[i], values[i]);
123
+ return map;
120
124
  }
121
- async releaseHandle(objectId) {
125
+ async releaseHandle(handle) {
126
+ if (!handle._objectId) return;
122
127
  await this._session.send('script.disown', {
123
128
  target: this._target,
124
- handles: [objectId]
129
+ handles: [handle._objectId]
130
+ });
131
+ }
132
+ async nodeIdForElementHandle(handle) {
133
+ const shared = await this._remoteValueForReference({
134
+ handle: handle._objectId
135
+ });
136
+ // TODO: store sharedId in the handle.
137
+ if (!('sharedId' in shared)) throw new Error('Element is not a node');
138
+ return {
139
+ sharedId: shared.sharedId
140
+ };
141
+ }
142
+ async remoteObjectForNodeId(context, nodeId) {
143
+ const result = await this._remoteValueForReference(nodeId, true);
144
+ if (!('handle' in result)) throw new Error('Can\'t get remote object for nodeId');
145
+ return createHandle(context, result);
146
+ }
147
+ async contentFrameIdForFrame(handle) {
148
+ const contentWindow = await this._rawCallFunction('e => e.contentWindow', {
149
+ handle: handle._objectId
125
150
  });
151
+ if ((contentWindow === null || contentWindow === void 0 ? void 0 : contentWindow.type) === 'window') return contentWindow.value.context;
152
+ return null;
126
153
  }
127
- async rawCallFunction(functionDeclaration, arg) {
154
+ async frameIdForWindowHandle(handle) {
155
+ if (!handle._objectId) throw new Error('JSHandle is not a DOM node handle');
156
+ const contentWindow = await this._remoteValueForReference({
157
+ handle: handle._objectId
158
+ });
159
+ if (contentWindow.type === 'window') return contentWindow.value.context;
160
+ return null;
161
+ }
162
+ async _remoteValueForReference(reference, createHandle) {
163
+ return await this._rawCallFunction('e => e', reference, createHandle);
164
+ }
165
+ async _rawCallFunction(functionDeclaration, arg, createHandle) {
128
166
  const response = await this._session.send('script.callFunction', {
129
167
  functionDeclaration,
130
168
  target: this._target,
131
169
  arguments: [arg],
132
- resultOwnership: bidi.Script.ResultOwnership.Root,
133
- // Necessary for the handle to be returned.
170
+ // "Root" is necessary for the handle to be returned.
171
+ resultOwnership: createHandle ? bidi.Script.ResultOwnership.Root : bidi.Script.ResultOwnership.None,
134
172
  serializationOptions: {
135
173
  maxObjectDepth: 0,
136
174
  maxDomDepth: 0
@@ -156,4 +194,12 @@ function remoteObjectValue(remoteObject) {
156
194
  if (remoteObject.type === 'number' && typeof remoteObject.value === 'string') return js.parseUnserializableValue(remoteObject.value);
157
195
  if ('value' in remoteObject) return remoteObject.value;
158
196
  return undefined;
197
+ }
198
+ function createHandle(context, remoteObject) {
199
+ if (remoteObject.type === 'node') {
200
+ (0, _utils.assert)(context instanceof dom.FrameExecutionContext);
201
+ return new dom.ElementHandle(context, remoteObject.handle);
202
+ }
203
+ const objectId = 'handle' in remoteObject ? remoteObject.handle : undefined;
204
+ return new js.JSHandle(context, remoteObject.type, renderPreview(remoteObject), objectId, remoteObjectValue(remoteObject));
159
205
  }
@@ -7,11 +7,12 @@ exports.BidiFirefox = void 0;
7
7
  var _os = _interopRequireDefault(require("os"));
8
8
  var _path = _interopRequireDefault(require("path"));
9
9
  var _utils = require("../../utils");
10
+ var _ascii = require("../utils/ascii");
10
11
  var _browserType = require("../browserType");
11
12
  var _bidiBrowser = require("./bidiBrowser");
12
13
  var _bidiConnection = require("./bidiConnection");
13
14
  var _firefoxPrefs = require("./third_party/firefoxPrefs");
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
16
  /**
16
17
  * Copyright (c) Microsoft Corporation.
17
18
  *
@@ -39,8 +40,8 @@ class BidiFirefox extends _browserType.BrowserType {
39
40
  doRewriteStartupLog(error) {
40
41
  if (!error.logs) return error;
41
42
  // https://github.com/microsoft/playwright/issues/6500
42
- if (error.logs.includes(`as root in a regular user's session is not supported.`)) error.logs = '\n' + (0, _utils.wrapInASCIIBox)(`Firefox is unable to launch if the $HOME folder isn't owned by the current user.\nWorkaround: Set the HOME=/root environment variable${process.env.GITHUB_ACTION ? ' in your GitHub Actions workflow file' : ''} when running Playwright.`, 1);
43
- if (error.logs.includes('no DISPLAY environment variable specified')) error.logs = '\n' + (0, _utils.wrapInASCIIBox)(_browserType.kNoXServerRunningError, 1);
43
+ if (error.logs.includes(`as root in a regular user's session is not supported.`)) error.logs = '\n' + (0, _ascii.wrapInASCIIBox)(`Firefox is unable to launch if the $HOME folder isn't owned by the current user.\nWorkaround: Set the HOME=/root environment variable${process.env.GITHUB_ACTION ? ' in your GitHub Actions workflow file' : ''} when running Playwright.`, 1);
44
+ if (error.logs.includes('no DISPLAY environment variable specified')) error.logs = '\n' + (0, _ascii.wrapInASCIIBox)(_browserType.kNoXServerRunningError, 1);
44
45
  return error;
45
46
  }
46
47
  amendEnvironment(env, userDataDir, executable, browserArguments) {
@@ -4,10 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.RawTouchscreenImpl = exports.RawMouseImpl = exports.RawKeyboardImpl = void 0;
7
- var bidi = _interopRequireWildcard(require("./third_party/bidiProtocol"));
7
+ var _input = require("../input");
8
8
  var _bidiKeyboard = require("./third_party/bidiKeyboard");
9
+ var bidi = _interopRequireWildcard(require("./third_party/bidiProtocol"));
9
10
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
12
  /**
12
13
  * Copyright (c) Microsoft Corporation.
13
14
  *
@@ -32,20 +33,21 @@ class RawKeyboardImpl {
32
33
  setSession(session) {
33
34
  this._session = session;
34
35
  }
35
- async keydown(modifiers, code, keyCode, keyCodeWithoutLocation, key, location, autoRepeat, text) {
36
+ async keydown(modifiers, keyName, description, autoRepeat) {
37
+ keyName = (0, _input.resolveSmartModifierString)(keyName);
36
38
  const actions = [];
37
39
  actions.push({
38
40
  type: 'keyDown',
39
- value: (0, _bidiKeyboard.getBidiKeyValue)(key)
41
+ value: (0, _bidiKeyboard.getBidiKeyValue)(keyName)
40
42
  });
41
- // TODO: add modifiers?
42
43
  await this._performActions(actions);
43
44
  }
44
- async keyup(modifiers, code, keyCode, keyCodeWithoutLocation, key, location) {
45
+ async keyup(modifiers, keyName, description) {
46
+ keyName = (0, _input.resolveSmartModifierString)(keyName);
45
47
  const actions = [];
46
48
  actions.push({
47
49
  type: 'keyUp',
48
- value: (0, _bidiKeyboard.getBidiKeyValue)(key)
50
+ value: (0, _bidiKeyboard.getBidiKeyValue)(keyName)
49
51
  });
50
52
  await this._performActions(actions);
51
53
  }
@@ -82,9 +84,6 @@ class RawMouseImpl {
82
84
  this._session = session;
83
85
  }
84
86
  async move(x, y, button, buttons, modifiers, forClick) {
85
- // Bidi throws when x/y are not integers.
86
- x = Math.round(x);
87
- y = Math.round(y);
88
87
  await this._performActions([{
89
88
  type: 'pointerMove',
90
89
  x,
@@ -105,8 +104,8 @@ class RawMouseImpl {
105
104
  }
106
105
  async wheel(x, y, buttons, modifiers, deltaX, deltaY) {
107
106
  // Bidi throws when x/y are not integers.
108
- x = Math.round(x);
109
- y = Math.round(y);
107
+ x = Math.floor(x);
108
+ y = Math.floor(y);
110
109
  await this._session.send('input.performActions', {
111
110
  context: this._session.sessionId,
112
111
  actions: [{
@@ -5,12 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.BidiNetworkManager = void 0;
7
7
  exports.bidiBytesValueToString = bidiBytesValueToString;
8
- var _eventsHelper = require("../../utils/eventsHelper");
8
+ var _eventsHelper = require("../utils/eventsHelper");
9
+ var _cookieStore = require("../cookieStore");
9
10
  var network = _interopRequireWildcard(require("../network"));
10
11
  var bidi = _interopRequireWildcard(require("./third_party/bidiProtocol"));
11
- var _cookieStore = require("../cookieStore");
12
12
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
14
  /**
15
15
  * Copyright (c) Microsoft Corporation.
16
16
  *
@@ -57,10 +57,12 @@ class BidiNetworkManager {
57
57
  if (param.intercepts) {
58
58
  // We do not support intercepting redirects.
59
59
  if (redirectedFrom) {
60
- var _redirectedFrom$_orig;
60
+ var _redirectedFrom$_orig, _redirectedFrom$_orig2;
61
+ let params = {};
62
+ if ((_redirectedFrom$_orig = redirectedFrom._originalRequestRoute) !== null && _redirectedFrom$_orig !== void 0 && _redirectedFrom$_orig._alreadyContinuedHeaders) params = toBidiRequestHeaders((_redirectedFrom$_orig2 = redirectedFrom._originalRequestRoute._alreadyContinuedHeaders) !== null && _redirectedFrom$_orig2 !== void 0 ? _redirectedFrom$_orig2 : []);
61
63
  this._session.sendMayFail('network.continueRequest', {
62
64
  request: param.request.request,
63
- ...(((_redirectedFrom$_orig = redirectedFrom._originalRequestRoute) === null || _redirectedFrom$_orig === void 0 ? void 0 : _redirectedFrom$_orig._alreadyContinuedHeaders) || {})
65
+ ...params
64
66
  });
65
67
  } else {
66
68
  route = new BidiRouteImpl(this._session, param.request.request);
@@ -80,10 +82,10 @@ class BidiNetworkManager {
80
82
  const startTime = timings.requestTime;
81
83
  function relativeToStart(time) {
82
84
  if (!time) return -1;
83
- return (time - startTime) / 1000;
85
+ return time - startTime;
84
86
  }
85
87
  const timing = {
86
- startTime: startTime / 1000,
88
+ startTime: startTime,
87
89
  requestStart: relativeToStart(timings.requestStart),
88
90
  responseStart: relativeToStart(timings.responseStart),
89
91
  domainLookupStart: relativeToStart(timings.dnsStart),
@@ -111,7 +113,7 @@ class BidiNetworkManager {
111
113
 
112
114
  // Keep redirected requests in the map for future reference as redirectedFrom.
113
115
  const isRedirected = response.status() >= 300 && response.status() <= 399;
114
- const responseEndTime = params.request.timings.responseEnd / 1000 - response.timing().startTime;
116
+ const responseEndTime = params.request.timings.responseEnd - response.timing().startTime;
115
117
  if (isRedirected) {
116
118
  response._requestFinished(responseEndTime);
117
119
  } else {
@@ -287,11 +289,8 @@ function fromBidiHeaders(bidiHeaders) {
287
289
  }
288
290
  function toBidiRequestHeaders(allHeaders) {
289
291
  const bidiHeaders = toBidiHeaders(allHeaders);
290
- const cookies = bidiHeaders.filter(h => h.name.toLowerCase() === 'cookie');
291
- const headers = bidiHeaders.filter(h => h.name.toLowerCase() !== 'cookie');
292
292
  return {
293
- cookies,
294
- headers
293
+ headers: bidiHeaders
295
294
  };
296
295
  }
297
296
  function toBidiResponseHeaders(headers) {
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.connectBidiOverCdp = connectBidiOverCdp;
7
7
  var bidiMapper = _interopRequireWildcard(require("chromium-bidi/lib/cjs/bidiMapper/BidiMapper"));
8
8
  var bidiCdpConnection = _interopRequireWildcard(require("chromium-bidi/lib/cjs/cdp/CdpConnection"));
9
- var _debugLogger = require("../../utils/debugLogger");
9
+ var _debugLogger = require("../utils/debugLogger");
10
10
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
12
  /**
13
13
  * Copyright (c) Microsoft Corporation.
14
14
  *