chrome-devtools-frontend 1.0.1615539 → 1.0.1616061

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 (347) hide show
  1. package/front_end/generated/InspectorBackendCommands.ts +2 -1
  2. package/front_end/generated/SupportedCSSProperties.js +4 -0
  3. package/front_end/generated/protocol-mapping.d.ts +7 -0
  4. package/front_end/generated/protocol-proxy-api.d.ts +5 -0
  5. package/front_end/generated/protocol.ts +11 -0
  6. package/front_end/models/ai_assistance/agents/AiAgent.ts +5 -4
  7. package/front_end/models/ai_assistance/agents/PerformanceAgent.snapshot.txt +3 -0
  8. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +85 -47
  9. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +32 -0
  10. package/front_end/models/bindings/SymbolizedError.ts +20 -0
  11. package/front_end/models/bindings/bindings.ts +2 -0
  12. package/front_end/panels/ai_assistance/components/ChatMessage.ts +28 -23
  13. package/front_end/panels/ai_assistance/components/chatMessage.css +1 -1
  14. package/front_end/panels/elements/PropertiesWidget.ts +8 -8
  15. package/front_end/third_party/chromium/README.chromium +1 -1
  16. package/front_end/third_party/puppeteer/README.chromium +2 -2
  17. package/front_end/third_party/puppeteer/package/README.md +2 -0
  18. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +12 -0
  19. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
  20. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
  21. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Extension.d.ts +74 -0
  22. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Extension.d.ts.map +1 -0
  23. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Extension.js +68 -0
  24. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Extension.js.map +1 -0
  25. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.d.ts +8 -0
  26. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.d.ts.map +1 -1
  27. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Issue.d.ts +22 -0
  28. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Issue.d.ts.map +1 -0
  29. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Issue.js +8 -0
  30. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Issue.js.map +1 -0
  31. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +35 -0
  32. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
  33. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
  34. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Realm.d.ts +106 -4
  35. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Realm.d.ts.map +1 -1
  36. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Realm.js +29 -1
  37. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Realm.js.map +1 -1
  38. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/WebWorker.d.ts +24 -2
  39. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/WebWorker.d.ts.map +1 -1
  40. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/WebWorker.js +15 -1
  41. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/WebWorker.js.map +1 -1
  42. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.d.ts +2 -0
  43. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.d.ts.map +1 -1
  44. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.js +1 -0
  45. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.js.map +1 -1
  46. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.d.ts +4 -0
  47. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.d.ts.map +1 -1
  48. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js +8 -0
  49. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js.map +1 -1
  50. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.d.ts.map +1 -1
  51. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.js +2 -1
  52. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.js.map +1 -1
  53. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.d.ts +5 -0
  54. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.d.ts.map +1 -1
  55. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js +6 -0
  56. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js.map +1 -1
  57. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.d.ts +2 -0
  58. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.d.ts.map +1 -1
  59. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js +9 -47
  60. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js.map +1 -1
  61. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Input.d.ts.map +1 -1
  62. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Input.js +0 -1
  63. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Input.js.map +1 -1
  64. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +8 -1
  65. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
  66. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +14 -1
  67. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
  68. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Realm.d.ts +4 -0
  69. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Realm.d.ts.map +1 -1
  70. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Realm.js +21 -0
  71. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Realm.js.map +1 -1
  72. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Target.d.ts.map +1 -1
  73. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Target.js +2 -2
  74. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Target.js.map +1 -1
  75. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts +2 -0
  76. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts.map +1 -1
  77. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.js +18 -0
  78. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.js.map +1 -1
  79. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/util.d.ts +28 -0
  80. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/util.d.ts.map +1 -1
  81. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/util.js +67 -0
  82. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/util.js.map +1 -1
  83. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +9 -2
  84. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
  85. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js +56 -5
  86. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js.map +1 -1
  87. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
  88. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js +2 -2
  89. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js.map +1 -1
  90. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CdpIssue.d.ts +17 -0
  91. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CdpIssue.d.ts.map +1 -0
  92. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CdpIssue.js +27 -0
  93. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CdpIssue.js.map +1 -0
  94. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Extension.d.ts +16 -0
  95. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Extension.d.ts.map +1 -0
  96. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Extension.js +79 -0
  97. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Extension.js.map +1 -0
  98. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.d.ts +10 -0
  99. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.d.ts.map +1 -1
  100. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.js +26 -15
  101. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.js.map +1 -1
  102. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.d.ts +1 -1
  103. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.d.ts.map +1 -1
  104. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.js +38 -0
  105. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.js.map +1 -1
  106. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.d.ts +9 -3
  107. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.d.ts.map +1 -1
  108. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.js +31 -1
  109. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.js.map +1 -1
  110. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +6 -0
  111. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
  112. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +49 -35
  113. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
  114. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Target.d.ts +3 -1
  115. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Target.d.ts.map +1 -1
  116. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Target.js +16 -7
  117. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Target.js.map +1 -1
  118. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.d.ts +2 -0
  119. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.d.ts.map +1 -1
  120. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.js +9 -1
  121. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.js.map +1 -1
  122. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebMCP.d.ts +218 -0
  123. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebMCP.d.ts.map +1 -0
  124. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebMCP.js +288 -0
  125. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebMCP.js.map +1 -0
  126. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebWorker.d.ts +4 -7
  127. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebWorker.d.ts.map +1 -1
  128. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebWorker.js +28 -3
  129. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebWorker.js.map +1 -1
  130. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.d.ts +1 -0
  131. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.d.ts.map +1 -1
  132. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.js +1 -0
  133. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.js.map +1 -1
  134. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/utils.d.ts +9 -0
  135. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/utils.d.ts.map +1 -1
  136. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/utils.js +36 -0
  137. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/utils.js.map +1 -1
  138. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts +7 -0
  139. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  140. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/types.d.ts +0 -11
  141. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/types.d.ts.map +1 -1
  142. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +3 -3
  143. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts +2 -0
  144. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  145. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +5 -2
  146. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
  147. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
  148. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js +0 -1
  149. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js.map +1 -1
  150. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
  151. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
  152. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
  153. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
  154. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.js +1 -1
  155. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.js.map +1 -1
  156. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
  157. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
  158. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +7851 -6616
  159. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +1017 -305
  160. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +12 -0
  161. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
  162. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
  163. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Extension.d.ts +74 -0
  164. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Extension.d.ts.map +1 -0
  165. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Extension.js +64 -0
  166. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Extension.js.map +1 -0
  167. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.d.ts +8 -0
  168. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.d.ts.map +1 -1
  169. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.d.ts +1 -1
  170. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.d.ts.map +1 -1
  171. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Issue.d.ts +22 -0
  172. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Issue.d.ts.map +1 -0
  173. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Issue.js +7 -0
  174. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Issue.js.map +1 -0
  175. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +35 -0
  176. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
  177. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
  178. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Realm.d.ts +106 -4
  179. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Realm.d.ts.map +1 -1
  180. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Realm.js +29 -1
  181. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Realm.js.map +1 -1
  182. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/WebWorker.d.ts +24 -2
  183. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/WebWorker.d.ts.map +1 -1
  184. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/WebWorker.js +14 -0
  185. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/WebWorker.js.map +1 -1
  186. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.d.ts +2 -0
  187. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.d.ts.map +1 -1
  188. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.js +1 -0
  189. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.js.map +1 -1
  190. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.d.ts +4 -0
  191. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.d.ts.map +1 -1
  192. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js +8 -0
  193. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js.map +1 -1
  194. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.d.ts.map +1 -1
  195. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.js +2 -1
  196. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.js.map +1 -1
  197. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.d.ts +5 -0
  198. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.d.ts.map +1 -1
  199. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js +6 -0
  200. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js.map +1 -1
  201. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.d.ts +2 -0
  202. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.d.ts.map +1 -1
  203. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js +8 -46
  204. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js.map +1 -1
  205. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Input.d.ts.map +1 -1
  206. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Input.js +0 -1
  207. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Input.js.map +1 -1
  208. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +8 -1
  209. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
  210. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +14 -1
  211. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
  212. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Realm.d.ts +4 -0
  213. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Realm.d.ts.map +1 -1
  214. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Realm.js +22 -1
  215. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Realm.js.map +1 -1
  216. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Target.d.ts.map +1 -1
  217. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Target.js +2 -2
  218. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Target.js.map +1 -1
  219. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.d.ts +3 -1
  220. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.d.ts.map +1 -1
  221. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.js +18 -0
  222. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.js.map +1 -1
  223. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/util.d.ts +28 -0
  224. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/util.d.ts.map +1 -1
  225. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/util.js +62 -0
  226. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/util.js.map +1 -1
  227. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +9 -2
  228. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
  229. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js +56 -5
  230. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js.map +1 -1
  231. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
  232. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js +2 -2
  233. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js.map +1 -1
  234. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CdpIssue.d.ts +17 -0
  235. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CdpIssue.d.ts.map +1 -0
  236. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CdpIssue.js +23 -0
  237. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CdpIssue.js.map +1 -0
  238. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Extension.d.ts +16 -0
  239. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Extension.d.ts.map +1 -0
  240. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Extension.js +75 -0
  241. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Extension.js.map +1 -0
  242. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.d.ts +10 -0
  243. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.d.ts.map +1 -1
  244. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.js +26 -15
  245. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.js.map +1 -1
  246. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.d.ts +1 -1
  247. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.d.ts.map +1 -1
  248. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.js +38 -0
  249. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.js.map +1 -1
  250. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.d.ts +9 -3
  251. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.d.ts.map +1 -1
  252. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.js +31 -1
  253. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.js.map +1 -1
  254. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +6 -0
  255. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
  256. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +49 -35
  257. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
  258. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Target.d.ts +3 -1
  259. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Target.d.ts.map +1 -1
  260. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Target.js +16 -7
  261. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Target.js.map +1 -1
  262. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.d.ts +2 -0
  263. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.d.ts.map +1 -1
  264. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.js +9 -1
  265. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.js.map +1 -1
  266. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebMCP.d.ts +218 -0
  267. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebMCP.d.ts.map +1 -0
  268. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebMCP.js +282 -0
  269. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebMCP.js.map +1 -0
  270. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebWorker.d.ts +4 -7
  271. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebWorker.d.ts.map +1 -1
  272. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebWorker.js +29 -4
  273. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebWorker.js.map +1 -1
  274. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.d.ts +1 -0
  275. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.d.ts.map +1 -1
  276. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.js +1 -0
  277. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.js.map +1 -1
  278. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/utils.d.ts +9 -0
  279. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/utils.d.ts.map +1 -1
  280. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/utils.js +34 -0
  281. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/utils.js.map +1 -1
  282. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts +7 -0
  283. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  284. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/types.d.ts +0 -11
  285. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/types.d.ts.map +1 -1
  286. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/injected.d.ts +2 -2
  287. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts +2 -0
  288. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  289. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js +5 -2
  290. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
  291. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
  292. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js +0 -1
  293. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js.map +1 -1
  294. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core-browser.d.ts +1 -1
  295. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core-browser.d.ts.map +1 -1
  296. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
  297. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
  298. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
  299. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Mutex.js +1 -1
  300. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Mutex.js.map +1 -1
  301. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
  302. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
  303. package/front_end/third_party/puppeteer/package/lib/types.d.ts +7851 -6616
  304. package/front_end/third_party/puppeteer/package/package.json +5 -6
  305. package/front_end/third_party/puppeteer/package/src/api/Browser.ts +13 -0
  306. package/front_end/third_party/puppeteer/package/src/api/Extension.ts +98 -0
  307. package/front_end/third_party/puppeteer/package/src/api/Frame.ts +9 -0
  308. package/front_end/third_party/puppeteer/package/src/api/Issue.ts +24 -0
  309. package/front_end/third_party/puppeteer/package/src/api/Page.ts +38 -0
  310. package/front_end/third_party/puppeteer/package/src/api/Realm.ts +111 -12
  311. package/front_end/third_party/puppeteer/package/src/api/WebWorker.ts +26 -4
  312. package/front_end/third_party/puppeteer/package/src/api/api.ts +2 -0
  313. package/front_end/third_party/puppeteer/package/src/bidi/Browser.ts +12 -0
  314. package/front_end/third_party/puppeteer/package/src/bidi/BrowserConnector.ts +2 -0
  315. package/front_end/third_party/puppeteer/package/src/bidi/BrowserContext.ts +7 -0
  316. package/front_end/third_party/puppeteer/package/src/bidi/Frame.ts +13 -67
  317. package/front_end/third_party/puppeteer/package/src/bidi/Input.ts +0 -1
  318. package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +21 -2
  319. package/front_end/third_party/puppeteer/package/src/bidi/Realm.ts +39 -1
  320. package/front_end/third_party/puppeteer/package/src/bidi/Target.ts +2 -5
  321. package/front_end/third_party/puppeteer/package/src/bidi/core/Realm.ts +23 -0
  322. package/front_end/third_party/puppeteer/package/src/bidi/util.ts +94 -0
  323. package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +75 -2
  324. package/front_end/third_party/puppeteer/package/src/cdp/BrowserConnector.ts +2 -0
  325. package/front_end/third_party/puppeteer/package/src/cdp/CdpIssue.ts +30 -0
  326. package/front_end/third_party/puppeteer/package/src/cdp/Extension.ts +101 -0
  327. package/front_end/third_party/puppeteer/package/src/cdp/Frame.ts +32 -22
  328. package/front_end/third_party/puppeteer/package/src/cdp/FrameManager.ts +44 -3
  329. package/front_end/third_party/puppeteer/package/src/cdp/IsolatedWorld.ts +40 -2
  330. package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +61 -47
  331. package/front_end/third_party/puppeteer/package/src/cdp/Target.ts +17 -7
  332. package/front_end/third_party/puppeteer/package/src/cdp/TargetManager.ts +14 -1
  333. package/front_end/third_party/puppeteer/package/src/cdp/WebMCP.ts +441 -0
  334. package/front_end/third_party/puppeteer/package/src/cdp/WebWorker.ts +38 -12
  335. package/front_end/third_party/puppeteer/package/src/cdp/cdp.ts +1 -0
  336. package/front_end/third_party/puppeteer/package/src/cdp/utils.ts +52 -0
  337. package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +7 -0
  338. package/front_end/third_party/puppeteer/package/src/common/types.ts +0 -14
  339. package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +7 -0
  340. package/front_end/third_party/puppeteer/package/src/node/ChromeLauncher.ts +0 -1
  341. package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
  342. package/front_end/third_party/puppeteer/package/src/util/Mutex.ts +1 -1
  343. package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
  344. package/front_end/third_party/puppeteer/puppeteer-tsconfig.json +5 -0
  345. package/front_end/ui/legacy/Treeoutline.ts +13 -0
  346. package/front_end/ui/visual_logging/KnownContextValues.ts +1 -0
  347. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "puppeteer-core",
