@browserless.io/browserless 2.22.0 → 2.24.0-beta-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 (129) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/build/browsers/browsers.cdp.js +12 -2
  3. package/build/routes/chrome/http/content.post.body.json +8 -8
  4. package/build/routes/chrome/http/pdf.post.body.json +8 -8
  5. package/build/routes/chrome/http/scrape.post.body.json +8 -8
  6. package/build/routes/chrome/http/screenshot.post.body.json +8 -8
  7. package/build/routes/chromium/http/content.post.body.json +8 -8
  8. package/build/routes/chromium/http/pdf.post.body.json +8 -8
  9. package/build/routes/chromium/http/scrape.post.body.json +8 -8
  10. package/build/routes/chromium/http/screenshot.post.body.json +8 -8
  11. package/docker/chrome/Dockerfile +2 -1
  12. package/docker/chromium/Dockerfile +2 -1
  13. package/docker/firefox/Dockerfile +2 -1
  14. package/docker/multi/Dockerfile +3 -1
  15. package/docker/webkit/Dockerfile +2 -1
  16. package/extensions/ublock/_locales/ar/messages.json +5 -1
  17. package/extensions/ublock/_locales/az/messages.json +4 -0
  18. package/extensions/ublock/_locales/be/messages.json +5 -1
  19. package/extensions/ublock/_locales/bg/messages.json +4 -0
  20. package/extensions/ublock/_locales/bn/messages.json +4 -0
  21. package/extensions/ublock/_locales/br_FR/messages.json +4 -0
  22. package/extensions/ublock/_locales/bs/messages.json +4 -0
  23. package/extensions/ublock/_locales/ca/messages.json +4 -0
  24. package/extensions/ublock/_locales/cs/messages.json +6 -2
  25. package/extensions/ublock/_locales/cv/messages.json +4 -0
  26. package/extensions/ublock/_locales/cy/messages.json +15 -11
  27. package/extensions/ublock/_locales/da/messages.json +4 -0
  28. package/extensions/ublock/_locales/de/messages.json +8 -4
  29. package/extensions/ublock/_locales/el/messages.json +4 -0
  30. package/extensions/ublock/_locales/en/messages.json +4 -0
  31. package/extensions/ublock/_locales/en_GB/messages.json +4 -0
  32. package/extensions/ublock/_locales/eo/messages.json +4 -0
  33. package/extensions/ublock/_locales/es/messages.json +5 -1
  34. package/extensions/ublock/_locales/et/messages.json +4 -0
  35. package/extensions/ublock/_locales/eu/messages.json +4 -0
  36. package/extensions/ublock/_locales/fa/messages.json +14 -10
  37. package/extensions/ublock/_locales/fi/messages.json +7 -3
  38. package/extensions/ublock/_locales/fil/messages.json +4 -0
  39. package/extensions/ublock/_locales/fr/messages.json +5 -1
  40. package/extensions/ublock/_locales/fy/messages.json +4 -0
  41. package/extensions/ublock/_locales/gl/messages.json +4 -0
  42. package/extensions/ublock/_locales/gu/messages.json +4 -0
  43. package/extensions/ublock/_locales/he/messages.json +4 -0
  44. package/extensions/ublock/_locales/hi/messages.json +4 -0
  45. package/extensions/ublock/_locales/hr/messages.json +4 -0
  46. package/extensions/ublock/_locales/hu/messages.json +4 -0
  47. package/extensions/ublock/_locales/hy/messages.json +4 -0
  48. package/extensions/ublock/_locales/id/messages.json +4 -0
  49. package/extensions/ublock/_locales/it/messages.json +4 -0
  50. package/extensions/ublock/_locales/ja/messages.json +6 -2
  51. package/extensions/ublock/_locales/ka/messages.json +5 -1
  52. package/extensions/ublock/_locales/kk/messages.json +4 -0
  53. package/extensions/ublock/_locales/kn/messages.json +4 -0
  54. package/extensions/ublock/_locales/ko/messages.json +5 -1
  55. package/extensions/ublock/_locales/lt/messages.json +4 -0
  56. package/extensions/ublock/_locales/lv/messages.json +4 -0
  57. package/extensions/ublock/_locales/mk/messages.json +4 -0
  58. package/extensions/ublock/_locales/ml/messages.json +4 -0
  59. package/extensions/ublock/_locales/mr/messages.json +4 -0
  60. package/extensions/ublock/_locales/ms/messages.json +4 -0
  61. package/extensions/ublock/_locales/nb/messages.json +4 -0
  62. package/extensions/ublock/_locales/nl/messages.json +4 -0
  63. package/extensions/ublock/_locales/no/messages.json +4 -0
  64. package/extensions/ublock/_locales/oc/messages.json +4 -0
  65. package/extensions/ublock/_locales/pa/messages.json +5 -1
  66. package/extensions/ublock/_locales/pl/messages.json +4 -0
  67. package/extensions/ublock/_locales/pt_BR/messages.json +4 -0
  68. package/extensions/ublock/_locales/pt_PT/messages.json +4 -0
  69. package/extensions/ublock/_locales/ro/messages.json +4 -0
  70. package/extensions/ublock/_locales/ru/messages.json +5 -1
  71. package/extensions/ublock/_locales/si/messages.json +4 -0
  72. package/extensions/ublock/_locales/sk/messages.json +4 -0
  73. package/extensions/ublock/_locales/sl/messages.json +4 -0
  74. package/extensions/ublock/_locales/so/messages.json +4 -0
  75. package/extensions/ublock/_locales/sq/messages.json +4 -0
  76. package/extensions/ublock/_locales/sr/messages.json +4 -0
  77. package/extensions/ublock/_locales/sv/messages.json +5 -1
  78. package/extensions/ublock/_locales/sw/messages.json +4 -0
  79. package/extensions/ublock/_locales/ta/messages.json +4 -0
  80. package/extensions/ublock/_locales/te/messages.json +4 -0
  81. package/extensions/ublock/_locales/th/messages.json +4 -0
  82. package/extensions/ublock/_locales/tr/messages.json +4 -0
  83. package/extensions/ublock/_locales/uk/messages.json +7 -3
  84. package/extensions/ublock/_locales/ur/messages.json +4 -0
  85. package/extensions/ublock/_locales/vi/messages.json +4 -0
  86. package/extensions/ublock/_locales/zh_CN/messages.json +4 -0
  87. package/extensions/ublock/_locales/zh_TW/messages.json +4 -0
  88. package/extensions/ublock/assets/assets.json +14 -14
  89. package/extensions/ublock/assets/resources/run-at.js +80 -0
  90. package/extensions/ublock/assets/resources/safe-self.js +218 -0
  91. package/extensions/ublock/assets/resources/scriptlets.js +461 -538
  92. package/extensions/ublock/assets/resources/set-attr.js +201 -0
  93. package/extensions/ublock/assets/thirdparties/easylist/easylist.txt +4002 -11582
  94. package/extensions/ublock/assets/thirdparties/easylist/easyprivacy.txt +257 -83
  95. package/extensions/ublock/assets/thirdparties/pgl.yoyo.org/as/serverlist +22 -38
  96. package/extensions/ublock/assets/thirdparties/publicsuffix.org/list/effective_tld_names.dat +102 -110
  97. package/extensions/ublock/assets/thirdparties/urlhaus-filter/urlhaus-filter-online.txt +2776 -3613
  98. package/extensions/ublock/assets/ublock/badware.min.txt +581 -382
  99. package/extensions/ublock/assets/ublock/filters.min.txt +997 -990
  100. package/extensions/ublock/assets/ublock/privacy.min.txt +145 -26
  101. package/extensions/ublock/assets/ublock/quick-fixes.min.txt +134 -83
  102. package/extensions/ublock/assets/ublock/unbreak.min.txt +69 -46
  103. package/extensions/ublock/css/document-blocked.css +28 -1
  104. package/extensions/ublock/document-blocked.html +9 -7
  105. package/extensions/ublock/js/assets.js +15 -11
  106. package/extensions/ublock/js/benchmarks.js +13 -9
  107. package/extensions/ublock/js/biditrie.js +1 -1
  108. package/extensions/ublock/js/document-blocked.js +41 -5
  109. package/extensions/ublock/js/hntrie.js +1 -1
  110. package/extensions/ublock/js/i18n.js +2 -4
  111. package/extensions/ublock/js/pagestore.js +61 -43
  112. package/extensions/ublock/js/s14e-serializer.js +47 -22
  113. package/extensions/ublock/js/scriptlet-filtering.js +21 -18
  114. package/extensions/ublock/js/scriptlets/load-large-media-interactive.js +61 -48
  115. package/extensions/ublock/js/scriptlets/should-inject-contentscript.js +1 -3
  116. package/extensions/ublock/js/static-dnr-filtering.js +9 -7
  117. package/extensions/ublock/js/static-filtering-parser.js +87 -54
  118. package/extensions/ublock/js/static-net-filtering.js +118 -42
  119. package/extensions/ublock/js/traffic.js +37 -18
  120. package/extensions/ublock/js/vapi-background-ext.js +21 -49
  121. package/extensions/ublock/js/vapi-background.js +8 -0
  122. package/extensions/ublock/manifest.json +1 -1
  123. package/extensions/ublock/web_accessible_resources/googlesyndication_adsbygoogle.js +3 -1
  124. package/package.json +18 -18
  125. package/src/browsers/browsers.cdp.ts +13 -2
  126. package/static/docs/swagger.json +10 -10
  127. package/static/docs/swagger.min.json +9 -9
  128. package/static/function/client.js +175 -129
  129. package/static/function/index.html +175 -129
