isomorfeus-puppetmaster 0.5.3 → 0.5.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (802) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +12 -17
  3. data/lib/isomorfeus/puppetmaster/console_message.rb +18 -18
  4. data/lib/isomorfeus/puppetmaster/cookie.rb +46 -46
  5. data/lib/isomorfeus/puppetmaster/driver/puppeteer.rb +413 -403
  6. data/lib/isomorfeus/puppetmaster/driver/puppeteer_document.rb +953 -953
  7. data/lib/isomorfeus/puppetmaster/driver/puppeteer_node.rb +851 -851
  8. data/lib/isomorfeus/puppetmaster/errors.rb +90 -90
  9. data/lib/isomorfeus/puppetmaster/iframe.rb +16 -16
  10. data/lib/isomorfeus/puppetmaster/node/content_editable.rb +17 -17
  11. data/lib/isomorfeus/puppetmaster/node/input.rb +20 -20
  12. data/lib/isomorfeus/puppetmaster/node/select.rb +35 -35
  13. data/lib/isomorfeus/puppetmaster/node.rb +279 -279
  14. data/lib/isomorfeus/puppetmaster/request.rb +16 -16
  15. data/lib/isomorfeus/puppetmaster/response.rb +25 -25
  16. data/lib/isomorfeus/puppetmaster/self_forwardable.rb +38 -38
  17. data/lib/isomorfeus/puppetmaster/server/checker.rb +1 -3
  18. data/lib/isomorfeus/puppetmaster/server.rb +1 -1
  19. data/lib/isomorfeus/puppetmaster/version.rb +3 -3
  20. data/lib/isomorfeus/puppetmaster.rb +85 -85
  21. data/lib/isomorfeus-puppetmaster.rb +1 -0
  22. data/node_modules/.bin/extract-zip +12 -12
  23. data/node_modules/.bin/extract-zip.ps1 +28 -28
  24. data/node_modules/.bin/rimraf +12 -12
  25. data/node_modules/.bin/rimraf.ps1 +28 -28
  26. data/node_modules/.package-lock.json +530 -574
  27. data/node_modules/@types/node/LICENSE +21 -21
  28. data/node_modules/@types/node/assert/strict.d.ts +8 -8
  29. data/node_modules/@types/node/assert.d.ts +912 -912
  30. data/node_modules/@types/node/async_hooks.d.ts +497 -497
  31. data/node_modules/@types/node/buffer.d.ts +2142 -2142
  32. data/node_modules/@types/node/child_process.d.ts +1355 -1355
  33. data/node_modules/@types/node/cluster.d.ts +414 -414
  34. data/node_modules/@types/node/console.d.ts +407 -407
  35. data/node_modules/@types/node/constants.d.ts +18 -18
  36. data/node_modules/@types/node/crypto.d.ts +3224 -3224
  37. data/node_modules/@types/node/dgram.d.ts +545 -545
  38. data/node_modules/@types/node/diagnostics_channel.d.ts +128 -128
  39. data/node_modules/@types/node/dns/promises.d.ts +357 -357
  40. data/node_modules/@types/node/dns.d.ts +643 -643
  41. data/node_modules/@types/node/domain.d.ts +169 -169
  42. data/node_modules/@types/node/events.d.ts +623 -623
  43. data/node_modules/@types/node/fs/promises.d.ts +997 -997
  44. data/node_modules/@types/node/fs.d.ts +3723 -3723
  45. data/node_modules/@types/node/globals.d.ts +285 -285
  46. data/node_modules/@types/node/globals.global.d.ts +1 -1
  47. data/node_modules/@types/node/http.d.ts +1358 -1358
  48. data/node_modules/@types/node/http2.d.ts +2100 -2100
  49. data/node_modules/@types/node/https.d.ts +391 -391
  50. data/node_modules/@types/node/index.d.ts +131 -131
  51. data/node_modules/@types/node/inspector.d.ts +2738 -2738
  52. data/node_modules/@types/node/module.d.ts +114 -114
  53. data/node_modules/@types/node/net.d.ts +783 -783
  54. data/node_modules/@types/node/os.d.ts +455 -455
  55. data/node_modules/@types/node/package.json +229 -229
  56. data/node_modules/@types/node/path.d.ts +172 -172
  57. data/node_modules/@types/node/perf_hooks.d.ts +555 -555
  58. data/node_modules/@types/node/process.d.ts +1477 -1477
  59. data/node_modules/@types/node/punycode.d.ts +117 -117
  60. data/node_modules/@types/node/querystring.d.ts +131 -131
  61. data/node_modules/@types/node/readline.d.ts +542 -542
  62. data/node_modules/@types/node/repl.d.ts +424 -424
  63. data/node_modules/@types/node/stream/consumers.d.ts +24 -24
  64. data/node_modules/@types/node/stream/promises.d.ts +42 -42
  65. data/node_modules/@types/node/stream/web.d.ts +6 -6
  66. data/node_modules/@types/node/stream.d.ts +1181 -1181
  67. data/node_modules/@types/node/string_decoder.d.ts +67 -67
  68. data/node_modules/@types/node/timers/promises.d.ts +68 -68
  69. data/node_modules/@types/node/timers.d.ts +94 -94
  70. data/node_modules/@types/node/tls.d.ts +1019 -1019
  71. data/node_modules/@types/node/trace_events.d.ts +161 -161
  72. data/node_modules/@types/node/tty.d.ts +206 -206
  73. data/node_modules/@types/node/url.d.ts +798 -798
  74. data/node_modules/@types/node/util.d.ts +1556 -1556
  75. data/node_modules/@types/node/v8.d.ts +378 -378
  76. data/node_modules/@types/node/vm.d.ts +504 -504
  77. data/node_modules/@types/node/wasi.d.ts +153 -153
  78. data/node_modules/@types/node/worker_threads.d.ts +649 -649
  79. data/node_modules/@types/node/zlib.d.ts +517 -517
  80. data/node_modules/@types/yauzl/LICENSE +21 -21
  81. data/node_modules/@types/yauzl/index.d.ts +98 -98
  82. data/node_modules/@types/yauzl/package.json +26 -26
  83. data/node_modules/agent-base/README.md +145 -145
  84. data/node_modules/agent-base/dist/src/index.d.ts +78 -78
  85. data/node_modules/agent-base/dist/src/index.js +202 -202
  86. data/node_modules/agent-base/dist/src/promisify.d.ts +4 -4
  87. data/node_modules/agent-base/dist/src/promisify.js +17 -17
  88. data/node_modules/agent-base/package.json +64 -64
  89. data/node_modules/agent-base/src/index.ts +345 -345
  90. data/node_modules/agent-base/src/promisify.ts +33 -33
  91. data/node_modules/balanced-match/.github/FUNDING.yml +2 -2
  92. data/node_modules/balanced-match/LICENSE.md +21 -21
  93. data/node_modules/balanced-match/README.md +97 -97
  94. data/node_modules/balanced-match/index.js +62 -62
  95. data/node_modules/balanced-match/package.json +48 -48
  96. data/node_modules/base64-js/LICENSE +21 -21
  97. data/node_modules/base64-js/README.md +34 -34
  98. data/node_modules/base64-js/index.d.ts +3 -3
  99. data/node_modules/base64-js/index.js +150 -150
  100. data/node_modules/base64-js/package.json +47 -47
  101. data/node_modules/bl/.travis.yml +17 -17
  102. data/node_modules/bl/BufferList.js +396 -396
  103. data/node_modules/bl/LICENSE.md +13 -13
  104. data/node_modules/bl/README.md +247 -247
  105. data/node_modules/bl/bl.js +84 -84
  106. data/node_modules/bl/package.json +37 -37
  107. data/node_modules/bl/test/convert.js +21 -21
  108. data/node_modules/bl/test/indexOf.js +492 -492
  109. data/node_modules/bl/test/isBufferList.js +32 -32
  110. data/node_modules/bl/test/test.js +869 -869
  111. data/node_modules/brace-expansion/LICENSE +21 -21
  112. data/node_modules/brace-expansion/README.md +129 -129
  113. data/node_modules/brace-expansion/index.js +201 -201
  114. data/node_modules/brace-expansion/package.json +47 -47
  115. data/node_modules/buffer/AUTHORS.md +70 -70
  116. data/node_modules/buffer/LICENSE +21 -21
  117. data/node_modules/buffer/README.md +410 -410
  118. data/node_modules/buffer/index.d.ts +186 -186
  119. data/node_modules/buffer/index.js +1817 -1817
  120. data/node_modules/buffer/package.json +96 -96
  121. data/node_modules/buffer-crc32/LICENSE +19 -19
  122. data/node_modules/buffer-crc32/README.md +47 -47
  123. data/node_modules/buffer-crc32/index.js +111 -111
  124. data/node_modules/buffer-crc32/package.json +39 -39
  125. data/node_modules/chownr/LICENSE +15 -15
  126. data/node_modules/chownr/README.md +3 -3
  127. data/node_modules/chownr/chownr.js +167 -167
  128. data/node_modules/chownr/package.json +29 -29
  129. data/node_modules/concat-map/.travis.yml +4 -4
  130. data/node_modules/concat-map/LICENSE +18 -18
  131. data/node_modules/concat-map/README.markdown +62 -62
  132. data/node_modules/concat-map/example/map.js +6 -6
  133. data/node_modules/concat-map/index.js +13 -13
  134. data/node_modules/concat-map/package.json +43 -43
  135. data/node_modules/concat-map/test/map.js +39 -39
  136. data/node_modules/debug/LICENSE +19 -19
  137. data/node_modules/debug/README.md +455 -455
  138. data/node_modules/debug/package.json +59 -59
  139. data/node_modules/debug/src/browser.js +269 -269
  140. data/node_modules/debug/src/common.js +274 -261
  141. data/node_modules/debug/src/index.js +10 -10
  142. data/node_modules/debug/src/node.js +263 -263
  143. data/node_modules/devtools-protocol/LICENSE +27 -27
  144. data/node_modules/devtools-protocol/README.md +12 -12
  145. data/node_modules/devtools-protocol/json/browser_protocol.json +20985 -20640
  146. data/node_modules/devtools-protocol/json/js_protocol.json +3531 -3580
  147. data/node_modules/devtools-protocol/package.json +17 -18
  148. data/node_modules/devtools-protocol/pdl/browser_protocol.pdl +9849 -9637
  149. data/node_modules/devtools-protocol/pdl/js_protocol.pdl +1653 -1678
  150. data/node_modules/devtools-protocol/types/protocol-mapping.d.ts +4333 -4321
  151. data/node_modules/devtools-protocol/types/protocol-proxy-api.d.ts +3695 -3683
  152. data/node_modules/devtools-protocol/types/protocol.d.ts +15714 -15538
  153. data/node_modules/end-of-stream/LICENSE +20 -20
  154. data/node_modules/end-of-stream/README.md +54 -54
  155. data/node_modules/end-of-stream/index.js +94 -94
  156. data/node_modules/end-of-stream/package.json +37 -37
  157. data/node_modules/extract-zip/LICENSE +23 -23
  158. data/node_modules/extract-zip/cli.js +19 -19
  159. data/node_modules/extract-zip/index.d.ts +21 -21
  160. data/node_modules/extract-zip/index.js +173 -173
  161. data/node_modules/extract-zip/package.json +80 -80
  162. data/node_modules/extract-zip/readme.md +57 -57
  163. data/node_modules/fd-slicer/.npmignore +2 -2
  164. data/node_modules/fd-slicer/.travis.yml +7 -7
  165. data/node_modules/fd-slicer/CHANGELOG.md +49 -49
  166. data/node_modules/fd-slicer/LICENSE +21 -21
  167. data/node_modules/fd-slicer/README.md +199 -199
  168. data/node_modules/fd-slicer/index.js +296 -296
  169. data/node_modules/fd-slicer/package.json +36 -36
  170. data/node_modules/fd-slicer/test/test.js +350 -350
  171. data/node_modules/find-up/index.d.ts +137 -137
  172. data/node_modules/find-up/index.js +89 -89
  173. data/node_modules/find-up/license +9 -9
  174. data/node_modules/find-up/package.json +53 -53
  175. data/node_modules/find-up/readme.md +156 -156
  176. data/node_modules/fs-constants/LICENSE +21 -21
  177. data/node_modules/fs-constants/README.md +26 -26
  178. data/node_modules/fs-constants/browser.js +1 -1
  179. data/node_modules/fs-constants/index.js +1 -1
  180. data/node_modules/fs-constants/package.json +19 -19
  181. data/node_modules/fs.realpath/LICENSE +43 -43
  182. data/node_modules/fs.realpath/README.md +33 -33
  183. data/node_modules/fs.realpath/index.js +66 -66
  184. data/node_modules/fs.realpath/old.js +303 -303
  185. data/node_modules/fs.realpath/package.json +26 -26
  186. data/node_modules/get-stream/buffer-stream.js +52 -52
  187. data/node_modules/get-stream/index.d.ts +108 -108
  188. data/node_modules/get-stream/index.js +60 -60
  189. data/node_modules/get-stream/license +9 -9
  190. data/node_modules/get-stream/package.json +50 -50
  191. data/node_modules/get-stream/readme.md +124 -124
  192. data/node_modules/glob/LICENSE +21 -21
  193. data/node_modules/glob/README.md +375 -375
  194. data/node_modules/glob/changelog.md +67 -67
  195. data/node_modules/glob/common.js +234 -234
  196. data/node_modules/glob/glob.js +788 -788
  197. data/node_modules/glob/package.json +51 -51
  198. data/node_modules/glob/sync.js +484 -484
  199. data/node_modules/https-proxy-agent/README.md +137 -137
  200. data/node_modules/https-proxy-agent/dist/agent.d.ts +30 -30
  201. data/node_modules/https-proxy-agent/dist/agent.js +179 -179
  202. data/node_modules/https-proxy-agent/dist/index.d.ts +23 -23
  203. data/node_modules/https-proxy-agent/dist/index.js +13 -13
  204. data/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +7 -7
  205. data/node_modules/https-proxy-agent/dist/parse-proxy-response.js +65 -65
  206. data/node_modules/https-proxy-agent/package.json +56 -56
  207. data/node_modules/ieee754/LICENSE +11 -11
  208. data/node_modules/ieee754/README.md +51 -51
  209. data/node_modules/ieee754/index.d.ts +9 -9
  210. data/node_modules/ieee754/index.js +85 -85
  211. data/node_modules/ieee754/package.json +52 -52
  212. data/node_modules/inflight/LICENSE +15 -15
  213. data/node_modules/inflight/README.md +37 -37
  214. data/node_modules/inflight/inflight.js +54 -54
  215. data/node_modules/inflight/package.json +29 -29
  216. data/node_modules/inherits/LICENSE +16 -16
  217. data/node_modules/inherits/README.md +42 -42
  218. data/node_modules/inherits/inherits.js +9 -9
  219. data/node_modules/inherits/inherits_browser.js +27 -27
  220. data/node_modules/inherits/package.json +29 -29
  221. data/node_modules/locate-path/index.d.ts +83 -83
  222. data/node_modules/locate-path/index.js +65 -65
  223. data/node_modules/locate-path/license +9 -9
  224. data/node_modules/locate-path/package.json +45 -45
  225. data/node_modules/locate-path/readme.md +122 -122
  226. data/node_modules/minimatch/LICENSE +15 -15
  227. data/node_modules/minimatch/README.md +209 -209
  228. data/node_modules/minimatch/minimatch.js +923 -923
  229. data/node_modules/minimatch/package.json +30 -30
  230. data/node_modules/{mkdirp → mkdirp-classic}/LICENSE +21 -21
  231. data/node_modules/mkdirp-classic/README.md +18 -0
  232. data/node_modules/{mkdirp → mkdirp-classic}/index.js +98 -99
  233. data/node_modules/mkdirp-classic/package.json +18 -0
  234. data/node_modules/ms/index.js +162 -162
  235. data/node_modules/ms/license.md +21 -21
  236. data/node_modules/ms/package.json +37 -37
  237. data/node_modules/ms/readme.md +60 -60
  238. data/node_modules/node-fetch/LICENSE.md +22 -22
  239. data/node_modules/node-fetch/README.md +590 -590
  240. data/node_modules/node-fetch/browser.js +24 -24
  241. data/node_modules/node-fetch/lib/index.es.js +1662 -1640
  242. data/node_modules/node-fetch/lib/index.js +1671 -1649
  243. data/node_modules/node-fetch/lib/index.mjs +1660 -1638
  244. data/node_modules/node-fetch/package.json +68 -66
  245. data/node_modules/once/LICENSE +15 -15
  246. data/node_modules/once/README.md +79 -79
  247. data/node_modules/once/once.js +42 -42
  248. data/node_modules/once/package.json +33 -33
  249. data/node_modules/p-limit/index.d.ts +38 -38
  250. data/node_modules/p-limit/index.js +57 -57
  251. data/node_modules/p-limit/license +9 -9
  252. data/node_modules/p-limit/package.json +52 -52
  253. data/node_modules/p-limit/readme.md +101 -101
  254. data/node_modules/p-locate/index.d.ts +64 -64
  255. data/node_modules/p-locate/index.js +52 -52
  256. data/node_modules/p-locate/license +9 -9
  257. data/node_modules/p-locate/package.json +53 -53
  258. data/node_modules/p-locate/readme.md +90 -90
  259. data/node_modules/p-try/index.d.ts +39 -39
  260. data/node_modules/p-try/index.js +9 -9
  261. data/node_modules/p-try/license +9 -9
  262. data/node_modules/p-try/package.json +42 -42
  263. data/node_modules/p-try/readme.md +58 -58
  264. data/node_modules/path-exists/index.d.ts +28 -28
  265. data/node_modules/path-exists/index.js +23 -23
  266. data/node_modules/path-exists/license +9 -9
  267. data/node_modules/path-exists/package.json +39 -39
  268. data/node_modules/path-exists/readme.md +52 -52
  269. data/node_modules/path-is-absolute/index.js +20 -20
  270. data/node_modules/path-is-absolute/license +21 -21
  271. data/node_modules/path-is-absolute/package.json +43 -43
  272. data/node_modules/path-is-absolute/readme.md +59 -59
  273. data/node_modules/pend/LICENSE +23 -23
  274. data/node_modules/pend/README.md +41 -41
  275. data/node_modules/pend/index.js +55 -55
  276. data/node_modules/pend/package.json +18 -18
  277. data/node_modules/pend/test.js +137 -137
  278. data/node_modules/pkg-dir/index.d.ts +44 -44
  279. data/node_modules/pkg-dir/index.js +17 -17
  280. data/node_modules/pkg-dir/license +9 -9
  281. data/node_modules/pkg-dir/package.json +56 -56
  282. data/node_modules/pkg-dir/readme.md +66 -66
  283. data/node_modules/progress/CHANGELOG.md +115 -115
  284. data/node_modules/progress/LICENSE +22 -22
  285. data/node_modules/progress/Makefile +8 -8
  286. data/node_modules/progress/Readme.md +146 -146
  287. data/node_modules/progress/index.js +1 -1
  288. data/node_modules/progress/lib/node-progress.js +236 -235
  289. data/node_modules/progress/package.json +26 -26
  290. data/node_modules/proxy-from-env/.eslintrc +29 -29
  291. data/node_modules/proxy-from-env/.travis.yml +10 -10
  292. data/node_modules/proxy-from-env/LICENSE +20 -20
  293. data/node_modules/proxy-from-env/README.md +131 -131
  294. data/node_modules/proxy-from-env/index.js +108 -108
  295. data/node_modules/proxy-from-env/package.json +34 -34
  296. data/node_modules/proxy-from-env/test.js +483 -483
  297. data/node_modules/pump/.travis.yml +5 -5
  298. data/node_modules/pump/LICENSE +20 -20
  299. data/node_modules/pump/README.md +65 -65
  300. data/node_modules/pump/index.js +82 -82
  301. data/node_modules/pump/package.json +24 -24
  302. data/node_modules/pump/test-browser.js +66 -66
  303. data/node_modules/pump/test-node.js +53 -53
  304. data/node_modules/puppeteer-core/CHANGELOG.md +319 -261
  305. data/node_modules/puppeteer-core/LICENSE +202 -202
  306. data/node_modules/puppeteer-core/README.md +481 -483
  307. data/node_modules/puppeteer-core/cjs-entry-core.js +29 -29
  308. data/node_modules/puppeteer-core/cjs-entry.js +29 -29
  309. data/node_modules/puppeteer-core/install.js +89 -89
  310. data/node_modules/puppeteer-core/lib/cjs/puppeteer/api-docs-entry.d.ts +110 -110
  311. data/node_modules/puppeteer-core/lib/cjs/puppeteer/api-docs-entry.js +80 -80
  312. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.d.ts +175 -175
  313. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js +360 -360
  314. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.d.ts +20 -20
  315. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js +84 -84
  316. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js.map +1 -1
  317. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.d.ts +455 -453
  318. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.d.ts.map +1 -1
  319. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js +540 -532
  320. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js.map +1 -1
  321. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserConnector.d.ts +53 -53
  322. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserConnector.js +97 -97
  323. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
  324. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserWebSocketTransport.d.ts +25 -25
  325. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserWebSocketTransport.js +34 -34
  326. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.d.ts +135 -129
  327. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.d.ts.map +1 -1
  328. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js +298 -280
  329. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js.map +1 -1
  330. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConnectionTransport.d.ts +24 -24
  331. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConnectionTransport.js +17 -17
  332. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConsoleMessage.d.ts +72 -72
  333. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConsoleMessage.js +64 -64
  334. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.d.ts +204 -204
  335. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.js +335 -335
  336. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.js.map +1 -1
  337. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DOMWorld.d.ts +175 -173
  338. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DOMWorld.d.ts.map +1 -1
  339. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DOMWorld.js +662 -658
  340. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DOMWorld.js.map +1 -1
  341. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Debug.d.ts +52 -52
  342. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Debug.js +81 -81
  343. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceDescriptors.d.ts +40 -40
  344. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceDescriptors.js +1070 -1070
  345. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.d.ts +74 -74
  346. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.js +97 -97
  347. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.js.map +1 -1
  348. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EmulationManager.d.ts +24 -24
  349. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EmulationManager.js +37 -37
  350. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.d.ts +50 -41
  351. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.d.ts.map +1 -1
  352. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.js +56 -48
  353. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.js.map +1 -1
  354. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EvalTypes.d.ts +60 -60
  355. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EvalTypes.js +17 -17
  356. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.d.ts +92 -92
  357. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.js +116 -116
  358. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.js.map +1 -1
  359. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Events.d.ts +81 -81
  360. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Events.js +86 -86
  361. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.d.ts +193 -193
  362. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.js +321 -321
  363. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.js.map +1 -1
  364. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.d.ts +58 -58
  365. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.js +71 -71
  366. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.js.map +1 -1
  367. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.d.ts +744 -732
  368. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.d.ts.map +1 -1
  369. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js +1047 -964
  370. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js.map +1 -1
  371. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.d.ts +350 -340
  372. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  373. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.js +549 -546
  374. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.js.map +1 -1
  375. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.d.ts +134 -125
  376. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.d.ts.map +1 -1
  377. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.js +184 -154
  378. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.js.map +1 -1
  379. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.d.ts +358 -359
  380. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.d.ts.map +1 -1
  381. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.js +543 -544
  382. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.js.map +1 -1
  383. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.d.ts +490 -490
  384. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.d.ts.map +1 -1
  385. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.js +827 -826
  386. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.js.map +1 -1
  387. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.d.ts +65 -65
  388. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.d.ts.map +1 -1
  389. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js +149 -148
  390. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js.map +1 -1
  391. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkConditions.d.ts +26 -26
  392. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkConditions.js +33 -33
  393. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.d.ts +126 -97
  394. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.d.ts.map +1 -1
  395. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js +467 -345
  396. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js.map +1 -1
  397. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PDFOptions.d.ts +161 -161
  398. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PDFOptions.js +34 -34
  399. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.d.ts +2055 -2026
  400. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.d.ts.map +1 -1
  401. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js +2533 -2487
  402. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js.map +1 -1
  403. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Product.d.ts +20 -20
  404. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Product.js +17 -17
  405. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.d.ts +159 -159
  406. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.js +161 -161
  407. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.js.map +1 -1
  408. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PuppeteerViewport.d.ts +51 -51
  409. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PuppeteerViewport.js +2 -2
  410. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/QueryHandler.d.ts +64 -64
  411. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/QueryHandler.js +165 -165
  412. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/SecurityDetails.d.ts +60 -60
  413. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/SecurityDetails.js +76 -76
  414. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.d.ts +100 -98
  415. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.d.ts.map +1 -1
  416. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.js +145 -144
  417. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.js.map +1 -1
  418. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.d.ts +21 -0
  419. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.d.ts.map +1 -0
  420. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.js +30 -0
  421. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.js.map +1 -0
  422. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TimeoutSettings.d.ts +27 -27
  423. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TimeoutSettings.js +47 -47
  424. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.d.ts +46 -46
  425. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.js +109 -109
  426. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.js.map +1 -1
  427. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/USKeyboardLayout.d.ts +39 -39
  428. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/USKeyboardLayout.js +406 -406
  429. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WebWorker.d.ts +98 -98
  430. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WebWorker.js +112 -112
  431. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/assert.d.ts +22 -22
  432. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/assert.js +33 -33
  433. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/fetch.d.ts +16 -16
  434. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/fetch.js +43 -43
  435. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/helper.d.ts +84 -84
  436. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/helper.js +327 -327
  437. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/helper.js.map +1 -1
  438. data/node_modules/puppeteer-core/lib/cjs/puppeteer/environment.d.ts +16 -16
  439. data/node_modules/puppeteer-core/lib/cjs/puppeteer/environment.js +19 -19
  440. data/node_modules/puppeteer-core/lib/cjs/puppeteer/global.d.ts +16 -16
  441. data/node_modules/puppeteer-core/lib/cjs/puppeteer/global.js +2 -2
  442. data/node_modules/puppeteer-core/lib/cjs/puppeteer/initialize-node.d.ts +17 -17
  443. data/node_modules/puppeteer-core/lib/cjs/puppeteer/initialize-node.js +44 -44
  444. data/node_modules/puppeteer-core/lib/cjs/puppeteer/initialize-web.d.ts +17 -17
  445. data/node_modules/puppeteer-core/lib/cjs/puppeteer/initialize-web.js +26 -26
  446. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserFetcher.d.ts +133 -133
  447. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserFetcher.js +500 -500
  448. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserFetcher.js.map +1 -1
  449. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.d.ts +40 -39
  450. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.d.ts.map +1 -1
  451. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js +256 -224
  452. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js.map +1 -1
  453. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/LaunchOptions.d.ts +134 -130
  454. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/LaunchOptions.d.ts.map +1 -1
  455. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/LaunchOptions.js +17 -17
  456. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.d.ts +16 -16
  457. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.d.ts.map +1 -1
  458. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.js +655 -573
  459. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.js.map +1 -1
  460. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/NodeWebSocketTransport.d.ts +26 -26
  461. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/NodeWebSocketTransport.js +47 -47
  462. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PipeTransport.d.ts +29 -29
  463. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PipeTransport.js +64 -64
  464. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Puppeteer.d.ts +153 -153
  465. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Puppeteer.js +188 -188
  466. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Puppeteer.js.map +1 -1
  467. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/install.d.ts +17 -17
  468. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/install.js +173 -173
  469. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/install.js.map +1 -1
  470. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node-puppeteer-core.d.ts +17 -17
  471. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node-puppeteer-core.js +24 -24
  472. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node-puppeteer-core.js.map +1 -1
  473. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node.d.ts +17 -17
  474. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node.js +23 -23
  475. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node.js.map +1 -1
  476. data/node_modules/puppeteer-core/lib/cjs/puppeteer/revisions.d.ts +21 -21
  477. data/node_modules/puppeteer-core/lib/cjs/puppeteer/revisions.js +22 -22
  478. data/node_modules/puppeteer-core/lib/cjs/puppeteer/web.d.ts +17 -17
  479. data/node_modules/puppeteer-core/lib/cjs/puppeteer/web.js +23 -23
  480. data/node_modules/puppeteer-core/lib/cjs/puppeteer/web.js.map +1 -1
  481. data/node_modules/puppeteer-core/lib/cjs/vendor/mitt/src/index.d.ts +27 -27
  482. data/node_modules/puppeteer-core/lib/cjs/vendor/mitt/src/index.js +56 -56
  483. data/node_modules/puppeteer-core/lib/esm/puppeteer/api-docs-entry.d.ts +110 -110
  484. data/node_modules/puppeteer-core/lib/esm/puppeteer/api-docs-entry.js +80 -80
  485. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Accessibility.d.ts +175 -175
  486. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Accessibility.js +356 -356
  487. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.d.ts +20 -20
  488. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js +81 -81
  489. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js.map +1 -1
  490. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.d.ts +455 -453
  491. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.d.ts.map +1 -1
  492. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.js +535 -527
  493. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.js.map +1 -1
  494. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserConnector.d.ts +53 -53
  495. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserConnector.js +74 -74
  496. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.d.ts +25 -25
  497. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.js +30 -30
  498. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.d.ts +135 -129
  499. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.d.ts.map +1 -1
  500. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.js +293 -275
  501. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.js.map +1 -1
  502. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConnectionTransport.d.ts +24 -24
  503. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConnectionTransport.js +16 -16
  504. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.d.ts +72 -72
  505. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.js +60 -60
  506. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.d.ts +204 -204
  507. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.js +329 -329
  508. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DOMWorld.d.ts +175 -173
  509. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DOMWorld.d.ts.map +1 -1
  510. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DOMWorld.js +657 -653
  511. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DOMWorld.js.map +1 -1
  512. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Debug.d.ts +52 -52
  513. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Debug.js +77 -77
  514. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceDescriptors.d.ts +40 -40
  515. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceDescriptors.js +1067 -1067
  516. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.d.ts +74 -74
  517. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.js +93 -93
  518. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EmulationManager.d.ts +24 -24
  519. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EmulationManager.js +33 -33
  520. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.d.ts +50 -41
  521. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.d.ts.map +1 -1
  522. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.js +50 -43
  523. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.js.map +1 -1
  524. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EvalTypes.d.ts +60 -60
  525. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EvalTypes.js +16 -16
  526. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.d.ts +92 -92
  527. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.js +109 -109
  528. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Events.d.ts +81 -81
  529. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Events.js +83 -83
  530. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.d.ts +193 -193
  531. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.js +317 -317
  532. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.d.ts +58 -58
  533. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.js +67 -67
  534. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.d.ts +744 -732
  535. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.d.ts.map +1 -1
  536. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js +1042 -959
  537. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js.map +1 -1
  538. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.d.ts +350 -340
  539. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  540. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.js +545 -542
  541. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.js.map +1 -1
  542. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.d.ts +134 -125
  543. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.d.ts.map +1 -1
  544. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.js +180 -150
  545. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.js.map +1 -1
  546. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.d.ts +358 -359
  547. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.d.ts.map +1 -1
  548. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.js +537 -538
  549. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.js.map +1 -1
  550. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.d.ts +490 -490
  551. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.d.ts.map +1 -1
  552. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.js +802 -801
  553. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.js.map +1 -1
  554. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.d.ts +65 -65
  555. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.d.ts.map +1 -1
  556. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.js +145 -144
  557. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.js.map +1 -1
  558. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkConditions.d.ts +26 -26
  559. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkConditions.js +30 -30
  560. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.d.ts +126 -97
  561. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -1
  562. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js +463 -341
  563. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js.map +1 -1
  564. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.d.ts +161 -161
  565. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.js +31 -31
  566. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.d.ts +2055 -2026
  567. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.d.ts.map +1 -1
  568. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.js +2529 -2483
  569. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.js.map +1 -1
  570. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Product.d.ts +20 -20
  571. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Product.js +16 -16
  572. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.d.ts +159 -159
  573. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.js +157 -157
  574. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PuppeteerViewport.d.ts +51 -51
  575. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PuppeteerViewport.js +1 -1
  576. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.d.ts +64 -64
  577. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.js +157 -157
  578. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.d.ts +60 -60
  579. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.js +72 -72
  580. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.d.ts +100 -98
  581. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.d.ts.map +1 -1
  582. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.js +141 -140
  583. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.js.map +1 -1
  584. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.d.ts +21 -0
  585. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.d.ts.map +1 -0
  586. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.js +26 -0
  587. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.js.map +1 -0
  588. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.d.ts +27 -27
  589. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.js +43 -43
  590. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.d.ts +46 -46
  591. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.js +105 -105
  592. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/USKeyboardLayout.d.ts +39 -39
  593. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/USKeyboardLayout.js +403 -403
  594. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/WebWorker.d.ts +98 -98
  595. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/WebWorker.js +108 -108
  596. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/assert.d.ts +22 -22
  597. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/assert.js +28 -28
  598. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/fetch.d.ts +16 -16
  599. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/fetch.js +20 -20
  600. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/helper.d.ts +84 -84
  601. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/helper.js +305 -305
  602. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/helper.js.map +1 -1
  603. data/node_modules/puppeteer-core/lib/esm/puppeteer/environment.d.ts +16 -16
  604. data/node_modules/puppeteer-core/lib/esm/puppeteer/environment.js +16 -16
  605. data/node_modules/puppeteer-core/lib/esm/puppeteer/global.d.ts +16 -16
  606. data/node_modules/puppeteer-core/lib/esm/puppeteer/global.js +1 -1
  607. data/node_modules/puppeteer-core/lib/esm/puppeteer/initialize-node.d.ts +17 -17
  608. data/node_modules/puppeteer-core/lib/esm/puppeteer/initialize-node.js +37 -37
  609. data/node_modules/puppeteer-core/lib/esm/puppeteer/initialize-web.d.ts +17 -17
  610. data/node_modules/puppeteer-core/lib/esm/puppeteer/initialize-web.js +22 -22
  611. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserFetcher.d.ts +133 -133
  612. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserFetcher.js +474 -474
  613. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserFetcher.js.map +1 -1
  614. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.d.ts +40 -39
  615. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.d.ts.map +1 -1
  616. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.js +230 -198
  617. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.js.map +1 -1
  618. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/LaunchOptions.d.ts +134 -130
  619. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/LaunchOptions.d.ts.map +1 -1
  620. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/LaunchOptions.js +16 -16
  621. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.d.ts +16 -16
  622. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.d.ts.map +1 -1
  623. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.js +633 -551
  624. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.js.map +1 -1
  625. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts +26 -26
  626. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/NodeWebSocketTransport.js +40 -40
  627. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/PipeTransport.d.ts +29 -29
  628. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/PipeTransport.js +60 -60
  629. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Puppeteer.d.ts +153 -153
  630. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Puppeteer.js +181 -181
  631. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/install.d.ts +17 -17
  632. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/install.js +165 -165
  633. data/node_modules/puppeteer-core/lib/esm/puppeteer/node-puppeteer-core.d.ts +17 -17
  634. data/node_modules/puppeteer-core/lib/esm/puppeteer/node-puppeteer-core.js +22 -22
  635. data/node_modules/puppeteer-core/lib/esm/puppeteer/node.d.ts +17 -17
  636. data/node_modules/puppeteer-core/lib/esm/puppeteer/node.js +21 -21
  637. data/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.d.ts +21 -21
  638. data/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.js +19 -19
  639. data/node_modules/puppeteer-core/lib/esm/puppeteer/web.d.ts +17 -17
  640. data/node_modules/puppeteer-core/lib/esm/puppeteer/web.js +21 -21
  641. data/node_modules/puppeteer-core/lib/esm/vendor/mitt/src/index.d.ts +27 -27
  642. data/node_modules/puppeteer-core/lib/esm/vendor/mitt/src/index.js +53 -53
  643. data/node_modules/puppeteer-core/lib/types.d.ts +3899 -3766
  644. data/node_modules/puppeteer-core/package.json +115 -122
  645. data/node_modules/puppeteer-core/typescript-if-required.js +61 -61
  646. data/node_modules/readable-stream/CONTRIBUTING.md +38 -38
  647. data/node_modules/readable-stream/GOVERNANCE.md +136 -136
  648. data/node_modules/readable-stream/LICENSE +47 -47
  649. data/node_modules/readable-stream/README.md +106 -106
  650. data/node_modules/readable-stream/errors-browser.js +127 -127
  651. data/node_modules/readable-stream/errors.js +116 -116
  652. data/node_modules/readable-stream/experimentalWarning.js +17 -17
  653. data/node_modules/readable-stream/lib/_stream_duplex.js +138 -138
  654. data/node_modules/readable-stream/lib/_stream_passthrough.js +38 -38
  655. data/node_modules/readable-stream/lib/_stream_readable.js +1123 -1123
  656. data/node_modules/readable-stream/lib/_stream_transform.js +200 -200
  657. data/node_modules/readable-stream/lib/_stream_writable.js +696 -696
  658. data/node_modules/readable-stream/lib/internal/streams/async_iterator.js +206 -206
  659. data/node_modules/readable-stream/lib/internal/streams/buffer_list.js +209 -209
  660. data/node_modules/readable-stream/lib/internal/streams/destroy.js +104 -104
  661. data/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +103 -103
  662. data/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -3
  663. data/node_modules/readable-stream/lib/internal/streams/from.js +63 -63
  664. data/node_modules/readable-stream/lib/internal/streams/pipeline.js +96 -96
  665. data/node_modules/readable-stream/lib/internal/streams/state.js +26 -26
  666. data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -1
  667. data/node_modules/readable-stream/lib/internal/streams/stream.js +1 -1
  668. data/node_modules/readable-stream/package.json +68 -68
  669. data/node_modules/readable-stream/readable-browser.js +9 -9
  670. data/node_modules/readable-stream/readable.js +16 -16
  671. data/node_modules/rimraf/CHANGELOG.md +65 -65
  672. data/node_modules/rimraf/LICENSE +15 -15
  673. data/node_modules/rimraf/README.md +101 -101
  674. data/node_modules/rimraf/bin.js +68 -68
  675. data/node_modules/rimraf/package.json +32 -32
  676. data/node_modules/rimraf/rimraf.js +360 -360
  677. data/node_modules/safe-buffer/LICENSE +21 -21
  678. data/node_modules/safe-buffer/README.md +584 -584
  679. data/node_modules/safe-buffer/index.d.ts +186 -186
  680. data/node_modules/safe-buffer/index.js +65 -65
  681. data/node_modules/safe-buffer/package.json +51 -51
  682. data/node_modules/string_decoder/LICENSE +48 -48
  683. data/node_modules/string_decoder/README.md +47 -47
  684. data/node_modules/string_decoder/lib/string_decoder.js +295 -295
  685. data/node_modules/string_decoder/package.json +34 -34
  686. data/node_modules/tar-fs/.travis.yml +6 -5
  687. data/node_modules/tar-fs/LICENSE +20 -20
  688. data/node_modules/tar-fs/README.md +165 -163
  689. data/node_modules/tar-fs/index.js +351 -348
  690. data/node_modules/tar-fs/package.json +41 -41
  691. data/node_modules/tar-fs/test/fixtures/a/hello.txt +1 -1
  692. data/node_modules/tar-fs/test/fixtures/b/a/test.txt +1 -1
  693. data/node_modules/tar-fs/test/index.js +346 -346
  694. data/node_modules/tar-stream/LICENSE +20 -20
  695. data/node_modules/tar-stream/README.md +168 -168
  696. data/node_modules/tar-stream/extract.js +257 -257
  697. data/node_modules/tar-stream/headers.js +295 -295
  698. data/node_modules/tar-stream/index.js +2 -2
  699. data/node_modules/tar-stream/pack.js +255 -255
  700. data/node_modules/tar-stream/package.json +58 -58
  701. data/node_modules/tar-stream/sandbox.js +11 -11
  702. data/node_modules/through/.travis.yml +5 -5
  703. data/node_modules/through/LICENSE.APACHE2 +15 -15
  704. data/node_modules/through/LICENSE.MIT +24 -24
  705. data/node_modules/through/index.js +108 -108
  706. data/node_modules/through/package.json +36 -36
  707. data/node_modules/through/readme.markdown +64 -64
  708. data/node_modules/through/test/async.js +28 -28
  709. data/node_modules/through/test/auto-destroy.js +30 -30
  710. data/node_modules/through/test/buffering.js +71 -71
  711. data/node_modules/through/test/end.js +45 -45
  712. data/node_modules/through/test/index.js +133 -133
  713. data/node_modules/tr46/.npmignore +4 -0
  714. data/node_modules/tr46/index.js +193 -0
  715. data/node_modules/tr46/lib/.gitkeep +0 -0
  716. data/node_modules/tr46/lib/mappingTable.json +1 -0
  717. data/node_modules/tr46/package.json +31 -0
  718. data/node_modules/unbzip2-stream/LICENSE +24 -24
  719. data/node_modules/unbzip2-stream/README.md +59 -59
  720. data/node_modules/unbzip2-stream/dist/unbzip2-stream.min.js +1 -1
  721. data/node_modules/unbzip2-stream/index.js +93 -92
  722. data/node_modules/unbzip2-stream/lib/bit_iterator.js +39 -39
  723. data/node_modules/unbzip2-stream/lib/bzip2.js +365 -367
  724. data/node_modules/unbzip2-stream/package.json +51 -51
  725. data/node_modules/util-deprecate/History.md +16 -16
  726. data/node_modules/util-deprecate/LICENSE +24 -24
  727. data/node_modules/util-deprecate/README.md +53 -53
  728. data/node_modules/util-deprecate/browser.js +67 -67
  729. data/node_modules/util-deprecate/node.js +6 -6
  730. data/node_modules/util-deprecate/package.json +27 -27
  731. data/node_modules/webidl-conversions/LICENSE.md +12 -0
  732. data/node_modules/webidl-conversions/README.md +53 -0
  733. data/node_modules/webidl-conversions/lib/index.js +189 -0
  734. data/node_modules/webidl-conversions/package.json +23 -0
  735. data/node_modules/whatwg-url/LICENSE.txt +21 -0
  736. data/node_modules/whatwg-url/README.md +67 -0
  737. data/node_modules/whatwg-url/lib/URL-impl.js +200 -0
  738. data/node_modules/whatwg-url/lib/URL.js +196 -0
  739. data/node_modules/whatwg-url/lib/public-api.js +11 -0
  740. data/node_modules/whatwg-url/lib/url-state-machine.js +1297 -0
  741. data/node_modules/whatwg-url/lib/utils.js +20 -0
  742. data/node_modules/whatwg-url/package.json +32 -0
  743. data/node_modules/wrappy/LICENSE +15 -15
  744. data/node_modules/wrappy/README.md +36 -36
  745. data/node_modules/wrappy/package.json +29 -29
  746. data/node_modules/wrappy/wrappy.js +33 -33
  747. data/node_modules/ws/LICENSE +19 -21
  748. data/node_modules/ws/README.md +493 -496
  749. data/node_modules/ws/browser.js +8 -8
  750. data/node_modules/ws/index.js +13 -10
  751. data/node_modules/ws/lib/buffer-util.js +126 -129
  752. data/node_modules/ws/lib/constants.js +12 -10
  753. data/node_modules/ws/lib/event-target.js +266 -184
  754. data/node_modules/ws/lib/extension.js +203 -223
  755. data/node_modules/ws/lib/limiter.js +55 -55
  756. data/node_modules/ws/lib/permessage-deflate.js +511 -517
  757. data/node_modules/ws/lib/receiver.js +612 -507
  758. data/node_modules/ws/lib/sender.js +422 -405
  759. data/node_modules/ws/lib/stream.js +180 -165
  760. data/node_modules/ws/lib/subprotocol.js +62 -0
  761. data/node_modules/ws/lib/validation.js +124 -104
  762. data/node_modules/ws/lib/websocket-server.js +485 -418
  763. data/node_modules/ws/lib/websocket.js +1149 -942
  764. data/node_modules/ws/package.json +61 -56
  765. data/node_modules/ws/wrapper.mjs +8 -0
  766. data/node_modules/yauzl/LICENSE +21 -21
  767. data/node_modules/yauzl/README.md +658 -658
  768. data/node_modules/yauzl/index.js +796 -796
  769. data/node_modules/yauzl/package.json +40 -40
  770. data/package.json +1 -1
  771. metadata +59 -61
  772. data/node_modules/.bin/mkdirp +0 -12
  773. data/node_modules/.bin/mkdirp.cmd +0 -17
  774. data/node_modules/.bin/mkdirp.ps1 +0 -28
  775. data/node_modules/devtools-protocol/changelog.md +0 -10491
  776. data/node_modules/devtools-protocol/externs/protocol_externs.js +0 -9734
  777. data/node_modules/minimist/.travis.yml +0 -8
  778. data/node_modules/minimist/LICENSE +0 -18
  779. data/node_modules/minimist/example/parse.js +0 -2
  780. data/node_modules/minimist/index.js +0 -245
  781. data/node_modules/minimist/package.json +0 -45
  782. data/node_modules/minimist/readme.markdown +0 -95
  783. data/node_modules/minimist/test/all_bool.js +0 -32
  784. data/node_modules/minimist/test/bool.js +0 -178
  785. data/node_modules/minimist/test/dash.js +0 -31
  786. data/node_modules/minimist/test/default_bool.js +0 -35
  787. data/node_modules/minimist/test/dotted.js +0 -22
  788. data/node_modules/minimist/test/kv_short.js +0 -16
  789. data/node_modules/minimist/test/long.js +0 -31
  790. data/node_modules/minimist/test/num.js +0 -36
  791. data/node_modules/minimist/test/parse.js +0 -197
  792. data/node_modules/minimist/test/parse_modified.js +0 -9
  793. data/node_modules/minimist/test/proto.js +0 -44
  794. data/node_modules/minimist/test/short.js +0 -67
  795. data/node_modules/minimist/test/stop_early.js +0 -15
  796. data/node_modules/minimist/test/unknown.js +0 -102
  797. data/node_modules/minimist/test/whitespace.js +0 -8
  798. data/node_modules/mkdirp/bin/cmd.js +0 -33
  799. data/node_modules/mkdirp/bin/usage.txt +0 -12
  800. data/node_modules/mkdirp/package.json +0 -34
  801. data/node_modules/mkdirp/readme.markdown +0 -100
  802. data/node_modules/node-fetch/CHANGELOG.md +0 -272
