isomorfeus-puppetmaster 0.5.5 → 0.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (710) hide show
  1. checksums.yaml +4 -4
  2. data/lib/isomorfeus/puppetmaster/console_message.rb +18 -18
  3. data/lib/isomorfeus/puppetmaster/cookie.rb +46 -46
  4. data/lib/isomorfeus/puppetmaster/driver/puppeteer.rb +413 -415
  5. data/lib/isomorfeus/puppetmaster/driver/puppeteer_document.rb +953 -953
  6. data/lib/isomorfeus/puppetmaster/driver/puppeteer_node.rb +851 -851
  7. data/lib/isomorfeus/puppetmaster/errors.rb +90 -90
  8. data/lib/isomorfeus/puppetmaster/iframe.rb +16 -16
  9. data/lib/isomorfeus/puppetmaster/node/content_editable.rb +17 -17
  10. data/lib/isomorfeus/puppetmaster/node/input.rb +20 -20
  11. data/lib/isomorfeus/puppetmaster/node/select.rb +35 -35
  12. data/lib/isomorfeus/puppetmaster/node.rb +279 -279
  13. data/lib/isomorfeus/puppetmaster/request.rb +16 -16
  14. data/lib/isomorfeus/puppetmaster/response.rb +25 -25
  15. data/lib/isomorfeus/puppetmaster/self_forwardable.rb +38 -38
  16. data/lib/isomorfeus/puppetmaster/version.rb +3 -3
  17. data/lib/isomorfeus/puppetmaster.rb +85 -85
  18. data/lib/isomorfeus-puppetmaster.rb +1 -0
  19. data/node_modules/.bin/extract-zip +12 -12
  20. data/node_modules/.bin/extract-zip.ps1 +28 -28
  21. data/node_modules/.bin/rimraf +12 -12
  22. data/node_modules/.bin/rimraf.ps1 +28 -28
  23. data/node_modules/.package-lock.json +530 -585
  24. data/node_modules/@types/node/LICENSE +21 -21
  25. data/node_modules/@types/node/assert/strict.d.ts +8 -8
  26. data/node_modules/@types/node/assert.d.ts +912 -912
  27. data/node_modules/@types/node/async_hooks.d.ts +497 -497
  28. data/node_modules/@types/node/buffer.d.ts +2142 -2142
  29. data/node_modules/@types/node/child_process.d.ts +1355 -1355
  30. data/node_modules/@types/node/cluster.d.ts +414 -414
  31. data/node_modules/@types/node/console.d.ts +407 -407
  32. data/node_modules/@types/node/constants.d.ts +18 -18
  33. data/node_modules/@types/node/crypto.d.ts +3224 -3224
  34. data/node_modules/@types/node/dgram.d.ts +545 -545
  35. data/node_modules/@types/node/diagnostics_channel.d.ts +128 -128
  36. data/node_modules/@types/node/dns/promises.d.ts +357 -357
  37. data/node_modules/@types/node/dns.d.ts +643 -643
  38. data/node_modules/@types/node/domain.d.ts +169 -169
  39. data/node_modules/@types/node/events.d.ts +623 -623
  40. data/node_modules/@types/node/fs/promises.d.ts +997 -997
  41. data/node_modules/@types/node/fs.d.ts +3723 -3723
  42. data/node_modules/@types/node/globals.d.ts +285 -285
  43. data/node_modules/@types/node/globals.global.d.ts +1 -1
  44. data/node_modules/@types/node/http.d.ts +1358 -1358
  45. data/node_modules/@types/node/http2.d.ts +2100 -2100
  46. data/node_modules/@types/node/https.d.ts +391 -391
  47. data/node_modules/@types/node/index.d.ts +131 -131
  48. data/node_modules/@types/node/inspector.d.ts +2738 -2738
  49. data/node_modules/@types/node/module.d.ts +114 -114
  50. data/node_modules/@types/node/net.d.ts +783 -783
  51. data/node_modules/@types/node/os.d.ts +455 -455
  52. data/node_modules/@types/node/package.json +229 -229
  53. data/node_modules/@types/node/path.d.ts +172 -172
  54. data/node_modules/@types/node/perf_hooks.d.ts +555 -555
  55. data/node_modules/@types/node/process.d.ts +1477 -1477
  56. data/node_modules/@types/node/punycode.d.ts +117 -117
  57. data/node_modules/@types/node/querystring.d.ts +131 -131
  58. data/node_modules/@types/node/readline.d.ts +542 -542
  59. data/node_modules/@types/node/repl.d.ts +424 -424
  60. data/node_modules/@types/node/stream/consumers.d.ts +24 -24
  61. data/node_modules/@types/node/stream/promises.d.ts +42 -42
  62. data/node_modules/@types/node/stream/web.d.ts +6 -6
  63. data/node_modules/@types/node/stream.d.ts +1181 -1181
  64. data/node_modules/@types/node/string_decoder.d.ts +67 -67
  65. data/node_modules/@types/node/timers/promises.d.ts +68 -68
  66. data/node_modules/@types/node/timers.d.ts +94 -94
  67. data/node_modules/@types/node/tls.d.ts +1019 -1019
  68. data/node_modules/@types/node/trace_events.d.ts +161 -161
  69. data/node_modules/@types/node/tty.d.ts +206 -206
  70. data/node_modules/@types/node/url.d.ts +798 -798
  71. data/node_modules/@types/node/util.d.ts +1556 -1556
  72. data/node_modules/@types/node/v8.d.ts +378 -378
  73. data/node_modules/@types/node/vm.d.ts +504 -504
  74. data/node_modules/@types/node/wasi.d.ts +153 -153
  75. data/node_modules/@types/node/worker_threads.d.ts +649 -649
  76. data/node_modules/@types/node/zlib.d.ts +517 -517
  77. data/node_modules/@types/yauzl/LICENSE +21 -21
  78. data/node_modules/@types/yauzl/index.d.ts +98 -98
  79. data/node_modules/@types/yauzl/package.json +26 -26
  80. data/node_modules/agent-base/README.md +145 -145
  81. data/node_modules/agent-base/dist/src/index.d.ts +78 -78
  82. data/node_modules/agent-base/dist/src/index.js +202 -202
  83. data/node_modules/agent-base/dist/src/promisify.d.ts +4 -4
  84. data/node_modules/agent-base/dist/src/promisify.js +17 -17
  85. data/node_modules/agent-base/package.json +64 -64
  86. data/node_modules/agent-base/src/index.ts +345 -345
  87. data/node_modules/agent-base/src/promisify.ts +33 -33
  88. data/node_modules/balanced-match/.github/FUNDING.yml +2 -2
  89. data/node_modules/balanced-match/LICENSE.md +21 -21
  90. data/node_modules/balanced-match/README.md +97 -97
  91. data/node_modules/balanced-match/index.js +62 -62
  92. data/node_modules/balanced-match/package.json +48 -48
  93. data/node_modules/base64-js/LICENSE +21 -21
  94. data/node_modules/base64-js/README.md +34 -34
  95. data/node_modules/base64-js/index.d.ts +3 -3
  96. data/node_modules/base64-js/index.js +150 -150
  97. data/node_modules/base64-js/package.json +47 -47
  98. data/node_modules/bl/.travis.yml +17 -17
  99. data/node_modules/bl/BufferList.js +396 -396
  100. data/node_modules/bl/LICENSE.md +13 -13
  101. data/node_modules/bl/README.md +247 -247
  102. data/node_modules/bl/bl.js +84 -84
  103. data/node_modules/bl/package.json +37 -37
  104. data/node_modules/bl/test/convert.js +21 -21
  105. data/node_modules/bl/test/indexOf.js +492 -492
  106. data/node_modules/bl/test/isBufferList.js +32 -32
  107. data/node_modules/bl/test/test.js +869 -869
  108. data/node_modules/brace-expansion/LICENSE +21 -21
  109. data/node_modules/brace-expansion/README.md +129 -129
  110. data/node_modules/brace-expansion/index.js +201 -201
  111. data/node_modules/brace-expansion/package.json +47 -47
  112. data/node_modules/buffer/AUTHORS.md +70 -70
  113. data/node_modules/buffer/LICENSE +21 -21
  114. data/node_modules/buffer/README.md +410 -410
  115. data/node_modules/buffer/index.d.ts +186 -186
  116. data/node_modules/buffer/index.js +1817 -1817
  117. data/node_modules/buffer/package.json +96 -96
  118. data/node_modules/buffer-crc32/LICENSE +19 -19
  119. data/node_modules/buffer-crc32/README.md +47 -47
  120. data/node_modules/buffer-crc32/index.js +111 -111
  121. data/node_modules/buffer-crc32/package.json +39 -39
  122. data/node_modules/chownr/LICENSE +15 -15
  123. data/node_modules/chownr/README.md +3 -3
  124. data/node_modules/chownr/chownr.js +167 -167
  125. data/node_modules/chownr/package.json +29 -29
  126. data/node_modules/concat-map/.travis.yml +4 -4
  127. data/node_modules/concat-map/LICENSE +18 -18
  128. data/node_modules/concat-map/README.markdown +62 -62
  129. data/node_modules/concat-map/example/map.js +6 -6
  130. data/node_modules/concat-map/index.js +13 -13
  131. data/node_modules/concat-map/package.json +43 -43
  132. data/node_modules/concat-map/test/map.js +39 -39
  133. data/node_modules/debug/LICENSE +19 -19
  134. data/node_modules/debug/README.md +455 -455
  135. data/node_modules/debug/package.json +59 -59
  136. data/node_modules/debug/src/browser.js +269 -269
  137. data/node_modules/debug/src/common.js +274 -274
  138. data/node_modules/debug/src/index.js +10 -10
  139. data/node_modules/debug/src/node.js +263 -263
  140. data/node_modules/devtools-protocol/LICENSE +27 -27
  141. data/node_modules/devtools-protocol/README.md +12 -12
  142. data/node_modules/devtools-protocol/json/browser_protocol.json +20985 -20640
  143. data/node_modules/devtools-protocol/json/js_protocol.json +3531 -3580
  144. data/node_modules/devtools-protocol/package.json +17 -18
  145. data/node_modules/devtools-protocol/pdl/browser_protocol.pdl +9849 -9637
  146. data/node_modules/devtools-protocol/pdl/js_protocol.pdl +1653 -1678
  147. data/node_modules/devtools-protocol/types/protocol-mapping.d.ts +4333 -4321
  148. data/node_modules/devtools-protocol/types/protocol-proxy-api.d.ts +3695 -3683
  149. data/node_modules/devtools-protocol/types/protocol.d.ts +15714 -15538
  150. data/node_modules/end-of-stream/LICENSE +20 -20
  151. data/node_modules/end-of-stream/README.md +54 -54
  152. data/node_modules/end-of-stream/index.js +94 -94
  153. data/node_modules/end-of-stream/package.json +37 -37
  154. data/node_modules/extract-zip/LICENSE +23 -23
  155. data/node_modules/extract-zip/cli.js +19 -19
  156. data/node_modules/extract-zip/index.d.ts +21 -21
  157. data/node_modules/extract-zip/index.js +173 -173
  158. data/node_modules/extract-zip/package.json +80 -80
  159. data/node_modules/extract-zip/readme.md +57 -57
  160. data/node_modules/fd-slicer/.npmignore +2 -2
  161. data/node_modules/fd-slicer/.travis.yml +7 -7
  162. data/node_modules/fd-slicer/CHANGELOG.md +49 -49
  163. data/node_modules/fd-slicer/LICENSE +21 -21
  164. data/node_modules/fd-slicer/README.md +199 -199
  165. data/node_modules/fd-slicer/index.js +296 -296
  166. data/node_modules/fd-slicer/package.json +36 -36
  167. data/node_modules/fd-slicer/test/test.js +350 -350
  168. data/node_modules/find-up/index.d.ts +137 -137
  169. data/node_modules/find-up/index.js +89 -89
  170. data/node_modules/find-up/license +9 -9
  171. data/node_modules/find-up/package.json +53 -53
  172. data/node_modules/find-up/readme.md +156 -156
  173. data/node_modules/fs-constants/LICENSE +21 -21
  174. data/node_modules/fs-constants/README.md +26 -26
  175. data/node_modules/fs-constants/browser.js +1 -1
  176. data/node_modules/fs-constants/index.js +1 -1
  177. data/node_modules/fs-constants/package.json +19 -19
  178. data/node_modules/fs.realpath/LICENSE +43 -43
  179. data/node_modules/fs.realpath/README.md +33 -33
  180. data/node_modules/fs.realpath/index.js +66 -66
  181. data/node_modules/fs.realpath/old.js +303 -303
  182. data/node_modules/fs.realpath/package.json +26 -26
  183. data/node_modules/get-stream/buffer-stream.js +52 -52
  184. data/node_modules/get-stream/index.d.ts +108 -108
  185. data/node_modules/get-stream/index.js +60 -60
  186. data/node_modules/get-stream/license +9 -9
  187. data/node_modules/get-stream/package.json +50 -50
  188. data/node_modules/get-stream/readme.md +124 -124
  189. data/node_modules/glob/LICENSE +21 -21
  190. data/node_modules/glob/README.md +375 -375
  191. data/node_modules/glob/changelog.md +67 -67
  192. data/node_modules/glob/common.js +234 -234
  193. data/node_modules/glob/glob.js +788 -788
  194. data/node_modules/glob/package.json +51 -51
  195. data/node_modules/glob/sync.js +484 -484
  196. data/node_modules/https-proxy-agent/README.md +137 -137
  197. data/node_modules/https-proxy-agent/dist/agent.d.ts +30 -30
  198. data/node_modules/https-proxy-agent/dist/agent.js +179 -179
  199. data/node_modules/https-proxy-agent/dist/index.d.ts +23 -23
  200. data/node_modules/https-proxy-agent/dist/index.js +13 -13
  201. data/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +7 -7
  202. data/node_modules/https-proxy-agent/dist/parse-proxy-response.js +65 -65
  203. data/node_modules/https-proxy-agent/package.json +56 -56
  204. data/node_modules/ieee754/LICENSE +11 -11
  205. data/node_modules/ieee754/README.md +51 -51
  206. data/node_modules/ieee754/index.d.ts +9 -9
  207. data/node_modules/ieee754/index.js +85 -85
  208. data/node_modules/ieee754/package.json +52 -52
  209. data/node_modules/inflight/LICENSE +15 -15
  210. data/node_modules/inflight/README.md +37 -37
  211. data/node_modules/inflight/inflight.js +54 -54
  212. data/node_modules/inflight/package.json +29 -29
  213. data/node_modules/inherits/LICENSE +16 -16
  214. data/node_modules/inherits/README.md +42 -42
  215. data/node_modules/inherits/inherits.js +9 -9
  216. data/node_modules/inherits/inherits_browser.js +27 -27
  217. data/node_modules/inherits/package.json +29 -29
  218. data/node_modules/locate-path/index.d.ts +83 -83
  219. data/node_modules/locate-path/index.js +65 -65
  220. data/node_modules/locate-path/license +9 -9
  221. data/node_modules/locate-path/package.json +45 -45
  222. data/node_modules/locate-path/readme.md +122 -122
  223. data/node_modules/minimatch/LICENSE +15 -15
  224. data/node_modules/minimatch/README.md +209 -209
  225. data/node_modules/minimatch/minimatch.js +923 -923
  226. data/node_modules/minimatch/package.json +30 -30
  227. data/node_modules/mkdirp-classic/LICENSE +21 -21
  228. data/node_modules/mkdirp-classic/README.md +18 -18
  229. data/node_modules/mkdirp-classic/index.js +98 -98
  230. data/node_modules/mkdirp-classic/package.json +18 -18
  231. data/node_modules/ms/index.js +162 -162
  232. data/node_modules/ms/license.md +21 -21
  233. data/node_modules/ms/package.json +37 -37
  234. data/node_modules/ms/readme.md +60 -60
  235. data/node_modules/node-fetch/LICENSE.md +22 -22
  236. data/node_modules/node-fetch/README.md +590 -590
  237. data/node_modules/node-fetch/browser.js +24 -24
  238. data/node_modules/node-fetch/lib/index.es.js +1662 -1662
  239. data/node_modules/node-fetch/lib/index.js +1671 -1671
  240. data/node_modules/node-fetch/lib/index.mjs +1660 -1660
  241. data/node_modules/node-fetch/package.json +68 -68
  242. data/node_modules/once/LICENSE +15 -15
  243. data/node_modules/once/README.md +79 -79
  244. data/node_modules/once/once.js +42 -42
  245. data/node_modules/once/package.json +33 -33
  246. data/node_modules/p-limit/index.d.ts +38 -38
  247. data/node_modules/p-limit/index.js +57 -57
  248. data/node_modules/p-limit/license +9 -9
  249. data/node_modules/p-limit/package.json +52 -52
  250. data/node_modules/p-limit/readme.md +101 -101
  251. data/node_modules/p-locate/index.d.ts +64 -64
  252. data/node_modules/p-locate/index.js +52 -52
  253. data/node_modules/p-locate/license +9 -9
  254. data/node_modules/p-locate/package.json +53 -53
  255. data/node_modules/p-locate/readme.md +90 -90
  256. data/node_modules/p-try/index.d.ts +39 -39
  257. data/node_modules/p-try/index.js +9 -9
  258. data/node_modules/p-try/license +9 -9
  259. data/node_modules/p-try/package.json +42 -42
  260. data/node_modules/p-try/readme.md +58 -58
  261. data/node_modules/path-exists/index.d.ts +28 -28
  262. data/node_modules/path-exists/index.js +23 -23
  263. data/node_modules/path-exists/license +9 -9
  264. data/node_modules/path-exists/package.json +39 -39
  265. data/node_modules/path-exists/readme.md +52 -52
  266. data/node_modules/path-is-absolute/index.js +20 -20
  267. data/node_modules/path-is-absolute/license +21 -21
  268. data/node_modules/path-is-absolute/package.json +43 -43
  269. data/node_modules/path-is-absolute/readme.md +59 -59
  270. data/node_modules/pend/LICENSE +23 -23
  271. data/node_modules/pend/README.md +41 -41
  272. data/node_modules/pend/index.js +55 -55
  273. data/node_modules/pend/package.json +18 -18
  274. data/node_modules/pend/test.js +137 -137
  275. data/node_modules/pkg-dir/index.d.ts +44 -44
  276. data/node_modules/pkg-dir/index.js +17 -17
  277. data/node_modules/pkg-dir/license +9 -9
  278. data/node_modules/pkg-dir/package.json +56 -56
  279. data/node_modules/pkg-dir/readme.md +66 -66
  280. data/node_modules/progress/CHANGELOG.md +115 -115
  281. data/node_modules/progress/LICENSE +22 -22
  282. data/node_modules/progress/Makefile +8 -8
  283. data/node_modules/progress/Readme.md +146 -146
  284. data/node_modules/progress/index.js +1 -1
  285. data/node_modules/progress/lib/node-progress.js +236 -236
  286. data/node_modules/progress/package.json +26 -26
  287. data/node_modules/proxy-from-env/.eslintrc +29 -29
  288. data/node_modules/proxy-from-env/.travis.yml +10 -10
  289. data/node_modules/proxy-from-env/LICENSE +20 -20
  290. data/node_modules/proxy-from-env/README.md +131 -131
  291. data/node_modules/proxy-from-env/index.js +108 -108
  292. data/node_modules/proxy-from-env/package.json +34 -34
  293. data/node_modules/proxy-from-env/test.js +483 -483
  294. data/node_modules/pump/.travis.yml +5 -5
  295. data/node_modules/pump/LICENSE +20 -20
  296. data/node_modules/pump/README.md +65 -65
  297. data/node_modules/pump/index.js +82 -82
  298. data/node_modules/pump/package.json +24 -24
  299. data/node_modules/pump/test-browser.js +66 -66
  300. data/node_modules/pump/test-node.js +53 -53
  301. data/node_modules/puppeteer-core/CHANGELOG.md +319 -290
  302. data/node_modules/puppeteer-core/LICENSE +202 -202
  303. data/node_modules/puppeteer-core/README.md +481 -481
  304. data/node_modules/puppeteer-core/cjs-entry-core.js +29 -29
  305. data/node_modules/puppeteer-core/cjs-entry.js +29 -29
  306. data/node_modules/puppeteer-core/install.js +89 -89
  307. data/node_modules/puppeteer-core/lib/cjs/puppeteer/api-docs-entry.d.ts +110 -110
  308. data/node_modules/puppeteer-core/lib/cjs/puppeteer/api-docs-entry.js +80 -80
  309. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.d.ts +175 -175
  310. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js +360 -360
  311. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.d.ts +20 -20
  312. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js +84 -84
  313. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js.map +1 -1
  314. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.d.ts +455 -455
  315. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js +540 -540
  316. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserConnector.d.ts +53 -53
  317. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserConnector.js +97 -97
  318. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserWebSocketTransport.d.ts +25 -25
  319. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserWebSocketTransport.js +34 -34
  320. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.d.ts +135 -135
  321. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js +298 -298
  322. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConnectionTransport.d.ts +24 -24
  323. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConnectionTransport.js +17 -17
  324. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConsoleMessage.d.ts +72 -72
  325. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConsoleMessage.js +64 -64
  326. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.d.ts +204 -204
  327. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.js +335 -335
  328. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DOMWorld.d.ts +175 -175
  329. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DOMWorld.js +662 -662
  330. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Debug.d.ts +52 -52
  331. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Debug.js +81 -81
  332. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceDescriptors.d.ts +40 -40
  333. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceDescriptors.js +1070 -1070
  334. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.d.ts +74 -74
  335. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.js +97 -97
  336. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EmulationManager.d.ts +24 -24
  337. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EmulationManager.js +37 -37
  338. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.d.ts +50 -50
  339. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.js +56 -56
  340. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EvalTypes.d.ts +60 -60
  341. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EvalTypes.js +17 -17
  342. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.d.ts +92 -92
  343. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.js +116 -116
  344. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Events.d.ts +81 -81
  345. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Events.js +86 -86
  346. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.d.ts +193 -193
  347. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.js +321 -321
  348. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.d.ts +58 -58
  349. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.js +71 -71
  350. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.d.ts +744 -744
  351. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js +1047 -1047
  352. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js.map +1 -1
  353. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.d.ts +350 -345
  354. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  355. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.js +549 -549
  356. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.js.map +1 -1
  357. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.d.ts +134 -125
  358. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.d.ts.map +1 -1
  359. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.js +184 -164
  360. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.js.map +1 -1
  361. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.d.ts +358 -358
  362. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.js +543 -543
  363. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.d.ts +490 -490
  364. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.js +827 -827
  365. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.d.ts +65 -65
  366. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.d.ts.map +1 -1
  367. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js +149 -148
  368. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js.map +1 -1
  369. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkConditions.d.ts +26 -26
  370. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkConditions.js +33 -33
  371. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.d.ts +126 -97
  372. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.d.ts.map +1 -1
  373. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js +467 -342
  374. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js.map +1 -1
  375. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PDFOptions.d.ts +161 -161
  376. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PDFOptions.js +34 -34
  377. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.d.ts +2055 -2055
  378. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js +2533 -2533
  379. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Product.d.ts +20 -20
  380. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Product.js +17 -17
  381. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.d.ts +159 -159
  382. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.js +161 -161
  383. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PuppeteerViewport.d.ts +51 -51
  384. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PuppeteerViewport.js +2 -2
  385. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/QueryHandler.d.ts +64 -64
  386. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/QueryHandler.js +165 -165
  387. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/SecurityDetails.d.ts +60 -60
  388. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/SecurityDetails.js +76 -76
  389. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.d.ts +100 -100
  390. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.js +145 -145
  391. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.d.ts +20 -20
  392. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.js +29 -29
  393. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TimeoutSettings.d.ts +27 -27
  394. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TimeoutSettings.js +47 -47
  395. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.d.ts +46 -46
  396. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.js +109 -109
  397. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/USKeyboardLayout.d.ts +39 -39
  398. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/USKeyboardLayout.js +406 -406
  399. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WebWorker.d.ts +98 -98
  400. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WebWorker.js +112 -112
  401. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/assert.d.ts +22 -22
  402. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/assert.js +33 -33
  403. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/fetch.d.ts +16 -16
  404. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/fetch.js +43 -43
  405. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/helper.d.ts +84 -84
  406. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/helper.js +327 -327
  407. data/node_modules/puppeteer-core/lib/cjs/puppeteer/environment.d.ts +16 -16
  408. data/node_modules/puppeteer-core/lib/cjs/puppeteer/environment.js +19 -19
  409. data/node_modules/puppeteer-core/lib/cjs/puppeteer/global.d.ts +16 -16
  410. data/node_modules/puppeteer-core/lib/cjs/puppeteer/global.js +2 -2
  411. data/node_modules/puppeteer-core/lib/cjs/puppeteer/initialize-node.d.ts +17 -17
  412. data/node_modules/puppeteer-core/lib/cjs/puppeteer/initialize-node.js +44 -44
  413. data/node_modules/puppeteer-core/lib/cjs/puppeteer/initialize-web.d.ts +17 -17
  414. data/node_modules/puppeteer-core/lib/cjs/puppeteer/initialize-web.js +26 -26
  415. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserFetcher.d.ts +133 -133
  416. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserFetcher.js +500 -500
  417. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.d.ts +40 -39
  418. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.d.ts.map +1 -1
  419. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js +256 -230
  420. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js.map +1 -1
  421. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/LaunchOptions.d.ts +134 -134
  422. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/LaunchOptions.js +17 -17
  423. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.d.ts +16 -16
  424. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.d.ts.map +1 -1
  425. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.js +655 -588
  426. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.js.map +1 -1
  427. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/NodeWebSocketTransport.d.ts +26 -26
  428. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/NodeWebSocketTransport.js +47 -47
  429. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PipeTransport.d.ts +29 -29
  430. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PipeTransport.js +64 -64
  431. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Puppeteer.d.ts +153 -153
  432. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Puppeteer.js +188 -188
  433. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/install.d.ts +17 -17
  434. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/install.js +173 -173
  435. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node-puppeteer-core.d.ts +17 -17
  436. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node-puppeteer-core.js +24 -24
  437. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node.d.ts +17 -17
  438. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node.js +23 -23
  439. data/node_modules/puppeteer-core/lib/cjs/puppeteer/revisions.d.ts +21 -21
  440. data/node_modules/puppeteer-core/lib/cjs/puppeteer/revisions.js +22 -22
  441. data/node_modules/puppeteer-core/lib/cjs/puppeteer/web.d.ts +17 -17
  442. data/node_modules/puppeteer-core/lib/cjs/puppeteer/web.js +23 -23
  443. data/node_modules/puppeteer-core/lib/cjs/vendor/mitt/src/index.d.ts +27 -27
  444. data/node_modules/puppeteer-core/lib/cjs/vendor/mitt/src/index.js +56 -56
  445. data/node_modules/puppeteer-core/lib/esm/puppeteer/api-docs-entry.d.ts +110 -110
  446. data/node_modules/puppeteer-core/lib/esm/puppeteer/api-docs-entry.js +80 -80
  447. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Accessibility.d.ts +175 -175
  448. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Accessibility.js +356 -356
  449. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.d.ts +20 -20
  450. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js +81 -81
  451. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js.map +1 -1
  452. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.d.ts +455 -455
  453. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.js +535 -535
  454. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserConnector.d.ts +53 -53
  455. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserConnector.js +74 -74
  456. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.d.ts +25 -25
  457. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.js +30 -30
  458. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.d.ts +135 -135
  459. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.js +293 -293
  460. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConnectionTransport.d.ts +24 -24
  461. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConnectionTransport.js +16 -16
  462. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.d.ts +72 -72
  463. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.js +60 -60
  464. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.d.ts +204 -204
  465. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.js +329 -329
  466. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DOMWorld.d.ts +175 -175
  467. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DOMWorld.js +657 -657
  468. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Debug.d.ts +52 -52
  469. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Debug.js +77 -77
  470. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceDescriptors.d.ts +40 -40
  471. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceDescriptors.js +1067 -1067
  472. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.d.ts +74 -74
  473. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.js +93 -93
  474. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EmulationManager.d.ts +24 -24
  475. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EmulationManager.js +33 -33
  476. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.d.ts +50 -50
  477. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.js +50 -50
  478. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EvalTypes.d.ts +60 -60
  479. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EvalTypes.js +16 -16
  480. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.d.ts +92 -92
  481. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.js +109 -109
  482. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Events.d.ts +81 -81
  483. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Events.js +83 -83
  484. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.d.ts +193 -193
  485. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.js +317 -317
  486. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.d.ts +58 -58
  487. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.js +67 -67
  488. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.d.ts +744 -744
  489. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js +1042 -1042
  490. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js.map +1 -1
  491. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.d.ts +350 -345
  492. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  493. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.js +545 -545
  494. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.js.map +1 -1
  495. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.d.ts +134 -125
  496. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.d.ts.map +1 -1
  497. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.js +180 -160
  498. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.js.map +1 -1
  499. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.d.ts +358 -358
  500. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.js +537 -537
  501. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.d.ts +490 -490
  502. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.js +802 -802
  503. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.d.ts +65 -65
  504. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.d.ts.map +1 -1
  505. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.js +145 -144
  506. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.js.map +1 -1
  507. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkConditions.d.ts +26 -26
  508. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkConditions.js +30 -30
  509. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.d.ts +126 -97
  510. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -1
  511. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js +463 -338
  512. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js.map +1 -1
  513. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.d.ts +161 -161
  514. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.js +31 -31
  515. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.d.ts +2055 -2055
  516. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.js +2529 -2529
  517. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Product.d.ts +20 -20
  518. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Product.js +16 -16
  519. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.d.ts +159 -159
  520. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.js +157 -157
  521. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PuppeteerViewport.d.ts +51 -51
  522. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PuppeteerViewport.js +1 -1
  523. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.d.ts +64 -64
  524. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.js +157 -157
  525. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.d.ts +60 -60
  526. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.js +72 -72
  527. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.d.ts +100 -100
  528. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.js +141 -141
  529. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.d.ts +20 -20
  530. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.js +25 -25
  531. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.d.ts +27 -27
  532. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.js +43 -43
  533. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.d.ts +46 -46
  534. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.js +105 -105
  535. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/USKeyboardLayout.d.ts +39 -39
  536. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/USKeyboardLayout.js +403 -403
  537. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/WebWorker.d.ts +98 -98
  538. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/WebWorker.js +108 -108
  539. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/assert.d.ts +22 -22
  540. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/assert.js +28 -28
  541. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/fetch.d.ts +16 -16
  542. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/fetch.js +20 -20
  543. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/helper.d.ts +84 -84
  544. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/helper.js +305 -305
  545. data/node_modules/puppeteer-core/lib/esm/puppeteer/environment.d.ts +16 -16
  546. data/node_modules/puppeteer-core/lib/esm/puppeteer/environment.js +16 -16
  547. data/node_modules/puppeteer-core/lib/esm/puppeteer/global.d.ts +16 -16
  548. data/node_modules/puppeteer-core/lib/esm/puppeteer/global.js +1 -1
  549. data/node_modules/puppeteer-core/lib/esm/puppeteer/initialize-node.d.ts +17 -17
  550. data/node_modules/puppeteer-core/lib/esm/puppeteer/initialize-node.js +37 -37
  551. data/node_modules/puppeteer-core/lib/esm/puppeteer/initialize-web.d.ts +17 -17
  552. data/node_modules/puppeteer-core/lib/esm/puppeteer/initialize-web.js +22 -22
  553. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserFetcher.d.ts +133 -133
  554. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserFetcher.js +474 -474
  555. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.d.ts +40 -39
  556. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.d.ts.map +1 -1
  557. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.js +230 -204
  558. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.js.map +1 -1
  559. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/LaunchOptions.d.ts +134 -134
  560. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/LaunchOptions.js +16 -16
  561. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.d.ts +16 -16
  562. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.d.ts.map +1 -1
  563. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.js +633 -566
  564. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.js.map +1 -1
  565. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts +26 -26
  566. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/NodeWebSocketTransport.js +40 -40
  567. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/PipeTransport.d.ts +29 -29
  568. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/PipeTransport.js +60 -60
  569. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Puppeteer.d.ts +153 -153
  570. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Puppeteer.js +181 -181
  571. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/install.d.ts +17 -17
  572. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/install.js +165 -165
  573. data/node_modules/puppeteer-core/lib/esm/puppeteer/node-puppeteer-core.d.ts +17 -17
  574. data/node_modules/puppeteer-core/lib/esm/puppeteer/node-puppeteer-core.js +22 -22
  575. data/node_modules/puppeteer-core/lib/esm/puppeteer/node.d.ts +17 -17
  576. data/node_modules/puppeteer-core/lib/esm/puppeteer/node.js +21 -21
  577. data/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.d.ts +21 -21
  578. data/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.js +19 -19
  579. data/node_modules/puppeteer-core/lib/esm/puppeteer/web.d.ts +17 -17
  580. data/node_modules/puppeteer-core/lib/esm/puppeteer/web.js +21 -21
  581. data/node_modules/puppeteer-core/lib/esm/vendor/mitt/src/index.d.ts +27 -27
  582. data/node_modules/puppeteer-core/lib/esm/vendor/mitt/src/index.js +53 -53
  583. data/node_modules/puppeteer-core/lib/types.d.ts +67 -25
  584. data/node_modules/puppeteer-core/package.json +115 -115
  585. data/node_modules/puppeteer-core/typescript-if-required.js +61 -61
  586. data/node_modules/readable-stream/CONTRIBUTING.md +38 -38
  587. data/node_modules/readable-stream/GOVERNANCE.md +136 -136
  588. data/node_modules/readable-stream/LICENSE +47 -47
  589. data/node_modules/readable-stream/README.md +106 -106
  590. data/node_modules/readable-stream/errors-browser.js +127 -127
  591. data/node_modules/readable-stream/errors.js +116 -116
  592. data/node_modules/readable-stream/experimentalWarning.js +17 -17
  593. data/node_modules/readable-stream/lib/_stream_duplex.js +138 -138
  594. data/node_modules/readable-stream/lib/_stream_passthrough.js +38 -38
  595. data/node_modules/readable-stream/lib/_stream_readable.js +1123 -1123
  596. data/node_modules/readable-stream/lib/_stream_transform.js +200 -200
  597. data/node_modules/readable-stream/lib/_stream_writable.js +696 -696
  598. data/node_modules/readable-stream/lib/internal/streams/async_iterator.js +206 -206
  599. data/node_modules/readable-stream/lib/internal/streams/buffer_list.js +209 -209
  600. data/node_modules/readable-stream/lib/internal/streams/destroy.js +104 -104
  601. data/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +103 -103
  602. data/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -3
  603. data/node_modules/readable-stream/lib/internal/streams/from.js +63 -63
  604. data/node_modules/readable-stream/lib/internal/streams/pipeline.js +96 -96
  605. data/node_modules/readable-stream/lib/internal/streams/state.js +26 -26
  606. data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -1
  607. data/node_modules/readable-stream/lib/internal/streams/stream.js +1 -1
  608. data/node_modules/readable-stream/package.json +68 -68
  609. data/node_modules/readable-stream/readable-browser.js +9 -9
  610. data/node_modules/readable-stream/readable.js +16 -16
  611. data/node_modules/rimraf/CHANGELOG.md +65 -65
  612. data/node_modules/rimraf/LICENSE +15 -15
  613. data/node_modules/rimraf/README.md +101 -101
  614. data/node_modules/rimraf/bin.js +68 -68
  615. data/node_modules/rimraf/package.json +32 -32
  616. data/node_modules/rimraf/rimraf.js +360 -360
  617. data/node_modules/safe-buffer/LICENSE +21 -21
  618. data/node_modules/safe-buffer/README.md +584 -584
  619. data/node_modules/safe-buffer/index.d.ts +186 -186
  620. data/node_modules/safe-buffer/index.js +65 -65
  621. data/node_modules/safe-buffer/package.json +51 -51
  622. data/node_modules/string_decoder/LICENSE +48 -48
  623. data/node_modules/string_decoder/README.md +47 -47
  624. data/node_modules/string_decoder/lib/string_decoder.js +295 -295
  625. data/node_modules/string_decoder/package.json +34 -34
  626. data/node_modules/tar-fs/.travis.yml +6 -6
  627. data/node_modules/tar-fs/LICENSE +20 -20
  628. data/node_modules/tar-fs/README.md +165 -165
  629. data/node_modules/tar-fs/index.js +351 -351
  630. data/node_modules/tar-fs/package.json +41 -41
  631. data/node_modules/tar-fs/test/fixtures/a/hello.txt +1 -1
  632. data/node_modules/tar-fs/test/fixtures/b/a/test.txt +1 -1
  633. data/node_modules/tar-fs/test/index.js +346 -346
  634. data/node_modules/tar-stream/LICENSE +20 -20
  635. data/node_modules/tar-stream/README.md +168 -168
  636. data/node_modules/tar-stream/extract.js +257 -257
  637. data/node_modules/tar-stream/headers.js +295 -295
  638. data/node_modules/tar-stream/index.js +2 -2
  639. data/node_modules/tar-stream/pack.js +255 -255
  640. data/node_modules/tar-stream/package.json +58 -58
  641. data/node_modules/tar-stream/sandbox.js +11 -11
  642. data/node_modules/through/.travis.yml +5 -5
  643. data/node_modules/through/LICENSE.APACHE2 +15 -15
  644. data/node_modules/through/LICENSE.MIT +24 -24
  645. data/node_modules/through/index.js +108 -108
  646. data/node_modules/through/package.json +36 -36
  647. data/node_modules/through/readme.markdown +64 -64
  648. data/node_modules/through/test/async.js +28 -28
  649. data/node_modules/through/test/auto-destroy.js +30 -30
  650. data/node_modules/through/test/buffering.js +71 -71
  651. data/node_modules/through/test/end.js +45 -45
  652. data/node_modules/through/test/index.js +133 -133
  653. data/node_modules/tr46/.npmignore +4 -4
  654. data/node_modules/tr46/index.js +193 -193
  655. data/node_modules/tr46/package.json +31 -31
  656. data/node_modules/unbzip2-stream/LICENSE +24 -24
  657. data/node_modules/unbzip2-stream/README.md +59 -59
  658. data/node_modules/unbzip2-stream/dist/unbzip2-stream.min.js +1 -1
  659. data/node_modules/unbzip2-stream/index.js +93 -93
  660. data/node_modules/unbzip2-stream/lib/bit_iterator.js +39 -39
  661. data/node_modules/unbzip2-stream/lib/bzip2.js +365 -365
  662. data/node_modules/unbzip2-stream/package.json +51 -51
  663. data/node_modules/util-deprecate/History.md +16 -16
  664. data/node_modules/util-deprecate/LICENSE +24 -24
  665. data/node_modules/util-deprecate/README.md +53 -53
  666. data/node_modules/util-deprecate/browser.js +67 -67
  667. data/node_modules/util-deprecate/node.js +6 -6
  668. data/node_modules/util-deprecate/package.json +27 -27
  669. data/node_modules/webidl-conversions/LICENSE.md +12 -12
  670. data/node_modules/webidl-conversions/README.md +53 -53
  671. data/node_modules/webidl-conversions/lib/index.js +189 -189
  672. data/node_modules/webidl-conversions/package.json +23 -23
  673. data/node_modules/whatwg-url/LICENSE.txt +21 -21
  674. data/node_modules/whatwg-url/README.md +67 -67
  675. data/node_modules/whatwg-url/lib/URL-impl.js +200 -200
  676. data/node_modules/whatwg-url/lib/URL.js +196 -196
  677. data/node_modules/whatwg-url/lib/public-api.js +11 -11
  678. data/node_modules/whatwg-url/lib/utils.js +20 -20
  679. data/node_modules/whatwg-url/package.json +32 -32
  680. data/node_modules/wrappy/LICENSE +15 -15
  681. data/node_modules/wrappy/README.md +36 -36
  682. data/node_modules/wrappy/package.json +29 -29
  683. data/node_modules/wrappy/wrappy.js +33 -33
  684. data/node_modules/ws/LICENSE +19 -19
  685. data/node_modules/ws/README.md +493 -493
  686. data/node_modules/ws/browser.js +8 -8
  687. data/node_modules/ws/index.js +13 -13
  688. data/node_modules/ws/lib/buffer-util.js +126 -126
  689. data/node_modules/ws/lib/constants.js +12 -12
  690. data/node_modules/ws/lib/event-target.js +266 -266
  691. data/node_modules/ws/lib/extension.js +203 -203
  692. data/node_modules/ws/lib/limiter.js +55 -55
  693. data/node_modules/ws/lib/permessage-deflate.js +511 -511
  694. data/node_modules/ws/lib/receiver.js +612 -612
  695. data/node_modules/ws/lib/sender.js +422 -422
  696. data/node_modules/ws/lib/stream.js +180 -180
  697. data/node_modules/ws/lib/subprotocol.js +62 -62
  698. data/node_modules/ws/lib/validation.js +124 -124
  699. data/node_modules/ws/lib/websocket-server.js +485 -485
  700. data/node_modules/ws/lib/websocket.js +1149 -1149
  701. data/node_modules/ws/package.json +61 -61
  702. data/node_modules/ws/wrapper.mjs +8 -8
  703. data/node_modules/yauzl/LICENSE +21 -21
  704. data/node_modules/yauzl/README.md +658 -658
  705. data/node_modules/yauzl/index.js +796 -796
  706. data/node_modules/yauzl/package.json +40 -40
  707. data/package.json +1 -1
  708. metadata +23 -25
  709. data/node_modules/devtools-protocol/changelog.md +0 -10491
  710. data/node_modules/devtools-protocol/externs/protocol_externs.js +0 -9734
