@browserless.io/browserless 2.34.1 → 2.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. package/CHANGELOG.md +25 -3
  2. package/build/limiter.js +1 -1
  3. package/build/routes/chrome/http/content.post.body.json +90 -1
  4. package/build/routes/chrome/http/pdf.post.body.json +90 -1
  5. package/build/routes/chrome/http/scrape.post.body.json +90 -1
  6. package/build/routes/chrome/http/scrape.post.response.json +21 -22
  7. package/build/routes/chrome/http/screenshot.post.body.json +90 -1
  8. package/build/routes/chromium/http/content.post.body.json +90 -1
  9. package/build/routes/chromium/http/pdf.post.body.json +90 -1
  10. package/build/routes/chromium/http/scrape.post.body.json +90 -1
  11. package/build/routes/chromium/http/scrape.post.response.json +21 -22
  12. package/build/routes/chromium/http/screenshot.post.body.json +90 -1
  13. package/build/routes/chromium/tests/scrape.spec.js +41 -0
  14. package/build/routes/edge/http/content.post.body.json +90 -1
  15. package/build/routes/edge/http/pdf.post.body.json +90 -1
  16. package/build/routes/edge/http/scrape.post.body.json +90 -1
  17. package/build/routes/edge/http/scrape.post.response.json +21 -22
  18. package/build/routes/edge/http/screenshot.post.body.json +90 -1
  19. package/build/sdk-utils.js +1 -1
  20. package/build/shared/scrape.http.js +13 -3
  21. package/docker/base/Dockerfile +8 -8
  22. package/docker/chrome/Dockerfile +2 -2
  23. package/docker/chromium/Dockerfile +2 -2
  24. package/docker/edge/Dockerfile +2 -2
  25. package/docker/firefox/Dockerfile +2 -2
  26. package/docker/multi/Dockerfile +2 -2
  27. package/docker/sdk/Dockerfile +1 -1
  28. package/docker/webkit/Dockerfile +2 -2
  29. package/extensions/ublocklite/_locales/br_FR/messages.json +1 -1
  30. package/extensions/ublocklite/_locales/he/messages.json +2 -2
  31. package/extensions/ublocklite/_locales/hu/messages.json +1 -1
  32. package/extensions/ublocklite/_locales/pt_BR/messages.json +1 -1
  33. package/extensions/ublocklite/_locales/pt_PT/messages.json +1 -1
  34. package/extensions/ublocklite/_locales/sk/messages.json +6 -6
  35. package/extensions/ublocklite/_locales/sq/messages.json +17 -17
  36. package/extensions/ublocklite/_locales/th/messages.json +1 -1
  37. package/extensions/ublocklite/_locales/tr/messages.json +1 -1
  38. package/extensions/ublocklite/_locales/vi/messages.json +1 -1
  39. package/extensions/ublocklite/css/common.css +5 -3
  40. package/extensions/ublocklite/css/default.css +10 -0
  41. package/extensions/ublocklite/js/dnr-parser.js +1 -1
  42. package/extensions/ublocklite/js/filter-lists.js +1 -4
  43. package/extensions/ublocklite/js/popup.js +2 -2
  44. package/extensions/ublocklite/js/ruleset-manager.js +5 -121
  45. package/extensions/ublocklite/js/rw-dnr-editor.js +8 -4
  46. package/extensions/ublocklite/js/scripting/tool-overlay.js +1 -0
  47. package/extensions/ublocklite/js/settings.js +2 -1
  48. package/extensions/ublocklite/js/static-filtering-parser.js +8 -8
  49. package/extensions/ublocklite/js/ubo-parser.js +181 -65
  50. package/extensions/ublocklite/manifest.json +3 -3
  51. package/extensions/ublocklite/rulesets/generic-details.json +6 -16
  52. package/extensions/ublocklite/rulesets/main/adguard-mobile.json +25 -4
  53. package/extensions/ublocklite/rulesets/main/adguard-spyware-url.json +615 -1
  54. package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +19 -7
  55. package/extensions/ublocklite/rulesets/main/annoyances-others.json +4 -2
  56. package/extensions/ublocklite/rulesets/main/annoyances-overlays.json +22 -2
  57. package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +1 -1
  58. package/extensions/ublocklite/rulesets/main/chn-0.json +93 -28
  59. package/extensions/ublocklite/rulesets/main/cze-0.json +6 -1
  60. package/extensions/ublocklite/rulesets/main/deu-0.json +11 -5
  61. package/extensions/ublocklite/rulesets/main/dpollock-0.json +2 -0
  62. package/extensions/ublocklite/rulesets/main/easylist.json +135 -29
  63. package/extensions/ublocklite/rulesets/main/easyprivacy.json +132 -27
  64. package/extensions/ublocklite/rulesets/main/est-0.json +1 -1
  65. package/extensions/ublocklite/rulesets/main/fin-0.json +9 -0
  66. package/extensions/ublocklite/rulesets/main/fra-0.json +48 -10
  67. package/extensions/ublocklite/rulesets/main/hun-0.json +4 -1
  68. package/extensions/ublocklite/rulesets/main/idn-0.json +1 -1
  69. package/extensions/ublocklite/rulesets/main/ind-0.json +93 -150
  70. package/extensions/ublocklite/rulesets/main/irn-0.json +33 -7
  71. package/extensions/ublocklite/rulesets/main/isr-0.json +20 -2
  72. package/extensions/ublocklite/rulesets/main/ita-0.json +3 -1
  73. package/extensions/ublocklite/rulesets/main/jpn-1.json +60 -13
  74. package/extensions/ublocklite/rulesets/main/kor-1.json +38 -6
  75. package/extensions/ublocklite/rulesets/main/ltu-0.json +3 -1
  76. package/extensions/ublocklite/rulesets/main/lva-0.json +2 -1
  77. package/extensions/ublocklite/rulesets/main/nld-0.json +6 -1
  78. package/extensions/ublocklite/rulesets/main/nor-0.json +13 -4
  79. package/extensions/ublocklite/rulesets/main/pgl.json +8 -9
  80. package/extensions/ublocklite/rulesets/main/pol-0.json +13 -1
  81. package/extensions/ublocklite/rulesets/main/rou-1.json +17 -1
  82. package/extensions/ublocklite/rulesets/main/rus-0.json +101 -24
  83. package/extensions/ublocklite/rulesets/main/rus-1.json +112 -4
  84. package/extensions/ublocklite/rulesets/main/spa-1.json +38 -14
  85. package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +13076 -6934
  86. package/extensions/ublocklite/rulesets/main/swe-1.json +77 -43
  87. package/extensions/ublocklite/rulesets/main/tha-0.json +7 -1
  88. package/extensions/ublocklite/rulesets/main/tur-0.json +45 -5
  89. package/extensions/ublocklite/rulesets/main/ublock-badware.json +76 -102
  90. package/extensions/ublocklite/rulesets/main/ublock-filters.json +770 -99
  91. package/extensions/ublocklite/rulesets/main/ubol-tests.json +43 -0
  92. package/extensions/ublocklite/rulesets/main/ukr-0.json +20 -1
  93. package/extensions/ublocklite/rulesets/main/urlhaus-full.json +503 -614
  94. package/extensions/ublocklite/rulesets/main/vie-1.json +61 -52
  95. package/extensions/ublocklite/rulesets/regex/chn-0.json +6 -3
  96. package/extensions/ublocklite/rulesets/regex/deu-0.json +0 -1
  97. package/extensions/ublocklite/rulesets/regex/jpn-1.json +1 -1
  98. package/extensions/ublocklite/rulesets/regex/kor-1.json +1 -0
  99. package/extensions/ublocklite/rulesets/regex/pol-0.json +1 -0
  100. package/extensions/ublocklite/rulesets/regex/rus-0.json +1 -0
  101. package/extensions/ublocklite/rulesets/regex/rus-1.json +24 -0
  102. package/extensions/ublocklite/rulesets/regex/tur-0.json +2 -1
  103. package/extensions/ublocklite/rulesets/regex/ublock-badware.json +10 -8
  104. package/extensions/ublocklite/rulesets/regex/ublock-filters.json +26 -9
  105. package/extensions/ublocklite/rulesets/ruleset-details.json +238 -458
  106. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +3 -3
  107. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-notifications.js +1 -1
  108. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-overlays.js +1 -1
  109. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +1 -1
  110. package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +3 -3
  111. package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
  112. package/extensions/ublocklite/rulesets/scripting/generic/fra-0.js +1 -1
  113. package/extensions/ublocklite/rulesets/scripting/generic/idn-0.js +1 -1
  114. package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +1 -1
  115. package/extensions/ublocklite/rulesets/scripting/generic/nld-0.js +1 -1
  116. package/extensions/ublocklite/rulesets/scripting/generic/nor-0.js +1 -1
  117. package/extensions/ublocklite/rulesets/scripting/generic/spa-1.js +3 -3
  118. package/extensions/ublocklite/rulesets/scripting/generic/swe-1.js +1 -1
  119. package/extensions/ublocklite/rulesets/scripting/generic/tur-0.js +3 -3
  120. package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
  121. package/extensions/ublocklite/rulesets/scripting/generic/ukr-0.js +1 -1
  122. package/extensions/ublocklite/rulesets/scripting/generic/vie-1.js +2 -2
  123. package/extensions/ublocklite/rulesets/scripting/generichigh/chn-0.css +2 -9
  124. package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +1 -1
  125. package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +1 -0
  126. package/extensions/ublocklite/rulesets/scripting/generichigh/ublock-filters.css +0 -2
  127. package/extensions/ublocklite/rulesets/scripting/procedural/adguard-mobile.js +3 -3
  128. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-cookies.js +3 -3
  129. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-notifications.js +3 -3
  130. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-others.js +3 -3
  131. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-overlays.js +3 -3
  132. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-social.js +3 -3
  133. package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +1 -1
  134. package/extensions/ublocklite/rulesets/scripting/procedural/deu-0.js +3 -3
  135. package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
  136. package/extensions/ublocklite/rulesets/scripting/procedural/fra-0.js +3 -3
  137. package/extensions/ublocklite/rulesets/scripting/procedural/idn-0.js +3 -3
  138. package/extensions/ublocklite/rulesets/scripting/procedural/irn-0.js +3 -3
  139. package/extensions/ublocklite/rulesets/scripting/procedural/jpn-1.js +3 -3
  140. package/extensions/ublocklite/rulesets/scripting/procedural/kor-1.js +3 -3
  141. package/extensions/ublocklite/rulesets/scripting/procedural/nld-0.js +3 -3
  142. package/extensions/ublocklite/rulesets/scripting/procedural/rou-1.js +3 -3
  143. package/extensions/ublocklite/rulesets/scripting/procedural/rus-0.js +3 -3
  144. package/extensions/ublocklite/rulesets/scripting/procedural/rus-1.js +3 -3
  145. package/extensions/ublocklite/rulesets/scripting/procedural/spa-1.js +3 -3
  146. package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +3 -3
  147. package/extensions/ublocklite/rulesets/scripting/procedural/tur-0.js +3 -3
  148. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.js +3 -3
  149. package/extensions/ublocklite/rulesets/scripting/procedural/vie-1.js +2 -2
  150. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.abort-on-property-read.js +2 -2
  151. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-constant.js +2 -2
  152. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-cookie.js +2 -2
  153. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.trusted-replace-node-text.js +450 -0
  154. package/extensions/ublocklite/rulesets/scripting/scriptlet/{jpn-1.abort-on-property-write.js → adguard-mobile.trusted-set-attr.js} +107 -41
  155. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-requestAnimationFrame.js +407 -0
  156. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.remove-node-text.js +1 -1
  157. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +2 -2
  158. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-local-storage-item.js +2 -2
  159. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +2 -2
  160. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-replace-node-text.js +2 -2
  161. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +2 -2
  162. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-local-storage-item.js +2 -2
  163. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.addEventListener-defuser.js +1 -1
  164. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-current-script.js +1 -1
  165. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-on-stack-trace.js +2 -2
  166. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.addEventListener-defuser.js +2 -2
  167. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-fetch.js +9 -2
  168. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setInterval.js +2 -2
  169. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setTimeout.js +2 -2
  170. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-xhr.js +2 -2
  171. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-cookie.js +2 -2
  172. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-constant.js +2 -2
  173. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.abort-current-script.js +2 -2
  174. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.addEventListener-defuser.js +2 -2
  175. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.adjust-setTimeout.js +2 -2
  176. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.json-prune.js +1 -1
  177. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-fetch.js +9 -2
  178. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +2 -2
  179. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-window-open.js +1 -1
  180. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.set-constant.js +2 -2
  181. package/extensions/ublocklite/rulesets/scripting/scriptlet/{vie-1.m3u-prune.js → chn-0.spoof-css.js} +109 -148
  182. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.abort-current-script.js +1 -1
  183. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.prevent-fetch.js +7 -0
  184. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.set-constant.js +1 -1
  185. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.addEventListener-defuser.js +2 -2
  186. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.adjust-setTimeout.js +2 -2
  187. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-fetch.js +7 -0
  188. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setTimeout.js +2 -2
  189. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.set-constant.js +1 -1
  190. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.set-local-storage-item.js +2 -2
  191. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-fetch.js +7 -0
  192. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.abort-current-script.js +2 -2
  193. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-fetch.js +7 -0
  194. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.set-constant.js +2 -2
  195. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.set-session-storage-item.js +2 -2
  196. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-fetch.js +7 -0
  197. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.json-prune.js +2 -2
  198. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-fetch.js +7 -0
  199. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.remove-attr.js +1 -1
  200. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.set-cookie.js +442 -0
  201. package/extensions/ublocklite/rulesets/scripting/scriptlet/{chn-0.json-prune-fetch-response.js → kor-1.json-prune-xhr-response.js} +71 -62
  202. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.json-prune.js +2 -2
  203. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-fetch.js +7 -0
  204. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setTimeout.js +2 -2
  205. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-constant.js +2 -2
  206. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-fetch.js +7 -0
  207. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-fetch.js +7 -0
  208. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.abort-current-script.js +2 -2
  209. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.remove-node-text.js +1 -1
  210. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-read.js +2 -2
  211. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +3 -3
  212. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-fetch.js +10 -3
  213. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setTimeout.js +2 -2
  214. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-xhr.js +1 -1
  215. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-cookie.js +3 -3
  216. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-node-text.js +3 -3
  217. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-attr.js +2 -2
  218. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +3 -3
  219. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-local-storage-item.js +2 -2
  220. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.abort-on-property-read.js +3 -3
  221. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.addEventListener-defuser.js +1 -1
  222. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.json-prune.js +2 -2
  223. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-fetch.js +7 -0
  224. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.remove-cookie.js +4 -4
  225. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.set-constant.js +3 -3
  226. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-current-script.js +2 -2
  227. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-on-property-read.js +1 -1
  228. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +1 -1
  229. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.adjust-setInterval.js +1 -1
  230. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.json-prune.js +2 -2
  231. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.noeval-if.js +1 -1
  232. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +9 -2
  233. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-requestAnimationFrame.js +2 -2
  234. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setTimeout.js +2 -2
  235. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-window-open.js +1 -1
  236. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.set-constant.js +2 -2
  237. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.addEventListener-defuser.js +2 -2
  238. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.href-sanitizer.js +2 -2
  239. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setTimeout.js +2 -2
  240. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-read.js +2 -2
  241. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-write.js +1 -1
  242. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.addEventListener-defuser.js +2 -2
  243. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-fetch.js +7 -0
  244. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setTimeout.js +2 -2
  245. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-window-open.js +1 -1
  246. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.remove-attr.js +2 -2
  247. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.remove-node-text.js +2 -2
  248. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +2 -2
  249. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-cookie.js +2 -2
  250. package/extensions/ublocklite/rulesets/scripting/scriptlet/{ublock-filters.evaldata-prune.js → ublock-badware.addEventListener-defuser.js} +103 -173
  251. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-replace-node-text.js +450 -0
  252. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-current-script.js +3 -3
  253. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-read.js +3 -3
  254. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-write.js +2 -2
  255. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-stack-trace.js +3 -3
  256. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.addEventListener-defuser.js +3 -3
  257. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setInterval.js +2 -2
  258. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setTimeout.js +2 -2
  259. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.disable-newtab-links.js +1 -1
  260. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.href-sanitizer.js +2 -2
  261. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-xhr-response.js +851 -0
  262. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-fetch-response.js +2 -2
  263. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-xhr-response.js +3 -3
  264. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune.js +3 -3
  265. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.m3u-prune.js +2 -2
  266. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +2 -2
  267. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.nowebrtc.js +2 -2
  268. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +9 -2
  269. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-requestAnimationFrame.js +2 -2
  270. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setInterval.js +2 -2
  271. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +3 -3
  272. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-window-open.js +2 -2
  273. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-xhr.js +3 -3
  274. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-attr.js +2 -2
  275. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-cookie.js +2 -2
  276. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-node-text.js +2 -2
  277. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-attr.js +2 -2
  278. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-constant.js +3 -3
  279. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-cookie.js +2 -2
  280. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-local-storage-item.js +2 -2
  281. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.spoof-css.js +2 -2
  282. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-click-element.js +1 -1
  283. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-create-html.js +2 -2
  284. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-override-element-method.js +1 -1
  285. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-fetch.js +7 -0
  286. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-xhr.js +1 -1
  287. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-argument.js +2 -2
  288. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-node-text.js +3 -3
  289. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-outbound-text.js +2 -2
  290. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-xhr-response.js +1 -1
  291. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-constant.js +1 -1
  292. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-cookie.js +3 -3
  293. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-local-storage-item.js +2 -2
  294. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +1 -1
  295. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.xml-prune.js +2 -2
  296. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-fetch.js +7 -0
  297. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-current-script.js +2 -2
  298. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-on-property-read.js +2 -2
  299. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.json-prune.js +1 -1
  300. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-fetch.js +7 -0
  301. package/extensions/ublocklite/rulesets/scripting/specific/adguard-mobile.js +3 -3
  302. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-cookies.js +3 -3
  303. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-notifications.js +3 -3
  304. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-others.js +3 -3
  305. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-overlays.js +3 -3
  306. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-social.js +3 -3
  307. package/extensions/ublocklite/rulesets/scripting/specific/chn-0.js +3 -3
  308. package/extensions/ublocklite/rulesets/scripting/specific/deu-0.js +3 -3
  309. package/extensions/ublocklite/rulesets/scripting/specific/easylist.js +3 -3
  310. package/extensions/ublocklite/rulesets/scripting/specific/fin-0.js +3 -3
  311. package/extensions/ublocklite/rulesets/scripting/specific/fra-0.js +3 -3
  312. package/extensions/ublocklite/rulesets/scripting/specific/hun-0.js +3 -3
  313. package/extensions/ublocklite/rulesets/scripting/specific/idn-0.js +3 -3
  314. package/extensions/ublocklite/rulesets/scripting/specific/ind-0.js +3 -3
  315. package/extensions/ublocklite/rulesets/scripting/specific/irn-0.js +3 -3
  316. package/extensions/ublocklite/rulesets/scripting/specific/isr-0.js +3 -3
  317. package/extensions/ublocklite/rulesets/scripting/specific/ita-0.js +3 -3
  318. package/extensions/ublocklite/rulesets/scripting/specific/jpn-1.js +3 -3
  319. package/extensions/ublocklite/rulesets/scripting/specific/kor-1.js +3 -3
  320. package/extensions/ublocklite/rulesets/scripting/specific/nld-0.js +3 -3
  321. package/extensions/ublocklite/rulesets/scripting/specific/nor-0.js +3 -3
  322. package/extensions/ublocklite/rulesets/scripting/specific/rou-1.js +3 -3
  323. package/extensions/ublocklite/rulesets/scripting/specific/rus-0.js +3 -3
  324. package/extensions/ublocklite/rulesets/scripting/specific/rus-1.js +3 -3
  325. package/extensions/ublocklite/rulesets/scripting/specific/spa-1.js +3 -3
  326. package/extensions/ublocklite/rulesets/scripting/specific/swe-1.js +3 -3
  327. package/extensions/ublocklite/rulesets/scripting/specific/tha-0.js +3 -3
  328. package/extensions/ublocklite/rulesets/scripting/specific/tur-0.js +3 -3
  329. package/extensions/ublocklite/rulesets/scripting/specific/ublock-filters.js +3 -3
  330. package/extensions/ublocklite/rulesets/scripting/specific/ukr-0.js +3 -3
  331. package/extensions/ublocklite/rulesets/scripting/specific/vie-1.js +3 -3
  332. package/extensions/ublocklite/rulesets/scriptlet-details.json +271 -174
  333. package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +3 -2
  334. package/extensions/ublocklite/rulesets/strictblock/annoyances-cookies.json +1 -0
  335. package/extensions/ublocklite/rulesets/strictblock/chn-0.json +329 -791
  336. package/extensions/ublocklite/rulesets/strictblock/dpollock-0.json +2 -0
  337. package/extensions/ublocklite/rulesets/strictblock/easylist.json +1 -1
  338. package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +62 -4
  339. package/extensions/ublocklite/rulesets/strictblock/fra-0.json +429 -49
  340. package/extensions/ublocklite/rulesets/strictblock/irn-0.json +2 -0
  341. package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +183 -176
  342. package/extensions/ublocklite/rulesets/strictblock/kor-1.json +6 -1
  343. package/extensions/ublocklite/rulesets/strictblock/nor-0.json +1 -1
  344. package/extensions/ublocklite/rulesets/strictblock/pgl.json +8 -9
  345. package/extensions/ublocklite/rulesets/strictblock/pol-0.json +1 -0
  346. package/extensions/ublocklite/rulesets/strictblock/rus-1.json +1 -0
  347. package/extensions/ublocklite/rulesets/strictblock/spa-1.json +0 -2
  348. package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +13076 -6934
  349. package/extensions/ublocklite/rulesets/strictblock/swe-1.json +2 -0
  350. package/extensions/ublocklite/rulesets/strictblock/tur-0.json +4 -0
  351. package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +580 -577
  352. package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +3 -2
  353. package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +503 -614
  354. package/extensions/ublocklite/rulesets/strictblock/vie-1.json +6 -7
  355. package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +30 -0
  356. package/extensions/ublocklite/ublock.zip +0 -0
  357. package/package.json +23 -21
  358. package/scripts/install-adblock.js +25 -4
  359. package/scripts/start.sh +1 -1
  360. package/scripts/test.sh +2 -2
  361. package/src/limiter.ts +1 -1
  362. package/src/routes/chromium/tests/scrape.spec.ts +48 -0
  363. package/src/sdk-utils.ts +1 -1
  364. package/src/shared/scrape.http.ts +17 -5
  365. package/static/docs/swagger.json +330 -102
  366. package/static/docs/swagger.min.json +329 -101
  367. package/static/function/client.js +203 -104
  368. package/static/function/index.html +203 -104
  369. package/extensions/ublocklite/rulesets/modify-headers/annoyances-overlays.json +0 -108
  370. package/extensions/ublocklite/rulesets/modify-headers/chn-0.json +0 -316
  371. package/extensions/ublocklite/rulesets/modify-headers/cze-0.json +0 -25
  372. package/extensions/ublocklite/rulesets/modify-headers/deu-0.json +0 -24
  373. package/extensions/ublocklite/rulesets/modify-headers/easylist.json +0 -14
  374. package/extensions/ublocklite/rulesets/modify-headers/easyprivacy.json +0 -48
  375. package/extensions/ublocklite/rulesets/modify-headers/fra-0.json +0 -215
  376. package/extensions/ublocklite/rulesets/modify-headers/irn-0.json +0 -45
  377. package/extensions/ublocklite/rulesets/modify-headers/isr-0.json +0 -50
  378. package/extensions/ublocklite/rulesets/modify-headers/rus-0.json +0 -40
  379. package/extensions/ublocklite/rulesets/modify-headers/rus-1.json +0 -22
  380. package/extensions/ublocklite/rulesets/modify-headers/swe-1.json +0 -46
  381. package/extensions/ublocklite/rulesets/modify-headers/ublock-filters.json +0 -54
  382. package/extensions/ublocklite/rulesets/modify-headers/ubol-tests.json +0 -25
  383. package/extensions/ublocklite/rulesets/modify-headers/vie-1.json +0 -162
  384. package/extensions/ublocklite/rulesets/redirect/adguard-mobile.json +0 -20
  385. package/extensions/ublocklite/rulesets/redirect/annoyances-overlays.json +0 -15
  386. package/extensions/ublocklite/rulesets/redirect/chn-0.json +0 -40
  387. package/extensions/ublocklite/rulesets/redirect/cze-0.json +0 -76
  388. package/extensions/ublocklite/rulesets/redirect/deu-0.json +0 -79
  389. package/extensions/ublocklite/rulesets/redirect/easylist.json +0 -103
  390. package/extensions/ublocklite/rulesets/redirect/easyprivacy.json +0 -137
  391. package/extensions/ublocklite/rulesets/redirect/fin-0.json +0 -121
  392. package/extensions/ublocklite/rulesets/redirect/fra-0.json +0 -35
  393. package/extensions/ublocklite/rulesets/redirect/hun-0.json +0 -38
  394. package/extensions/ublocklite/rulesets/redirect/irn-0.json +0 -73
  395. package/extensions/ublocklite/rulesets/redirect/isr-0.json +0 -17
  396. package/extensions/ublocklite/rulesets/redirect/jpn-1.json +0 -29
  397. package/extensions/ublocklite/rulesets/redirect/kor-1.json +0 -25
  398. package/extensions/ublocklite/rulesets/redirect/ltu-0.json +0 -33
  399. package/extensions/ublocklite/rulesets/redirect/nld-0.json +0 -79
  400. package/extensions/ublocklite/rulesets/redirect/nor-0.json +0 -132
  401. package/extensions/ublocklite/rulesets/redirect/pol-0.json +0 -15
  402. package/extensions/ublocklite/rulesets/redirect/rou-1.json +0 -53
  403. package/extensions/ublocklite/rulesets/redirect/rus-0.json +0 -21
  404. package/extensions/ublocklite/rulesets/redirect/rus-1.json +0 -118
  405. package/extensions/ublocklite/rulesets/redirect/spa-1.json +0 -27
  406. package/extensions/ublocklite/rulesets/redirect/swe-1.json +0 -14
  407. package/extensions/ublocklite/rulesets/redirect/tha-0.json +0 -78
  408. package/extensions/ublocklite/rulesets/redirect/tur-0.json +0 -24
  409. package/extensions/ublocklite/rulesets/redirect/ublock-badware.json +0 -18
  410. package/extensions/ublocklite/rulesets/redirect/ublock-filters.json +0 -548
  411. package/extensions/ublocklite/rulesets/redirect/ubol-tests.json +0 -22
  412. package/extensions/ublocklite/rulesets/redirect/ukr-0.json +0 -18
  413. package/extensions/ublocklite/rulesets/redirect/vie-1.json +0 -117
  414. package/extensions/ublocklite/rulesets/removeparam/adguard-spyware-url.json +0 -612
  415. package/extensions/ublocklite/rulesets/removeparam/annoyances-overlays.json +0 -27
  416. package/extensions/ublocklite/rulesets/removeparam/chn-0.json +0 -48
  417. package/extensions/ublocklite/rulesets/removeparam/est-0.json +0 -26
  418. package/extensions/ublocklite/rulesets/removeparam/fin-0.json +0 -52
  419. package/extensions/ublocklite/rulesets/removeparam/irn-0.json +0 -18
  420. package/extensions/ublocklite/rulesets/removeparam/kor-1.json +0 -26
  421. package/extensions/ublocklite/rulesets/removeparam/rus-0.json +0 -19
  422. package/extensions/ublocklite/rulesets/removeparam/rus-1.json +0 -99
  423. package/extensions/ublocklite/rulesets/removeparam/swe-1.json +0 -125
  424. package/extensions/ublocklite/rulesets/removeparam/ublock-filters.json +0 -64
  425. package/extensions/ublocklite/rulesets/removeparam/ukr-0.json +0 -49
