@remotion/renderer 3.0.23 → 3.0.26

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 (333) hide show
  1. package/dist/abort.d.ts +7 -0
  2. package/dist/abort.js +20 -0
  3. package/dist/assets/download-and-map-assets-to-file.d.ts +21 -8
  4. package/dist/assets/download-and-map-assets-to-file.js +68 -42
  5. package/dist/assets/download-file.d.ts +10 -5
  6. package/dist/assets/download-file.js +18 -5
  7. package/dist/assets/ffmpeg-volume-expression.d.ts +1 -2
  8. package/dist/assets/ffmpeg-volume-expression.js +2 -3
  9. package/dist/browser/Browser.d.ts +10 -159
  10. package/dist/browser/Browser.js +7 -191
  11. package/dist/browser/BrowserConnector.d.ts +1 -8
  12. package/dist/browser/BrowserConnector.js +0 -32
  13. package/dist/browser/BrowserFetcher.d.ts +1 -1
  14. package/dist/browser/BrowserFetcher.js +8 -10
  15. package/dist/browser/BrowserRunner.d.ts +2 -2
  16. package/dist/browser/BrowserRunner.js +1 -1
  17. package/dist/browser/Connection.d.ts +4 -11
  18. package/dist/browser/Connection.js +5 -25
  19. package/dist/browser/ConsoleMessage.d.ts +4 -28
  20. package/dist/browser/ConsoleMessage.js +5 -32
  21. package/dist/browser/DOMWorld.d.ts +9 -7
  22. package/dist/browser/DOMWorld.js +12 -20
  23. package/dist/browser/EvalTypes.d.ts +1 -1
  24. package/dist/browser/EventEmitter.d.ts +1 -48
  25. package/dist/browser/EventEmitter.js +0 -49
  26. package/dist/browser/ExecutionContext.d.ts +7 -8
  27. package/dist/browser/ExecutionContext.js +0 -16
  28. package/dist/browser/FrameManager.d.ts +12 -15
  29. package/dist/browser/FrameManager.js +5 -21
  30. package/dist/browser/HTTPRequest.d.ts +4 -18
  31. package/dist/browser/HTTPRequest.js +3 -48
  32. package/dist/browser/HTTPResponse.d.ts +2 -81
  33. package/dist/browser/HTTPResponse.js +3 -173
  34. package/dist/browser/JSHandle.d.ts +4 -5
  35. package/dist/browser/JSHandle.js +0 -3
  36. package/dist/browser/LaunchOptions.d.ts +2 -81
  37. package/dist/browser/Launcher.d.ts +2 -2
  38. package/dist/browser/Launcher.js +21 -119
  39. package/dist/browser/LifecycleWatcher.d.ts +4 -4
  40. package/dist/browser/LifecycleWatcher.js +4 -17
  41. package/dist/browser/NetworkEventManager.d.ts +2 -4
  42. package/dist/browser/NetworkEventManager.js +0 -47
  43. package/dist/browser/NetworkManager.d.ts +1 -3
  44. package/dist/browser/NetworkManager.js +6 -42
  45. package/dist/browser/NodeWebSocketTransport.d.ts +8 -2
  46. package/dist/browser/NodeWebSocketTransport.js +1 -1
  47. package/dist/browser/{page.d.ts → Page.d.ts} +12 -16
  48. package/dist/browser/{page.js → Page.js} +20 -14
  49. package/dist/browser/PuppeteerNode.d.ts +7 -59
  50. package/dist/browser/PuppeteerNode.js +4 -66
  51. package/dist/browser/Target.d.ts +4 -4
  52. package/dist/browser/Target.js +1 -1
  53. package/dist/browser/assert.d.ts +0 -20
  54. package/dist/browser/assert.js +0 -20
  55. package/dist/browser/create-browser-fetcher.d.ts +1 -1
  56. package/dist/browser/create-browser-fetcher.js +4 -25
  57. package/dist/browser/util.d.ts +5 -4
  58. package/dist/browser/util.js +11 -3
  59. package/dist/browser-log.d.ts +1 -1
  60. package/dist/calculate-sar-dar-pixels.d.ts +9 -0
  61. package/dist/calculate-sar-dar-pixels.js +19 -0
  62. package/dist/cancel.d.ts +7 -0
  63. package/dist/cancel.js +25 -0
  64. package/dist/ensure-faststart.d.ts +1 -0
  65. package/dist/ensure-faststart.js +14 -0
  66. package/dist/error-handling/handle-javascript-exception.d.ts +1 -1
  67. package/dist/error-handling/handle-javascript-exception.js +2 -2
  68. package/dist/extract-frame-from-video.d.ts +2 -2
  69. package/dist/extract-frame-from-video.js +26 -14
  70. package/dist/faststart/atom.d.ts +35 -0
  71. package/dist/faststart/atom.js +138 -0
  72. package/dist/faststart/index.d.ts +0 -0
  73. package/dist/faststart/index.js +1 -0
  74. package/dist/faststart/options.d.ts +6 -0
  75. package/dist/faststart/options.js +2 -0
  76. package/dist/faststart/qt-faststart.d.ts +18 -0
  77. package/dist/faststart/qt-faststart.js +66 -0
  78. package/dist/faststart/update-chunk-offsets.d.ts +10 -0
  79. package/dist/faststart/update-chunk-offsets.js +114 -0
  80. package/dist/faststart/util.d.ts +9 -0
  81. package/dist/faststart/util.js +34 -0
  82. package/dist/get-browser-instance.d.ts +2 -1
  83. package/dist/get-compositions.d.ts +1 -1
  84. package/dist/get-compositions.js +3 -3
  85. package/dist/get-local-browser-executable.js +7 -5
  86. package/dist/get-port.js +5 -14
  87. package/dist/get-video-info.d.ts +8 -0
  88. package/dist/get-video-info.js +50 -0
  89. package/dist/index.d.ts +14 -6
  90. package/dist/index.js +3 -0
  91. package/dist/last-frame-from-video-cache.d.ts +3 -1
  92. package/dist/offthread/index.d.ts +0 -0
  93. package/dist/offthread/index.js +1 -0
  94. package/dist/offthread-video-server.js +2 -6
  95. package/dist/open-browser.d.ts +4 -2
  96. package/dist/open-browser.js +8 -8
  97. package/dist/prepare-server.js +5 -2
  98. package/dist/provide-screenshot.d.ts +4 -3
  99. package/dist/provide-screenshot.js +0 -1
  100. package/dist/puppeteer-evaluate.d.ts +1 -1
  101. package/dist/puppeteer-evaluate.js +3 -3
  102. package/dist/puppeteer-screenshot.d.ts +4 -2
  103. package/dist/puppeteer-screenshot.js +2 -4
  104. package/dist/render-frames.d.ts +2 -2
  105. package/dist/render-frames.js +50 -47
  106. package/dist/render-gif.d.ts +2 -0
  107. package/dist/render-gif.js +242 -0
  108. package/dist/render-media.d.ts +4 -3
  109. package/dist/render-media.js +8 -3
  110. package/dist/render-still.d.ts +1 -1
  111. package/dist/screenshot-dom-element.d.ts +6 -6
  112. package/dist/screenshot-dom-element.js +3 -6
  113. package/dist/screenshot-task.d.ts +3 -1
  114. package/dist/screenshot-task.js +3 -5
  115. package/dist/seek-to-frame.d.ts +2 -2
  116. package/dist/seek-to-frame.js +2 -2
  117. package/dist/set-props-and-env.d.ts +1 -1
  118. package/dist/set-props-and-env.js +3 -0
  119. package/dist/should-use-vp9-decoder.d.ts +0 -0
  120. package/dist/should-use-vp9-decoder.js +1 -0
  121. package/dist/stitch-frames-to-gif.d.ts +8 -0
  122. package/dist/stitch-frames-to-gif.js +128 -0
  123. package/dist/stitch-frames-to-video.d.ts +4 -3
  124. package/dist/stitch-frames-to-video.js +31 -13
  125. package/dist/stringify-ffmpeg-filter.d.ts +1 -1
  126. package/dist/stringify-ffmpeg-filter.js +9 -7
  127. package/dist/validate-offthreadvideo-image-format.d.ts +1 -0
  128. package/dist/validate-offthreadvideo-image-format.js +15 -0
  129. package/dist/wait-for-symbolication-error-to-be-done.d.ts +3 -0
  130. package/dist/wait-for-symbolication-error-to-be-done.js +34 -0
  131. package/package.json +9 -5
  132. package/dist/assets/calculate-asset-positions.d.ts.map +0 -1
  133. package/dist/assets/calculate-asset-positions.js.map +0 -1
  134. package/dist/assets/calculate-atempo.d.ts.map +0 -1
  135. package/dist/assets/calculate-atempo.js.map +0 -1
  136. package/dist/assets/convert-assets-to-file-urls.d.ts.map +0 -1
  137. package/dist/assets/convert-assets-to-file-urls.js.map +0 -1
  138. package/dist/assets/download-and-map-assets-to-file.d.ts.map +0 -1
  139. package/dist/assets/download-and-map-assets-to-file.js.map +0 -1
  140. package/dist/assets/download-file.d.ts.map +0 -1
  141. package/dist/assets/download-file.js.map +0 -1
  142. package/dist/assets/ffmpeg-volume-expression.d.ts.map +0 -1
  143. package/dist/assets/ffmpeg-volume-expression.js.map +0 -1
  144. package/dist/assets/flatten-volume-array.d.ts.map +0 -1
  145. package/dist/assets/flatten-volume-array.js.map +0 -1
  146. package/dist/assets/get-audio-channels.d.ts.map +0 -1
  147. package/dist/assets/get-audio-channels.js.map +0 -1
  148. package/dist/assets/read-file.d.ts.map +0 -1
  149. package/dist/assets/read-file.js.map +0 -1
  150. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts.map +0 -1
  151. package/dist/assets/round-volume-to-avoid-stack-overflow.js.map +0 -1
  152. package/dist/assets/sanitize-filename.d.ts.map +0 -1
  153. package/dist/assets/sanitize-filename.js.map +0 -1
  154. package/dist/assets/sanitize-filepath.d.ts.map +0 -1
  155. package/dist/assets/sanitize-filepath.js.map +0 -1
  156. package/dist/assets/truncate-utf8-bytes.d.ts.map +0 -1
  157. package/dist/assets/truncate-utf8-bytes.js.map +0 -1
  158. package/dist/assets/types.d.ts.map +0 -1
  159. package/dist/assets/types.js.map +0 -1
  160. package/dist/browser/Accessibility.d.ts +0 -175
  161. package/dist/browser/Accessibility.js +0 -423
  162. package/dist/browser/AriaQueryHandler.d.ts +0 -20
  163. package/dist/browser/AriaQueryHandler.js +0 -108
  164. package/dist/browser/Coverage.d.ts +0 -180
  165. package/dist/browser/Coverage.js +0 -371
  166. package/dist/browser/Debug.d.ts +0 -19
  167. package/dist/browser/Debug.js +0 -42
  168. package/dist/browser/DeviceDescriptors.d.ts +0 -40
  169. package/dist/browser/DeviceDescriptors.js +0 -1407
  170. package/dist/browser/FileChooser.d.ts +0 -56
  171. package/dist/browser/FileChooser.js +0 -86
  172. package/dist/browser/Input.d.ts +0 -355
  173. package/dist/browser/Input.js +0 -592
  174. package/dist/browser/NetworkConditions.d.ts +0 -26
  175. package/dist/browser/NetworkConditions.js +0 -33
  176. package/dist/browser/PDFOptions.d.ts +0 -165
  177. package/dist/browser/PDFOptions.js +0 -34
  178. package/dist/browser/PipeTransport.d.ts +0 -10
  179. package/dist/browser/PipeTransport.js +0 -86
  180. package/dist/browser/Puppeteer.d.ts +0 -35
  181. package/dist/browser/Puppeteer.js +0 -17
  182. package/dist/browser/QueryHandler.d.ts +0 -64
  183. package/dist/browser/QueryHandler.js +0 -183
  184. package/dist/browser/SecurityDetails.d.ts +0 -55
  185. package/dist/browser/SecurityDetails.js +0 -95
  186. package/dist/browser/Tracing.d.ts +0 -45
  187. package/dist/browser/Tracing.js +0 -136
  188. package/dist/browser/USKeyboardLayout.d.ts +0 -39
  189. package/dist/browser/USKeyboardLayout.js +0 -406
  190. package/dist/browser/WebWorker.d.ts +0 -96
  191. package/dist/browser/WebWorker.js +0 -122
  192. package/dist/browser/dialog.d.ts +0 -70
  193. package/dist/browser/dialog.js +0 -114
  194. package/dist/browser/fetch.d.ts +0 -16
  195. package/dist/browser/fetch.js +0 -46
  196. package/dist/browser/find-up.d.ts +0 -4
  197. package/dist/browser/find-up.js +0 -85
  198. package/dist/browser/pkg-dir.d.ts +0 -3
  199. package/dist/browser/pkg-dir.js +0 -13
  200. package/dist/browser-log.d.ts.map +0 -1
  201. package/dist/browser-log.js.map +0 -1
  202. package/dist/calculate-ffmpeg-filters.d.ts.map +0 -1
  203. package/dist/calculate-ffmpeg-filters.js.map +0 -1
  204. package/dist/can-use-parallel-encoding.d.ts.map +0 -1
  205. package/dist/can-use-parallel-encoding.js.map +0 -1
  206. package/dist/chunk.d.ts.map +0 -1
  207. package/dist/chunk.js.map +0 -1
  208. package/dist/combine-videos.d.ts.map +0 -1
  209. package/dist/combine-videos.js.map +0 -1
  210. package/dist/convert-to-pcm.d.ts.map +0 -1
  211. package/dist/convert-to-pcm.js.map +0 -1
  212. package/dist/create-ffmpeg-complex-filter.d.ts.map +0 -1
  213. package/dist/create-ffmpeg-complex-filter.js.map +0 -1
  214. package/dist/create-ffmpeg-merge-filter.d.ts.map +0 -1
  215. package/dist/create-ffmpeg-merge-filter.js.map +0 -1
  216. package/dist/create-silent-audio.d.ts.map +0 -1
  217. package/dist/create-silent-audio.js.map +0 -1
  218. package/dist/cycle-browser-tabs.d.ts.map +0 -1
  219. package/dist/cycle-browser-tabs.js.map +0 -1
  220. package/dist/delay-render-embedded-stack.d.ts.map +0 -1
  221. package/dist/delay-render-embedded-stack.js.map +0 -1
  222. package/dist/delete-directory.d.ts.map +0 -1
  223. package/dist/delete-directory.js.map +0 -1
  224. package/dist/ensure-frames-in-order.d.ts.map +0 -1
  225. package/dist/ensure-frames-in-order.js.map +0 -1
  226. package/dist/ensure-output-directory.d.ts.map +0 -1
  227. package/dist/ensure-output-directory.js.map +0 -1
  228. package/dist/error-handling/handle-javascript-exception.d.ts.map +0 -1
  229. package/dist/error-handling/handle-javascript-exception.js.map +0 -1
  230. package/dist/error-handling/symbolicate-error.d.ts.map +0 -1
  231. package/dist/error-handling/symbolicate-error.js.map +0 -1
  232. package/dist/error-handling/symbolicateable-error.d.ts.map +0 -1
  233. package/dist/error-handling/symbolicateable-error.js.map +0 -1
  234. package/dist/ffmpeg-filter-file.d.ts.map +0 -1
  235. package/dist/ffmpeg-filter-file.js.map +0 -1
  236. package/dist/ffmpeg-flags.d.ts.map +0 -1
  237. package/dist/ffmpeg-flags.js.map +0 -1
  238. package/dist/get-audio-codec-name.d.ts.map +0 -1
  239. package/dist/get-audio-codec-name.js.map +0 -1
  240. package/dist/get-browser-instance.d.ts.map +0 -1
  241. package/dist/get-browser-instance.js.map +0 -1
  242. package/dist/get-codec-name.d.ts.map +0 -1
  243. package/dist/get-codec-name.js.map +0 -1
  244. package/dist/get-compositions.d.ts.map +0 -1
  245. package/dist/get-compositions.js.map +0 -1
  246. package/dist/get-concurrency.d.ts.map +0 -1
  247. package/dist/get-concurrency.js.map +0 -1
  248. package/dist/get-duration-from-frame-range.d.ts.map +0 -1
  249. package/dist/get-duration-from-frame-range.js.map +0 -1
  250. package/dist/get-extension-from-codec.d.ts.map +0 -1
  251. package/dist/get-extension-from-codec.js.map +0 -1
  252. package/dist/get-frame-to-render.d.ts.map +0 -1
  253. package/dist/get-frame-to-render.js.map +0 -1
  254. package/dist/get-local-browser-executable.d.ts.map +0 -1
  255. package/dist/get-local-browser-executable.js.map +0 -1
  256. package/dist/get-port.d.ts.map +0 -1
  257. package/dist/get-port.js.map +0 -1
  258. package/dist/get-prores-profile-name.d.ts.map +0 -1
  259. package/dist/get-prores-profile-name.js.map +0 -1
  260. package/dist/image-format.d.ts.map +0 -1
  261. package/dist/image-format.js.map +0 -1
  262. package/dist/index.d.ts.map +0 -1
  263. package/dist/index.js.map +0 -1
  264. package/dist/is-serve-url.d.ts.map +0 -1
  265. package/dist/is-serve-url.js.map +0 -1
  266. package/dist/legacy-webpack-config.d.ts.map +0 -1
  267. package/dist/legacy-webpack-config.js.map +0 -1
  268. package/dist/make-assets-download-dir.d.ts.map +0 -1
  269. package/dist/make-assets-download-dir.js.map +0 -1
  270. package/dist/merge-audio-track.d.ts.map +0 -1
  271. package/dist/merge-audio-track.js.map +0 -1
  272. package/dist/normalize-serve-url.d.ts.map +0 -1
  273. package/dist/normalize-serve-url.js.map +0 -1
  274. package/dist/open-browser.d.ts.map +0 -1
  275. package/dist/open-browser.js.map +0 -1
  276. package/dist/p-limit.d.ts.map +0 -1
  277. package/dist/p-limit.js.map +0 -1
  278. package/dist/parse-browser-error-stack.d.ts.map +0 -1
  279. package/dist/parse-browser-error-stack.js.map +0 -1
  280. package/dist/parse-ffmpeg-progress.d.ts.map +0 -1
  281. package/dist/parse-ffmpeg-progress.js.map +0 -1
  282. package/dist/pool.d.ts.map +0 -1
  283. package/dist/pool.js.map +0 -1
  284. package/dist/prepare-server.d.ts.map +0 -1
  285. package/dist/prepare-server.js.map +0 -1
  286. package/dist/preprocess-audio-track.d.ts.map +0 -1
  287. package/dist/preprocess-audio-track.js.map +0 -1
  288. package/dist/prespawn-ffmpeg.d.ts.map +0 -1
  289. package/dist/prespawn-ffmpeg.js.map +0 -1
  290. package/dist/provide-screenshot.d.ts.map +0 -1
  291. package/dist/provide-screenshot.js.map +0 -1
  292. package/dist/puppeteer-evaluate.d.ts.map +0 -1
  293. package/dist/puppeteer-evaluate.js.map +0 -1
  294. package/dist/puppeteer-screenshot.d.ts.map +0 -1
  295. package/dist/puppeteer-screenshot.js.map +0 -1
  296. package/dist/render-frames.d.ts.map +0 -1
  297. package/dist/render-frames.js.map +0 -1
  298. package/dist/render-media.d.ts.map +0 -1
  299. package/dist/render-media.js.map +0 -1
  300. package/dist/render-still.d.ts.map +0 -1
  301. package/dist/render-still.js.map +0 -1
  302. package/dist/resolve-asset-src.d.ts.map +0 -1
  303. package/dist/resolve-asset-src.js.map +0 -1
  304. package/dist/sample-rate.d.ts.map +0 -1
  305. package/dist/sample-rate.js.map +0 -1
  306. package/dist/screenshot-dom-element.d.ts.map +0 -1
  307. package/dist/screenshot-dom-element.js.map +0 -1
  308. package/dist/screenshot-task.d.ts.map +0 -1
  309. package/dist/screenshot-task.js.map +0 -1
  310. package/dist/seek-to-frame.d.ts.map +0 -1
  311. package/dist/seek-to-frame.js.map +0 -1
  312. package/dist/serve-static.d.ts.map +0 -1
  313. package/dist/serve-static.js.map +0 -1
  314. package/dist/set-props-and-env.d.ts.map +0 -1
  315. package/dist/set-props-and-env.js.map +0 -1
  316. package/dist/stitch-frames-to-video.d.ts.map +0 -1
  317. package/dist/stitch-frames-to-video.js.map +0 -1
  318. package/dist/stringify-ffmpeg-filter.d.ts.map +0 -1
  319. package/dist/stringify-ffmpeg-filter.js.map +0 -1
  320. package/dist/symbolicate-stacktrace.d.ts.map +0 -1
  321. package/dist/symbolicate-stacktrace.js.map +0 -1
  322. package/dist/tmp-dir.d.ts.map +0 -1
  323. package/dist/tmp-dir.js.map +0 -1
  324. package/dist/types.d.ts.map +0 -1
  325. package/dist/types.js.map +0 -1
  326. package/dist/validate-even-dimensions-with-codec.d.ts.map +0 -1
  327. package/dist/validate-even-dimensions-with-codec.js.map +0 -1
  328. package/dist/validate-ffmpeg.d.ts.map +0 -1
  329. package/dist/validate-ffmpeg.js.map +0 -1
  330. package/dist/validate-puppeteer-timeout.d.ts.map +0 -1
  331. package/dist/validate-puppeteer-timeout.js.map +0 -1
  332. package/dist/validate-scale.d.ts.map +0 -1
  333. package/dist/validate-scale.js.map +0 -1
