patchright-core 1.50.0 → 1.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/ThirdPartyNotices.txt +381 -55
  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/generated/pollingRecorderSource.js +1 -1
  46. package/lib/inProcessFactory.js +6 -3
  47. package/lib/outofprocess.js +12 -8
  48. package/lib/protocol/validator.js +64 -13
  49. package/lib/protocol/validatorPrimitives.js +1 -2
  50. package/lib/remote/playwrightConnection.js +18 -10
  51. package/lib/remote/playwrightServer.js +20 -7
  52. package/lib/server/android/android.js +17 -14
  53. package/lib/server/android/backendAdb.js +14 -14
  54. package/lib/server/artifact.js +3 -3
  55. package/lib/server/bidi/bidiBrowser.js +2 -2
  56. package/lib/server/bidi/bidiChromium.js +4 -3
  57. package/lib/server/bidi/bidiConnection.js +1 -1
  58. package/lib/server/bidi/bidiExecutionContext.js +70 -40
  59. package/lib/server/bidi/bidiFirefox.js +4 -3
  60. package/lib/server/bidi/bidiInput.js +5 -8
  61. package/lib/server/bidi/bidiNetworkManager.js +3 -3
  62. package/lib/server/bidi/bidiOverCdp.js +2 -2
  63. package/lib/server/bidi/bidiPage.js +30 -46
  64. package/lib/server/bidi/third_party/firefoxPrefs.js +19 -3
  65. package/lib/server/browser.js +2 -2
  66. package/lib/server/browserContext.js +37 -40
  67. package/lib/server/browserType.js +18 -17
  68. package/lib/{utils/sequence.js → server/callLog.js} +18 -3
  69. package/lib/server/chromium/chromium.js +14 -14
  70. package/lib/server/chromium/chromiumSwitches.js +32 -1
  71. package/lib/server/chromium/crBrowser.js +15 -14
  72. package/lib/server/chromium/crConnection.js +2 -2
  73. package/lib/server/chromium/crCoverage.js +1 -1
  74. package/lib/server/chromium/crDevTools.js +1 -1
  75. package/lib/server/chromium/crDragDrop.js +1 -1
  76. package/lib/server/chromium/crExecutionContext.js +25 -17
  77. package/lib/server/chromium/crInput.js +2 -2
  78. package/lib/server/chromium/crNetworkManager.js +73 -26
  79. package/lib/server/chromium/crPage.js +22 -23
  80. package/lib/server/chromium/crPdf.js +1 -1
  81. package/lib/server/chromium/crProtocolHelper.js +3 -3
  82. package/lib/server/chromium/crServiceWorker.js +2 -2
  83. package/lib/server/chromium/videoRecorder.js +2 -2
  84. package/lib/server/clock.js +1 -1
  85. package/lib/server/codegen/javascript.js +1 -1
  86. package/lib/server/codegen/languages.js +2 -2
  87. package/lib/server/debugController.js +3 -3
  88. package/lib/server/deviceDescriptors.js +1 -1
  89. package/lib/server/deviceDescriptorsSource.json +131 -131
  90. package/lib/server/dispatchers/androidDispatcher.js +1 -1
  91. package/lib/server/dispatchers/artifactDispatcher.js +3 -3
  92. package/lib/server/dispatchers/browserContextDispatcher.js +19 -19
  93. package/lib/server/dispatchers/browserTypeDispatcher.js +1 -1
  94. package/lib/server/dispatchers/cdpSessionDispatcher.js +1 -1
  95. package/lib/server/dispatchers/dispatcher.js +27 -25
  96. package/lib/server/dispatchers/electronDispatcher.js +3 -3
  97. package/lib/server/dispatchers/elementHandlerDispatcher.js +7 -2
  98. package/lib/server/dispatchers/frameDispatcher.js +4 -4
  99. package/lib/server/dispatchers/jsHandleDispatcher.js +2 -2
  100. package/lib/server/dispatchers/jsonPipeDispatcher.js +2 -2
  101. package/lib/server/dispatchers/localUtilsDispatcher.js +25 -298
  102. package/lib/server/dispatchers/networkDispatchers.js +3 -3
  103. package/lib/server/dispatchers/pageDispatcher.js +11 -9
  104. package/lib/server/dispatchers/playwrightDispatcher.js +5 -5
  105. package/lib/server/dispatchers/streamDispatcher.js +4 -3
  106. package/lib/server/dispatchers/webSocketRouteDispatcher.js +8 -7
  107. package/lib/server/dispatchers/writableStreamDispatcher.js +5 -6
  108. package/lib/server/dom.js +18 -12
  109. package/lib/server/download.js +1 -1
  110. package/lib/server/electron/electron.js +17 -16
  111. package/lib/server/errors.js +1 -1
  112. package/lib/server/fetch.js +50 -45
  113. package/lib/server/fileUploadUtils.js +7 -4
  114. package/lib/server/firefox/ffBrowser.js +11 -3
  115. package/lib/server/firefox/ffConnection.js +1 -1
  116. package/lib/server/firefox/ffExecutionContext.js +25 -17
  117. package/lib/server/firefox/ffNetworkManager.js +2 -2
  118. package/lib/server/firefox/ffPage.js +15 -21
  119. package/lib/server/firefox/firefox.js +7 -9
  120. package/lib/server/frameSelectors.js +1 -1
  121. package/lib/server/frames.js +366 -209
  122. package/lib/server/har/harRecorder.js +4 -4
  123. package/lib/server/har/harTracer.js +7 -8
  124. package/lib/server/harBackend.js +157 -0
  125. package/lib/server/helper.js +2 -2
  126. package/lib/server/index.js +1 -8
  127. package/lib/server/input.js +1 -1
  128. package/lib/server/instrumentation.js +2 -2
  129. package/lib/server/isomorphic/utilityScriptSerializers.js +3 -0
  130. package/lib/server/javascript.js +46 -33
  131. package/lib/server/launchApp.js +2 -2
  132. package/lib/server/localUtils.js +203 -0
  133. package/lib/server/network.js +3 -3
  134. package/lib/server/page.js +41 -22
  135. package/lib/server/pipeTransport.js +1 -1
  136. package/lib/server/playwright.js +5 -5
  137. package/lib/server/progress.js +1 -1
  138. package/lib/server/protocolError.js +1 -1
  139. package/lib/server/recorder/contextRecorder.js +3 -3
  140. package/lib/server/recorder/recorderApp.js +18 -12
  141. package/lib/server/recorder/recorderCollection.js +4 -4
  142. package/lib/server/recorder/throttledFile.js +3 -4
  143. package/lib/server/recorder.js +7 -5
  144. package/lib/server/registry/browserFetcher.js +9 -7
  145. package/lib/server/registry/dependencies.js +15 -15
  146. package/lib/server/registry/index.js +38 -44
  147. package/lib/server/registry/oopDownloadBrowserMain.js +3 -3
  148. package/lib/server/screenshotter.js +1 -1
  149. package/lib/server/selectors.js +3 -3
  150. package/lib/server/socksClientCertificatesInterceptor.js +9 -9
  151. package/lib/server/socksInterceptor.js +8 -5
  152. package/lib/server/storageScript.js +160 -0
  153. package/lib/{common → server}/timeoutSettings.js +6 -5
  154. package/lib/server/trace/recorder/snapshotter.js +9 -8
  155. package/lib/server/trace/recorder/tracing.js +40 -31
  156. package/lib/server/trace/test/inMemorySnapshotter.js +4 -4
  157. package/lib/server/trace/viewer/traceViewer.js +13 -5
  158. package/lib/server/transport.js +2 -2
  159. package/lib/{utils → server/utils}/comparators.js +4 -4
  160. package/lib/{utils → server/utils}/crypto.js +4 -4
  161. package/lib/{utils → server/utils}/debug.js +4 -12
  162. package/lib/{utils → server/utils}/debugLogger.js +2 -2
  163. package/lib/{utils → server/utils}/env.js +4 -0
  164. package/lib/{utils → server/utils}/expectUtils.js +1 -1
  165. package/lib/{utils → server/utils}/fileUtils.js +4 -5
  166. package/lib/{utils/happy-eyeballs.js → server/utils/happyEyeballs.js} +22 -24
  167. package/lib/{utils → server/utils}/hostPlatform.js +1 -1
  168. package/lib/{utils → server/utils}/httpServer.js +8 -12
  169. package/lib/{utils → server/utils}/linuxUtils.js +3 -23
  170. package/lib/{utils → server/utils}/network.js +5 -5
  171. package/lib/server/utils/nodePlatform.js +140 -0
  172. package/lib/{protocol/transport.js → server/utils/pipeTransport.js} +2 -2
  173. package/lib/{utils → server/utils}/processLauncher.js +5 -5
  174. package/lib/{utils → server/utils}/profiler.js +5 -6
  175. package/lib/{common → server/utils}/socksProxy.js +10 -9
  176. package/lib/{utils → server/utils}/userAgent.js +2 -16
  177. package/lib/{utils → server/utils}/wsServer.js +3 -3
  178. package/lib/{utils → server/utils}/zipFile.js +1 -1
  179. package/lib/{utils → server/utils}/zones.js +9 -24
  180. package/lib/server/webkit/webkit.js +4 -4
  181. package/lib/server/webkit/wkBrowser.js +4 -4
  182. package/lib/server/webkit/wkConnection.js +1 -1
  183. package/lib/server/webkit/wkExecutionContext.js +25 -17
  184. package/lib/server/webkit/wkInput.js +2 -2
  185. package/lib/server/webkit/wkInterceptableRequest.js +2 -2
  186. package/lib/server/webkit/wkPage.js +41 -40
  187. package/lib/server/webkit/wkProvisionalPage.js +1 -1
  188. package/lib/server/webkit/wkWorkers.js +2 -2
  189. package/lib/utils/isomorphic/ariaSnapshot.js +2 -1
  190. package/lib/utils/isomorphic/assert.js +25 -0
  191. package/lib/utils/isomorphic/colors.js +65 -0
  192. package/lib/utils/isomorphic/cssParser.js +1 -1
  193. package/lib/utils/isomorphic/locatorGenerators.js +13 -1
  194. package/lib/utils/isomorphic/locatorParser.js +2 -2
  195. package/lib/utils/{manualPromise.js → isomorphic/manualPromise.js} +3 -5
  196. package/lib/utils/isomorphic/mimeType.js +11 -3
  197. package/lib/utils/{multimap.js → isomorphic/multimap.js} +1 -3
  198. package/lib/utils/{rtti.js → isomorphic/rtti.js} +2 -5
  199. package/lib/utils/isomorphic/stackTrace.js +169 -0
  200. package/lib/utils/isomorphic/stringUtils.js +1 -1
  201. package/lib/utils/{time.js → isomorphic/time.js} +1 -13
  202. package/lib/utils/{timeoutRunner.js → isomorphic/timeoutRunner.js} +4 -4
  203. package/lib/utils/isomorphic/traceUtils.js +23 -0
  204. package/lib/{utils/index.js → utils.js} +200 -121
  205. package/lib/utilsBundle.js +1 -25
  206. package/lib/utilsBundleImpl/index.js +119 -121
  207. package/lib/vite/htmlReport/index.html +20 -20
  208. package/lib/vite/recorder/assets/codeMirrorModule-B9YMkrwa.js +24 -0
  209. package/lib/vite/recorder/assets/index-ELPgmkwA.js +184 -0
  210. package/lib/vite/recorder/index.html +2 -2
  211. package/lib/vite/traceViewer/assets/codeMirrorModule-DpJ-EmBQ.js +24 -0
  212. package/lib/vite/traceViewer/assets/defaultSettingsView-DTenqiGw.js +259 -0
  213. package/lib/vite/traceViewer/assets/{xtermModule-BeNbaIVa.js → xtermModule-BoAIEibi.js} +7 -7
  214. package/lib/vite/traceViewer/defaultSettingsView.5fN5lw10.css +1 -0
  215. package/lib/vite/traceViewer/index.CUq7VgrV.js +2 -0
  216. package/lib/vite/traceViewer/index.html +4 -4
  217. package/lib/vite/traceViewer/sw.bundle.js +3 -3
  218. package/lib/vite/traceViewer/uiMode.CHJSAD7F.js +5 -0
  219. package/lib/vite/traceViewer/uiMode.html +4 -4
  220. package/lib/zipBundleImpl.js +4 -4
  221. package/package.json +7 -7
  222. package/types/protocol.d.ts +123 -99
  223. package/types/types.d.ts +110 -38
  224. package/lib/utils/stackTrace.js +0 -134
  225. package/lib/utils/traceUtils.js +0 -44
  226. package/lib/vite/recorder/assets/codeMirrorModule-3Qn3tPnZ.js +0 -24
  227. package/lib/vite/recorder/assets/index-Bek6JFv8.js +0 -184
  228. package/lib/vite/traceViewer/assets/codeMirrorModule-aLkSUGpW.js +0 -24
  229. package/lib/vite/traceViewer/assets/defaultSettingsView-CxUo6zd3.js +0 -243
  230. package/lib/vite/traceViewer/defaultSettingsView.DtIkrKWn.css +0 -1
  231. package/lib/vite/traceViewer/index.Bhu5cv5R.js +0 -2
  232. package/lib/vite/traceViewer/uiMode.BBy7FOVd.js +0 -5
  233. /package/lib/{utils → server/utils}/ascii.js +0 -0
  234. /package/lib/{utils → server/utils}/eventsHelper.js +0 -0
  235. /package/lib/{image_tools → server/utils/image_tools}/colorUtils.js +0 -0
  236. /package/lib/{image_tools → server/utils/image_tools}/compare.js +0 -0
  237. /package/lib/{image_tools → server/utils/image_tools}/imageChannel.js +0 -0
  238. /package/lib/{image_tools → server/utils/image_tools}/stats.js +0 -0
  239. /package/lib/{utils → server/utils}/spawnAsync.js +0 -0
  240. /package/lib/{utils → server/utils}/task.js +0 -0
  241. /package/lib/utils/{headers.js → isomorphic/headers.js} +0 -0
  242. /package/lib/utils/{semaphore.js → isomorphic/semaphore.js} +0 -0
  243. /package/lib/{common → utils/isomorphic}/types.js +0 -0
  244. /package/lib/vite/recorder/assets/{codeMirrorModule-ez37Vkbh.css → codeMirrorModule-C3UTv-Ge.css} +0 -0
  245. /package/lib/vite/recorder/assets/{index-CAQewHss.css → index-eHBmevrY.css} +0 -0
  246. /package/lib/vite/traceViewer/{codeMirrorModule.ez37Vkbh.css → codeMirrorModule.C3UTv-Ge.css} +0 -0
  247. /package/lib/vite/traceViewer/{index.CrbWWHbf.css → index.CFOW-Ezb.css} +0 -0
  248. /package/lib/vite/traceViewer/{uiMode.Be_ME-Go.css → uiMode.BatfzHMG.css} +0 -0
  249. /package/lib/vite/traceViewer/{xtermModule.DSXBckUd.css → xtermModule.Beg8tuEN.css} +0 -0
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.AndroidSocketDispatcher = exports.AndroidDispatcher = exports.AndroidDeviceDispatcher = void 0;
7
+ var _browserContextDispatcher = require("./browserContextDispatcher");
7
8
  var _dispatcher = require("./dispatcher");