@@ -4382,7 +4382,7 @@
4382
4382
  // node_modules/puppeteer-core/lib/esm/puppeteer/generated/version.js
4383
4383
  init_dirname();
4384
4384
  init_buffer2();
4385
- var packageVersion = "23.6.0";
4385
+ var packageVersion = "23.6.1";
4386
4386
 
4387
4387
  // node_modules/puppeteer-core/lib/esm/puppeteer/util/assert.js
4388
4388
  init_dirname();
@@ -5203,7 +5203,7 @@
5203
5203
  * ```ts
5204
5204
  * await page.evaluate(() => window.open('https://www.example.com/'));
5205
5205
  * const newWindowTarget = await browser.waitForTarget(
5206
- * target => target.url() === 'https://www.example.com/'
5206
+ * target => target.url() === 'https://www.example.com/',
5207
5207
  * );
5208
5208
  * ```
5209
5209
  */
@@ -5332,6 +5332,7 @@
5332
5332
  #value;
5333
5333
  // SAFETY: This is ensured by #taskPromise.
5334
5334
  #resolve;
5335
+ // TODO: Switch to Promise.withResolvers with Node 22
5335
5336
  #taskPromise = new Promise((resolve) => {
5336
5337
  this.#resolve = resolve;
5337
5338
  });
