patchright-core 1.50.1 → 1.51.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 (242) hide show
  1. package/ThirdPartyNotices.txt +1 -43
  2. package/browsers.json +22 -10
  3. package/index.js +0 -1
  4. package/lib/androidServerImpl.js +4 -4
  5. package/lib/browserServerImpl.js +18 -9
  6. package/lib/cli/driver.js +6 -6
  7. package/lib/cli/program.js +9 -9
  8. package/lib/cli/programWithTestStub.js +2 -1
  9. package/lib/client/android.js +37 -58
  10. package/lib/client/artifact.js +4 -7
  11. package/lib/client/browser.js +10 -15
  12. package/lib/client/browserContext.js +77 -73
  13. package/lib/client/browserType.js +30 -64
  14. package/lib/client/channelOwner.js +23 -20
  15. package/lib/client/clientHelper.js +5 -7
  16. package/lib/client/clientStackTrace.js +65 -0
  17. package/lib/client/connection.js +46 -39
  18. package/lib/client/consoleMessage.js +4 -7
  19. package/lib/client/electron.js +10 -10
  20. package/lib/client/elementHandle.js +32 -33
  21. package/lib/client/errors.js +2 -2
  22. package/lib/client/eventEmitter.js +5 -8
  23. package/lib/client/fetch.js +60 -61
  24. package/lib/client/fileUtils.js +31 -0
  25. package/lib/client/frame.js +30 -29
  26. package/lib/client/harRouter.js +7 -9
  27. package/lib/client/jsHandle.js +3 -4
  28. package/lib/client/localUtils.js +24 -0
  29. package/lib/client/locator.js +37 -18
  30. package/lib/client/network.js +40 -40
  31. package/lib/client/page.js +59 -55
  32. package/lib/client/platform.js +71 -0
  33. package/lib/client/playwright.js +21 -1
  34. package/lib/client/selectors.js +8 -2
  35. package/lib/client/stream.js +2 -21
  36. package/lib/client/timeoutSettings.js +65 -0
  37. package/lib/client/tracing.js +10 -7
  38. package/lib/client/video.js +2 -2
  39. package/lib/client/waiter.js +5 -6
  40. package/lib/client/webSocket.js +106 -0
  41. package/lib/client/worker.js +12 -10
  42. package/lib/client/writableStream.js +2 -21
  43. package/lib/generated/consoleApiSource.js +1 -1
  44. package/lib/generated/injectedScriptSource.js +1 -1
  45. package/lib/inProcessFactory.js +6 -3
  46. package/lib/outofprocess.js +12 -8
  47. package/lib/protocol/validator.js +64 -13
  48. package/lib/protocol/validatorPrimitives.js +1 -2
  49. package/lib/remote/playwrightConnection.js +18 -10
  50. package/lib/remote/playwrightServer.js +20 -7
  51. package/lib/server/android/android.js +17 -14
  52. package/lib/server/android/backendAdb.js +14 -14
  53. package/lib/server/artifact.js +3 -3
  54. package/lib/server/bidi/bidiBrowser.js +2 -2
  55. package/lib/server/bidi/bidiChromium.js +4 -3
  56. package/lib/server/bidi/bidiConnection.js +1 -1
  57. package/lib/server/bidi/bidiExecutionContext.js +70 -40
  58. package/lib/server/bidi/bidiFirefox.js +4 -3
  59. package/lib/server/bidi/bidiInput.js +5 -8
  60. package/lib/server/bidi/bidiNetworkManager.js +3 -3
  61. package/lib/server/bidi/bidiOverCdp.js +2 -2
  62. package/lib/server/bidi/bidiPage.js +30 -46
  63. package/lib/server/bidi/third_party/firefoxPrefs.js +19 -3
  64. package/lib/server/browser.js +2 -2
  65. package/lib/server/browserContext.js +37 -40
  66. package/lib/server/browserType.js +18 -17
  67. package/lib/{utils/sequence.js → server/callLog.js} +18 -3
  68. package/lib/server/chromium/chromium.js +14 -14
  69. package/lib/server/chromium/chromiumSwitches.js +32 -1
  70. package/lib/server/chromium/crBrowser.js +15 -14
  71. package/lib/server/chromium/crConnection.js +2 -2
  72. package/lib/server/chromium/crCoverage.js +1 -1
  73. package/lib/server/chromium/crDevTools.js +1 -1
  74. package/lib/server/chromium/crDragDrop.js +1 -1
  75. package/lib/server/chromium/crExecutionContext.js +25 -17
  76. package/lib/server/chromium/crInput.js +2 -2
  77. package/lib/server/chromium/crNetworkManager.js +73 -26
  78. package/lib/server/chromium/crPage.js +22 -23
  79. package/lib/server/chromium/crPdf.js +1 -1
  80. package/lib/server/chromium/crProtocolHelper.js +3 -3
  81. package/lib/server/chromium/crServiceWorker.js +2 -2
  82. package/lib/server/chromium/videoRecorder.js +2 -2
  83. package/lib/server/clock.js +1 -1
  84. package/lib/server/codegen/javascript.js +1 -1
  85. package/lib/server/codegen/languages.js +2 -2
  86. package/lib/server/debugController.js +3 -3
  87. package/lib/server/deviceDescriptors.js +1 -1
  88. package/lib/server/deviceDescriptorsSource.json +131 -131
  89. package/lib/server/dispatchers/androidDispatcher.js +1 -1
  90. package/lib/server/dispatchers/artifactDispatcher.js +3 -3
  91. package/lib/server/dispatchers/browserContextDispatcher.js +19 -19
  92. package/lib/server/dispatchers/browserTypeDispatcher.js +1 -1
  93. package/lib/server/dispatchers/cdpSessionDispatcher.js +1 -1
  94. package/lib/server/dispatchers/dispatcher.js +27 -25
  95. package/lib/server/dispatchers/electronDispatcher.js +3 -3
  96. package/lib/server/dispatchers/elementHandlerDispatcher.js +7 -2
  97. package/lib/server/dispatchers/frameDispatcher.js +4 -4
  98. package/lib/server/dispatchers/jsHandleDispatcher.js +2 -2
  99. package/lib/server/dispatchers/jsonPipeDispatcher.js +2 -2
  100. package/lib/server/dispatchers/localUtilsDispatcher.js +25 -298
  101. package/lib/server/dispatchers/networkDispatchers.js +3 -3
  102. package/lib/server/dispatchers/pageDispatcher.js +11 -9
  103. package/lib/server/dispatchers/playwrightDispatcher.js +5 -5
  104. package/lib/server/dispatchers/streamDispatcher.js +4 -3
  105. package/lib/server/dispatchers/webSocketRouteDispatcher.js +8 -7
  106. package/lib/server/dispatchers/writableStreamDispatcher.js +5 -6
  107. package/lib/server/dom.js +18 -12
  108. package/lib/server/download.js +1 -1
  109. package/lib/server/electron/electron.js +17 -16
  110. package/lib/server/errors.js +1 -1
  111. package/lib/server/fetch.js +36 -25
  112. package/lib/server/fileUploadUtils.js +7 -4
  113. package/lib/server/firefox/ffBrowser.js +8 -2
  114. package/lib/server/firefox/ffConnection.js +1 -1
  115. package/lib/server/firefox/ffExecutionContext.js +25 -17
  116. package/lib/server/firefox/ffNetworkManager.js +2 -2
  117. package/lib/server/firefox/ffPage.js +15 -21
  118. package/lib/server/firefox/firefox.js +7 -9
  119. package/lib/server/frameSelectors.js +1 -1
  120. package/lib/server/frames.js +366 -209
  121. package/lib/server/har/harRecorder.js +4 -4
  122. package/lib/server/har/harTracer.js +7 -8
  123. package/lib/server/harBackend.js +157 -0
  124. package/lib/server/helper.js +2 -2
  125. package/lib/server/index.js +1 -8
  126. package/lib/server/input.js +1 -1
  127. package/lib/server/instrumentation.js +2 -2
  128. package/lib/server/isomorphic/utilityScriptSerializers.js +3 -0
  129. package/lib/server/javascript.js +46 -33
  130. package/lib/server/launchApp.js +2 -2
  131. package/lib/server/localUtils.js +203 -0
  132. package/lib/server/network.js +3 -3
  133. package/lib/server/page.js +41 -22
  134. package/lib/server/pipeTransport.js +1 -1
  135. package/lib/server/playwright.js +5 -5
  136. package/lib/server/progress.js +1 -1
  137. package/lib/server/protocolError.js +1 -1
  138. package/lib/server/recorder/contextRecorder.js +3 -3
  139. package/lib/server/recorder/recorderApp.js +18 -12
  140. package/lib/server/recorder/recorderCollection.js +3 -3
  141. package/lib/server/recorder/throttledFile.js +3 -4
  142. package/lib/server/recorder.js +7 -5
  143. package/lib/server/registry/browserFetcher.js +9 -7
  144. package/lib/server/registry/dependencies.js +15 -15
  145. package/lib/server/registry/index.js +38 -44
  146. package/lib/server/registry/oopDownloadBrowserMain.js +3 -3
  147. package/lib/server/screenshotter.js +1 -1
  148. package/lib/server/selectors.js +3 -3
  149. package/lib/server/socksClientCertificatesInterceptor.js +8 -8
  150. package/lib/server/socksInterceptor.js +8 -5
  151. package/lib/server/storageScript.js +160 -0
  152. package/lib/{common → server}/timeoutSettings.js +6 -5
  153. package/lib/server/trace/recorder/snapshotter.js +9 -8
  154. package/lib/server/trace/recorder/tracing.js +40 -31
  155. package/lib/server/trace/test/inMemorySnapshotter.js +4 -4
  156. package/lib/server/trace/viewer/traceViewer.js +13 -5
  157. package/lib/server/transport.js +2 -2
  158. package/lib/{utils → server/utils}/comparators.js +4 -4
  159. package/lib/{utils → server/utils}/crypto.js +4 -4
  160. package/lib/{utils → server/utils}/debug.js +4 -12
  161. package/lib/{utils → server/utils}/debugLogger.js +2 -2
  162. package/lib/{utils → server/utils}/env.js +4 -0
  163. package/lib/{utils → server/utils}/expectUtils.js +1 -1
  164. package/lib/{utils → server/utils}/fileUtils.js +4 -5
  165. package/lib/{utils/happy-eyeballs.js → server/utils/happyEyeballs.js} +22 -24
  166. package/lib/{utils → server/utils}/hostPlatform.js +1 -1
  167. package/lib/{utils → server/utils}/httpServer.js +8 -8
  168. package/lib/{utils → server/utils}/linuxUtils.js +3 -23
  169. package/lib/{utils → server/utils}/network.js +4 -4
  170. package/lib/server/utils/nodePlatform.js +140 -0
  171. package/lib/{protocol/transport.js → server/utils/pipeTransport.js} +2 -2
  172. package/lib/{utils → server/utils}/processLauncher.js +5 -5
  173. package/lib/{utils → server/utils}/profiler.js +5 -6
  174. package/lib/{common → server/utils}/socksProxy.js +10 -9
  175. package/lib/{utils → server/utils}/userAgent.js +2 -16
  176. package/lib/{utils → server/utils}/wsServer.js +3 -3
  177. package/lib/{utils → server/utils}/zipFile.js +1 -1
  178. package/lib/{utils → server/utils}/zones.js +9 -24
  179. package/lib/server/webkit/webkit.js +4 -4
  180. package/lib/server/webkit/wkBrowser.js +4 -4
  181. package/lib/server/webkit/wkConnection.js +1 -1
  182. package/lib/server/webkit/wkExecutionContext.js +25 -17
  183. package/lib/server/webkit/wkInput.js +2 -2
  184. package/lib/server/webkit/wkInterceptableRequest.js +2 -2
  185. package/lib/server/webkit/wkPage.js +41 -40
  186. package/lib/server/webkit/wkProvisionalPage.js +1 -1
  187. package/lib/server/webkit/wkWorkers.js +2 -2
  188. package/lib/utils/isomorphic/ariaSnapshot.js +2 -1
  189. package/lib/utils/isomorphic/assert.js +25 -0
  190. package/lib/utils/isomorphic/colors.js +65 -0
  191. package/lib/utils/isomorphic/cssParser.js +1 -1
  192. package/lib/utils/isomorphic/locatorGenerators.js +13 -1
  193. package/lib/utils/isomorphic/locatorParser.js +2 -2
  194. package/lib/utils/{manualPromise.js → isomorphic/manualPromise.js} +3 -5
  195. package/lib/utils/isomorphic/mimeType.js +11 -3
  196. package/lib/utils/{multimap.js → isomorphic/multimap.js} +1 -3
  197. package/lib/utils/{rtti.js → isomorphic/rtti.js} +2 -5
  198. package/lib/utils/isomorphic/stackTrace.js +169 -0
  199. package/lib/utils/isomorphic/stringUtils.js +1 -1
  200. package/lib/utils/{time.js → isomorphic/time.js} +1 -13
  201. package/lib/utils/{timeoutRunner.js → isomorphic/timeoutRunner.js} +4 -4
  202. package/lib/utils/isomorphic/traceUtils.js +23 -0
  203. package/lib/{utils/index.js → utils.js} +200 -121
  204. package/lib/utilsBundle.js +1 -25
  205. package/lib/utilsBundleImpl/index.js +114 -116
  206. package/lib/vite/htmlReport/index.html +20 -20
  207. package/lib/vite/recorder/assets/codeMirrorModule-B9YMkrwa.js +24 -0
  208. package/lib/vite/recorder/assets/index-ELPgmkwA.js +184 -0
  209. package/lib/vite/recorder/index.html +1 -1
  210. package/lib/vite/traceViewer/assets/codeMirrorModule-DpJ-EmBQ.js +24 -0
  211. package/lib/vite/traceViewer/assets/defaultSettingsView-DTenqiGw.js +259 -0
  212. package/lib/vite/traceViewer/assets/{xtermModule-c-SNdYZy.js → xtermModule-BoAIEibi.js} +7 -7
  213. package/lib/vite/traceViewer/defaultSettingsView.5fN5lw10.css +1 -0
  214. package/lib/vite/traceViewer/index.CUq7VgrV.js +2 -0
  215. package/lib/vite/traceViewer/index.html +3 -3
  216. package/lib/vite/traceViewer/sw.bundle.js +3 -3
  217. package/lib/vite/traceViewer/uiMode.CHJSAD7F.js +5 -0
  218. package/lib/vite/traceViewer/uiMode.html +3 -3
  219. package/lib/zipBundleImpl.js +4 -4
  220. package/package.json +7 -7
  221. package/types/protocol.d.ts +123 -99
  222. package/types/types.d.ts +91 -37
  223. package/lib/utils/stackTrace.js +0 -134
  224. package/lib/utils/traceUtils.js +0 -44
  225. package/lib/vite/recorder/assets/codeMirrorModule-CNAqJrkA.js +0 -24
  226. package/lib/vite/recorder/assets/index-DGS0JLxS.js +0 -184
  227. package/lib/vite/traceViewer/assets/codeMirrorModule-D55P_UuL.js +0 -24
  228. package/lib/vite/traceViewer/assets/defaultSettingsView-B-uNoFsX.js +0 -243
  229. package/lib/vite/traceViewer/defaultSettingsView.2xeEXCXv.css +0 -1
  230. package/lib/vite/traceViewer/index.BfvuujqP.js +0 -2
  231. package/lib/vite/traceViewer/uiMode.CStJu6jo.js +0 -5
  232. /package/lib/{utils → server/utils}/ascii.js +0 -0
  233. /package/lib/{utils → server/utils}/eventsHelper.js +0 -0
  234. /package/lib/{image_tools → server/utils/image_tools}/colorUtils.js +0 -0
  235. /package/lib/{image_tools → server/utils/image_tools}/compare.js +0 -0
  236. /package/lib/{image_tools → server/utils/image_tools}/imageChannel.js +0 -0
  237. /package/lib/{image_tools → server/utils/image_tools}/stats.js +0 -0
  238. /package/lib/{utils → server/utils}/spawnAsync.js +0 -0
  239. /package/lib/{utils → server/utils}/task.js +0 -0
  240. /package/lib/utils/{headers.js → isomorphic/headers.js} +0 -0
  241. /package/lib/utils/{semaphore.js → isomorphic/semaphore.js} +0 -0
  242. /package/lib/{common → utils/isomorphic}/types.js +0 -0