@@ -1,415 +1,413 @@
1
- module Isomorfeus
2
- module Puppetmaster
3
- module Driver
4
- class Puppeteer
5
- include Isomorfeus::Puppetmaster::Driver::PuppeteerDocument
6
- include Isomorfeus::Puppetmaster::Driver::PuppeteerNode
7
-
8
- VIEWPORT_DEFAULT_WIDTH = 1024
9
- VIEWPORT_DEFAULT_HEIGHT = 768
10
- VIEWPORT_MAX_WIDTH = 1366
11
- VIEWPORT_MAX_HEIGHT = 768
12
- TIMEOUT = 30 # seconds
13
- REACTION_TIMEOUT = 0.5
14
- EVENTS = {
15
- blur: ['FocusEvent', {}],
16
- focus: ['FocusEvent', {}],
17
- focusin: ['FocusEvent', { bubbles: true }],
18
- focusout: ['FocusEvent', { bubbles: true }],
19
- click: ['MouseEvent', { bubbles: true, cancelable: true }],
20
- dblckick: ['MouseEvent', { bubbles: true, cancelable: true }],
21
- mousedown: ['MouseEvent', { bubbles: true, cancelable: true }],
22
- mouseup: ['MouseEvent', { bubbles: true, cancelable: true }],
23
- mouseenter: ['MouseEvent', {}],
24
- mouseleave: ['MouseEvent', {}],
25
- mousemove: ['MouseEvent', { bubbles: true, cancelable: true }],
26
- mouseover: ['MouseEvent', { bubbles: true, cancelable: true }],
27
- mouseout: ['MouseEvent', { bubbles: true, cancelable: true }],
28
- context_menu: ['MouseEvent', { bubble: true, cancelable: true }],
29
- submit: ['Event', { bubbles: true, cancelable: true }],
30
- change: ['Event', { bubbles: true, cacnelable: false }],
31
- input: ['InputEvent', { bubbles: true, cacnelable: false }],
32
- wheel: ['WheelEvent', { bubbles: true, cancelable: true }]
33
- }.freeze
34
-
35
- attr_accessor :app, :default_document, :url_blacklist
36
-
37
- def initialize(options = {})
38
- # https://pptr.dev/#?product=Puppeteer&version=v1.12.2&show=api-puppeteerlaunchoptions
39
- # init ExecJS context
40
- @app = options.delete(:app)
41
- @options = options.dup
42
- @browser_type = @options.delete(:browser_type) { :chromium }
43
- @options[:product] = "'chrome'" unless @options.key?(:product)
44
- @max_width = @options.delete(:max_width) { VIEWPORT_MAX_WIDTH }
45
- @max_height = @options.delete(:max_height) { VIEWPORT_MAX_HEIGHT }
46
- @width = @options.delete(:width) { VIEWPORT_DEFAULT_WIDTH > @max_width ? @max_width : VIEWPORT_DEFAULT_WIDTH }
47
- @height = @options.delete(:height) { VIEWPORT_DEFAULT_HEIGHT > @max_height ? @max_height : VIEWPORT_DEFAULT_HEIGHT }
48
- @timeout = @options.delete(:timeout) { TIMEOUT }
49
- @max_wait = @options.delete(:max_wait) { @timeout + 1 }
50
- @reaction_timeout = @options.delete(:reaction_timeout) { REACTION_TIMEOUT }
51
- @puppeteer_timeout = @timeout * 1000
52
- @puppeteer_reaction_timeout = @reaction_timeout * 1000
53
- @url_blacklist = @options.delete(:url_blacklist) { [] }
54
- Isomorfeus.set_node_paths
55
- @context = ExecJS.permissive_compile(puppeteer_launch_script)
56
- page_handle = await_result
57
- @default_document = Isomorfeus::Puppetmaster::Document.new(self, page_handle, Isomorfeus::Puppetmaster::Response.new('status' => 200))
58
- ObjectSpace.define_finalizer(self, self.class.close_browser(self))
59
- end
60
-
61
- def self.document_handle_disposer(driver, handle)
62
- cjs = <<~JAVASCRIPT
63
- if (AllPageHandles[#{handle}]) { AllPageHandles[#{handle}].close(); }
64
- delete AllPageHandles[#{handle}];
65
- delete ConsoleMessages[#{handle}];
66
- JAVASCRIPT
67
- proc { driver.execute_script(cjs) }
68
- end
69
-
70
- def self.node_handle_disposer(driver, handle)
71
- cjs = <<~JAVASCRIPT
72
- if (AllElementHandles[#{handle}]) { AllElementHandles[#{handle}].dispose(); }
73
- delete AllElementHandles[#{handle}];
74
- JAVASCRIPT
75
- proc { driver.execute_script(cjs) }
76
- end
77
-
78
- def browser
79
- await('LastResult = await CurrentBrowser.userAgent();')
80
- end
81
-
82
- def document_handles
83
- await <<~JAVASCRIPT
84
- var pages = await CurrentBrowser.pages();
85
- var handles = [];
86
- for (i=0; i< pages.length; i++) {
87
- handles.push(RegisterPage(pages[i]));
88
- }
89
- LastResult = handles;
90
- JAVASCRIPT
91
- end
92
-
93
- ##### frame, all todo
94
-
95
- def frame_all_text(frame)
96
- await <<~JAVASCRIPT
97
- LastResult = await AllElementHandles[#{frame.handle}].executionContext().evaluate((frame) => {
98
- return frame.contentDocument.documentElement.textContent;
99
- }, AllElementHandles[#{frame.handle}]);
100
- JAVASCRIPT
101
- end
102
-
103
- def frame_body(frame)
104
- node_data = await <<~JAVASCRIPT
105
- var tt = await AllElementHandles[#{frame.handle}].executionContext().evaluate((frame) => {
106
- node = frame.contentDocument.body;
107
- var name = node.nodeName;
108
- var tag = node.tagName.toLowerCase();
109
- var type = null;
110
- if (tag === 'input') { type = node.getAttribute('type'); }
111
- return [name, tag, type];
112
- }, AllElementHandles[#{frame.handle}]);
113
- LastResult = {handle: node_handle, name: tt[0], tag: tt[1], type: tt[2]};
114
- JAVASCRIPT
115
- if node_data
116
- node_data[:css_selector] = 'body'
117
- Isomorfeus::Puppetmaster::Node.new_by_tag(self, document, node_data)
118
- end
119
- end
120
-
121
- def frame_focus(frame)
122
- await <<~JAVASCRIPT
123
- await AllElementHandles[#{frame.handle}].executionContext().evaluate((frame) => {
124
- frame.contentDocument.documentElement.focus();
125
- }, AllElementHandles[#{frame.handle}]);
126
- JAVASCRIPT
127
- end
128
-
129
- def frame_head(frame)
130
- node_data = await <<~JAVASCRIPT
131
- var tt = await AllElementHandles[#{frame.handle}].executionContext().evaluate((frame) => {
132
- node = frame.contentDocument.head;
133
- var name = node.nodeName;
134
- var tag = node.tagName.toLowerCase();
135
- var type = null;
136
- if (tag === 'input') { type = node.getAttribute('type'); }
137
- return [name, tag, type];
138
- }, AllElementHandles[#{frame.handle}]);
139
- LastResult = {handle: node_handle, name: tt[0], tag: tt[1], type: tt[2]};
140
- JAVASCRIPT
141
- if node_data
142
- node_data[:css_selector] = 'body'
143
- Isomorfeus::Puppetmaster::Node.new_by_tag(self, document, node_data)
144
- end
145
- end
146
-
147
- def frame_html(frame)
148
- await <<~JAVASCRIPT
149
- LastResult = await AllElementHandles[#{frame.handle}].executionContext().evaluate((frame) => {
150
- return frame.contentDocument.documentElement.outerHTML;
151
- }, AllElementHandles[#{frame.handle}]);
152
- JAVASCRIPT
153
- end
154
-
155
- def frame_title(frame)
156
- await <<~JAVASCRIPT
157
- LastResult = await AllElementHandles[#{frame.handle}].executionContext().evaluate((frame) => {
158
- return frame.contentDocument.title;
159
- }, AllElementHandles[#{frame.handle}]);
160
- JAVASCRIPT
161
- end
162
-
163
- def frame_url(frame)
164
- await <<~JAVASCRIPT
165
- LastResult = await AllElementHandles[#{frame.handle}].executionContext().evaluate((frame) => {
166
- return frame.contentDocument.location.href;
167
- }, AllElementHandles[#{frame.handle}]);
168
- JAVASCRIPT
169
- end
170
-
171
- def frame_visible_text(frame)
172
- # if node is AREA, check visibility of relevant image
173
- text = await <<~JAVASCRIPT
174
- LastResult = await AllElementHandles[#{frame.handle}].executionContext().evaluate((frame) => {
175
- var node = frame.contentDocument.body;
176
- var temp_node = node;
177
- while (temp_node) {
178
- style = window.getComputedStyle(node);
179
- if (style.display === "none" || style.visibility === "hidden" || parseFloat(style.opacity) === 0) { return ''; }
180
- temp_node = temp_node.parentElement;
181
- }
182
- if (node.nodeName == "TEXTAREA" || node instanceof SVGElement) { return node.textContent; }
183
- else { return node.innerText; }
184
- }, AllElementHandles[#{frame.handle}]);
185
- JAVASCRIPT
186
- text.gsub(/\A[[:space:]&&[^\u00a0]]+/, "").gsub(/[[:space:]&&[^\u00a0]]+\z/, "").gsub(/\n+/, "\n").tr("\u00a0", " ")
187
- end
188
-
189
- private
190
-
191
- def self.close_browser(driver)
192
- cjs = <<~JAVASCRIPT
193
- CurrentBrowser.close()
194
- JAVASCRIPT
195
- proc { driver.await(cjs) }
196
- end
197
-
198
- def await(script)
199
- @context.eval <<~JAVASCRIPT
200
- (async () => {
201
- LastExecutionFinished = false;
202
- LastResult = null;
203
- LastErr = null;
204
- #{script}
205
- LastExecutionFinished = true;
206
- })().catch(function(err) {
207
- LastResult = null;
208
- LastErr = err;
209
- LastExecutionFinished = true;
210
- })
211
- JAVASCRIPT
212
- await_result
213
- end
214
-
215
- def await_result
216
- start_time = Time.now
217
- while !execution_finished? && !timed_out?(start_time)
218
- sleep 0.01
219
- end
220
- get_result
221
- end
222
-
223
- def determine_error(error)
224
- message = "#{error['name']}: #{error['message']}"
225
- exception = if message.include?('net::ERR_CERT_') || message.include?('SEC_ERROR_EXPIRED_CERTIFICATE')
226
- Isomorfeus::Puppetmaster::CertificateError.new(message)
227
- elsif message.include?('net::ERR_NAME_') || message.include?('NS_ERROR_UNKNOWN_HOST')
228
- Isomorfeus::Puppetmaster::DNSError.new(message)
229
- elsif message.include?('Unknown key: ')
230
- Isomorfeus::Puppetmaster::KeyError.new(message)
231
- elsif message.include?('Execution context was destroyed, most likely because of a navigation.')
232
- Isomorfeus::Puppetmaster::ExecutionContextError.new(message)
233
- elsif message.include?('Evaluation failed: DOMException:') || (message.include?('Evaluation failed:') && (message.include?('is not a valid selector') || message.include?('is not a legal expression')))
234
- Isomorfeus::Puppetmaster::DOMException.new(message)
235
- else
236
- Isomorfeus::Puppetmaster::JavaScriptError.new(message)
237
- end
238
- exception.set_backtrace(error['stack'])
239
- exception
240
- end
241
-
242
- def execution_finished?
243
- @context.eval 'LastExecutionFinished'
244
- end
245
-
246
- def get_result
247
- res, error = @context.eval 'GetLastResult()'
248
- raise determine_error(error) if error && !error.empty?
249
- res
250
- end
251
-
252
- def launch_line
253
- string_options = []
254
- options = @options.dup
255
- string_options << "ignoreHTTPSErrors: #{options.delete(:ignore_https_errors)}" if options.key?(:ignore_https_errors)
256
- if Gem::Platform.local.os == 'linux' && Gem::Platform.local.cpu.start_with?('arm')
257
- chromium_path = if options.key?(:executable_path)
258
- options.delete(:executable_path)
259
- else
260
- Isomorfeus::Speednode::NodeCommand.which(['chromium'])
261
- end
262
- raise "Chromium not found. Please install chromium manually." unless chromium_path
263
- string_options << "executablePath: '#{chromium_path}'"
264
- else
265
- string_options << "executablePath: '#{options.delete(:executable_path)}'" if options.key?(:executable_path)
266
- end
267
- options.each do |option, value|
268
- string_options << "#{option.to_s.camelize(:lower)}: #{value}"
269
- end
270
- string_options << "userDataDir: '#{Dir.mktmpdir}'" unless @options.key?(:user_data_dir)
271
- string_options << "defaultViewport: { width: #{@width}, height: #{@height} }"
272
- string_options << "pipe: true"
273
- # string_options << "args: ['--disable-popup-blocking']"
274
- line = 'await MasterPuppeteer.launch('
275
- unless string_options.empty?
276
- line << '{'
277
- line << string_options.join(', ') if string_options.size > 1
278
- line << '}'
279
- end
280
- line << ')'
281
- end
282
-
283
- def puppeteer_launch_script
284
- <<~JAVASCRIPT
285
- const MasterPuppeteer = require('puppeteer-core');
286
- const DefaultRevisions = require('puppeteer-core/lib/cjs/puppeteer/revisions');
287
- var default_revision = DefaultRevisions.PUPPETEER_REVISIONS.chromium;
288
-
289
- var BrowserFetcher = MasterPuppeteer.createBrowserFetcher();
290
-
291
- var BrowserType = '#{@browser_type.to_s}';
292
- var LastResult = null;
293
- var LastErr = null;
294
- var LastExecutionFinished = false;
295
- var LastHandleId = 0;
296
-
297
- var AllPageHandles = {};
298
- var AllElementHandles = {};
299
-
300
- var CurrentBrowser = null;
301
- var ConsoleMessages = {};
302
-
303
- var ModalText = null;
304
- var ModalTextMatched = false;
305
-
306
- const EnsureBrowser = async function() {
307
- var revisions = await BrowserFetcher.localRevisions();
308
- if (!revisions.includes(default_revision)) {
309
- console.log("isomorfeus-puppetmaster: Downloading Chromium " + default_revision);
310
- await BrowserFetcher.download(default_revision);
311
- return true;
312
- } else { return false; }
313
- }
314
-
315
- const GetLastResult = function() {
316
- if (LastExecutionFinished === true) {
317
- var err = LastErr;
318
- var res = LastResult;
319
-
320
- LastErr = null;
321
- LastRes = null;
322
- LastExecutionFinished = false;
323
-
324
- if (err) { return [null, {name: err.name, message: err.message, stack: err.stack}]; }
325
- else { return [res, null]; }
326
-
327
- } else {
328
- var new_err = new Error('Last command did not yet finish execution!');
329
- return [null, {name: new_err.name, message: new_err.message, stack: new_err.stack}];
330
- }
331
- };
332
-
333
- const DialogAcceptHandler = async (dialog) => {
334
- var msg = dialog.message()
335
- ModalTextMatched = (ModalText === msg);
336
- ModalText = msg;
337
- await dialog.accept();
338
- }
339
-
340
- const DialogDismissHandler = async (dialog) => {
341
- var msg = dialog.message()
342
- ModalTextMatched = (ModalText === msg);
343
- ModalText = msg;
344
- await dialog.dismiss();
345
- }
346
-
347
- const RegisterElementHandle = function(element_handle) {
348
- var entries = Object.entries(AllElementHandles);
349
- for(var i = 0; i < entries.length; i++) {
350
- if (entries[i][1] === element_handle) { return entries[i][0]; }
351
- }
352
- LastHandleId++;
353
- var handle_id = LastHandleId;
354
- AllElementHandles[handle_id] = element_handle;
355
- return handle_id;
356
- };
357
-
358
- const RegisterPage = function(page) {
359
- var entries = Object.entries(AllPageHandles);
360
- for(var i = 0; i < entries.length; i++) {
361
- if (entries[i][1] === page) { return entries[i][0]; }
362
- }
363
- LastHandleId++;
364
- var handle_id = LastHandleId;
365
- AllPageHandles[handle_id] = page;
366
- ConsoleMessages[handle_id] = [];
367
- AllPageHandles[handle_id].on('console', (msg) => {
368
- ConsoleMessages[handle_id].push({level: msg.type(), location: msg.location(), text: msg.text()});
369
- });
370
- AllPageHandles[handle_id].on('pageerror', (error) => {
371
- ConsoleMessages[handle_id].push({level: 'error', location: '', text: error.message});
372
- });
373
- return handle_id;
374
- };
375
-
376
- (async () => {
377
- try {
378
- if (process.arch !== 'arm') {
379
- await EnsureBrowser();
380
- }
381
- CurrentBrowser = #{launch_line}
382
- var page = (await CurrentBrowser.pages())[0];
383
- page.setDefaultTimeout(#{@puppeteer_timeout});
384
- var target = page.target();
385
- var cdp_session = await target.createCDPSession();
386
- await cdp_session.send('Page.setDownloadBehavior', {behavior: 'allow', downloadPath: '#{Isomorfeus::Puppetmaster.download_path}'});
387
- if (#{@url_blacklist}.length > 0) { await cdp_session.send('Network.setBlockedURLs', {urls: #{@url_blacklist}}); }
388
- await cdp_session.detach();
389
- LastResult = RegisterPage(page);
390
- LastExecutionFinished = true;
391
- } catch (err) {
392
- LastErr = err;
393
- LastExecutionFinished = true;
394
- }
395
- })().catch(function(err) {
396
- LastErr = err;
397
- LastExecutionFinished = true;
398
- });
399
- JAVASCRIPT
400
- end
401
-
402
- def session
403
- @session
404
- end
405
-
406
- def timed_out?(start_time)
407
- if (Time.now - start_time) > @timeout
408
- raise "Command Execution timed out!"
409
- end
410
- false
411
- end
412
- end
413
- end
414
- end
415
- end
1
+ module Isomorfeus
2
+ module Puppetmaster
3
+ module Driver
4
+ class Puppeteer
5
+ include Isomorfeus::Puppetmaster::Driver::PuppeteerDocument
6
+ include Isomorfeus::Puppetmaster::Driver::PuppeteerNode
7
+
8
+ VIEWPORT_DEFAULT_WIDTH = 1024
9
+ VIEWPORT_DEFAULT_HEIGHT = 768
10
+ VIEWPORT_MAX_WIDTH = 1366
11
+ VIEWPORT_MAX_HEIGHT = 768
12
+ TIMEOUT = 30 # seconds
13
+ REACTION_TIMEOUT = 0.5
14
+ EVENTS = {
15
+ blur: ['FocusEvent', {}],
16
+ focus: ['FocusEvent', {}],
17
+ focusin: ['FocusEvent', { bubbles: true }],
18
+ focusout: ['FocusEvent', { bubbles: true }],
19
+ click: ['MouseEvent', { bubbles: true, cancelable: true }],
20
+ dblckick: ['MouseEvent', { bubbles: true, cancelable: true }],
21
+ mousedown: ['MouseEvent', { bubbles: true, cancelable: true }],
22
+ mouseup: ['MouseEvent', { bubbles: true, cancelable: true }],
23
+ mouseenter: ['MouseEvent', {}],
24
+ mouseleave: ['MouseEvent', {}],
25
+ mousemove: ['MouseEvent', { bubbles: true, cancelable: true }],
26
+ mouseover: ['MouseEvent', { bubbles: true, cancelable: true }],
27
+ mouseout: ['MouseEvent', { bubbles: true, cancelable: true }],
28
+ context_menu: ['MouseEvent', { bubble: true, cancelable: true }],
29
+ submit: ['Event', { bubbles: true, cancelable: true }],
30
+ change: ['Event', { bubbles: true, cacnelable: false }],
31
+ input: ['InputEvent', { bubbles: true, cacnelable: false }],
32
+ wheel: ['WheelEvent', { bubbles: true, cancelable: true }]
33
+ }.freeze
34
+
35
+ attr_accessor :app, :default_document, :url_blacklist
36
+
37
+ def initialize(options = {})
38
+ # https://pptr.dev/#?product=Puppeteer&version=v1.12.2&show=api-puppeteerlaunchoptions
39
+ # init ExecJS context
40
+ @app = options.delete(:app)
41
+ @options = options.dup
42
+ @browser_type = @options.delete(:browser_type) { :chromium }
43
+ @options[:product] = "'chrome'" unless @options.key?(:product)
44
+ @max_width = @options.delete(:max_width) { VIEWPORT_MAX_WIDTH }
45
+ @max_height = @options.delete(:max_height) { VIEWPORT_MAX_HEIGHT }
46
+ @width = @options.delete(:width) { VIEWPORT_DEFAULT_WIDTH > @max_width ? @max_width : VIEWPORT_DEFAULT_WIDTH }
47
+ @height = @options.delete(:height) { VIEWPORT_DEFAULT_HEIGHT > @max_height ? @max_height : VIEWPORT_DEFAULT_HEIGHT }
48
+ @timeout = @options.delete(:timeout) { TIMEOUT }
49
+ @max_wait = @options.delete(:max_wait) { @timeout + 1 }
50
+ @reaction_timeout = @options.delete(:reaction_timeout) { REACTION_TIMEOUT }
51
+ @puppeteer_timeout = @timeout * 1000
52
+ @puppeteer_reaction_timeout = @reaction_timeout * 1000
53
+ @url_blacklist = @options.delete(:url_blacklist) { [] }
54
+ Isomorfeus.set_node_paths
55
+ @context = ExecJS.permissive_compile(puppeteer_launch_script)
56
+ page_handle = await_result
57
+ @default_document = Isomorfeus::Puppetmaster::Document.new(self, page_handle, Isomorfeus::Puppetmaster::Response.new('status' => 200))
58
+ ObjectSpace.define_finalizer(self, self.class.close_browser(self))
59
+ end
60
+
61
+ def self.document_handle_disposer(driver, handle)
62
+ cjs = <<~JAVASCRIPT
63
+ if (AllPageHandles[#{handle}]) { AllPageHandles[#{handle}].close(); }
64
+ delete AllPageHandles[#{handle}];
65
+ delete ConsoleMessages[#{handle}];
66
+ JAVASCRIPT
67
+ proc { driver.execute_script(cjs) }
68
+ end
69
+
70
+ def self.node_handle_disposer(driver, handle)
71
+ cjs = <<~JAVASCRIPT
72
+ if (AllElementHandles[#{handle}]) { AllElementHandles[#{handle}].dispose(); }
73
+ delete AllElementHandles[#{handle}];
74
+ JAVASCRIPT
75
+ proc { driver.execute_script(cjs) }
76
+ end
77
+
78
+ def browser
79
+ await('LastResult = await CurrentBrowser.userAgent();')
80
+ end
81
+
82
+ def document_handles
83
+ await <<~JAVASCRIPT
84
+ var pages = await CurrentBrowser.pages();
85
+ var handles = [];
86
+ for (i=0; i< pages.length; i++) {
87
+ handles.push(RegisterPage(pages[i]));
88
+ }
89
+ LastResult = handles;
90
+ JAVASCRIPT
91
+ end
92
+
93
+ ##### frame, all todo
94
+
95
+ def frame_all_text(frame)
96
+ await <<~JAVASCRIPT
97
+ LastResult = await AllElementHandles[#{frame.handle}].executionContext().evaluate((frame) => {
98
+ return frame.contentDocument.documentElement.textContent;
99
+ }, AllElementHandles[#{frame.handle}]);
100
+ JAVASCRIPT
101
+ end
102
+
103
+ def frame_body(frame)
104
+ node_data = await <<~JAVASCRIPT
105
+ var tt = await AllElementHandles[#{frame.handle}].executionContext().evaluate((frame) => {
106
+ node = frame.contentDocument.body;
107
+ var name = node.nodeName;
108
+ var tag = node.tagName.toLowerCase();
109
+ var type = null;
110
+ if (tag === 'input') { type = node.getAttribute('type'); }
111
+ return [name, tag, type];
112
+ }, AllElementHandles[#{frame.handle}]);
113
+ LastResult = {handle: node_handle, name: tt[0], tag: tt[1], type: tt[2]};
114
+ JAVASCRIPT
115
+ if node_data
116
+ node_data[:css_selector] = 'body'
117
+ Isomorfeus::Puppetmaster::Node.new_by_tag(self, document, node_data)
118
+ end
119
+ end
120
+
121
+ def frame_focus(frame)
122
+ await <<~JAVASCRIPT
123
+ await AllElementHandles[#{frame.handle}].executionContext().evaluate((frame) => {
124
+ frame.contentDocument.documentElement.focus();
125
+ }, AllElementHandles[#{frame.handle}]);
126
+ JAVASCRIPT
127
+ end
128
+
129
+ def frame_head(frame)
130
+ node_data = await <<~JAVASCRIPT
131
+ var tt = await AllElementHandles[#{frame.handle}].executionContext().evaluate((frame) => {
132
+ node = frame.contentDocument.head;
133
+ var name = node.nodeName;
134
+ var tag = node.tagName.toLowerCase();
135
+ var type = null;
136
+ if (tag === 'input') { type = node.getAttribute('type'); }
137
+ return [name, tag, type];
138
+ }, AllElementHandles[#{frame.handle}]);
139
+ LastResult = {handle: node_handle, name: tt[0], tag: tt[1], type: tt[2]};
140
+ JAVASCRIPT
141
+ if node_data
142
+ node_data[:css_selector] = 'body'
143
+ Isomorfeus::Puppetmaster::Node.new_by_tag(self, document, node_data)
144
+ end
145
+ end
146
+
147
+ def frame_html(frame)
148
+ await <<~JAVASCRIPT
149
+ LastResult = await AllElementHandles[#{frame.handle}].executionContext().evaluate((frame) => {
150
+ return frame.contentDocument.documentElement.outerHTML;
151
+ }, AllElementHandles[#{frame.handle}]);
152
+ JAVASCRIPT
153
+ end
154
+
155
+ def frame_title(frame)
156
+ await <<~JAVASCRIPT
157
+ LastResult = await AllElementHandles[#{frame.handle}].executionContext().evaluate((frame) => {
158
+ return frame.contentDocument.title;
159
+ }, AllElementHandles[#{frame.handle}]);
160
+ JAVASCRIPT
161
+ end
162
+
163
+ def frame_url(frame)
164
+ await <<~JAVASCRIPT
165
+ LastResult = await AllElementHandles[#{frame.handle}].executionContext().evaluate((frame) => {
166
+ return frame.contentDocument.location.href;
167
+ }, AllElementHandles[#{frame.handle}]);
168
+ JAVASCRIPT
169
+ end
170
+
171
+ def frame_visible_text(frame)
172
+ # if node is AREA, check visibility of relevant image
173
+ text = await <<~JAVASCRIPT
174
+ LastResult = await AllElementHandles[#{frame.handle}].executionContext().evaluate((frame) => {
175
+ var node = frame.contentDocument.body;
176
+ var temp_node = node;
177
+ while (temp_node) {
178
+ style = window.getComputedStyle(node);
179
+ if (style.display === "none" || style.visibility === "hidden" || parseFloat(style.opacity) === 0) { return ''; }
180
+ temp_node = temp_node.parentElement;
181
+ }
182
+ if (node.nodeName == "TEXTAREA" || node instanceof SVGElement) { return node.textContent; }
183
+ else { return node.innerText; }
184
+ }, AllElementHandles[#{frame.handle}]);
185
+ JAVASCRIPT
186
+ text.gsub(/\A[[:space:]&&[^\u00a0]]+/, "").gsub(/[[:space:]&&[^\u00a0]]+\z/, "").gsub(/\n+/, "\n").tr("\u00a0", " ")
187
+ end
188
+
189
+ private
190
+
191
+ def self.close_browser(driver)
192
+ cjs = <<~JAVASCRIPT
193
+ CurrentBrowser.close()
194
+ JAVASCRIPT
195
+ proc { driver.await(cjs) }
196
+ end
197
+
198
+ def await(script)
199
+ @context.eval <<~JAVASCRIPT
200
+ (async () => {
201
+ LastExecutionFinished = false;
202
+ LastResult = null;
203
+ LastErr = null;
204
+ #{script}
205
+ LastExecutionFinished = true;
206
+ })().catch(function(err) {
207
+ LastResult = null;
208
+ LastErr = err;
209
+ LastExecutionFinished = true;
210
+ })
211
+ JAVASCRIPT
212
+ await_result
213
+ end
214
+
215
+ def await_result
216
+ start_time = Time.now
217
+ while !execution_finished? && !timed_out?(start_time)
218
+ sleep 0.01
219
+ end
220
+ get_result
221
+ end
222
+
223
+ def determine_error(error)
224
+ message = "#{error['name']}: #{error['message']}"
225
+ exception = if message.include?('net::ERR_CERT_') || message.include?('SEC_ERROR_EXPIRED_CERTIFICATE')
226
+ Isomorfeus::Puppetmaster::CertificateError.new(message)
227
+ elsif message.include?('net::ERR_NAME_') || message.include?('NS_ERROR_UNKNOWN_HOST')
228
+ Isomorfeus::Puppetmaster::DNSError.new(message)
229
+ elsif message.include?('Unknown key: ')
230
+ Isomorfeus::Puppetmaster::KeyError.new(message)
231
+ elsif message.include?('Execution context was destroyed, most likely because of a navigation.')
232
+ Isomorfeus::Puppetmaster::ExecutionContextError.new(message)
233
+ elsif message.include?('Evaluation failed: DOMException:') || (message.include?('Evaluation failed:') && (message.include?('is not a valid selector') || message.include?('is not a legal expression')))
234
+ Isomorfeus::Puppetmaster::DOMException.new(message)
235
+ else
236
+ Isomorfeus::Puppetmaster::JavaScriptError.new(message)
237
+ end
238
+ exception.set_backtrace(error['stack'])
239
+ exception
240
+ end
241
+
242
+ def execution_finished?
243
+ @context.eval 'LastExecutionFinished'
244
+ end
245
+
246
+ def get_result
247
+ res, error = @context.eval 'GetLastResult()'
248
+ raise determine_error(error) if error && !error.empty?
249
+ res
250
+ end
251
+
252
+ def launch_line
253
+ string_options = []
254
+ options = @options.dup
255
+ string_options << "ignoreHTTPSErrors: #{options.delete(:ignore_https_errors)}" if options.key?(:ignore_https_errors)
256
+ if Gem::Platform.local.os == 'linux' && Gem::Platform.local.cpu.start_with?('arm')
257
+ chromium_path = if options.key?(:executable_path)
258
+ options.delete(:executable_path)
259
+ else
260
+ Isomorfeus::Speednode::NodeCommand.which(['chromium'])
261
+ end
262
+ raise "Chromium not found. Please install chromium manually." unless chromium_path
263
+ string_options << "executablePath: '#{chromium_path}'"
264
+ else
265
+ string_options << "executablePath: '#{options.delete(:executable_path)}'" if options.key?(:executable_path)
266
+ end
267
+ options.each do |option, value|
268
+ string_options << "#{option.to_s.camelize(:lower)}: #{value}"
269
+ end
270
+ string_options << "userDataDir: '#{Dir.mktmpdir}'" unless @options.key?(:user_data_dir)
271
+ string_options << "defaultViewport: { width: #{@width}, height: #{@height} }"
272
+ line = 'await MasterPuppeteer.launch('
273
+ unless string_options.empty?
274
+ line << '{'
275
+ line << string_options.join(', ') if string_options.size > 1
276
+ line << '}'
277
+ end
278
+ line << ')'
279
+ end
280
+
281
+ def puppeteer_launch_script
282
+ <<~JAVASCRIPT
283
+ const MasterPuppeteer = require('puppeteer-core');
284
+ const DefaultRevisions = require('puppeteer-core/lib/cjs/puppeteer/revisions');
285
+ var default_revision = DefaultRevisions.PUPPETEER_REVISIONS.chromium;
286
+
287
+ var BrowserFetcher = MasterPuppeteer.createBrowserFetcher();
288
+
289
+ var BrowserType = '#{@browser_type.to_s}';
290
+ var LastResult = null;
291
+ var LastErr = null;
292
+ var LastExecutionFinished = false;
293
+ var LastHandleId = 0;
294
+
295
+ var AllPageHandles = {};
296
+ var AllElementHandles = {};
297
+
298
+ var CurrentBrowser = null;
299
+ var ConsoleMessages = {};
300
+
301
+ var ModalText = null;
302
+ var ModalTextMatched = false;
303
+
304
+ const EnsureBrowser = async function() {
305
+ var revisions = await BrowserFetcher.localRevisions();
306
+ if (!revisions.includes(default_revision)) {
307
+ console.log("isomorfeus-puppetmaster: Downloading Chromium " + default_revision);
308
+ await BrowserFetcher.download(default_revision);
309
+ return true;
310
+ } else { return false; }
311
+ }
312
+
313
+ const GetLastResult = function() {
314
+ if (LastExecutionFinished === true) {
315
+ var err = LastErr;
316
+ var res = LastResult;
317
+
318
+ LastErr = null;
319
+ LastRes = null;
320
+ LastExecutionFinished = false;
321
+
322
+ if (err) { return [null, {name: err.name, message: err.message, stack: err.stack}]; }
323
+ else { return [res, null]; }
324
+
325
+ } else {
326
+ var new_err = new Error('Last command did not yet finish execution!');
327
+ return [null, {name: new_err.name, message: new_err.message, stack: new_err.stack}];
328
+ }
329
+ };
330
+
331
+ const DialogAcceptHandler = async (dialog) => {
332
+ var msg = dialog.message()
333
+ ModalTextMatched = (ModalText === msg);
334
+ ModalText = msg;
335
+ await dialog.accept();
336
+ }
337
+
338
+ const DialogDismissHandler = async (dialog) => {
339
+ var msg = dialog.message()
340
+ ModalTextMatched = (ModalText === msg);
341
+ ModalText = msg;
342
+ await dialog.dismiss();
343
+ }
344
+
345
+ const RegisterElementHandle = function(element_handle) {
346
+ var entries = Object.entries(AllElementHandles);
347
+ for(var i = 0; i < entries.length; i++) {
348
+ if (entries[i][1] === element_handle) { return entries[i][0]; }
349
+ }
350
+ LastHandleId++;
351
+ var handle_id = LastHandleId;
352
+ AllElementHandles[handle_id] = element_handle;
353
+ return handle_id;
354
+ };
355
+
356
+ const RegisterPage = function(page) {
357
+ var entries = Object.entries(AllPageHandles);
358
+ for(var i = 0; i < entries.length; i++) {
359
+ if (entries[i][1] === page) { return entries[i][0]; }
360
+ }
361
+ LastHandleId++;
362
+ var handle_id = LastHandleId;
363
+ AllPageHandles[handle_id] = page;
364
+ ConsoleMessages[handle_id] = [];
365
+ AllPageHandles[handle_id].on('console', (msg) => {
366
+ ConsoleMessages[handle_id].push({level: msg.type(), location: msg.location(), text: msg.text()});
367
+ });
368
+ AllPageHandles[handle_id].on('pageerror', (error) => {
369
+ ConsoleMessages[handle_id].push({level: 'error', location: '', text: error.message});
370
+ });
371
+ return handle_id;
372
+ };
373
+
374
+ (async () => {
375
+ try {
376
+ if (process.arch !== 'arm') {
377
+ await EnsureBrowser();
378
+ }
379
+ CurrentBrowser = #{launch_line}
380
+ var page = (await CurrentBrowser.pages())[0];
381
+ page.setDefaultTimeout(#{@puppeteer_timeout});
382
+ var target = page.target();
383
+ var cdp_session = await target.createCDPSession();
384
+ await cdp_session.send('Page.setDownloadBehavior', {behavior: 'allow', downloadPath: '#{Isomorfeus::Puppetmaster.download_path}'});
385
+ if (#{@url_blacklist}.length > 0) { await cdp_session.send('Network.setBlockedURLs', {urls: #{@url_blacklist}}); }
386
+ await cdp_session.detach();
387
+ LastResult = RegisterPage(page);
388
+ LastExecutionFinished = true;
389
+ } catch (err) {
390
+ LastErr = err;
391
+ LastExecutionFinished = true;
392
+ }
393
+ })().catch(function(err) {
394
+ LastErr = err;
395
+ LastExecutionFinished = true;
396
+ });
397
+ JAVASCRIPT
398
+ end
399
+
400
+ def session
401
+ @session
402
+ end
403
+
404
+ def timed_out?(start_time)
405
+ if (Time.now - start_time) > @timeout
406
+ raise "Command Execution timed out!"
407
+ end
408
+ false
409
+ end
410
+ end
411
+ end
412
+ end
413
+ end