@@ -5469,7 +5470,7 @@
5469
5470
  * ```ts
5470
5471
  * await page.evaluate(() => window.open('https://www.example.com/'));
5471
5472
  * const newWindowTarget = await browserContext.waitForTarget(
5472
- * target => target.url() === 'https://www.example.com/'
5473
+ * target => target.url() === 'https://www.example.com/',
5473
5474
  * );
5474
5475
  * ```
5475
5476
  */
@@ -5541,19 +5542,23 @@
5541
5542
  env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
5542
5543
  env.hasError = true;
5543
5544
  }
5545
+ var r, s = 0;
5544
5546
  function next() {
5545
- while (env.stack.length) {
5546
- var rec = env.stack.pop();
5547
+ while (r = env.stack.pop()) {
5547
5548
  try {
5548
- var result = rec.dispose && rec.dispose.call(rec.value);
5549
- if (rec.async) return Promise.resolve(result).then(next, function(e) {
5550
- fail(e);
5551
- return next();
5552
- });
5549
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
5550
+ if (r.dispose) {
5551
+ var result = r.dispose.call(r.value);
5552
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
5553
+ fail(e);
5554
+ return next();
5555
+ });
5556
+ } else s |= 1;
5553
5557
  } catch (e) {
5554
5558
  fail(e);
5555
5559
  }
5556
5560
  }
5561
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
5557
5562
  if (env.hasError) throw env.error;
5558
5563
  }
5559
5564
  return next();
@@ -5985,19 +5990,23 @@
5985
5990
  env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
5986
5991
  env.hasError = true;
5987
5992
  }
5993
+ var r, s = 0;
5988
5994
  function next() {
5989
- while (env.stack.length) {
5990
- var rec = env.stack.pop();
5995
+ while (r = env.stack.pop()) {
5991
5996
  try {
5992
- var result = rec.dispose && rec.dispose.call(rec.value);
5993
- if (rec.async) return Promise.resolve(result).then(next, function(e) {
5994
- fail(e);
5995
- return next();
5996
- });
5997
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
5998
+ if (r.dispose) {
5999
+ var result = r.dispose.call(r.value);
6000
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
6001
+ fail(e);
6002
+ return next();
6003
+ });
6004
+ } else s |= 1;
5997
6005
  } catch (e) {
5998
6006
  fail(e);
5999
6007
  }
6000
6008
  }