@@ -34,12 +34,7 @@ const Errors_1 = require("./Errors");
34
34
  const FrameManager_1 = require("./FrameManager");
35
35
  const NetworkManager_1 = require("./NetworkManager");
36
36
  const util_1 = require("./util");
37
- const puppeteerToProtocolLifecycle = new Map([
38
- ['load', 'load'],
39
- ['domcontentloaded', 'DOMContentLoaded'],
40
- ['networkidle0', 'networkIdle'],
41
- ['networkidle2', 'networkAlmostIdle'],
42
- ]);
37
+ const puppeteerToProtocolLifecycle = new Map([['load', 'load']]);
43
38
  const noop = () => undefined;
44
39
  class LifecycleWatcher {
45
40
  constructor(frameManager, frame, waitUntil, timeout) {
@@ -71,17 +66,9 @@ class LifecycleWatcher {
71
66
  _LifecycleWatcher_hasSameDocumentNavigation.set(this, void 0);
72
67
  _LifecycleWatcher_newDocumentNavigation.set(this, void 0);
73
68
  _LifecycleWatcher_swapped.set(this, void 0);
74
- if (Array.isArray(waitUntil)) {
75
- waitUntil = waitUntil.slice();
76
- }
77
- else if (typeof waitUntil === 'string') {
78
- waitUntil = [waitUntil];
79
- }
80
- __classPrivateFieldSet(this, _LifecycleWatcher_expectedLifecycle, waitUntil.map((value) => {
81
- const protocolEvent = puppeteerToProtocolLifecycle.get(value);
82
- (0, assert_1.assert)(protocolEvent, 'Unknown value for options.waitUntil: ' + value);
83
- return protocolEvent;
84
- }), "f");
69
+ const protocolEvent = puppeteerToProtocolLifecycle.get(waitUntil);
70
+ (0, assert_1.assert)(protocolEvent, 'Unknown value for options.waitUntil: ' + waitUntil);
71
+ __classPrivateFieldSet(this, _LifecycleWatcher_expectedLifecycle, [waitUntil], "f");
85
72
  __classPrivateFieldSet(this, _LifecycleWatcher_frameManager, frameManager, "f");
86
73
  __classPrivateFieldSet(this, _LifecycleWatcher_frame, frame, "f");
87
74
  __classPrivateFieldSet(this, _LifecycleWatcher_timeout, timeout, "f");
@@ -1,5 +1,5 @@
1
- import { Protocol } from 'devtools-protocol';
2
- import { HTTPRequest } from './HTTPRequest';
1
+ import type { Protocol } from 'devtools-protocol';
2
+ import type { HTTPRequest } from './HTTPRequest';
3
3
  declare type QueuedEventGroup = {
4
4
  responseReceivedEvent: Protocol.Network.ResponseReceivedEvent;
5
5
  loadingFinishedEvent?: Protocol.Network.LoadingFinishedEvent;
@@ -22,8 +22,6 @@ export declare class NetworkEventManager {
22
22
  storeRequestWillBeSent(networkRequestId: NetworkRequestId, event: Protocol.Network.RequestWillBeSentEvent): void;
23
23
  getRequestWillBeSent(networkRequestId: NetworkRequestId): Protocol.Network.RequestWillBeSentEvent | undefined;
24
24
  forgetRequestWillBeSent(networkRequestId: NetworkRequestId): void;
25
- getRequestPaused(networkRequestId: NetworkRequestId): Protocol.Fetch.RequestPausedEvent | undefined;
26
- forgetRequestPaused(networkRequestId: NetworkRequestId): void;
27
25
  storeRequestPaused(networkRequestId: NetworkRequestId, event: Protocol.Fetch.RequestPausedEvent): void;
28
26
  getRequest(networkRequestId: NetworkRequestId): HTTPRequest | undefined;
29
27
  storeRequest(networkRequestId: NetworkRequestId, request: HTTPRequest): void;
@@ -9,50 +9,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.NetworkEventManager = void 0;
10
10
  class NetworkEventManager {
11
11
  constructor() {
12
- /*
13
- * There are four possible orders of events:
14
- * A. `_onRequestWillBeSent`
15
- * B. `_onRequestWillBeSent`, `_onRequestPaused`
16
- * C. `_onRequestPaused`, `_onRequestWillBeSent`
17
- * D. `_onRequestPaused`, `_onRequestWillBeSent`, `_onRequestPaused`,
18
- * `_onRequestWillBeSent`, `_onRequestPaused`, `_onRequestPaused`
19
- * (see crbug.com/1196004)
20
- *
21
- * For `_onRequest` we need the event from `_onRequestWillBeSent` and
22
- * optionally the `interceptionId` from `_onRequestPaused`.
23
- *
24
- * If request interception is disabled, call `_onRequest` once per call to
25
- * `_onRequestWillBeSent`.
26
- * If request interception is enabled, call `_onRequest` once per call to
27
- * `_onRequestPaused` (once per `interceptionId`).
28
- *
29
- * Events are stored to allow for subsequent events to call `_onRequest`.
30
- *
31
- * Note that (chains of) redirect requests have the same `requestId` (!) as
32
- * the original request. We have to anticipate series of events like these:
33
- * A. `_onRequestWillBeSent`,
34
- * `_onRequestWillBeSent`, ...
35
- * B. `_onRequestWillBeSent`, `_onRequestPaused`,
36
- * `_onRequestWillBeSent`, `_onRequestPaused`, ...
37
- * C. `_onRequestWillBeSent`, `_onRequestPaused`,
38
- * `_onRequestPaused`, `_onRequestWillBeSent`, ...
39
- * D. `_onRequestPaused`, `_onRequestWillBeSent`,
40
- * `_onRequestPaused`, `_onRequestWillBeSent`, `_onRequestPaused`,
41
- * `_onRequestWillBeSent`, `_onRequestPaused`, `_onRequestPaused`, ...
42
- * (see crbug.com/1196004)
43
- */
44
12
  _NetworkEventManager_requestWillBeSentMap.set(this, new Map());
45
13
  _NetworkEventManager_requestPausedMap.set(this, new Map());
46
14
  _NetworkEventManager_httpRequestsMap.set(this, new Map());
47
- /*
48
- * The below maps are used to reconcile Network.responseReceivedExtraInfo
49
- * events with their corresponding request. Each response and redirect
50
- * response gets an ExtraInfo event, and we don't know which will come first.
51
- * This means that we have to store a Response or an ExtraInfo for each
52
- * response, and emit the event when we get both of them. In addition, to
53
- * handle redirects, we have to make them Arrays to represent the chain of
54
- * events.
55
- */
56
15
  _NetworkEventManager_responseReceivedExtraInfoMap.set(this, new Map());
57
16
  _NetworkEventManager_queuedRedirectInfoMap.set(this, new Map());
58
17
  _NetworkEventManager_queuedEventGroupMap.set(this, new Map());
@@ -96,12 +55,6 @@ class NetworkEventManager {
96
55
  forgetRequestWillBeSent(networkRequestId) {
97
56
  __classPrivateFieldGet(this, _NetworkEventManager_requestWillBeSentMap, "f").delete(networkRequestId);
98
57
  }
99
- getRequestPaused(networkRequestId) {
100
- return __classPrivateFieldGet(this, _NetworkEventManager_requestPausedMap, "f").get(networkRequestId);
101
- }
102
- forgetRequestPaused(networkRequestId) {
103
- __classPrivateFieldGet(this, _NetworkEventManager_requestPausedMap, "f").delete(networkRequestId);
104
- }
105
58
  storeRequestPaused(networkRequestId, event) {
106
59
  __classPrivateFieldGet(this, _NetworkEventManager_requestPausedMap, "f").set(networkRequestId, event);
107
60
  }
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import type { ProtocolMapping } from 'devtools-protocol/types/protocol-mapping';
17
17
  import { EventEmitter } from './EventEmitter';
18
- import { Frame } from './FrameManager';
18
+ import type { Frame } from './FrameManager';
19
19
  export declare const NetworkManagerEmittedEvents: {
20
20
  readonly Request: symbol;
21
21
  };
@@ -29,8 +29,6 @@ export declare class NetworkManager extends EventEmitter {
29
29
  #private;
30
30
  constructor(client: CDPSession, frameManager: FrameManager);
31
31
  initialize(): Promise<void>;
32
- setExtraHTTPHeaders(extraHTTPHeaders: Record<string, string>): Promise<void>;
33
- extraHTTPHeaders(): Record<string, string>;
34
32
  numRequestsInProgress(): number;
35
33
  }
36
34
  export {};
@@ -25,15 +25,13 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
25
25
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
26
26
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
27
27
  };
28
- var _NetworkManager_instances, _NetworkManager_client, _NetworkManager_frameManager, _NetworkManager_networkEventManager, _NetworkManager_extraHTTPHeaders, _NetworkManager_attemptedAuthentications, _NetworkManager_onRequestWillBeSent, _NetworkManager_onAuthRequired, _NetworkManager_onRequestPaused, _NetworkManager_patchRequestEventHeaders, _NetworkManager_onRequest, _NetworkManager_onRequestServedFromCache, _NetworkManager_handleRequestRedirect, _NetworkManager_emitResponseEvent, _NetworkManager_onResponseReceived, _NetworkManager_onResponseReceivedExtraInfo, _NetworkManager_forgetRequest, _NetworkManager_onLoadingFinished, _NetworkManager_emitLoadingFinished, _NetworkManager_onLoadingFailed, _NetworkManager_emitLoadingFailed;
28
+ var _NetworkManager_instances, _NetworkManager_client, _NetworkManager_frameManager, _NetworkManager_networkEventManager, _NetworkManager_onRequestWillBeSent, _NetworkManager_onAuthRequired, _NetworkManager_onRequestPaused, _NetworkManager_patchRequestEventHeaders, _NetworkManager_onRequest, _NetworkManager_onRequestServedFromCache, _NetworkManager_handleRequestRedirect, _NetworkManager_emitResponseEvent, _NetworkManager_onResponseReceived, _NetworkManager_onResponseReceivedExtraInfo, _NetworkManager_forgetRequest, _NetworkManager_onLoadingFinished, _NetworkManager_emitLoadingFinished, _NetworkManager_onLoadingFailed, _NetworkManager_emitLoadingFailed;
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.NetworkManager = exports.NetworkManagerEmittedEvents = void 0;
31
- const assert_1 = require("./assert");
32
31
  const EventEmitter_1 = require("./EventEmitter");
33
32
  const HTTPRequest_1 = require("./HTTPRequest");
34
33
  const HTTPResponse_1 = require("./HTTPResponse");
35
34
  const NetworkEventManager_1 = require("./NetworkEventManager");
36
- const util_1 = require("./util");
37
35
  exports.NetworkManagerEmittedEvents = {
38
36
  Request: Symbol('NetworkManager.Request'),
39
37
  };
@@ -44,8 +42,6 @@ class NetworkManager extends EventEmitter_1.EventEmitter {
44
42
  _NetworkManager_client.set(this, void 0);
45
43
  _NetworkManager_frameManager.set(this, void 0);
46
44
  _NetworkManager_networkEventManager.set(this, new NetworkEventManager_1.NetworkEventManager());
47
- _NetworkManager_extraHTTPHeaders.set(this, {});
48
- _NetworkManager_attemptedAuthentications.set(this, new Set());
49
45
  __classPrivateFieldSet(this, _NetworkManager_client, client, "f");
50
46
  __classPrivateFieldSet(this, _NetworkManager_frameManager, frameManager, "f");
51
47
  __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Fetch.requestPaused', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestPaused).bind(this));
@@ -60,32 +56,15 @@ class NetworkManager extends EventEmitter_1.EventEmitter {
60
56
  async initialize() {
61
57
  await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.enable');
62
58
  }
63
- async setExtraHTTPHeaders(extraHTTPHeaders) {
64
- __classPrivateFieldSet(this, _NetworkManager_extraHTTPHeaders, {}, "f");
65
- for (const key of Object.keys(extraHTTPHeaders)) {
66
- const value = extraHTTPHeaders[key];
67
- (0, assert_1.assert)((0, util_1.isString)(value), `Expected value of header "${key}" to be String, but "${typeof value}" is found.`);
68
- __classPrivateFieldGet(this, _NetworkManager_extraHTTPHeaders, "f")[key.toLowerCase()] = value;
69
- }
70
- await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.setExtraHTTPHeaders', {
71
- headers: __classPrivateFieldGet(this, _NetworkManager_extraHTTPHeaders, "f"),
72
- });
73
- }
74
- extraHTTPHeaders() {
75
- return { ...__classPrivateFieldGet(this, _NetworkManager_extraHTTPHeaders, "f") };
76
- }
77
59
  numRequestsInProgress() {
78
60
  return __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").numRequestsInProgress();
79
61
  }
80
62
  }
81
63
  exports.NetworkManager = NetworkManager;
82
- _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakMap(), _NetworkManager_networkEventManager = new WeakMap(), _NetworkManager_extraHTTPHeaders = new WeakMap(), _NetworkManager_attemptedAuthentications = new WeakMap(), _NetworkManager_instances = new WeakSet(), _NetworkManager_onRequestWillBeSent = function _NetworkManager_onRequestWillBeSent(event) {
64
+ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakMap(), _NetworkManager_networkEventManager = new WeakMap(), _NetworkManager_instances = new WeakSet(), _NetworkManager_onRequestWillBeSent = function _NetworkManager_onRequestWillBeSent(event) {
83
65
  __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, event, undefined);
84
66
  }, _NetworkManager_onAuthRequired = function _NetworkManager_onAuthRequired(event) {
85
- let response = 'Default';
86
- if (__classPrivateFieldGet(this, _NetworkManager_attemptedAuthentications, "f").has(event.requestId)) {
87
- response = 'CancelAuth';
88
- }
67
+ const response = 'Default';
89
68
  const { username, password } = {
90
69
  username: undefined,
91
70
  password: undefined,
@@ -126,7 +105,6 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
126
105
  ...requestPausedEvent.request.headers,
127
106
  };
128
107
  }, _NetworkManager_onRequest = function _NetworkManager_onRequest(event, fetchRequestId) {
129
- let redirectChain = [];
130
108
  if (event.redirectResponse) {
131
109
  // We want to emit a response and requestfinished for the
132
110
  // redirectResponse, but we can't do so unless we have a
@@ -153,13 +131,12 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
153
131
  // requestWillBeSent event.
154
132
  if (_request) {
155
133
  __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_handleRequestRedirect).call(this, _request, event.redirectResponse, redirectResponseExtraInfo);
156
- redirectChain = _request._redirectChain;
157
134
  }
158
135
  }
159
136
  const frame = event.frameId
160
137
  ? __classPrivateFieldGet(this, _NetworkManager_frameManager, "f").frame(event.frameId)
161
138
  : null;
162
- const request = new HTTPRequest_1.HTTPRequest(frame, event, redirectChain);
139
+ const request = new HTTPRequest_1.HTTPRequest(frame, event);
163
140
  __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").storeRequest(event.requestId, request);
164
141
  this.emit(exports.NetworkManagerEmittedEvents.Request, request);
165
142
  }, _NetworkManager_onRequestServedFromCache = function _NetworkManager_onRequestServedFromCache(event) {
@@ -168,10 +145,8 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
168
145
  request._fromMemoryCache = true;
169
146
  }
170
147
  }, _NetworkManager_handleRequestRedirect = function _NetworkManager_handleRequestRedirect(request, responsePayload, extraInfo) {
171
- const response = new HTTPResponse_1.HTTPResponse(__classPrivateFieldGet(this, _NetworkManager_client, "f"), request, responsePayload, extraInfo);
148
+ const response = new HTTPResponse_1.HTTPResponse(responsePayload, extraInfo);
172
149
  request._response = response;
173
- request._redirectChain.push(request);
174
- response._resolveBody(new Error('Response body is unavailable for redirect responses'));
175
150
  __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, false);
176
151
  }, _NetworkManager_emitResponseEvent = function _NetworkManager_emitResponseEvent(responseReceived, extraInfo) {
177
152
  const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(responseReceived.requestId);
@@ -184,7 +159,7 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
184
159
  console.log(new Error('Unexpected extraInfo events for request ' +
185
160
  responseReceived.requestId));
186
161
  }
187
- const response = new HTTPResponse_1.HTTPResponse(__classPrivateFieldGet(this, _NetworkManager_client, "f"), request, responseReceived.response, extraInfo);
162
+ const response = new HTTPResponse_1.HTTPResponse(responseReceived.response, extraInfo);
188
163
  request._response = response;
189
164
  }, _NetworkManager_onResponseReceived = function _NetworkManager_onResponseReceived(event) {
190
165
  const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
@@ -245,18 +220,12 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
245
220
  __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFinished).call(this, event);
246
221
  }
247
222
  }, _NetworkManager_emitLoadingFinished = function _NetworkManager_emitLoadingFinished(event) {
248
- var _a;
249
223
  const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
250
224
  // For certain requestIds we never receive requestWillBeSent event.
251
225
  // @see https://crbug.com/750469
252
226
  if (!request) {
253
227
  return;
254
228
  }
255
- // Under certain conditions we never get the Network.responseReceived
256
- // event from protocol. @see https://crbug.com/883475
257
- if (request.response()) {
258
- (_a = request.response()) === null || _a === void 0 ? void 0 : _a._resolveBody(null);
259
- }
260
229
  __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
261
230
  }, _NetworkManager_onLoadingFailed = function _NetworkManager_onLoadingFailed(event) {
262
231
  // If the response event for this request is still waiting on a
@@ -275,10 +244,5 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
275
244
  if (!request) {
276
245
  return;
277
246
  }
278
- request._failureText = event.errorText;
279
- const response = request.response();
280
- if (response) {
281
- response._resolveBody(null);
282
- }
283
247
  __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
284
248
  };