package/lib/server/dom.js CHANGED
@@ -10,15 +10,15 @@ exports.kUnableToAdoptErrorMessage = void 0;
10
10
  exports.throwElementIsNotAttached = throwElementIsNotAttached;
11
11
  exports.throwRetargetableDOMError = throwRetargetableDOMError;
12
12
  var _fs = _interopRequireDefault(require("fs"));
13
- var injectedScriptSource = _interopRequireWildcard(require("../generated/injectedScriptSource"));
14
- var _protocolError = require("./protocolError");
15
13
  var js = _interopRequireWildcard(require("./javascript"));
16
14
  var _progress = require("./progress");
17
15
  var _utils = require("../utils");
18
16
  var _fileUploadUtils = require("./fileUploadUtils");
17
+ var _protocolError = require("./protocolError");
18
+ var injectedScriptSource = _interopRequireWildcard(require("../generated/injectedScriptSource"));
19
19
  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); }
20
- 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; }
21
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+ 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; }
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
22
  /**
23
23
  * Copyright (c) Microsoft Corporation.
24
24
  *
@@ -71,10 +71,6 @@ class FrameExecutionContext extends js.ExecutionContext {
71
71
  returnByValue: false
72
72
  }, arg);
73
73
  }
74
- createHandle(remoteObject) {
75
- if (this.frame._page._delegate.isElementHandle(remoteObject)) return new ElementHandle(this, remoteObject.objectId);
76
- return super.createHandle(remoteObject);
77
- }
78
74
  injectedScript() {
79
75
  if (!this._injectedScriptPromise) {
80
76
  const custom = [];
@@ -98,7 +94,10 @@ class FrameExecutionContext extends js.ExecutionContext {
98
94
  );
99
95
  })();
100
96
  `;
101
- this._injectedScriptPromise = this.rawEvaluateHandle(source).then(objectId => new js.JSHandle(this, 'object', 'InjectedScript', objectId));
97
+ this._injectedScriptPromise = this.rawEvaluateHandle(source).then(handle => {
98
+ handle._setPreview('InjectedScript');
99
+ return handle;
100
+ });
102
101
  }
103
102
  return this._injectedScriptPromise;
104
103
  }
@@ -158,6 +157,13 @@ class ElementHandle extends js.JSHandle {
158
157
  if (!isFrameElement) return null;
159
158
  return this._page._delegate.getContentFrame(this);
160
159
  }
160
+ async generateLocatorString() {
161
+ const selector = await this.evaluateInUtility(async ([injected, node]) => {
162
+ return injected.generateSelectorSimple(node);
163
+ }, {});
164
+ if (selector === 'error:notconnected') return;
165
+ return (0, _utils.asLocator)('javascript', selector);
166
+ }
161
167
  async getAttribute(metadata, name) {
162
168
  return this._frame.getAttribute(metadata, ':scope', name, {}, this);
163
169
  }
@@ -639,7 +645,7 @@ class ElementHandle extends js.JSHandle {
639
645
  await this._page._delegate.setInputFilePaths(retargeted, localPathsOrDirectory);
640
646
  await waitForInputEvent;
641
647
  } else {
642
- await this._page._delegate.setInputFiles(retargeted, filePayloads);
648
+ await retargeted.evaluateInUtility(([injected, node, files]) => injected.setInputFiles(node, files), filePayloads);
643
649
  }
644
650
  return 'done';
645
651
  }
@@ -729,8 +735,8 @@ class ElementHandle extends js.JSHandle {
729
735
  async boundingBox() {
730
736
  return this._page._delegate.getBoundingBox(this);
731
737
  }
732
- async ariaSnapshot() {
733
- return await this.evaluateInUtility(([injected, element]) => injected.ariaSnapshot(element), {});
738
+ async ariaSnapshot(options) {
739
+ return await this.evaluateInUtility(([injected, element, options]) => injected.ariaSnapshot(element, options), options);
734
740
  }
735
741
  async screenshot(metadata, options = {}) {
736
742
  const controller = new _progress.ProgressController(metadata, this);
@@ -8,7 +8,7 @@ var _path = _interopRequireDefault(require("path"));
8
8
  var _page = require("./page");
9
9
  var _utils = require("../utils");
10
10
  var _artifact = require("./artifact");
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  /**
13
13
  * Copyright (c) Microsoft Corporation.
14
14
  *
@@ -7,26 +7,27 @@ exports.ElectronApplication = exports.Electron = void 0;
7
7
  var _fs = _interopRequireDefault(require("fs"));
8
8
  var _os = _interopRequireDefault(require("os"));
9
9
  var _path = _interopRequireDefault(require("path"));
10
+ var readline = _interopRequireWildcard(require("readline"));
11
+ var _timeoutSettings = require("../timeoutSettings");
12
+ var _utils = require("../../utils");
13
+ var _ascii = require("../utils/ascii");
14
+ var _debugLogger = require("../utils/debugLogger");
15
+ var _eventsHelper = require("../utils/eventsHelper");
16
+ var _browserContext = require("../browserContext");
10
17
  var _crBrowser = require("../chromium/crBrowser");
11
18
  var _crConnection = require("../chromium/crConnection");
12
19
  var _crExecutionContext = require("../chromium/crExecutionContext");
13
- var js = _interopRequireWildcard(require("../javascript"));
14
- var _timeoutSettings = require("../../common/timeoutSettings");
15
- var _utils = require("../../utils");
16
- var _transport = require("../transport");
17
- var _processLauncher = require("../../utils/processLauncher");
18
- var _browserContext = require("../browserContext");
19
- var _progress = require("../progress");
20
- var _helper = require("../helper");
21
- var _eventsHelper = require("../../utils/eventsHelper");
22
- var readline = _interopRequireWildcard(require("readline"));
23
- var _debugLogger = require("../../utils/debugLogger");
24
- var _instrumentation = require("../instrumentation");
25
20
  var _crProtocolHelper = require("../chromium/crProtocolHelper");
26
21
  var _console = require("../console");
22
+ var _helper = require("../helper");
23
+ var _instrumentation = require("../instrumentation");
24
+ var js = _interopRequireWildcard(require("../javascript"));
25
+ var _processLauncher = require("../utils/processLauncher");
26
+ var _progress = require("../progress");
27
+ var _transport = require("../transport");
27
28
  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); }
28
- 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; }
29
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
+ 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; }
30
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
30
31
  /**
31
32
  * Copyright (c) Microsoft Corporation.
32
33
  *
@@ -102,7 +103,7 @@ class ElectronApplication extends _instrumentation.SdkObject {
102
103
  return;
103
104
  }
104
105
  if (!this._nodeExecutionContext) return;
105
- const args = event.args.map(arg => this._nodeExecutionContext.createHandle(arg));
106
+ const args = event.args.map(arg => (0, _crExecutionContext.createHandle)(this._nodeExecutionContext, arg));
106
107
  const message = new _console.ConsoleMessage(null, event.type, undefined, args, (0, _crProtocolHelper.toConsoleMessageLocation)(event.stackTrace));
107
108
  this.emit(ElectronApplication.Events.Console, message);
108
109
  }
@@ -174,7 +175,7 @@ class Electron extends _instrumentation.SdkObject {
174
175
  command = require('electron/index.js');
175
176
  } catch (error) {
176
177
  if ((error === null || error === void 0 ? void 0 : error.code) === 'MODULE_NOT_FOUND') {
177
- throw new Error('\n' + (0, _utils.wrapInASCIIBox)(['Electron executablePath not found!', 'Please install it using `npm install -D electron` or set the executablePath to your Electron executable.'].join('\n'), 1));
178
+ throw new Error('\n' + (0, _ascii.wrapInASCIIBox)(['Electron executablePath not found!', 'Please install it using `npm install -D electron` or set the executablePath to your Electron executable.'].join('\n'), 1));
178
179
  }
179
180
  throw error;
180
181
  }
@@ -7,8 +7,8 @@ exports.TimeoutError = exports.TargetClosedError = void 0;
7
7
  exports.isTargetClosedError = isTargetClosedError;
8
8
  exports.parseError = parseError;
9
9
  exports.serializeError = serializeError;
10
- var _utils = require("../utils");
11
10
  var _serializers = require("../protocol/serializers");
11
+ var _utils = require("../utils");
12
12
  /**
13
13
  * Copyright (c) Microsoft Corporation.
14
14
  *
@@ -8,22 +8,25 @@ exports.createProxyAgent = createProxyAgent;
8
8
  var _http = _interopRequireDefault(require("http"));
9
9
  var _https = _interopRequireDefault(require("https"));
10
10
  var _stream = require("stream");
11
+ var _tls = require("tls");
11
12
  var _url = _interopRequireDefault(require("url"));
12
- var _zlib = _interopRequireDefault(require("zlib"));
13
- var _timeoutSettings = require("../common/timeoutSettings");
14
- var _userAgent = require("../utils/userAgent");
13
+ var zlib = _interopRequireWildcard(require("zlib"));
14
+ var _timeoutSettings = require("./timeoutSettings");
15
15
  var _utils = require("../utils");
16
+ var _crypto = require("./utils/crypto");
17
+ var _userAgent = require("./utils/userAgent");
16
18
  var _utilsBundle = require("../utilsBundle");
17
19
  var _browserContext = require("./browserContext");
18
20
  var _cookieStore = require("./cookieStore");
19
21
  var _formData = require("./formData");
20
- var _happyEyeballs = require("../utils/happy-eyeballs");
21
22
  var _instrumentation = require("./instrumentation");
22
23
  var _progress = require("./progress");
23
- var _tracing = require("./trace/recorder/tracing");
24
24
  var _socksClientCertificatesInterceptor = require("./socksClientCertificatesInterceptor");
25
- var _tls = require("tls");
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+ var _happyEyeballs = require("./utils/happyEyeballs");
26
+ var _tracing = require("./trace/recorder/tracing");
27
+ 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); }
28
+ 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; }
29
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
27
30
  /**
28
31
  * Copyright (c) Microsoft Corporation.
29
32
  *
@@ -67,7 +70,7 @@ class APIRequestContext extends _instrumentation.SdkObject {
67
70
  this.fetchLog.delete(fetchUid);
68
71
  }
69
72
  _storeResponseBody(body) {
70
- const uid = (0, _utils.createGuid)();
73
+ const uid = (0, _crypto.createGuid)();
71
74
  this.fetchResponses.set(uid, body);
72
75
  return uid;
73
76
  }
@@ -130,7 +133,8 @@ class APIRequestContext extends _instrumentation.SdkObject {
130
133
  });
131
134
  const fetchUid = this._storeResponseBody(fetchResponse.body);
132
135
  this.fetchLog.set(fetchUid, controller.metadata.log);
133
- if (params.failOnStatusCode && (fetchResponse.status < 200 || fetchResponse.status >= 400)) {
136
+ const failOnStatusCode = params.failOnStatusCode !== undefined ? params.failOnStatusCode : !!defaults.failOnStatusCode;
137
+ if (failOnStatusCode && (fetchResponse.status < 200 || fetchResponse.status >= 400)) {
134
138
  let responseText = '';
135
139
  if (fetchResponse.body.byteLength) {
136
140
  let text = fetchResponse.body.toString('utf8');
@@ -172,8 +176,7 @@ class APIRequestContext extends _instrumentation.SdkObject {
172
176
  }
173
177
  }
174
178
  async _sendRequestWithRetries(progress, url, options, postData, maxRetries) {
175
- var _maxRetries;
176
- (_maxRetries = maxRetries) !== null && _maxRetries !== void 0 ? _maxRetries : maxRetries = 0;
179
+ maxRetries !== null && maxRetries !== void 0 ? maxRetries : maxRetries = 0;
177
180
  let backoff = 250;
178
181
  for (let i = 0; i <= maxRetries; i++) {
179
182
  try {
@@ -230,10 +233,9 @@ class APIRequestContext extends _instrumentation.SdkObject {
230
233
  const request = requestConstructor(url, requestOptions, async response => {
231
234
  const responseAt = (0, _utils.monotonicTime)();
232
235
  const notifyRequestFinished = body => {
233
- var _tlsHandshakeAt;
234
236
  const endAt = (0, _utils.monotonicTime)();
235
237
  // spec: http://www.softwareishard.com/blog/har-12-spec/#timings
236
- const connectEnd = (_tlsHandshakeAt = tlsHandshakeAt) !== null && _tlsHandshakeAt !== void 0 ? _tlsHandshakeAt : tcpConnectionAt;
238
+ const connectEnd = tlsHandshakeAt !== null && tlsHandshakeAt !== void 0 ? tlsHandshakeAt : tcpConnectionAt;
237
239
  const timings = {
238
240
  send: requestFinishAt - startAt,
239
241
  wait: responseAt - requestFinishAt,
@@ -357,17 +359,17 @@ class APIRequestContext extends _instrumentation.SdkObject {
357
359
  let transform;
358
360
  const encoding = response.headers['content-encoding'];
359
361
  if (encoding === 'gzip' || encoding === 'x-gzip') {
360
- transform = _zlib.default.createGunzip({
361
- flush: _zlib.default.constants.Z_SYNC_FLUSH,
362
- finishFlush: _zlib.default.constants.Z_SYNC_FLUSH
362
+ transform = zlib.createGunzip({
363
+ flush: zlib.constants.Z_SYNC_FLUSH,
364
+ finishFlush: zlib.constants.Z_SYNC_FLUSH
363
365
  });
364
366
  } else if (encoding === 'br') {
365
- transform = _zlib.default.createBrotliDecompress({
366
- flush: _zlib.default.constants.BROTLI_OPERATION_FLUSH,
367
- finishFlush: _zlib.default.constants.BROTLI_OPERATION_FLUSH
367
+ transform = zlib.createBrotliDecompress({
368
+ flush: zlib.constants.BROTLI_OPERATION_FLUSH,
369
+ finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH
368
370
  });
369
371
  } else if (encoding === 'deflate') {
370
- transform = _zlib.default.createInflate();
372
+ transform = zlib.createInflate();
371
373
  }
372
374
  if (transform) {
373
375
  // Brotli and deflate decompressors throw if the input stream is empty.
@@ -490,6 +492,7 @@ class BrowserContextAPIRequestContext extends APIRequestContext {
490
492
  return {
491
493
  userAgent: this._context._options.userAgent || this._context._browser.userAgent(),
492
494
  extraHTTPHeaders: this._context._options.extraHTTPHeaders,
495
+ failOnStatusCode: undefined,
493
496
  httpCredentials: this._context._options.httpCredentials,
494
497
  proxy: this._context._options.proxy || this._context._browser.options.proxy,
495
498
  timeoutSettings: this._context._timeoutSettings,
@@ -504,8 +507,8 @@ class BrowserContextAPIRequestContext extends APIRequestContext {
504
507
  async _cookies(url) {
505
508
  return await this._context.cookies(url.toString());
506
509
  }
507
- async storageState() {
508
- return this._context.storageState();
510
+ async storageState(indexedDB) {
511
+ return this._context.storageState(indexedDB);
509
512
  }
510
513
  }
511
514
  exports.BrowserContextAPIRequestContext = BrowserContextAPIRequestContext;
@@ -526,7 +529,11 @@ class GlobalAPIRequestContext extends APIRequestContext {
526
529
  proxy.server = url;
527
530
  }
528
531
  if (options.storageState) {
529
- this._origins = options.storageState.origins;
532
+ var _options$storageState;
533
+ this._origins = (_options$storageState = options.storageState.origins) === null || _options$storageState === void 0 ? void 0 : _options$storageState.map(origin => ({
534
+ indexedDB: [],
535
+ ...origin
536
+ }));
530
537
  this._cookieStore.addCookies(options.storageState.cookies || []);
531
538
  }
532
539
  (0, _browserContext.verifyClientCertificates)(options.clientCertificates);
@@ -534,6 +541,7 @@ class GlobalAPIRequestContext extends APIRequestContext {
534
541
  baseURL: options.baseURL,
535
542
  userAgent: options.userAgent || (0, _userAgent.getUserAgent)(),
536
543
  extraHTTPHeaders: options.extraHTTPHeaders,
544
+ failOnStatusCode: !!options.failOnStatusCode,
537
545
  ignoreHTTPSErrors: !!options.ignoreHTTPSErrors,
538
546
  httpCredentials: options.httpCredentials,
539
547
  clientCertificates: options.clientCertificates,
@@ -560,10 +568,13 @@ class GlobalAPIRequestContext extends APIRequestContext {
560
568
  async _cookies(url) {
561
569
  return this._cookieStore.cookies(url);
562
570
  }
563
- async storageState() {
571
+ async storageState(indexedDB = false) {
564
572
  return {
565
573
  cookies: this._cookieStore.allCookies(),
566
- origins: this._origins || []
574
+ origins: (this._origins || []).map(origin => ({
575
+ ...origin,
576
+ indexedDB: indexedDB ? origin.indexedDB : []
577
+ }))
567
578
  };
568
579
  }
569
580
  }
@@ -3,12 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.fileUploadSizeLimit = void 0;
6
7
  exports.prepareFilesForUpload = prepareFilesForUpload;
7
8
  var _fs = _interopRequireDefault(require("fs"));
8
9
  var _path = _interopRequireDefault(require("path"));
9
- var _utils = require("../utils");
10
+ var _assert = require("../utils/isomorphic/assert");
10
11
  var _utilsBundle = require("../utilsBundle");
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
13
  /**
13
14
  * Copyright (c) Microsoft Corporation.
14
15
  *
@@ -25,9 +26,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
25
26
  * limitations under the License.
26
27
  */
