chrome-devtools-frontend 1.0.1650100 → 1.0.1650677

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 (290) hide show
  1. package/.agents/skills/version-control/SKILL.md +5 -1
  2. package/config/typescript/tsconfig.base.json +1 -0
  3. package/front_end/core/host/InspectorFrontendHostAPI.ts +0 -1
  4. package/front_end/core/host/UserMetrics.ts +0 -26
  5. package/front_end/core/sdk/CSSMetadata.ts +72 -0
  6. package/front_end/devtools_compatibility.js +1 -2
  7. package/front_end/foundation/Universe.ts +7 -0
  8. package/front_end/models/ai_assistance/AiAgent2.ts +11 -1
  9. package/front_end/models/ai_assistance/README.md +4 -0
  10. package/front_end/models/ai_assistance/agents/AccessibilityAgent.ts +2 -0
  11. package/front_end/models/ai_assistance/agents/AiAgent.ts +3 -0
  12. package/front_end/models/ai_assistance/agents/ExecuteJavascript.ts +13 -4
  13. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +3 -7
  14. package/front_end/models/ai_assistance/ai_assistance.ts +4 -0
  15. package/front_end/models/ai_assistance/skills/Skill.ts +1 -1
  16. package/front_end/models/ai_assistance/skills/SkillRegistry.ts +2 -0
  17. package/front_end/models/ai_assistance/skills/accessibility.md +13 -0
  18. package/front_end/models/ai_assistance/tools/GetLighthouseAudits.ts +54 -0
  19. package/front_end/models/ai_assistance/tools/ResolveLighthousePath.ts +124 -0
  20. package/front_end/models/ai_assistance/tools/Tool.ts +12 -2
  21. package/front_end/models/ai_assistance/tools/ToolRegistry.ts +4 -0
  22. package/front_end/models/persistence/NetworkPersistenceManager.ts +9 -1
  23. package/front_end/panels/ai_assistance/components/ChatMessage.ts +3 -11
  24. package/front_end/panels/common/ExtensionServer.ts +70 -50
  25. package/front_end/panels/elements/ElementsPanel.ts +1 -1
  26. package/front_end/panels/js_timeline/js_timeline-meta.ts +1 -2
  27. package/front_end/panels/network/RequestConditionsDrawer.ts +236 -198
  28. package/front_end/panels/network/RequestHeadersView.ts +2 -2
  29. package/front_end/panels/network/components/RequestHeadersView.css +1 -0
  30. package/front_end/panels/network/components/ResponseHeaderSection.css +5 -1
  31. package/front_end/panels/network/requestConditionsDrawer.css +3 -0
  32. package/front_end/panels/recorder/testing/RecorderHelpers.ts +2 -0
  33. package/front_end/panels/timeline/timeline-meta.ts +1 -1
  34. package/front_end/panels/whats_new/ReleaseNoteText.ts +12 -6
  35. package/front_end/panels/whats_new/resources/WNDT.md +8 -7
  36. package/front_end/third_party/chromium/README.chromium +1 -1
  37. package/front_end/third_party/puppeteer/README.chromium +2 -2
  38. package/front_end/third_party/puppeteer/package/README.md +14 -0
  39. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +60 -24
  40. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +271 -164
  41. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Browser.d.ts +2 -6
  42. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Browser.d.ts.map +1 -1
  43. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Browser.js +2 -2
  44. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Browser.js.map +1 -1
  45. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/BrowserContext.js +2 -2
  46. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/BrowserContext.js.map +1 -1
  47. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/HTTPRequest.js +11 -7
  48. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/HTTPRequest.js.map +1 -1
  49. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/JSHandle.d.ts.map +1 -1
  50. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/JSHandle.js +3 -10
  51. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/JSHandle.js.map +1 -1
  52. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.d.ts +9 -4
  53. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.d.ts.map +1 -1
  54. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.js +4 -4
  55. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.js.map +1 -1
  56. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/WebWorker.d.ts +13 -0
  57. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/WebWorker.d.ts.map +1 -1
  58. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/WebWorker.js +14 -0
  59. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/WebWorker.js.map +1 -1
  60. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/locators/locators.js +5 -5
  61. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/locators/locators.js.map +1 -1
  62. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/BidiOverCdp.js +2 -2
  63. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/BidiOverCdp.js.map +1 -1
  64. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Browser.js +3 -3
  65. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Browser.js.map +1 -1
  66. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/BrowserConnector.js +5 -3
  67. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/BrowserConnector.js.map +1 -1
  68. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/BrowserContext.js +6 -6
  69. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/BrowserContext.js.map +1 -1
  70. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Connection.d.ts +1 -1
  71. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Connection.d.ts.map +1 -1
  72. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Connection.js +3 -3
  73. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Connection.js.map +1 -1
  74. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Deserializer.js +2 -2
  75. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Deserializer.js.map +1 -1
  76. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/ExposedFunction.js +6 -6
  77. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/ExposedFunction.js.map +1 -1
  78. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Frame.js +1 -1
  79. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Frame.js.map +1 -1
  80. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Page.d.ts +1 -0
  81. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Page.d.ts.map +1 -1
  82. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Page.js +3 -0
  83. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Page.js.map +1 -1
  84. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Realm.js +1 -1
  85. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Realm.js.map +1 -1
  86. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/core/BrowsingContext.d.ts +1 -0
  87. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
  88. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/core/BrowsingContext.js +11 -0
  89. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
  90. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Accessibility.d.ts.map +1 -1
  91. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Accessibility.js +4 -4
  92. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Accessibility.js.map +1 -1
  93. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Binding.js +3 -3
  94. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Binding.js.map +1 -1
  95. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Browser.d.ts.map +1 -1
  96. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Browser.js +13 -2
  97. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Browser.js.map +1 -1
  98. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/BrowserConnector.js +2 -2
  99. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/BrowserConnector.js.map +1 -1
  100. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Connection.js +2 -2
  101. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Connection.js.map +1 -1
  102. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Coverage.js +2 -2
  103. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Coverage.js.map +1 -1
  104. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/ElementHandle.js +1 -1
  105. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/ElementHandle.js.map +1 -1
  106. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/EmulationManager.d.ts +1 -0
  107. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/EmulationManager.d.ts.map +1 -1
  108. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/EmulationManager.js +25 -4
  109. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/EmulationManager.js.map +1 -1
  110. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/ExecutionContext.js +3 -3
  111. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/ExecutionContext.js.map +1 -1
  112. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Extension.d.ts.map +1 -1
  113. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Extension.js +9 -11
  114. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Extension.js.map +1 -1
  115. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Frame.js +3 -3
  116. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Frame.js.map +1 -1
  117. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/FrameManager.d.ts.map +1 -1
  118. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/FrameManager.js +7 -7
  119. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/FrameManager.js.map +1 -1
  120. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/HTTPRequest.js +1 -1
  121. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/HTTPRequest.js.map +1 -1
  122. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/JSHandle.js +1 -1
  123. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/JSHandle.js.map +1 -1
  124. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/NetworkManager.d.ts +3 -1
  125. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
  126. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/NetworkManager.js +18 -10
  127. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/NetworkManager.js.map +1 -1
  128. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.d.ts +1 -0
  129. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.d.ts.map +1 -1
  130. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.js +17 -11
  131. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.js.map +1 -1
  132. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Target.js +3 -3
  133. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Target.js.map +1 -1
  134. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/TargetManager.d.ts.map +1 -1
  135. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/TargetManager.js +28 -10
  136. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/TargetManager.js.map +1 -1
  137. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebMCP.d.ts.map +1 -1
  138. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebMCP.js +10 -6
  139. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebMCP.js.map +1 -1
  140. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebWorker.d.ts +3 -0
  141. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebWorker.d.ts.map +1 -1
  142. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebWorker.js +20 -5
  143. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebWorker.js.map +1 -1
  144. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserConnector.d.ts.map +1 -1
  145. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserConnector.js +11 -0
  146. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserConnector.js.map +1 -1
  147. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserWebSocketTransport.js +2 -2
  148. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserWebSocketTransport.js.map +1 -1
  149. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/CallbackRegistry.js +2 -2
  150. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/CallbackRegistry.js.map +1 -1
  151. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Configuration.d.ts +4 -2
  152. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Configuration.d.ts.map +1 -1
  153. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/ConnectOptions.d.ts +26 -13
  154. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  155. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Debug.d.ts +1 -6
  156. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Debug.d.ts.map +1 -1
  157. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Debug.js +24 -33
  158. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Debug.js.map +1 -1
  159. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/EventEmitter.js +2 -2
  160. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/EventEmitter.js.map +1 -1
  161. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/util.d.ts +8 -1
  162. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/util.d.ts.map +1 -1
  163. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/util.js +8 -1
  164. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/util.js.map +1 -1
  165. package/front_end/third_party/puppeteer/package/lib/puppeteer/environment.d.ts +2 -0
  166. package/front_end/third_party/puppeteer/package/lib/puppeteer/environment.d.ts.map +1 -1
  167. package/front_end/third_party/puppeteer/package/lib/puppeteer/environment.js +4 -2
  168. package/front_end/third_party/puppeteer/package/lib/puppeteer/environment.js.map +1 -1
  169. package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.d.ts +1 -1
  170. package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.d.ts.map +1 -1
  171. package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.js +1 -1
  172. package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.js.map +1 -1
  173. package/front_end/third_party/puppeteer/package/lib/puppeteer/injected/TextContent.d.ts.map +1 -1
  174. package/front_end/third_party/puppeteer/package/lib/puppeteer/injected/TextContent.js +15 -5
  175. package/front_end/third_party/puppeteer/package/lib/puppeteer/injected/TextContent.js.map +1 -1
  176. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.d.ts +5 -1
  177. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  178. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.js +17 -16
  179. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.js.map +1 -1
  180. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
  181. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ChromeLauncher.js +14 -9
  182. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ChromeLauncher.js.map +1 -1
  183. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/FirefoxLauncher.js +2 -2
  184. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/FirefoxLauncher.js.map +1 -1
  185. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/NodeWebSocketTransport.js +2 -2
  186. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/NodeWebSocketTransport.js.map +1 -1
  187. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/PipeTransport.js +3 -3
  188. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/PipeTransport.js.map +1 -1
  189. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ScreenRecorder.d.ts +20 -0
  190. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ScreenRecorder.d.ts.map +1 -1
  191. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ScreenRecorder.js +38 -9
  192. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ScreenRecorder.js.map +1 -1
  193. package/front_end/third_party/puppeteer/package/lib/puppeteer/node-env-setup.d.ts +7 -0
  194. package/front_end/third_party/puppeteer/package/lib/puppeteer/node-env-setup.d.ts.map +1 -0
  195. package/front_end/third_party/puppeteer/package/lib/puppeteer/node-env-setup.js +16 -0
  196. package/front_end/third_party/puppeteer/package/lib/puppeteer/node-env-setup.js.map +1 -0
  197. package/front_end/third_party/puppeteer/package/lib/puppeteer/puppeteer-core.d.ts +1 -0
  198. package/front_end/third_party/puppeteer/package/lib/puppeteer/puppeteer-core.d.ts.map +1 -1
  199. package/front_end/third_party/puppeteer/package/lib/puppeteer/puppeteer-core.js +3 -8
  200. package/front_end/third_party/puppeteer/package/lib/puppeteer/puppeteer-core.js.map +1 -1
  201. package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.d.ts +3 -3
  202. package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.js +3 -3
  203. package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.js.map +1 -1
  204. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.d.ts +1 -1
  205. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.js +1 -1
  206. package/front_end/third_party/puppeteer/package/lib/types.d.ts +60 -24
  207. package/front_end/third_party/puppeteer/package/package.json +4 -4
  208. package/front_end/third_party/puppeteer/package/src/api/Browser.ts +4 -8
  209. package/front_end/third_party/puppeteer/package/src/api/BrowserContext.ts +2 -2
  210. package/front_end/third_party/puppeteer/package/src/api/HTTPRequest.ts +10 -10
  211. package/front_end/third_party/puppeteer/package/src/api/JSHandle.ts +3 -10
  212. package/front_end/third_party/puppeteer/package/src/api/Page.ts +14 -8
  213. package/front_end/third_party/puppeteer/package/src/api/WebWorker.ts +30 -0
  214. package/front_end/third_party/puppeteer/package/src/api/locators/locators.ts +5 -5
  215. package/front_end/third_party/puppeteer/package/src/bidi/BidiOverCdp.ts +2 -2
  216. package/front_end/third_party/puppeteer/package/src/bidi/Browser.ts +3 -3
  217. package/front_end/third_party/puppeteer/package/src/bidi/BrowserConnector.ts +5 -3
  218. package/front_end/third_party/puppeteer/package/src/bidi/BrowserContext.ts +6 -6
  219. package/front_end/third_party/puppeteer/package/src/bidi/Connection.ts +4 -4
  220. package/front_end/third_party/puppeteer/package/src/bidi/Deserializer.ts +2 -2
  221. package/front_end/third_party/puppeteer/package/src/bidi/ExposedFunction.ts +6 -6
  222. package/front_end/third_party/puppeteer/package/src/bidi/Frame.ts +1 -1
  223. package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +4 -0
  224. package/front_end/third_party/puppeteer/package/src/bidi/Realm.ts +1 -1
  225. package/front_end/third_party/puppeteer/package/src/bidi/core/BrowsingContext.ts +11 -0
  226. package/front_end/third_party/puppeteer/package/src/cdp/Accessibility.ts +6 -4
  227. package/front_end/third_party/puppeteer/package/src/cdp/Binding.ts +3 -3
  228. package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +14 -2
  229. package/front_end/third_party/puppeteer/package/src/cdp/BrowserConnector.ts +2 -2
  230. package/front_end/third_party/puppeteer/package/src/cdp/Connection.ts +2 -2
  231. package/front_end/third_party/puppeteer/package/src/cdp/Coverage.ts +2 -2
  232. package/front_end/third_party/puppeteer/package/src/cdp/ElementHandle.ts +1 -1
  233. package/front_end/third_party/puppeteer/package/src/cdp/EmulationManager.ts +36 -4
  234. package/front_end/third_party/puppeteer/package/src/cdp/ExecutionContext.ts +3 -3
  235. package/front_end/third_party/puppeteer/package/src/cdp/Extension.ts +16 -17
  236. package/front_end/third_party/puppeteer/package/src/cdp/Frame.ts +3 -3
  237. package/front_end/third_party/puppeteer/package/src/cdp/FrameManager.ts +12 -7
  238. package/front_end/third_party/puppeteer/package/src/cdp/HTTPRequest.ts +1 -1
  239. package/front_end/third_party/puppeteer/package/src/cdp/JSHandle.ts +1 -1
  240. package/front_end/third_party/puppeteer/package/src/cdp/NetworkManager.ts +22 -11
  241. package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +18 -10
  242. package/front_end/third_party/puppeteer/package/src/cdp/Target.ts +3 -3
  243. package/front_end/third_party/puppeteer/package/src/cdp/TargetManager.ts +37 -12
  244. package/front_end/third_party/puppeteer/package/src/cdp/WebMCP.ts +11 -9
  245. package/front_end/third_party/puppeteer/package/src/cdp/WebWorker.ts +33 -5
  246. package/front_end/third_party/puppeteer/package/src/common/BrowserConnector.ts +11 -0
  247. package/front_end/third_party/puppeteer/package/src/common/BrowserWebSocketTransport.ts +2 -2
  248. package/front_end/third_party/puppeteer/package/src/common/CallbackRegistry.ts +2 -2
  249. package/front_end/third_party/puppeteer/package/src/common/Configuration.ts +4 -2
  250. package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +26 -13
  251. package/front_end/third_party/puppeteer/package/src/common/Debug.ts +30 -40
  252. package/front_end/third_party/puppeteer/package/src/common/EventEmitter.ts +2 -2
  253. package/front_end/third_party/puppeteer/package/src/common/util.ts +9 -1
  254. package/front_end/third_party/puppeteer/package/src/environment.ts +7 -3
  255. package/front_end/third_party/puppeteer/package/src/generated/injected.ts +1 -1
  256. package/front_end/third_party/puppeteer/package/src/injected/TextContent.ts +15 -5
  257. package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +23 -23
  258. package/front_end/third_party/puppeteer/package/src/node/ChromeLauncher.ts +19 -13
  259. package/front_end/third_party/puppeteer/package/src/node/FirefoxLauncher.ts +2 -2
  260. package/front_end/third_party/puppeteer/package/src/node/NodeWebSocketTransport.ts +2 -2
  261. package/front_end/third_party/puppeteer/package/src/node/PipeTransport.ts +3 -3
  262. package/front_end/third_party/puppeteer/package/src/node/ScreenRecorder.ts +44 -9
  263. package/front_end/third_party/puppeteer/package/src/node-env-setup.ts +18 -0
  264. package/front_end/third_party/puppeteer/package/src/puppeteer-core.ts +5 -9
  265. package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
  266. package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
  267. package/front_end/third_party/puppeteer/puppeteer-tsconfig.json +1 -0
  268. package/front_end/third_party/third-party-web/lib/nostats-subset.js +21 -15
  269. package/front_end/third_party/third-party-web/package/README.md +619 -582
  270. package/front_end/third_party/third-party-web/package/dist/entities-httparchive-nostats.json +1 -1
  271. package/front_end/third_party/third-party-web/package/dist/entities-httparchive.json +1 -1
  272. package/front_end/third_party/third-party-web/package/dist/entities-nostats.json +1 -1
  273. package/front_end/third_party/third-party-web/package/dist/entities.json +1 -1
  274. package/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.js +27 -15
  275. package/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.test.js +14 -0
  276. package/front_end/third_party/third-party-web/package/lib/entities.test.js +10 -0
  277. package/front_end/third_party/third-party-web/package/lib/index.test.js +6 -6
  278. package/front_end/third_party/third-party-web/package/lib/markdown/template.md +1 -3
  279. package/front_end/third_party/third-party-web/package/package.json +7 -3
  280. package/front_end/third_party/third-party-web/package.json +1 -1
  281. package/front_end/tsconfig.json +1 -2
  282. package/front_end/ui/components/buttons/floatingButton.css +3 -3
  283. package/front_end/ui/components/lists/list.css +2 -0
  284. package/front_end/ui/legacy/ListWidget.ts +8 -5
  285. package/front_end/ui/legacy/TextPrompt.ts +5 -2
  286. package/front_end/ui/legacy/textPrompt.css +1 -0
  287. package/front_end/ui/visual_logging/KnownContextValues.ts +1 -0
  288. package/inspector_overlay/tsconfig.json +3 -10
  289. package/mcp/tsconfig.json +1 -5
  290. package/package.json +1 -2