@@ -1,11 +1,17 @@
1
1
  import NodeWebSocket from 'ws';
2
- import { ConnectionTransport } from './ConnectionTransport';
2
+ interface ConnectionTransport {
3
+ send(message: string): void;
4
+ close(): void;
5
+ onmessage?: (message: string) => void;
6
+ onclose?: () => void;
7
+ }
3
8
  export declare class NodeWebSocketTransport implements ConnectionTransport {
4
9
  #private;
5
10
  static create(urlString: string): Promise<NodeWebSocketTransport>;
6
- onmessage?: (message: NodeWebSocket.Data) => void;
11
+ onmessage?: (message: string) => void;
7
12
  onclose?: () => void;
8
13
  constructor(ws: NodeWebSocket);
9
14
  send(message: string): void;
10
15
  close(): void;
11
16
  }
17
+ export {};
@@ -52,7 +52,7 @@ class NodeWebSocketTransport {
52
52
  __classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").addEventListener('error', () => undefined);
53
53
  }
54
54
  static async create(urlString) {
55
- // TODO(jrandolf): Starting in Node 17, IPv6 is favoured over IPv4 due to a change
55
+ // Starting in Node 17, IPv6 is favoured over IPv4 due to a change
56
56
  // in a default option:
57
57
  // - https://github.com/nodejs/node/issues/40537,
58
58
  // Due to this, for Firefox, we must parse and resolve the `localhost` hostname
@@ -13,24 +13,19 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { CDPSession } from './Connection';
16
+ import type { Browser } from './Browser';
17
+ import type { CDPSession } from './Connection';
17
18
  import { ConsoleMessage } from './ConsoleMessage';
18
- import { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
19
+ import type { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
19
20
  import { EventEmitter } from './EventEmitter';
20
- import { Frame } from './FrameManager';
21
- import { HTTPResponse } from './HTTPResponse';
22
- import { JSHandle } from './JSHandle';
23
- import { PuppeteerLifeCycleEvent } from './LifecycleWatcher';
24
- import { Viewport } from './PuppeteerViewport';
25
- import { Target } from './Target';
21
+ import type { Frame } from './FrameManager';
22
+ import type { HTTPResponse } from './HTTPResponse';
23
+ import type { JSHandle } from './JSHandle';
24
+ import type { Viewport } from './PuppeteerViewport';
25
+ import type { Target } from './Target';
26
26
  import { TaskQueue } from './TaskQueue';
27
27
  interface WaitForOptions {
28
28
  timeout?: number;
29
- waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[];
30
- }
31
- export declare const enum PageEmittedEvents {
32
- Console = "console",
33
- Error = "error"
34
29
  }
35
30
  interface PageEventObject {
36
31
  console: ConsoleMessage;
@@ -38,9 +33,10 @@ interface PageEventObject {
38
33
  }
39
34
  export declare class Page extends EventEmitter {
40
35
  #private;
41
- static _create(client: CDPSession, target: Target, defaultViewport: Viewport): Promise<Page>;
36
+ static _create(client: CDPSession, target: Target, defaultViewport: Viewport, browser: Browser): Promise<Page>;
37
+ browser: Browser;
42
38
  screenshotTaskQueue: TaskQueue;
43
- constructor(client: CDPSession, target: Target);
39
+ constructor(client: CDPSession, target: Target, browser: Browser);
44
40
  /**
45
41
  * Listen to page events.
46
42
  */
@@ -73,6 +69,6 @@ export declare class Page extends EventEmitter {
73
69
  runBeforeUnload?: boolean;
74
70
  }): Promise<void>;
75
71
  isClosed(): boolean;
76
- waitForFunction(pageFunction: Function | string, ...args: SerializableOrJSHandle[]): Promise<JSHandle>;
72
+ waitForFunction(browser: Browser, pageFunction: Function | string, ...args: SerializableOrJSHandle[]): Promise<JSHandle>;
77
73
  }
78
74
  export {};
@@ -25,13 +25,11 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
25
25
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
26
26
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
27
27
  };
28
- var _Page_instances, _Page_closed, _Page_client, _Page_target, _Page_timeoutSettings, _Page_frameManager, _Page_emulationManager, _Page_pageBindings, _Page_initialize, _Page_onTargetCrashed, _Page_onLogEntryAdded, _Page_onConsoleAPI, _Page_onBindingCalled, _Page_addConsoleMessage;
28
+ var _Page_instances, _Page_closed, _Page_client, _Page_target, _Page_timeoutSettings, _Page_frameManager, _Page_pageBindings, _Page_initialize, _Page_onTargetCrashed, _Page_onLogEntryAdded, _Page_onConsoleAPI, _Page_onBindingCalled, _Page_addConsoleMessage;
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.Page = void 0;
31
- const console_1 = require("console");
32
31
  const assert_1 = require("./assert");
33
32
  const ConsoleMessage_1 = require("./ConsoleMessage");
34
- const EmulationManager_1 = require("./EmulationManager");
35
33
  const EventEmitter_1 = require("./EventEmitter");
36
34
  const FrameManager_1 = require("./FrameManager");
37
35
  const JSHandle_1 = require("./JSHandle");
@@ -39,7 +37,7 @@ const TaskQueue_1 = require("./TaskQueue");
39
37
  const TimeoutSettings_1 = require("./TimeoutSettings");
40
38
  const util_1 = require("./util");
41
39
  class Page extends EventEmitter_1.EventEmitter {
42
- constructor(client, target) {
40
+ constructor(client, target, browser) {
43
41
  super();
44
42
  _Page_instances.add(this);
45
43
  _Page_closed.set(this, false);
@@ -47,13 +45,12 @@ class Page extends EventEmitter_1.EventEmitter {
47
45
  _Page_target.set(this, void 0);
48
46
  _Page_timeoutSettings.set(this, new TimeoutSettings_1.TimeoutSettings());
49
47
  _Page_frameManager.set(this, void 0);
50
- _Page_emulationManager.set(this, void 0);
51
48
  _Page_pageBindings.set(this, new Map());
52
49
  __classPrivateFieldSet(this, _Page_client, client, "f");
53
50
  __classPrivateFieldSet(this, _Page_target, target, "f");
54
51
  __classPrivateFieldSet(this, _Page_frameManager, new FrameManager_1.FrameManager(client, this, __classPrivateFieldGet(this, _Page_timeoutSettings, "f")), "f");
55
- __classPrivateFieldSet(this, _Page_emulationManager, new EmulationManager_1.EmulationManager(client), "f");
56
52
  this.screenshotTaskQueue = new TaskQueue_1.TaskQueue();
53
+ this.browser = browser;
57
54
  client.on('Target.attachedToTarget', (event) => {
58
55
  switch (event.targetInfo.type) {
59
56
  case 'iframe':
@@ -71,7 +68,7 @@ class Page extends EventEmitter_1.EventEmitter {
71
68
  .send('Target.detachFromTarget', {
72
69
  sessionId: event.sessionId,
73
70
  })
74
- .catch(() => console.log(console_1.error));
71
+ .catch((err) => console.log(err));
75
72
  }
76
73
  });
77
74
  client.on('Runtime.consoleAPICalled', (event) => {
@@ -87,8 +84,8 @@ class Page extends EventEmitter_1.EventEmitter {
87
84
  return __classPrivateFieldGet(this, _Page_instances, "m", _Page_onLogEntryAdded).call(this, event);
88
85
  });
89
86
  }
90
- static async _create(client, target, defaultViewport) {
91
- const page = new Page(client, target);
87
+ static async _create(client, target, defaultViewport, browser) {
88
+ const page = new Page(client, target, browser);
92
89
  await __classPrivateFieldGet(page, _Page_instances, "m", _Page_initialize).call(page);
93
90
  await page.setViewport(defaultViewport);
94
91
  return page;
@@ -127,8 +124,17 @@ class Page extends EventEmitter_1.EventEmitter {
127
124
  mainFrame() {
128
125
  return __classPrivateFieldGet(this, _Page_frameManager, "f").mainFrame();
129
126
  }
130
- async setViewport(viewport) {
131
- await __classPrivateFieldGet(this, _Page_emulationManager, "f").emulateViewport(viewport);
127
+ setViewport(viewport) {
128
+ return __classPrivateFieldGet(this, _Page_client, "f").send('Emulation.setDeviceMetricsOverride', {
129
+ mobile: false,
130
+ width: viewport.width,
131
+ height: viewport.height,
132
+ deviceScaleFactor: viewport.deviceScaleFactor,
133
+ screenOrientation: {
134
+ angle: 0,
135
+ type: 'portraitPrimary',
136
+ },
137
+ });
132
138
  }
133
139
  setDefaultNavigationTimeout(timeout) {
134
140
  __classPrivateFieldGet(this, _Page_timeoutSettings, "f").setDefaultNavigationTimeout(timeout);
@@ -175,12 +181,12 @@ class Page extends EventEmitter_1.EventEmitter {
175
181
  isClosed() {
176
182
  return __classPrivateFieldGet(this, _Page_closed, "f");
177
183
  }
178
- waitForFunction(pageFunction, ...args) {
179
- return this.mainFrame().waitForFunction(pageFunction, ...args);
184
+ waitForFunction(browser, pageFunction, ...args) {
185
+ return this.mainFrame().waitForFunction(browser, pageFunction, ...args);
180
186
  }
181
187
  }
182
188
  exports.Page = Page;
183
- _Page_closed = new WeakMap(), _Page_client = new WeakMap(), _Page_target = new WeakMap(), _Page_timeoutSettings = new WeakMap(), _Page_frameManager = new WeakMap(), _Page_emulationManager = new WeakMap(), _Page_pageBindings = new WeakMap(), _Page_instances = new WeakSet(), _Page_initialize = async function _Page_initialize() {
189
+ _Page_closed = new WeakMap(), _Page_client = new WeakMap(), _Page_target = new WeakMap(), _Page_timeoutSettings = new WeakMap(), _Page_frameManager = new WeakMap(), _Page_pageBindings = new WeakMap(), _Page_instances = new WeakSet(), _Page_initialize = async function _Page_initialize() {
184
190
  await Promise.all([
185
191
  __classPrivateFieldGet(this, _Page_frameManager, "f").initialize(),
186
192
  __classPrivateFieldGet(this, _Page_client, "f").send('Target.setAutoAttach', {
@@ -13,12 +13,13 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { Browser } from './Browser';
17
- import { BrowserConnectOptions, ConnectToBrowserOptions } from './BrowserConnector';
18
- import { BrowserFetcher, BrowserFetcherOptions } from './BrowserFetcher';
19
- import { ProductLauncher } from './Launcher';
20
- import { BrowserLaunchArgumentOptions, LaunchOptions } from './LaunchOptions';
21
- import { Product } from './Product';
16
+ import type { Browser } from './Browser';
17
+ import type { BrowserConnectOptions } from './BrowserConnector';
18
+ import type { BrowserFetcherOptions } from './BrowserFetcher';
19
+ import { BrowserFetcher } from './BrowserFetcher';
20
+ import type { ProductLauncher } from './Launcher';
21
+ import type { BrowserLaunchArgumentOptions, LaunchOptions } from './LaunchOptions';
22
+ import type { Product } from './Product';
22
23
  interface PuppeteerLaunchOptions extends LaunchOptions, BrowserLaunchArgumentOptions, BrowserConnectOptions {
23
24
  product?: Product;
24
25
  extraPrefsFirefox?: Record<string, unknown>;
@@ -30,63 +31,10 @@ export declare class PuppeteerNode {
30
31
  preferredRevision: string;
31
32
  productName?: Product;
32
33
  });
33
- connect(options: ConnectToBrowserOptions & {
34
- product: Product;
35
- }): Promise<Browser>;
36
- get _productName(): Product | undefined;
37
- set _productName(name: Product | undefined);
38
- /**
39
- * Launches puppeteer and launches a browser instance with given arguments
40
- * and options when specified.
41
- *
42
- * @remarks
43
- *
44
- * @example
45
- * You can use `ignoreDefaultArgs` to filter out `--mute-audio` from default arguments:
46
- * ```js
47
- * const browser = await puppeteer.launch({
48
- * ignoreDefaultArgs: ['--mute-audio']
49
- * });
50
- * ```
51
- *
52
- * **NOTE** Puppeteer can also be used to control the Chrome browser,
53
- * but it works best with the version of Chromium it is bundled with.
54
- * There is no guarantee it will work with any other version.
55
- * Use `executablePath` option with extreme caution.
56
- * If Google Chrome (rather than Chromium) is preferred, a {@link https://www.google.com/chrome/browser/canary.html | Chrome Canary} or {@link https://www.chromium.org/getting-involved/dev-channel | Dev Channel} build is suggested.
57
- * In `puppeteer.launch([options])`, any mention of Chromium also applies to Chrome.
58
- * See {@link https://www.howtogeek.com/202825/what%E2%80%99s-the-difference-between-chromium-and-chrome/ | this article} for a description of the differences between Chromium and Chrome. {@link https://chromium.googlesource.com/chromium/src/+/lkgr/docs/chromium_browser_vs_google_chrome.md | This article} describes some differences for Linux users.
59
- *
60
- * @param options - Set of configurable options to set on the browser.
61
- * @returns Promise which resolves to browser instance.
62
- */
63
34
  launch(options: PuppeteerLaunchOptions): Promise<Browser>;
64
- /**
65
- * @remarks
66
- *
67
- * **NOTE** `puppeteer.executablePath()` is affected by the `PUPPETEER_EXECUTABLE_PATH`
68
- * and `PUPPETEER_CHROMIUM_REVISION` environment variables.
69
- *
70
- * @returns A path where Puppeteer expects to find the bundled browser.
71
- * The browser binary might not be there if the download was skipped with
72
- * the `PUPPETEER_SKIP_DOWNLOAD` environment variable.
73
- */
74
35
  executablePath(channel?: string): string;
75
36
  get _launcher(): ProductLauncher;
76
- /**
77
- * The name of the browser that is under automation (`"chrome"` or `"firefox"`)
78
- *
79
- * @remarks
80
- * The product is set by the `PUPPETEER_PRODUCT` environment variable or the `product`
81
- * option in `puppeteer.launch([options])` and defaults to `chrome`.
82
- * Firefox support is experimental.
83
- */
84
37
  get product(): string;
85
- /**
86
- * @param options - Set of configurable options to specify the settings
87
- * of the BrowserFetcher.
88
- * @returns A new BrowserFetcher instance.
89
- */
90
38
  createBrowserFetcher(options: BrowserFetcherOptions): BrowserFetcher;
91
39
  }
92
40
  export {};
@@ -31,7 +31,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
31
31
  var _PuppeteerNode_lazyLauncher, _PuppeteerNode_productName;
32
32
  Object.defineProperty(exports, "__esModule", { value: true });
33
33
  exports.PuppeteerNode = void 0;
34
- const BrowserConnector_1 = require("./BrowserConnector");
35
34
  const BrowserFetcher_1 = require("./BrowserFetcher");
36
35
  const Launcher_1 = __importDefault(require("./Launcher"));
37
36
  const revisions_1 = require("./revisions");
@@ -42,71 +41,23 @@ class PuppeteerNode {
42
41
  const { preferredRevision, productName } = settings;
43
42
  __classPrivateFieldSet(this, _PuppeteerNode_productName, productName, "f");
44
43
  this._preferredRevision = preferredRevision;
45
- this.connect = this.connect.bind(this);
46
44
  this.launch = this.launch.bind(this);
47
45
  this.executablePath = this.executablePath.bind(this);
48
46
  this.createBrowserFetcher = this.createBrowserFetcher.bind(this);
49
47
  }
50
- connect(options) {
51
- if (options.product) {
52
- this._productName = options.product;
53
- }
54
- return (0, BrowserConnector_1._connectToBrowser)(options);
55
- }
56
- get _productName() {
57
- return __classPrivateFieldGet(this, _PuppeteerNode_productName, "f");
58
- }
59
- set _productName(name) {
60
- __classPrivateFieldSet(this, _PuppeteerNode_productName, name, "f");
61
- }
62
- /**
63
- * Launches puppeteer and launches a browser instance with given arguments
64
- * and options when specified.
65
- *
66
- * @remarks
67
- *
68
- * @example
69
- * You can use `ignoreDefaultArgs` to filter out `--mute-audio` from default arguments:
70
- * ```js
71
- * const browser = await puppeteer.launch({
72
- * ignoreDefaultArgs: ['--mute-audio']
73
- * });
74
- * ```
75
- *
76
- * **NOTE** Puppeteer can also be used to control the Chrome browser,
77
- * but it works best with the version of Chromium it is bundled with.
78
- * There is no guarantee it will work with any other version.
79
- * Use `executablePath` option with extreme caution.
80
- * If Google Chrome (rather than Chromium) is preferred, a {@link https://www.google.com/chrome/browser/canary.html | Chrome Canary} or {@link https://www.chromium.org/getting-involved/dev-channel | Dev Channel} build is suggested.
81
- * In `puppeteer.launch([options])`, any mention of Chromium also applies to Chrome.
82
- * See {@link https://www.howtogeek.com/202825/what%E2%80%99s-the-difference-between-chromium-and-chrome/ | this article} for a description of the differences between Chromium and Chrome. {@link https://chromium.googlesource.com/chromium/src/+/lkgr/docs/chromium_browser_vs_google_chrome.md | This article} describes some differences for Linux users.
83
- *
84
- * @param options - Set of configurable options to set on the browser.
85
- * @returns Promise which resolves to browser instance.
86
- */
87
48
  launch(options) {
88
49
  if (options.product) {
89
- this._productName = options.product;
50
+ __classPrivateFieldSet(this, _PuppeteerNode_productName, options.product, "f");
90
51
  }
91
52
  return this._launcher.launch(options);
92
53
  }
93
- /**
94
- * @remarks
95
- *
96
- * **NOTE** `puppeteer.executablePath()` is affected by the `PUPPETEER_EXECUTABLE_PATH`
97
- * and `PUPPETEER_CHROMIUM_REVISION` environment variables.
98
- *
99
- * @returns A path where Puppeteer expects to find the bundled browser.
100
- * The browser binary might not be there if the download was skipped with
101
- * the `PUPPETEER_SKIP_DOWNLOAD` environment variable.
102
- */
103
54
  executablePath(channel) {
104
55
  return this._launcher.executablePath(channel);
105
56
  }
106
57
  get _launcher() {
107
58
  if (!__classPrivateFieldGet(this, _PuppeteerNode_lazyLauncher, "f") ||
108
- __classPrivateFieldGet(this, _PuppeteerNode_lazyLauncher, "f").product !== this._productName) {
109
- switch (this._productName) {
59
+ __classPrivateFieldGet(this, _PuppeteerNode_lazyLauncher, "f").product !== __classPrivateFieldGet(this, _PuppeteerNode_productName, "f")) {
60
+ switch (__classPrivateFieldGet(this, _PuppeteerNode_productName, "f")) {
110
61
  case 'firefox':
111
62
  this._preferredRevision = revisions_1.PUPPETEER_REVISIONS.firefox;
112
63
  break;
@@ -115,26 +66,13 @@ class PuppeteerNode {
115
66
  this._preferredRevision = revisions_1.PUPPETEER_REVISIONS.chromium;
116
67
  }
117
68
  // eslint-disable-next-line new-cap
118
- __classPrivateFieldSet(this, _PuppeteerNode_lazyLauncher, (0, Launcher_1.default)(this._preferredRevision, this._productName), "f");
69
+ __classPrivateFieldSet(this, _PuppeteerNode_lazyLauncher, (0, Launcher_1.default)(this._preferredRevision, __classPrivateFieldGet(this, _PuppeteerNode_productName, "f")), "f");
119
70
  }
120
71
  return __classPrivateFieldGet(this, _PuppeteerNode_lazyLauncher, "f");
121
72
  }
122
- /**
123
- * The name of the browser that is under automation (`"chrome"` or `"firefox"`)
124
- *
125
- * @remarks
126
- * The product is set by the `PUPPETEER_PRODUCT` environment variable or the `product`
127
- * option in `puppeteer.launch([options])` and defaults to `chrome`.
128
- * Firefox support is experimental.
129
- */
130
73
  get product() {
131
74
  return this._launcher.product;
132
75
  }
133
- /**
134
- * @param options - Set of configurable options to specify the settings
135
- * of the BrowserFetcher.
136
- * @returns A new BrowserFetcher instance.
137
- */
138
76
  createBrowserFetcher(options) {
139
77
  return new BrowserFetcher_1.BrowserFetcher(options);
140
78
  }