6009
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
6001
6010
  if (env.hasError) throw env.error;
6002
6011
  }
6003
6012
  return next();
@@ -6142,19 +6151,23 @@
6142
6151
  env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
6143
6152
  env.hasError = true;
6144
6153
  }
6154
+ var r, s = 0;
6145
6155
  function next() {
6146
- while (env.stack.length) {
6147
- var rec = env.stack.pop();
6156
+ while (r = env.stack.pop()) {
6148
6157
  try {
6149
- var result = rec.dispose && rec.dispose.call(rec.value);
6150
- if (rec.async) return Promise.resolve(result).then(next, function(e) {
6151
- fail(e);
6152
- return next();
6153
- });
6158
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
6159
+ if (r.dispose) {
6160
+ var result = r.dispose.call(r.value);
6161
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
6162
+ fail(e);
6163
+ return next();
6164
+ });
6165
+ } else s |= 1;
6154
6166
  } catch (e) {
6155
6167
  fail(e);
6156
6168
  }
6157
6169
  }
6170
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
6158
6171
  if (env.hasError) throw env.error;
6159
6172
  }
6160
6173
  return next();
@@ -6847,19 +6860,23 @@
6847
6860
  env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
6848
6861
  env.hasError = true;
6849
6862
  }
6863
+ var r, s = 0;
6850
6864
  function next() {
6851
- while (env.stack.length) {
6852
- var rec = env.stack.pop();
6865
+ while (r = env.stack.pop()) {
6853
6866
  try {
6854
- var result = rec.dispose && rec.dispose.call(rec.value);
6855
- if (rec.async) return Promise.resolve(result).then(next, function(e) {
6856
- fail(e);
6857
- return next();
6858
- });
6867
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
6868
+ if (r.dispose) {
6869
+ var result = r.dispose.call(r.value);
6870
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
6871
+ fail(e);
6872
+ return next();
6873
+ });
6874
+ } else s |= 1;
6859
6875
  } catch (e) {
6860
6876
  fail(e);
6861
6877
  }
6862
6878
  }
6879
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
6863
6880
  if (env.hasError) throw env.error;
6864
6881
  }
6865
6882
  return next();
@@ -7069,7 +7086,7 @@
7069
7086
  * const aHandle = await page.evaluateHandle(() => document.body);
7070
7087
  * const resultHandle = await page.evaluateHandle(
7071
7088
  * body => body.innerHTML,
7072
- * aHandle
7089
+ * aHandle,
7073
7090
  * );
7074
7091
  * console.log(await resultHandle.jsonValue());
7075
7092
  * await resultHandle.dispose();
@@ -7083,7 +7100,7 @@
7083
7100
  *
7084
7101
  * ```ts
7085
7102
  * const button = await page.evaluateHandle(() =>
7086
- * document.querySelector('button')
7103
+ * document.querySelector('button'),
7087
7104
  * );
7088
7105
  * // can call `click` because `button` is an `ElementHandle`
7089
7106
  * await button.click();
@@ -7135,7 +7152,7 @@
7135
7152
  * // as `value` is not on `Element`
7136
7153
  * const searchValue = await page.$eval(
7137
7154
  * '#search',
7138
- * (el: HTMLInputElement) => el.value
7155
+ * (el: HTMLInputElement) => el.value,
7139
7156
  * );
7140
7157
  * ```
7141
7158
  *
@@ -7150,7 +7167,7 @@
7150
7167
  * // or if you want to be more explicit, provide it as the generic type.
7151
7168
  * const searchValue = await page.$eval<string>(
7152
7169
  * '#search',
7153
- * (el: HTMLInputElement) => el.value
7170
+ * (el: HTMLInputElement) => el.value,
7154
7171
  * );
7155
7172
  * ```
7156
7173
  *
@@ -7223,7 +7240,7 @@
7223
7240
  *
7224
7241
  * ```ts
7225
7242
  * const allInputValues = await page.$$eval('input', elements =>
7226
- * elements.map(e => e.textContent)
7243
+ * elements.map(e => e.textContent),
7227
7244
  * );
7228
7245
  * ```
7229
7246
  *
@@ -7341,10 +7358,10 @@
7341
7358
  *
7342
7359
  * ```ts
7343
7360
  * const firstRequest = await page.waitForRequest(
7344
- * 'https://example.com/resource'
7361
+ * 'https://example.com/resource',
7345
7362
  * );
