devtools-tracing 1.1.1 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (527) hide show
  1. package/dist/index.d.ts +4 -0
  2. package/dist/index.js +28854 -0
  3. package/package.json +11 -8
  4. package/generate.ts +0 -649
  5. package/index.ts +0 -17
  6. package/lib/extension-api/ExtensionAPI.d.ts +0 -357
  7. package/lib/front_end/core/common/App.ts +0 -7
  8. package/lib/front_end/core/common/AppProvider.ts +0 -32
  9. package/lib/front_end/core/common/Base64.ts +0 -47
  10. package/lib/front_end/core/common/CharacterIdMap.ts +0 -30
  11. package/lib/front_end/core/common/Color.ts +0 -2506
  12. package/lib/front_end/core/common/ColorConverter.ts +0 -402
  13. package/lib/front_end/core/common/ColorUtils.ts +0 -252
  14. package/lib/front_end/core/common/Console.ts +0 -114
  15. package/lib/front_end/core/common/Debouncer.ts +0 -15
  16. package/lib/front_end/core/common/EventTarget.ts +0 -52
  17. package/lib/front_end/core/common/Gzip.ts +0 -74
  18. package/lib/front_end/core/common/JavaScriptMetaData.ts +0 -29
  19. package/lib/front_end/core/common/Lazy.ts +0 -31
  20. package/lib/front_end/core/common/Linkifier.ts +0 -55
  21. package/lib/front_end/core/common/MapWithDefault.ts +0 -26
  22. package/lib/front_end/core/common/Mutex.ts +0 -55
  23. package/lib/front_end/core/common/Object.ts +0 -145
  24. package/lib/front_end/core/common/ParsedURL.ts +0 -554
  25. package/lib/front_end/core/common/Progress.ts +0 -180
  26. package/lib/front_end/core/common/QueryParamHandler.ts +0 -7
  27. package/lib/front_end/core/common/ResolverBase.ts +0 -85
  28. package/lib/front_end/core/common/ResourceType.ts +0 -588
  29. package/lib/front_end/core/common/ReturnToPanel.ts +0 -17
  30. package/lib/front_end/core/common/Revealer.ts +0 -192
  31. package/lib/front_end/core/common/Runnable.ts +0 -41
  32. package/lib/front_end/core/common/SegmentedRange.ts +0 -87
  33. package/lib/front_end/core/common/SettingRegistration.ts +0 -339
  34. package/lib/front_end/core/common/Settings.ts +0 -1497
  35. package/lib/front_end/core/common/SimpleHistoryManager.ts +0 -124
  36. package/lib/front_end/core/common/StringOutputStream.ts +0 -26
  37. package/lib/front_end/core/common/TextDictionary.ts +0 -48
  38. package/lib/front_end/core/common/Throttler.ts +0 -99
  39. package/lib/front_end/core/common/Trie.ts +0 -152
  40. package/lib/front_end/core/common/Worker.ts +0 -60
  41. package/lib/front_end/core/common/common.ts +0 -81
  42. package/lib/front_end/core/host/AidaClient.ts +0 -733
  43. package/lib/front_end/core/host/GdpClient.ts +0 -316
  44. package/lib/front_end/core/host/InspectorFrontendHost.ts +0 -648
  45. package/lib/front_end/core/host/InspectorFrontendHostAPI.ts +0 -551
  46. package/lib/front_end/core/host/Platform.ts +0 -76
  47. package/lib/front_end/core/host/ResourceLoader.ts +0 -282
  48. package/lib/front_end/core/host/UserMetrics.ts +0 -1230
  49. package/lib/front_end/core/host/host.ts +0 -23
  50. package/lib/front_end/core/i18n/ByteUtilities.ts +0 -82
  51. package/lib/front_end/core/i18n/DevToolsLocale.ts +0 -87
  52. package/lib/front_end/core/i18n/NumberFormatter.ts +0 -82
  53. package/lib/front_end/core/i18n/i18n.ts +0 -17
  54. package/lib/front_end/core/i18n/i18nImpl.ts +0 -204
  55. package/lib/front_end/core/i18n/i18nTypes.ts +0 -10
  56. package/lib/front_end/core/i18n/locales.js +0 -14
  57. package/lib/front_end/core/i18n/time-utilities.ts +0 -174
  58. package/lib/front_end/core/platform/ArrayUtilities.ts +0 -271
  59. package/lib/front_end/core/platform/Brand.ts +0 -23
  60. package/lib/front_end/core/platform/Constructor.ts +0 -10
  61. package/lib/front_end/core/platform/DOMUtilities.ts +0 -138
  62. package/lib/front_end/core/platform/DateUtilities.ts +0 -15
  63. package/lib/front_end/core/platform/DevToolsPath.ts +0 -53
  64. package/lib/front_end/core/platform/KeyboardUtilities.ts +0 -38
  65. package/lib/front_end/core/platform/MapUtilities.ts +0 -95
  66. package/lib/front_end/core/platform/MimeType.ts +0 -175
  67. package/lib/front_end/core/platform/NumberUtilities.ts +0 -80
  68. package/lib/front_end/core/platform/StringUtilities.ts +0 -588
  69. package/lib/front_end/core/platform/Timing.ts +0 -17
  70. package/lib/front_end/core/platform/TypedArrayUtilities.ts +0 -189
  71. package/lib/front_end/core/platform/TypescriptUtilities.ts +0 -86
  72. package/lib/front_end/core/platform/UIString.ts +0 -39
  73. package/lib/front_end/core/platform/UserVisibleError.ts +0 -28
  74. package/lib/front_end/core/platform/platform.ts +0 -45
  75. package/lib/front_end/core/protocol_client/ConnectionTransport.ts +0 -26
  76. package/lib/front_end/core/protocol_client/InspectorBackend.ts +0 -1050
  77. package/lib/front_end/core/protocol_client/NodeURL.ts +0 -42
  78. package/lib/front_end/core/protocol_client/protocol_client.ts +0 -13
  79. package/lib/front_end/core/root/Runtime.ts +0 -609
  80. package/lib/front_end/core/root/root.ts +0 -6
  81. package/lib/front_end/core/sdk/AccessibilityModel.ts +0 -353
  82. package/lib/front_end/core/sdk/AnimationModel.ts +0 -1041
  83. package/lib/front_end/core/sdk/AutofillModel.ts +0 -184
  84. package/lib/front_end/core/sdk/CPUProfilerModel.ts +0 -148
  85. package/lib/front_end/core/sdk/CPUThrottlingManager.ts +0 -282
  86. package/lib/front_end/core/sdk/CSSContainerQuery.ts +0 -139
  87. package/lib/front_end/core/sdk/CSSFontFace.ts +0 -40
  88. package/lib/front_end/core/sdk/CSSLayer.ts +0 -30
  89. package/lib/front_end/core/sdk/CSSMatchedStyles.ts +0 -1646
  90. package/lib/front_end/core/sdk/CSSMedia.ts +0 -121
  91. package/lib/front_end/core/sdk/CSSMetadata.ts +0 -1647
  92. package/lib/front_end/core/sdk/CSSModel.ts +0 -1128
  93. package/lib/front_end/core/sdk/CSSProperty.ts +0 -384
  94. package/lib/front_end/core/sdk/CSSPropertyParser.ts +0 -681
  95. package/lib/front_end/core/sdk/CSSPropertyParserMatchers.ts +0 -1395
  96. package/lib/front_end/core/sdk/CSSQuery.ts +0 -72
  97. package/lib/front_end/core/sdk/CSSRule.ts +0 -465
  98. package/lib/front_end/core/sdk/CSSScope.ts +0 -30
  99. package/lib/front_end/core/sdk/CSSStartingStyle.ts +0 -29
  100. package/lib/front_end/core/sdk/CSSStyleDeclaration.ts +0 -313
  101. package/lib/front_end/core/sdk/CSSStyleSheetHeader.ts +0 -196
  102. package/lib/front_end/core/sdk/CSSSupports.ts +0 -33
  103. package/lib/front_end/core/sdk/CategorizedBreakpoint.ts +0 -64
  104. package/lib/front_end/core/sdk/ChildTargetManager.ts +0 -314
  105. package/lib/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +0 -62
  106. package/lib/front_end/core/sdk/Connections.ts +0 -293
  107. package/lib/front_end/core/sdk/ConsoleModel.ts +0 -808
  108. package/lib/front_end/core/sdk/ConsoleModelTypes.ts +0 -15
  109. package/lib/front_end/core/sdk/Cookie.ts +0 -319
  110. package/lib/front_end/core/sdk/CookieModel.ts +0 -239
  111. package/lib/front_end/core/sdk/CookieParser.ts +0 -185
  112. package/lib/front_end/core/sdk/DOMDebuggerModel.ts +0 -787
  113. package/lib/front_end/core/sdk/DOMModel.ts +0 -1961
  114. package/lib/front_end/core/sdk/DebuggerModel.ts +0 -1605
  115. package/lib/front_end/core/sdk/EmulationModel.ts +0 -648
  116. package/lib/front_end/core/sdk/EnhancedTracesParser.ts +0 -515
  117. package/lib/front_end/core/sdk/EventBreakpointsModel.ts +0 -183
  118. package/lib/front_end/core/sdk/FrameAssociated.ts +0 -11
  119. package/lib/front_end/core/sdk/FrameManager.ts +0 -259
  120. package/lib/front_end/core/sdk/HeapProfilerModel.ts +0 -225
  121. package/lib/front_end/core/sdk/HttpReasonPhraseStrings.ts +0 -77
  122. package/lib/front_end/core/sdk/IOModel.ts +0 -91
  123. package/lib/front_end/core/sdk/IsolateManager.ts +0 -257
  124. package/lib/front_end/core/sdk/IssuesModel.ts +0 -70
  125. package/lib/front_end/core/sdk/LayerTreeBase.ts +0 -169
  126. package/lib/front_end/core/sdk/LogModel.ts +0 -56
  127. package/lib/front_end/core/sdk/NetworkManager.ts +0 -2823
  128. package/lib/front_end/core/sdk/NetworkRequest.ts +0 -2253
  129. package/lib/front_end/core/sdk/OverlayColorGenerator.ts +0 -52
  130. package/lib/front_end/core/sdk/OverlayModel.ts +0 -1011
  131. package/lib/front_end/core/sdk/OverlayPersistentHighlighter.ts +0 -522
  132. package/lib/front_end/core/sdk/PageLoad.ts +0 -35
  133. package/lib/front_end/core/sdk/PageResourceLoader.ts +0 -435
  134. package/lib/front_end/core/sdk/PaintProfiler.ts +0 -110
  135. package/lib/front_end/core/sdk/PerformanceMetricsModel.ts +0 -84
  136. package/lib/front_end/core/sdk/PreloadingModel.ts +0 -863
  137. package/lib/front_end/core/sdk/RehydratingConnection.ts +0 -386
  138. package/lib/front_end/core/sdk/RehydratingObject.ts +0 -66
  139. package/lib/front_end/core/sdk/RemoteObject.ts +0 -1160
  140. package/lib/front_end/core/sdk/Resource.ts +0 -232
  141. package/lib/front_end/core/sdk/ResourceTreeModel.ts +0 -1160
  142. package/lib/front_end/core/sdk/RuntimeModel.ts +0 -732
  143. package/lib/front_end/core/sdk/SDKModel.ts +0 -65
  144. package/lib/front_end/core/sdk/ScopeTreeCache.ts +0 -45
  145. package/lib/front_end/core/sdk/ScreenCaptureModel.ts +0 -255
  146. package/lib/front_end/core/sdk/Script.ts +0 -534
  147. package/lib/front_end/core/sdk/SecurityOriginManager.ts +0 -76
  148. package/lib/front_end/core/sdk/ServerSentEvents.ts +0 -80
  149. package/lib/front_end/core/sdk/ServerSentEventsProtocol.ts +0 -122
  150. package/lib/front_end/core/sdk/ServerTiming.ts +0 -260
  151. package/lib/front_end/core/sdk/ServiceWorkerCacheModel.ts +0 -377
  152. package/lib/front_end/core/sdk/ServiceWorkerManager.ts +0 -605
  153. package/lib/front_end/core/sdk/SourceMap.ts +0 -867
  154. package/lib/front_end/core/sdk/SourceMapCache.ts +0 -54
  155. package/lib/front_end/core/sdk/SourceMapFunctionRanges.ts +0 -156
  156. package/lib/front_end/core/sdk/SourceMapManager.ts +0 -239
  157. package/lib/front_end/core/sdk/SourceMapScopeChainEntry.ts +0 -189
  158. package/lib/front_end/core/sdk/SourceMapScopesInfo.ts +0 -508
  159. package/lib/front_end/core/sdk/StorageBucketsModel.ts +0 -204
  160. package/lib/front_end/core/sdk/StorageKeyManager.ts +0 -98
  161. package/lib/front_end/core/sdk/Target.ts +0 -332
  162. package/lib/front_end/core/sdk/TargetManager.ts +0 -453
  163. package/lib/front_end/core/sdk/TraceObject.ts +0 -61
  164. package/lib/front_end/core/sdk/WebAuthnModel.ts +0 -104
  165. package/lib/front_end/core/sdk/sdk.ts +0 -174
  166. package/lib/front_end/entrypoints/formatter_worker/FormatterActions.ts +0 -59
  167. package/lib/front_end/generated/InspectorBackendCommands.js +0 -1617
  168. package/lib/front_end/generated/SupportedCSSProperties.js +0 -7512
  169. package/lib/front_end/generated/protocol-proxy-api.d.ts +0 -5022
  170. package/lib/front_end/generated/protocol.ts +0 -22014
  171. package/lib/front_end/models/bindings/CSSWorkspaceBinding.ts +0 -318
  172. package/lib/front_end/models/bindings/CompilerScriptMapping.ts +0 -536
  173. package/lib/front_end/models/bindings/ContentProviderBasedProject.ts +0 -187
  174. package/lib/front_end/models/bindings/DebuggerLanguagePlugins.ts +0 -1197
  175. package/lib/front_end/models/bindings/DebuggerWorkspaceBinding.ts +0 -733
  176. package/lib/front_end/models/bindings/DefaultScriptMapping.ts +0 -141
  177. package/lib/front_end/models/bindings/FileUtils.ts +0 -228
  178. package/lib/front_end/models/bindings/LiveLocation.ts +0 -81
  179. package/lib/front_end/models/bindings/NetworkProject.ts +0 -157
  180. package/lib/front_end/models/bindings/PresentationConsoleMessageHelper.ts +0 -312
  181. package/lib/front_end/models/bindings/ResourceMapping.ts +0 -539
  182. package/lib/front_end/models/bindings/ResourceScriptMapping.ts +0 -491
  183. package/lib/front_end/models/bindings/ResourceUtils.ts +0 -103
  184. package/lib/front_end/models/bindings/SASSSourceMapping.ts +0 -222
  185. package/lib/front_end/models/bindings/StylesSourceMapping.ts +0 -316
  186. package/lib/front_end/models/bindings/TempFile.ts +0 -67
  187. package/lib/front_end/models/bindings/bindings.ts +0 -39
  188. package/lib/front_end/models/cpu_profile/CPUProfileDataModel.ts +0 -571
  189. package/lib/front_end/models/cpu_profile/ProfileTreeModel.ts +0 -103
  190. package/lib/front_end/models/cpu_profile/cpu_profile.ts +0 -11
  191. package/lib/front_end/models/formatter/FormatterWorkerPool.ts +0 -219
  192. package/lib/front_end/models/formatter/ScriptFormatter.ts +0 -112
  193. package/lib/front_end/models/formatter/formatter.ts +0 -8
  194. package/lib/front_end/models/source_map_scopes/NamesResolver.ts +0 -765
  195. package/lib/front_end/models/source_map_scopes/ScopeChainModel.ts +0 -84
  196. package/lib/front_end/models/source_map_scopes/source_map_scopes.ts +0 -11
  197. package/lib/front_end/models/stack_trace/StackTrace.ts +0 -53
  198. package/lib/front_end/models/stack_trace/StackTraceImpl.ts +0 -85
  199. package/lib/front_end/models/stack_trace/StackTraceModel.ts +0 -128
  200. package/lib/front_end/models/stack_trace/Trie.ts +0 -163
  201. package/lib/front_end/models/stack_trace/stack_trace.ts +0 -9
  202. package/lib/front_end/models/stack_trace/stack_trace_impl.ts +0 -13
  203. package/lib/front_end/models/text_utils/CodeMirrorUtils.ts +0 -37
  204. package/lib/front_end/models/text_utils/ContentData.ts +0 -199
  205. package/lib/front_end/models/text_utils/ContentProvider.ts +0 -68
  206. package/lib/front_end/models/text_utils/StaticContentProvider.ts +0 -49
  207. package/lib/front_end/models/text_utils/StreamingContentData.ts +0 -108
  208. package/lib/front_end/models/text_utils/Text.ts +0 -90
  209. package/lib/front_end/models/text_utils/TextCursor.ts +0 -44
  210. package/lib/front_end/models/text_utils/TextRange.ts +0 -266
  211. package/lib/front_end/models/text_utils/TextUtils.ts +0 -401
  212. package/lib/front_end/models/text_utils/WasmDisassembly.ts +0 -87
  213. package/lib/front_end/models/text_utils/text_utils.ts +0 -27
  214. package/lib/front_end/models/trace/EntityMapper.ts +0 -141
  215. package/lib/front_end/models/trace/EventsSerializer.ts +0 -101
  216. package/lib/front_end/models/trace/LanternComputationData.ts +0 -438
  217. package/lib/front_end/models/trace/ModelImpl.ts +0 -236
  218. package/lib/front_end/models/trace/Name.ts +0 -136
  219. package/lib/front_end/models/trace/Processor.ts +0 -652
  220. package/lib/front_end/models/trace/Styles.ts +0 -1138
  221. package/lib/front_end/models/trace/extras/FilmStrip.ts +0 -78
  222. package/lib/front_end/models/trace/extras/MainThreadActivity.ts +0 -86
  223. package/lib/front_end/models/trace/extras/ScriptDuplication.ts +0 -236
  224. package/lib/front_end/models/trace/extras/StackTraceForEvent.ts +0 -203
  225. package/lib/front_end/models/trace/extras/ThirdParties.ts +0 -164
  226. package/lib/front_end/models/trace/extras/TraceFilter.ts +0 -62
  227. package/lib/front_end/models/trace/extras/TraceTree.ts +0 -701
  228. package/lib/front_end/models/trace/extras/extras.ts +0 -11
  229. package/lib/front_end/models/trace/handlers/AnimationFramesHandler.ts +0 -128
  230. package/lib/front_end/models/trace/handlers/AnimationHandler.ts +0 -36
  231. package/lib/front_end/models/trace/handlers/AsyncJSCallsHandler.ts +0 -239
  232. package/lib/front_end/models/trace/handlers/AuctionWorkletsHandler.ts +0 -183
  233. package/lib/front_end/models/trace/handlers/DOMStatsHandler.ts +0 -31
  234. package/lib/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts +0 -306
  235. package/lib/front_end/models/trace/handlers/FlowsHandler.ts +0 -175
  236. package/lib/front_end/models/trace/handlers/FramesHandler.ts +0 -571
  237. package/lib/front_end/models/trace/handlers/GPUHandler.ts +0 -50
  238. package/lib/front_end/models/trace/handlers/ImagePaintingHandler.ts +0 -183
  239. package/lib/front_end/models/trace/handlers/InitiatorsHandler.ts +0 -193
  240. package/lib/front_end/models/trace/handlers/InvalidationsHandler.ts +0 -168
  241. package/lib/front_end/models/trace/handlers/LargestImagePaintHandler.ts +0 -109
  242. package/lib/front_end/models/trace/handlers/LargestTextPaintHandler.ts +0 -35
  243. package/lib/front_end/models/trace/handlers/LayerTreeHandler.ts +0 -123
  244. package/lib/front_end/models/trace/handlers/LayoutShiftsHandler.ts +0 -573
  245. package/lib/front_end/models/trace/handlers/MemoryHandler.ts +0 -31
  246. package/lib/front_end/models/trace/handlers/MetaHandler.ts +0 -525
  247. package/lib/front_end/models/trace/handlers/ModelHandlers.ts +0 -34
  248. package/lib/front_end/models/trace/handlers/NetworkRequestsHandler.ts +0 -672
  249. package/lib/front_end/models/trace/handlers/PageFramesHandler.ts +0 -52
  250. package/lib/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +0 -460
  251. package/lib/front_end/models/trace/handlers/RendererHandler.ts +0 -428
  252. package/lib/front_end/models/trace/handlers/SamplesHandler.ts +0 -271
  253. package/lib/front_end/models/trace/handlers/ScreenshotsHandler.ts +0 -122
  254. package/lib/front_end/models/trace/handlers/ScriptsHandler.ts +0 -336
  255. package/lib/front_end/models/trace/handlers/SelectorStatsHandler.ts +0 -110
  256. package/lib/front_end/models/trace/handlers/Threads.ts +0 -139
  257. package/lib/front_end/models/trace/handlers/UserInteractionsHandler.ts +0 -400
  258. package/lib/front_end/models/trace/handlers/UserTimingsHandler.ts +0 -233
  259. package/lib/front_end/models/trace/handlers/WarningsHandler.ts +0 -162
  260. package/lib/front_end/models/trace/handlers/WorkersHandler.ts +0 -45
  261. package/lib/front_end/models/trace/handlers/handlers.ts +0 -8
  262. package/lib/front_end/models/trace/handlers/helpers.ts +0 -196
  263. package/lib/front_end/models/trace/handlers/types.ts +0 -75
  264. package/lib/front_end/models/trace/helpers/Extensions.ts +0 -54
  265. package/lib/front_end/models/trace/helpers/Network.ts +0 -129
  266. package/lib/front_end/models/trace/helpers/SamplesIntegrator.ts +0 -544
  267. package/lib/front_end/models/trace/helpers/SyntheticEvents.ts +0 -87
  268. package/lib/front_end/models/trace/helpers/Timing.ts +0 -248
  269. package/lib/front_end/models/trace/helpers/Trace.ts +0 -928
  270. package/lib/front_end/models/trace/helpers/TreeHelpers.ts +0 -320
  271. package/lib/front_end/models/trace/helpers/helpers.ts +0 -11
  272. package/lib/front_end/models/trace/insights/CLSCulprits.ts +0 -668
  273. package/lib/front_end/models/trace/insights/Cache.ts +0 -269
  274. package/lib/front_end/models/trace/insights/Common.ts +0 -453
  275. package/lib/front_end/models/trace/insights/DOMSize.ts +0 -223
  276. package/lib/front_end/models/trace/insights/DocumentLatency.ts +0 -319
  277. package/lib/front_end/models/trace/insights/DuplicatedJavaScript.ts +0 -126
  278. package/lib/front_end/models/trace/insights/FontDisplay.ts +0 -119
  279. package/lib/front_end/models/trace/insights/ForcedReflow.ts +0 -220
  280. package/lib/front_end/models/trace/insights/INPBreakdown.ts +0 -171
  281. package/lib/front_end/models/trace/insights/ImageDelivery.ts +0 -348
  282. package/lib/front_end/models/trace/insights/LCPBreakdown.ts +0 -268
  283. package/lib/front_end/models/trace/insights/LCPDiscovery.ts +0 -237
  284. package/lib/front_end/models/trace/insights/LegacyJavaScript.ts +0 -138
  285. package/lib/front_end/models/trace/insights/Models.ts +0 -22
  286. package/lib/front_end/models/trace/insights/ModernHTTP.ts +0 -257
  287. package/lib/front_end/models/trace/insights/NetworkDependencyTree.ts +0 -726
  288. package/lib/front_end/models/trace/insights/RenderBlocking.ts +0 -257
  289. package/lib/front_end/models/trace/insights/SlowCSSSelector.ts +0 -175
  290. package/lib/front_end/models/trace/insights/Statistics.ts +0 -101
  291. package/lib/front_end/models/trace/insights/ThirdParties.ts +0 -130
  292. package/lib/front_end/models/trace/insights/Viewport.ts +0 -138
  293. package/lib/front_end/models/trace/insights/insights.ts +0 -10
  294. package/lib/front_end/models/trace/insights/types.ts +0 -157
  295. package/lib/front_end/models/trace/lantern/core/LanternError.ts +0 -7
  296. package/lib/front_end/models/trace/lantern/core/NetworkAnalyzer.ts +0 -619
  297. package/lib/front_end/models/trace/lantern/core/core.ts +0 -6
  298. package/lib/front_end/models/trace/lantern/graph/BaseNode.ts +0 -345
  299. package/lib/front_end/models/trace/lantern/graph/CPUNode.ts +0 -80
  300. package/lib/front_end/models/trace/lantern/graph/NetworkNode.ts +0 -101
  301. package/lib/front_end/models/trace/lantern/graph/PageDependencyGraph.ts +0 -636
  302. package/lib/front_end/models/trace/lantern/graph/graph.ts +0 -8
  303. package/lib/front_end/models/trace/lantern/lantern.ts +0 -17
  304. package/lib/front_end/models/trace/lantern/metrics/FirstContentfulPaint.ts +0 -187
  305. package/lib/front_end/models/trace/lantern/metrics/Interactive.ts +0 -88
  306. package/lib/front_end/models/trace/lantern/metrics/LargestContentfulPaint.ts +0 -92
  307. package/lib/front_end/models/trace/lantern/metrics/MaxPotentialFID.ts +0 -72
  308. package/lib/front_end/models/trace/lantern/metrics/Metric.ts +0 -126
  309. package/lib/front_end/models/trace/lantern/metrics/SpeedIndex.ts +0 -126
  310. package/lib/front_end/models/trace/lantern/metrics/TBTUtils.ts +0 -82
  311. package/lib/front_end/models/trace/lantern/metrics/TotalBlockingTime.ts +0 -112
  312. package/lib/front_end/models/trace/lantern/metrics/metrics.ts +0 -12
  313. package/lib/front_end/models/trace/lantern/simulation/ConnectionPool.ts +0 -150
  314. package/lib/front_end/models/trace/lantern/simulation/Constants.ts +0 -46
  315. package/lib/front_end/models/trace/lantern/simulation/DNSCache.ts +0 -61
  316. package/lib/front_end/models/trace/lantern/simulation/SimulationTimingMap.ts +0 -196
  317. package/lib/front_end/models/trace/lantern/simulation/Simulator.ts +0 -556
  318. package/lib/front_end/models/trace/lantern/simulation/TCPConnection.ts +0 -192
  319. package/lib/front_end/models/trace/lantern/simulation/simulation.ts +0 -10
  320. package/lib/front_end/models/trace/lantern/types/Lantern.ts +0 -220
  321. package/lib/front_end/models/trace/lantern/types/types.ts +0 -5
  322. package/lib/front_end/models/trace/trace.ts +0 -33
  323. package/lib/front_end/models/trace/types/Configuration.ts +0 -110
  324. package/lib/front_end/models/trace/types/Extensions.ts +0 -136
  325. package/lib/front_end/models/trace/types/File.ts +0 -281
  326. package/lib/front_end/models/trace/types/Overlays.ts +0 -138
  327. package/lib/front_end/models/trace/types/Timing.ts +0 -30
  328. package/lib/front_end/models/trace/types/TraceEvents.ts +0 -3277
  329. package/lib/front_end/models/trace/types/types.ts +0 -10
  330. package/lib/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +0 -240
  331. package/lib/front_end/models/trace_source_maps_resolver/trace_source_maps_resolver.ts +0 -5
  332. package/lib/front_end/models/workspace/FileManager.ts +0 -97
  333. package/lib/front_end/models/workspace/IgnoreListManager.ts +0 -628
  334. package/lib/front_end/models/workspace/SearchConfig.ts +0 -149
  335. package/lib/front_end/models/workspace/UISourceCode.ts +0 -698
  336. package/lib/front_end/models/workspace/WorkspaceImpl.ts +0 -339
  337. package/lib/front_end/models/workspace/workspace.ts +0 -17
  338. package/lib/front_end/panels/timeline/TimelineUIUtils.ts +0 -1029
  339. package/lib/front_end/panels/timeline/extensions/ExtensionUI.ts +0 -49
  340. package/lib/front_end/panels/timeline/extensions/extensions.ts +0 -9
  341. package/lib/front_end/third_party/codemirror.next/LICENSE +0 -21
  342. package/lib/front_end/third_party/codemirror.next/README.chromium +0 -30
  343. package/lib/front_end/third_party/codemirror.next/bundle-tsconfig.json +0 -24
  344. package/lib/front_end/third_party/codemirror.next/bundle.ts +0 -135
  345. package/lib/front_end/third_party/codemirror.next/chunk/angular.js +0 -2
  346. package/lib/front_end/third_party/codemirror.next/chunk/angular.js.map +0 -1
  347. package/lib/front_end/third_party/codemirror.next/chunk/codemirror.js +0 -2
  348. package/lib/front_end/third_party/codemirror.next/chunk/codemirror.js.map +0 -1
  349. package/lib/front_end/third_party/codemirror.next/chunk/cpp.js +0 -2
  350. package/lib/front_end/third_party/codemirror.next/chunk/cpp.js.map +0 -1
  351. package/lib/front_end/third_party/codemirror.next/chunk/css.js +0 -2
  352. package/lib/front_end/third_party/codemirror.next/chunk/html.js +0 -4
  353. package/lib/front_end/third_party/codemirror.next/chunk/java.js +0 -2
  354. package/lib/front_end/third_party/codemirror.next/chunk/java.js.map +0 -1
  355. package/lib/front_end/third_party/codemirror.next/chunk/javascript.js +0 -2
  356. package/lib/front_end/third_party/codemirror.next/chunk/legacy.js +0 -2
  357. package/lib/front_end/third_party/codemirror.next/chunk/legacy.js.map +0 -1
  358. package/lib/front_end/third_party/codemirror.next/chunk/less.js +0 -2
  359. package/lib/front_end/third_party/codemirror.next/chunk/less.js.map +0 -1
  360. package/lib/front_end/third_party/codemirror.next/chunk/markdown.js +0 -2
  361. package/lib/front_end/third_party/codemirror.next/chunk/markdown.js.map +0 -1
  362. package/lib/front_end/third_party/codemirror.next/chunk/php.js +0 -2
  363. package/lib/front_end/third_party/codemirror.next/chunk/php.js.map +0 -1
  364. package/lib/front_end/third_party/codemirror.next/chunk/python.js +0 -2
  365. package/lib/front_end/third_party/codemirror.next/chunk/python.js.map +0 -1
  366. package/lib/front_end/third_party/codemirror.next/chunk/sass.js +0 -2
  367. package/lib/front_end/third_party/codemirror.next/chunk/sass.js.map +0 -1
  368. package/lib/front_end/third_party/codemirror.next/chunk/svelte.js +0 -2
  369. package/lib/front_end/third_party/codemirror.next/chunk/svelte.js.map +0 -1
  370. package/lib/front_end/third_party/codemirror.next/chunk/vue.js +0 -2
  371. package/lib/front_end/third_party/codemirror.next/chunk/vue.js.map +0 -1
  372. package/lib/front_end/third_party/codemirror.next/chunk/wast.js +0 -2
  373. package/lib/front_end/third_party/codemirror.next/chunk/wast.js.map +0 -1
  374. package/lib/front_end/third_party/codemirror.next/chunk/xml.js +0 -2
  375. package/lib/front_end/third_party/codemirror.next/chunk/xml.js.map +0 -1
  376. package/lib/front_end/third_party/codemirror.next/codemirror.next.d.ts +0 -8057
  377. package/lib/front_end/third_party/codemirror.next/codemirror.next.js +0 -2
  378. package/lib/front_end/third_party/codemirror.next/codemirror.next.js.map +0 -1
  379. package/lib/front_end/third_party/codemirror.next/package.json +0 -43
  380. package/lib/front_end/third_party/codemirror.next/rebuild.sh +0 -6
  381. package/lib/front_end/third_party/codemirror.next/rollup.config.mjs +0 -49
  382. package/lib/front_end/third_party/i18n/LICENSE +0 -202
  383. package/lib/front_end/third_party/i18n/README.chromium +0 -15
  384. package/lib/front_end/third_party/i18n/i18n-impl.ts +0 -61
  385. package/lib/front_end/third_party/i18n/i18n.ts +0 -11
  386. package/lib/front_end/third_party/i18n/localized-string-set.ts +0 -129
  387. package/lib/front_end/third_party/intl-messageformat/LICENSE +0 -33
  388. package/lib/front_end/third_party/intl-messageformat/README.chromium +0 -24
  389. package/lib/front_end/third_party/intl-messageformat/intl-messageformat-tsconfig.json +0 -16
  390. package/lib/front_end/third_party/intl-messageformat/intl-messageformat.ts +0 -6
  391. package/lib/front_end/third_party/intl-messageformat/package/LICENSE.md +0 -33
  392. package/lib/front_end/third_party/intl-messageformat/package/README.md +0 -3
  393. package/lib/front_end/third_party/intl-messageformat/package/index.d.ts +0 -6
  394. package/lib/front_end/third_party/intl-messageformat/package/index.d.ts.map +0 -1
  395. package/lib/front_end/third_party/intl-messageformat/package/index.js +0 -13
  396. package/lib/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.d.ts +0 -5
  397. package/lib/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.js +0 -1710
  398. package/lib/front_end/third_party/intl-messageformat/package/intl-messageformat.iife.js +0 -1815
  399. package/lib/front_end/third_party/intl-messageformat/package/lib/index.d.ts +0 -6
  400. package/lib/front_end/third_party/intl-messageformat/package/lib/index.d.ts.map +0 -1
  401. package/lib/front_end/third_party/intl-messageformat/package/lib/index.js +0 -10
  402. package/lib/front_end/third_party/intl-messageformat/package/lib/src/core.d.ts +0 -34
  403. package/lib/front_end/third_party/intl-messageformat/package/lib/src/core.d.ts.map +0 -1
  404. package/lib/front_end/third_party/intl-messageformat/package/lib/src/core.js +0 -229
  405. package/lib/front_end/third_party/intl-messageformat/package/lib/src/error.d.ts +0 -28
  406. package/lib/front_end/third_party/intl-messageformat/package/lib/src/error.d.ts.map +0 -1
  407. package/lib/front_end/third_party/intl-messageformat/package/lib/src/error.js +0 -48
  408. package/lib/front_end/third_party/intl-messageformat/package/lib/src/formatters.d.ts +0 -34
  409. package/lib/front_end/third_party/intl-messageformat/package/lib/src/formatters.d.ts.map +0 -1
  410. package/lib/front_end/third_party/intl-messageformat/package/lib/src/formatters.js +0 -179
  411. package/lib/front_end/third_party/intl-messageformat/package/package.json +0 -42
  412. package/lib/front_end/third_party/intl-messageformat/package/src/core.d.ts +0 -34
  413. package/lib/front_end/third_party/intl-messageformat/package/src/core.d.ts.map +0 -1
  414. package/lib/front_end/third_party/intl-messageformat/package/src/core.js +0 -230
  415. package/lib/front_end/third_party/intl-messageformat/package/src/error.d.ts +0 -28
  416. package/lib/front_end/third_party/intl-messageformat/package/src/error.d.ts.map +0 -1
  417. package/lib/front_end/third_party/intl-messageformat/package/src/error.js +0 -51
  418. package/lib/front_end/third_party/intl-messageformat/package/src/formatters.d.ts +0 -34
  419. package/lib/front_end/third_party/intl-messageformat/package/src/formatters.d.ts.map +0 -1
  420. package/lib/front_end/third_party/intl-messageformat/package/src/formatters.js +0 -182
  421. package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/error.d.ts +0 -79
  422. package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/index.d.ts +0 -15
  423. package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/parser.d.ts +0 -153
  424. package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/types.d.ts +0 -139
  425. package/lib/front_end/third_party/legacy-javascript/LICENSE +0 -202
  426. package/lib/front_end/third_party/legacy-javascript/README.chromium +0 -13
  427. package/lib/front_end/third_party/legacy-javascript/legacy-javascript-tsconfig.json +0 -8
  428. package/lib/front_end/third_party/legacy-javascript/legacy-javascript.ts +0 -3
  429. package/lib/front_end/third_party/legacy-javascript/lib/legacy-javascript.d.ts +0 -18
  430. package/lib/front_end/third_party/legacy-javascript/lib/legacy-javascript.js +0 -943
  431. package/lib/front_end/third_party/legacy-javascript/package.json +0 -8
  432. package/lib/front_end/third_party/legacy-javascript/rebuild.sh +0 -9
  433. package/lib/front_end/third_party/source-map-scopes-codec/LICENSE +0 -26
  434. package/lib/front_end/third_party/source-map-scopes-codec/README.chromium +0 -31
  435. package/lib/front_end/third_party/source-map-scopes-codec/package/CONTRIBUTING.md +0 -33
  436. package/lib/front_end/third_party/source-map-scopes-codec/package/LICENSE +0 -26
  437. package/lib/front_end/third_party/source-map-scopes-codec/package/README.md +0 -64
  438. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/builder.d.ts +0 -62
  439. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/builder.d.ts.map +0 -1
  440. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/safe_builder.d.ts +0 -37
  441. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/safe_builder.d.ts.map +0 -1
  442. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/decode/decode.d.ts +0 -29
  443. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/decode/decode.d.ts.map +0 -1
  444. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/encode/encode.d.ts +0 -8
  445. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/encode/encode.d.ts.map +0 -1
  446. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/mod.d.ts +0 -6
  447. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/mod.d.ts.map +0 -1
  448. package/lib/front_end/third_party/source-map-scopes-codec/package/deno.json +0 -21
  449. package/lib/front_end/third_party/source-map-scopes-codec/package/package.json +0 -14
  450. package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js +0 -196
  451. package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js.map +0 -1
  452. package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.ts +0 -262
  453. package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js +0 -235
  454. package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js.map +0 -1
  455. package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.ts +0 -359
  456. package/lib/front_end/third_party/source-map-scopes-codec/package/src/codec.js +0 -39
  457. package/lib/front_end/third_party/source-map-scopes-codec/package/src/codec.js.map +0 -1
  458. package/lib/front_end/third_party/source-map-scopes-codec/package/src/codec.ts +0 -53
  459. package/lib/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js +0 -438
  460. package/lib/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js.map +0 -1
  461. package/lib/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.ts +0 -539
  462. package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js +0 -23
  463. package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js.map +0 -1
  464. package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.ts +0 -35
  465. package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js +0 -257
  466. package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js.map +0 -1
  467. package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.ts +0 -348
  468. package/lib/front_end/third_party/source-map-scopes-codec/package/src/mod.js +0 -8
  469. package/lib/front_end/third_party/source-map-scopes-codec/package/src/mod.js.map +0 -1
  470. package/lib/front_end/third_party/source-map-scopes-codec/package/src/mod.ts +0 -20
  471. package/lib/front_end/third_party/source-map-scopes-codec/package/src/scopes-tsconfig.json +0 -8
  472. package/lib/front_end/third_party/source-map-scopes-codec/package/src/scopes.d.ts +0 -184
  473. package/lib/front_end/third_party/source-map-scopes-codec/package/src/util.js +0 -9
  474. package/lib/front_end/third_party/source-map-scopes-codec/package/src/util.js.map +0 -1
  475. package/lib/front_end/third_party/source-map-scopes-codec/package/src/util.ts +0 -12
  476. package/lib/front_end/third_party/source-map-scopes-codec/package/src/vlq.js +0 -82
  477. package/lib/front_end/third_party/source-map-scopes-codec/package/src/vlq.js.map +0 -1
  478. package/lib/front_end/third_party/source-map-scopes-codec/package/src/vlq.ts +0 -99
  479. package/lib/front_end/third_party/source-map-scopes-codec/source-map-scopes-codec.ts +0 -5
  480. package/lib/front_end/third_party/third-party-web/LICENSE +0 -20
  481. package/lib/front_end/third_party/third-party-web/README.chromium +0 -13
  482. package/lib/front_end/third_party/third-party-web/lib/nostats-subset.d.ts +0 -2
  483. package/lib/front_end/third_party/third-party-web/lib/nostats-subset.js +0 -149
  484. package/lib/front_end/third_party/third-party-web/package/LICENSE +0 -20
  485. package/lib/front_end/third_party/third-party-web/package/README.md +0 -929
  486. package/lib/front_end/third_party/third-party-web/package/dist/entities-httparchive-nostats.json +0 -1
  487. package/lib/front_end/third_party/third-party-web/package/dist/entities-httparchive.json +0 -1
  488. package/lib/front_end/third_party/third-party-web/package/dist/entities-nostats.json +0 -1
  489. package/lib/front_end/third_party/third-party-web/package/dist/entities.json +0 -1
  490. package/lib/front_end/third_party/third-party-web/package/facades.md +0 -46
  491. package/lib/front_end/third_party/third-party-web/package/httparchive-nostats-subset.d.ts +0 -1
  492. package/lib/front_end/third_party/third-party-web/package/httparchive-nostats-subset.js +0 -1
  493. package/lib/front_end/third_party/third-party-web/package/httparchive-subset.d.ts +0 -1
  494. package/lib/front_end/third_party/third-party-web/package/httparchive-subset.js +0 -1
  495. package/lib/front_end/third_party/third-party-web/package/lib/__snapshots__/index.test.js.snap +0 -1006
  496. package/lib/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.js +0 -139
  497. package/lib/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.test.js +0 -44
  498. package/lib/front_end/third_party/third-party-web/package/lib/entities.test.js +0 -27
  499. package/lib/front_end/third_party/third-party-web/package/lib/index.d.ts +0 -34
  500. package/lib/front_end/third_party/third-party-web/package/lib/index.js +0 -3
  501. package/lib/front_end/third_party/third-party-web/package/lib/index.test.js +0 -246
  502. package/lib/front_end/third_party/third-party-web/package/lib/markdown/faqs.partial.md +0 -36
  503. package/lib/front_end/third_party/third-party-web/package/lib/markdown/goals.partial.md +0 -9
  504. package/lib/front_end/third_party/third-party-web/package/lib/markdown/methodology.partial.md +0 -5
  505. package/lib/front_end/third_party/third-party-web/package/lib/markdown/template.md +0 -151
  506. package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-02-01.md +0 -1
  507. package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-03-01.md +0 -1
  508. package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-05-06.md +0 -1
  509. package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-05-13.md +0 -14
  510. package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2021-01-01.md +0 -1
  511. package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2024-07-01.md +0 -3
  512. package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.d.ts +0 -1
  513. package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.js +0 -3
  514. package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive.d.ts +0 -1
  515. package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive.js +0 -3
  516. package/lib/front_end/third_party/third-party-web/package/lib/subsets/nostats.d.ts +0 -1
  517. package/lib/front_end/third_party/third-party-web/package/lib/subsets/nostats.js +0 -3
  518. package/lib/front_end/third_party/third-party-web/package/nostats-subset.d.ts +0 -1
  519. package/lib/front_end/third_party/third-party-web/package/nostats-subset.js +0 -1
  520. package/lib/front_end/third_party/third-party-web/package/package.json +0 -46
  521. package/lib/front_end/third_party/third-party-web/package.json +0 -8
  522. package/lib/front_end/third_party/third-party-web/rebuild.sh +0 -13
  523. package/lib/front_end/third_party/third-party-web/third-party-web-tsconfig.json +0 -8
  524. package/lib/front_end/third_party/third-party-web/third-party-web.ts +0 -3
  525. package/lib/front_end/ui/legacy/theme_support/ThemeSupport.ts +0 -222
  526. package/lib/front_end/ui/legacy/theme_support/theme_support.ts +0 -5
  527. package/patches/chrome-devtools-frontend+1.0.1533544.patch +0 -1716