@@ -1,533 +1,541 @@
1
- "use strict";
2
- /**
3
- * Copyright 2017 Google Inc. All rights reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.BrowserContext = exports.Browser = void 0;
19
- const assert_js_1 = require("./assert.js");
20
- const helper_js_1 = require("./helper.js");
21
- const Target_js_1 = require("./Target.js");
22
- const EventEmitter_js_1 = require("./EventEmitter.js");
23
- const Connection_js_1 = require("./Connection.js");
24
- const WEB_PERMISSION_TO_PROTOCOL_PERMISSION = new Map([
25
- ['geolocation', 'geolocation'],
26
- ['midi', 'midi'],
27
- ['notifications', 'notifications'],
28
- // TODO: push isn't a valid type?
29
- // ['push', 'push'],
30
- ['camera', 'videoCapture'],
31
- ['microphone', 'audioCapture'],
32
- ['background-sync', 'backgroundSync'],
33
- ['ambient-light-sensor', 'sensors'],
34
- ['accelerometer', 'sensors'],
35
- ['gyroscope', 'sensors'],
36
- ['magnetometer', 'sensors'],
37
- ['accessibility-events', 'accessibilityEvents'],
38
- ['clipboard-read', 'clipboardReadWrite'],
39
- ['clipboard-write', 'clipboardReadWrite'],
40
- ['payment-handler', 'paymentHandler'],
41
- ['persistent-storage', 'durableStorage'],
42
- ['idle-detection', 'idleDetection'],
43
- // chrome-specific permissions we have.
44
- ['midi-sysex', 'midiSysex'],
45
- ]);
46
- /**
47
- * A Browser is created when Puppeteer connects to a Chromium instance, either through
48
- * {@link PuppeteerNode.launch} or {@link Puppeteer.connect}.
49
- *
50
- * @remarks
51
- *
52
- * The Browser class extends from Puppeteer's {@link EventEmitter} class and will
53
- * emit various events which are documented in the {@link BrowserEmittedEvents} enum.
54
- *
55
- * @example
56
- *
57
- * An example of using a {@link Browser} to create a {@link Page}:
58
- * ```js
59
- * const puppeteer = require('puppeteer');
60
- *
61
- * (async () => {
62
- * const browser = await puppeteer.launch();
63
- * const page = await browser.newPage();
64
- * await page.goto('https://example.com');
65
- * await browser.close();
66
- * })();
67
- * ```
68
- *
69
- * @example
70
- *
71
- * An example of disconnecting from and reconnecting to a {@link Browser}:
72
- * ```js
73
- * const puppeteer = require('puppeteer');
74
- *
75
- * (async () => {
76
- * const browser = await puppeteer.launch();
77
- * // Store the endpoint to be able to reconnect to Chromium
78
- * const browserWSEndpoint = browser.wsEndpoint();
79
- * // Disconnect puppeteer from Chromium
80
- * browser.disconnect();
81
- *
82
- * // Use the endpoint to reestablish a connection
83
- * const browser2 = await puppeteer.connect({browserWSEndpoint});
84
- * // Close Chromium
85
- * await browser2.close();
86
- * })();
87
- * ```
88
- *
89
- * @public
90
- */
91
- class Browser extends EventEmitter_js_1.EventEmitter {
92
- /**
93
- * @internal
94
- */
95
- constructor(connection, contextIds, ignoreHTTPSErrors, defaultViewport, process, closeCallback, targetFilterCallback) {
96
- super();
97
- this._ignoreHTTPSErrors = ignoreHTTPSErrors;
98
- this._defaultViewport = defaultViewport;
99
- this._process = process;
100
- this._connection = connection;
101
- this._closeCallback = closeCallback || function () { };
102
- this._targetFilterCallback = targetFilterCallback || (() => true);
103
- this._defaultContext = new BrowserContext(this._connection, this, null);
104
- this._contexts = new Map();
105
- for (const contextId of contextIds)
106
- this._contexts.set(contextId, new BrowserContext(this._connection, this, contextId));
107
- this._targets = new Map();
108
- this._connection.on(Connection_js_1.ConnectionEmittedEvents.Disconnected, () => this.emit("disconnected" /* Disconnected */));
109
- this._connection.on('Target.targetCreated', this._targetCreated.bind(this));
110
- this._connection.on('Target.targetDestroyed', this._targetDestroyed.bind(this));
111
- this._connection.on('Target.targetInfoChanged', this._targetInfoChanged.bind(this));
112
- }
113
- /**
114
- * @internal
115
- */
116
- static async create(connection, contextIds, ignoreHTTPSErrors, defaultViewport, process, closeCallback, targetFilterCallback) {
117
- const browser = new Browser(connection, contextIds, ignoreHTTPSErrors, defaultViewport, process, closeCallback, targetFilterCallback);
118
- await connection.send('Target.setDiscoverTargets', { discover: true });
119
- return browser;
120
- }
121
- /**
122
- * The spawned browser process. Returns `null` if the browser instance was created with
123
- * {@link Puppeteer.connect}.
124
- */
125
- process() {
126
- return this._process;
127
- }
128
- /**
129
- * Creates a new incognito browser context. This won't share cookies/cache with other
130
- * browser contexts.
131
- *
132
- * @example
133
- * ```js
134
- * (async () => {
135
- * const browser = await puppeteer.launch();
136
- * // Create a new incognito browser context.
137
- * const context = await browser.createIncognitoBrowserContext();
138
- * // Create a new page in a pristine context.
139
- * const page = await context.newPage();
140
- * // Do stuff
141
- * await page.goto('https://example.com');
142
- * })();
143
- * ```
144
- */
145
- async createIncognitoBrowserContext(options = {}) {
146
- const { proxyServer = '', proxyBypassList = [] } = options;
147
- const { browserContextId } = await this._connection.send('Target.createBrowserContext', {
148
- proxyServer,
149
- proxyBypassList: proxyBypassList && proxyBypassList.join(','),
150
- });
151
- const context = new BrowserContext(this._connection, this, browserContextId);
152
- this._contexts.set(browserContextId, context);
153
- return context;
154
- }
155
- /**
156
- * Returns an array of all open browser contexts. In a newly created browser, this will
157
- * return a single instance of {@link BrowserContext}.
158
- */
159
- browserContexts() {
160
- return [this._defaultContext, ...Array.from(this._contexts.values())];
161
- }
162
- /**
163
- * Returns the default browser context. The default browser context cannot be closed.
164
- */
165
- defaultBrowserContext() {
166
- return this._defaultContext;
167
- }
168
- /**
169
- * @internal
170
- * Used by BrowserContext directly so cannot be marked private.
171
- */
172
- async _disposeContext(contextId) {
173
- await this._connection.send('Target.disposeBrowserContext', {
174
- browserContextId: contextId || undefined,
175
- });
176
- this._contexts.delete(contextId);
177
- }
178
- async _targetCreated(event) {
179
- const targetInfo = event.targetInfo;
180
- const { browserContextId } = targetInfo;
181
- const context = browserContextId && this._contexts.has(browserContextId)
182
- ? this._contexts.get(browserContextId)
183
- : this._defaultContext;
184
- const shouldAttachToTarget = this._targetFilterCallback(targetInfo);
185
- if (!shouldAttachToTarget) {
186
- return;
187
- }
188
- const target = new Target_js_1.Target(targetInfo, context, () => this._connection.createSession(targetInfo), this._ignoreHTTPSErrors, this._defaultViewport);
189
- assert_js_1.assert(!this._targets.has(event.targetInfo.targetId), 'Target should not exist before targetCreated');
190
- this._targets.set(event.targetInfo.targetId, target);
191
- if (await target._initializedPromise) {
192
- this.emit("targetcreated" /* TargetCreated */, target);
193
- context.emit("targetcreated" /* TargetCreated */, target);
194
- }
195
- }
196
- async _targetDestroyed(event) {
197
- const target = this._targets.get(event.targetId);
198
- target._initializedCallback(false);
199
- this._targets.delete(event.targetId);
200
- target._closedCallback();
201
- if (await target._initializedPromise) {
202
- this.emit("targetdestroyed" /* TargetDestroyed */, target);
203
- target
204
- .browserContext()
205
- .emit("targetdestroyed" /* TargetDestroyed */, target);
206
- }
207
- }
208
- _targetInfoChanged(event) {
209
- const target = this._targets.get(event.targetInfo.targetId);
210
- assert_js_1.assert(target, 'target should exist before targetInfoChanged');
211
- const previousURL = target.url();
212
- const wasInitialized = target._isInitialized;
213
- target._targetInfoChanged(event.targetInfo);
214
- if (wasInitialized && previousURL !== target.url()) {
215
- this.emit("targetchanged" /* TargetChanged */, target);
216
- target
217
- .browserContext()
218
- .emit("targetchanged" /* TargetChanged */, target);
219
- }
220
- }
221
- /**
222
- * The browser websocket endpoint which can be used as an argument to
223
- * {@link Puppeteer.connect}.
224
- *
225
- * @returns The Browser websocket url.
226
- *
227
- * @remarks
228
- *
229
- * The format is `ws://${host}:${port}/devtools/browser/<id>`.
230
- *
231
- * You can find the `webSocketDebuggerUrl` from `http://${host}:${port}/json/version`.
232
- * Learn more about the
233
- * {@link https://chromedevtools.github.io/devtools-protocol | devtools protocol} and
234
- * the {@link
235
- * https://chromedevtools.github.io/devtools-protocol/#how-do-i-access-the-browser-target
236
- * | browser endpoint}.
237
- */
238
- wsEndpoint() {
239
- return this._connection.url();
240
- }
241
- /**
242
- * Promise which resolves to a new {@link Page} object. The Page is created in
243
- * a default browser context.
244
- */
245
- async newPage() {
246
- return this._defaultContext.newPage();
247
- }
248
- /**
249
- * @internal
250
- * Used by BrowserContext directly so cannot be marked private.
251
- */
252
- async _createPageInContext(contextId) {
253
- const { targetId } = await this._connection.send('Target.createTarget', {
254
- url: 'about:blank',
255
- browserContextId: contextId || undefined,
256
- });
257
- const target = this._targets.get(targetId);
258
- assert_js_1.assert(await target._initializedPromise, 'Failed to create target for page');
259
- const page = await target.page();
260
- return page;
261
- }
262
- /**
263
- * All active targets inside the Browser. In case of multiple browser contexts, returns
264
- * an array with all the targets in all browser contexts.
265
- */
266
- targets() {
267
- return Array.from(this._targets.values()).filter((target) => target._isInitialized);
268
- }
269
- /**
270
- * The target associated with the browser.
271
- */
272
- target() {
273
- return this.targets().find((target) => target.type() === 'browser');
274
- }
275
- /**
276
- * Searches for a target in all browser contexts.
277
- *
278
- * @param predicate - A function to be run for every target.
279
- * @returns The first target found that matches the `predicate` function.
280
- *
281
- * @example
282
- *
283
- * An example of finding a target for a page opened via `window.open`:
284
- * ```js
285
- * await page.evaluate(() => window.open('https://www.example.com/'));
286
- * const newWindowTarget = await browser.waitForTarget(target => target.url() === 'https://www.example.com/');
287
- * ```
288
- */
289
- async waitForTarget(predicate, options = {}) {
290
- const { timeout = 30000 } = options;
291
- const existingTarget = this.targets().find(predicate);
292
- if (existingTarget)
293
- return existingTarget;
294
- let resolve;
295
- const targetPromise = new Promise((x) => (resolve = x));
296
- this.on("targetcreated" /* TargetCreated */, check);
297
- this.on("targetchanged" /* TargetChanged */, check);
298
- try {
299
- if (!timeout)
300
- return await targetPromise;
301
- return await helper_js_1.helper.waitWithTimeout(targetPromise, 'target', timeout);
302
- }
303
- finally {
304
- this.removeListener("targetcreated" /* TargetCreated */, check);
305
- this.removeListener("targetchanged" /* TargetChanged */, check);
306
- }
307
- function check(target) {
308
- if (predicate(target))
309
- resolve(target);
310
- }
311
- }
312
- /**
313
- * An array of all open pages inside the Browser.
314
- *
315
- * @remarks
316
- *
317
- * In case of multiple browser contexts, returns an array with all the pages in all
318
- * browser contexts. Non-visible pages, such as `"background_page"`, will not be listed
319
- * here. You can find them using {@link Target.page}.
320
- */
321
- async pages() {
322
- const contextPages = await Promise.all(this.browserContexts().map((context) => context.pages()));
323
- // Flatten array.
324
- return contextPages.reduce((acc, x) => acc.concat(x), []);
325
- }
326
- /**
327
- * A string representing the browser name and version.
328
- *
329
- * @remarks
330
- *
331
- * For headless Chromium, this is similar to `HeadlessChrome/61.0.3153.0`. For
332
- * non-headless, this is similar to `Chrome/61.0.3153.0`.
333
- *
334
- * The format of browser.version() might change with future releases of Chromium.
335
- */
336
- async version() {
337
- const version = await this._getVersion();
338
- return version.product;
339
- }
340
- /**
341
- * The browser's original user agent. Pages can override the browser user agent with
342
- * {@link Page.setUserAgent}.
343
- */
344
- async userAgent() {
345
- const version = await this._getVersion();
346
- return version.userAgent;
347
- }
348
- /**
349
- * Closes Chromium and all of its pages (if any were opened). The {@link Browser} object
350
- * itself is considered to be disposed and cannot be used anymore.
351
- */
352
- async close() {
353
- await this._closeCallback.call(null);
354
- this.disconnect();
355
- }
356
- /**
357
- * Disconnects Puppeteer from the browser, but leaves the Chromium process running.
358
- * After calling `disconnect`, the {@link Browser} object is considered disposed and
359
- * cannot be used anymore.
360
- */
361
- disconnect() {
362
- this._connection.dispose();
363
- }
364
- /**
365
- * Indicates that the browser is connected.
366
- */
367
- isConnected() {
368
- return !this._connection._closed;
369
- }
370
- _getVersion() {
371
- return this._connection.send('Browser.getVersion');
372
- }
373
- }
374
- exports.Browser = Browser;
375
- /**
376
- * BrowserContexts provide a way to operate multiple independent browser
377
- * sessions. When a browser is launched, it has a single BrowserContext used by
378
- * default. The method {@link Browser.newPage | Browser.newPage} creates a page
379
- * in the default browser context.
380
- *
381
- * @remarks
382
- *
383
- * The Browser class extends from Puppeteer's {@link EventEmitter} class and
384
- * will emit various events which are documented in the
385
- * {@link BrowserContextEmittedEvents} enum.
386
- *
387
- * If a page opens another page, e.g. with a `window.open` call, the popup will
388
- * belong to the parent page's browser context.
389
- *
390
- * Puppeteer allows creation of "incognito" browser contexts with
391
- * {@link Browser.createIncognitoBrowserContext | Browser.createIncognitoBrowserContext}
392
- * method. "Incognito" browser contexts don't write any browsing data to disk.
393
- *
394
- * @example
395
- * ```js
396
- * // Create a new incognito browser context
397
- * const context = await browser.createIncognitoBrowserContext();
398
- * // Create a new page inside context.
399
- * const page = await context.newPage();
400
- * // ... do stuff with page ...
401
- * await page.goto('https://example.com');
402
- * // Dispose context once it's no longer needed.
403
- * await context.close();
404
- * ```
405
- * @public
406
- */
407
- class BrowserContext extends EventEmitter_js_1.EventEmitter {
408
- /**
409
- * @internal
410
- */
411
- constructor(connection, browser, contextId) {
412
- super();
413
- this._connection = connection;
414
- this._browser = browser;
415
- this._id = contextId;
416
- }
417
- /**
418
- * An array of all active targets inside the browser context.
419
- */
420
- targets() {
421
- return this._browser
422
- .targets()
423
- .filter((target) => target.browserContext() === this);
424
- }
425
- /**
426
- * This searches for a target in this specific browser context.
427
- *
428
- * @example
429
- * An example of finding a target for a page opened via `window.open`:
430
- * ```js
431
- * await page.evaluate(() => window.open('https://www.example.com/'));
432
- * const newWindowTarget = await browserContext.waitForTarget(target => target.url() === 'https://www.example.com/');
433
- * ```
434
- *
435
- * @param predicate - A function to be run for every target
436
- * @param options - An object of options. Accepts a timout,
437
- * which is the maximum wait time in milliseconds.
438
- * Pass `0` to disable the timeout. Defaults to 30 seconds.
439
- * @returns Promise which resolves to the first target found
440
- * that matches the `predicate` function.
441
- */
442
- waitForTarget(predicate, options = {}) {
443
- return this._browser.waitForTarget((target) => target.browserContext() === this && predicate(target), options);
444
- }
445
- /**
446
- * An array of all pages inside the browser context.
447
- *
448
- * @returns Promise which resolves to an array of all open pages.
449
- * Non visible pages, such as `"background_page"`, will not be listed here.
450
- * You can find them using {@link Target.page | the target page}.
451
- */
452
- async pages() {
453
- const pages = await Promise.all(this.targets()
454
- .filter((target) => target.type() === 'page')
455
- .map((target) => target.page()));
456
- return pages.filter((page) => !!page);
457
- }
458
- /**
459
- * Returns whether BrowserContext is incognito.
460
- * The default browser context is the only non-incognito browser context.
461
- *
462
- * @remarks
463
- * The default browser context cannot be closed.
464
- */
465
- isIncognito() {
466
- return !!this._id;
467
- }
468
- /**
469
- * @example
470
- * ```js
471
- * const context = browser.defaultBrowserContext();
472
- * await context.overridePermissions('https://html5demos.com', ['geolocation']);
473
- * ```
474
- *
475
- * @param origin - The origin to grant permissions to, e.g. "https://example.com".
476
- * @param permissions - An array of permissions to grant.
477
- * All permissions that are not listed here will be automatically denied.
478
- */
479
- async overridePermissions(origin, permissions) {
480
- const protocolPermissions = permissions.map((permission) => {
481
- const protocolPermission = WEB_PERMISSION_TO_PROTOCOL_PERMISSION.get(permission);
482
- if (!protocolPermission)
483
- throw new Error('Unknown permission: ' + permission);
484
- return protocolPermission;
485
- });
486
- await this._connection.send('Browser.grantPermissions', {
487
- origin,
488
- browserContextId: this._id || undefined,
489
- permissions: protocolPermissions,
490
- });
491
- }
492
- /**
493
- * Clears all permission overrides for the browser context.
494
- *
495
- * @example
496
- * ```js
497
- * const context = browser.defaultBrowserContext();
498
- * context.overridePermissions('https://example.com', ['clipboard-read']);
499
- * // do stuff ..
500
- * context.clearPermissionOverrides();
501
- * ```
502
- */
503
- async clearPermissionOverrides() {
504
- await this._connection.send('Browser.resetPermissions', {
505
- browserContextId: this._id || undefined,
506
- });
507
- }
508
- /**
509
- * Creates a new page in the browser context.
510
- */
511
- newPage() {
512
- return this._browser._createPageInContext(this._id);
513
- }
514
- /**
515
- * The browser this browser context belongs to.
516
- */
517
- browser() {
518
- return this._browser;
519
- }
520
- /**
521
- * Closes the browser context. All the targets that belong to the browser context
522
- * will be closed.
523
- *
524
- * @remarks
525
- * Only incognito browser contexts can be closed.
526
- */
527
- async close() {
528
- assert_js_1.assert(this._id, 'Non-incognito profiles cannot be closed!');
529
- await this._browser._disposeContext(this._id);
530
- }
531
- }
532
- exports.BrowserContext = BrowserContext;
1
+ "use strict";
2
+ /**
3
+ * Copyright 2017 Google Inc. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.BrowserContext = exports.Browser = void 0;
19
+ const assert_js_1 = require("./assert.js");
20
+ const helper_js_1 = require("./helper.js");
21
+ const Target_js_1 = require("./Target.js");
22
+ const EventEmitter_js_1 = require("./EventEmitter.js");
23
+ const Connection_js_1 = require("./Connection.js");
24
+ const TaskQueue_js_1 = require("./TaskQueue.js");
25
+ const WEB_PERMISSION_TO_PROTOCOL_PERMISSION = new Map([
26
+ ['geolocation', 'geolocation'],
27
+ ['midi', 'midi'],
28
+ ['notifications', 'notifications'],
29
+ // TODO: push isn't a valid type?
30
+ // ['push', 'push'],
31
+ ['camera', 'videoCapture'],
32
+ ['microphone', 'audioCapture'],
33
+ ['background-sync', 'backgroundSync'],
34
+ ['ambient-light-sensor', 'sensors'],
35
+ ['accelerometer', 'sensors'],
36
+ ['gyroscope', 'sensors'],
37
+ ['magnetometer', 'sensors'],
38
+ ['accessibility-events', 'accessibilityEvents'],
39
+ ['clipboard-read', 'clipboardReadWrite'],
40
+ ['clipboard-write', 'clipboardReadWrite'],
41
+ ['payment-handler', 'paymentHandler'],
42
+ ['persistent-storage', 'durableStorage'],
43
+ ['idle-detection', 'idleDetection'],
44
+ // chrome-specific permissions we have.
45
+ ['midi-sysex', 'midiSysex'],
46
+ ]);
47
+ /**
48
+ * A Browser is created when Puppeteer connects to a Chromium instance, either through
49
+ * {@link PuppeteerNode.launch} or {@link Puppeteer.connect}.
50
+ *
51
+ * @remarks
52
+ *
53
+ * The Browser class extends from Puppeteer's {@link EventEmitter} class and will
54
+ * emit various events which are documented in the {@link BrowserEmittedEvents} enum.
55
+ *
56
+ * @example
57
+ *
58
+ * An example of using a {@link Browser} to create a {@link Page}:
59
+ * ```js
60
+ * const puppeteer = require('puppeteer');
61
+ *
62
+ * (async () => {
63
+ * const browser = await puppeteer.launch();
64
+ * const page = await browser.newPage();
65
+ * await page.goto('https://example.com');
66
+ * await browser.close();
67
+ * })();
68
+ * ```
69
+ *
70
+ * @example
71
+ *
72
+ * An example of disconnecting from and reconnecting to a {@link Browser}:
73
+ * ```js
74
+ * const puppeteer = require('puppeteer');
75
+ *
76
+ * (async () => {
77
+ * const browser = await puppeteer.launch();
78
+ * // Store the endpoint to be able to reconnect to Chromium
79
+ * const browserWSEndpoint = browser.wsEndpoint();
80
+ * // Disconnect puppeteer from Chromium
81
+ * browser.disconnect();
82
+ *
83
+ * // Use the endpoint to reestablish a connection
84
+ * const browser2 = await puppeteer.connect({browserWSEndpoint});
85
+ * // Close Chromium
86
+ * await browser2.close();
87
+ * })();
88
+ * ```
89
+ *
90
+ * @public
91
+ */
92
+ class Browser extends EventEmitter_js_1.EventEmitter {
93
+ /**
94
+ * @internal
95
+ */
96
+ constructor(connection, contextIds, ignoreHTTPSErrors, defaultViewport, process, closeCallback, targetFilterCallback) {
97
+ super();
98
+ this._ignoredTargets = new Set();
99
+ this._ignoreHTTPSErrors = ignoreHTTPSErrors;
100
+ this._defaultViewport = defaultViewport;
101
+ this._process = process;
102
+ this._screenshotTaskQueue = new TaskQueue_js_1.TaskQueue();
103
+ this._connection = connection;
104
+ this._closeCallback = closeCallback || function () { };
105
+ this._targetFilterCallback = targetFilterCallback || (() => true);
106
+ this._defaultContext = new BrowserContext(this._connection, this, null);
107
+ this._contexts = new Map();
108
+ for (const contextId of contextIds)
109
+ this._contexts.set(contextId, new BrowserContext(this._connection, this, contextId));
110
+ this._targets = new Map();
111
+ this._connection.on(Connection_js_1.ConnectionEmittedEvents.Disconnected, () => this.emit("disconnected" /* Disconnected */));
112
+ this._connection.on('Target.targetCreated', this._targetCreated.bind(this));
113
+ this._connection.on('Target.targetDestroyed', this._targetDestroyed.bind(this));
114
+ this._connection.on('Target.targetInfoChanged', this._targetInfoChanged.bind(this));
115
+ }
116
+ /**
117
+ * @internal
118
+ */
119
+ static async create(connection, contextIds, ignoreHTTPSErrors, defaultViewport, process, closeCallback, targetFilterCallback) {
120
+ const browser = new Browser(connection, contextIds, ignoreHTTPSErrors, defaultViewport, process, closeCallback, targetFilterCallback);
121
+ await connection.send('Target.setDiscoverTargets', { discover: true });
122
+ return browser;
123
+ }
124
+ /**
125
+ * The spawned browser process. Returns `null` if the browser instance was created with
126
+ * {@link Puppeteer.connect}.
127
+ */
128
+ process() {
129
+ return this._process;
130
+ }
131
+ /**
132
+ * Creates a new incognito browser context. This won't share cookies/cache with other
133
+ * browser contexts.
134
+ *
135
+ * @example
136
+ * ```js
137
+ * (async () => {
138
+ * const browser = await puppeteer.launch();
139
+ * // Create a new incognito browser context.
140
+ * const context = await browser.createIncognitoBrowserContext();
141
+ * // Create a new page in a pristine context.
142
+ * const page = await context.newPage();
143
+ * // Do stuff
144
+ * await page.goto('https://example.com');
145
+ * })();
146
+ * ```
147
+ */
148
+ async createIncognitoBrowserContext(options = {}) {
149
+ const { proxyServer = '', proxyBypassList = [] } = options;
150
+ const { browserContextId } = await this._connection.send('Target.createBrowserContext', {
151
+ proxyServer,
152
+ proxyBypassList: proxyBypassList && proxyBypassList.join(','),
153
+ });
154
+ const context = new BrowserContext(this._connection, this, browserContextId);
155
+ this._contexts.set(browserContextId, context);
156
+ return context;
157
+ }
158
+ /**
159
+ * Returns an array of all open browser contexts. In a newly created browser, this will
160
+ * return a single instance of {@link BrowserContext}.
161
+ */
162
+ browserContexts() {
163
+ return [this._defaultContext, ...Array.from(this._contexts.values())];
164
+ }
165
+ /**
166
+ * Returns the default browser context. The default browser context cannot be closed.
167
+ */
168
+ defaultBrowserContext() {
169
+ return this._defaultContext;
170
+ }
171
+ /**
172
+ * @internal
173
+ * Used by BrowserContext directly so cannot be marked private.
174
+ */
175
+ async _disposeContext(contextId) {
176
+ await this._connection.send('Target.disposeBrowserContext', {
177
+ browserContextId: contextId || undefined,
178
+ });
179
+ this._contexts.delete(contextId);
180
+ }
181
+ async _targetCreated(event) {
182
+ const targetInfo = event.targetInfo;
183
+ const { browserContextId } = targetInfo;
184
+ const context = browserContextId && this._contexts.has(browserContextId)
185
+ ? this._contexts.get(browserContextId)
186
+ : this._defaultContext;
187
+ const shouldAttachToTarget = this._targetFilterCallback(targetInfo);
188
+ if (!shouldAttachToTarget) {
189
+ this._ignoredTargets.add(targetInfo.targetId);
190
+ return;
191
+ }
192
+ const target = new Target_js_1.Target(targetInfo, context, () => this._connection.createSession(targetInfo), this._ignoreHTTPSErrors, this._defaultViewport, this._screenshotTaskQueue);
193
+ (0, assert_js_1.assert)(!this._targets.has(event.targetInfo.targetId), 'Target should not exist before targetCreated');
194
+ this._targets.set(event.targetInfo.targetId, target);
195
+ if (await target._initializedPromise) {
196
+ this.emit("targetcreated" /* TargetCreated */, target);
197
+ context.emit("targetcreated" /* TargetCreated */, target);
198
+ }
199
+ }
200
+ async _targetDestroyed(event) {
201
+ if (this._ignoredTargets.has(event.targetId))
202
+ return;
203
+ const target = this._targets.get(event.targetId);
204
+ target._initializedCallback(false);
205
+ this._targets.delete(event.targetId);
206
+ target._closedCallback();
207
+ if (await target._initializedPromise) {
208
+ this.emit("targetdestroyed" /* TargetDestroyed */, target);
209
+ target
210
+ .browserContext()
211
+ .emit("targetdestroyed" /* TargetDestroyed */, target);
212
+ }
213
+ }
214
+ _targetInfoChanged(event) {
215
+ if (this._ignoredTargets.has(event.targetInfo.targetId))
216
+ return;
217
+ const target = this._targets.get(event.targetInfo.targetId);
218
+ (0, assert_js_1.assert)(target, 'target should exist before targetInfoChanged');
219
+ const previousURL = target.url();
220
+ const wasInitialized = target._isInitialized;
221
+ target._targetInfoChanged(event.targetInfo);
222
+ if (wasInitialized && previousURL !== target.url()) {
223
+ this.emit("targetchanged" /* TargetChanged */, target);
224
+ target
225
+ .browserContext()
226
+ .emit("targetchanged" /* TargetChanged */, target);
227
+ }
228
+ }
229
+ /**
230
+ * The browser websocket endpoint which can be used as an argument to
231
+ * {@link Puppeteer.connect}.
232
+ *
233
+ * @returns The Browser websocket url.
234
+ *
235
+ * @remarks
236
+ *
237
+ * The format is `ws://${host}:${port}/devtools/browser/<id>`.
238
+ *
239
+ * You can find the `webSocketDebuggerUrl` from `http://${host}:${port}/json/version`.
240
+ * Learn more about the
241
+ * {@link https://chromedevtools.github.io/devtools-protocol | devtools protocol} and
242
+ * the {@link
243
+ * https://chromedevtools.github.io/devtools-protocol/#how-do-i-access-the-browser-target
244
+ * | browser endpoint}.
245
+ */
246
+ wsEndpoint() {
247
+ return this._connection.url();
248
+ }
249
+ /**
250
+ * Promise which resolves to a new {@link Page} object. The Page is created in
251
+ * a default browser context.
252
+ */
253
+ async newPage() {
254
+ return this._defaultContext.newPage();
255
+ }
256
+ /**
257
+ * @internal
258
+ * Used by BrowserContext directly so cannot be marked private.
259
+ */
260
+ async _createPageInContext(contextId) {
261
+ const { targetId } = await this._connection.send('Target.createTarget', {
262
+ url: 'about:blank',
263
+ browserContextId: contextId || undefined,
264
+ });
265
+ const target = this._targets.get(targetId);
266
+ (0, assert_js_1.assert)(await target._initializedPromise, 'Failed to create target for page');
267
+ const page = await target.page();
268
+ return page;
269
+ }
270
+ /**
271
+ * All active targets inside the Browser. In case of multiple browser contexts, returns
272
+ * an array with all the targets in all browser contexts.
273
+ */
274
+ targets() {
275
+ return Array.from(this._targets.values()).filter((target) => target._isInitialized);
276
+ }
277
+ /**
278
+ * The target associated with the browser.
279
+ */
280
+ target() {
281
+ return this.targets().find((target) => target.type() === 'browser');
282
+ }
283
+ /**
284
+ * Searches for a target in all browser contexts.
285
+ *
286
+ * @param predicate - A function to be run for every target.
287
+ * @returns The first target found that matches the `predicate` function.
288
+ *
289
+ * @example
290
+ *
291
+ * An example of finding a target for a page opened via `window.open`:
292
+ * ```js
293
+ * await page.evaluate(() => window.open('https://www.example.com/'));
294
+ * const newWindowTarget = await browser.waitForTarget(target => target.url() === 'https://www.example.com/');
295
+ * ```
296
+ */
297
+ async waitForTarget(predicate, options = {}) {
298
+ const { timeout = 30000 } = options;
299
+ const existingTarget = this.targets().find(predicate);
300
+ if (existingTarget)
301
+ return existingTarget;
302
+ let resolve;
303
+ const targetPromise = new Promise((x) => (resolve = x));
304
+ this.on("targetcreated" /* TargetCreated */, check);
305
+ this.on("targetchanged" /* TargetChanged */, check);
306
+ try {
307
+ if (!timeout)
308
+ return await targetPromise;
309
+ return await helper_js_1.helper.waitWithTimeout(targetPromise, 'target', timeout);
310
+ }
311
+ finally {
312
+ this.removeListener("targetcreated" /* TargetCreated */, check);
313
+ this.removeListener("targetchanged" /* TargetChanged */, check);
314
+ }
315
+ function check(target) {
316
+ if (predicate(target))
317
+ resolve(target);
318
+ }
319
+ }
320
+ /**
321
+ * An array of all open pages inside the Browser.
322
+ *
323
+ * @remarks
324
+ *
325
+ * In case of multiple browser contexts, returns an array with all the pages in all
326
+ * browser contexts. Non-visible pages, such as `"background_page"`, will not be listed
327
+ * here. You can find them using {@link Target.page}.
328
+ */
329
+ async pages() {
330
+ const contextPages = await Promise.all(this.browserContexts().map((context) => context.pages()));
331
+ // Flatten array.
332
+ return contextPages.reduce((acc, x) => acc.concat(x), []);
333
+ }
334
+ /**
335
+ * A string representing the browser name and version.
336
+ *
337
+ * @remarks
338
+ *
339
+ * For headless Chromium, this is similar to `HeadlessChrome/61.0.3153.0`. For
340
+ * non-headless, this is similar to `Chrome/61.0.3153.0`.
341
+ *
342
+ * The format of browser.version() might change with future releases of Chromium.
343
+ */
344
+ async version() {
345
+ const version = await this._getVersion();
346
+ return version.product;
347
+ }
348
+ /**
349
+ * The browser's original user agent. Pages can override the browser user agent with
350
+ * {@link Page.setUserAgent}.
351
+ */
352
+ async userAgent() {
353
+ const version = await this._getVersion();
354
+ return version.userAgent;
355
+ }
356
+ /**
357
+ * Closes Chromium and all of its pages (if any were opened). The {@link Browser} object
358
+ * itself is considered to be disposed and cannot be used anymore.
359
+ */
360
+ async close() {
361
+ await this._closeCallback.call(null);
362
+ this.disconnect();
363
+ }
364
+ /**
365
+ * Disconnects Puppeteer from the browser, but leaves the Chromium process running.
366
+ * After calling `disconnect`, the {@link Browser} object is considered disposed and
367
+ * cannot be used anymore.
368
+ */
369
+ disconnect() {
370
+ this._connection.dispose();
371
+ }
372
+ /**
373
+ * Indicates that the browser is connected.
374
+ */
375
+ isConnected() {
376
+ return !this._connection._closed;
377
+ }
378
+ _getVersion() {
379
+ return this._connection.send('Browser.getVersion');
380
+ }
381
+ }
382
+ exports.Browser = Browser;
383
+ /**
384
+ * BrowserContexts provide a way to operate multiple independent browser
385
+ * sessions. When a browser is launched, it has a single BrowserContext used by
386
+ * default. The method {@link Browser.newPage | Browser.newPage} creates a page
387
+ * in the default browser context.
388
+ *
389
+ * @remarks
390
+ *
391
+ * The Browser class extends from Puppeteer's {@link EventEmitter} class and
392
+ * will emit various events which are documented in the
393
+ * {@link BrowserContextEmittedEvents} enum.
394
+ *
395
+ * If a page opens another page, e.g. with a `window.open` call, the popup will
396
+ * belong to the parent page's browser context.
397
+ *
398
+ * Puppeteer allows creation of "incognito" browser contexts with
399
+ * {@link Browser.createIncognitoBrowserContext | Browser.createIncognitoBrowserContext}
400
+ * method. "Incognito" browser contexts don't write any browsing data to disk.
401
+ *
402
+ * @example
403
+ * ```js
404
+ * // Create a new incognito browser context
405
+ * const context = await browser.createIncognitoBrowserContext();
406
+ * // Create a new page inside context.
407
+ * const page = await context.newPage();
408
+ * // ... do stuff with page ...
409
+ * await page.goto('https://example.com');
410
+ * // Dispose context once it's no longer needed.
411
+ * await context.close();
412
+ * ```
413
+ * @public
414
+ */
415
+ class BrowserContext extends EventEmitter_js_1.EventEmitter {
416
+ /**
417
+ * @internal
418
+ */
419
+ constructor(connection, browser, contextId) {
420
+ super();
421
+ this._connection = connection;
422
+ this._browser = browser;
423
+ this._id = contextId;
424
+ }
425
+ /**
426
+ * An array of all active targets inside the browser context.
427
+ */
428
+ targets() {
429
+ return this._browser
430
+ .targets()
431
+ .filter((target) => target.browserContext() === this);
432
+ }
433
+ /**
434
+ * This searches for a target in this specific browser context.
435
+ *
436
+ * @example
437
+ * An example of finding a target for a page opened via `window.open`:
438
+ * ```js
439
+ * await page.evaluate(() => window.open('https://www.example.com/'));
440
+ * const newWindowTarget = await browserContext.waitForTarget(target => target.url() === 'https://www.example.com/');
441
+ * ```
442
+ *
443
+ * @param predicate - A function to be run for every target
444
+ * @param options - An object of options. Accepts a timout,
445
+ * which is the maximum wait time in milliseconds.
446
+ * Pass `0` to disable the timeout. Defaults to 30 seconds.
447
+ * @returns Promise which resolves to the first target found
448
+ * that matches the `predicate` function.
449
+ */
450
+ waitForTarget(predicate, options = {}) {
451
+ return this._browser.waitForTarget((target) => target.browserContext() === this && predicate(target), options);
452
+ }
453
+ /**
454
+ * An array of all pages inside the browser context.
455
+ *
456
+ * @returns Promise which resolves to an array of all open pages.
457
+ * Non visible pages, such as `"background_page"`, will not be listed here.
458
+ * You can find them using {@link Target.page | the target page}.
459
+ */
460
+ async pages() {
461
+ const pages = await Promise.all(this.targets()
462
+ .filter((target) => target.type() === 'page')
463
+ .map((target) => target.page()));
464
+ return pages.filter((page) => !!page);
465
+ }
466
+ /**
467
+ * Returns whether BrowserContext is incognito.
468
+ * The default browser context is the only non-incognito browser context.
469
+ *
470
+ * @remarks
471
+ * The default browser context cannot be closed.
472
+ */
473
+ isIncognito() {
474
+ return !!this._id;
475
+ }
476
+ /**
477
+ * @example
478
+ * ```js
479
+ * const context = browser.defaultBrowserContext();
480
+ * await context.overridePermissions('https://html5demos.com', ['geolocation']);
481
+ * ```
482
+ *
483
+ * @param origin - The origin to grant permissions to, e.g. "https://example.com".
484
+ * @param permissions - An array of permissions to grant.
485
+ * All permissions that are not listed here will be automatically denied.
486
+ */
487
+ async overridePermissions(origin, permissions) {
488
+ const protocolPermissions = permissions.map((permission) => {
489
+ const protocolPermission = WEB_PERMISSION_TO_PROTOCOL_PERMISSION.get(permission);
490
+ if (!protocolPermission)
491
+ throw new Error('Unknown permission: ' + permission);
492
+ return protocolPermission;
493
+ });
494
+ await this._connection.send('Browser.grantPermissions', {
495
+ origin,
496
+ browserContextId: this._id || undefined,
497
+ permissions: protocolPermissions,
498
+ });
499
+ }
500
+ /**
501
+ * Clears all permission overrides for the browser context.
502
+ *
503
+ * @example
504
+ * ```js
505
+ * const context = browser.defaultBrowserContext();
506
+ * context.overridePermissions('https://example.com', ['clipboard-read']);
507
+ * // do stuff ..
508
+ * context.clearPermissionOverrides();
509
+ * ```
510
+ */
511
+ async clearPermissionOverrides() {
512
+ await this._connection.send('Browser.resetPermissions', {
513
+ browserContextId: this._id || undefined,
514
+ });
515
+ }
516
+ /**
517
+ * Creates a new page in the browser context.
518
+ */
519
+ newPage() {
520
+ return this._browser._createPageInContext(this._id);
521
+ }
522
+ /**
523
+ * The browser this browser context belongs to.
524
+ */
525
+ browser() {
526
+ return this._browser;
527
+ }
528
+ /**
529
+ * Closes the browser context. All the targets that belong to the browser context
530
+ * will be closed.
531
+ *
532
+ * @remarks
533
+ * Only incognito browser contexts can be closed.
534
+ */
535
+ async close() {
536
+ (0, assert_js_1.assert)(this._id, 'Non-incognito profiles cannot be closed!');
537
+ await this._browser._disposeContext(this._id);
538
+ }
539
+ }
540
+ exports.BrowserContext = BrowserContext;
533
541
  //# sourceMappingURL=Browser.js.map