7346
7363
  * const finalRequest = await page.waitForRequest(
7347
- * request => request.url() === 'https://example.com'
7364
+ * request => request.url() === 'https://example.com',
7348
7365
  * );
7349
7366
  * return finalRequest.response()?.ok();
7350
7367
  * ```
@@ -7385,11 +7402,11 @@
7385
7402
  *
7386
7403
  * ```ts
7387
7404
  * const firstResponse = await page.waitForResponse(
7388
- * 'https://example.com/resource'
7405
+ * 'https://example.com/resource',
7389
7406
  * );
7390
7407
  * const finalResponse = await page.waitForResponse(
7391
7408
  * response =>
7392
- * response.url() === 'https://example.com' && response.status() === 200
7409
+ * response.url() === 'https://example.com' && response.status() === 200,
7393
7410
  * );
7394
7411
  * const finalResponse = await page.waitForResponse(async response => {
7395
7412
  * return (await response.text()).includes('<html>');
@@ -8137,7 +8154,7 @@
8137
8154
  * await page.waitForFunction(
8138
8155
  * selector => !!document.querySelector(selector),
8139
8156
  * {},
8140
- * selector
8157
+ * selector,
8141
8158
  * );
8142
8159
  * ```
8143
8160
  *
@@ -8149,7 +8166,7 @@
8149
8166
  * await page.waitForFunction(
8150
8167
  * async username => {
8151
8168
  * const githubResponse = await fetch(
8152
- * `https://api.github.com/users/${username}`
8169
+ * `https://api.github.com/users/${username}`,
8153
8170
  * );
8154
8171
  * const githubUser = await githubResponse.json();
8155
8172
  * // show the avatar
@@ -8160,7 +8177,7 @@
8160
8177
  * img.remove();
8161
8178
  * },
8162
8179
  * {},
8163
- * username
8180
+ * username,
8164
8181
  * );
