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,765 +0,0 @@
1
- // Copyright 2022 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 * as Common from '../../core/common/common.js';
6
- import * as Root from '../../core/root/root.js';
7
- import * as SDK from '../../core/sdk/sdk.js';
8
- import * as Protocol from '../../generated/protocol.js';
9
- import * as Bindings from '../bindings/bindings.js';
10
- import * as Formatter from '../formatter/formatter.js';
11
- import * as TextUtils from '../text_utils/text_utils.js';
12
-
13
- interface CachedScopeMap {
14
- sourceMap: SDK.SourceMap.SourceMap|undefined;
15
- mappingPromise: Promise<{variableMapping: Map<string, string>, thisMapping: string|null}>;
16
- }
17
-
18
- const scopeToCachedIdentifiersMap = new WeakMap<Formatter.FormatterWorkerPool.ScopeTreeNode, CachedScopeMap>();
19
- const cachedMapByCallFrame = new WeakMap<SDK.DebuggerModel.CallFrame, Map<string, string|null>>();
20
-
21
- export async function getTextFor(contentProvider: TextUtils.ContentProvider.ContentProvider):
22
- Promise<TextUtils.Text.Text|null> {
23
- const contentData = await contentProvider.requestContentData();
24
- if (TextUtils.ContentData.ContentData.isError(contentData) || !contentData.isTextContent) {
25
- return null;
26
- }
27
- return contentData.textObj;
28
- }
29
-
30
- export class IdentifierPositions {
31
- name: string;
32
- positions: Array<{lineNumber: number, columnNumber: number}>;
33
-
34
- constructor(name: string, positions: Array<{lineNumber: number, columnNumber: number}> = []) {
35
- this.name = name;
36
- this.positions = positions;
37
- }
38
-
39
- addPosition(lineNumber: number, columnNumber: number): void {
40
- this.positions.push({lineNumber, columnNumber});
41
- }
42
- }
43
-
44
- const computeScopeTree = async function(script: SDK.Script.Script): Promise<{
45
- scopeTree:
46
- Formatter.FormatterWorkerPool.ScopeTreeNode, text: TextUtils.Text.Text,
47
- }|null> {
48
- if (!script.sourceMapURL) {
49
- return null;
50
- }
51
-
52
- return await SDK.ScopeTreeCache.scopeTreeForScript(script);
53
- };
54
-
55
- /**
56
- * @returns the scope chain from outer-most to inner-most scope where the inner-most
57
- * scope either contains or matches the "needle".
58
- */
59
- const findScopeChain = function(
60
- scopeTree: Formatter.FormatterWorkerPool.ScopeTreeNode,
61
- scopeNeedle: {start: number, end: number}): Formatter.FormatterWorkerPool.ScopeTreeNode[] {
62
- if (!contains(scopeTree, scopeNeedle)) {
63
- return [];
64
- }
65
-
66
- // Find the corresponding scope in the scope tree.
67
- let containingScope = scopeTree;
68
- const scopeChain = [scopeTree];
69
- while (true) {
70
- let childFound = false;
71
- for (const child of containingScope.children) {
72
- if (contains(child, scopeNeedle)) {
73
- // We found a nested containing scope, continue with search there.
74
- scopeChain.push(child);
75
- containingScope = child;
76
- childFound = true;
77
- break;
78
- }
79
- // Sanity check: |scope| should not straddle any of the scopes in the tree. That is:
80
- // Either |scope| is disjoint from |child| or |child| must be inside |scope|.
81
- // (Or the |scope| is inside |child|, but that case is covered above.)
82
- if (!disjoint(scopeNeedle, child) && !contains(scopeNeedle, child)) {
83
- console.error('Wrong nesting of scopes');
84
- return [];
85
- }
86
- }
87
- if (!childFound) {
88
- // We found the deepest scope in the tree that contains our scope chain entry.
89
- break;
90
- }
91
- }
92
-
93
- return scopeChain;
94
-
95
- function contains(scope: {start: number, end: number}, candidate: {start: number, end: number}): boolean {
96
- return (scope.start <= candidate.start) && (scope.end >= candidate.end);
97
- }
98
- function disjoint(scope: {start: number, end: number}, other: {start: number, end: number}): boolean {
99
- return (scope.end <= other.start) || (other.end <= scope.start);
100
- }
101
- };
102
-
103
- export async function findScopeChainForDebuggerScope(scope: SDK.DebuggerModel.ScopeChainEntry):
104
- Promise<Formatter.FormatterWorkerPool.ScopeTreeNode[]> {
105
- const startLocation = scope.range()?.start;
106
- const endLocation = scope.range()?.end;
107
- if (!startLocation || !endLocation) {
108
- return [];
109
- }
110
-
111
- const script = startLocation.script();
112
- if (!script) {
113
- return [];
114
- }
115
-
116
- const scopeTreeAndText = await computeScopeTree(script);
117
- if (!scopeTreeAndText) {
118
- return [];
119
- }
120
- const {scopeTree, text} = scopeTreeAndText;
121
-
122
- // Compute the offset within the scope tree coordinate space.
123
- const scopeOffsets = {
124
- start: text.offsetFromPosition(startLocation.lineNumber, startLocation.columnNumber),
125
- end: text.offsetFromPosition(endLocation.lineNumber, endLocation.columnNumber),
126
- };
127
-
128
- return findScopeChain(scopeTree, scopeOffsets);
129
- }
130
-
131
- export const scopeIdentifiers = async function(
132
- script: SDK.Script.Script, scope: Formatter.FormatterWorkerPool.ScopeTreeNode,
133
- ancestorScopes: Formatter.FormatterWorkerPool.ScopeTreeNode[]): Promise<{
134
- freeVariables:
135
- IdentifierPositions[], boundVariables: IdentifierPositions[],
136
- }|null> {
137
- const text = await getTextFor(script);
138
- if (!text) {
139
- return null;
140
- }
141
-
142
- // Now we have containing scope. Collect all the scope variables.
143
- const boundVariables = [];
144
- const cursor = new TextUtils.TextCursor.TextCursor(text.lineEndings());
145
- for (const variable of scope.variables) {
146
- // Skip the fixed-kind variable (i.e., 'this' or 'arguments') if we only found their "definition"
147
- // without any uses.
148
- if (variable.kind === Formatter.FormatterWorkerPool.DefinitionKind.FIXED && variable.offsets.length <= 1) {
149
- continue;
150
- }
151
-
152
- const identifier = new IdentifierPositions(variable.name);
153
- for (const offset of variable.offsets) {
154
- cursor.resetTo(offset);
155
- identifier.addPosition(cursor.lineNumber(), cursor.columnNumber());
156
- }
157
- boundVariables.push(identifier);
158
- }
159
-
160
- // Compute free variables by collecting all the ancestor variables that are used in |containingScope|.
161
- const freeVariables = [];
162
- for (const ancestor of ancestorScopes) {
163
- for (const ancestorVariable of ancestor.variables) {
164
- let identifier = null;
165
- for (const offset of ancestorVariable.offsets) {
166
- if (offset >= scope.start && offset < scope.end) {
167
- if (!identifier) {
168
- identifier = new IdentifierPositions(ancestorVariable.name);
169
- }
170
- cursor.resetTo(offset);
171
- identifier.addPosition(cursor.lineNumber(), cursor.columnNumber());
172
- }
173
- }
174
- if (identifier) {
175
- freeVariables.push(identifier);
176
- }
177
- }
178
- }
179
- return {boundVariables, freeVariables};
180
- };
181
-
182
- const identifierAndPunctuationRegExp = /^\s*([A-Za-z_$][A-Za-z_$0-9]*)\s*([.;,=]?)\s*$/;
183
-
184
- const enum Punctuation {
185
- NONE = 'none',
186
- COMMA = 'comma',
187
- DOT = 'dot',
188
- SEMICOLON = 'semicolon',
189
- EQUALS = 'equals',
190
- }
191
-
192
- const resolveDebuggerScope = async(scope: SDK.DebuggerModel.ScopeChainEntry):
193
- Promise<{variableMapping: Map<string, string>, thisMapping: string | null}> => {
194
- if (!Common.Settings.Settings.instance().moduleSetting('js-source-maps-enabled').get()) {
195
- return {variableMapping: new Map(), thisMapping: null};
196
- }
197
- const script = scope.callFrame().script;
198
- const scopeChain = await findScopeChainForDebuggerScope(scope);
199
- return await resolveScope(script, scopeChain);
200
- };
201
-
202
- const resolveScope = async(script: SDK.Script.Script, scopeChain: Formatter.FormatterWorkerPool.ScopeTreeNode[]):
203
- Promise<{variableMapping: Map<string, string>, thisMapping: string | null}> => {
204
- const parsedScope = scopeChain[scopeChain.length - 1];
205
- if (!parsedScope) {
206
- return {variableMapping: new Map<string, string>(), thisMapping: null};
207
- }
208
- let cachedScopeMap = scopeToCachedIdentifiersMap.get(parsedScope);
209
- const sourceMap = script.sourceMap();
210
-
211
- if (!cachedScopeMap || cachedScopeMap.sourceMap !== sourceMap) {
212
- const identifiersPromise =
213
- (async () => {
214
- const variableMapping = new Map<string, string>();
215
- let thisMapping = null;
216
-
217
- if (!sourceMap) {
218
- return {variableMapping, thisMapping};
219
- }
220
- // Extract as much as possible from SourceMap and resolve
221
- // missing identifier names from SourceMap ranges.
222
- const promises: Array<Promise<void>> = [];
223
-
224
- const resolveEntry = (id: IdentifierPositions, handler: (sourceName: string) => void): void => {
225
- // First see if we have a source map entry with a name for the identifier.
226
- for (const position of id.positions) {
227
- const entry = sourceMap.findEntry(position.lineNumber, position.columnNumber);
228
- if (entry?.name) {
229
- handler(entry.name);
230
- return;
231
- }
232
- }
233
- /** If there is no entry with the name field, try to infer the name from the source positions. **/
234
- async function resolvePosition(): Promise<void> {
235
- if (!sourceMap) {
236
- return;
237
- }
238
- // Let us find the first non-empty mapping of |id| and return that. Ideally, we would
239
- // try to compute all the mappings and only use the mapping if all the non-empty
240
- // mappings agree. However, that can be expensive for identifiers with many uses,
241
- // so we iterate sequentially, stopping at the first non-empty mapping.
242
- for (const position of id.positions) {
243
- const sourceName = await resolveSourceName(script, sourceMap, id.name, position);
244
- if (sourceName) {
245
- handler(sourceName);
246
- return;
247
- }
248
- }
249
- }
250
- promises.push(resolvePosition());
251
- };
252
-
253
- const parsedVariables = await scopeIdentifiers(script, parsedScope, scopeChain.slice(0, -1));
254
- if (!parsedVariables) {
255
- return {variableMapping, thisMapping};
256
- }
257
- for (const id of parsedVariables.boundVariables) {
258
- resolveEntry(id, sourceName => {
259
- // Let use ignore 'this' mappings - those are handled separately.
260
- if (sourceName !== 'this') {
261
- variableMapping.set(id.name, sourceName);
262
- }
263
- });
264
- }
265
- for (const id of parsedVariables.freeVariables) {
266
- resolveEntry(id, sourceName => {
267
- if (sourceName === 'this') {
268
- thisMapping = id.name;
269
- }
270
- });
271
- }
272
- await Promise.all(promises).then(getScopeResolvedForTest());
273
- return {variableMapping, thisMapping};
274
- })();
275
- cachedScopeMap = {sourceMap, mappingPromise: identifiersPromise};
276
- scopeToCachedIdentifiersMap.set(parsedScope, {sourceMap, mappingPromise: identifiersPromise});
277
- }
278
- return await cachedScopeMap.mappingPromise;
279
-
280
- async function resolveSourceName(
281
- script: SDK.Script.Script, sourceMap: SDK.SourceMap.SourceMap, name: string,
282
- position: {lineNumber: number, columnNumber: number}): Promise<string|null> {
283
- const ranges = sourceMap.findEntryRanges(position.lineNumber, position.columnNumber);
284
- if (!ranges) {
285
- return null;
286
- }
287
- // Extract the underlying text from the compiled code's range and make sure that
288
- // it starts with the identifier |name|.
289
- const uiSourceCode =
290
- Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance().uiSourceCodeForSourceMapSourceURL(
291
- script.debuggerModel, ranges.sourceURL, script.isContentScript());
292
- if (!uiSourceCode) {
293
- return null;
294
- }
295
- const compiledText = await getTextFor(script);
296
- if (!compiledText) {
297
- return null;
298
- }
299
- const compiledToken = compiledText.extract(ranges.range);
300
- const parsedCompiledToken = extractIdentifier(compiledToken);
301
- if (!parsedCompiledToken) {
302
- return null;
303
- }
304
- const {name: compiledName, punctuation: compiledPunctuation} = parsedCompiledToken;
305
- if (compiledName !== name) {
306
- return null;
307
- }
308
-
309
- // Extract the mapped name from the source code range and ensure that the punctuation
310
- // matches the one from the compiled code.
311
- const sourceText = await getTextFor(uiSourceCode);
312
- if (!sourceText) {
313
- return null;
314
- }
315
- const sourceToken = sourceText.extract(ranges.sourceRange);
316
- const parsedSourceToken = extractIdentifier(sourceToken);
317
- if (!parsedSourceToken) {
318
- return null;
319
- }
320
- const {name: sourceName, punctuation: sourcePunctuation} = parsedSourceToken;
321
- // Accept the source name if it is followed by the same punctuation.
322
- if (compiledPunctuation === sourcePunctuation) {
323
- return sourceName;
324
- }
325
- // Let us also allow semicolons into commas since that it is a common transformation.
326
- if (compiledPunctuation === Punctuation.COMMA && sourcePunctuation === Punctuation.SEMICOLON) {
327
- return sourceName;
328
- }
329
-
330
- return null;
331
-
332
- function extractIdentifier(token: string): {name: string, punctuation: Punctuation}|null {
333
- const match = token.match(identifierAndPunctuationRegExp);
334
- if (!match) {
335
- return null;
336
- }
337
-
338
- const name = match[1];
339
- let punctuation: Punctuation|null = null;
340
- switch (match[2]) {
341
- case '.':
342
- punctuation = Punctuation.DOT;
343
- break;
344
- case ',':
345
- punctuation = Punctuation.COMMA;
346
- break;
347
- case ';':
348
- punctuation = Punctuation.SEMICOLON;
349
- break;
350
- case '=':
351
- punctuation = Punctuation.EQUALS;
352
- break;
353
- case '':
354
- punctuation = Punctuation.NONE;
355
- break;
356
- default:
357
- console.error(`Name token parsing error: unexpected token "${match[2]}"`);
358
- return null;
359
- }
360
-
361
- return {name, punctuation};
362
- }
363
- }
364
- };
365
-
366
- export const resolveScopeChain =
367
- async function(callFrame: SDK.DebuggerModel.CallFrame): Promise<SDK.DebuggerModel.ScopeChainEntry[]> {
368
- const {pluginManager} = Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance();
369
- let scopeChain: SDK.DebuggerModel.ScopeChainEntry[]|null|undefined = await pluginManager.resolveScopeChain(callFrame);
370
- if (scopeChain) {
371
- return scopeChain;
372
- }
373
-
374
- scopeChain = Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.USE_SOURCE_MAP_SCOPES) ?
375
- callFrame.script.sourceMap()?.resolveScopeChain(callFrame) :
376
- null;
377
- if (scopeChain) {
378
- return scopeChain;
379
- }
380
-
381
- if (callFrame.script.isWasm()) {
382
- return callFrame.scopeChain();
383
- }
384
- const thisObject = await resolveThisObject(callFrame);
385
- return callFrame.scopeChain().map(scope => new ScopeWithSourceMappedVariables(scope, thisObject));
386
- };
387
-
388
- /**
389
- * @returns A mapping from original name -> compiled name. If the orignal name is unavailable (e.g. because the compiled name was
390
- * shadowed) we set it to `null`.
391
- */
392
- export const allVariablesInCallFrame =
393
- async(callFrame: SDK.DebuggerModel.CallFrame): Promise<Map<string, string|null>> => {
394
- if (!Common.Settings.Settings.instance().moduleSetting('js-source-maps-enabled').get()) {
395
- return new Map<string, string|null>();
396
- }
397
- const cachedMap = cachedMapByCallFrame.get(callFrame);
398
- if (cachedMap) {
399
- return cachedMap;
400
- }
401
-
402
- const scopeChain = callFrame.scopeChain();
403
- const nameMappings = await Promise.all(scopeChain.map(resolveDebuggerScope));
404
- const reverseMapping = new Map<string, string|null>();
405
- const compiledNames = new Set<string>();
406
- for (const {variableMapping} of nameMappings) {
407
- for (const [compiledName, originalName] of variableMapping) {
408
- if (!originalName) {
409
- continue;
410
- }
411
- if (!reverseMapping.has(originalName)) {
412
- // An inner scope might have shadowed {compiledName}. Mark it as "unavailable" in that case.
413
- const compiledNameOrNull = compiledNames.has(compiledName) ? null : compiledName;
414
- reverseMapping.set(originalName, compiledNameOrNull);
415
- }
416
- compiledNames.add(compiledName);
417
- }
418
- }
419
- cachedMapByCallFrame.set(callFrame, reverseMapping);
420
- return reverseMapping;
421
- };
422
-
423
- /**
424
- * @returns A mapping from original name -> compiled name. If the orignal name is unavailable (e.g. because the compiled name was
425
- * shadowed) we set it to `null`.
426
- */
427
- export const allVariablesAtPosition =
428
- async(location: SDK.DebuggerModel.Location): Promise<Map<string, string|null>> => {
429
- const reverseMapping = new Map<string, string|null>();
430
- if (!Common.Settings.Settings.instance().moduleSetting('js-source-maps-enabled').get()) {
431
- return reverseMapping;
432
- }
433
- const script = location.script();
434
- if (!script) {
435
- return reverseMapping;
436
- }
437
-
438
- const scopeTreeAndText = await computeScopeTree(script);
439
- if (!scopeTreeAndText) {
440
- return reverseMapping;
441
- }
442
-
443
- const {scopeTree, text} = scopeTreeAndText;
444
- const locationOffset = text.offsetFromPosition(location.lineNumber, location.columnNumber);
445
- const scopeChain = findScopeChain(scopeTree, {start: locationOffset, end: locationOffset});
446
- const compiledNames = new Set<string>();
447
-
448
- while (scopeChain.length > 0) {
449
- const {variableMapping} = await resolveScope(script, scopeChain);
450
- for (const [compiledName, originalName] of variableMapping) {
451
- if (!originalName) {
452
- continue;
453
- }
454
- if (!reverseMapping.has(originalName)) {
455
- // An inner scope might have shadowed {compiledName}. Mark it as "unavailable" in that case.
456
- const compiledNameOrNull = compiledNames.has(compiledName) ? null : compiledName;
457
- reverseMapping.set(originalName, compiledNameOrNull);
458
- }
459
- compiledNames.add(compiledName);
460
- }
461
- scopeChain.pop();
462
- }
463
- return reverseMapping;
464
- };
465
-
466
- export const resolveThisObject =
467
- async(callFrame: SDK.DebuggerModel.CallFrame): Promise<SDK.RemoteObject.RemoteObject|null> => {
468
- const scopeChain = callFrame.scopeChain();
469
- if (scopeChain.length === 0) {
470
- return callFrame.thisObject();
471
- }
472
-
473
- const {thisMapping} = await resolveDebuggerScope(scopeChain[0]);
474
- if (!thisMapping) {
475
- return callFrame.thisObject();
476
- }
477
-
478
- const result = await callFrame.evaluate(({
479
- expression: thisMapping,
480
- objectGroup: 'backtrace',
481
- includeCommandLineAPI: false,
482
- silent: true,
483
- returnByValue: false,
484
- generatePreview: true,
485
- }));
486
- if ('exceptionDetails' in result) {
487
- return !result.exceptionDetails && result.object ? result.object : callFrame.thisObject();
488
- }
489
- return null;
490
- };
491
-
492
- export const resolveScopeInObject = function(scope: SDK.DebuggerModel.ScopeChainEntry): SDK.RemoteObject.RemoteObject {
493
- const endLocation = scope.range()?.end;
494
- const startLocationScript = scope.range()?.start.script() ?? null;
495
-
496
- if (scope.type() === Protocol.Debugger.ScopeType.Global || !startLocationScript || !endLocation ||
497
- !startLocationScript.sourceMapURL) {
498
- return scope.object();
499
- }
500
-
501
- return new RemoteObject(scope);
502
- };
503
-
504
- /**
505
- * Wraps a debugger `Scope` but returns a scope object where variable names are
506
- * mapped to their authored name.
507
- *
508
- * This implementation does not utilize source map "Scopes" information but obtains
509
- * original variable names via parsing + mappings + names.
510
- */
511
- class ScopeWithSourceMappedVariables implements SDK.DebuggerModel.ScopeChainEntry {
512
- readonly #debuggerScope: SDK.DebuggerModel.ScopeChainEntry;
513
- /** The resolved `this` of the current call frame */
514
- readonly #thisObject: SDK.RemoteObject.RemoteObject|null;
515
-
516
- constructor(scope: SDK.DebuggerModel.ScopeChainEntry, thisObject: SDK.RemoteObject.RemoteObject|null) {
517
- this.#debuggerScope = scope;
518
- this.#thisObject = thisObject;
519
- }
520
-
521
- callFrame(): SDK.DebuggerModel.CallFrame {
522
- return this.#debuggerScope.callFrame();
523
- }
524
-
525
- type(): string {
526
- return this.#debuggerScope.type();
527
- }
528
-
529
- typeName(): string {
530
- return this.#debuggerScope.typeName();
531
- }
532
-
533
- name(): string|undefined {
534
- return this.#debuggerScope.name();
535
- }
536
-
537
- range(): SDK.DebuggerModel.LocationRange|null {
538
- return this.#debuggerScope.range();
539
- }
540
-
541
- object(): SDK.RemoteObject.RemoteObject {
542
- return resolveScopeInObject(this.#debuggerScope);
543
- }
544
-
545
- description(): string {
546
- return this.#debuggerScope.description();
547
- }
548
-
549
- icon(): string|undefined {
550
- return this.#debuggerScope.icon();
551
- }
552
-
553
- extraProperties(): SDK.RemoteObject.RemoteObjectProperty[] {
554
- const extraProperties = this.#debuggerScope.extraProperties();
555
- if (this.#thisObject && this.type() === Protocol.Debugger.ScopeType.Local) {
556
- extraProperties.unshift(new SDK.RemoteObject.RemoteObjectProperty(
557
- 'this', this.#thisObject, undefined, undefined, undefined, undefined, undefined, /* synthetic */ true));
558
- }
559
- return extraProperties;
560
- }
561
- }
562
-
563
- export class RemoteObject extends SDK.RemoteObject.RemoteObject {
564
- private readonly scope: SDK.DebuggerModel.ScopeChainEntry;
565
- private readonly object: SDK.RemoteObject.RemoteObject;
566
- constructor(scope: SDK.DebuggerModel.ScopeChainEntry) {
567
- super();
568
- this.scope = scope;
569
- this.object = scope.object();
570
- }
571
-
572
- override customPreview(): Protocol.Runtime.CustomPreview|null {
573
- return this.object.customPreview();
574
- }
575
-
576
- override get objectId(): Protocol.Runtime.RemoteObjectId|undefined {
577
- return this.object.objectId;
578
- }
579
-
580
- override get type(): string {
581
- return this.object.type;
582
- }
583
-
584
- override get subtype(): string|undefined {
585
- return this.object.subtype;
586
- }
587
-
588
- override get value(): typeof this.object.value {
589
- return this.object.value;
590
- }
591
-
592
- override get description(): string|undefined {
593
- return this.object.description;
594
- }
595
-
596
- override get hasChildren(): boolean {
597
- return this.object.hasChildren;
598
- }
599
-
600
- override get preview(): Protocol.Runtime.ObjectPreview|undefined {
601
- return this.object.preview;
602
- }
603
-
604
- override arrayLength(): number {
605
- return this.object.arrayLength();
606
- }
607
-
608
- override getOwnProperties(generatePreview: boolean): Promise<SDK.RemoteObject.GetPropertiesResult> {
609
- return this.object.getOwnProperties(generatePreview);
610
- }
611
-
612
- override async getAllProperties(accessorPropertiesOnly: boolean, generatePreview: boolean):
613
- Promise<SDK.RemoteObject.GetPropertiesResult> {
614
- const allProperties = await this.object.getAllProperties(accessorPropertiesOnly, generatePreview);
615
- const {variableMapping} = await resolveDebuggerScope(this.scope);
616
-
617
- const properties = allProperties.properties;
618
- const internalProperties = allProperties.internalProperties;
619
- const newProperties = properties?.map(property => {
620
- const name = variableMapping.get(property.name);
621
- return name !== undefined ? property.cloneWithNewName(name) : property;
622
- });
623
- return {properties: newProperties ?? [], internalProperties};
624
- }
625
-
626
- override async setPropertyValue(argumentName: string|Protocol.Runtime.CallArgument, value: string):
627
- Promise<string|undefined> {
628
- const {variableMapping} = await resolveDebuggerScope(this.scope);
629
-
630
- let name;
631
- if (typeof argumentName === 'string') {
632
- name = argumentName;
633
- } else {
634
- name = (argumentName.value as string);
635
- }
636
-
637
- let actualName: string = name;
638
- for (const compiledName of variableMapping.keys()) {
639
- if (variableMapping.get(compiledName) === name) {
640
- actualName = compiledName;
641
- break;
642
- }
643
- }
644
- return await this.object.setPropertyValue(actualName, value);
645
- }
646
-
647
- override async deleteProperty(name: Protocol.Runtime.CallArgument): Promise<string|undefined> {
648
- return await this.object.deleteProperty(name);
649
- }
650
-
651
- override callFunction<T, U>(
652
- functionDeclaration: (this: U, ...args: any[]) => T,
653
- args?: Protocol.Runtime.CallArgument[]): Promise<SDK.RemoteObject.CallFunctionResult> {
654
- return this.object.callFunction(functionDeclaration, args);
655
- }
656
-
657
- override callFunctionJSON<T, U>(
658
- functionDeclaration: (this: U, ...args: any[]) => T, args?: Protocol.Runtime.CallArgument[]): Promise<T|null> {
659
- return this.object.callFunctionJSON(functionDeclaration, args);
660
- }
661
-
662
- override release(): void {
663
- this.object.release();
664
- }
665
-
666
- override debuggerModel(): SDK.DebuggerModel.DebuggerModel {
667
- return this.object.debuggerModel();
668
- }
669
-
670
- override runtimeModel(): SDK.RuntimeModel.RuntimeModel {
671
- return this.object.runtimeModel();
672
- }
673
-
674
- override isNode(): boolean {
675
- return this.object.isNode();
676
- }
677
- }
678
-
679
- /**
680
- * Resolve the frame's function name using the name associated with the opening
681
- * paren that starts the scope. If there is no name associated with the scope
682
- * start or if the function scope does not start with a left paren (e.g., arrow
683
- * function with one parameter), the resolution returns null.
684
- **/
685
- async function getFunctionNameFromScopeStart(
686
- script: SDK.Script.Script, lineNumber: number, columnNumber: number): Promise<string|null> {
687
- // To reduce the overhead of resolving function names,
688
- // we check for source maps first and immediately leave
689
- // this function if the script doesn't have a sourcemap.
690
- const sourceMap = script.sourceMap();
691
- if (!sourceMap) {
692
- return null;
693
- }
694
-
695
- const scopeName = sourceMap.findOriginalFunctionName({line: lineNumber, column: columnNumber});
696
- if (scopeName !== null) {
697
- return scopeName;
698
- }
699
-
700
- const mappingEntry = sourceMap.findEntry(lineNumber, columnNumber);
701
- if (!mappingEntry?.sourceURL) {
702
- return null;
703
- }
704
-
705
- const name = mappingEntry.name;
706
- if (!name) {
707
- return null;
708
- }
709
-
710
- const text = await getTextFor(script);
711
- if (!text) {
712
- return null;
713
- }
714
-
715
- const openRange = new TextUtils.TextRange.TextRange(lineNumber, columnNumber, lineNumber, columnNumber + 1);
716
-
717
- if (text.extract(openRange) !== '(') {
718
- return null;
719
- }
720
-
721
- return name;
722
- }
723
-
724
- export async function resolveDebuggerFrameFunctionName(frame: SDK.DebuggerModel.CallFrame): Promise<string|null> {
725
- const startLocation = frame.localScope()?.range()?.start;
726
- if (!startLocation) {
727
- return null;
728
- }
729
- return await getFunctionNameFromScopeStart(frame.script, startLocation.lineNumber, startLocation.columnNumber);
730
- }
731
-
732
- export async function resolveProfileFrameFunctionName(
733
- {scriptId, lineNumber, columnNumber}: Partial<Protocol.Runtime.CallFrame>,
734
- target: SDK.Target.Target|null): Promise<string|null> {
735
- if (!target || lineNumber === undefined || columnNumber === undefined || scriptId === undefined) {
736
- return null;
737
- }
738
- const debuggerModel = target.model(SDK.DebuggerModel.DebuggerModel);
739
- const script = debuggerModel?.scriptForId(String(scriptId));
740
-
741
- if (!debuggerModel || !script) {
742
- return null;
743
- }
744
-
745
- const debuggerWorkspaceBinding = Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance();
746
- const location = new SDK.DebuggerModel.Location(debuggerModel, scriptId, lineNumber, columnNumber);
747
- const functionInfoFromPlugin = await debuggerWorkspaceBinding.pluginManager.getFunctionInfo(script, location);
748
- if (functionInfoFromPlugin && 'frames' in functionInfoFromPlugin) {
749
- const last = functionInfoFromPlugin.frames.at(-1);
750
- if (last?.name) {
751
- return last.name;
752
- }
753
- }
754
- return await getFunctionNameFromScopeStart(script, lineNumber, columnNumber);
755
- }
756
-
757
- let scopeResolvedForTest: (...arg0: unknown[]) => void = function(): void {};
758
-
759
- export const getScopeResolvedForTest = (): (...arg0: unknown[]) => void => {
760
- return scopeResolvedForTest;
761
- };
762
-
763
- export const setScopeResolvedForTest = (scope: (...arg0: unknown[]) => void): void => {
764
- scopeResolvedForTest = scope;
765
- };