8
9
  var _android = require("../android/android");
9
- var _browserContextDispatcher = require("./browserContextDispatcher");
10
10
  /**
11
11
  * Copyright (c) Microsoft Corporation.
12
12
  *
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ArtifactDispatcher = void 0;
7
+ var _fs = _interopRequireDefault(require("fs"));
7
8
  var _dispatcher = require("./dispatcher");
8
9
  var _streamDispatcher = require("./streamDispatcher");
9
- var _fs = _interopRequireDefault(require("fs"));
10
- var _fileUtils = require("../../utils/fileUtils");
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ var _fileUtils = require("../utils/fileUtils");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  /**
13
13
  * Copyright (c) Microsoft Corporation.
14
14
  *
@@ -4,26 +4,26 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.BrowserContextDispatcher = void 0;
7
+ var _fs = _interopRequireDefault(require("fs"));
8
+ var _path = _interopRequireDefault(require("path"));
7
9
  var _browserContext = require("../browserContext");
10
+ var _artifactDispatcher = require("./artifactDispatcher");
11
+ var _cdpSessionDispatcher = require("./cdpSessionDispatcher");
12
+ var _dialogDispatcher = require("./dialogDispatcher");
8
13
  var _dispatcher = require("./dispatcher");
9
- var _pageDispatcher = require("./pageDispatcher");
14
+ var _elementHandlerDispatcher = require("./elementHandlerDispatcher");
10
15
  var _networkDispatchers = require("./networkDispatchers");
16
+ var _pageDispatcher = require("./pageDispatcher");
11
17
  var _crBrowser = require("../chromium/crBrowser");
12
- var _cdpSessionDispatcher = require("./cdpSessionDispatcher");
18
+ var _errors = require("../errors");
13
19
  var _recorder = require("../recorder");
14
- var _artifactDispatcher = require("./artifactDispatcher");
15
20
  var _tracingDispatcher = require("./tracingDispatcher");
16
- var fs = _interopRequireWildcard(require("fs"));
17
- var path = _interopRequireWildcard(require("path"));
18
- var _utils = require("../../utils");
21
+ var _webSocketRouteDispatcher = require("./webSocketRouteDispatcher");
19
22
  var _writableStreamDispatcher = require("./writableStreamDispatcher");
20
- var _dialogDispatcher = require("./dialogDispatcher");
21
- var _errors = require("../errors");
22
- var _elementHandlerDispatcher = require("./elementHandlerDispatcher");
23
+ var _crypto = require("../utils/crypto");
24
+ var _urlMatch = require("../../utils/isomorphic/urlMatch");
23
25
  var _recorderApp = require("../recorder/recorderApp");
24
- var _webSocketRouteDispatcher = require("./webSocketRouteDispatcher");
25
- 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); }
26
- 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; }
26
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
27
27
  /**
28
28
  * Copyright (c) Microsoft Corporation.
29
29
  *
@@ -186,19 +186,19 @@ class BrowserContextDispatcher extends _dispatcher.Dispatcher {
186
186
  }
187
187
  async createTempFiles(params) {
188
188
  const dir = this._context._browser.options.artifactsDir;
189
- const tmpDir = path.join(dir, 'upload-' + (0, _utils.createGuid)());
190
- const tempDirWithRootName = params.rootDirName ? path.join(tmpDir, path.basename(params.rootDirName)) : tmpDir;
191
- await fs.promises.mkdir(tempDirWithRootName, {
189
+ const tmpDir = _path.default.join(dir, 'upload-' + (0, _crypto.createGuid)());
190
+ const tempDirWithRootName = params.rootDirName ? _path.default.join(tmpDir, _path.default.basename(params.rootDirName)) : tmpDir;
191
+ await _fs.default.promises.mkdir(tempDirWithRootName, {
192
192
  recursive: true
193
193
  });
194
194
  this._context._tempDirs.push(tmpDir);
195
195
  return {
196
196
  rootDir: params.rootDirName ? new _writableStreamDispatcher.WritableStreamDispatcher(this, tempDirWithRootName) : undefined,
197
197
  writableStreams: await Promise.all(params.items.map(async item => {
198
- await fs.promises.mkdir(path.dirname(path.join(tempDirWithRootName, item.name)), {
198
+ await _fs.default.promises.mkdir(_path.default.dirname(_path.default.join(tempDirWithRootName, item.name)), {
199
199
  recursive: true
200
200
  });
201
- const file = fs.createWriteStream(path.join(tempDirWithRootName, item.name));
201
+ const file = _fs.default.createWriteStream(_path.default.join(tempDirWithRootName, item.name));
202
202
  return new _writableStreamDispatcher.WritableStreamDispatcher(this, file, item.lastModifiedMs);
203
203
  }))
204
204
  };
@@ -273,7 +273,7 @@ class BrowserContextDispatcher extends _dispatcher.Dispatcher {
273
273
  }
274
274
  const urlMatchers = params.patterns.map(pattern => pattern.regexSource ? new RegExp(pattern.regexSource, pattern.regexFlags) : pattern.glob);
275
275
  await this._context.setRequestInterceptor((route, request) => {
276
- const matchesSome = urlMatchers.some(urlMatch => (0, _utils.urlMatches)(this._context._options.baseURL, request.url(), urlMatch));
276
+ const matchesSome = urlMatchers.some(urlMatch => (0, _urlMatch.urlMatches)(this._context._options.baseURL, request.url(), urlMatch));
277
277
  if (!matchesSome) return false;
278
278
  this._dispatchEvent('route', {
279
279
  route: _networkDispatchers.RouteDispatcher.from(_networkDispatchers.RequestDispatcher.from(this, request), route)
@@ -286,7 +286,7 @@ class BrowserContextDispatcher extends _dispatcher.Dispatcher {
286
286
  if (params.patterns.length) await _webSocketRouteDispatcher.WebSocketRouteDispatcher.installIfNeeded(this._context);
287
287
  }
288
288
  async storageState(params, metadata) {
289
- return await this._context.storageState();
289
+ return await this._context.storageState(params.indexedDB);
290
290
  }
291
291
  async close(params, metadata) {
292
292
  metadata.potentiallyClosesScope = true;
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.BrowserTypeDispatcher = void 0;
7
+ var _browserContextDispatcher = require("./browserContextDispatcher");
7
8
  var _browserDispatcher = require("./browserDispatcher");
8
9
  var _dispatcher = require("./dispatcher");
9
- var _browserContextDispatcher = require("./browserContextDispatcher");
10
10
  /**
11
11
  * Copyright (c) Microsoft Corporation.
12
12
  *
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.CDPSessionDispatcher = void 0;
7
- var _crConnection = require("../chromium/crConnection");
8
7
  var _dispatcher = require("./dispatcher");
8
+ var _crConnection = require("../chromium/crConnection");
9
9
  /**
10
10
  * Copyright (c) Microsoft Corporation.
11
11
  *
@@ -7,12 +7,14 @@ exports.dispatcherSymbol = exports.RootDispatcher = exports.DispatcherConnection
7
7
  exports.existingDispatcher = existingDispatcher;
8
8
  exports.setMaxDispatchersForTest = setMaxDispatchersForTest;
9
9
  var _events = require("events");
10
+ var _eventsHelper = require("../utils/eventsHelper");
10
11
  var _validator = require("../../protocol/validator");
11
12
  var _utils = require("../../utils");
13
+ var _debug = require("../utils/debug");
12
14
  var _errors = require("../errors");
13
15
  var _instrumentation = require("../instrumentation");
14
- var _eventsHelper = require("../..//utils/eventsHelper");
15
16
  var _protocolError = require("../protocolError");
17
+ var _callLog = require("../callLog");
16
18
  /**
17
19
  * Copyright (c) Microsoft Corporation.
18
20
  *
@@ -39,8 +41,8 @@ function setMaxDispatchersForTest(value) {
39
41
  maxDispatchersOverride = value;
40
42
  }
41
43
  function maxDispatchersForBucket(gcBucket) {
42
- var _ref, _maxDispatchersOverri;
43
- return (_ref = (_maxDispatchersOverri = maxDispatchersOverride) !== null && _maxDispatchersOverri !== void 0 ? _maxDispatchersOverri : {
44
+ var _ref;
45
+ return (_ref = maxDispatchersOverride !== null && maxDispatchersOverride !== void 0 ? maxDispatchersOverride : {
44
46
  'JSHandle': 100000,
45
47
  'ElementHandle': 100000
46
48
  }[gcBucket]) !== null && _ref !== void 0 ? _ref : 10000;
@@ -101,7 +103,7 @@ class Dispatcher extends _events.EventEmitter {
101
103
  }
102
104
  _dispatchEvent(method, params) {
103
105
  if (this._disposed) {
104
- if ((0, _utils.isUnderTest)()) throw new Error(`${this._guid} is sending "${String(method)}" event after being disposed`);
106
+ if ((0, _debug.isUnderTest)()) throw new Error(`${this._guid} is sending "${String(method)}" event after being disposed`);
105
107
  // Just ignore this event outside of tests.
106
108
  return;
107
109
  }
@@ -171,10 +173,7 @@ class DispatcherConnection {
171
173
  }
172
174
  sendEvent(dispatcher, event, params) {
173
175
  const validator = (0, _validator.findValidator)(dispatcher._type, event, 'Event');
174
- params = validator(params, '', {
175
- tChannelImpl: this._tChannelImplToWire.bind(this),
176
- binary: this._isLocal ? 'buffer' : 'toBase64'
177
- });
176
+ params = validator(params, '', this._validatorToWireContext());
178
177
  this.onmessage({
179
178
  guid: dispatcher._guid,
180
179
  method: event,
@@ -183,10 +182,7 @@ class DispatcherConnection {
183
182
  }
184
183
  sendCreate(parent, type, guid, initializer) {
185
184
  const validator = (0, _validator.findValidator)(type, '', 'Initializer');
186
- initializer = validator(initializer, '', {
187
- tChannelImpl: this._tChannelImplToWire.bind(this),
188
- binary: this._isLocal ? 'buffer' : 'toBase64'
189
- });
185
+ initializer = validator(initializer, '', this._validatorToWireContext());
190
186
  this.onmessage({
191
187
  guid: parent._guid,
192
188
  method: '__create__',
@@ -215,6 +211,20 @@ class DispatcherConnection {
215
211
  }
216
212
  });
217
213
  }
214
+ _validatorToWireContext() {
215
+ return {
216
+ tChannelImpl: this._tChannelImplToWire.bind(this),
217
+ binary: this._isLocal ? 'buffer' : 'toBase64',
218
+ isUnderTest: _debug.isUnderTest
219
+ };
220
+ }
221
+ _validatorFromWireContext() {
222
+ return {
223
+ tChannelImpl: this._tChannelImplFromWire.bind(this),
224
+ binary: this._isLocal ? 'buffer' : 'fromBase64',
225
+ isUnderTest: _debug.isUnderTest
226
+ };
227
+ }
218
228
  _tChannelImplFromWire(names, arg, path, context) {
219
229
  if (arg && typeof arg === 'object' && typeof arg.guid === 'string') {
220
230
  const guid = arg.guid;
@@ -278,14 +288,9 @@ class DispatcherConnection {
278
288
  let validMetadata;
279
289
  try {
280
290
  const validator = (0, _validator.findValidator)(dispatcher._type, method, 'Params');
281
- validParams = validator(params, '', {
282
- tChannelImpl: this._tChannelImplFromWire.bind(this),
283
- binary: this._isLocal ? 'buffer' : 'fromBase64'
284
- });
285
- validMetadata = metadataValidator(metadata, '', {
286
- tChannelImpl: this._tChannelImplFromWire.bind(this),
287
- binary: this._isLocal ? 'buffer' : 'fromBase64'
288
- });
291
+ const validatorContext = this._validatorFromWireContext();
292
+ validParams = validator(params, '', validatorContext);
293
+ validMetadata = metadataValidator(metadata, '', validatorContext);
289
294
  if (typeof dispatcher[method] !== 'function') throw new Error(`Mismatching dispatcher: "${dispatcher._type}" does not implement "${method}"`);
290
295
  } catch (e) {
291
296
  this.onmessage({
@@ -360,10 +365,7 @@ class DispatcherConnection {
360
365
  try {
361
366
  const result = await dispatcher._handleCommand(callMetadata, method, validParams);
362
367
  const validator = (0, _validator.findValidator)(dispatcher._type, method, 'Result');
363
- response.result = validator(result, '', {
364
- tChannelImpl: this._tChannelImplToWire.bind(this),
365
- binary: this._isLocal ? 'buffer' : 'toBase64'
366
- });
368
+ response.result = validator(result, '', this._validatorToWireContext());
367
369
  callMetadata.result = result;
368
370
  } catch (e) {
369
371
  if ((0, _errors.isTargetClosedError)(e) && sdkObject) {
@@ -384,7 +386,7 @@ class DispatcherConnection {
384
386
  callMetadata.endTime = (0, _utils.monotonicTime)();
385
387
  await (sdkObject === null || sdkObject === void 0 ? void 0 : sdkObject.instrumentation.onAfterCall(sdkObject, callMetadata));
386
388
  }
387
- if (response.error) response.log = (0, _utils.compressCallLog)(callMetadata.log);
389
+ if (response.error) response.log = (0, _callLog.compressCallLog)(callMetadata.log);
388
390
  this.onmessage(response);
389
391
  }
390
392
  }
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ElectronDispatcher = exports.ElectronApplicationDispatcher = void 0;
7
- var _dispatcher = require("./dispatcher");
8
- var _electron = require("../electron/electron");
9
7
  var _browserContextDispatcher = require("./browserContextDispatcher");
10
- var _jsHandleDispatcher = require("./jsHandleDispatcher");
8
+ var _dispatcher = require("./dispatcher");
11
9
  var _elementHandlerDispatcher = require("./elementHandlerDispatcher");
10
+ var _jsHandleDispatcher = require("./jsHandleDispatcher");
11
+ var _electron = require("../electron/electron");
12
12
  /**
13
13
  * Copyright (c) Microsoft Corporation.
14
14
  *
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ElementHandleDispatcher = void 0;
7
+ var _browserContextDispatcher = require("./browserContextDispatcher");
7
8
  var _dispatcher = require("./dispatcher");
8
- var _jsHandleDispatcher = require("./jsHandleDispatcher");
9
9
  var _frameDispatcher = require("./frameDispatcher");
10
- var _browserContextDispatcher = require("./browserContextDispatcher");
10
+ var _jsHandleDispatcher = require("./jsHandleDispatcher");
11
11
  var _pageDispatcher = require("./pageDispatcher");
12
12
  /**
13
13
  * Copyright (c) Microsoft Corporation.
@@ -56,6 +56,11 @@ class ElementHandleDispatcher extends _jsHandleDispatcher.JSHandleDispatcher {
56
56
  frame: frame ? _frameDispatcher.FrameDispatcher.from(this._browserContextDispatcher(), frame) : undefined
57
57
  };
58
58
  }
59
+ async generateLocatorString(params, metadata) {
60
+ return {
61
+ value: await this._elementHandle.generateLocatorString()
62
+ };
63
+ }
59
64
  async getAttribute(params, metadata) {
60
65
  const value = await this._elementHandle.getAttribute(metadata, params.name);
61
66
  return {
@@ -9,7 +9,6 @@ var _dispatcher = require("./dispatcher");
9
9
  var _elementHandlerDispatcher = require("./elementHandlerDispatcher");
10
10
  var _jsHandleDispatcher = require("./jsHandleDispatcher");
11
11
  var _networkDispatchers = require("./networkDispatchers");
12
- var _utils = require("../../utils");
13
12
  var _ariaSnapshot = require("../../utils/isomorphic/ariaSnapshot");
14
13
  var _utilsBundle = require("../../utilsBundle");
15
14
  /**
@@ -41,7 +40,6 @@ class FrameDispatcher extends _dispatcher.Dispatcher {
41
40
  // Main frames are gc'ed separately from any other frames, so that
42
41
  // methods on Page that redirect to the main frame remain operational.
43
42
  // Note: we cannot check parentFrame() here because it may be null after the frame has been detached.
44
- (0, _utils.debugAssert)(frame._page.mainFrame(), 'Cannot determine whether the frame is a main frame');
45
43
  const gcBucket = frame._page.mainFrame() === frame ? 'MainFrame' : 'Frame';
46
44
  const pageDispatcher = (0, _dispatcher.existingDispatcher)(frame._page);
47
45
  super(pageDispatcher || scope, frame, 'Frame', {
@@ -91,14 +89,16 @@ class FrameDispatcher extends _dispatcher.Dispatcher {
91
89
  async evaluateExpression(params, metadata) {
92
90
  return {
93
91
  value: (0, _jsHandleDispatcher.serializeResult)(await this._frame.evaluateExpression(params.expression, {
94
- isFunction: params.isFunction
92
+ isFunction: params.isFunction,
93
+ world: params.isolatedContext ? 'utility' : 'main'
95
94
  }, (0, _jsHandleDispatcher.parseArgument)(params.arg)))
96
95
  };
97
96
  }
98
97
  async evaluateExpressionHandle(params, metadata) {
99
98
  return {
100
99
  handle: _elementHandlerDispatcher.ElementHandleDispatcher.fromJSHandle(this, await this._frame.evaluateExpressionHandle(params.expression, {
101
- isFunction: params.isFunction
100
+ isFunction: params.isFunction,
101
+ world: params.isolatedContext ? 'utility' : 'main'
102
102
  }, (0, _jsHandleDispatcher.parseArgument)(params.arg)))
103
103
  };
104
104
  }
@@ -41,13 +41,13 @@ class JSHandleDispatcher extends _dispatcher.Dispatcher {
41
41
  return {
42
42
  value: serializeResult(await this._object.evaluateExpression(params.expression, {
43
43
  isFunction: params.isFunction
44
- }, parseArgument(params.arg)))
44
+ }, parseArgument(params.arg), params.isolatedContext))
45
45
  };
46
46
  }
47
47
  async evaluateExpressionHandle(params) {
48
48
  const jsHandle = await this._object.evaluateExpressionHandle(params.expression, {
49
49
  isFunction: params.isFunction
50
- }, parseArgument(params.arg));
50
+ }, parseArgument(params.arg), params.isolatedContext);
51
51
  return {
52
52
  handle: _elementHandlerDispatcher.ElementHandleDispatcher.fromJSHandle(this.parentScope(), jsHandle)
53
53
  };
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.JsonPipeDispatcher = void 0;
7
7
  var _dispatcher = require("./dispatcher");
8
- var _utils = require("../../utils");
8
+ var _crypto = require("../utils/crypto");
9
9
  /**
10
10
  * Copyright (c) Microsoft Corporation.
11
11
  *
@@ -25,7 +25,7 @@ var _utils = require("../../utils");
25
25
  class JsonPipeDispatcher extends _dispatcher.Dispatcher {
26
26
  constructor(scope) {
27
27
  super(scope, {
28
- guid: 'jsonPipe@' + (0, _utils.createGuid)()
28
+ guid: 'jsonPipe@' + (0, _crypto.createGuid)()
29
29
  }, 'JsonPipe', {});
30
30
  this._type_JsonPipe = true;
31
31
  }