8165
8182
  * ```
8166
8183
  *
@@ -8398,19 +8415,23 @@
8398
8415
  env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
8399
8416
  env.hasError = true;
8400
8417
  }
8418
+ var r, s = 0;
8401
8419
  function next() {
8402
- while (env.stack.length) {
8403
- var rec = env.stack.pop();
8420
+ while (r = env.stack.pop()) {
8404
8421
  try {
8405
- var result = rec.dispose && rec.dispose.call(rec.value);
8406
- if (rec.async) return Promise.resolve(result).then(next, function(e) {
8407
- fail(e);
8408
- return next();
8409
- });
8422
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
8423
+ if (r.dispose) {
8424
+ var result = r.dispose.call(r.value);
8425
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
8426
+ fail(e);
8427
+ return next();
8428
+ });
8429
+ } else s |= 1;
8410
8430
  } catch (e) {
8411
8431
  fail(e);
8412
8432
  }
8413
8433
  }
8434
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
8414
8435
  if (env.hasError) throw env.error;
8415
8436
  }
8416
8437
  return next();
@@ -8564,19 +8585,23 @@
8564
8585
  env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
8565
8586
  env.hasError = true;
8566
8587
  }
8588
+ var r, s = 0;
8567
8589
  function next() {
8568
- while (env.stack.length) {
8569
- var rec = env.stack.pop();
8590
+ while (r = env.stack.pop()) {
8570
8591
  try {
8571
- var result = rec.dispose && rec.dispose.call(rec.value);
8572
- if (rec.async) return Promise.resolve(result).then(next, function(e) {
8573
- fail(e);
8574
- return next();
8575
- });
8592
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
8593
+ if (r.dispose) {
8594
+ var result = r.dispose.call(r.value);
8595
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
8596
+ fail(e);
8597
+ return next();
8598
+ });
8599
+ } else s |= 1;
8576
8600
  } catch (e) {
8577
8601
  fail(e);
8578
8602
  }
8579
8603
  }
8604
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
8580
8605
  if (env.hasError) throw env.error;
8581
8606
  }
8582
8607
  return next();
@@ -9927,19 +9952,23 @@
9927
9952
  env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
9928
9953
  env.hasError = true;
9929
9954
  }
9955
+ var r, s = 0;
9930
9956
  function next() {
9931
- while (env.stack.length) {
9932
- var rec = env.stack.pop();
9957
+ while (r = env.stack.pop()) {
9933
9958
  try {
9934
- var result = rec.dispose && rec.dispose.call(rec.value);
9935
- if (rec.async) return Promise.resolve(result).then(next, function(e) {
9936
- fail(e);
9937
- return next();
9938
- });
9959
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
9960
+ if (r.dispose) {
9961
+ var result = r.dispose.call(r.value);
9962
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
9963
+ fail(e);
9964
+ return next();
9965
+ });
9966
+ } else s |= 1;
9939
9967
  } catch (e) {
9940
9968
  fail(e);
9941
9969
  }
9942
9970
  }
9971
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
9943
9972
  if (env.hasError) throw env.error;
9944
9973
  }
9945
9974
  return next();
@@ -10062,19 +10091,23 @@
10062
10091
  env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
10063
10092
  env.hasError = true;
10064
10093
  }
10094
+ var r, s = 0;
10065
10095
  function next() {
10066
- while (env.stack.length) {
10067
- var rec = env.stack.pop();
10096
+ while (r = env.stack.pop()) {
10068
10097
  try {
10069
- var result = rec.dispose && rec.dispose.call(rec.value);
10070
- if (rec.async) return Promise.resolve(result).then(next, function(e) {
10071
- fail(e);
10072
- return next();
10073
- });
10098
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
10099
+ if (r.dispose) {
10100
+ var result = r.dispose.call(r.value);
10101
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
10102
+ fail(e);
10103
+ return next();
10104
+ });
10105
+ } else s |= 1;
10074
10106
  } catch (e) {
10075
10107
  fail(e);
10076
10108
  }
10077
10109
  }
10110
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
10078
10111
  if (env.hasError) throw env.error;
10079
10112
  }
10080
10113
  return next();
@@ -10267,6 +10300,9 @@
10267
10300
  };
10268
10301
  var ATTRIBUTE_REGEXP = /\[\s*(?<attribute>\w+)\s*=\s*(?<quote>"|')(?<value>\\.|.*?(?=\k<quote>))\k<quote>\s*\]/g;
10269
10302
  var parseARIASelector = (selector) => {
10303
+ if (selector.length > 1e4) {
10304
+ throw new Error(`Selector ${selector} is too long`);
10305
+ }
10270
10306
  const queryOptions = {};
10271
10307
  const defaultName = selector.replace(ATTRIBUTE_REGEXP, (_, attribute, __, value) => {
10272
10308
  assert(isKnownAttribute(attribute), `Unknown aria attribute "${attribute}" in selector`);
@@ -10892,19 +10928,23 @@
10892
10928
  env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
10893
10929
  env.hasError = true;
10894
10930
  }
10931
+ var r, s = 0;
10895
10932
  function next() {
10896
- while (env.stack.length) {
10897
- var rec = env.stack.pop();
10933
+ while (r = env.stack.pop()) {
10898
10934
  try {
10899
- var result = rec.dispose && rec.dispose.call(rec.value);
10900
- if (rec.async) return Promise.resolve(result).then(next, function(e) {
10901
- fail(e);
10902
- return next();
10903
- });
10935
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
10936
+ if (r.dispose) {
10937
+ var result = r.dispose.call(r.value);
10938
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
10939
+ fail(e);
10940
+ return next();
10941
+ });
10942
+ } else s |= 1;
10904
10943
  } catch (e) {
10905
10944
  fail(e);
10906
10945
  }
10907
10946
  }
10947
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
10908
10948
  if (env.hasError) throw env.error;
10909
10949
  }
10910
10950
  return next();
@@ -11297,7 +11337,7 @@
11297
11337
  * await frame.waitForFunction(
11298
11338
  * selector => !!document.querySelector(selector),
11299
11339
  * {}, // empty options object
11300
- * selector
11340
+ * selector,
11301
11341
  * );
11302
11342
  * ```
11303
11343
  *
@@ -11914,19 +11954,23 @@
11914
11954
  env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
11915
11955
  env.hasError = true;
11916
11956
  }
11957
+ var r, s = 0;
11917
11958
  function next() {
11918
- while (env.stack.length) {
11919
- var rec = env.stack.pop();
11959
+ while (r = env.stack.pop()) {
11920
11960
  try {
11921
- var result = rec.dispose && rec.dispose.call(rec.value);
11922
- if (rec.async) return Promise.resolve(result).then(next, function(e) {
11923
- fail(e);
11924
- return next();
11925
- });
11961
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
11962
+ if (r.dispose) {
11963
+ var result = r.dispose.call(r.value);
11964
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
11965
+ fail(e);
11966
+ return next();
11967
+ });
11968
+ } else s |= 1;
11926
11969
  } catch (e) {
11927
11970
  fail(e);
11928
11971
  }
11929
11972
  }