package/CHANGELOG.md CHANGED
@@ -1,6 +1,28 @@
1
- # [Latest](https://github.com/browserless/chrome/compare/v2.34.0...main)
2
-
3
- - Dependency updates.
1
+ # [Latest](https://github.com/browserless/chrome/compare/v2.35.0...main)
2
+
3
+ - Dependency updates.
4
+
5
+ # [v2.35.0](https://github.com/browserless/chrome/compare/v2.34.1...v2.35.0)
6
+
7
+ - Dependency updates.
8
+ - Updates base image to Ubuntu `24.04`.
9
+ - Updates NodeJS to `24.8.0`.
10
+ - Move to `npm ci` for automated tests and release processes.
11
+ - Small cleanup in dockerfiles for consistency.
12
+ - Added a `npm run coverage` command for determining areas of code needing coverage.
13
+ - `bestAttempt` fixes in the `/scrape` API.
14
+ - Fixes a few OpenAPI issues in the swagger.json manifests.
15
+ - Fixes issues where install-adblock can fail.
16
+ - Updated messaging around concurrency limits being reached.
17
+ - Few more unit-tests.
18
+ - Supports the following libraries and browsers:
19
+ - puppeteer-core: `24.22.0`
20
+ - playwright-core: `1.55.0`, `1.54.2`, `1.53.2`, `1.52.0`, and `1.51.1`.
21
+ - Chromium: `140.0.7339.16`
22
+ - Chrome: `140.0.7339.186` (amd64 only)
23
+ - Firefox: `141.0`
24
+ - Webkit: `26.0`
25
+ - Edge: `140.0.3485.81` (amd64 only)
4
26
 
