chrome-devtools-frontend 1.0.922782 → 1.0.923788

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 (278) hide show
  1. package/front_end/core/common/Console.ts +5 -1
  2. package/front_end/core/common/EventTarget.ts +7 -13
  3. package/front_end/core/common/Object.ts +5 -9
  4. package/front_end/core/common/Settings.ts +12 -9
  5. package/front_end/core/host/InspectorFrontendHost.ts +6 -5
  6. package/front_end/core/host/InspectorFrontendHostAPI.ts +102 -0
  7. package/front_end/core/sdk/CSSModel.ts +8 -4
  8. package/front_end/core/sdk/Connections.ts +5 -5
  9. package/front_end/core/sdk/DebuggerModel.ts +8 -5
  10. package/front_end/core/sdk/RuntimeModel.ts +1 -1
  11. package/front_end/core/sdk/SourceMap.ts +74 -31
  12. package/front_end/core/sdk/TargetManager.ts +7 -7
  13. package/front_end/entrypoints/inspector_main/InspectorMain.ts +1 -2
  14. package/front_end/entrypoints/main/ExecutionContextSelector.ts +4 -4
  15. package/front_end/entrypoints/main/MainImpl.ts +4 -7
  16. package/front_end/entrypoints/node_main/NodeConnectionsPanel.ts +2 -2
  17. package/front_end/entrypoints/node_main/NodeMain.ts +1 -2
  18. package/front_end/models/bindings/BreakpointManager.ts +3 -2
  19. package/front_end/models/bindings/CompilerScriptMapping.ts +24 -6
  20. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +30 -30
  21. package/front_end/models/extensions/ExtensionServer.ts +12 -15
  22. package/front_end/models/issues_manager/DeprecationIssue.ts +1 -1
  23. package/front_end/models/issues_manager/descriptions/CoepCorpNotSameOriginAfterDefaultedToSameOriginByCoep.md +15 -5
  24. package/front_end/models/issues_manager/descriptions/CoepFrameResourceNeedsCoepHeader.md +7 -3
  25. package/front_end/models/issues_manager/descriptions/deprecationNavigatorUserAgent.md +1 -1
  26. package/front_end/models/persistence/IsolatedFileSystemManager.ts +26 -31
  27. package/front_end/models/persistence/NetworkPersistenceManager.ts +11 -1
  28. package/front_end/models/persistence/PersistenceUtils.ts +2 -1
  29. package/front_end/models/workspace/FileManager.ts +5 -7
  30. package/front_end/models/workspace/WorkspaceImpl.ts +1 -1
  31. package/front_end/models/workspace_diff/WorkspaceDiff.ts +24 -20
  32. package/front_end/panels/application/ApplicationPanelSidebar.ts +14 -19
  33. package/front_end/panels/application/BackForwardCacheView.ts +4 -3
  34. package/front_end/panels/application/DOMStorageItemsView.ts +2 -2
  35. package/front_end/panels/application/DatabaseModel.ts +6 -1
  36. package/front_end/panels/application/IndexedDBModel.ts +9 -1
  37. package/front_end/panels/application/IndexedDBViews.ts +1 -1
  38. package/front_end/panels/application/ServiceWorkerCacheViews.ts +1 -1
  39. package/front_end/panels/console/ConsoleContextSelector.ts +3 -2
  40. package/front_end/panels/console/ConsolePinPane.ts +1 -2
  41. package/front_end/panels/console/ConsoleView.ts +3 -5
  42. package/front_end/panels/console/ConsoleViewMessage.ts +1 -1
  43. package/front_end/panels/coverage/CoverageModel.ts +9 -3
  44. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +10 -10
  45. package/front_end/panels/css_overview/CSSOverviewController.ts +2 -2
  46. package/front_end/panels/css_overview/CSSOverviewModel.ts +5 -5
  47. package/front_end/panels/css_overview/CSSOverviewPanel.ts +21 -20
  48. package/front_end/panels/css_overview/CSSOverviewUnusedDeclarations.ts +12 -9
  49. package/front_end/panels/elements/ClassesPaneWidget.ts +2 -2
  50. package/front_end/panels/elements/ComputedStyleModel.ts +2 -2
  51. package/front_end/panels/elements/ElementsPanel.ts +2 -3
  52. package/front_end/panels/elements/PropertiesWidget.ts +2 -2
  53. package/front_end/panels/layer_viewer/Layers3DView.ts +1 -1
  54. package/front_end/panels/media/PlayerMessagesView.ts +2 -4
  55. package/front_end/panels/network/ResourceWebSocketFrameView.ts +3 -2
  56. package/front_end/panels/profiler/CPUProfileFlameChart.ts +5 -3
  57. package/front_end/panels/profiler/HeapProfileView.ts +12 -2
  58. package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +14 -1
  59. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +11 -3
  60. package/front_end/panels/profiler/HeapSnapshotView.ts +65 -30
  61. package/front_end/panels/profiler/ProfileHeader.ts +11 -2
  62. package/front_end/panels/profiler/ProfilesPanel.ts +7 -6
  63. package/front_end/panels/sources/SourcesPanel.ts +1 -2
  64. package/front_end/panels/sources/ThreadsSidebarPane.ts +1 -2
  65. package/front_end/panels/timeline/TimelineUIUtils.ts +1 -2
  66. package/front_end/panels/web_audio/WebAudioModel.ts +19 -1
  67. package/front_end/panels/web_audio/WebAudioView.ts +25 -19
  68. package/front_end/panels/web_audio/graph_visualizer/GraphManager.ts +3 -17
  69. package/front_end/panels/webauthn/WebauthnPane.ts +20 -10
  70. package/front_end/third_party/puppeteer/README.chromium +1 -1
  71. package/front_end/third_party/puppeteer/package/CHANGELOG.md +66 -0
  72. package/front_end/third_party/puppeteer/package/README.md +34 -13
  73. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/AriaQueryHandler.d.ts.map +1 -1
  74. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/AriaQueryHandler.js +5 -5
  75. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/AriaQueryHandler.js.map +1 -1
  76. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.d.ts +18 -2
  77. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.d.ts.map +1 -1
  78. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.js +8 -3
  79. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.js.map +1 -1
  80. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.d.ts +2 -2
  81. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.js +2 -2
  82. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Coverage.d.ts +22 -6
  83. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Coverage.d.ts.map +1 -1
  84. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Coverage.js +14 -7
  85. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Coverage.js.map +1 -1
  86. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.d.ts +1 -0
  87. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.d.ts.map +1 -1
  88. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.js +10 -6
  89. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.js.map +1 -1
  90. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DeviceDescriptors.d.ts.map +1 -1
  91. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DeviceDescriptors.js +120 -0
  92. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DeviceDescriptors.js.map +1 -1
  93. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EvalTypes.d.ts +1 -1
  94. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EvalTypes.d.ts.map +1 -1
  95. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.d.ts.map +1 -1
  96. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js +2 -2
  97. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js.map +1 -1
  98. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts +62 -3
  99. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  100. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js +131 -3
  101. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js.map +1 -1
  102. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.d.ts +40 -0
  103. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.d.ts.map +1 -1
  104. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.js +76 -0
  105. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.js.map +1 -1
  106. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.d.ts +53 -2
  107. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.d.ts.map +1 -1
  108. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js +82 -13
  109. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js.map +1 -1
  110. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.d.ts +2 -1
  111. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.d.ts.map +1 -1
  112. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.js +14 -2
  113. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.js.map +1 -1
  114. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PDFOptions.d.ts +5 -0
  115. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PDFOptions.d.ts.map +1 -1
  116. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PDFOptions.js.map +1 -1
  117. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.d.ts +1053 -29
  118. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.d.ts.map +1 -1
  119. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.js +1114 -22
  120. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.js.map +1 -1
  121. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Tracing.d.ts.map +1 -1
  122. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Tracing.js +17 -6
  123. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Tracing.js.map +1 -1
  124. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/assert.d.ts +1 -0
  125. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/assert.d.ts.map +1 -1
  126. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/assert.js +6 -1
  127. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/assert.js.map +1 -1
  128. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.d.ts +21 -5
  129. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.d.ts.map +1 -1
  130. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.js +47 -28
  131. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.js.map +1 -1
  132. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/global.d.ts +17 -0
  133. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/global.d.ts.map +1 -0
  134. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/global.js +3 -0
  135. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/global.js.map +1 -0
  136. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.d.ts.map +1 -1
  137. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js +9 -10
  138. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js.map +1 -1
  139. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.d.ts.map +1 -1
  140. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js +5 -2
  141. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js.map +1 -1
  142. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.d.ts +10 -2
  143. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.d.ts.map +1 -1
  144. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.d.ts +1 -1
  145. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.d.ts.map +1 -1
  146. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js +83 -6
  147. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js.map +1 -1
  148. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -1
  149. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.js +7 -1
  150. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.js.map +1 -1
  151. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.d.ts +1 -1
  152. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.d.ts.map +1 -1
  153. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.js +2 -2
  154. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.js.map +1 -1
  155. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/install.d.ts.map +1 -1
  156. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/install.js +17 -3
  157. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/install.js.map +1 -1
  158. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +1 -1
  159. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.d.ts.map +1 -1
  160. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.js +5 -5
  161. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.js.map +1 -1
  162. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts +18 -2
  163. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts.map +1 -1
  164. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js +8 -3
  165. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js.map +1 -1
  166. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts +2 -2
  167. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.js +2 -2
  168. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.d.ts +22 -6
  169. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.d.ts.map +1 -1
  170. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.js +14 -7
  171. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.js.map +1 -1
  172. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts +1 -0
  173. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts.map +1 -1
  174. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.js +10 -6
  175. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.js.map +1 -1
  176. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.d.ts.map +1 -1
  177. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.js +120 -0
  178. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.js.map +1 -1
  179. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.d.ts +1 -1
  180. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.d.ts.map +1 -1
  181. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts.map +1 -1
  182. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js +2 -2
  183. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js.map +1 -1
  184. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts +62 -3
  185. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  186. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js +131 -3
  187. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js.map +1 -1
  188. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts +40 -0
  189. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts.map +1 -1
  190. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.js +76 -0
  191. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.js.map +1 -1
  192. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts +53 -2
  193. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts.map +1 -1
  194. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js +82 -13
  195. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js.map +1 -1
  196. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts +2 -1
  197. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -1
  198. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js +14 -2
  199. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js.map +1 -1
  200. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts +5 -0
  201. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts.map +1 -1
  202. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.js.map +1 -1
  203. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts +1053 -29
  204. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts.map +1 -1
  205. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js +1115 -23
  206. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js.map +1 -1
  207. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.d.ts.map +1 -1
  208. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.js +17 -6
  209. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.js.map +1 -1
  210. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.d.ts +1 -0
  211. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.d.ts.map +1 -1
  212. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.js +4 -0
  213. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.js.map +1 -1
  214. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.d.ts +21 -5
  215. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.d.ts.map +1 -1
  216. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js +32 -13
  217. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js.map +1 -1
  218. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/global.d.ts +17 -0
  219. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/global.d.ts.map +1 -0
  220. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/global.js +2 -0
  221. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/global.js.map +1 -0
  222. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts.map +1 -1
  223. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js +9 -10
  224. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js.map +1 -1
  225. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts.map +1 -1
  226. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js +5 -2
  227. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js.map +1 -1
  228. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts +10 -2
  229. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts.map +1 -1
  230. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts +1 -1
  231. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts.map +1 -1
  232. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js +83 -6
  233. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js.map +1 -1
  234. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -1
  235. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.js +7 -1
  236. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.js.map +1 -1
  237. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.d.ts +1 -1
  238. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.d.ts.map +1 -1
  239. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.js +2 -2
  240. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.js.map +1 -1
  241. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/install.d.ts.map +1 -1
  242. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/install.js +17 -3
  243. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/install.js.map +1 -1
  244. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +1 -1
  245. package/front_end/third_party/puppeteer/package/lib/types.d.ts +1382 -19726
  246. package/front_end/third_party/puppeteer/package/package.json +9 -6
  247. package/front_end/third_party/wasmparser/README.chromium +2 -2
  248. package/front_end/third_party/wasmparser/package/CHANGELOG.md +13 -0
  249. package/front_end/third_party/wasmparser/package/dist/cjs/WasmDis.js +50 -10
  250. package/front_end/third_party/wasmparser/package/dist/cjs/WasmDis.js.map +1 -1
  251. package/front_end/third_party/wasmparser/package/dist/cjs/WasmParser.d.ts +21 -4
  252. package/front_end/third_party/wasmparser/package/dist/cjs/WasmParser.js +76 -8
  253. package/front_end/third_party/wasmparser/package/dist/cjs/WasmParser.js.map +1 -1
  254. package/front_end/third_party/wasmparser/package/dist/esm/WasmDis.js +50 -10
  255. package/front_end/third_party/wasmparser/package/dist/esm/WasmDis.js.map +1 -1
  256. package/front_end/third_party/wasmparser/package/dist/esm/WasmParser.d.ts +21 -4
  257. package/front_end/third_party/wasmparser/package/dist/esm/WasmParser.js +76 -8
  258. package/front_end/third_party/wasmparser/package/dist/esm/WasmParser.js.map +1 -1
  259. package/front_end/third_party/wasmparser/package/package.json +1 -1
  260. package/front_end/third_party/wasmparser/package/src/WasmDis.ts +47 -10
  261. package/front_end/third_party/wasmparser/package/src/WasmParser.ts +75 -5
  262. package/front_end/ui/components/icon_button/iconButton.css +4 -0
  263. package/front_end/ui/legacy/Context.ts +9 -4
  264. package/front_end/ui/legacy/ContextMenu.ts +4 -4
  265. package/front_end/ui/legacy/ForwardedInputEventHandler.ts +3 -7
  266. package/front_end/ui/legacy/GlassPane.ts +1 -3
  267. package/front_end/ui/legacy/InspectorView.ts +1 -2
  268. package/front_end/ui/legacy/UIUtils.ts +2 -3
  269. package/front_end/ui/legacy/Widget.ts +1 -3
  270. package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +5 -8
  271. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +5 -8
  272. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +15 -6
  273. package/front_end/ui/legacy/components/data_grid/ViewportDataGrid.ts +7 -1
  274. package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +3 -3
  275. package/front_end/ui/legacy/components/utils/Linkifier.ts +5 -1
  276. package/front_end/ui/legacy/reportView.css +1 -0
  277. package/package.json +1 -1
  278. package/scripts/build/rollup.config.js +0 -5