11973
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
11930
11974
  if (env.hasError) throw env.error;
11931
11975
  }
11932
11976
  return next();
@@ -12245,10 +12289,10 @@
12245
12289
  * ```ts
12246
12290
  * const tweetHandle = await page.$('.tweet');
12247
12291
  * expect(await tweetHandle.$eval('.like', node => node.innerText)).toBe(
12248
- * '100'
12292
+ * '100',
12249
12293
  * );
12250
12294
  * expect(await tweetHandle.$eval('.retweets', node => node.innerText)).toBe(
12251
- * '10'
12295
+ * '10',
12252
12296
  * );
12253
12297
  * ```
12254
12298
  *
@@ -12311,7 +12355,7 @@
12311
12355
  * ```ts
12312
12356
  * const feedHandle = await page.$('.feed');
12313
12357
  * expect(
12314
- * await feedHandle.$$eval('.tweet', nodes => nodes.map(n => n.innerText))
12358
+ * await feedHandle.$$eval('.tweet', nodes => nodes.map(n => n.innerText)),
12315
12359
  * ).toEqual(['Hello!', 'Hi!']);
12316
12360
  * ```
12317
12361
  *
@@ -12447,7 +12491,7 @@
12447
12491
  *
12448
12492
  * ```ts
12449
12493
  * const element: ElementHandle<Element> = await page.$(
12450
- * '.class-name-of-anchor'
12494
+ * '.class-name-of-anchor',
12451
12495
  * );
12452
12496
  * // DO NOT DISPOSE `element`, this will be always be the same handle.
12453
12497
  * const anchor: ElementHandle<HTMLAnchorElement> =
@@ -13520,19 +13564,23 @@
13520
13564
  env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
13521
13565
  env.hasError = true;
13522
13566
  }
13567
+ var r, s = 0;
13523
13568
  function next() {
13524
- while (env.stack.length) {
13525
- var rec = env.stack.pop();
13569
+ while (r = env.stack.pop()) {
13526
13570
  try {
13527
- var result = rec.dispose && rec.dispose.call(rec.value);
13528
- if (rec.async) return Promise.resolve(result).then(next, function(e) {
13529
- fail(e);
13530
- return next();
13531
- });
13571
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
13572
+ if (r.dispose) {
13573
+ var result = r.dispose.call(r.value);
13574
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
13575
+ fail(e);
13576
+ return next();
13577
+ });
13578
+ } else s |= 1;
13532
13579
  } catch (e) {
13533
13580
  fail(e);
13534
13581
  }
13535
13582
  }
13583
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
13536
13584
  if (env.hasError) throw env.error;
13537
13585
  }
13538
13586
  return next();
@@ -13541,23 +13589,13 @@
13541
13589
  var e = new Error(message);
13542
13590
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
13543
13591
  });
13544
- var ariaQuerySelectorBinding = new Binding(
13545
- "__ariaQuerySelector",
13546
- ARIAQueryHandler.queryOne,
13547
- ""
13548
- // custom init
13549
- );
13550
- var ariaQuerySelectorAllBinding = new Binding(
13551
- "__ariaQuerySelectorAll",
13552
- async (element, selector) => {
13553
- const results = ARIAQueryHandler.queryAll(element, selector);
13554
- return await element.realm.evaluateHandle((...elements) => {
13555
- return elements;
13556
- }, ...await AsyncIterableUtil.collect(results));
13557
- },
13558
- ""
13559
- // custom init
13560
- );
13592
+ var ariaQuerySelectorBinding = new Binding("__ariaQuerySelector", ARIAQueryHandler.queryOne, "");
13593
+ var ariaQuerySelectorAllBinding = new Binding("__ariaQuerySelectorAll", async (element, selector) => {
13594
+ const results = ARIAQueryHandler.queryAll(element, selector);
13595
+ return await element.realm.evaluateHandle((...elements) => {
13596
+ return elements;
13597
+ }, ...await AsyncIterableUtil.collect(results));
13598
+ }, "");
13561
13599
  var ExecutionContext = class extends EventEmitter {
13562
13600
  #client;
13563
13601
  #world;
@@ -13719,7 +13757,7 @@
13719
13757
  * const result = await executionContext.evaluate(
13720
13758
  * (a, b) => a + b,
13721
13759
  * oneHandle,
13722
- * twoHandle
13760
+ * twoHandle,
13723
13761
  * );
13724
13762
  * await oneHandle.dispose();
13725
13763
  * await twoHandle.dispose();
@@ -13749,7 +13787,7 @@
13749
13787
  * ```ts