@@ -1,22 +1,35 @@
1
1
  const DOMAIN_IN_URL_REGEX = /:\/\/(\S*?)(:\d+)?(\/|$)/
2
- const DOMAIN_CHARACTERS = /([a-z0-9.-]+\.[a-z0-9]+|localhost)/i
2
+ const DOMAIN_CHARACTERS = /(?:[a-z0-9.-]+\.[a-z0-9]+|localhost)/i
3
3
  const IP_REGEX = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/
4
4
  const ROOT_DOMAIN_REGEX = /[^.]+\.([^.]+|(gov|com|co|ne)\.\w{2})$/i
5
5
 
6
- function getDomainFromOriginOrURL(originOrURL) {
7
- if (typeof originOrURL !== 'string') return null
8
- if (originOrURL.length > 10000 || originOrURL.startsWith('data:')) return null
9
- if (DOMAIN_IN_URL_REGEX.test(originOrURL)) return originOrURL.match(DOMAIN_IN_URL_REGEX)[1]
10
- if (DOMAIN_CHARACTERS.test(originOrURL)) return originOrURL.match(DOMAIN_CHARACTERS)[0]
11
- return null
6
+ /**
7
+ * @param {string} originOrURL
8
+ * @return {[string|null, string|null]} - The first item is the root domain, the second item is the domain.
9
+ */
10
+ function parseDomains(originOrURL) {
11
+ if (typeof originOrURL !== 'string') return [null, null]
12
+ if (originOrURL.length > 10000 || originOrURL.startsWith('data:')) return [null, null]
13
+ let m = originOrURL.match(DOMAIN_IN_URL_REGEX)
14
+ let domain;
15
+ if (m) {
16
+ domain = m[1]
17
+ }
18
+ m = originOrURL.match(DOMAIN_CHARACTERS)
19
+ if (m) {
20
+ domain = m[0]
21
+ }
22
+
23
+ if (!domain) return [null, null]
24
+ if (IP_REGEX.test(domain)) return [domain, domain]
25
+ m = domain.match(ROOT_DOMAIN_REGEX)
26
+ const rootDomain = m && m[0] || domain;
27
+
28
+ return [rootDomain, domain]
12
29
  }
13
30
 
14
- function getRootDomain(originOrURL) {
15
- const domain = getDomainFromOriginOrURL(originOrURL)
16
- if (!domain) return null
17
- if (IP_REGEX.test(domain)) return domain
18
- const match = domain.match(ROOT_DOMAIN_REGEX)
19
- return (match && match[0]) || domain
31
+ function getRootDomain(originOrURL,) {
32
+ return parseDomains(originOrURL)[0];
20
33
  }
21
34
 
22
35
  function sliceSubdomainFromDomain(domain, rootDomain) {
@@ -28,8 +41,7 @@ function sliceSubdomainFromDomain(domain, rootDomain) {
28
41
  }
29
42
 
30
43
  function getEntityInDataset(entityByDomain, entityBySubDomain, entityByRootDomain, originOrURL) {
31
- const domain = getDomainFromOriginOrURL(originOrURL)
32
- const rootDomain = getRootDomain(domain)
44
+ const [rootDomain, domain] = parseDomains(originOrURL);
33
45
  if (!domain || !rootDomain) return undefined
34
46
  if (entityByDomain.has(domain)) return entityByDomain.get(domain)
35
47
 
@@ -1,3 +1,5 @@
1
+ const fs = require('fs')
2
+ const path = require('path')
1
3
  const {createAPIFromDataset} = require('./create-entity-finder-api.js')
2
4
 
3
5
  describe('getEntity', () => {
@@ -41,4 +43,16 @@ describe('getEntity', () => {
41
43
  expect(api.getEntity('https://bar.example.co.uk/path').name).toEqual('Domain')
42
44
  expect(api.getEntity('https://baz.bar.example.co.uk/path').name).toEqual('Domain')
43
45
  })
46
+
47
+ it.skip('stress test', () => {
48
+ const urls = fs
49
+ .readFileSync(path.join(__dirname, '../data/random-urls.txt'), 'utf8')
50
+ .split('\n')
51
+ .filter(Boolean)
52
+ console.time('getEntity')
53
+ for (let i = 0; i < 1_000_000; i++) {
54
+ api.getEntity(urls[i % urls.length])
55
+ }
56
+ console.timeEnd('getEntity')
57
+ })
44
58
  })
@@ -24,4 +24,14 @@ describe('Entities', () => {
24
24
  }
25
25
  }
26
26
  })
27
+
28
+ it('should not have commas within a domain', () => {
29
+ for (const entity of entities) {
30
+ for (const domain of entity.domains) {
31
+ // A domain can be `*.maxymiser.net` or `maxymiser.hs.llnwd.net`
32
+ // A domain can't be `*.maxymiser.net, maxymiser.hs.llnwd.net`
33
+ expect(domain).toEqual(expect.not.stringContaining(','))
34
+ }
35
+ }
36
+ })
27
37
  })
