@browserless.io/browserless 2.37.0 → 2.37.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. package/build/browsers/index.js +15 -0
  2. package/build/routes/chrome/http/content.post.query.json +3 -0
  3. package/build/routes/chrome/http/download.post.query.json +3 -0
  4. package/build/routes/chrome/http/function.post.query.json +3 -0
  5. package/build/routes/chrome/http/pdf.post.query.json +3 -0
  6. package/build/routes/chrome/http/performance.post.query.json +3 -0
  7. package/build/routes/chrome/http/scrape.post.query.json +3 -0
  8. package/build/routes/chrome/http/screenshot.post.query.json +3 -0
  9. package/build/routes/chrome/tests/content.spec.js +21 -0
  10. package/build/routes/chrome/tests/json.spec.js +100 -0
  11. package/build/routes/chrome/ws/browser.query.json +3 -0
  12. package/build/routes/chrome/ws/cdp.query.json +3 -0
  13. package/build/routes/chrome/ws/function-connect.query.json +3 -0
  14. package/build/routes/chrome/ws/page.query.json +3 -0
  15. package/build/routes/chromium/http/content.post.query.json +3 -0
  16. package/build/routes/chromium/http/download.post.query.json +3 -0
  17. package/build/routes/chromium/http/function.post.query.json +3 -0
  18. package/build/routes/chromium/http/pdf.post.query.json +3 -0
  19. package/build/routes/chromium/http/performance.post.query.json +3 -0
  20. package/build/routes/chromium/http/scrape.post.query.json +3 -0
  21. package/build/routes/chromium/http/screenshot.post.query.json +3 -0
  22. package/build/routes/chromium/tests/content.spec.js +21 -0
  23. package/build/routes/chromium/tests/function.spec.js +27 -0
  24. package/build/routes/chromium/tests/json.spec.js +100 -0
  25. package/build/routes/chromium/ws/browser.query.json +3 -0
  26. package/build/routes/chromium/ws/cdp.query.json +3 -0
  27. package/build/routes/chromium/ws/function-connect.query.json +3 -0
  28. package/build/routes/chromium/ws/page.query.json +3 -0
  29. package/build/routes/edge/http/content.post.query.json +3 -0
  30. package/build/routes/edge/http/download.post.query.json +3 -0
  31. package/build/routes/edge/http/function.post.query.json +3 -0
  32. package/build/routes/edge/http/pdf.post.query.json +3 -0
  33. package/build/routes/edge/http/performance.post.query.json +3 -0
  34. package/build/routes/edge/http/scrape.post.query.json +3 -0
  35. package/build/routes/edge/http/screenshot.post.query.json +3 -0
  36. package/build/routes/edge/tests/content.spec.js +21 -0
  37. package/build/routes/edge/tests/json.spec.js +100 -0
  38. package/build/routes/edge/ws/browser.query.json +3 -0
  39. package/build/routes/edge/ws/cdp.query.json +3 -0
  40. package/build/routes/edge/ws/function-connect.query.json +3 -0
  41. package/build/routes/edge/ws/page.query.json +3 -0
  42. package/build/routes/management/http/kill.get.query.json +3 -0
  43. package/build/routes/management/http/sessions.get.query.json +3 -0
  44. package/build/routes/management/tests/management.spec.js +44 -0
  45. package/build/server.js +1 -1
  46. package/build/shim.js +11 -1
  47. package/build/shim.spec.js +14 -0
  48. package/build/types.d.ts +2 -0
  49. package/extensions/ublocklite/_locales/br_FR/messages.json +2 -2
  50. package/extensions/ublocklite/_locales/cs/messages.json +8 -8
  51. package/extensions/ublocklite/_locales/da/messages.json +5 -5
  52. package/extensions/ublocklite/_locales/es/messages.json +4 -4
  53. package/extensions/ublocklite/_locales/gl/messages.json +5 -5
  54. package/extensions/ublocklite/_locales/ka/messages.json +5 -5
  55. package/extensions/ublocklite/_locales/ru/messages.json +3 -3
  56. package/extensions/ublocklite/_locales/sq/messages.json +5 -5
  57. package/extensions/ublocklite/_locales/sv/messages.json +5 -5
  58. package/extensions/ublocklite/_locales/zh_CN/messages.json +5 -5
  59. package/extensions/ublocklite/css/settings.css +6 -0
  60. package/extensions/ublocklite/dashboard.html +1 -1
  61. package/extensions/ublocklite/js/background.js +10 -6
  62. package/extensions/ublocklite/js/dashboard.js +4 -5
  63. package/extensions/ublocklite/js/jsonpath.js +25 -10
  64. package/extensions/ublocklite/js/report.js +2 -4
  65. package/extensions/ublocklite/js/troubleshooting.js +30 -18
  66. package/extensions/ublocklite/manifest.json +2 -2
  67. package/extensions/ublocklite/rulesets/main/adguard-mobile.json +1 -1
  68. package/extensions/ublocklite/rulesets/main/adguard-spyware-url.json +1 -1
  69. package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +6 -4
  70. package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +2 -1
  71. package/extensions/ublocklite/rulesets/main/chn-0.json +5 -3
  72. package/extensions/ublocklite/rulesets/main/easylist.json +10 -13
  73. package/extensions/ublocklite/rulesets/main/easyprivacy.json +8 -9
  74. package/extensions/ublocklite/rulesets/main/fin-0.json +3 -1
  75. package/extensions/ublocklite/rulesets/main/ita-0.json +2 -0
  76. package/extensions/ublocklite/rulesets/main/jpn-1.json +8 -10
  77. package/extensions/ublocklite/rulesets/main/nor-0.json +2 -2
  78. package/extensions/ublocklite/rulesets/main/pol-0.json +1 -1
  79. package/extensions/ublocklite/rulesets/main/rus-1.json +2 -1
  80. package/extensions/ublocklite/rulesets/main/spa-1.json +6 -1
  81. package/extensions/ublocklite/rulesets/main/swe-1.json +5 -5
  82. package/extensions/ublocklite/rulesets/main/tur-0.json +2 -2
  83. package/extensions/ublocklite/rulesets/main/ublock-badware.json +4 -2
  84. package/extensions/ublocklite/rulesets/main/ublock-filters.json +25 -25
  85. package/extensions/ublocklite/rulesets/main/ukr-0.json +2 -2
  86. package/extensions/ublocklite/rulesets/main/urlhaus-full.json +610 -80
  87. package/extensions/ublocklite/rulesets/main/vie-1.json +20 -14
  88. package/extensions/ublocklite/rulesets/regex/easylist.json +1 -6
  89. package/extensions/ublocklite/rulesets/regex/jpn-1.json +1 -1
  90. package/extensions/ublocklite/rulesets/regex/ublock-badware.json +3 -4
  91. package/extensions/ublocklite/rulesets/regex/ublock-filters.json +11 -9
  92. package/extensions/ublocklite/rulesets/ruleset-details.json +120 -120
  93. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +2 -2
  94. package/extensions/ublocklite/rulesets/scripting/generic/ita-0.js +1 -1
  95. package/extensions/ublocklite/rulesets/scripting/procedural/adguard-mobile.js +2 -2
  96. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-cookies.js +3 -3
  97. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-others.js +2 -2
  98. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-overlays.js +3 -3
  99. package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +3 -3
  100. package/extensions/ublocklite/rulesets/scripting/procedural/fin-0.js +1 -1
  101. package/extensions/ublocklite/rulesets/scripting/procedural/grc-0.js +3 -3
  102. package/extensions/ublocklite/rulesets/scripting/procedural/ind-0.js +3 -3
  103. package/extensions/ublocklite/rulesets/scripting/procedural/jpn-1.js +3 -3
  104. package/extensions/ublocklite/rulesets/scripting/procedural/rus-0.js +3 -3
  105. package/extensions/ublocklite/rulesets/scripting/procedural/spa-1.js +3 -3
  106. package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +2 -2
  107. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.js +3 -3
  108. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.addEventListener-defuser.js +7 -3
  109. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.prevent-setTimeout.js +5 -1
  110. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.addEventListener-defuser.js +5 -1
  111. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-requestAnimationFrame.js +5 -1
  112. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-setTimeout.js +5 -1
  113. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +2 -2
  114. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-local-storage-item.js +2 -2
  115. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +2 -2
  116. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +2 -2
  117. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.addEventListener-defuser.js +5 -1
  118. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.addEventListener-defuser.js +5 -1
  119. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.json-prune.js +2 -2
  120. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.prevent-setInterval.js +5 -1
  121. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.prevent-setTimeout.js +5 -1
  122. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.addEventListener-defuser.js +5 -1
  123. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.noeval-if.js +5 -1
  124. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-fetch.js +5 -1
  125. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setInterval.js +5 -1
  126. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setTimeout.js +5 -1
  127. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-window-open.js +5 -1
  128. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-class.js +2 -2
  129. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-argument.js +5 -1
  130. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-outbound-text.js +5 -1
  131. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-suppress-native-method.js +5 -1
  132. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.addEventListener-defuser.js +5 -1
  133. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.evaldata-prune.js +5 -1
  134. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.noeval-if.js +5 -1
  135. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-fetch.js +6 -2
  136. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setInterval.js +5 -1
  137. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +5 -1
  138. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-window-open.js +5 -1
  139. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.addEventListener-defuser.js +5 -1
  140. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.prevent-setInterval.js +5 -1
  141. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.prevent-setTimeout.js +5 -1
  142. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.prevent-fetch.js +5 -1
  143. package/extensions/ublocklite/rulesets/scripting/scriptlet/est-0.addEventListener-defuser.js +5 -1
  144. package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.prevent-setTimeout.js +5 -1
  145. package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.remove-node-text.js +449 -0
  146. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.addEventListener-defuser.js +5 -1
  147. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-fetch.js +5 -1
  148. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-requestAnimationFrame.js +5 -1
  149. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setInterval.js +5 -1
  150. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setTimeout.js +5 -1
  151. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-window-open.js +5 -1
  152. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.addEventListener-defuser.js +5 -1
  153. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-setTimeout.js +5 -1
  154. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-window-open.js +5 -1
  155. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.addEventListener-defuser.js +5 -1
  156. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.noeval-if.js +5 -1
  157. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-fetch.js +5 -1
  158. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-setTimeout.js +5 -1
  159. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-window-open.js +5 -1
  160. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.addEventListener-defuser.js +5 -1
  161. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-fetch.js +5 -1
  162. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-setTimeout.js +5 -1
  163. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-window-open.js +5 -1
  164. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.addEventListener-defuser.js +5 -1
  165. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-fetch.js +5 -1
  166. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-setTimeout.js +5 -1
  167. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-window-open.js +5 -1
  168. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.addEventListener-defuser.js +5 -1
  169. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.json-prune.js +2 -2
  170. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.noeval-if.js +5 -1
  171. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-fetch.js +5 -1
  172. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setInterval.js +5 -1
  173. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setTimeout.js +5 -1
  174. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-window-open.js +5 -1
  175. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.addEventListener-defuser.js +5 -1
  176. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-fetch.js +5 -1
  177. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setInterval.js +5 -1
  178. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setTimeout.js +5 -1
  179. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-window-open.js +5 -1
  180. package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.prevent-setTimeout.js +5 -1
  181. package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.prevent-window-open.js +5 -1
  182. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.addEventListener-defuser.js +5 -1
  183. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-fetch.js +5 -1
  184. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-setTimeout.js +5 -1
  185. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.addEventListener-defuser.js +5 -1
  186. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-fetch.js +5 -1
  187. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-setTimeout.js +5 -1
  188. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.addEventListener-defuser.js +5 -1
  189. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.noeval-if.js +5 -1
  190. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-setInterval.js +5 -1
  191. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-setTimeout.js +5 -1
  192. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-window-open.js +5 -1
  193. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.noeval-if.js +5 -1
  194. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setInterval.js +5 -1
  195. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setTimeout.js +5 -1
  196. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-window-open.js +5 -1
  197. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-stack-trace.js +2 -2
  198. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +8 -4
  199. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.noeval-if.js +5 -1
  200. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-fetch.js +5 -1
  201. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setInterval.js +5 -1
  202. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setTimeout.js +5 -1
  203. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-window-open.js +5 -1
  204. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-node-text.js +3 -3
  205. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-attr.js +2 -2
  206. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +3 -3
  207. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.addEventListener-defuser.js +5 -1
  208. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-fetch.js +5 -1
  209. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-setTimeout.js +5 -1
  210. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +5 -1
  211. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.json-prune.js +2 -2
  212. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.noeval-if.js +5 -1
  213. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +5 -1
  214. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-requestAnimationFrame.js +5 -1
  215. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setInterval.js +5 -1
  216. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setTimeout.js +5 -1
  217. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-window-open.js +5 -1
  218. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.addEventListener-defuser.js +5 -1
  219. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.noeval-if.js +5 -1
  220. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setInterval.js +5 -1
  221. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setTimeout.js +5 -1
  222. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.addEventListener-defuser.js +5 -1
  223. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-fetch.js +5 -1
  224. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setInterval.js +5 -1
  225. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setTimeout.js +5 -1
  226. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-window-open.js +6 -2
  227. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +1 -1
  228. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.addEventListener-defuser.js +5 -1
  229. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.noeval-if.js +5 -1
  230. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.trusted-replace-argument.js +5 -1
  231. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-json-edit-xhr-request.js +848 -0
  232. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-replace-node-text.js +1 -1
  233. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-current-script.js +3 -3
  234. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-read.js +1 -1
  235. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-stack-trace.js +3 -3
  236. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.addEventListener-defuser.js +7 -3
  237. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-fetch-response.js +29 -11
  238. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-xhr-response.js +24 -10
  239. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit.js +29 -11
  240. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-fetch-response.js +2 -2
  241. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.jsonl-edit-xhr-response.js +24 -10
  242. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +6 -2
  243. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +7 -3
  244. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-requestAnimationFrame.js +5 -1
  245. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setInterval.js +5 -1
  246. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +7 -3
  247. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-window-open.js +5 -1
  248. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-xhr.js +3 -3
  249. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-node-text.js +2 -2
  250. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-constant.js +1 -1
  251. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-cookie.js +2 -2
  252. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit-fetch-request.js +941 -0
  253. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit-fetch-response.js +29 -11
  254. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit.js +29 -11
  255. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-override-element-method.js +5 -1
  256. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-dom-bypass.js +5 -1
  257. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-fetch.js +7 -3
  258. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-argument.js +5 -1
  259. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-node-text.js +2 -2
  260. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-outbound-text.js +7 -3
  261. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +6 -2
  262. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-fetch-response.js +29 -11
  263. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-xhr-response.js +24 -10
  264. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.prevent-setTimeout.js +5 -1
  265. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.trusted-prevent-dom-bypass.js +5 -1
  266. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-fetch.js +5 -1
  267. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-window-open.js +5 -1
  268. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-current-script.js +2 -2
  269. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-on-property-read.js +1 -1
  270. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.addEventListener-defuser.js +5 -1
  271. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-fetch.js +5 -1
  272. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-setTimeout.js +5 -1
  273. package/extensions/ublocklite/rulesets/scripting/specific/adguard-mobile.js +3 -3
  274. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-cookies.js +3 -3
  275. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-notifications.js +3 -3
  276. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-others.js +3 -3
  277. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-overlays.js +3 -3
  278. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-social.js +3 -3
  279. package/extensions/ublocklite/rulesets/scripting/specific/chn-0.js +3 -3
  280. package/extensions/ublocklite/rulesets/scripting/specific/deu-0.js +3 -3
  281. package/extensions/ublocklite/rulesets/scripting/specific/easylist.js +3 -3
  282. package/extensions/ublocklite/rulesets/scripting/specific/fin-0.js +3 -3
  283. package/extensions/ublocklite/rulesets/scripting/specific/grc-0.js +3 -3
  284. package/extensions/ublocklite/rulesets/scripting/specific/idn-0.js +3 -3
  285. package/extensions/ublocklite/rulesets/scripting/specific/ind-0.js +3 -3
  286. package/extensions/ublocklite/rulesets/scripting/specific/isr-0.js +1 -1
  287. package/extensions/ublocklite/rulesets/scripting/specific/ita-0.js +3 -3
  288. package/extensions/ublocklite/rulesets/scripting/specific/jpn-1.js +3 -3
  289. package/extensions/ublocklite/rulesets/scripting/specific/kor-1.js +3 -3
  290. package/extensions/ublocklite/rulesets/scripting/specific/rus-0.js +3 -3
  291. package/extensions/ublocklite/rulesets/scripting/specific/spa-1.js +3 -3
  292. package/extensions/ublocklite/rulesets/scripting/specific/swe-1.js +3 -3
  293. package/extensions/ublocklite/rulesets/scripting/specific/tur-0.js +3 -3
  294. package/extensions/ublocklite/rulesets/scripting/specific/ublock-filters.js +3 -3
  295. package/extensions/ublocklite/rulesets/scripting/specific/vie-1.js +3 -3
  296. package/extensions/ublocklite/rulesets/scriptlet-details.json +90 -32
  297. package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +5 -0
  298. package/extensions/ublocklite/rulesets/strictblock/chn-0.json +67 -1
  299. package/extensions/ublocklite/rulesets/strictblock/easylist.json +1 -1
  300. package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +17 -1
  301. package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +198 -196
  302. package/extensions/ublocklite/rulesets/strictblock/nor-0.json +1 -1
  303. package/extensions/ublocklite/rulesets/strictblock/pol-0.json +2 -0
  304. package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +532 -530
  305. package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +23 -19
  306. package/extensions/ublocklite/rulesets/strictblock/ukr-0.json +2 -0
  307. package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +610 -80
  308. package/extensions/ublocklite/ublock.zip +0 -0
  309. package/package.json +13 -12
  310. package/scripts/install-debugger.js +2 -2
  311. package/src/browsers/index.ts +20 -0
  312. package/src/routes/chrome/tests/content.spec.ts +24 -0
  313. package/src/routes/chrome/tests/json.spec.ts +134 -0
  314. package/src/routes/chromium/tests/content.spec.ts +24 -0
  315. package/src/routes/chromium/tests/function.spec.ts +33 -0
  316. package/src/routes/chromium/tests/json.spec.ts +134 -0
  317. package/src/routes/chromium/tests/scrape.spec.ts +3 -1
  318. package/src/routes/edge/tests/content.spec.ts +24 -0
  319. package/src/routes/edge/tests/json.spec.ts +134 -0
  320. package/src/routes/management/tests/management.spec.ts +66 -0
  321. package/src/server.ts +1 -1
  322. package/src/shared/screenshot.http.ts +1 -1
  323. package/src/shim.spec.ts +18 -0
  324. package/src/shim.ts +15 -1
  325. package/src/types.ts +2 -0
  326. package/static/docs/swagger.json +4 -1
  327. package/static/docs/swagger.min.json +4 -1
  328. package/static/function/client.js +86 -92
  329. package/static/function/index.html +86 -92
  330. package/build/routes/chrome/tests/json-version.spec.js +0 -37
  331. package/build/routes/chromium/tests/json-version.spec.js +0 -37
  332. package/build/routes/edge/tests/json-version.spec.js +0 -37
  333. package/src/routes/chrome/tests/json-version.spec.ts +0 -52
  334. package/src/routes/chromium/tests/json-version.spec.ts +0 -52
  335. package/src/routes/edge/tests/json-version.spec.ts +0 -52
  336. /package/build/routes/chrome/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
  337. /package/build/routes/chromium/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
  338. /package/build/routes/edge/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