13750
13788
  * const context = await page.mainFrame().executionContext();
13751
13789
  * const handle: JSHandle<typeof globalThis> = await context.evaluateHandle(
13752
- * () => Promise.resolve(self)
13790
+ * () => Promise.resolve(self),
13753
13791
  * );
13754
13792
  * ```
13755
13793
  *
@@ -13770,7 +13808,7 @@
13770
13808
  * });
13771
13809
  * const stringHandle: JSHandle<string> = await context.evaluateHandle(
13772
13810
  * body => body.innerHTML,
13773
- * body
13811
+ * body,
13774
13812
  * );
13775
13813
  * console.log(await stringHandle.jsonValue()); // prints body's innerHTML
13776
13814
  * // Always dispose your garbage! :)
@@ -15890,7 +15928,7 @@ ${sourceUrlComment}
15890
15928
  return;
15891
15929
  }
15892
15930
  const firstLine = extraInfo.headersText.split("\r", 1)[0];
15893
- if (!firstLine) {
15931
+ if (!firstLine || firstLine.length > 1e3) {
15894
15932
  return;
15895
15933
  }
15896
15934
  const match = firstLine.match(/[^ ]* [^ ]* (.*)/);
@@ -16475,7 +16513,9 @@ ${sourceUrlComment}
16475
16513
  const requestId = request.id;
16476
16514
  const interceptionId = request._interceptionId;
16477
16515
  this.#networkEventManager.forgetRequest(requestId);
16478
- interceptionId !== void 0 && this.#attemptedAuthentications.delete(interceptionId);
16516
+ if (interceptionId !== void 0) {
16517
+ this.#attemptedAuthentications.delete(interceptionId);
16518
+ }
16479
16519
  if (events) {
16480
16520
  this.#networkEventManager.forget(requestId);
16481
16521
  }
@@ -16583,7 +16623,7 @@ ${sourceUrlComment}
16583
16623
  });
16584
16624
  try {
16585
16625
  await swapped.valueOrThrow();
16586
- } catch (err) {
16626
+ } catch {
16587
16627
  this.#removeFramesRecursively(mainFrame);
16588
16628
  }
16589
16629
  }
@@ -18042,19 +18082,23 @@ ${sourceUrlComment}
18042
18082
  env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
18043
18083
  env.hasError = true;
18044
18084
  }
18085
+ var r, s = 0;
18045
18086
  function next() {
18046
- while (env.stack.length) {
18047
- var rec = env.stack.pop();
18087
+ while (r = env.stack.pop()) {
18048
18088
  try {
18049
- var result = rec.dispose && rec.dispose.call(rec.value);
18050
- if (rec.async) return Promise.resolve(result).then(next, function(e) {
18051
- fail(e);
18052
- return next();
18053
- });
18089
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
18090
+ if (r.dispose) {
18091
+ var result = r.dispose.call(r.value);
18092
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
18093
+ fail(e);
18094
+ return next();
18095
+ });
18096
+ } else s |= 1;
18054
18097
  } catch (e) {
18055
18098
  fail(e);
18056
18099
  }
18057
18100
  }
18101
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
18058
18102
  if (env.hasError) throw env.error;
18059
18103
  }
18060
18104
  return next();
@@ -18821,7 +18865,7 @@ ${sourceUrlComment}
18821
18865
  * page.click('#connect-bluetooth'),
18822
18866
  * ]);
18823
18867
  * await devicePrompt.select(
18824
- * await devicePrompt.waitForDevice(({name}) => name.includes('My Device'))
18868
+ * await devicePrompt.waitForDevice(({name}) => name.includes('My Device')),
18825
18869
  * );
18826
18870
  * ```
18827
18871
  */
@@ -19318,7 +19362,9 @@ ${sourceUrlComment}
19318
19362
  ]).catch(debugError);
19319
19363
  };
19320
19364
  #finishInitializationIfReady(targetId) {
19321
- targetId !== void 0 && this.#targetsIdsForInit.delete(targetId);
19365
+ if (targetId !== void 0) {
19366
+ this.#targetsIdsForInit.delete(targetId);
19367
+ }
19322
19368
  if (this.#targetsIdsForInit.size === 0) {
19323
19369
  this.#initializeDeferred.resolve();
19324
19370
  }