@@ -1,515 +0,0 @@
1
- // Copyright 2024 The Chromium Authors
2
- // Use of this source code is governed by a BSD-style license that can be
3
- // found in the LICENSE file.
4
-
5
- import type * as Protocol from '../../generated/protocol.js';
6
- import * as Common from '../common/common.js';
7
- import type * as Platform from '../platform/platform.js';
8
- import {UserVisibleError} from '../platform/platform.js';
9
-
10
- import type {
11
- HydratingDataPerTarget, RehydratingExecutionContext, RehydratingScript, RehydratingTarget} from
12
- './RehydratingObject.js';
13
- import type {SourceMapV3} from './SourceMap.js';
14
- import type {TraceObject} from './TraceObject.js';
15
-
16
- interface EventBase {
17
- cat: string;
18
- pid: number;
19
- args: {data: object};
20
- name: string;
21
- }
22
-
23
- /**
24
- * While called 'TargetRundown', this event is emitted for each script that is compiled or evaluated.
25
- * Within EnhancedTraceParser, this event is used to construct targets and execution contexts (and to associate scripts to frames).
26
- *
27
- * See `inspector_target_rundown_event::Data` https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/inspector/inspector_trace_events.cc;l=1189-1232;drc=48d6f7175422b2c969c14258f9f8d5b196c28d18
28
- */
29
- export interface RundownScriptCompiled extends EventBase {
30
- cat: 'disabled-by-default-devtools.target-rundown';
31
- name: 'ScriptCompiled'|'ModuleEvaluated';
32
- args: {
33
- data: {
34
- frame: Protocol.Page.FrameId,
35
- frameType: 'page'|'iframe',
36
- url: string,
37
- /**
38
- * Older traces were a number, but this is an unsigned 64 bit value, so that was a bug.
39
- * New traces use string instead. See https://crbug.com/447654178.
40
- */
41
- isolate: string|number,
42
- /** AKA V8ContextToken. https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/inspector/inspector_trace_events.cc;l=1229;drc=3c88f61e18b043e70c225d8d57c77832a85e7f58 */
43
- v8context: string,
44
- origin: string,
45
- scriptId: number,
46
- /** script->World().isMainWorld() */
47
- isDefault?: boolean,
48
- contextType?: 'default'|'isolated'|'worker',
49
- },
50
- };
51
- }
52
- /**
53
- * When profiling starts, all currently loaded scripts are emitted via this event.
54
- *
55
- * See `Script::TraceScriptRundown()` https://source.chromium.org/chromium/chromium/src/+/main:v8/src/objects/script.cc;l=184-220;drc=328f6c467b940f322544567740c9c871064d045c
56
- */
57
- export interface RundownScript extends EventBase {
58
- cat: 'disabled-by-default-devtools.v8-source-rundown';
59
- name: 'ScriptCatchup';
60
- args: {
61
- data: {
62
- /**
63
- * Older traces were a number, but this is an unsigned 64 bit value, so that was a bug.
64
- * New traces use string instead. See https://crbug.com/447654178.
65
- */
66
- isolate: string|number,
67
- executionContextId: Protocol.Runtime.ExecutionContextId,
68
- scriptId: number,
69
- isModule: boolean,
70
- /** aka HasSourceURLComment */
71
- hasSourceUrl: boolean,
72
- // These don't actually get set in v8.
73
- url?: string,
74
- hash?: string,
75
- /** value of the sourceURL comment. */
76
- sourceUrl?: string,
77
- /* value of the sourceMappingURL comment */
78
- sourceMapUrl?: string,
79
- /** If true, the source map url was a data URL, so the `sourceMapUrl` was removed. */
80
- sourceMapUrlElided?: boolean,
81
- startLine?: number,
82
- startColumn?: number,
83
- endLine?: number,
84
- endColumn?: number,
85
- },
86
- };
87
- }
88
-
89
- export interface RundownScriptSource extends EventBase {
90
- cat: 'disabled-by-default-devtools.v8-source-rundown-sources';
91
- name: 'ScriptCatchup'|'LargeScriptCatchup'|'TooLargeScriptCatchup';
92
- args: {
93
- data: {
94
- isolate: number,
95
- scriptId: number,
96
- length?: number,
97
- sourceText?: string,
98
- },
99
- };
100
- }
101
-
102
- interface TracingStartedInBrowser extends EventBase {
103
- cat: 'disabled-by-default-devtools.timeline';
104
- args: {
105
- data: {
106
- frames: [{
107
- frame: Protocol.Page.FrameId,
108
- isInPrimaryMainFrame: boolean,
109
- isOutermostMainFrame: boolean,
110
- parent: Protocol.Page.FrameId,
111
- processId: number,
112
- url: string,
113
- pid: number,
114
- }],
115
- },
116
- };
117
- }
118
-
119
- interface FunctionCall extends EventBase {
120
- cat: 'devtools.timeline';
121
- args: {
122
- data: {
123
- frame: Protocol.Page.FrameId,
124
- scriptId: Protocol.Runtime.ScriptId,
125
- /**
126
- * Older traces were a number, but this is an unsigned 64 bit value, so that was a bug.
127
- * New traces use string instead. See https://crbug.com/447654178.
128
- */
129
- isolate?: string|number,
130
- },
131
- };
132
- }
133
-
134
- export class EnhancedTracesParser {
135
- #trace: TraceObject;
136
- #scriptRundownEvents: RundownScript[] = [];
137
- #scriptToV8Context: Map<string, string> = new Map<string, string>();
138
- #scriptToFrame: Map<string, Protocol.Page.FrameId> = new Map<string, Protocol.Page.FrameId>();
139
- #scriptToScriptSource: Map<string, string> = new Map<string, string>();
140
- #largeScriptToScriptSource: Map<string, string[]> = new Map<string, string[]>();
141
- #scriptToSourceLength: Map<string, number> = new Map<string, number>();
142
- #targets: RehydratingTarget[] = [];
143
- #executionContexts: RehydratingExecutionContext[] = [];
144
- #scripts: RehydratingScript[] = [];
145
- static readonly enhancedTraceVersion: number = 1;
146
-
147
- constructor(trace: TraceObject) {
148
- this.#trace = trace;
149
-
150
- // Initialize with the trace provided.
151
- try {
152
- this.parseEnhancedTrace();
153
- } catch (e) {
154
- throw new UserVisibleError.UserVisibleError(e);
155
- }
156
- }
157
-
158
- parseEnhancedTrace(): void {
159
- for (const event of this.#trace.traceEvents) {
160
- if (this.isTracingStartedInBrowser(event)) {
161
- // constructs all targets by devtools.timeline TracingStartedInBrowser
162
- const data = event.args?.data;
163
- for (const frame of data.frames) {
164
- if (frame.url === 'about:blank') {
165
- continue;
166
- }
167
- const frameId = frame.frame as string as Protocol.Target.TargetID;
168
- if (!this.#targets.find(target => target.targetId === frameId)) {
169
- const frameType = frame.isOutermostMainFrame ? 'page' : 'iframe';
170
- this.#targets.push({
171
- targetId: frameId,
172
- type: frameType,
173
- pid: frame.processId,
174
- url: frame.url,
175
- });
176
- }
177
- }
178
- } else if (this.isFunctionCallEvent(event)) {
179
- // constructs all script to frame mapping with devtools.timeline FunctionCall
180
- const data = event.args?.data;
181
- if (data.isolate) {
182
- this.#scriptToFrame.set(this.getScriptIsolateId(data.isolate, data.scriptId), data.frame);
183
- }
184
- } else if (this.isRundownScriptCompiled(event)) {
185
- // Set up script to v8 context mapping
186
- const data = event.args?.data;
187
- this.#scriptToV8Context.set(this.getScriptIsolateId(data.isolate, data.scriptId), data.v8context);
188
- this.#scriptToFrame.set(this.getScriptIsolateId(data.isolate, data.scriptId), data.frame);
189
- // All the targets should've been added by the TracingStartedInBrowser event, but just in case we're missing some there
190
- const frameId = data.frame as string as Protocol.Target.TargetID;
191
- if (!this.#targets.find(target => target.targetId === frameId)) {
192
- this.#targets.push({
193
- targetId: frameId,
194
- type: data.frameType,
195
- isolate: String(data.isolate),
196
- pid: event.pid,
197
- url: data.url,
198
- });
199
- }
200
- // Add execution context, need to put back execution context id with info from other traces
201
- if (!this.#executionContexts.find(executionContext => executionContext.v8Context === data.v8context)) {
202
- this.#executionContexts.push({
203
- id: -1 as Protocol.Runtime.ExecutionContextId,
204
- origin: data.origin,
205
- v8Context: data.v8context,
206
- auxData: {
207
- frameId: data.frame,
208
- isDefault: data.isDefault,
209
- type: data.contextType,
210
- },
211
- isolate: String(data.isolate),
212
- name: data.origin,
213
- uniqueId: `${data.v8context}-${data.isolate}`,
214
- });
215
- }
216
- } else if (this.isRundownScript(event)) {
217
- this.#scriptRundownEvents.push(event);
218
- const data = event.args.data;
219
- // Add script
220
- if (!this.#scripts.find(
221
- script => script.scriptId === String(data.scriptId) && script.isolate === String(data.isolate))) {
222
- this.#scripts.push({
223
- scriptId: String(data.scriptId) as Protocol.Runtime.ScriptId,
224
- isolate: String(data.isolate),
225
- buildId: '',
226
- executionContextId: data.executionContextId,
227
- startLine: data.startLine ?? 0,
228
- startColumn: data.startColumn ?? 0,
229
- endLine: data.endLine ?? 0,
230
- endColumn: data.endColumn ?? 0,
231
- hash: data.hash ?? '',
232
- isModule: data.isModule,
233
- url: data.url ?? '',
234
- hasSourceURL: data.hasSourceUrl,
235
- sourceURL: data.sourceUrl ?? '',
236
- sourceMapURL: data.sourceMapUrl,
237
- pid: event.pid,
238
- });
239
- }
240
- } else if (this.isRundownScriptSource(event)) {
241
- // Set up script to source text and length mapping
242
- const data = event.args.data;
243
- const scriptIsolateId = this.getScriptIsolateId(data.isolate, data.scriptId);
244
- if ('splitIndex' in data && 'splitCount' in data) {
245
- if (!this.#largeScriptToScriptSource.has(scriptIsolateId)) {
246
- this.#largeScriptToScriptSource.set(scriptIsolateId, new Array(data.splitCount).fill('') as string[]);
247
- }
248
- const splittedSource = this.#largeScriptToScriptSource.get(scriptIsolateId);
249
- if (splittedSource && data.sourceText) {
250
- splittedSource[data.splitIndex as number] = data.sourceText;
251
- }
252
- } else {
253
- if (data.sourceText) {
254
- this.#scriptToScriptSource.set(scriptIsolateId, data.sourceText);
255
- }
256
- if (data.length) {
257
- this.#scriptToSourceLength.set(scriptIsolateId, data.length);
258
- }
259
- }
260
- }
261
- }
262
- }
263
-
264
- data(): HydratingDataPerTarget[] {
265
- // Put back execution context id
266
- const v8ContextToExecutionContextId: Map<string, Protocol.Runtime.ExecutionContextId> =
267
- new Map<string, Protocol.Runtime.ExecutionContextId>();
268
- this.#scriptRundownEvents.forEach(scriptRundownEvent => {
269
- const data = scriptRundownEvent.args.data;
270
- const v8Context = this.#scriptToV8Context.get(this.getScriptIsolateId(data.isolate, data.scriptId));
271
- if (v8Context) {
272
- v8ContextToExecutionContextId.set(v8Context, data.executionContextId);
273
- }
274
- });
275
- this.#executionContexts.forEach(executionContext => {
276
- if (executionContext.v8Context) {
277
- const id = v8ContextToExecutionContextId.get(executionContext.v8Context);
278
- if (id) {
279
- executionContext.id = id;
280
- }
281
- }
282
- });
283
-
284
- // Put back script source text and length
285
- this.#scripts.forEach(script => {
286
- const scriptIsolateId = this.getScriptIsolateId(script.isolate, script.scriptId);
287
- if (this.#scriptToScriptSource.has(scriptIsolateId)) {
288
- script.sourceText = this.#scriptToScriptSource.get(scriptIsolateId);
289
- script.length = this.#scriptToSourceLength.get(scriptIsolateId);
290
- } else if (this.#largeScriptToScriptSource.has(scriptIsolateId)) {
291
- const splittedSources = this.#largeScriptToScriptSource.get(scriptIsolateId);
292
- if (splittedSources) {
293
- script.sourceText = splittedSources.join('');
294
- script.length = script.sourceText.length;
295
- }
296
- }
297
- // put in the aux data
298
- const linkedExecutionContext = this.#executionContexts.find(
299
- context => context.id === script.executionContextId && context.isolate === script.isolate);
300
- if (linkedExecutionContext) {
301
- script.executionContextAuxData = linkedExecutionContext.auxData;
302
- // If a script successfully mapped to an execution context and aux data, link script to frame
303
- if (script.executionContextAuxData?.frameId) {
304
- this.#scriptToFrame.set(scriptIsolateId, script.executionContextAuxData?.frameId);
305
- }
306
- }
307
- });
308
-
309
- for (const script of this.#scripts) {
310
- // Resolve the source map from the provided metadata.
311
- // If no map is found for a given source map url, no source map is passed to the debugger model.
312
- // Encoded as a data url so that the debugger model makes no network request.
313
- // NOTE: consider passing directly as object and hacking `parsedScriptSource` in DebuggerModel.ts to handle
314
- // this fake event. Would avoid a lot of wasteful (de)serialization. Maybe add SDK.Script.hydratedSourceMap.
315
- this.resolveSourceMap(script);
316
- }
317
-
318
- return this.groupContextsAndScriptsUnderTarget(this.#targets, this.#executionContexts, this.#scripts);
319
- }
320
-
321
- private resolveSourceMap(script: RehydratingScript): void {
322
- if (script.sourceMapURL?.startsWith('data:')) {
323
- return;
324
- }
325
-
326
- const sourceMap = this.getSourceMapFromMetadata(script);
327
- if (!sourceMap) {
328
- return;
329
- }
330
-
331
- // Note: this encoding + re-parsing overhead cost ~10ms per 1MB of JSON on my
332
- // Mac M1 Pro.
333
- // See https://crrev.com/c/6490409/comments/f294c12a_69781e24
334
- const payload = encodeURIComponent(JSON.stringify(sourceMap));
335
- script.sourceMapURL = `data:application/json;charset=utf-8,${payload}`;
336
- }
337
-
338
- private getSourceMapFromMetadata(script: RehydratingScript): SourceMapV3|undefined {
339
- const {hasSourceURL, sourceURL, url, sourceMapURL, isolate, scriptId} = script;
340
-
341
- if (!sourceMapURL || !this.#trace.metadata.sourceMaps) {
342
- return;
343
- }
344
-
345
- const frame =
346
- this.#scriptToFrame.get(this.getScriptIsolateId(isolate, scriptId)) as string as Protocol.Target.TargetID;
347
- if (!frame) {
348
- return;
349
- }
350
-
351
- const target = this.#targets.find(t => t.targetId === frame);
352
- if (!target) {
353
- return;
354
- }
355
-
356
- let resolvedSourceUrl = url;
357
- if (hasSourceURL && sourceURL) {
358
- const targetUrl = target.url as Platform.DevToolsPath.UrlString;
359
- resolvedSourceUrl = Common.ParsedURL.ParsedURL.completeURL(targetUrl, sourceURL) ?? sourceURL;
360
- }
361
-
362
- // Resolve the source map url. The value given by v8 may be relative, so resolve it here.
363
- // This process should match the one in `SourceMapManager.attachSourceMap`.
364
- const resolvedSourceMapUrl =
365
- Common.ParsedURL.ParsedURL.completeURL(resolvedSourceUrl as Platform.DevToolsPath.UrlString, sourceMapURL);
366
- if (!resolvedSourceMapUrl) {
367
- return;
368
- }
369
-
370
- const {sourceMap} = this.#trace.metadata.sourceMaps.find(m => m.sourceMapUrl === resolvedSourceMapUrl) ?? {};
371
- return sourceMap;
372
- }
373
-
374
- private getScriptIsolateId(isolate: number|string, scriptId: Protocol.Runtime.ScriptId|number): string {
375
- return `${scriptId}@${isolate}`;
376
- }
377
-
378
- private getExecutionContextIsolateId(isolate: number|string, executionContextId: Protocol.Runtime.ExecutionContextId):
379
- string {
380
- return `${executionContextId}@${isolate}`;
381
- }
382
-
383
- private isTraceEvent(event: unknown): event is EventBase {
384
- return 'cat' in (event as EventBase) && 'pid' in (event as EventBase) && 'args' in (event as EventBase) &&
385
- 'data' in (event as EventBase).args;
386
- }
387
-
388
- private isRundownScriptCompiled(event: unknown): event is RundownScriptCompiled {
389
- return this.isTraceEvent(event) && event.cat === 'disabled-by-default-devtools.target-rundown';
390
- }
391
-
392
- private isRundownScript(event: unknown): event is RundownScript {
393
- return this.isTraceEvent(event) && event.cat === 'disabled-by-default-devtools.v8-source-rundown';
394
- }
395
-
396
- private isRundownScriptSource(event: unknown): event is RundownScriptSource {
397
- return this.isTraceEvent(event) && event.cat === 'disabled-by-default-devtools.v8-source-rundown-sources';
398
- }
399
-
400
- private isTracingStartedInBrowser(event: unknown): event is TracingStartedInBrowser {
401
- return this.isTraceEvent(event) && event.cat === 'disabled-by-default-devtools.timeline' &&
402
- event.name === 'TracingStartedInBrowser';
403
- }
404
-
405
- private isFunctionCallEvent(event: unknown): event is FunctionCall {
406
- return this.isTraceEvent(event) && event.cat === 'devtools.timeline' && event.name === 'FunctionCall';
407
- }
408
-
409
- private groupContextsAndScriptsUnderTarget(
410
- targets: RehydratingTarget[], executionContexts: RehydratingExecutionContext[],
411
- scripts: RehydratingScript[]): HydratingDataPerTarget[] {
412
- const data: HydratingDataPerTarget[] = [];
413
- const targetIds = new Set<Protocol.Target.TargetID>();
414
- const targetToExecutionContexts: Map<string, RehydratingExecutionContext[]> =
415
- new Map<Protocol.Target.TargetID, RehydratingExecutionContext[]>();
416
- // We want to keep track of how each execution context is linked to targets so we may use this
417
- // information to link scripts with no target to a target
418
- const executionContextIsolateToTarget: Map<string, Protocol.Target.TargetID> =
419
- new Map<string, Protocol.Target.TargetID>();
420
- const targetToScripts: Map<Protocol.Target.TargetID, RehydratingScript[]> =
421
- new Map<Protocol.Target.TargetID, RehydratingScript[]>();
422
- const orphanScripts: RehydratingScript[] = [];
423
-
424
- // Initialize all the mapping needed
425
- for (const target of targets) {
426
- targetIds.add(target.targetId);
427
- targetToExecutionContexts.set(target.targetId, []);
428
- targetToScripts.set(target.targetId, []);
429
- }
430
-
431
- // Put all of the known execution contexts under respective targets
432
- for (const executionContext of executionContexts) {
433
- const frameId = executionContext.auxData?.frameId as string as Protocol.Target.TargetID;
434
- if (frameId && targetIds.has(frameId)) {
435
- targetToExecutionContexts.get(frameId)?.push(executionContext);
436
- executionContextIsolateToTarget.set(
437
- this.getExecutionContextIsolateId(executionContext.isolate, executionContext.id), frameId);
438
- } else {
439
- console.error('Execution context can\'t be linked to a target', executionContext);
440
- }
441
- }
442
-
443
- // Put all of the scripts under respective targets with collected information
444
- for (const script of scripts) {
445
- const scriptExecutionContextIsolateId =
446
- this.getExecutionContextIsolateId(script.isolate, script.executionContextId);
447
- const scriptFrameId = script.executionContextAuxData?.frameId as string as Protocol.Target.TargetID;
448
- if (script.executionContextAuxData?.frameId && targetIds.has(scriptFrameId)) {
449
- targetToScripts.get(scriptFrameId)?.push(script);
450
- executionContextIsolateToTarget.set(scriptExecutionContextIsolateId, scriptFrameId);
451
- } else if (this.#scriptToFrame.has(this.getScriptIsolateId(script.isolate, script.scriptId))) {
452
- const targetId = this.#scriptToFrame.get(this.getScriptIsolateId(script.isolate, script.scriptId)) as string as
453
- Protocol.Target.TargetID;
454
- if (targetId) {
455
- targetToScripts.get(targetId)?.push(script);
456
- executionContextIsolateToTarget.set(scriptExecutionContextIsolateId, targetId);
457
- }
458
- } else {
459
- // These scripts are not linked to any target
460
- orphanScripts.push(script);
461
- }
462
- }
463
-
464
- // If a script is not linked to a target, use executionContext@isolate to link to a target
465
- // Using PID is the last resort
466
- for (const orphanScript of orphanScripts) {
467
- const orphanScriptExecutionContextIsolateId =
468
- this.getExecutionContextIsolateId(orphanScript.isolate, orphanScript.executionContextId);
469
- const frameId = executionContextIsolateToTarget.get(orphanScriptExecutionContextIsolateId);
470
-
471
- if (frameId) {
472
- // Found a link via execution context, use it.
473
- targetToScripts.get(frameId)?.push(orphanScript);
474
- } else if (orphanScript.pid) {
475
- const target = targets.find(target => target.pid === orphanScript.pid);
476
- if (target) {
477
- targetToScripts.get(target.targetId)?.push(orphanScript);
478
- }
479
- } else {
480
- console.error('Script can\'t be linked to any target', orphanScript);
481
- }
482
- }
483
-
484
- // Now all the scripts are linked to a target, we want to make sure all the scripts are pointing to a valid
485
- // execution context. If not, we will create an artificial execution context for the script
486
- for (const target of targets) {
487
- const targetId = target.targetId;
488
- const executionContexts = targetToExecutionContexts.get(targetId) || [];
489
- const scripts = targetToScripts.get(targetId) || [];
490
- for (const script of scripts) {
491
- if (!executionContexts.find(context => context.id === script.executionContextId)) {
492
- const artificialContext: RehydratingExecutionContext = {
493
- id: script.executionContextId,
494
- origin: '',
495
- v8Context: '',
496
- name: '',
497
- auxData: {
498
- frameId: targetId as string as Protocol.Page.FrameId,
499
- isDefault: false,
500
- type: 'type',
501
- },
502
- isolate: script.isolate,
503
- uniqueId: `${targetId}-${script.isolate}`,
504
- };
505
- executionContexts.push(artificialContext);
506
- }
507
- }
508
-
509
- // Finally, we put all the information into the data structure we want to return as.
510
- data.push({target, executionContexts, scripts});
511
- }
512
-
513
- return data;
514
- }
515
- }
@@ -1,183 +0,0 @@
1
- // Copyright 2021 The Chromium Authors
2
- // Use of this source code is governed by a BSD-style license that can be
3
- // found in the LICENSE file.
4
-
5
- import type * as ProtocolProxyApi from '../../generated/protocol-proxy-api.js';
6
-
7
- import {CategorizedBreakpoint, Category} from './CategorizedBreakpoint.js';
8
- import type {EventListenerPausedDetailsAuxData} from './DebuggerModel.js';
9
- import {SDKModel} from './SDKModel.js';
10
- import {Capability, type Target} from './Target.js';
11
- import {type SDKModelObserver, TargetManager} from './TargetManager.js';
12
-
13
- export const enum InstrumentationNames {
14
- BEFORE_BIDDER_WORKLET_BIDDING_START = 'beforeBidderWorkletBiddingStart',
15
- BEFORE_BIDDER_WORKLET_REPORTING_START = 'beforeBidderWorkletReportingStart',
16
- BEFORE_SELLER_WORKLET_SCORING_START = 'beforeSellerWorkletScoringStart',
17
- BEFORE_SELLER_WORKLET_REPORTING_START = 'beforeSellerWorkletReportingStart',
18
- SET_TIMEOUT = 'setTimeout',
19
- CLEAR_TIMEOUT = 'clearTimeout',
20
- SET_TIMEOUT_CALLBACK = 'setTimeout.callback',
21
- SET_INTERVAL = 'setInterval',
22
- CLEAR_INTERVAL = 'clearInterval',
23
- SET_INTERVAL_CALLBACK = 'setInterval.callback',
24
- SCRIPT_FIRST_STATEMENT = 'scriptFirstStatement',
25
- SCRIPT_BLOCKED_BY_CSP = 'scriptBlockedByCSP',
26
- SHARED_STORAGE_WORKLET_SCRIPT_FIRST_STATEMENT = 'sharedStorageWorkletScriptFirstStatement',
27
- REQUEST_ANIMATION_FRAME = 'requestAnimationFrame',
28
- CANCEL_ANIMATION_FRAME = 'cancelAnimationFrame',
29
- REQUEST_ANIMATION_FRAME_CALLBACK = 'requestAnimationFrame.callback',
30
- WEBGL_ERROR_FIRED = 'webglErrorFired',
31
- WEBGL_WARNING_FIRED = 'webglWarningFired',
32
- ELEMENT_SET_INNER_HTML = 'Element.setInnerHTML',
33
- CANVAS_CONTEXT_CREATED = 'canvasContextCreated',
34
- GEOLOCATION_GET_CURRENT_POSITION = 'Geolocation.getCurrentPosition',
35
- GEOLOCATION_WATCH_POSITION = 'Geolocation.watchPosition',
36
- NOTIFICATION_REQUEST_PERMISSION = 'Notification.requestPermission',
37
- DOM_WINDOW_CLOSE = 'DOMWindow.close',
38
- DOCUMENT_WRITE = 'Document.write',
39
- AUDIO_CONTEXT_CREATED = 'audioContextCreated',
40
- AUDIO_CONTEXT_CLOSED = 'audioContextClosed',
41
- AUDIO_CONTEXT_RESUMED = 'audioContextResumed',
42
- AUDIO_CONTEXT_SUSPENDED = 'audioContextSuspended',
43
- }
44
-
45
- export class EventBreakpointsModel extends SDKModel<void> {
46
- readonly agent: ProtocolProxyApi.EventBreakpointsApi;
47
-
48
- constructor(target: Target) {
49
- super(target);
50
- this.agent = target.eventBreakpointsAgent();
51
- }
52
- }
53
-
54
- /**
55
- * This implementation (as opposed to similar class in DOMDebuggerModel) is for
56
- * instrumentation breakpoints in targets that run JS but do not have a DOM.
57
- **/
58
- class EventListenerBreakpoint extends CategorizedBreakpoint {
59
- override setEnabled(enabled: boolean): void {
60
- if (this.enabled() === enabled) {
61
- return;
62
- }
63
- super.setEnabled(enabled);
64
- for (const model of TargetManager.instance().models(EventBreakpointsModel)) {
65
- this.updateOnModel(model);
66
- }
67
- }
68
-
69
- updateOnModel(model: EventBreakpointsModel): void {
70
- if (this.enabled()) {
71
- void model.agent.invoke_setInstrumentationBreakpoint({eventName: this.name});
72
- } else {
73
- void model.agent.invoke_removeInstrumentationBreakpoint({eventName: this.name});
74
- }
75
- }
76
-
77
- static readonly instrumentationPrefix = 'instrumentation:';
78
- }
79
-
80
- let eventBreakpointManagerInstance: EventBreakpointsManager;
81
-
82
- export class EventBreakpointsManager implements SDKModelObserver<EventBreakpointsModel> {
83
- readonly #eventListenerBreakpoints: EventListenerBreakpoint[] = [];
84
-
85
- constructor() {
86
- this.createInstrumentationBreakpoints(Category.AUCTION_WORKLET, [
87
- InstrumentationNames.BEFORE_BIDDER_WORKLET_BIDDING_START,
88
- InstrumentationNames.BEFORE_BIDDER_WORKLET_REPORTING_START,
89
- InstrumentationNames.BEFORE_SELLER_WORKLET_SCORING_START,
90
- InstrumentationNames.BEFORE_SELLER_WORKLET_REPORTING_START,
91
- ]);
92
- this.createInstrumentationBreakpoints(Category.ANIMATION, [
93
- InstrumentationNames.REQUEST_ANIMATION_FRAME,
94
- InstrumentationNames.CANCEL_ANIMATION_FRAME,
95
- InstrumentationNames.REQUEST_ANIMATION_FRAME_CALLBACK,
96
- ]);
97
- this.createInstrumentationBreakpoints(Category.CANVAS, [
98
- InstrumentationNames.CANVAS_CONTEXT_CREATED,
99
- InstrumentationNames.WEBGL_ERROR_FIRED,
100
- InstrumentationNames.WEBGL_WARNING_FIRED,
101
- ]);
102
- this.createInstrumentationBreakpoints(Category.GEOLOCATION, [
103
- InstrumentationNames.GEOLOCATION_GET_CURRENT_POSITION,
104
- InstrumentationNames.GEOLOCATION_WATCH_POSITION,
105
- ]);
106
- this.createInstrumentationBreakpoints(Category.NOTIFICATION, [
107
- InstrumentationNames.NOTIFICATION_REQUEST_PERMISSION,
108
- ]);
109
- this.createInstrumentationBreakpoints(Category.PARSE, [
110
- InstrumentationNames.ELEMENT_SET_INNER_HTML,
111
- InstrumentationNames.DOCUMENT_WRITE,
112
- ]);
113
- this.createInstrumentationBreakpoints(Category.SCRIPT, [
114
- InstrumentationNames.SCRIPT_FIRST_STATEMENT,
115
- InstrumentationNames.SCRIPT_BLOCKED_BY_CSP,
116
- ]);
117
- this.createInstrumentationBreakpoints(Category.SHARED_STORAGE_WORKLET, [
118
- InstrumentationNames.SHARED_STORAGE_WORKLET_SCRIPT_FIRST_STATEMENT,
119
- ]);
120
- this.createInstrumentationBreakpoints(Category.TIMER, [
121
- InstrumentationNames.SET_TIMEOUT,
122
- InstrumentationNames.CLEAR_TIMEOUT,
123
- InstrumentationNames.SET_TIMEOUT_CALLBACK,
124
- InstrumentationNames.SET_INTERVAL,
125
- InstrumentationNames.CLEAR_INTERVAL,
126
- InstrumentationNames.SET_INTERVAL_CALLBACK,
127
- ]);
128
- this.createInstrumentationBreakpoints(Category.WINDOW, [
129
- InstrumentationNames.DOM_WINDOW_CLOSE,
130
- ]);
131
- this.createInstrumentationBreakpoints(Category.WEB_AUDIO, [
132
- InstrumentationNames.AUDIO_CONTEXT_CREATED,
133
- InstrumentationNames.AUDIO_CONTEXT_CLOSED,
134
- InstrumentationNames.AUDIO_CONTEXT_RESUMED,
135
- InstrumentationNames.AUDIO_CONTEXT_SUSPENDED,
136
- ]);
137
-
138
- TargetManager.instance().observeModels(EventBreakpointsModel, this);
139
- }
140
-
141
- static instance(opts: {
142
- forceNew: boolean|null,
143
- } = {forceNew: null}): EventBreakpointsManager {
144
- const {forceNew} = opts;
145
- if (!eventBreakpointManagerInstance || forceNew) {
146
- eventBreakpointManagerInstance = new EventBreakpointsManager();
147
- }
148
-
149
- return eventBreakpointManagerInstance;
150
- }
151
-
152
- private createInstrumentationBreakpoints(category: Category, instrumentationNames: InstrumentationNames[]): void {
153
- for (const instrumentationName of instrumentationNames) {
154
- this.#eventListenerBreakpoints.push(new EventListenerBreakpoint(category, instrumentationName));
155
- }
156
- }
157
-
158
- eventListenerBreakpoints(): EventListenerBreakpoint[] {
159
- return this.#eventListenerBreakpoints.slice();
160
- }
161
-
162
- resolveEventListenerBreakpoint({eventName}: EventListenerPausedDetailsAuxData): EventListenerBreakpoint|null {
163
- if (!eventName.startsWith(EventListenerBreakpoint.instrumentationPrefix)) {
164
- return null;
165
- }
166
-
167
- const instrumentationName = eventName.substring(EventListenerBreakpoint.instrumentationPrefix.length);
168
- return this.#eventListenerBreakpoints.find(b => b.name === instrumentationName) || null;
169
- }
170
-
171
- modelAdded(eventBreakpointModel: EventBreakpointsModel): void {
172
- for (const breakpoint of this.#eventListenerBreakpoints) {
173
- if (breakpoint.enabled()) {
174
- breakpoint.updateOnModel(eventBreakpointModel);
175
- }
176
- }
177
- }
178
-
179
- modelRemoved(_eventBreakpointModel: EventBreakpointsModel): void {
180
- }
181
- }
182
-
183
- SDKModel.register(EventBreakpointsModel, {capabilities: Capability.EVENT_BREAKPOINTS, autostart: false});