@@ -151,6 +151,72 @@ describe('Management APIs', function () {
151
151
  });
152
152
  });
153
153
 
154
+ describe('Static Files Serving', () => {
155
+ it('serves docs pages', async () => {
156
+ await start();
157
+
158
+ await fetch(
159
+ 'http://localhost:3000/docs/index.html?token=6R0W53R135510',
160
+ ).then(async (res) => {
161
+ expect(res.status).to.equal(200);
162
+ expect(res.headers.get('content-type')).to.equal('text/html');
163
+ const content = await res.text();
164
+ expect(content).to.include('<title>Browserless Docs</title>');
165
+ });
166
+
167
+ await fetch(
168
+ 'http://localhost:3000/docs/docs.js?token=6R0W53R135510',
169
+ ).then(async (res) => {
170
+ expect(res.status).to.equal(200);
171
+ expect(res.headers.get('content-type')).to.equal(
172
+ 'application/javascript',
173
+ );
174
+ const content = await res.text();
175
+ expect(content).to.be.an('string');
176
+ });
177
+ });
178
+
179
+ it('serves swagger.json', async () => {
180
+ await start();
181
+
182
+ await fetch(
183
+ 'http://localhost:3000/docs/swagger.json?token=6R0W53R135510',
184
+ ).then(async (res) => {
185
+ expect(res.status).to.equal(200);
186
+ expect(res.headers.get('content-type')).to.equal('application/json');
187
+ const content = await res.json();
188
+ expect(content).to.be.an('object');
189
+ });
190
+ });
191
+
192
+ it('returns 404 if debugger is disabled', async () => {
193
+ process.env.ENABLE_DEBUGGER = 'false';
194
+ const config = new Config();
195
+ config.setToken('6R0W53R135510');
196
+ // Ensure debugger is not available
197
+
198
+ await start({ config });
199
+
200
+ await fetch(
201
+ 'http://localhost:3000/debugger/some-file.html?token=6R0W53R135510',
202
+ ).then(async (res) => {
203
+ expect(res.status).to.equal(404);
204
+ expect(res.headers.get('content-type')).to.equal(
205
+ 'text/plain; charset=UTF-8',
206
+ );
207
+ });
208
+ });
209
+
210
+ it('handles requests without authentication token for static files', async () => {
211
+ await start();
212
+
213
+ await fetch('http://localhost:3000/docs/index.html').then(async (res) => {
214
+ expect(res.status).to.equal(200);
215
+ expect(res.headers.get('content-type')).to.equal('text/html');
216
+ });
217
+ });
218
+ });
219
+
154
220
  it('allows requests to /config', async () => {
155
221
  await start();
156
222
 
package/src/server.ts CHANGED
@@ -424,7 +424,7 @@ export class HTTPServer extends EventEmitter {
424
424
 
425
425
  public async shutdown(): Promise<void> {
426
426
  this.logger.info(`HTTP Server is shutting down`);
427
- await new Promise((r) => this.server.close(r));
427
+ await new Promise((r) => this.server?.close(r));
428
428
 
429
429
  if (this.server) {
430
430
  this.server.removeAllListeners();
@@ -63,7 +63,7 @@ export interface BodySchema {
63
63
  url?: Parameters<Page['goto']>[0];
64
64
  userAgent?: Parameters<Page['setUserAgent']>[0];
65
65
  viewport?: Parameters<Page['setViewport']>[0];
66
- waitForEvent?: WaitForEventOptions;
66
+ waitForEvent?: WaitForEventOptions;
67
67
  waitForFunction?: WaitForFunctionOptions;
68
68
  waitForSelector?: WaitForSelectorOptions;
69
69
  waitForTimeout?: number;
package/src/shim.spec.ts CHANGED
@@ -174,6 +174,24 @@ describe('Request Shimming', () => {
174
174
  });
175
175
  });
176
176
 
177
+ describe('insecure certs', () => {
178
+ it('converts ignoreHTTPSErrors to acceptInsecureCerts', () => {
179
+ const url = 'wss://localhost?ignoreHTTPSErrors';
180
+ const final = 'wss://localhost/?launch={"acceptInsecureCerts":true}';
181
+ const shimmed = shimLegacyRequests(new URL(url));
182
+
183
+ expect(decodeURIComponent(shimmed.href)).to.equal(final);
184
+ });
185
+
186
+ it('acceptInsecureCerts takes precedence over ignoreHTTPSErrors', () => {
187
+ const url = 'wss://localhost?ignoreHTTPSErrors&launch={"acceptInsecureCerts":false}';
188
+ const final = 'wss://localhost/?launch={"acceptInsecureCerts":false}';
189
+ const shimmed = shimLegacyRequests(new URL(url));
190
+
191
+ expect(decodeURIComponent(shimmed.href)).to.equal(final);
192
+ });
193
+ });
194
+
177
195
  describe('token shimming', () => {
178
196
  it('converts token query parameters to an authorization header', () => {
179
197
  const url = 'wss://localhost?token=12345';
package/src/shim.ts CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  safeParse,
6
6
  } from '@browserless.io/browserless';
7
7
 
8
- const shimParam = ['headless', 'stealth', 'ignoreDefaultArgs', 'slowMo'];
8
+ const shimParam = ['headless', 'stealth', 'ignoreDefaultArgs', 'slowMo', 'ignoreHTTPSErrors'];
9
9
 
10
10
  /**
11
11
  * Obfuscates the ?token parameter by shifting it to a header instead of a query-parameter.
@@ -74,6 +74,20 @@ export function shimLegacyRequests(url: URL): URL {
74
74
  launchParams.ignoreHTTPSErrors = ignoreHTTPSErrors !== 'false';
75
75
  }
76
76
 
77
+ // When acceptInsecureCerts is set, ignoreHTTPSErrors is ignored
78
+ if (launchParams.acceptInsecureCerts !== undefined) {
79
+ launchParams.ignoreHTTPSErrors = undefined;
80
+ }
81
+
82
+ // When ignoreHTTPSErrors sent, convert it to acceptInsecureCerts
83
+ if (
84
+ typeof ignoreHTTPSErrors !== 'undefined' &&
85
+ launchParams.acceptInsecureCerts === undefined
86
+ ) {
87
+ launchParams.acceptInsecureCerts = ignoreHTTPSErrors !== 'false';
88
+ launchParams.ignoreHTTPSErrors = undefined;
89
+ }
90
+
77
91
  if (
78
92
  typeof ignoreDefaultArgs !== 'undefined' &&
79
93
  launchParams.ignoreDefaultArgs === undefined
package/src/types.ts CHANGED
@@ -373,7 +373,9 @@ export interface CDPLaunchOptions extends BrowserlessLaunch {
373
373
  dumpio?: boolean;
374
374
  headless?: boolean | 'shell';
375
375
  ignoreDefaultArgs?: boolean | string[];
376
+ /** @deprecated use acceptInsecureCerts field instead */
376
377
  ignoreHTTPSErrors?: boolean;
378
+ acceptInsecureCerts?: boolean;
377
379
  slowMo?: number;
378
380
  stealth?: boolean;
379
381
  timeout?: number;
@@ -425,6 +425,9 @@
425
425
  "ignoreHTTPSErrors": {
426
426
  "type": "boolean"
427
427
  },
428
+ "acceptInsecureCerts": {
429
+ "type": "boolean"
430
+ },
428
431
  "slowMo": {
429
432
  "type": "number"
430
433
  },
@@ -981,7 +984,7 @@
981
984
  },
982
985
  "info": {
983
986
  "title": "Browserless",
984
- "version": "2.37.0",
987
+ "version": "2.37.1",
985
988
  "x-logo": {
986
989
  "altText": "browserless logo",
987
990
  "url": "./docs/browserless-logo-inline.svg"
@@ -425,6 +425,9 @@
425
425
  "ignoreHTTPSErrors": {
426
426
  "type": "boolean"
427
427
  },
428
+ "acceptInsecureCerts": {
429
+ "type": "boolean"
430
+ },
428
431
  "slowMo": {
429
432
  "type": "number"
430
433
  },
@@ -981,7 +984,7 @@
981
984
  },
982
985
  "info": {
983
986
  "title": "Browserless",
984
- "version": "2.37.0",
987
+ "version": "2.37.1",
985
988
  "x-logo": {
986
989
  "altText": "browserless logo",
987
990
  "url": "./docs/browserless-logo-inline.svg"
@@ -4422,7 +4422,7 @@
4422
4422
  // node_modules/puppeteer-core/lib/esm/puppeteer/generated/version.js
4423
4423
  init_dirname();
4424
4424
  init_buffer2();
4425
- var packageVersion = "24.22.3";
4425
+ var packageVersion = "24.23.0";
4426
4426
 
4427
4427
  // node_modules/puppeteer-core/lib/esm/puppeteer/util/assert.js
4428
4428
  init_dirname();
@@ -7399,14 +7399,12 @@
7399
7399
  * import {KnownDevices} from 'puppeteer';
7400
7400
  * const iPhone = KnownDevices['iPhone 15 Pro'];
7401
7401
  *
7402
- * (async () => {
7403
- * const browser = await puppeteer.launch();
7404
- * const page = await browser.newPage();
7405
- * await page.emulate(iPhone);
7406
- * await page.goto('https://www.google.com');
7407
- * // other actions...
7408
- * await browser.close();
7409
- * })();
7402
+ * const browser = await puppeteer.launch();
7403
+ * const page = await browser.newPage();
7404
+ * await page.emulate(iPhone);
7405
+ * await page.goto('https://www.google.com');
7406
+ * // other actions...
7407
+ * await browser.close();
7410
7408
  * ```
7411
7409
  */
7412
7410
  async emulate(device) {
@@ -7947,22 +7945,21 @@
7947
7945
  *
7948
7946
  * ```ts
7949
7947
  * import puppeteer from 'puppeteer';
7950
- * (async () => {
7951
- * const browser = await puppeteer.launch();
7952
- * const page = await browser.newPage();
7953
- * let currentURL;
7954
- * page
7955
- * .waitForSelector('img')
7956
- * .then(() => console.log('First URL with image: ' + currentURL));
7957
- * for (currentURL of [
7958
- * 'https://example.com',
7959
- * 'https://google.com',
7960
- * 'https://bbc.com',
7961
- * ]) {
7962
- * await page.goto(currentURL);
7963
- * }
7964
- * await browser.close();
7965
- * })();
7948
+ *
7949
+ * const browser = await puppeteer.launch();
7950
+ * const page = await browser.newPage();
7951
+ * let currentURL;
7952
+ * page
7953
+ * .waitForSelector('img')
7954
+ * .then(() => console.log('First URL with image: ' + currentURL));
7955
+ * for (currentURL of [
7956
+ * 'https://example.com',
7957
+ * 'https://google.com',
7958
+ * 'https://bbc.com',
7959
+ * ]) {
7960
+ * await page.goto(currentURL);
7961
+ * }
7962
+ * await browser.close();
7966
7963
  * ```
7967
7964
  *
7968
7965
  * @param selector -
@@ -8012,14 +8009,13 @@
8012
8009
  *
8013
8010
  * ```ts
8014
8011
  * import puppeteer from 'puppeteer';
8015
- * (async () => {
8016
- * const browser = await puppeteer.launch();
8017
- * const page = await browser.newPage();
8018
- * const watchDog = page.waitForFunction('window.innerWidth < 100');
8019
- * await page.setViewport({width: 50, height: 50});
8020
- * await watchDog;
8021
- * await browser.close();
8022
- * })();
8012
+ *
8013
+ * const browser = await puppeteer.launch();
8014
+ * const page = await browser.newPage();
8015
+ * const watchDog = page.waitForFunction('window.innerWidth < 100');
8016
+ * await page.setViewport({width: 50, height: 50});
8017
+ * await watchDog;
8018
+ * await browser.close();
8023
8019
  * ```
8024
8020
  *
8025
8021
  * @example
@@ -11288,24 +11284,22 @@
11288
11284
  * ```ts
11289
11285
  * import puppeteer from 'puppeteer';
11290
11286
  *
11291
- * (async () => {
11292
- * const browser = await puppeteer.launch();
11293
- * const page = await browser.newPage();
11294
- * let currentURL;
11295
- * page
11296
- * .mainFrame()
11297
- * .waitForSelector('img')
11298
- * .then(() => console.log('First URL with image: ' + currentURL));
11287
+ * const browser = await puppeteer.launch();
11288
+ * const page = await browser.newPage();
11289
+ * let currentURL;
11290
+ * page
11291
+ * .mainFrame()
11292
+ * .waitForSelector('img')
11293
+ * .then(() => console.log('First URL with image: ' + currentURL));
11299
11294
  *
11300
- * for (currentURL of [
11301
- * 'https://example.com',
11302
- * 'https://google.com',
11303
- * 'https://bbc.com',
11304
- * ]) {
11305
- * await page.goto(currentURL);
11306
- * }
11307
- * await browser.close();
11308
- * })();
11295
+ * for (currentURL of [
11296
+ * 'https://example.com',
11297
+ * 'https://google.com',
11298
+ * 'https://bbc.com',
11299
+ * ]) {
11300
+ * await page.goto(currentURL);
11301
+ * }
11302
+ * await browser.close();
11309
11303
  * ```
11310
11304
  *
11311
11305
  * @param selector - The selector to query and wait for.
@@ -11327,14 +11321,14 @@
11327
11321
  * ```ts
11328
11322
  * import puppeteer from 'puppeteer';
11329
11323
  *
11330
- * (async () => {
11331
- * . const browser = await puppeteer.launch();
11332
- * . const page = await browser.newPage();
11333
- * . const watchDog = page.mainFrame().waitForFunction('window.innerWidth < 100');
11334
- * . page.setViewport({width: 50, height: 50});
11335
- * . await watchDog;
11336
- * . await browser.close();
11337
- * })();
11324
+ * const browser = await puppeteer.launch();
11325
+ * const page = await browser.newPage();
11326
+ * const watchDog = page
11327
+ * .mainFrame()
11328
+ * .waitForFunction('window.innerWidth < 100');
11329
+ * page.setViewport({width: 50, height: 50});
11330
+ * await watchDog;
11331
+ * await browser.close();
11338
11332
  * ```
11339
11333
  *
11340
11334
  * To pass arguments from Node.js to the predicate of `page.waitForFunction` function:
@@ -12364,9 +12358,10 @@
12364
12358
  *
12365
12359
  * ```ts
12366
12360
  * const feedHandle = await page.$('.feed');
12367
- * expect(
12368
- * await feedHandle.$$eval('.tweet', nodes => nodes.map(n => n.innerText)),
12369
- * ).toEqual(['Hello!', 'Hi!']);
12361
+ *
12362
+ * const listOfTweets = await feedHandle.$$eval('.tweet', nodes =>
12363
+ * nodes.map(n => n.innerText),
12364
+ * );
12370
12365
  * ```
12371
12366
  *
12372
12367
  * @param selector -
@@ -12424,24 +12419,22 @@
12424
12419
  * ```ts
12425
12420
  * import puppeteer from 'puppeteer';
12426
12421
  *
12427
- * (async () => {
12428
- * const browser = await puppeteer.launch();
12429
- * const page = await browser.newPage();
12430
- * let currentURL;
12431
- * page
12432
- * .mainFrame()
12433
- * .waitForSelector('img')
12434
- * .then(() => console.log('First URL with image: ' + currentURL));
12422
+ * const browser = await puppeteer.launch();
12423
+ * const page = await browser.newPage();
12424
+ * let currentURL;
12425
+ * page
12426
+ * .mainFrame()
12427
+ * .waitForSelector('img')
12428
+ * .then(() => console.log('First URL with image: ' + currentURL));
12435
12429
  *
12436
- * for (currentURL of [
12437
- * 'https://example.com',
12438
- * 'https://google.com',
12439
- * 'https://bbc.com',
12440
- * ]) {
12441
- * await page.goto(currentURL);
12442
- * }
12443
- * await browser.close();
12444
- * })();
12430
+ * for (currentURL of [
12431
+ * 'https://example.com',
12432
+ * 'https://google.com',
12433
+ * 'https://bbc.com',
12434
+ * ]) {
12435
+ * await page.goto(currentURL);
12436
+ * }
12437
+ * await browser.close();
12445
12438
  * ```
12446
12439
  *
12447
12440
  * @param selector - The selector to query and wait for.
@@ -15466,7 +15459,6 @@ ${sourceUrlComment}
15466
15459
  * `respond()` aren't called).
15467
15460
  */
15468
15461
  continueRequestOverrides() {
15469
- assert(this.interception.enabled, "Request Interception is not enabled!");
15470
15462
  return this.interception.requestOverrides;
15471
15463
  }
15472
15464
  /**
@@ -15474,14 +15466,12 @@ ${sourceUrlComment}
15474
15466
  * interception is allowed to respond (ie, `abort()` is not called).
15475
15467
  */
15476
15468
  responseForRequest() {
15477
- assert(this.interception.enabled, "Request Interception is not enabled!");
15478
15469
  return this.interception.response;
15479
15470
  }
15480
15471
  /**
15481
15472
  * The most recent reason for aborting the request
15482
15473
  */
15483
15474
  abortErrorReason() {
15484
- assert(this.interception.enabled, "Request Interception is not enabled!");
15485
15475
  return this.interception.abortReason;
15486
15476
  }
15487
15477
  /**
@@ -15542,8 +15532,12 @@ ${sourceUrlComment}
15542
15532
  return await this._continue(this.interception.requestOverrides);
15543
15533
  }
15544
15534
  }
15545
- #canBeIntercepted() {
15546
- return !this.url().startsWith("data:") && !this._fromMemoryCache;
15535
+ /**
15536
+ * @internal
15537
+ */
15538
+ verifyInterception() {
15539
+ assert(this.interception.enabled, "Request Interception is not enabled!");
15540
+ assert(!this.interception.handled, "Request is already handled!");
15547
15541
  }
15548
15542
  /**
15549
15543
  * Continues request with optional request overrides.
@@ -15574,11 +15568,10 @@ ${sourceUrlComment}
15574
15568
  * Exception is immediately thrown if the request interception is not enabled.
15575
15569
  */
15576
15570
  async continue(overrides = {}, priority) {
15577
- if (!this.#canBeIntercepted()) {
15571
+ this.verifyInterception();
15572
+ if (!this.canBeIntercepted()) {
15578
15573
  return;
15579
15574
  }
15580
- assert(this.interception.enabled, "Request Interception is not enabled!");
15581
- assert(!this.interception.handled, "Request is already handled!");
15582
15575
  if (priority === void 0) {
15583
15576
  return await this._continue(overrides);
15584
15577
  }
@@ -15631,11 +15624,10 @@ ${sourceUrlComment}
15631
15624
  * Exception is immediately thrown if the request interception is not enabled.
15632
15625
  */
15633
15626
  async respond(response, priority) {
15634
- if (!this.#canBeIntercepted()) {
15627
+ this.verifyInterception();
15628
+ if (!this.canBeIntercepted()) {
15635
15629
  return;
15636
15630
  }
15637
- assert(this.interception.enabled, "Request Interception is not enabled!");
15638
- assert(!this.interception.handled, "Request is already handled!");
15639
15631
  if (priority === void 0) {
15640
15632
  return await this._respond(response);
15641
15633
  }
@@ -15669,13 +15661,12 @@ ${sourceUrlComment}
15669
15661
  * throw an exception immediately.
15670
15662
  */
15671
15663
  async abort(errorCode = "failed", priority) {
15672
- if (!this.#canBeIntercepted()) {
15664
+ this.verifyInterception();
15665
+ if (!this.canBeIntercepted()) {
15673
15666
  return;
15674
15667
  }
15675
15668
  const errorReason = errorReasons[errorCode];
15676
15669
  assert(errorReason, "Unknown error code: " + errorCode);
15677
- assert(this.interception.enabled, "Request Interception is not enabled!");
15678
- assert(!this.interception.handled, "Request is already handled!");
15679
15670
  if (priority === void 0) {
15680
15671
  return await this._abort(errorReason);
15681
15672
  }
@@ -15900,6 +15891,9 @@ ${sourceUrlComment}
15900
15891
  errorText: this._failureText
15901
15892
  };
15902
15893
  }
15894
+ canBeIntercepted() {
15895
+ return !this.url().startsWith("data:") && !this._fromMemoryCache;
15896
+ }
15903
15897
  /**
15904
15898
  * @internal
15905
15899
  */