@@ -59,7 +59,7 @@ describe('getEntity', () => {
59
59
  it('works for direct domain usage', () => {
60
60
  expect(getEntity('https://js.connect.facebook.net/lib.js')).toMatchInlineSnapshot(`
61
61
  Object {
62
- "averageExecutionTime": 347.4278160199557,
62
+ "averageExecutionTime": 513.7506757503379,
63
63
  "categories": Array [
64
64
  "social",
65
65
  ],
@@ -103,8 +103,8 @@ describe('getEntity', () => {
103
103
  ],
104
104
  },
105
105
  ],
106
- "totalExecutionTime": 1097107210,
107
- "totalOccurrences": 3157799,
106
+ "totalExecutionTime": 2901178836,
107
+ "totalOccurrences": 5647056,
108
108
  }
109
109
  `)
110
110
  })
@@ -112,7 +112,7 @@ describe('getEntity', () => {
112
112
  it('works for inferred domain usage', () => {
113
113
  expect(getEntity('https://unknown.typekit.net/fonts.css')).toMatchInlineSnapshot(`
114
114
  Object {
115
- "averageExecutionTime": 660.2645605704683,
115
+ "averageExecutionTime": 691.2697157512289,
116
116
  "categories": Array [
117
117
  "cdn",
118
118
  ],
@@ -129,8 +129,8 @@ describe('getEntity', () => {
129
129
  "homepage": "https://fonts.adobe.com/",
130
130
  "name": "Adobe TypeKit",
131
131
  "products": Array [],
132
- "totalExecutionTime": 78981507,
133
- "totalOccurrences": 119621,
132
+ "totalExecutionTime": 142315844,
133
+ "totalOccurrences": 205876,
134
134
  }
135
135
  `)
136
136
  })
@@ -1,6 +1,4 @@
1
- # [Third Party Web](https://www.thirdpartyweb.today/)
2
-
3
- ## Check out the shiny new web UI https://www.thirdpartyweb.today/
1
+ # Third Party Web
4
2
 
5
3
  Data on third party entities and their impact on the web.
6
4
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "third-party-web",
3
- "version": "0.26.2",
3
+ "version": "0.29.2",
4
4
  "description": "Categorized data on third party entities on the web.",
5
5
  "main": "./lib/index.js",
6
6
  "scripts": {
@@ -23,6 +23,10 @@
23
23
  "url": "https://github.com/patrickhulce/third-party-web.git"
24
24
  },
25
25
  "license": "MIT",
26
+ "publishConfig": {
27
+ "registry": "https://registry.npmjs.org/",
28
+ "provenance": true
29
+ },
26
30
  "devDependencies": {
27
31
  "@google-cloud/bigquery": "^7.9.0",
28
32
  "chart.js": "^2.9.4",
@@ -33,7 +37,7 @@
33
37
  "lodash": "^4.17.15",
34
38
  "prettier": "^1.18.2",
35
39
  "prompts": "^2.4.2",
36
- "semantic-release": "^24.2.0"
40
+ "semantic-release": "^25.0.3"
37
41
  },
38
42
  "config": {
39
43
  "exportAliases": {
@@ -42,5 +46,5 @@
42
46
  "httparchive-subset": "./lib/subsets/httparchive.js"
43
47
  }
44
48
  },
45
- "packageManager": "yarn@4.1.1"
49
+ "packageManager": "yarn@4.10.3"
46
50
  }
@@ -3,6 +3,6 @@
3
3
  "description": "Package list used when building/upgrading third-party-web",
4
4
  "private": true,
5
5
  "dependencies": {
6
- "third-party-web": "0.26.2"
6
+ "third-party-web": "0.29.2"
7
7
  }
8
8
  }
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "extends": "../config/typescript/tsconfig.base.json",
3
3
  "compilerOptions": {
4
- "allowUmdGlobalAccess": true,
5
4
  "outDir": "ignored",
6
5
  "rootDir": ".",
7
6
  "target": "ES2023",
@@ -28,7 +27,7 @@
28
27
  }
29
28
  }
30
29
  ],