27
28
 
29
+ // Keep in sync with the client.
30
+ const fileUploadSizeLimit = exports.fileUploadSizeLimit = 50 * 1024 * 1024;
28
31
  async function filesExceedUploadLimit(files) {
29
32
  const sizes = await Promise.all(files.map(async file => (await _fs.default.promises.stat(file)).size));
30
- return sizes.reduce((total, size) => total + size, 0) >= _utils.fileUploadSizeLimit;
33
+ return sizes.reduce((total, size) => total + size, 0) >= fileUploadSizeLimit;
31
34
  }
32
35
  async function prepareFilesForUpload(frame, params) {
33
36
  var _fileBuffers;
@@ -44,7 +47,7 @@ async function prepareFilesForUpload(frame, params) {
44
47
  if (streams) localPaths = streams.map(c => c.path());
45
48
  if (directoryStream) localDirectory = directoryStream.path();
46
49
  if (localPaths) {
47
- for (const p of localPaths) (0, _utils.assert)(_path.default.isAbsolute(p) && _path.default.resolve(p) === p, 'Paths provided to localPaths must be absolute and fully resolved.');
50
+ for (const p of localPaths) (0, _assert.assert)(_path.default.isAbsolute(p) && _path.default.resolve(p) === p, 'Paths provided to localPaths must be absolute and fully resolved.');
48
51
  }
49
52
  let fileBuffers = payloads;
50
53
  if (!frame._page._browserContext._browser._isCollocatedWithServer) {
@@ -4,16 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.FFBrowserContext = exports.FFBrowser = void 0;
7
- var _errors = require("../errors");
8
7
  var _utils = require("../../utils");
9
8
  var _browser = require("../browser");
10
9
  var _browserContext = require("../browserContext");
10
+ var _errors = require("../errors");
11
11
  var network = _interopRequireWildcard(require("../network"));
12
12
  var _page = require("../page");
13
13
  var _ffConnection = require("./ffConnection");
14
14
  var _ffPage = require("./ffPage");
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 2018 Google Inc. All rights reserved.
19
19
  * Modifications copyright (c) Microsoft Corporation.
@@ -244,6 +244,12 @@ class FFBrowserContext extends _browserContext.BrowserContext {
244
244
  forcedColors: this._options.forcedColors !== undefined ? this._options.forcedColors : 'none'
245
245
  }));
246
246
  }