5
27
  # [v2.34.1](https://github.com/browserless/chrome/compare/v2.34.0...v2.34.1)
6
28
 
package/build/limiter.js CHANGED
@@ -127,7 +127,7 @@ export class Limiter extends q {
127
127
  overCapacityFn(...args);
128
128
  const concurrencyLimit = this.concurrency;
129
129
  const queueLimit = this.queued;
130
- return rej(new TooManyRequests(`Concurrency limit of ${concurrencyLimit} and queue limit of ${queueLimit} reached. Possible causes: 1) Your token has reached maximum capacity, 2) Your token may not have access to this version, 3) Your requests are coming too quickly.`));
130
+ return rej(new TooManyRequests(`Your plan allows ${concurrencyLimit} concurrent sessions and ${queueLimit} queued requests, but both limits have been reached. Possible causes: 1) Your plan has reached maximum capacity, 2) Your token may not have access to this version, 3) Your requests are coming too quickly.`));
131
131
  }
132
132
  if (this.willQueue) {
133
133
  this.logQueue(`Concurrency is at capacity, queueing`);
@@ -124,7 +124,20 @@
124
124
  "type": "string"
125
125
  },
126
126
  "userAgent": {
127
- "type": "string"
127
+ "type": "object",
128
+ "properties": {
129
+ "userAgent": {
130
+ "type": "string"
131
+ },
132
+ "userAgentMetadata": {
133
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
134
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentMetadata"
135
+ },
136
+ "platform": {
137
+ "type": "string"
138
+ }
139
+ },
140
+ "additionalProperties": false
128
141
  },