31
- "types": ["mocha", "sinon"]
30
+ "types": ["mocha"]
32
31
  },
33
32
  "exclude": ["devtools_compatibility.js"],
34
33
  "references": [{ "path": "./tsconfig.compatibility.json" }]
@@ -27,7 +27,7 @@ button {
27
27
  background-color: var(--sys-color-tonal-container);
28
28
  }
29
29
 
30
- :host-context(.theme-with-dark-background) & {
30
+ :host-context(.theme-with-dark-background) &:not(:disabled) {
31
31
  background-color: var(--sys-color-primary);
32
32
  }
33
33
 
@@ -36,11 +36,11 @@ button {
36
36
  height: var(--sys-size-7);
37
37
  }
38
38
 
39
- &:not(:disabled):host-context(:not(.theme-with-dark-background)) & > devtools-icon {
39
+ :host-context(:not(.theme-with-dark-background)) &:not(:disabled) > devtools-icon {
40
40
  color: var(--sys-color-on-tonal-container);
41
41
  }
42
42
 
43
- &:not(:disabled):host-context(.theme-with-dark-background) & > devtools-icon {
43
+ :host-context(.theme-with-dark-background) &:not(:disabled) > devtools-icon {
44
44
  color: var(--sys-color-on-primary);
45
45
  }
46
46
 
@@ -76,6 +76,8 @@ li {
76
76
  pointer-events: none;
77
77
  position: absolute;
78
78
  right: 0;
79
+ top: 0;
80
+ bottom: 0;
79
81
  }
80
82
 
81
83
  .controls-gradient {
@@ -9,7 +9,7 @@ import './Toolbar.js';
9
9
  import * as i18n from '../../core/i18n/i18n.js';
10
10
  import * as Platform from '../../core/platform/platform.js';
11
11
  import * as Buttons from '../../ui/components/buttons/buttons.js';
12
- import {html, render} from '../lit/lit.js';
12
+ import {html, nothing, render} from '../lit/lit.js';
13
13
  import * as VisualLogging from '../visual_logging/visual_logging.js';
14
14
 
15
15
  import * as ARIAUtils from './ARIAUtils.js';
@@ -107,6 +107,7 @@ export class ListWidget<T> extends VBox {
107
107
  updateItem(index: number, newItem: T, editable: boolean, focusable = true, controlLabels: {
108
108
  edit?: string,
109
109
  delete?: string,
110
+ hideEdit?: boolean,
110
111
  } = {}): void {
111
112
  if (index < 0 || index >= this.#items.length) {
112
113
  this.appendItem(newItem, editable, focusable, controlLabels);
@@ -130,7 +131,8 @@ export class ListWidget<T> extends VBox {
130
131
  }
131
132
  }
132
133
 
133
- appendItem(item: T, editable: boolean, focusable = true, controlLabels: {edit?: string, delete?: string} = {}): void {
134
+ appendItem(item: T, editable: boolean, focusable = true,
135
+ controlLabels: {edit?: string, delete?: string, hideEdit?: boolean} = {}): void {
134
136
  if (this.lastSeparator && this.#items.length) {
135
137
  const element = document.createElement('div');
136
138
  element.classList.add('list-separator');
@@ -204,7 +206,8 @@ export class ListWidget<T> extends VBox {
204
206
  this.updatePlaceholder();
205
207
  }
206
208
 
207
- private createControls(item: T, element: HTMLElement, controlLabels: {edit?: string, delete?: string}): Element {
209
+ private createControls(item: T, element: HTMLElement,
210
+ controlLabels: {edit?: string, delete?: string, hideEdit?: boolean}): Element {
208
211
  const controls = document.createElement('div');
209
212
  controls.classList.add('controls-container');
210
213
  controls.classList.add('fill');
@@ -214,12 +217,12 @@ export class ListWidget<T> extends VBox {
214
217
  <div class="controls-gradient"></div>
215
218
  <div class="controls-buttons">
216
219
  <devtools-toolbar>
217
- <devtools-button class=toolbar-button
220
+ ${controlLabels?.hideEdit ? nothing : html`<devtools-button class=toolbar-button
218
221
  .iconName=${'edit'}
219
222
  .jslogContext=${'edit-item'}
220
223
  .title=${controlLabels?.edit ?? i18nString(UIStrings.editString)}
221
224
  .variant=${Buttons.Button.Variant.ICON}
222
- @click=${onEditClicked}></devtools-button>
225
+ @click=${onEditClicked}></devtools-button>`}
223
226
  <devtools-button class=toolbar-button
224
227
  .iconName=${'bin'}
225
228
  .jslogContext=${'remove-item'}
@@ -226,11 +226,12 @@ export class TextPromptElement extends HTMLElement {
226
226
  #done(e: Event, commit: boolean): void {
227
227
  const target = e.target as HTMLElement;
228
228
  const text = target.textContent || '';
229
- this.#internals.setValidity({});
230
229
  if (commit) {
231
230
  const validationMessage = this.#validator?.(text) ?? '';
232
231
  if (validationMessage) {
233
232
  this.#internals.setValidity({customError: true}, validationMessage, this.#entrypoint);
233
+ } else {
234
+ this.#internals.setValidity({});
234
235
  }
235
236
 
236
237
  if (!this.#internals.reportValidity()) {
@@ -239,6 +240,7 @@ export class TextPromptElement extends HTMLElement {
239
240
 
240
241
  this.dispatchEvent(new TextPromptElement.CommitEvent(text));
241
242
  } else {
243
+ this.#internals.setValidity({});
242
244
  this.dispatchEvent(new TextPromptElement.CancelEvent());
243
245
  }
244
246
  e.consume();
@@ -248,12 +250,13 @@ export class TextPromptElement extends HTMLElement {
248
250
  if (event.handled || !(event instanceof KeyboardEvent)) {
249
251
  return;
250
252
  }
251
- this.#internals.setValidity({});
252
253
 
253
254
  if (event.key === 'Enter') {
254
255
  this.#done(event, /* commit=*/ true);
255
256
  } else if (Platform.KeyboardUtilities.isEscKey(event)) {
256
257
  this.#done(event, /* commit=*/ false);
258
+ } else {
259
+ this.#internals.setValidity({});
257
260
  }
258
261
  }
259
262
 
@@ -21,6 +21,7 @@
21
21
  .text-prompt {
22
22
  cursor: text;
23
23
  overflow-x: visible;
24
+ min-width: var(--devtools-text-prompt-min-width, auto);
24
25
  }
25
26
 
26
27
  .text-prompt::-webkit-scrollbar {
@@ -4368,6 +4368,7 @@ export const knownContextValues = new Set([
4368
4368
  'ur',
4369
4369
  'url',
4370
4370
  'url-pattern',
4371
+ 'url-pattern-warning',
4371
4372
  'usage',
4372
4373
  'usb',
4373
4374
  'use-code-with-caution',
@@ -1,14 +1,7 @@
1
1
  {
2
2
  "extends": "../config/typescript/tsconfig.base.json",
3
3
  "compilerOptions": {
4
- "allowUmdGlobalAccess": true,
5
- "lib": [
6
- "esnext",
7
- "dom",
8
- "dom.iterable",
9
- "webworker",
10
- "webworker.iterable"
11
- ],
12
- "outDir": "ignored-for-vscode",
13
- },
4
+ "lib": ["esnext", "dom", "dom.iterable", "webworker", "webworker.iterable"],
5
+ "outDir": "ignored-for-vscode"
6
+ }
14
7
  }
package/mcp/tsconfig.json CHANGED
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "extends": "../config/typescript/tsconfig.base.json",
3
3
  "compilerOptions": {
4
- "allowUmdGlobalAccess": true,
5
4
  "outDir": "ignored",
6
5
  "target": "ES2023",
7
6
  "lib": [
@@ -11,10 +10,7 @@
11
10
  "ESNext.Collection",
12
11
  "ESNext.Array"
13
12
  ],
14
- "typeRoots": [
15
- "../node_modules/@types",
16
- "../node_modules",
17
- ],
13
+ "typeRoots": ["../node_modules/@types", "../node_modules"],
18
14
  "types": ["node", "undici-types"]
19
15
  },
20
16
  "references": [{ "path": "../front_end/tsconfig.json" }]
package/package.json CHANGED
@@ -68,7 +68,6 @@
68
68
  "karma-coverage": "2.2.1",
69
69
  "karma-mocha": "2.0.1",
70
70
  "karma-mocha-reporter": "2.2.5",
71
- "karma-sinon": "1.0.5",
72
71
  "karma-sourcemap-loader": "0.4.0",
73
72
  "karma-spec-reporter": "0.0.36",
74
73
  "license-checker": "25.0.1",
@@ -92,5 +91,5 @@
92
91
  "webidl2": "24.5.0",
93
92
  "yargs": "17.7.2"
94
93
  },
95
- "version": "1.0.1650100"
94
+ "version": "1.0.1650677"
96
95
  }