brave-real-puppeteer-core 24.20.0 → 24.23.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 (207) hide show
  1. package/README.md +5 -5
  2. package/advanced-stealth.js +1 -1
  3. package/lib/cjs/puppeteer/api/Browser.d.ts +1 -1
  4. package/lib/cjs/puppeteer/api/Dialog.d.ts +8 -10
  5. package/lib/cjs/puppeteer/api/Dialog.d.ts.map +1 -1
  6. package/lib/cjs/puppeteer/api/Dialog.js +8 -10
  7. package/lib/cjs/puppeteer/api/Dialog.js.map +1 -1
  8. package/lib/cjs/puppeteer/api/ElementHandle.d.ts +28 -30
  9. package/lib/cjs/puppeteer/api/ElementHandle.d.ts.map +1 -1
  10. package/lib/cjs/puppeteer/api/ElementHandle.js +27 -29
  11. package/lib/cjs/puppeteer/api/ElementHandle.js.map +1 -1
  12. package/lib/cjs/puppeteer/api/Frame.d.ts +34 -38
  13. package/lib/cjs/puppeteer/api/Frame.d.ts.map +1 -1
  14. package/lib/cjs/puppeteer/api/Frame.js +34 -38
  15. package/lib/cjs/puppeteer/api/Frame.js.map +1 -1
  16. package/lib/cjs/puppeteer/api/HTTPRequest.d.ts +8 -1
  17. package/lib/cjs/puppeteer/api/HTTPRequest.d.ts.map +1 -1
  18. package/lib/cjs/puppeteer/api/HTTPRequest.js +12 -14
  19. package/lib/cjs/puppeteer/api/HTTPRequest.js.map +1 -1
  20. package/lib/cjs/puppeteer/api/Page.d.ts +103 -109
  21. package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
  22. package/lib/cjs/puppeteer/api/Page.js +35 -41
  23. package/lib/cjs/puppeteer/api/Page.js.map +1 -1
  24. package/lib/cjs/puppeteer/bidi/Browser.d.ts.map +1 -1
  25. package/lib/cjs/puppeteer/bidi/Browser.js +5 -3
  26. package/lib/cjs/puppeteer/bidi/Browser.js.map +1 -1
  27. package/lib/cjs/puppeteer/bidi/Frame.d.ts.map +1 -1
  28. package/lib/cjs/puppeteer/bidi/Frame.js +1 -1
  29. package/lib/cjs/puppeteer/bidi/Frame.js.map +1 -1
  30. package/lib/cjs/puppeteer/bidi/HTTPRequest.d.ts +4 -2
  31. package/lib/cjs/puppeteer/bidi/HTTPRequest.d.ts.map +1 -1
  32. package/lib/cjs/puppeteer/bidi/HTTPRequest.js +14 -5
  33. package/lib/cjs/puppeteer/bidi/HTTPRequest.js.map +1 -1
  34. package/lib/cjs/puppeteer/bidi/Page.d.ts +6 -1
  35. package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
  36. package/lib/cjs/puppeteer/bidi/Page.js +42 -14
  37. package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
  38. package/lib/cjs/puppeteer/bidi/core/Browser.d.ts.map +1 -1
  39. package/lib/cjs/puppeteer/bidi/core/Browser.js +24 -2
  40. package/lib/cjs/puppeteer/bidi/core/Browser.js.map +1 -1
  41. package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
  42. package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js +1 -3
  43. package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
  44. package/lib/cjs/puppeteer/bidi/core/Realm.d.ts +2 -2
  45. package/lib/cjs/puppeteer/cdp/Accessibility.js +0 -20
  46. package/lib/cjs/puppeteer/cdp/Accessibility.js.map +1 -1
  47. package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts +1 -0
  48. package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
  49. package/lib/cjs/puppeteer/cdp/HTTPRequest.js +3 -0
  50. package/lib/cjs/puppeteer/cdp/HTTPRequest.js.map +1 -1
  51. package/lib/cjs/puppeteer/cdp/NetworkManager.d.ts +1 -1
  52. package/lib/cjs/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
  53. package/lib/cjs/puppeteer/cdp/NetworkManager.js +8 -2
  54. package/lib/cjs/puppeteer/cdp/NetworkManager.js.map +1 -1
  55. package/lib/cjs/puppeteer/cdp/Page.d.ts +5 -1
  56. package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
  57. package/lib/cjs/puppeteer/cdp/Page.js +8 -2
  58. package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
  59. package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.d.ts +13 -22
  60. package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.d.ts.map +1 -1
  61. package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.js +13 -22
  62. package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.js.map +1 -1
  63. package/lib/cjs/puppeteer/common/Device.d.ts +6 -8
  64. package/lib/cjs/puppeteer/common/Device.d.ts.map +1 -1
  65. package/lib/cjs/puppeteer/common/Device.js +6 -8
  66. package/lib/cjs/puppeteer/common/Device.js.map +1 -1
  67. package/lib/cjs/puppeteer/generated/injected.d.ts +1 -1
  68. package/lib/cjs/puppeteer/generated/injected.js +1 -1
  69. package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
  70. package/lib/cjs/puppeteer/generated/version.js +1 -1
  71. package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
  72. package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts +1 -1
  73. package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  74. package/lib/cjs/puppeteer/node/BrowserLauncher.js +12 -4
  75. package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
  76. package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
  77. package/lib/cjs/puppeteer/node/ChromeLauncher.js +1 -0
  78. package/lib/cjs/puppeteer/node/ChromeLauncher.js.map +1 -1
  79. package/lib/cjs/puppeteer/node/PipeTransport.d.ts.map +1 -1
  80. package/lib/cjs/puppeteer/node/PipeTransport.js +15 -16
  81. package/lib/cjs/puppeteer/node/PipeTransport.js.map +1 -1
  82. package/lib/cjs/puppeteer/node/PuppeteerNode.d.ts +5 -7
  83. package/lib/cjs/puppeteer/node/PuppeteerNode.d.ts.map +1 -1
  84. package/lib/cjs/puppeteer/node/PuppeteerNode.js +5 -7
  85. package/lib/cjs/puppeteer/node/PuppeteerNode.js.map +1 -1
  86. package/lib/cjs/puppeteer/revisions.d.ts +3 -3
  87. package/lib/cjs/puppeteer/revisions.js +3 -3
  88. package/lib/cjs/puppeteer/util/Function.d.ts.map +1 -1
  89. package/lib/cjs/puppeteer/util/Function.js +16 -25
  90. package/lib/cjs/puppeteer/util/Function.js.map +1 -1
  91. package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
  92. package/lib/es5-iife/puppeteer-core-browser.d.ts +201 -227
  93. package/lib/es5-iife/puppeteer-core-browser.js +176 -218
  94. package/lib/esm/puppeteer/api/Browser.d.ts +1 -1
  95. package/lib/esm/puppeteer/api/Dialog.d.ts +8 -10
  96. package/lib/esm/puppeteer/api/Dialog.d.ts.map +1 -1
  97. package/lib/esm/puppeteer/api/Dialog.js +8 -10
  98. package/lib/esm/puppeteer/api/Dialog.js.map +1 -1
  99. package/lib/esm/puppeteer/api/ElementHandle.d.ts +28 -30
  100. package/lib/esm/puppeteer/api/ElementHandle.d.ts.map +1 -1
  101. package/lib/esm/puppeteer/api/ElementHandle.js +27 -29
  102. package/lib/esm/puppeteer/api/ElementHandle.js.map +1 -1
  103. package/lib/esm/puppeteer/api/Frame.d.ts +34 -38
  104. package/lib/esm/puppeteer/api/Frame.d.ts.map +1 -1
  105. package/lib/esm/puppeteer/api/Frame.js +34 -38
  106. package/lib/esm/puppeteer/api/Frame.js.map +1 -1
  107. package/lib/esm/puppeteer/api/HTTPRequest.d.ts +8 -1
  108. package/lib/esm/puppeteer/api/HTTPRequest.d.ts.map +1 -1
  109. package/lib/esm/puppeteer/api/HTTPRequest.js +12 -14
  110. package/lib/esm/puppeteer/api/HTTPRequest.js.map +1 -1
  111. package/lib/esm/puppeteer/api/Page.d.ts +103 -109
  112. package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
  113. package/lib/esm/puppeteer/api/Page.js +35 -41
  114. package/lib/esm/puppeteer/api/Page.js.map +1 -1
  115. package/lib/esm/puppeteer/bidi/Browser.d.ts.map +1 -1
  116. package/lib/esm/puppeteer/bidi/Browser.js +5 -3
  117. package/lib/esm/puppeteer/bidi/Browser.js.map +1 -1
  118. package/lib/esm/puppeteer/bidi/Frame.d.ts.map +1 -1
  119. package/lib/esm/puppeteer/bidi/Frame.js +1 -1
  120. package/lib/esm/puppeteer/bidi/Frame.js.map +1 -1
  121. package/lib/esm/puppeteer/bidi/HTTPRequest.d.ts +4 -2
  122. package/lib/esm/puppeteer/bidi/HTTPRequest.d.ts.map +1 -1
  123. package/lib/esm/puppeteer/bidi/HTTPRequest.js +15 -6
  124. package/lib/esm/puppeteer/bidi/HTTPRequest.js.map +1 -1
  125. package/lib/esm/puppeteer/bidi/Page.d.ts +6 -1
  126. package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
  127. package/lib/esm/puppeteer/bidi/Page.js +42 -14
  128. package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
  129. package/lib/esm/puppeteer/bidi/core/Browser.d.ts.map +1 -1
  130. package/lib/esm/puppeteer/bidi/core/Browser.js +24 -2
  131. package/lib/esm/puppeteer/bidi/core/Browser.js.map +1 -1
  132. package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
  133. package/lib/esm/puppeteer/bidi/core/BrowsingContext.js +1 -3
  134. package/lib/esm/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
  135. package/lib/esm/puppeteer/cdp/Accessibility.js +0 -20
  136. package/lib/esm/puppeteer/cdp/Accessibility.js.map +1 -1
  137. package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts +1 -0
  138. package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
  139. package/lib/esm/puppeteer/cdp/HTTPRequest.js +3 -0
  140. package/lib/esm/puppeteer/cdp/HTTPRequest.js.map +1 -1
  141. package/lib/esm/puppeteer/cdp/NetworkManager.d.ts +1 -1
  142. package/lib/esm/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
  143. package/lib/esm/puppeteer/cdp/NetworkManager.js +8 -2
  144. package/lib/esm/puppeteer/cdp/NetworkManager.js.map +1 -1
  145. package/lib/esm/puppeteer/cdp/Page.d.ts +5 -1
  146. package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
  147. package/lib/esm/puppeteer/cdp/Page.js +8 -2
  148. package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
  149. package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.d.ts +13 -22
  150. package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.d.ts.map +1 -1
  151. package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.js +13 -22
  152. package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.js.map +1 -1
  153. package/lib/esm/puppeteer/common/Device.d.ts +6 -8
  154. package/lib/esm/puppeteer/common/Device.d.ts.map +1 -1
  155. package/lib/esm/puppeteer/common/Device.js +6 -8
  156. package/lib/esm/puppeteer/common/Device.js.map +1 -1
  157. package/lib/esm/puppeteer/generated/injected.d.ts +1 -1
  158. package/lib/esm/puppeteer/generated/injected.js +1 -1
  159. package/lib/esm/puppeteer/generated/version.d.ts +1 -1
  160. package/lib/esm/puppeteer/generated/version.js +1 -1
  161. package/lib/esm/puppeteer/node/BrowserLauncher.d.ts +1 -1
  162. package/lib/esm/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  163. package/lib/esm/puppeteer/node/BrowserLauncher.js +12 -4
  164. package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
  165. package/lib/esm/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
  166. package/lib/esm/puppeteer/node/ChromeLauncher.js +1 -0
  167. package/lib/esm/puppeteer/node/ChromeLauncher.js.map +1 -1
  168. package/lib/esm/puppeteer/node/PipeTransport.d.ts.map +1 -1
  169. package/lib/esm/puppeteer/node/PipeTransport.js +15 -16
  170. package/lib/esm/puppeteer/node/PipeTransport.js.map +1 -1
  171. package/lib/esm/puppeteer/node/PuppeteerNode.d.ts +5 -7
  172. package/lib/esm/puppeteer/node/PuppeteerNode.d.ts.map +1 -1
  173. package/lib/esm/puppeteer/node/PuppeteerNode.js +5 -7
  174. package/lib/esm/puppeteer/node/PuppeteerNode.js.map +1 -1
  175. package/lib/esm/puppeteer/revisions.d.ts +3 -3
  176. package/lib/esm/puppeteer/revisions.js +3 -3
  177. package/lib/esm/puppeteer/util/Function.d.ts.map +1 -1
  178. package/lib/esm/puppeteer/util/Function.js +16 -25
  179. package/lib/esm/puppeteer/util/Function.js.map +1 -1
  180. package/lib/types.d.ts +201 -227
  181. package/package.json +16 -16
  182. package/src/api/Browser.ts +1 -1
  183. package/src/api/Dialog.ts +8 -10
  184. package/src/api/ElementHandle.ts +27 -29
  185. package/src/api/Frame.ts +34 -38
  186. package/src/api/HTTPRequest.ts +17 -14
  187. package/src/api/Page.ts +105 -110
  188. package/src/bidi/Browser.ts +5 -3
  189. package/src/bidi/Frame.ts +5 -1
  190. package/src/bidi/HTTPRequest.ts +28 -3
  191. package/src/bidi/Page.ts +66 -15
  192. package/src/bidi/core/Browser.ts +28 -2
  193. package/src/bidi/core/BrowsingContext.ts +0 -1
  194. package/src/cdp/Accessibility.ts +1 -21
  195. package/src/cdp/HTTPRequest.ts +4 -0
  196. package/src/cdp/NetworkManager.ts +8 -1
  197. package/src/cdp/Page.ts +21 -5
  198. package/src/cdp/PredefinedNetworkConditions.ts +13 -22
  199. package/src/common/Device.ts +6 -8
  200. package/src/generated/injected.ts +1 -1
  201. package/src/generated/version.ts +1 -1
  202. package/src/node/BrowserLauncher.ts +19 -4
  203. package/src/node/ChromeLauncher.ts +1 -0
  204. package/src/node/PipeTransport.ts +15 -17
  205. package/src/node/PuppeteerNode.ts +5 -7
  206. package/src/revisions.ts +3 -3
  207. package/src/util/Function.ts +22 -30
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "brave-real-puppeteer-core",
3
- "version": "24.20.0",
4
- "description": "Brave-optimized Puppeteer Core (v24.20.0) with comprehensive stealth patches and cross-platform browser detection",
3
+ "version": "24.23.0",
4
+ "description": "Brave-optimized Puppeteer Core (v24.23.0) with comprehensive stealth patches and cross-platform browser detection",
5
5
  "keywords": [
6
6
  "puppeteer",
7
7
  "brave",
@@ -13,7 +13,7 @@
13
13
  "rebrowser",
14
14
  "patches",
15
15
  "anti-detection",
16
- "puppeteer-24.20.0",
16
+ "puppeteer-24.23.0",
17
17
  "puppeteer-core",
18
18
  "patch-version"
19
19
  ],