129
142
  "viewport": {
130
143
  "anyOf": [
@@ -450,6 +463,82 @@
450
463
  "type": "object",
451
464
  "additionalProperties": false
452
465
  },
466
+ "Protocol.Emulation.UserAgentMetadata": {
467
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
468
+ "type": "object",
469
+ "properties": {
470
+ "brands": {
471
+ "description": "Brands appearing in Sec-CH-UA.",
472
+ "type": "array",
473
+ "items": {
474
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentBrandVersion"
475
+ }
476
+ },
477
+ "fullVersionList": {
478
+ "description": "Brands appearing in Sec-CH-UA-Full-Version-List.",
479
+ "type": "array",
480
+ "items": {
481
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentBrandVersion"
482
+ }
483
+ },
484
+ "fullVersion": {
485
+ "type": "string"
486
+ },
487
+ "platform": {
488
+ "type": "string"
489
+ },
490
+ "platformVersion": {
491
+ "type": "string"
492
+ },
493
+ "architecture": {
494
+ "type": "string"
495
+ },
496
+ "model": {
497
+ "type": "string"
498
+ },
499
+ "mobile": {
500
+ "type": "boolean"
501
+ },
502
+ "bitness": {
503
+ "type": "string"
504
+ },
505
+ "wow64": {
506
+ "type": "boolean"
507
+ },
508
+ "formFactors": {
509
+ "description": "Used to specify User Agent form-factor values.\nSee https://wicg.github.io/ua-client-hints/#sec-ch-ua-form-factors",
510
+ "type": "array",
511
+ "items": {
512
+ "type": "string"
513
+ }
514
+ }
515
+ },
516
+ "additionalProperties": false,
517
+ "required": [
518
+ "architecture",
519
+ "mobile",
520
+ "model",
521
+ "platform",
522
+ "platformVersion"
523
+ ]
524
+ },
525
+ "Protocol.Emulation.UserAgentBrandVersion": {
526
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints",
527
+ "type": "object",
528
+ "properties": {
529
+ "brand": {
530
+ "type": "string"
531
+ },
532
+ "version": {
533
+ "type": "string"
534
+ }
535
+ },
536
+ "additionalProperties": false,
537
+ "required": [
538
+ "brand",
539
+ "version"
540
+ ]
541
+ },
453
542
  "Viewport": {
454
543
  "type": "object",
455
544
  "properties": {
@@ -126,7 +126,20 @@
126
126
  "type": "string"
127
127
  },
128
128
  "userAgent": {
129
- "type": "string"
129
+ "type": "object",
130
+ "properties": {
131
+ "userAgent": {
132
+ "type": "string"
133
+ },
134
+ "userAgentMetadata": {
135
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
136
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentMetadata"
137
+ },
138
+ "platform": {
139
+ "type": "string"
140
+ }
141
+ },
142
+ "additionalProperties": false
130
143
  },
131
144
  "viewport": {
132
145
  "anyOf": [
@@ -595,6 +608,82 @@
595
608
  "type": "object",
596
609
  "additionalProperties": false
597
610
  },
611
+ "Protocol.Emulation.UserAgentMetadata": {
612
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
613
+ "type": "object",
614
+ "properties": {
615
+ "brands": {
616
+ "description": "Brands appearing in Sec-CH-UA.",
617
+ "type": "array",
618
+ "items": {
619
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentBrandVersion"
620
+ }
621
+ },
622
+ "fullVersionList": {
623
+ "description": "Brands appearing in Sec-CH-UA-Full-Version-List.",
624
+ "type": "array",
625
+ "items": {
626
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentBrandVersion"
627
+ }
628
+ },
629
+ "fullVersion": {
630
+ "type": "string"
631
+ },
632
+ "platform": {
633
+ "type": "string"
634
+ },
635
+ "platformVersion": {
636
+ "type": "string"
637
+ },
638
+ "architecture": {
639
+ "type": "string"
640
+ },
641
+ "model": {
642
+ "type": "string"
643
+ },
644
+ "mobile": {
645
+ "type": "boolean"
646
+ },
647
+ "bitness": {
648
+ "type": "string"
649
+ },
650
+ "wow64": {
651
+ "type": "boolean"
652
+ },
653
+ "formFactors": {
654
+ "description": "Used to specify User Agent form-factor values.\nSee https://wicg.github.io/ua-client-hints/#sec-ch-ua-form-factors",
655
+ "type": "array",
656
+ "items": {
657
+ "type": "string"
658
+ }
659
+ }
660
+ },
661
+ "additionalProperties": false,
662
+ "required": [
663
+ "architecture",
664
+ "mobile",
665
+ "model",
666
+ "platform",
667
+ "platformVersion"
668
+ ]
669
+ },
670
+ "Protocol.Emulation.UserAgentBrandVersion": {
671
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints",
672
+ "type": "object",
673
+ "properties": {
674
+ "brand": {
675
+ "type": "string"
676
+ },
677
+ "version": {
678
+ "type": "string"
679
+ }
680
+ },
681
+ "additionalProperties": false,
682
+ "required": [
683
+ "brand",
684
+ "version"
685
+ ]
686
+ },
598
687
  "Viewport": {
599
688
  "type": "object",
600
689
  "properties": {
@@ -132,7 +132,20 @@
132
132
  "type": "string"
133
133
  },
134
134
  "userAgent": {
135
- "type": "string"
135
+ "type": "object",
136
+ "properties": {
137
+ "userAgent": {
138
+ "type": "string"
139
+ },
140
+ "userAgentMetadata": {
141
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
142
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentMetadata"
143
+ },
144
+ "platform": {
145
+ "type": "string"
146
+ }
147
+ },
148
+ "additionalProperties": false
136
149
  },
137
150
  "viewport": {
138
151
  "anyOf": [
@@ -497,6 +510,82 @@
497
510
  "type": "object",
498
511
  "additionalProperties": false
499
512
  },
513
+ "Protocol.Emulation.UserAgentMetadata": {
514
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
515
+ "type": "object",
516
+ "properties": {
517
+ "brands": {
518
+ "description": "Brands appearing in Sec-CH-UA.",
519
+ "type": "array",
520
+ "items": {
521
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentBrandVersion"
522
+ }
523
+ },
524
+ "fullVersionList": {
525
+ "description": "Brands appearing in Sec-CH-UA-Full-Version-List.",
526
+ "type": "array",
527
+ "items": {
528
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentBrandVersion"
529
+ }
530
+ },
531
+ "fullVersion": {
532
+ "type": "string"
533
+ },
534
+ "platform": {
535
+ "type": "string"
536
+ },
537
+ "platformVersion": {
538
+ "type": "string"
539
+ },
540
+ "architecture": {
541
+ "type": "string"
542
+ },
543
+ "model": {
544
+ "type": "string"
545
+ },
546
+ "mobile": {
547
+ "type": "boolean"
548
+ },
549
+ "bitness": {
550
+ "type": "string"
551
+ },
552
+ "wow64": {
553
+ "type": "boolean"
554
+ },
555
+ "formFactors": {
556
+ "description": "Used to specify User Agent form-factor values.\nSee https://wicg.github.io/ua-client-hints/#sec-ch-ua-form-factors",
557
+ "type": "array",
558
+ "items": {
559
+ "type": "string"
560
+ }
561
+ }
562
+ },
563
+ "additionalProperties": false,
564
+ "required": [
565
+ "architecture",
566
+ "mobile",
567
+ "model",
568
+ "platform",
569
+ "platformVersion"
570
+ ]
571
+ },
572
+ "Protocol.Emulation.UserAgentBrandVersion": {
573
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints",
574
+ "type": "object",
575
+ "properties": {
576
+ "brand": {
577
+ "type": "string"
578
+ },
579
+ "version": {
580
+ "type": "string"
581
+ }
582
+ },
583
+ "additionalProperties": false,
584
+ "required": [
585
+ "brand",
586
+ "version"
587
+ ]
588
+ },
500
589
  "Viewport": {
501
590
  "type": "object",
502
591
  "properties": {
@@ -179,18 +179,6 @@
179
179
  "description": "Represents a cookie object.",
180
180
  "type": "object",
181
181
  "properties": {
182
- "name": {
183
- "description": "Cookie name.",
184
- "type": "string"
185
- },
186
- "value": {
187
- "description": "Cookie value.",
188
- "type": "string"
189
- },
190
- "domain": {
191
- "description": "Cookie domain.",
192
- "type": "string"
193
- },
194
182
  "path": {
195
183
  "description": "Cookie path.",
196
184
  "type": "string"
@@ -203,10 +191,6 @@
203
191
  "description": "Cookie size.",
204
192
  "type": "number"
205
193
  },
206
- "httpOnly": {
207
- "description": "True if cookie is http-only.",
208
- "type": "boolean"
209
- },
210
194
  "secure": {
211
195
  "description": "True if cookie is secure.",
212
196
  "type": "boolean"
@@ -215,6 +199,26 @@
215
199
  "description": "True in case of session cookie.",
216
200
  "type": "boolean"
217
201
  },
202
+ "partitionKeyOpaque": {
203
+ "description": "True if cookie partition key is opaque. Supported only in Chrome.",
204
+ "type": "boolean"
205
+ },
206
+ "name": {
207
+ "description": "Cookie name.",
208
+ "type": "string"
209
+ },
210
+ "value": {
211
+ "description": "Cookie value.",
212
+ "type": "string"
213
+ },
214
+ "domain": {
215
+ "description": "Cookie domain.",
216
+ "type": "string"
217
+ },
218
+ "httpOnly": {
219
+ "description": "True if cookie is http-only.",
220
+ "type": "boolean"
221
+ },
218
222
  "sameSite": {
219
223
  "description": "Cookie SameSite type.",
220
224
  "enum": [
@@ -247,7 +251,7 @@
247
251
  "type": "string"
248
252
  },
249
253
  "partitionKey": {
250
- "description": "Cookie partition key. In Chrome, it is the top-level site the\npartitioned cookie is available in. In Firefox, it matches the\nsource origin in the\n{@link https://w3c.github.io/webdriver-bidi/#type-storage-PartitionKey PartitionKey}.",
254
+ "description": "Cookie partition key. In Chrome, it matches the top-level site the\npartitioned cookie is available in. In Firefox, it matches the\nsource origin in the\n{@link https://w3c.github.io/webdriver-bidi/#type-storage-PartitionKey PartitionKey}.",
251
255
  "anyOf": [
252
256
  {
253
257
  "$ref": "#/definitions/CookiePartitionKey"
@@ -256,17 +260,12 @@
256
260
  "type": "string"
257
261
  }
258
262
  ]
259
- },
260
- "partitionKeyOpaque": {
261
- "description": "True if cookie partition key is opaque. Supported only in Chrome.",
262
- "type": "boolean"
263
263
  }
264
264
  },
265
265
  "additionalProperties": false,
266
266
  "required": [
267
267
  "domain",
268
268
  "expires",
269
- "httpOnly",
270
269
  "name",
271
270
  "path",
272
271
  "secure",
@@ -132,7 +132,20 @@
132
132
  "type": "string"
133
133
  },
134
134
  "userAgent": {
135
- "type": "string"
135
+ "type": "object",
136
+ "properties": {
137
+ "userAgent": {
138
+ "type": "string"
139
+ },
140
+ "userAgentMetadata": {
141
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
142
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentMetadata"
143
+ },
144
+ "platform": {
145
+ "type": "string"
146
+ }
147
+ },
148
+ "additionalProperties": false
136
149
  },
137
150
  "viewport": {
138
151
  "anyOf": [
@@ -553,6 +566,82 @@
553
566
  "type": "object",
554
567
  "additionalProperties": false
555
568
  },
569
+ "Protocol.Emulation.UserAgentMetadata": {
570
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
571
+ "type": "object",
572
+ "properties": {
573
+ "brands": {
574
+ "description": "Brands appearing in Sec-CH-UA.",
575
+ "type": "array",
576
+ "items": {
577
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentBrandVersion"
578
+ }
579
+ },
580
+ "fullVersionList": {
581
+ "description": "Brands appearing in Sec-CH-UA-Full-Version-List.",
582
+ "type": "array",
583
+ "items": {
584
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentBrandVersion"
585
+ }
586
+ },
587
+ "fullVersion": {
588
+ "type": "string"
589
+ },
590
+ "platform": {
591
+ "type": "string"
592
+ },
593
+ "platformVersion": {
594
+ "type": "string"
595
+ },
596
+ "architecture": {
597
+ "type": "string"
598
+ },
599
+ "model": {
600
+ "type": "string"
601
+ },
602
+ "mobile": {
603
+ "type": "boolean"
604
+ },
605
+ "bitness": {
606
+ "type": "string"
607
+ },
608
+ "wow64": {
609
+ "type": "boolean"
610
+ },
611
+ "formFactors": {
612
+ "description": "Used to specify User Agent form-factor values.\nSee https://wicg.github.io/ua-client-hints/#sec-ch-ua-form-factors",
613
+ "type": "array",
614
+ "items": {
615
+ "type": "string"
616
+ }
617
+ }
618
+ },
619
+ "additionalProperties": false,
620
+ "required": [
621
+ "architecture",
622
+ "mobile",
623
+ "model",
624
+ "platform",
625
+ "platformVersion"
626
+ ]
627
+ },
628
+ "Protocol.Emulation.UserAgentBrandVersion": {
629
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints",
630
+ "type": "object",
631
+ "properties": {
632
+ "brand": {
633
+ "type": "string"
634
+ },
635
+ "version": {
636
+ "type": "string"
637
+ }
638
+ },
639
+ "additionalProperties": false,
640
+ "required": [
641
+ "brand",
642
+ "version"
643
+ ]
644
+ },
556
645
  "Viewport": {
557
646
  "type": "object",
558
647
  "properties": {
@@ -124,7 +124,20 @@
124
124
  "type": "string"
125
125
  },
126
126
  "userAgent": {
127
- "type": "string"
127
+ "type": "object",
128
+ "properties": {
129
+ "userAgent": {
130
+ "type": "string"
131
+ },
132
+ "userAgentMetadata": {
133
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
134
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentMetadata"
135
+ },
136
+ "platform": {
137
+ "type": "string"
138
+ }
139
+ },
140
+ "additionalProperties": false
128
141
  },
129
142
  "viewport": {
130
143
  "anyOf": [
@@ -450,6 +463,82 @@
450
463
  "type": "object",
451
464
  "additionalProperties": false
452
465
  },
466
+ "Protocol.Emulation.UserAgentMetadata": {
467
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
468
+ "type": "object",
469
+ "properties": {
470
+ "brands": {
471
+ "description": "Brands appearing in Sec-CH-UA.",
472
+ "type": "array",
473
+ "items": {
474
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentBrandVersion"
475
+ }
476
+ },
477
+ "fullVersionList": {
478
+ "description": "Brands appearing in Sec-CH-UA-Full-Version-List.",
479
+ "type": "array",
480
+ "items": {
481
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentBrandVersion"
482
+ }
483
+ },
484
+ "fullVersion": {
485
+ "type": "string"
486
+ },
487
+ "platform": {
488
+ "type": "string"
489
+ },
490
+ "platformVersion": {
491
+ "type": "string"
492
+ },
493
+ "architecture": {
494
+ "type": "string"
495
+ },
496
+ "model": {
497
+ "type": "string"
498
+ },
499
+ "mobile": {
500
+ "type": "boolean"
501
+ },
502
+ "bitness": {
503
+ "type": "string"
504
+ },
505
+ "wow64": {
506
+ "type": "boolean"
507
+ },
508
+ "formFactors": {
509
+ "description": "Used to specify User Agent form-factor values.\nSee https://wicg.github.io/ua-client-hints/#sec-ch-ua-form-factors",
510
+ "type": "array",
511
+ "items": {
512
+ "type": "string"
513
+ }
514
+ }
515
+ },
516
+ "additionalProperties": false,
517
+ "required": [
518
+ "architecture",
519
+ "mobile",
520
+ "model",
521
+ "platform",
522
+ "platformVersion"
523
+ ]
524
+ },
525
+ "Protocol.Emulation.UserAgentBrandVersion": {
526
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints",
527
+ "type": "object",
528
+ "properties": {
529
+ "brand": {
530
+ "type": "string"
531
+ },
532
+ "version": {
533
+ "type": "string"
534
+ }
535
+ },
536
+ "additionalProperties": false,
537
+ "required": [
538
+ "brand",
539
+ "version"
540
+ ]
541
+ },
453
542
  "Viewport": {
454
543
  "type": "object",
455
544
  "properties": {