3
- "version": "24.40.0",
3
+ "version": "24.41.0",
4
4
  "description": "A high-level API to control headless Chrome over the DevTools Protocol",
5
5
  "keywords": [
6
6
  "puppeteer",
@@ -108,9 +108,8 @@
108
108
  ]
109
109
  },
110
110
  "build:types": {
111
- "command": "api-extractor run --local && eslint --cache-location .eslintcache --cache --no-ignore --no-config-lookup -c=../../eslint.types.config.mjs --fix lib/types.d.ts",
111
+ "command": "api-extractor run --local && eslint --fix lib/types.d.ts --no-ignore",
112
112
  "files": [
113
- "../../eslint.types.config.mjs",
114
113
  "api-extractor.json",
115
114
  "lib/esm/puppeteer/types.d.ts",
116
115
  "tsconfig.json"
@@ -152,14 +151,14 @@
152
151
  "@puppeteer/browsers": "2.13.0",
153
152
  "chromium-bidi": "14.0.0",
154
153
  "debug": "^4.4.3",
155
- "devtools-protocol": "0.0.1581282",
154
+ "devtools-protocol": "0.0.1595872",
156
155
  "typed-query-selector": "^2.12.1",
157
156
  "webdriver-bidi-protocol": "0.4.1",
158
157
  "ws": "^8.19.0"
159
158
  },
160
159
  "devDependencies": {
161
- "@types/chrome": "0.1.37",
162
- "@types/debug": "4.1.12",
160
+ "@types/chrome": "0.1.40",
161
+ "@types/debug": "4.1.13",
163
162
  "@types/node": "^18.17.15",
164
163
  "@types/ws": "8.18.1",
165
164
  "mitt": "3.0.1",
@@ -32,6 +32,7 @@ import {
32
32
  import {asyncDisposeSymbol, disposeSymbol} from '../util/disposable.js';
33
33
 
34
34
  import type {BrowserContext} from './BrowserContext.js';
35
+ import type {Extension} from './Extension.js';
35
36
  import type {Page} from './Page.js';
36
37
  import type {Target} from './Target.js';
37
38
  /**
@@ -727,4 +728,16 @@ export abstract class Browser extends EventEmitter<BrowserEvents> {
727
728
  * @internal
728
729
  */
729
730
  abstract isNetworkEnabled(): boolean;
731
+
732
+ /**
733
+ * Retrieves a map of all extensions installed in the browser, where the keys
734
+ * are extension IDs and the values are the corresponding {@link Extension} instances.
735
+ *
736
+ * @public
737
+ */
738
+ abstract extensions(): Promise<Map<string, Extension>>;
739
+ /**
740
+ * @internal
741
+ */
742
+ abstract isIssuesEnabled(): boolean;
730
743
  }
@@ -0,0 +1,98 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google Inc.
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import type {Page} from './Page.js';
8
+ import type {WebWorker} from './WebWorker.js';
9
+
10
+ /**
11
+ * {@link Extension} represents a browser extension installed in the browser.
12
+ * It provides access to the extension's ID, name, and version, as well as
13
+ * methods for interacting with the extension's background workers and pages.
14
+ *
15
+ * @example
16
+ * To get all extensions installed in the browser:
17
+ *
18
+ * ```ts
19
+ * const extensions = await browser.extensions();
20
+ * for (const [id, extension] of extensions) {
21
+ * console.log(extension.name, id);
22
+ * }
23
+ * ```
24
+ *
25
+ * @experimental
26
+ * @public
27
+ */
28
+ export abstract class Extension {
29
+ #id: string;
30
+ #version: string;
31
+ #name: string;
32
+
33
+ /**
34
+ * @internal
35
+ */
36
+ constructor(id: string, version: string, name: string) {
37
+ if (!id || !version) {
38
+ throw new Error('Extension ID and version are required');
39
+ }
40
+
41
+ this.#id = id;
42
+ this.#version = version;
43
+ this.#name = name;
44
+ }
45
+
46
+ /**
47
+ * The version of the extension as specified in its manifest.
48
+ *
49
+ * @public
50
+ */
51
+ get version(): string {
52
+ return this.#version;
53
+ }
54
+
55
+ /**
56
+ * The name of the extension as specified in its manifest.
57
+ *
58
+ * @public
59
+ */
60
+ get name(): string {
61
+ return this.#name;
62
+ }
63
+
64
+ /**
65
+ * The unique identifier of the extension.
66
+ *
67
+ * @public
68
+ */
69
+ get id(): string {
70
+ return this.#id;
71
+ }
72
+
73
+ /**
74
+ * Returns a list of the currently active service workers belonging
75
+ * to the extension.
76
+ *
77
+ * @public
78
+ */
79
+ abstract workers(): Promise<WebWorker[]>;
80
+
81
+ /**
82
+ * Returns a list of the currently active and visible pages belonging
83
+ * to the extension.
84
+ *
85
+ * @public
86
+ */
87
+ abstract pages(): Promise<Page[]>;
88
+
89
+ /**
90
+ * Triggers the default action of the extension for a specified page.
91
+ * This typically simulates a user clicking the extension's action icon
92
+ * in the browser toolbar, potentially opening a popup or executing an action script.
93
+ *
94
+ * @param page - The page to trigger the action on.
95
+ * @public
96
+ */
97
+ abstract triggerAction(page: Page): Promise<void>;
98
+ }
@@ -1200,4 +1200,13 @@ export abstract class Frame extends EventEmitter<FrameEvents> {
1200
1200
  abstract waitForDevicePrompt(
1201
1201
  options?: WaitTimeoutOptions,
1202
1202
  ): Promise<DeviceRequestPrompt>;
1203
+
1204
+ /**
1205
+ * Retrieves the list of extension execution realms associated with this frame.
1206
+ * Extension execution realms are created by extension content scripts injected
1207
+ * into the frame.
1208
+ *
1209
+ * @public
1210
+ */
1211
+ abstract extensionRealms(): Realm[];
1203
1212
  }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google Inc.
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import type Protocol from 'devtools-protocol';
8
+
9
+ /**
10
+ * The Issue interface represents a DevTools issue.
11
+ *
12
+ * @public
13
+ */
14
+ export interface Issue {
15
+ /**
16
+ * The code of the issue.
17
+ */
18
+ code: string;
19
+
20
+ /**
21
+ * The details of the issue.
22
+ */
23
+ details: Protocol.Audits.InspectorIssueDetails;
24
+ }
@@ -34,6 +34,7 @@ import type {Accessibility} from '../cdp/Accessibility.js';
34
34
  import type {Coverage} from '../cdp/Coverage.js';
35
35
  import type {NetworkConditions} from '../cdp/NetworkManager.js';
36
36
  import type {Tracing} from '../cdp/Tracing.js';
37
+ import type {WebMCP} from '../cdp/WebMCP.js';
37
38
  import type {ConsoleMessage} from '../common/ConsoleMessage.js';
38
39
  import type {
39
40
  Cookie,
@@ -92,6 +93,7 @@ import type {
92
93
  ClickOptions,
93
94
  ElementHandle,
94
95
  } from './ElementHandle.js';
96
+ import type {Extension} from './Extension.js';
95
97
  import type {
96
98
  Frame,
97
99
  FrameAddScriptTagOptions,
@@ -106,6 +108,7 @@ import type {
106
108
  Mouse,
107
109
  Touchscreen,
108
110
  } from './Input.js';
111
+ import type {Issue} from './Issue.js';
109
112
  import type {JSHandle} from './JSHandle.js';
110
113
  import {
111
114
  FunctionLocator,
@@ -113,6 +116,7 @@ import {
113
116
  NodeLocator,
114
117
  type AwaitedLocator,
115
118
  } from './locators/locators.js';
119
+ import type {Realm} from './Realm.js';
116
120
  import type {Target} from './Target.js';
117
121
  import type {WebWorker} from './WebWorker.js';
118
122
 
@@ -475,6 +479,11 @@ export const enum PageEvent {
475
479
  * event is dispatched.
476
480
  */
477
481
  DOMContentLoaded = 'domcontentloaded',
482
+ /**
483
+ * Emitted when a DevTools issue is reported.
484
+ * @experimental
485
+ */
486
+ Issue = 'issue',
478
487
  /**
479
488
  * Emitted when the page crashes. Will contain an `Error`.
480
489
  */
@@ -597,6 +606,7 @@ export interface PageEvents extends Record<EventType, unknown> {
597
606
  [PageEvent.Console]: ConsoleMessage;
598
607
  [PageEvent.Dialog]: Dialog;
599
608
  [PageEvent.DOMContentLoaded]: undefined;
609
+ [PageEvent.Issue]: Issue;
600
610
  [PageEvent.Error]: Error;
601
611
  [PageEvent.FrameAttached]: Frame;
602
612
  [PageEvent.FrameDetached]: Frame;
@@ -943,6 +953,15 @@ export abstract class Page extends EventEmitter<PageEvents> {
943
953
  */
944
954
  abstract get tracing(): Tracing;
945
955
 
956
+ /**
957
+ * Experimental API for {@link https://github.com/webmachinelearning/webmcp
958
+ * | WebMCP}. Requires Chrome 149+ with the
959
+ * `--enable-features=WebMCPTesting,DevToolsWebMCPSupport` flags enabled.
960
+ *
961
+ * @experimental
962
+ */
963
+ abstract get webmcp(): WebMCP;
964
+
946
965
  /**
947
966
  * {@inheritDoc Accessibility}
948
967
  */
@@ -3231,6 +3250,25 @@ export abstract class Page extends EventEmitter<PageEvents> {
3231
3250
  * {@inheritDoc BluetoothEmulation}
3232
3251
  */
3233
3252
  abstract get bluetooth(): BluetoothEmulation;
3253
+
3254
+ /**
3255
+ * Triggers the default action of the specified extension for this page.
3256
+ * This simulates clicking the extension's icon in the browser's toolbar.
3257
+ *
3258
+ * @param extension - The {@link Extension} whose action to trigger.
3259
+ * @public
3260
+ */
3261
+ abstract triggerExtensionAction(extension: Extension): Promise<void>;
3262
+
3263
+ /**
3264
+ * Retrieves the list of extension execution realms in the main frame of the page.
3265
+ * These realms correspond to extension content scripts running on the page.
3266
+ *
3267
+ * Shortcut for {@link Frame.extensionRealms | mainFrame().extensionRealms()}.
3268
+ *
3269
+ * @public
3270
+ */
3271
+ abstract extensionRealms(): Realm[];
3234
3272
  }
3235
3273
 
3236
3274
  /**
@@ -5,33 +5,83 @@
5
5
  */
6
6
 
7
7
  import type {TimeoutSettings} from '../common/TimeoutSettings.js';
8
- import type {
9
- EvaluateFunc,
10
- HandleFor,
11
- InnerLazyParams,
12
- } from '../common/types.js';
8
+ import type {EvaluateFunc, HandleFor} from '../common/types.js';
13
9
  import {TaskManager, WaitTask} from '../common/WaitTask.js';
14
10
  import {disposeSymbol} from '../util/disposable.js';
15
11
 
16
12
  import type {ElementHandle} from './ElementHandle.js';
17
13
  import type {Environment} from './Environment.js';
14
+ import type {Extension} from './Extension.js';
18
15
  import type {JSHandle} from './JSHandle.js';
19
16
 
20
17
  /**
21
- * @internal
18
+ * @public
22
19
  */
23
- export abstract class Realm implements Disposable {
20
+ export abstract class Realm {
21
+ /** @internal */
24
22
  protected readonly timeoutSettings: TimeoutSettings;
23
+ /** @internal */
25
24
  readonly taskManager = new TaskManager();
26
-
25
+ /** @internal */
27
26
  constructor(timeoutSettings: TimeoutSettings) {
28
27
  this.timeoutSettings = timeoutSettings;
29
28
  }
30
-
29
+ /** @internal */
31
30
  abstract get environment(): Environment;
32
31
 
32
+ /**
33
+ * Returns the origin that created the Realm.
34
+ * For example, if the realm was created by an extension content script,
35
+ * this will return the origin of the extension
36
+ * (e.g., `chrome-extension://<extension-id>`).
37
+ *
38
+ * @experimental
39
+ * @example
40
+ * `chrome-extension://<chrome-extension-id>`
41
+ */
42
+ abstract get origin(): string | undefined;
43
+ /**
44
+ * Returns the {@link Extension} that created this realm, if applicable.
45
+ * This is typically populated when the realm was created by an extension
46
+ * content script injected into a page.
47
+ *
48
+ * @returns A promise that resolves to the {@link Extension}
49
+ * or `null` if not created by an extension.
50
+ * @experimental
51
+ */
52
+ abstract extension(): Promise<Extension | null>;
53
+
54
+ /** @internal */
33
55
  abstract adoptHandle<T extends JSHandle<Node>>(handle: T): Promise<T>;
56
+
57
+ /** @internal */
34
58
  abstract transferHandle<T extends JSHandle<Node>>(handle: T): Promise<T>;
59
+
60
+ /**
61
+ * Evaluates a function in the realm's context and returns a
62
+ * {@link JSHandle} to the result.
63
+ *
64
+ * If the function passed to `realm.evaluateHandle` returns a Promise,
65
+ * the method will wait for the promise to resolve and return its value.
66
+ *
67
+ * {@link JSHandle} instances can be passed as arguments to the function.
68
+ *
69
+ * @example
70
+ *
71
+ * ```ts
72
+ * const aHandle = await realm.evaluateHandle(() => document.body);
73
+ * const resultHandle = await realm.evaluateHandle(
74
+ * body => body.innerHTML,
75
+ * aHandle,
76
+ * );
77
+ * ```
78
+ *
79
+ * @param pageFunction - A function to be evaluated in the realm.
80
+ * @param args - Arguments to be passed to the `pageFunction`.
81
+ * @returns A promise that resolves to a {@link JSHandle} containing
82
+ * the result.
83
+ * @public
84
+ */
35
85
  abstract evaluateHandle<
36
86
  Params extends unknown[],
37
87
  Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
@@ -39,6 +89,30 @@ export abstract class Realm implements Disposable {
39
89
  pageFunction: Func | string,
40
90
  ...args: Params
41
91
  ): Promise<HandleFor<Awaited<ReturnType<Func>>>>;
92
+
93
+ /**
94
+ * Evaluates a function in the realm's context and returns the
95
+ * resulting value.
96
+ *
97
+ * If the function passed to `realm.evaluate` returns a Promise,
98
+ * the method will wait for the promise to resolve and return its value.
99
+ *
100
+ * {@link JSHandle} instances can be passed as arguments to the function.
101
+ *
102
+ * @example
103
+ *
104
+ * ```ts
105
+ * const result = await realm.evaluate(() => {
106
+ * return Promise.resolve(8 * 7);
107
+ * });
108
+ * console.log(result); // prints "56"
109
+ * ```
110
+ *
111
+ * @param pageFunction - A function to be evaluated in the realm.
112
+ * @param args - Arguments to be passed to the `pageFunction`.
113
+ * @returns A promise that resolves to the return value of the function.
114
+ * @public
115
+ */
42
116
  abstract evaluate<
43
117
  Params extends unknown[],
44
118
  Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
@@ -47,11 +121,33 @@ export abstract class Realm implements Disposable {
47
121
  ...args: Params
48
122
  ): Promise<Awaited<ReturnType<Func>>>;
49
123
 
124
+ /**
125
+ * Waits for a function to return a truthy value when evaluated in
126
+ * the realm's context.
127
+ *
128
+ * Arguments can be passed from Node.js to `pageFunction`.
129
+ *
130
+ * @example
131
+ *
132
+ * ```ts
133
+ * const selector = '.foo';
134
+ * await realm.waitForFunction(
135
+ * selector => !!document.querySelector(selector),
136
+ * {},
137
+ * selector,
138
+ * );
139
+ * ```
140
+ *
141
+ * @param pageFunction - A function to evaluate in the realm.
142
+ * @param options - Options for polling and timeouts.
143
+ * @param args - Arguments to pass to the function.
144
+ * @returns A promise that resolves when the function returns a truthy
145
+ * value.
146
+ * @public
147
+ */
50
148
  async waitForFunction<
51
149
  Params extends unknown[],
52
- Func extends EvaluateFunc<InnerLazyParams<Params>> = EvaluateFunc<
53
- InnerLazyParams<Params>
54
- >,
150
+ Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
55
151
  >(
56
152
  pageFunction: Func | string,
57
153
  options: {
@@ -87,8 +183,10 @@ export abstract class Realm implements Disposable {
87
183
  return await waitTask.result;
88
184
  }
89
185
 
186
+ /** @internal */
90
187
  abstract adoptBackendNode(backendNodeId?: number): Promise<JSHandle<Node>>;
91
188
 
189
+ /** @internal */
92
190
  get disposed(): boolean {
93
191
  return this.#disposed;
94
192
  }
@@ -101,6 +199,7 @@ export abstract class Realm implements Disposable {
101
199
  new Error('waitForFunction failed: frame got detached.'),
102
200
  );
103
201
  }
202
+
104
203
  /** @internal */
105
204
  [disposeSymbol](): void {
106
205
  this.dispose();
@@ -4,8 +4,10 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
+ import type {ConsoleMessage} from '../common/ConsoleMessage.js';
7
8
  import {UnsupportedOperation} from '../common/Errors.js';
8
- import {EventEmitter, type EventType} from '../common/EventEmitter.js';
9
+ import type {EventType} from '../common/EventEmitter.js';
10
+ import {EventEmitter} from '../common/EventEmitter.js';
9
11
  import {TimeoutSettings} from '../common/TimeoutSettings.js';
10
12
  import type {EvaluateFunc, HandleFor} from '../common/types.js';
11
13
  import {withSourcePuppeteerURLIfNone} from '../common/util.js';
@@ -13,6 +15,28 @@ import {withSourcePuppeteerURLIfNone} from '../common/util.js';
13
15
  import type {CDPSession} from './CDPSession.js';
14
16
  import type {Realm} from './Realm.js';
15
17
 
18
+ /**
19
+ * @public
20
+ */
21
+ export enum WebWorkerEvent {
22
+ /**
23
+ * Emitted when the worker calls a console API.
24
+ */
25
+ Console = 'console',
26
+ /**
27
+ * Emitted when the worker throws an exception.
28
+ */
29
+ Error = 'error',
30
+ }
31
+
32
+ /**
33
+ * @public
34
+ */
35
+ export interface WebWorkerEvents extends Record<EventType, unknown> {
36
+ [WebWorkerEvent.Console]: ConsoleMessage;
37
+ [WebWorkerEvent.Error]: Error;
38
+ }
39
+
16
40
  /**
17
41
  * This class represents a
18
42
  * {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API | WebWorker}.
@@ -39,9 +63,7 @@ import type {Realm} from './Realm.js';
39
63
  *
40
64
  * @public
41
65
  */
42
- export abstract class WebWorker extends EventEmitter<
43
- Record<EventType, unknown>
44
- > {
66
+ export abstract class WebWorker extends EventEmitter<WebWorkerEvents> {
45
67
  /**
46
68
  * @internal
47
69
  */
@@ -11,11 +11,13 @@ export * from './CDPSession.js';
11
11
  export * from './DeviceRequestPrompt.js';
12
12
  export * from './Dialog.js';
13
13
  export * from './ElementHandle.js';
14
+ export * from './Extension.js';
14
15
  export type * from './Environment.js';
15
16
  export * from './Frame.js';
16
17
  export * from './HTTPRequest.js';
17
18
  export * from './HTTPResponse.js';
18
19
  export * from './Input.js';
20
+ export type * from './Issue.js';
19
21
  export * from './JSHandle.js';
20
22
  export * from './Page.js';
21
23
  export * from './Realm.js';
@@ -21,6 +21,7 @@ import {
21
21
  type DebugInfo,
22
22
  } from '../api/Browser.js';
23
23
  import {BrowserContextEvent} from '../api/BrowserContext.js';
24
+ import type {Extension} from '../api/Extension.js';
24
25
  import type {Page} from '../api/Page.js';
25
26
  import type {Target} from '../api/Target.js';
26
27
  import type {Connection as CdpConnection} from '../cdp/Connection.js';
@@ -50,6 +51,7 @@ export interface BidiBrowserOptions {
50
51
  acceptInsecureCerts?: boolean;
51
52
  capabilities?: SupportedWebDriverCapabilities;
52
53
  networkEnabled: boolean;
54
+ issuesEnabled: boolean;
53
55
  }
54
56
 
55
57
  /**
@@ -153,6 +155,7 @@ export class BidiBrowser extends Browser {
153
155
  #target = new BidiBrowserTarget(this);
154
156
  #cdpConnection?: CdpConnection;
155
157
  #networkEnabled: boolean;
158
+ #issuesEnabled: boolean;
156
159
 
157
160
  private constructor(browserCore: BrowserCore, opts: BidiBrowserOptions) {
158
161
  super();
@@ -162,6 +165,7 @@ export class BidiBrowser extends Browser {
162
165
  this.#defaultViewport = opts.defaultViewport;
163
166
  this.#cdpConnection = opts.cdpConnection;
164
167
  this.#networkEnabled = opts.networkEnabled;
168
+ this.#issuesEnabled = opts.issuesEnabled;
165
169
  }
166
170
 
167
171
  #initialize() {
@@ -375,4 +379,12 @@ export class BidiBrowser extends Browser {
375
379
  override isNetworkEnabled(): boolean {
376
380
  return this.#networkEnabled;
377
381
  }
382
+
383
+ override extensions(): Promise<Map<string, Extension>> {
384
+ throw new UnsupportedOperation();
385
+ }
386
+
387
+ override isIssuesEnabled(): boolean {
388
+ return this.#issuesEnabled;
389
+ }
378
390
  }
@@ -31,6 +31,7 @@ export async function _connectToBiDiBrowser(
31
31
  const {
32
32
  acceptInsecureCerts = false,
33
33
  networkEnabled = true,
34
+ issuesEnabled = true,
34
35
  defaultViewport = DEFAULT_VIEWPORT,
35
36
  } = options;
36
37
 
@@ -45,6 +46,7 @@ export async function _connectToBiDiBrowser(
45
46
  defaultViewport: defaultViewport,
46
47
  acceptInsecureCerts: acceptInsecureCerts,
47
48
  networkEnabled,
49
+ issuesEnabled,
48
50
  capabilities: options.capabilities,
49
51
  });
50
52
  return bidiBrowser;
@@ -187,6 +187,13 @@ export class BidiBrowserContext extends BrowserContext {
187
187
  });
188
188
  }
189
189
 
190
+ /**
191
+ * @internal
192
+ */
193
+ getTargetForPage(page: BidiPage): BidiPageTarget | undefined {
194
+ return this.#targets.get(page)?.[0];
195
+ }
196
+
190
197
  override async newPage(options?: CreatePageOptions): Promise<Page> {
191
198
  using _guard = await this.waitForScreenshotOperations();
192
199