247
+ if (this._options.contrast !== 'no-override') {
248
+ promises.push(this._browser.session.send('Browser.setContrast', {
249
+ browserContextId,
250
+ contrast: this._options.contrast !== undefined ? this._options.contrast : 'no-preference'
251
+ }));
252
+ }
247
253
  if (this._options.recordVideo) {
248
254
  promises.push(this._ensureVideosPath().then(() => {
249
255
  return this._browser.session.send('Browser.setVideoRecordingOptions', {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.kBrowserCloseMessageId = exports.FFSession = exports.FFConnection = exports.ConnectionEvents = void 0;
7
7
  var _events = require("events");
8
- var _debugLogger = require("../../utils/debugLogger");
8
+ var _debugLogger = require("../utils/debugLogger");
9
9
  var _helper = require("../helper");
10
10
  var _protocolError = require("../protocolError");
11
11
  /**
@@ -4,12 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.FFExecutionContext = void 0;
7
- var js = _interopRequireWildcard(require("../javascript"));
8
- var _stackTrace = require("../../utils/stackTrace");
7
+ exports.createHandle = createHandle;
8
+ var _assert = require("../../utils/isomorphic/assert");
9
+ var _stackTrace = require("../../utils/isomorphic/stackTrace");
9
10
  var _utilityScriptSerializers = require("../isomorphic/utilityScriptSerializers");
11
+ var js = _interopRequireWildcard(require("../javascript"));
12
+ var dom = _interopRequireWildcard(require("../dom"));
10
13
  var _protocolError = require("../protocolError");
11
14
  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); }
12
- 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; }
15
+ 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; }
13
16
  /**
14
17
  * Copyright 2019 Google Inc. All rights reserved.
15
18
  * Modifications copyright (c) Microsoft Corporation.
@@ -43,16 +46,16 @@ class FFExecutionContext {
43
46
  checkException(payload.exceptionDetails);
44
47
  return payload.result.value;
45
48
  }
46
- async rawEvaluateHandle(expression) {
49
+ async rawEvaluateHandle(context, expression) {
47
50
  const payload = await this._session.send('Runtime.evaluate', {
48
51
  expression,
49
52
  returnByValue: false,
50
53
  executionContextId: this._executionContextId
51
54
  }).catch(rewriteError);
52
55
  checkException(payload.exceptionDetails);
53
- return payload.result.objectId;
56
+ return createHandle(context, payload.result);
54
57
  }
55
- async evaluateWithArguments(expression, returnByValue, utilityScript, values, objectIds) {
58
+ async evaluateWithArguments(expression, returnByValue, utilityScript, values, handles) {
56
59
  const payload = await this._session.send('Runtime.callFunction', {
57
60
  functionDeclaration: expression,
58
61
  args: [{
@@ -60,8 +63,8 @@ class FFExecutionContext {
60
63
  value: undefined
61
64
  }, ...values.map(value => ({
62
65
  value
63
- })), ...objectIds.map(objectId => ({
64
- objectId,
66
+ })), ...handles.map(handle => ({
67
+ objectId: handle._objectId,
65
68
  value: undefined
66
69
  }))],
67
70
  returnByValue,
@@ -69,24 +72,22 @@ class FFExecutionContext {
69
72
  }).catch(rewriteError);
70
73
  checkException(payload.exceptionDetails);
71
74
  if (returnByValue) return (0, _utilityScriptSerializers.parseEvaluationResultValue)(payload.result.value);
72
- return utilityScript._context.createHandle(payload.result);
75
+ return createHandle(utilityScript._context, payload.result);
73
76
  }
74
- async getProperties(context, objectId) {
77
+ async getProperties(object) {
75
78
  const response = await this._session.send('Runtime.getObjectProperties', {
76
79
  executionContextId: this._executionContextId,
77
- objectId
80
+ objectId: object._objectId
78
81
  });
79
82
  const result = new Map();
80
- for (const property of response.properties) result.set(property.name, context.createHandle(property.value));
83
+ for (const property of response.properties) result.set(property.name, createHandle(object._context, property.value));
81
84
  return result;
82
85
  }
83
- createHandle(context, remoteObject) {
84
- return new js.JSHandle(context, remoteObject.subtype || remoteObject.type || '', renderPreview(remoteObject), remoteObject.objectId, potentiallyUnserializableValue(remoteObject));
85
- }
86
- async releaseHandle(objectId) {
86
+ async releaseHandle(handle) {
87
+ if (!handle._objectId) return;
87
88
  await this._session.send('Runtime.disposeObject', {
88
89
  executionContextId: this._executionContextId,
89
- objectId
90
+ objectId: handle._objectId
90
91
  });
91
92
  }
92
93
  }
@@ -120,4 +121,11 @@ function renderPreview(object) {
120
121
  if (object.subtype === 'weakset') return 'WeakSet';
121
122
  if (object.subtype) return object.subtype[0].toUpperCase() + object.subtype.slice(1);
122
123
  if ('value' in object) return String(object.value);
124
+ }
125
+ function createHandle(context, remoteObject) {
126
+ if (remoteObject.subtype === 'node') {
127
+ (0, _assert.assert)(context instanceof dom.FrameExecutionContext);
128
+ return new dom.ElementHandle(context, remoteObject.objectId);
129
+ }
130
+ return new js.JSHandle(context, remoteObject.subtype || remoteObject.type || '', renderPreview(remoteObject), remoteObject.objectId, potentiallyUnserializableValue(remoteObject));
123
131
  }
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.FFNetworkManager = void 0;
7
- var _eventsHelper = require("../../utils/eventsHelper");
7
+ var _eventsHelper = require("../utils/eventsHelper");
8
8
  var network = _interopRequireWildcard(require("../network"));
9
9
  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; }
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 && {}.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
11
  /**
12
12
  * Copyright 2019 Google Inc. All rights reserved.
13
13
  * Modifications copyright (c) Microsoft Corporation.
@@ -4,21 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.UTILITY_WORLD_NAME = exports.FFPage = void 0;
7
+ var _eventsHelper = require("../utils/eventsHelper");
7
8
  var dialog = _interopRequireWildcard(require("../dialog"));
8
9
  var dom = _interopRequireWildcard(require("../dom"));
9
- var _eventsHelper = require("../../utils/eventsHelper");
10
10
  var _page = require("../page");
11
11
  var _ffAccessibility = require("./ffAccessibility");
12
12
  var _ffConnection = require("./ffConnection");
13
13
  var _ffExecutionContext = require("./ffExecutionContext");
14
14
  var _ffInput = require("./ffInput");
15
15
  var _ffNetworkManager = require("./ffNetworkManager");
16
- var _stackTrace = require("../../utils/stackTrace");
17
- var _debugLogger = require("../../utils/debugLogger");
16
+ var _debugLogger = require("../utils/debugLogger");
17
+ var _stackTrace = require("../../utils/isomorphic/stackTrace");
18
18
  var _browserContext = require("../browserContext");
19
19
  var _errors = require("../errors");
20
20
  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); }
21
- 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; }
21
+ 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; }
22
22
  /**
23
23
  * Copyright 2019 Google Inc. All rights reserved.
24
24
  * Modifications copyright (c) Microsoft Corporation.
@@ -109,7 +109,6 @@ class FFPage {
109
109
  let worldName = null;
110
110
  if (auxData.name === UTILITY_WORLD_NAME) worldName = 'utility';else if (!auxData.name) worldName = 'main';
111
111
  const context = new dom.FrameExecutionContext(delegate, frame, worldName);
112
- context[contextDelegateSymbol] = delegate;
113
112
  if (worldName) frame._contextCreated(worldName, context);
114
113
  this._contextIdToContext.set(executionContextId, context);
115
114
  }
@@ -186,7 +185,7 @@ class FFPage {
186
185
  const context = this._contextIdToContext.get(executionContextId);
187
186
  if (!context) return;
188
187
  // Juggler reports 'warn' for some internal messages generated by the browser.
189
- this._page._addConsoleMessage(type === 'warn' ? 'warning' : type, args.map(arg => context.createHandle(arg)), location);
188
+ this._page._addConsoleMessage(type === 'warn' ? 'warning' : type, args.map(arg => (0, _ffExecutionContext.createHandle)(context, arg)), location);
190
189
  }
191
190
  _onDialogOpened(params) {
192
191
  this._page.emitOnContext(_browserContext.BrowserContext.Events.Dialog, new dialog.Dialog(this._page, params.type, params.message, async (accept, promptText) => {
@@ -211,7 +210,7 @@ class FFPage {
211
210
  } = payload;
212
211
  const context = this._contextIdToContext.get(executionContextId);
213
212
  if (!context) return;
214
- const handle = context.createHandle(element).asElement();
213
+ const handle = (0, _ffExecutionContext.createHandle)(context, element).asElement();
215
214
  await this._page._onFileChooserOpened(handle);
216
215
  }
217
216
  async _onWorkerCreated(event) {
@@ -249,7 +248,7 @@ class FFPage {
249
248
  location
250
249
  } = event;
251
250
  const context = worker._existingExecutionContext;
252
- this._page._addConsoleMessage(type, args.map(arg => context.createHandle(arg)), location);
251
+ this._page._addConsoleMessage(type, args.map(arg => (0, _ffExecutionContext.createHandle)(context, arg)), location);
253
252
  });
254
253
  // Note: we receive worker exceptions directly from the page.
255
254
  }
@@ -309,12 +308,14 @@ class FFPage {
309
308
  const colorScheme = emulatedMedia.colorScheme === 'no-override' ? undefined : emulatedMedia.colorScheme;
310
309
  const reducedMotion = emulatedMedia.reducedMotion === 'no-override' ? undefined : emulatedMedia.reducedMotion;
311
310
  const forcedColors = emulatedMedia.forcedColors === 'no-override' ? undefined : emulatedMedia.forcedColors;
311
+ const contrast = emulatedMedia.contrast === 'no-override' ? undefined : emulatedMedia.contrast;
312
312
  await this._session.send('Page.setEmulatedMedia', {
313
313
  // Empty string means reset.
314
314
  type: emulatedMedia.media === 'no-override' ? '' : emulatedMedia.media,
315
315
  colorScheme,
316
316
  reducedMotion,
317
- forcedColors
317
+ forcedColors,
318
+ contrast
318
319
  });
319
320
  }
320
321
  async updateRequestInterception() {
@@ -420,9 +421,6 @@ class FFPage {
420
421
  });
421
422
  return ownerFrameId || null;
422
423
  }
423
- isElementHandle(remoteObject) {
424
- return remoteObject.subtype === 'node';
425
- }
426
424
  async getBoundingBox(handle) {
427
425
  const quads = await this.getContentQuads(handle);
428
426
  if (!quads || !quads.length) return null;
@@ -492,9 +490,6 @@ class FFPage {
492
490
  if (!result) return null;
493
491
  return result.quads.map(quad => [quad.p1, quad.p2, quad.p3, quad.p4]);
494
492
  }
495
- async setInputFiles(handle, files) {
496
- await handle.evaluateInUtility(([injected, node, files]) => injected.setInputFiles(node, files), files);
497
- }
498
493
  async setInputFilePaths(handle, files) {
499
494
  await this._session.send('Page.setFileInputFiles', {
500
495
  frameId: handle._context.frame._id,
@@ -506,10 +501,10 @@ class FFPage {
506
501
  const result = await this._session.send('Page.adoptNode', {
507
502
  frameId: handle._context.frame._id,
508
503
  objectId: handle._objectId,
509
- executionContextId: to[contextDelegateSymbol]._executionContextId
504
+ executionContextId: to.delegate._executionContextId
510
505
  });
511
506
  if (!result.remoteObject) throw new Error(dom.kUnableToAdoptErrorMessage);
512
- return to.createHandle(result.remoteObject);
507
+ return (0, _ffExecutionContext.createHandle)(to, result.remoteObject);
513
508
  }
514
509
  async getAccessibilityTree(needle) {
515
510
  return (0, _ffAccessibility.getAccessibilityTree)(this._session, needle);
@@ -528,10 +523,10 @@ class FFPage {
528
523
  const context = await parent._mainContext();
529
524
  const result = await this._session.send('Page.adoptNode', {
530
525
  frameId: frame._id,
531
- executionContextId: context[contextDelegateSymbol]._executionContextId
526
+ executionContextId: context.delegate._executionContextId
532
527
  });
533
528
  if (!result.remoteObject) throw new Error('Frame has been detached.');
534
- return context.createHandle(result.remoteObject);
529
+ return (0, _ffExecutionContext.createHandle)(context, result.remoteObject);
535
530
  }
536
531
  shouldToggleStyleSheetToSyncAnimations() {
537
532
  return false;
@@ -540,5 +535,4 @@ class FFPage {
540
535
  exports.FFPage = FFPage;
541
536
  function webSocketId(frameId, wsid) {
542
537
  return `${frameId}---${wsid}`;
543
- }
544
- const contextDelegateSymbol = Symbol('delegate');
538
+ }