@@ -7,7 +7,7 @@ import {reveal} from './Revealer.js';
7
7
 
8
8
  let consoleInstance: Console;
9
9
 
10
- export class Console extends ObjectWrapper {
10
+ export class Console extends ObjectWrapper<EventTypes> {
11
11
  private readonly messagesInternal: Message[];
12
12
  /**
13
13
  * Instantiable via the instance() factory below.
@@ -64,6 +64,10 @@ export enum Events {
64
64
  MessageAdded = 'messageAdded',
65
65
  }
66
66
 
67
+ export type EventTypes = {
68
+ [Events.MessageAdded]: Message,
69
+ };
70
+
67
71
  // TODO(crbug.com/1167717): Make this a const enum again
68
72
  // eslint-disable-next-line rulesdir/const_enum
69
73
  export enum MessageLevel {
@@ -11,7 +11,7 @@ export interface EventDescriptor<Events = any, T extends EventType<Events> = any
11
11
  eventTarget: EventTarget<Events>;
12
12
  eventType: T;
13
13
  thisObject?: Object;
14
- listener: (arg0: EventTargetEvent<EventPayload<Events, T>>) => void;
14
+ listener: EventListener<Events, T>;
15
15
  }
16
16
 
17
17
  export function removeEventListeners(eventList: EventDescriptor[]): void {
@@ -22,24 +22,18 @@ export function removeEventListeners(eventList: EventDescriptor[]): void {
22
22
  eventList.splice(0);
23
23
  }
24
24
 
25
- // TODO(crbug.com/1228674): Once all event emitters and sinks have been migrated
26
- // we can use:
27
- // export type EventType<Events> = keyof Events;
28
- // export type EventPayload<Events, T> = Events[T];
29
25
  export type EventType<Events> = Events extends Object ? keyof Events : Events extends void ? never : string|symbol;
30
26
  export type EventPayload<Events, T> = T extends keyof Events ? Events[T] : unknown;
31
27
  export type EventPayloadToRestParameters<T> = T extends void ? [] : [T];
32
28
 
33
- // TODO(crbug.com/1228674) Remove defaults for generic type parameters once
34
- // all event emitters and sinks have been migrated.
35
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
- export interface EventTarget<Events = any> {
37
- addEventListener<T extends EventType<Events>>(
38
- eventType: T, listener: (arg0: EventTargetEvent<EventPayload<Events, T>>) => void,
39
- thisObject?: Object): EventDescriptor<Events, T>;
29
+ export type EventListener<Events, T> = (arg0: EventTargetEvent<EventPayload<Events, T>>) => void;
30
+
31
+ export interface EventTarget<Events> {
32
+ addEventListener<T extends EventType<Events>>(eventType: T, listener: EventListener<Events, T>, thisObject?: Object):
33
+ EventDescriptor<Events, T>;
40
34
  once<T extends EventType<Events>>(eventType: T): Promise<EventPayload<Events, T>>;
41
35
  removeEventListener<T extends EventType<Events>>(
42
- eventType: T, listener: (arg0: EventTargetEvent<EventPayload<Events, T>>) => void, thisObject?: Object): void;
36
+ eventType: T, listener: EventListener<Events, T>, thisObject?: Object): void;
43
37
  hasEventListeners(eventType: EventType<Events>): boolean;
44
38
  dispatchEventToListeners<T extends EventType<Events>>(
45
39
  eventType: Platform.TypeScriptUtilities.NoUnion<T>,
@@ -28,7 +28,7 @@
28
28
  */
29
29
 
30
30
  import type * as Platform from '../platform/platform.js';
31
- import type {EventDescriptor, EventTarget, EventTargetEvent, EventType, EventPayload, EventPayloadToRestParameters} from './EventTarget.js';
31
+ import type {EventDescriptor, EventListener, EventTarget, EventTargetEvent, EventType, EventPayload, EventPayloadToRestParameters} from './EventTarget.js';
32
32
 
33
33
  export interface ListenerCallbackTuple {
34
34
  thisObject?: Object;
@@ -36,15 +36,11 @@ export interface ListenerCallbackTuple {
36
36
  disposed?: boolean;
37
37
  }
38
38
 
39
- // TODO(crbug.com/1228674) Remove defaults for generic type parameters once
40
- // all event emitters and sinks have been migrated.
41
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
- export class ObjectWrapper<Events = any> implements EventTarget<Events> {
39
+ export class ObjectWrapper<Events> implements EventTarget<Events> {
43
40
  listeners?: Map<EventType<Events>, Set<ListenerCallbackTuple>>;
44
41
 
45
- addEventListener<T extends EventType<Events>>(
46
- eventType: T, listener: (arg0: EventTargetEvent<EventPayload<Events, T>>) => void,
47
- thisObject?: Object): EventDescriptor<Events, T> {
42
+ addEventListener<T extends EventType<Events>>(eventType: T, listener: EventListener<Events, T>, thisObject?: Object):
43
+ EventDescriptor<Events, T> {
48
44
  if (!this.listeners) {
49
45
  this.listeners = new Map();
50
46
  }
@@ -68,7 +64,7 @@ export class ObjectWrapper<Events = any> implements EventTarget<Events> {
68
64
  }
69
65
 
70
66
  removeEventListener<T extends EventType<Events>>(
71
- eventType: T, listener: (arg0: EventTargetEvent<EventPayload<Events, T>>) => void, thisObject?: Object): void {
67
+ eventType: T, listener: EventListener<Events, T>, thisObject?: Object): void {
72
68
  const listeners = this.listeners?.get(eventType);
73
69
  if (!listeners) {
74
70
  return;
@@ -46,7 +46,7 @@ export class Settings {
46
46
  private readonly sessionStorage: SettingsStorage;
47
47
  settingNameSet: Set<string>;
48
48
  orderValuesBySettingCategory: Map<SettingCategory, Set<number>>;
49
- private eventSupport: ObjectWrapper;
49
+ private eventSupport: ObjectWrapper<unknown>;
50
50
  private registry: Map<string, Setting<unknown>>;
51
51
  readonly moduleSettings: Map<string, Setting<unknown>>;
52
52
 
@@ -59,7 +59,7 @@ export class Settings {
59
59
 
60
60
  this.orderValuesBySettingCategory = new Map();
61
61
 
62
- this.eventSupport = new ObjectWrapper();
62
+ this.eventSupport = new ObjectWrapper<unknown>();
63
63
  this.registry = new Map();
64
64
  this.moduleSettings = new Map();
65
65
 
@@ -276,7 +276,7 @@ function removeSetting(setting: Setting<unknown>): void {
276
276
  export class Setting<V> {
277
277
  private nameInternal: string;
278
278
  private defaultValueInternal: V;
279
- private readonly eventSupport: ObjectWrapper;
279
+ private readonly eventSupport: ObjectWrapper<unknown>;
280
280
  private storage: SettingsStorage;
281
281
  private titleFunction!: () => Platform.UIString.LocalizedString;
282
282
  private titleInternal!: string;
@@ -287,7 +287,7 @@ export class Setting<V> {
287
287
  private serializer: Serializer<unknown, V> = JSON;
288
288
  private hadUserAction?: boolean;
289
289
 
290
- constructor(name: string, defaultValue: V, eventSupport: ObjectWrapper, storage: SettingsStorage) {
290
+ constructor(name: string, defaultValue: V, eventSupport: ObjectWrapper<unknown>, storage: SettingsStorage) {
291
291
  this.nameInternal = name;
292
292
  this.defaultValueInternal = defaultValue;
293
293
  this.eventSupport = eventSupport;
@@ -299,12 +299,14 @@ export class Setting<V> {
299
299
  this.serializer = serializer;
300
300
  }
301
301
 
302
- addChangeListener(listener: (arg0: EventTargetEvent) => void, thisObject?: Object): EventDescriptor {
303
- return this.eventSupport.addEventListener(this.nameInternal, listener, thisObject);
302
+ addChangeListener(listener: (arg0: EventTargetEvent<V>) => void, thisObject?: Object): EventDescriptor {
303
+ return this.eventSupport.addEventListener(
304
+ this.nameInternal, listener as (arg0: EventTargetEvent<unknown>) => void, thisObject);
304
305
  }
305
306
 
306
- removeChangeListener(listener: (arg0: EventTargetEvent) => void, thisObject?: Object): void {
307
- this.eventSupport.removeEventListener(this.nameInternal, listener, thisObject);
307
+ removeChangeListener(listener: (arg0: EventTargetEvent<V>) => void, thisObject?: Object): void {
308
+ this.eventSupport.removeEventListener(
309
+ this.nameInternal, listener as (arg0: EventTargetEvent<unknown>) => void, thisObject);
308
310
  }
309
311
 
310
312
  get name(): string {
@@ -449,7 +451,8 @@ export class RegExpSetting extends Setting<any> {
449
451
  private regex?: RegExp|null;
450
452
 
451
453
  constructor(
452
- name: string, defaultValue: string, eventSupport: ObjectWrapper, storage: SettingsStorage, regexFlags?: string) {
454
+ name: string, defaultValue: string, eventSupport: ObjectWrapper<unknown>, storage: SettingsStorage,
455
+ regexFlags?: string) {
453
456
  super(name, defaultValue ? [{pattern: defaultValue}] : [], eventSupport, storage);
454
457
  this.regexFlags = regexFlags;
455
458
  }
@@ -36,7 +36,7 @@ import * as i18n from '../i18n/i18n.js';
36
36
  import * as Platform from '../platform/platform.js';
37
37
  import * as Root from '../root/root.js';
38
38
 
39
- import type {CanShowSurveyResult, ContextMenuDescriptor, EnumeratedHistogram, ExtensionDescriptor, InspectorFrontendHostAPI, LoadNetworkResourceResult, ShowSurveyResult} from './InspectorFrontendHostAPI.js';
39
+ import type {CanShowSurveyResult, ContextMenuDescriptor, EnumeratedHistogram, EventTypes, ExtensionDescriptor, InspectorFrontendHostAPI, LoadNetworkResourceResult, ShowSurveyResult} from './InspectorFrontendHostAPI.js';
40
40
  import {EventDescriptors, Events} from './InspectorFrontendHostAPI.js';
41
41
  import {streamWrite as resourceLoaderStreamWrite} from './ResourceLoader.js';
42
42
 
@@ -54,8 +54,7 @@ const MAX_RECORDED_HISTOGRAMS_SIZE = 100;
54
54
 
55
55
  export class InspectorFrontendHostStub implements InspectorFrontendHostAPI {
56
56
  private readonly urlsBeingSaved: Map<string, string[]>;
57
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
- events!: Common.EventTarget.EventTarget<any>;
57
+ events!: Common.EventTarget.EventTarget<EventTypes>;
59
58
  private windowVisible?: boolean;
60
59
 
61
60
  recordedEnumeratedHistograms: {actionName: EnumeratedHistogram, actionCode: number}[] = [];
@@ -379,7 +378,8 @@ class InspectorFrontendAPIImpl {
379
378
  // Single argument methods get dispatched with the param.
380
379
  if (signature.length < 2) {
381
380
  try {
382
- InspectorFrontendHostInstance.events.dispatchEventToListeners(name, params[0]);
381
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
382
+ InspectorFrontendHostInstance.events.dispatchEventToListeners<any>(name, params[0]);
383
383
  } catch (error) {
384
384
  console.error(error + ' ' + error.stack);
385
385
  }
@@ -392,7 +392,8 @@ class InspectorFrontendAPIImpl {
392
392
  data[signature[i]] = params[i];
393
393
  }
394
394
  try {
395
- InspectorFrontendHostInstance.events.dispatchEventToListeners(name, data);
395
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
396
+ InspectorFrontendHostInstance.events.dispatchEventToListeners<any>(name, data);
396
397
  } catch (error) {
397
398
  console.error(error + ' ' + error.stack);
398
399
  }
@@ -68,6 +68,108 @@ export const EventDescriptors = [
68
68
  [Events.ShowPanel, 'showPanel', ['panelName']],
69
69
  ];
70
70
 
71
+ export interface DispatchMessageChunkEvent {
72
+ messageChunk: string;
73
+ messageSize: number;
74
+ }
75
+
76
+ export interface EyeDropperPickedColorEvent {
77
+ r: number;
78
+ g: number;
79
+ b: number;
80
+ a: number;
81
+ }
82
+
83
+ export interface DevToolsFileSystem {
84
+ type: string;
85
+ fileSystemName: string;
86
+ rootURL: string;
87
+ fileSystemPath: string;
88
+ }
89
+
90
+ export interface FileSystemAddedEvent {
91
+ errorMessage?: string;
92
+ fileSystem: DevToolsFileSystem|null;
93
+ }
94
+
95
+ export interface FilesChangedEvent {
96
+ changed: string[];
97
+ added: string[];
98
+ removed: string[];
99
+ }
100
+
101
+ export interface IndexingEvent {
102
+ requestId: number;
103
+ fileSystemPath: string;
104
+ }
105
+
106
+ export interface IndexingTotalWorkCalculatedEvent extends IndexingEvent {
107
+ totalWork: number;
108
+ }
109
+
110
+ export interface IndexingWorkedEvent extends IndexingEvent {
111
+ worked: number;
112
+ }
113
+
114
+ export interface KeyEventUnhandledEvent {
115
+ type: string;
116
+ key: string;
117
+ keyCode: number;
118
+ modifiers: number;
119
+ }
120
+
121
+ export interface RevealSourceLineEvent {
122
+ url: string;
123
+ lineNumber: number;
124
+ columnNumber: number;
125
+ }
126
+
127
+ export interface SavedURLEvent {
128
+ url: string;
129
+ fileSystemPath: string;
130
+ }
131
+
132
+ export interface SearchCompletedEvent {
133
+ requestId: number;
134
+ files: string[];
135
+ }
136
+
137
+ // While `EventDescriptors` are used to dynamically dispatch host binding events,
138
+ // the `EventTypes` "type map" is used for type-checking said events by TypeScript.
139
+ // `EventTypes` is not used at runtime.
140
+ // Please note that the "dispatch" side can't be type-checked as the dispatch is
141
+ // done dynamically.
142
+ export type EventTypes = {
143
+ [Events.AppendedToURL]: string,
144
+ [Events.CanceledSaveURL]: string,
145
+ [Events.ContextMenuCleared]: void,
146
+ [Events.ContextMenuItemSelected]: number,
147
+ [Events.DeviceCountUpdated]: number,
148
+ [Events.DevicesDiscoveryConfigChanged]: Adb.Config,
149
+ [Events.DevicesPortForwardingStatusChanged]: void,
150
+ [Events.DevicesUpdated]: void,
151
+ [Events.DispatchMessage]: string,
152
+ [Events.DispatchMessageChunk]: DispatchMessageChunkEvent,
153
+ [Events.EnterInspectElementMode]: void,
154
+ [Events.EyeDropperPickedColor]: EyeDropperPickedColorEvent,
155
+ [Events.FileSystemsLoaded]: DevToolsFileSystem[],
156
+ [Events.FileSystemRemoved]: string,
157
+ [Events.FileSystemAdded]: FileSystemAddedEvent,
158
+ [Events.FileSystemFilesChangedAddedRemoved]: FilesChangedEvent,
159
+ [Events.IndexingTotalWorkCalculated]: IndexingTotalWorkCalculatedEvent,
160
+ [Events.IndexingWorked]: IndexingWorkedEvent,
161
+ [Events.IndexingDone]: IndexingEvent,
162
+ [Events.KeyEventUnhandled]: KeyEventUnhandledEvent,
163
+ [Events.ReattachMainTarget]: void,
164
+ [Events.ReloadInspectedPage]: boolean,
165
+ [Events.RevealSourceLine]: RevealSourceLineEvent,
166
+ [Events.SavedURL]: SavedURLEvent,
167
+ [Events.SearchCompleted]: SearchCompletedEvent,
168
+ [Events.SetInspectedTabId]: string,
169
+ [Events.SetUseSoftMenu]: boolean,
170
+ [Events.ShowPanel]: string,
171
+ };
172
+
71
173
  export interface InspectorFrontendHostAPI {
72
174
  addFileSystem(type?: string): void;
73
175
 
@@ -707,9 +707,9 @@ export class CSSModel extends SDKModel<EventTypes> {
707
707
  }
708
708
 
709
709
  if (this.cssPropertyTracker) {
710
- this.cssPropertyTracker.dispatchEventToListeners(CSSPropertyTrackerEvents.TrackedCSSPropertiesUpdated, {
711
- domNodes: result.nodeIds.map(nodeId => this.domModelInternal.nodeForId(nodeId)),
712
- });
710
+ this.cssPropertyTracker.dispatchEventToListeners(
711
+ CSSPropertyTrackerEvents.TrackedCSSPropertiesUpdated,
712
+ result.nodeIds.map(nodeId => this.domModelInternal.nodeForId(nodeId)));
713
713
  }
714
714
  }
715
715
 
@@ -867,7 +867,7 @@ export class InlineStyleResult {
867
867
  }
868
868
  }
869
869
 
870
- export class CSSPropertyTracker extends Common.ObjectWrapper.ObjectWrapper {
870
+ export class CSSPropertyTracker extends Common.ObjectWrapper.ObjectWrapper<CSSPropertyTrackerEventTypes> {
871
871
  private readonly cssModel: CSSModel;
872
872
  private readonly properties: Protocol.CSS.CSSComputedStyleProperty[];
873
873
  constructor(cssModel: CSSModel, propertiesToTrack: Protocol.CSS.CSSComputedStyleProperty[]) {
@@ -897,6 +897,10 @@ export enum CSSPropertyTrackerEvents {
897
897
  TrackedCSSPropertiesUpdated = 'TrackedCSSPropertiesUpdated',
898
898
  }
899
899
 
900
+ export type CSSPropertyTrackerEventTypes = {
901
+ [CSSPropertyTrackerEvents.TrackedCSSPropertiesUpdated]: (DOMNode|null)[],
902
+ };
903
+
900
904
  SDKModel.register(CSSModel, {capabilities: Capability.DOM, autostart: true});
901
905
  export interface ContrastInfo {
902
906
  backgroundColors: string[]|null;
@@ -42,15 +42,15 @@ export class MainConnection implements ProtocolClient.InspectorBackend.Connectio
42
42
  }
43
43
  }
44
44
 
45
- private dispatchMessage(event: Common.EventTarget.EventTargetEvent): void {
45
+ private dispatchMessage(event: Common.EventTarget.EventTargetEvent<string>): void {
46
46
  if (this.onMessage) {
47
- this.onMessage.call(null, (event.data as string));
47
+ this.onMessage.call(null, event.data);
48
48
  }
49
49
  }
50
50
 
51
- private dispatchMessageChunk(event: Common.EventTarget.EventTargetEvent): void {
52
- const messageChunk = (event.data['messageChunk'] as string);
53
- const messageSize = (event.data['messageSize'] as number);
51
+ private dispatchMessageChunk(
52
+ event: Common.EventTarget.EventTargetEvent<Host.InspectorFrontendHostAPI.DispatchMessageChunkEvent>): void {
53
+ const {messageChunk, messageSize} = event.data;
54
54
  if (messageSize) {
55
55
  this.messageBuffer = '';
56
56
  this.messageSize = messageSize;
@@ -135,7 +135,10 @@ export class DebuggerModel extends SDKModel<EventTypes> {
135
135
  }>>)|null;
136
136
  private expandCallFramesCallback: ((arg0: Array<CallFrame>) => Promise<Array<CallFrame>>)|null;
137
137
  evaluateOnCallFrameCallback: ((arg0: CallFrame, arg1: EvaluationOptions) => Promise<EvaluationResult|null>)|null;
138
- private readonly breakpointResolvedEventTarget: Common.ObjectWrapper.ObjectWrapper;
138
+ // We need to be able to register listeners for individual breakpoints. As such, we dispatch
139
+ // on breakpoint ids, which are not statically known. The event payload will always be a `Location`.
140
+ private readonly breakpointResolvedEventTarget =
141
+ new Common.ObjectWrapper.ObjectWrapper<{[breakpointId: string]: Location}>();
139
142
  private autoStepOver: boolean;
140
143
  private isPausingInternal: boolean;
141
144
 
@@ -163,8 +166,6 @@ export class DebuggerModel extends SDKModel<EventTypes> {
163
166
  this.expandCallFramesCallback = null;
164
167
  this.evaluateOnCallFrameCallback = null;
165
168
 
166
- this.breakpointResolvedEventTarget = new Common.ObjectWrapper.ObjectWrapper();
167
-
168
169
  this.autoStepOver = false;
169
170
 
170
171
  this.isPausingInternal = false;
@@ -901,12 +902,14 @@ export class DebuggerModel extends SDKModel<EventTypes> {
901
902
  }
902
903
 
903
904
  addBreakpointListener(
904
- breakpointId: string, listener: (arg0: Common.EventTarget.EventTargetEvent) => void, thisObject?: Object): void {
905
+ breakpointId: string, listener: (arg0: Common.EventTarget.EventTargetEvent<Location>) => void,
906
+ thisObject?: Object): void {
905
907
  this.breakpointResolvedEventTarget.addEventListener(breakpointId, listener, thisObject);
906
908
  }
907
909
 
908
910
  removeBreakpointListener(
909
- breakpointId: string, listener: (arg0: Common.EventTarget.EventTargetEvent) => void, thisObject?: Object): void {
911
+ breakpointId: string, listener: (arg0: Common.EventTarget.EventTargetEvent<Location>) => void,
912
+ thisObject?: Object): void {
910
913
  this.breakpointResolvedEventTarget.removeEventListener(breakpointId, listener, thisObject);
911
914
  }
912
915
 
@@ -487,7 +487,7 @@ export interface QueryObjectRequestedEvent {
487
487
 
488
488
  export type EventTypes = {
489
489
  [Events.BindingCalled]: Protocol.Runtime.BindingCalledEvent,
490
- [Events.ExecutionContextCreated]: Protocol.Runtime.ExecutionContextDescription,
490
+ [Events.ExecutionContextCreated]: ExecutionContext,
491
491
  [Events.ExecutionContextDestroyed]: ExecutionContext,
492
492
  [Events.ExecutionContextChanged]: ExecutionContext,
493
493
  [Events.ExecutionContextOrderChanged]: RuntimeModel,
@@ -62,6 +62,7 @@ export interface SourceMap {
62
62
  TextUtils.ContentProvider.ContentProvider;
63
63
  embeddedContentByURL(sourceURL: string): string|null;
64
64
  findEntry(lineNumber: number, columnNumber: number): SourceMapEntry|null;
65
+ findReverseRanges(sourceURL: string, lineNumber: number, columnNumber: number): TextUtils.TextRange.TextRange[];
65
66
  sourceLineMapping(sourceURL: string, lineNumber: number, columnNumber: number): SourceMapEntry|null;
66
67
  mappings(): SourceMapEntry[];
67
68
  mapsOrigin(): boolean;
@@ -225,37 +226,71 @@ export class TextSourceMap implements SourceMap {
225
226
  }
226
227
 
227
228
  sourceLineMapping(sourceURL: string, lineNumber: number, columnNumber: number): SourceMapEntry|null {
228
- const mappings = this.reversedMappings(sourceURL);
229
- const first = Platform.ArrayUtilities.lowerBound(mappings, lineNumber, lineComparator);
230
- const last = Platform.ArrayUtilities.upperBound(mappings, lineNumber, lineComparator);
231
- if (first >= mappings.length || mappings[first].sourceLineNumber !== lineNumber) {
229
+ const mappings = this.mappings();
230
+ const reverseMappings = this.reversedMappings(sourceURL);
231
+ const first = Platform.ArrayUtilities.lowerBound(reverseMappings, lineNumber, lineComparator);
232
+ const last = Platform.ArrayUtilities.upperBound(reverseMappings, lineNumber, lineComparator);
233
+ if (first >= reverseMappings.length || mappings[reverseMappings[first]].sourceLineNumber !== lineNumber) {
232
234
  return null;
233
235
  }
234
- const columnMappings = mappings.slice(first, last);
236
+ const columnMappings = reverseMappings.slice(first, last);
235
237
  if (!columnMappings.length) {
236
238
  return null;
237
239
  }
238
240
  const index = Platform.ArrayUtilities.lowerBound(
239
- columnMappings, columnNumber, (columnNumber, mapping) => columnNumber - mapping.sourceColumnNumber);
240
- return index >= columnMappings.length ? columnMappings[columnMappings.length - 1] : columnMappings[index];
241
+ columnMappings, columnNumber, (columnNumber, i) => columnNumber - mappings[i].sourceColumnNumber);
242
+ return index >= columnMappings.length ? mappings[columnMappings[columnMappings.length - 1]] :
243
+ mappings[columnMappings[index]];
241
244
 
242
- function lineComparator(lineNumber: number, mapping: SourceMapEntry): number {
243
- return lineNumber - mapping.sourceLineNumber;
245
+ function lineComparator(lineNumber: number, i: number): number {
246
+ return lineNumber - mappings[i].sourceLineNumber;
244
247
  }
245
248
  }
246
249
 
247
- findReverseEntries(sourceURL: string, lineNumber: number, columnNumber: number): SourceMapEntry[] {
248
- const mappings = this.reversedMappings(sourceURL);
250
+ private findReverseIndices(sourceURL: string, lineNumber: number, columnNumber: number): number[] {
251
+ const mappings = this.mappings();
252
+ const reverseMappings = this.reversedMappings(sourceURL);
249
253
  const endIndex = Platform.ArrayUtilities.upperBound(
250
- mappings, undefined,
251
- (unused, entry) => lineNumber - entry.sourceLineNumber || columnNumber - entry.sourceColumnNumber);
254
+ reverseMappings, undefined,
255
+ (unused, i) => lineNumber - mappings[i].sourceLineNumber || columnNumber - mappings[i].sourceColumnNumber);
252
256
  let startIndex = endIndex;
253
- while (startIndex > 0 && mappings[startIndex - 1].sourceLineNumber === mappings[endIndex - 1].sourceLineNumber &&
254
- mappings[startIndex - 1].sourceColumnNumber === mappings[endIndex - 1].sourceColumnNumber) {
257
+ while (startIndex > 0 &&
258
+ mappings[reverseMappings[startIndex - 1]].sourceLineNumber ===
259
+ mappings[reverseMappings[endIndex - 1]].sourceLineNumber &&
260
+ mappings[reverseMappings[startIndex - 1]].sourceColumnNumber ===
261
+ mappings[reverseMappings[endIndex - 1]].sourceColumnNumber) {
255
262
  --startIndex;
256
263
  }
257
264
 
258
- return mappings.slice(startIndex, endIndex);
265
+ return reverseMappings.slice(startIndex, endIndex);
266
+ }
267
+
268
+ findReverseEntries(sourceURL: string, lineNumber: number, columnNumber: number): SourceMapEntry[] {
269
+ const mappings = this.mappings();
270
+ return this.findReverseIndices(sourceURL, lineNumber, columnNumber).map(i => mappings[i]);
271
+ }
272
+
273
+ findReverseRanges(sourceURL: string, lineNumber: number, columnNumber: number): TextUtils.TextRange.TextRange[] {
274
+ const mappings = this.mappings();
275
+ const indices = this.findReverseIndices(sourceURL, lineNumber, columnNumber);
276
+ const ranges: TextUtils.TextRange.TextRange[] = [];
277
+
278
+ for (let i = 0; i < indices.length; ++i) {
279
+ const startIndex = indices[i];
280
+
281
+ // Merge adjacent ranges.
282
+ let endIndex = startIndex + 1;
283
+ while (i + 1 < indices.length && endIndex === indices[i + 1]) {
284
+ ++endIndex;
285
+ ++i;
286
+ }
287
+ const endLine = endIndex < mappings.length ? mappings[endIndex].lineNumber : Infinity;
288
+ const endColumn = endIndex < mappings.length ? mappings[endIndex].columnNumber : 0;
289
+ ranges.push(new TextUtils.TextRange.TextRange(
290
+ mappings[startIndex].lineNumber, mappings[startIndex].columnNumber, endLine, endColumn));
291
+ }
292
+
293
+ return ranges;
259
294
  }
260
295
 
261
296
  mappings(): SourceMapEntry[] {
@@ -267,19 +302,22 @@ export class TextSourceMap implements SourceMap {
267
302
  return /** @type {!Array<!SourceMapEntry>} */ this.mappingsInternal as SourceMapEntry[];
268
303
  }
269
304
 
270
- private reversedMappings(sourceURL: string): SourceMapEntry[] {
305
+ private reversedMappings(sourceURL: string): number[] {
271
306
  const info = this.sourceInfos.get(sourceURL);
272
307
  if (!info) {
273
308
  return [];
274
309
  }
275
310
  const mappings = this.mappings();
276
311
  if (info.reverseMappings === null) {
277
- info.reverseMappings = mappings.filter(mapping => mapping.sourceURL === sourceURL).sort(sourceMappingComparator);
312
+ const indexes = Array(mappings.length).fill(0).map((_, i) => i);
313
+ info.reverseMappings = indexes.filter(i => mappings[i].sourceURL === sourceURL).sort(sourceMappingComparator);
278
314
  }
279
315
 
280
316
  return info.reverseMappings;
281
317
 
282
- function sourceMappingComparator(a: SourceMapEntry, b: SourceMapEntry): number {
318
+ function sourceMappingComparator(indexA: number, indexB: number): number {
319
+ const a = mappings[indexA];
320
+ const b = mappings[indexB];
283
321
  if (a.sourceLineNumber !== b.sourceLineNumber) {
284
322
  return a.sourceLineNumber - b.sourceLineNumber;
285
323
  }
@@ -415,25 +453,30 @@ export class TextSourceMap implements SourceMap {
415
453
  lineNumber: number,
416
454
  columnNumber: number,
417
455
  },
418
- mapping: SourceMapEntry): number {
419
- if (position.lineNumber !== mapping.sourceLineNumber) {
420
- return position.lineNumber - mapping.sourceLineNumber;
456
+ mappingIndex: number): number {
457
+ if (position.lineNumber !== mappings[mappingIndex].sourceLineNumber) {
458
+ return position.lineNumber - mappings[mappingIndex].sourceLineNumber;
421
459
  }
422
460
 
423
- return position.columnNumber - mapping.sourceColumnNumber;
461
+ return position.columnNumber - mappings[mappingIndex].sourceColumnNumber;
424
462
  }
425
463
 
426
- const mappings = this.reversedMappings(url);
427
- if (!mappings.length) {
464
+ const reverseMappings = this.reversedMappings(url);
465
+ const mappings = this.mappings();
466
+ if (!reverseMappings.length) {
428
467
  return null;
429
468
  }
430
469
  const startIndex = Platform.ArrayUtilities.lowerBound(
431
- mappings, {lineNumber: textRange.startLine, columnNumber: textRange.startColumn}, comparator);
470
+ reverseMappings, {lineNumber: textRange.startLine, columnNumber: textRange.startColumn}, comparator);
432
471
  const endIndex = Platform.ArrayUtilities.upperBound(
433
- mappings, {lineNumber: textRange.endLine, columnNumber: textRange.endColumn}, comparator);
472
+ reverseMappings, {lineNumber: textRange.endLine, columnNumber: textRange.endColumn}, comparator);
473
+
474
+ if (endIndex >= reverseMappings.length) {
475
+ return null;
476
+ }
434
477
 
435
- const startMapping = mappings[startIndex];
436
- const endMapping = mappings[endIndex];
478
+ const startMapping = mappings[reverseMappings[startIndex]];
479
+ const endMapping = mappings[reverseMappings[endIndex]];
437
480
  return new TextUtils.TextRange.TextRange(
438
481
  startMapping.lineNumber, startMapping.columnNumber, endMapping.lineNumber, endMapping.columnNumber);
439
482
  }
@@ -483,9 +526,9 @@ export namespace TextSourceMap {
483
526
 
484
527
  export class SourceInfo {
485
528
  content: string|null;
486
- reverseMappings: SourceMapEntry[]|null;
529
+ reverseMappings: number[]|null;
487
530
 
488
- constructor(content: string|null, reverseMappings: SourceMapEntry[]|null) {
531
+ constructor(content: string|null, reverseMappings: number[]|null) {
489
532
  this.content = content;
490
533
  this.reverseMappings = reverseMappings;
491
534
  }
@@ -17,7 +17,7 @@ let targetManagerInstance: TargetManager|undefined;
17
17
  export class TargetManager extends Common.ObjectWrapper.ObjectWrapper<EventTypes> {
18
18
  private targetsInternal: Set<Target>;
19
19
  private readonly observers: Set<Observer>;
20
- private modelListeners: Platform.MapUtilities.Multimap<string|symbol, {
20
+ private modelListeners: Platform.MapUtilities.Multimap<string|symbol|number, {
21
21
  modelClass: new(arg1: Target) => SDKModel,
22
22
  thisObject: (Object|undefined),
23
23
  listener: (arg0: Common.EventTarget.EventTargetEvent) => void,
@@ -124,18 +124,18 @@ export class TargetManager extends Common.ObjectWrapper.ObjectWrapper<EventTypes
124
124
  }
125
125
  }
126
126
 
127
- addModelListener(
128
- modelClass: new(arg1: Target) => SDKModel, eventType: string|symbol,
129
- listener: (arg0: Common.EventTarget.EventTargetEvent) => void, thisObject?: Object): void {
127
+ addModelListener<Events, T extends Common.EventTarget.EventType<Events>>(
128
+ modelClass: new(arg1: Target) => SDKModel<Events>, eventType: T,
129
+ listener: Common.EventTarget.EventListener<Events, T>, thisObject?: Object): void {
130
130
  for (const model of this.models(modelClass)) {
131
131
  model.addEventListener(eventType, listener, thisObject);
132
132
  }
133
133
  this.modelListeners.set(eventType, {modelClass: modelClass, thisObject: thisObject, listener: listener});
134
134
  }
135
135
 
136
- removeModelListener(
137
- modelClass: new(arg1: Target) => SDKModel, eventType: string|symbol,
138
- listener: (arg0: Common.EventTarget.EventTargetEvent) => void, thisObject?: Object): void {
136
+ removeModelListener<Events, T extends Common.EventTarget.EventType<Events>>(
137
+ modelClass: new(arg1: Target) => SDKModel<Events>, eventType: T,
138
+ listener: Common.EventTarget.EventListener<Events, T>, thisObject?: Object): void {
139
139
  if (!this.modelListeners.has(eventType)) {
140
140
  return;
141
141
  }
@@ -84,8 +84,7 @@ export class InspectorMainImpl implements Common.Runnable.Runnable {
84
84
  new MobileThrottling.NetworkPanelIndicator.NetworkPanelIndicator();
85
85
 
86
86
  Host.InspectorFrontendHost.InspectorFrontendHostInstance.events.addEventListener(
87
- Host.InspectorFrontendHostAPI.Events.ReloadInspectedPage, event => {
88
- const hard = (event.data as boolean);
87
+ Host.InspectorFrontendHostAPI.Events.ReloadInspectedPage, ({data: hard}) => {
89
88
  SDK.ResourceTreeModel.ResourceTreeModel.reloadAllPages(hard);
90
89
  });
91
90
  }
@@ -55,8 +55,9 @@ export class ExecutionContextSelector implements SDK.TargetManager.SDKModelObser
55
55
  }
56
56
  }
57
57
 
58
- private executionContextChanged(event: Common.EventTarget.EventTargetEvent): void {
59
- const newContext = (event.data as SDK.RuntimeModel.ExecutionContext | null);
58
+ private executionContextChanged({
59
+ data: newContext,
60
+ }: Common.EventTarget.EventTargetEvent<SDK.RuntimeModel.ExecutionContext|null>): void {
60
61
  if (newContext) {
61
62
  this.context.setFlavor(SDK.Target.Target, newContext.target());
62
63
  if (!this.ignoreContextChanged) {
@@ -69,8 +70,7 @@ export class ExecutionContextSelector implements SDK.TargetManager.SDKModelObser
69
70
  return executionContext.isDefault ? executionContext.target().name() + ':' + executionContext.frameId : '';
70
71
  }
71
72
 
72
- private targetChanged(event: Common.EventTarget.EventTargetEvent): void {
73
- const newTarget = (event.data as SDK.Target.Target | null);
73
+ private targetChanged({data: newTarget}: Common.EventTarget.EventTargetEvent<SDK.Target.Target|null>): void {
74
74
  const currentContext = this.context.flavor(SDK.RuntimeModel.ExecutionContext);
75
75
 
76
76
  if (!newTarget || (currentContext && currentContext.target() === newTarget)) {