@@ -37,17 +37,17 @@
37
37
  },
38
38
  "license": "MIT",
39
39
  "dependencies": {
40
- "@puppeteer/browsers": "2.10.9",
41
- "chromium-bidi": "8.0.0",
42
- "debug": "^4.4.1",
43
- "devtools-protocol": "0.0.1495869",
40
+ "@puppeteer/browsers": "2.10.10",
41
+ "chromium-bidi": "9.1.0",
42
+ "debug": "^4.4.3",
43
+ "devtools-protocol": "0.0.1508733",
44
44
  "typed-query-selector": "^2.12.0",
45
- "webdriver-bidi-protocol": "0.2.8",
45
+ "webdriver-bidi-protocol": "0.3.6",
46
46
  "ws": "^8.18.3"
47
47
  },
48
48
  "optionalDependencies": {},
49
49
  "peerDependencies": {
50
- "puppeteer-core": "24.20.0"
50
+ "puppeteer-core": "24.23.0"
51
51
  },
52
52
  "files": [
53
53
  "lib",
@@ -58,16 +58,16 @@
58
58
  ],
59
59
  "brave": {
60
60
  "optimized": true,
61
- "version": "24.20.0",
61
+ "version": "24.23.0",
62
62
  "basedOn": {
63
- "puppeteer-core": "24.20.0",
64
- "patches-version": "24.20.0",
65
- "release-info": "Brave Puppeteer v24.20.0 based on Puppeteer Core v24.20.0"
63
+ "puppeteer-core": "24.23.0",
64
+ "patches-version": "24.23.0",
65
+ "release-info": "Brave Puppeteer v24.23.0 based on Puppeteer Core v24.23.0"
66
66
  },
67
67
  "versionInfo": {
68
- "braveVersion": "24.20.0",
69
- "puppeteerVersion": "24.20.0",
70
- "fullName": "Brave Puppeteer Core v24.20.0 (Puppeteer 24.20.0)"
68
+ "braveVersion": "24.23.0",
69
+ "puppeteerVersion": "24.23.0",
70
+ "fullName": "Brave Puppeteer Core v24.23.0 (Puppeteer 24.23.0)"
71
71
  },
72
72
  "features": [
73
73
  "ultra-fast-timing",
@@ -412,7 +412,7 @@ export abstract class Browser extends EventEmitter<BrowserEvents> {
412
412
  * Gets this {@link Browser | browser's} original user agent.
413
413
  *
414
414
  * {@link Page | Pages} can override the user agent with
415
- * {@link Page.setUserAgent}.
415
+ * {@link Page.(setUserAgent:2) }.
416
416
  *
417
417
  */
418
418
  abstract userAgent(): Promise<string>;
package/src/api/Dialog.ts CHANGED
@@ -18,16 +18,14 @@ import {assert} from '../util/assert.js';
18
18
  * ```ts
19
19
  * import puppeteer from 'puppeteer';
20
20
  *
21
- * (async () => {
22
- * const browser = await puppeteer.launch();
23
- * const page = await browser.newPage();
24
- * page.on('dialog', async dialog => {
25
- * console.log(dialog.message());
26
- * await dialog.dismiss();
27
- * await browser.close();
28
- * });
29
- * page.evaluate(() => alert('1'));
30
- * })();
21
+ * const browser = await puppeteer.launch();
22
+ * const page = await browser.newPage();
23
+ * page.on('dialog', async dialog => {
24
+ * console.log(dialog.message());
25
+ * await dialog.dismiss();
26
+ * await browser.close();
27
+ * });
28
+ * await page.evaluate(() => alert('1'));
31
29
  * ```
32
30
  *
33
31
  * @public
@@ -188,19 +188,18 @@ export function bindIsolatedHandle<This extends ElementHandle<Node>>(
188
188
  * ```ts
189
189
  * import puppeteer from 'puppeteer';
190
190
  *
191
- * (async () => {
192
- * const browser = await puppeteer.launch();
193
- * const page = await browser.newPage();
194
- * await page.goto('https://example.com');
195
- * const hrefElement = await page.$('a');
196
- * await hrefElement.click();
197
- * // ...
198
- * })();
191
+ * const browser = await puppeteer.launch();
192
+ * const page = await browser.newPage();
193
+ * await page.goto('https://example.com');
194
+ * const hrefElement = await page.$('a');
195
+ * await hrefElement.click();
196
+ * // ...
199
197
  * ```
200
198
  *
201
199
  * ElementHandle prevents the DOM element from being garbage-collected unless the
202
200
  * handle is {@link JSHandle.dispose | disposed}. ElementHandles are auto-disposed
203
- * when their origin frame gets navigated.
201
+ * when their associated frame is navigated away or the parent
202
+ * context gets destroyed.
204
203
  *
205
204
  * ElementHandle instances can be used as arguments in {@link Page.$eval} and
206
205
  * {@link Page.evaluate} methods.
@@ -533,9 +532,10 @@ export abstract class ElementHandle<
533
532
  *
534
533
  * ```ts
535
534
  * const feedHandle = await page.$('.feed');
536
- * expect(
537
- * await feedHandle.$$eval('.tweet', nodes => nodes.map(n => n.innerText)),
538
- * ).toEqual(['Hello!', 'Hi!']);
535
+ *
536
+ * const listOfTweets = await feedHandle.$$eval('.tweet', nodes =>
537
+ * nodes.map(n => n.innerText),
538
+ * );
539
539
  * ```
540
540
  *
541
541
  * @param selector -
@@ -600,24 +600,22 @@ export abstract class ElementHandle<
600
600
  * ```ts
601
601
  * import puppeteer from 'puppeteer';
602
602
  *
603
- * (async () => {
604
- * const browser = await puppeteer.launch();
605
- * const page = await browser.newPage();
606
- * let currentURL;
607
- * page
608
- * .mainFrame()
609
- * .waitForSelector('img')
610
- * .then(() => console.log('First URL with image: ' + currentURL));
603
+ * const browser = await puppeteer.launch();
604
+ * const page = await browser.newPage();
605
+ * let currentURL;
606
+ * page
607
+ * .mainFrame()
608
+ * .waitForSelector('img')
609
+ * .then(() => console.log('First URL with image: ' + currentURL));
611
610
  *
612
- * for (currentURL of [
613
- * 'https://example.com',
614
- * 'https://google.com',
615
- * 'https://bbc.com',
616
- * ]) {
617
- * await page.goto(currentURL);
618
- * }
619
- * await browser.close();
620
- * })();
611
+ * for (currentURL of [
612
+ * 'https://example.com',
613
+ * 'https://google.com',
614
+ * 'https://bbc.com',
615
+ * ]) {
616
+ * await page.goto(currentURL);
617
+ * }
618
+ * await browser.close();
621
619
  * ```
622
620
  *
623
621
  * @param selector - The selector to query and wait for.
package/src/api/Frame.ts CHANGED
@@ -231,20 +231,18 @@ export const throwIfDetached = throwIfDisposed<Frame>(frame => {
231
231
  * ```ts
232
232
  * import puppeteer from 'puppeteer';
233
233
  *
234
- * (async () => {
235
- * const browser = await puppeteer.launch();
236
- * const page = await browser.newPage();
237
- * await page.goto('https://www.google.com/chrome/browser/canary.html');
238
- * dumpFrameTree(page.mainFrame(), '');
239
- * await browser.close();
234
+ * const browser = await puppeteer.launch();
235
+ * const page = await browser.newPage();
236
+ * await page.goto('https://www.google.com/chrome/browser/canary.html');
237
+ * dumpFrameTree(page.mainFrame(), '');
238
+ * await browser.close();
240
239
  *
241
- * function dumpFrameTree(frame, indent) {
242
- * console.log(indent + frame.url());
243
- * for (const child of frame.childFrames()) {
244
- * dumpFrameTree(child, indent + ' ');
245
- * }
240
+ * function dumpFrameTree(frame, indent) {
241
+ * console.log(indent + frame.url());
242
+ * for (const child of frame.childFrames()) {
243
+ * dumpFrameTree(child, indent + ' ');
246
244
  * }
247
- * })();
245
+ * }
248
246
  * ```
249
247
  *
250
248
  * @example
@@ -712,24 +710,22 @@ export abstract class Frame extends EventEmitter<FrameEvents> {
712
710
  * ```ts
713
711
  * import puppeteer from 'puppeteer';
714
712
  *
715
- * (async () => {
716
- * const browser = await puppeteer.launch();
717
- * const page = await browser.newPage();
718
- * let currentURL;
719
- * page
720
- * .mainFrame()
721
- * .waitForSelector('img')
722
- * .then(() => console.log('First URL with image: ' + currentURL));
723
- *
724
- * for (currentURL of [
725
- * 'https://example.com',
726
- * 'https://google.com',
727
- * 'https://bbc.com',
728
- * ]) {
729
- * await page.goto(currentURL);
730
- * }
731
- * await browser.close();
732
- * })();
713
+ * const browser = await puppeteer.launch();
714
+ * const page = await browser.newPage();
715
+ * let currentURL;
716
+ * page
717
+ * .mainFrame()
718
+ * .waitForSelector('img')
719
+ * .then(() => console.log('First URL with image: ' + currentURL));
720
+ *
721
+ * for (currentURL of [
722
+ * 'https://example.com',
723
+ * 'https://google.com',
724
+ * 'https://bbc.com',
725
+ * ]) {
726
+ * await page.goto(currentURL);
727
+ * }
728
+ * await browser.close();
733
729
  * ```
734
730
  *
735
731
  * @param selector - The selector to query and wait for.
@@ -757,14 +753,14 @@ export abstract class Frame extends EventEmitter<FrameEvents> {
757
753
  * ```ts
758
754
  * import puppeteer from 'puppeteer';
759
755
  *
760
- * (async () => {
761
- * . const browser = await puppeteer.launch();
762
- * . const page = await browser.newPage();
763
- * . const watchDog = page.mainFrame().waitForFunction('window.innerWidth < 100');
764
- * . page.setViewport({width: 50, height: 50});
765
- * . await watchDog;
766
- * . await browser.close();
767
- * })();
756
+ * const browser = await puppeteer.launch();
757
+ * const page = await browser.newPage();
758
+ * const watchDog = page
759
+ * .mainFrame()
760
+ * .waitForFunction('window.innerWidth < 100');
761
+ * page.setViewport({width: 50, height: 50});
762
+ * await watchDog;
763
+ * await browser.close();
768
764
  * ```
769
765
  *
770
766
  * To pass arguments from Node.js to the predicate of `page.waitForFunction` function:
@@ -174,7 +174,6 @@ export abstract class HTTPRequest {
174
174
  * `respond()` aren't called).
175
175
  */
176
176
  continueRequestOverrides(): ContinueRequestOverrides {
177
- assert(this.interception.enabled, 'Request Interception is not enabled!');
178
177
  return this.interception.requestOverrides;
179
178
  }
180
179
 
@@ -183,7 +182,6 @@ export abstract class HTTPRequest {
183
182
  * interception is allowed to respond (ie, `abort()` is not called).
184
183
  */
185
184
  responseForRequest(): Partial<ResponseForRequest> | null {
186
- assert(this.interception.enabled, 'Request Interception is not enabled!');
187
185
  return this.interception.response;
188
186
  }
189
187
 
@@ -191,7 +189,6 @@ export abstract class HTTPRequest {
191
189
  * The most recent reason for aborting the request
192
190
  */
193
191
  abortErrorReason(): Protocol.Network.ErrorReason | null {
194
- assert(this.interception.enabled, 'Request Interception is not enabled!');
195
192
  return this.interception.abortReason;
196
193
  }
197
194
 
@@ -384,9 +381,17 @@ export abstract class HTTPRequest {
384
381
  */
385
382
  abstract failure(): {errorText: string} | null;
386
383
 
387
- #canBeIntercepted(): boolean {
388
- return !this.url().startsWith('data:') && !this._fromMemoryCache;
384
+ /**
385
+ * @internal
386
+ */
387
+ protected verifyInterception(): void {
388
+ assert(this.interception.enabled, 'Request Interception is not enabled!');
389
+ assert(!this.interception.handled, 'Request is already handled!');
389
390
  }
391
+ /**
392
+ * @internal
393
+ */
394
+ protected abstract canBeIntercepted(): boolean;
390
395
 
391
396
  /**
392
397
  * Continues request with optional request overrides.
@@ -420,11 +425,11 @@ export abstract class HTTPRequest {
420
425
  overrides: ContinueRequestOverrides = {},
421
426
  priority?: number,
422
427
  ): Promise<void> {
423
- if (!this.#canBeIntercepted()) {
428
+ this.verifyInterception();
429
+ if (!this.canBeIntercepted()) {
424
430
  return;
425
431
  }
426
- assert(this.interception.enabled, 'Request Interception is not enabled!');
427
- assert(!this.interception.handled, 'Request is already handled!');
432
+
428
433
  if (priority === undefined) {
429
434
  return await this._continue(overrides);
430
435
  }
@@ -488,11 +493,10 @@ export abstract class HTTPRequest {
488
493
  response: Partial<ResponseForRequest>,
489
494
  priority?: number,
490
495
  ): Promise<void> {
491
- if (!this.#canBeIntercepted()) {
496
+ this.verifyInterception();
497
+ if (!this.canBeIntercepted()) {
492
498
  return;
493
499
  }
494
- assert(this.interception.enabled, 'Request Interception is not enabled!');
495
- assert(!this.interception.handled, 'Request is already handled!');
496
500
  if (priority === undefined) {
497
501
  return await this._respond(response);
498
502
  }
@@ -534,13 +538,12 @@ export abstract class HTTPRequest {
534
538
  errorCode: ErrorCode = 'failed',
535
539
  priority?: number,
536
540
  ): Promise<void> {
537
- if (!this.#canBeIntercepted()) {
541
+ this.verifyInterception();
542
+ if (!this.canBeIntercepted()) {
538
543
  return;
539
544
  }
540
545
  const errorReason = errorReasons[errorCode];
541
546
  assert(errorReason, 'Unknown error code: ' + errorCode);
542
- assert(this.interception.enabled, 'Request Interception is not enabled!');
543
- assert(!this.interception.handled, 'Request is already handled!');
544
547
  if (priority === undefined) {
545
548
  return await this._abort(errorReason);
546
549
  }