devtools-tracing 1.0.0

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 (397) hide show
  1. package/generate.ts +643 -0
  2. package/index.ts +16 -0
  3. package/lib/front_end/core/common/App.ts +7 -0
  4. package/lib/front_end/core/common/AppProvider.ts +32 -0
  5. package/lib/front_end/core/common/Base64.ts +47 -0
  6. package/lib/front_end/core/common/CharacterIdMap.ts +30 -0
  7. package/lib/front_end/core/common/Color.ts +2506 -0
  8. package/lib/front_end/core/common/ColorConverter.ts +402 -0
  9. package/lib/front_end/core/common/ColorUtils.ts +252 -0
  10. package/lib/front_end/core/common/Console.ts +114 -0
  11. package/lib/front_end/core/common/Debouncer.ts +15 -0
  12. package/lib/front_end/core/common/EventTarget.ts +52 -0
  13. package/lib/front_end/core/common/Gzip.ts +74 -0
  14. package/lib/front_end/core/common/JavaScriptMetaData.ts +29 -0
  15. package/lib/front_end/core/common/Lazy.ts +31 -0
  16. package/lib/front_end/core/common/Linkifier.ts +55 -0
  17. package/lib/front_end/core/common/MapWithDefault.ts +26 -0
  18. package/lib/front_end/core/common/Mutex.ts +55 -0
  19. package/lib/front_end/core/common/Object.ts +145 -0
  20. package/lib/front_end/core/common/ParsedURL.ts +554 -0
  21. package/lib/front_end/core/common/Progress.ts +180 -0
  22. package/lib/front_end/core/common/QueryParamHandler.ts +7 -0
  23. package/lib/front_end/core/common/ResolverBase.ts +85 -0
  24. package/lib/front_end/core/common/ResourceType.ts +588 -0
  25. package/lib/front_end/core/common/ReturnToPanel.ts +17 -0
  26. package/lib/front_end/core/common/Revealer.ts +192 -0
  27. package/lib/front_end/core/common/Runnable.ts +41 -0
  28. package/lib/front_end/core/common/SegmentedRange.ts +87 -0
  29. package/lib/front_end/core/common/SettingRegistration.ts +339 -0
  30. package/lib/front_end/core/common/Settings.ts +1497 -0
  31. package/lib/front_end/core/common/SimpleHistoryManager.ts +124 -0
  32. package/lib/front_end/core/common/StringOutputStream.ts +26 -0
  33. package/lib/front_end/core/common/TextDictionary.ts +48 -0
  34. package/lib/front_end/core/common/Throttler.ts +99 -0
  35. package/lib/front_end/core/common/Trie.ts +152 -0
  36. package/lib/front_end/core/common/Worker.ts +60 -0
  37. package/lib/front_end/core/common/common.ts +81 -0
  38. package/lib/front_end/core/host/AidaClient.ts +733 -0
  39. package/lib/front_end/core/host/GdpClient.ts +316 -0
  40. package/lib/front_end/core/host/InspectorFrontendHost.ts +648 -0
  41. package/lib/front_end/core/host/InspectorFrontendHostAPI.ts +551 -0
  42. package/lib/front_end/core/host/Platform.ts +76 -0
  43. package/lib/front_end/core/host/ResourceLoader.ts +282 -0
  44. package/lib/front_end/core/host/UserMetrics.ts +1230 -0
  45. package/lib/front_end/core/host/host.ts +23 -0
  46. package/lib/front_end/core/i18n/ByteUtilities.ts +82 -0
  47. package/lib/front_end/core/i18n/DevToolsLocale.ts +87 -0
  48. package/lib/front_end/core/i18n/NumberFormatter.ts +82 -0
  49. package/lib/front_end/core/i18n/i18n.ts +17 -0
  50. package/lib/front_end/core/i18n/i18nImpl.ts +204 -0
  51. package/lib/front_end/core/i18n/i18nTypes.ts +10 -0
  52. package/lib/front_end/core/i18n/locales.js +14 -0
  53. package/lib/front_end/core/i18n/time-utilities.ts +174 -0
  54. package/lib/front_end/core/platform/ArrayUtilities.ts +271 -0
  55. package/lib/front_end/core/platform/Brand.ts +23 -0
  56. package/lib/front_end/core/platform/Constructor.ts +10 -0
  57. package/lib/front_end/core/platform/DOMUtilities.ts +138 -0
  58. package/lib/front_end/core/platform/DateUtilities.ts +15 -0
  59. package/lib/front_end/core/platform/DevToolsPath.ts +53 -0
  60. package/lib/front_end/core/platform/KeyboardUtilities.ts +38 -0
  61. package/lib/front_end/core/platform/MapUtilities.ts +95 -0
  62. package/lib/front_end/core/platform/MimeType.ts +175 -0
  63. package/lib/front_end/core/platform/NumberUtilities.ts +80 -0
  64. package/lib/front_end/core/platform/StringUtilities.ts +588 -0
  65. package/lib/front_end/core/platform/Timing.ts +17 -0
  66. package/lib/front_end/core/platform/TypedArrayUtilities.ts +189 -0
  67. package/lib/front_end/core/platform/TypescriptUtilities.ts +86 -0
  68. package/lib/front_end/core/platform/UIString.ts +39 -0
  69. package/lib/front_end/core/platform/UserVisibleError.ts +28 -0
  70. package/lib/front_end/core/platform/platform.ts +45 -0
  71. package/lib/front_end/core/protocol_client/ConnectionTransport.ts +26 -0
  72. package/lib/front_end/core/protocol_client/InspectorBackend.ts +1050 -0
  73. package/lib/front_end/core/protocol_client/NodeURL.ts +42 -0
  74. package/lib/front_end/core/protocol_client/protocol_client.ts +13 -0
  75. package/lib/front_end/core/root/Runtime.ts +609 -0
  76. package/lib/front_end/core/root/root.ts +6 -0
  77. package/lib/front_end/core/sdk/AccessibilityModel.ts +353 -0
  78. package/lib/front_end/core/sdk/AnimationModel.ts +1041 -0
  79. package/lib/front_end/core/sdk/AutofillModel.ts +184 -0
  80. package/lib/front_end/core/sdk/CPUProfilerModel.ts +148 -0
  81. package/lib/front_end/core/sdk/CPUThrottlingManager.ts +282 -0
  82. package/lib/front_end/core/sdk/CSSContainerQuery.ts +139 -0
  83. package/lib/front_end/core/sdk/CSSFontFace.ts +40 -0
  84. package/lib/front_end/core/sdk/CSSLayer.ts +30 -0
  85. package/lib/front_end/core/sdk/CSSMatchedStyles.ts +1646 -0
  86. package/lib/front_end/core/sdk/CSSMedia.ts +121 -0
  87. package/lib/front_end/core/sdk/CSSMetadata.ts +1647 -0
  88. package/lib/front_end/core/sdk/CSSModel.ts +1128 -0
  89. package/lib/front_end/core/sdk/CSSProperty.ts +384 -0
  90. package/lib/front_end/core/sdk/CSSPropertyParser.ts +681 -0
  91. package/lib/front_end/core/sdk/CSSPropertyParserMatchers.ts +1395 -0
  92. package/lib/front_end/core/sdk/CSSQuery.ts +72 -0
  93. package/lib/front_end/core/sdk/CSSRule.ts +465 -0
  94. package/lib/front_end/core/sdk/CSSScope.ts +30 -0
  95. package/lib/front_end/core/sdk/CSSStartingStyle.ts +29 -0
  96. package/lib/front_end/core/sdk/CSSStyleDeclaration.ts +313 -0
  97. package/lib/front_end/core/sdk/CSSStyleSheetHeader.ts +196 -0
  98. package/lib/front_end/core/sdk/CSSSupports.ts +33 -0
  99. package/lib/front_end/core/sdk/CategorizedBreakpoint.ts +64 -0
  100. package/lib/front_end/core/sdk/ChildTargetManager.ts +314 -0
  101. package/lib/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +62 -0
  102. package/lib/front_end/core/sdk/Connections.ts +293 -0
  103. package/lib/front_end/core/sdk/ConsoleModel.ts +808 -0
  104. package/lib/front_end/core/sdk/ConsoleModelTypes.ts +15 -0
  105. package/lib/front_end/core/sdk/Cookie.ts +319 -0
  106. package/lib/front_end/core/sdk/CookieModel.ts +239 -0
  107. package/lib/front_end/core/sdk/CookieParser.ts +185 -0
  108. package/lib/front_end/core/sdk/DOMDebuggerModel.ts +787 -0
  109. package/lib/front_end/core/sdk/DOMModel.ts +1961 -0
  110. package/lib/front_end/core/sdk/DebuggerModel.ts +1605 -0
  111. package/lib/front_end/core/sdk/EmulationModel.ts +648 -0
  112. package/lib/front_end/core/sdk/EnhancedTracesParser.ts +515 -0
  113. package/lib/front_end/core/sdk/EventBreakpointsModel.ts +183 -0
  114. package/lib/front_end/core/sdk/FrameAssociated.ts +11 -0
  115. package/lib/front_end/core/sdk/FrameManager.ts +259 -0
  116. package/lib/front_end/core/sdk/HeapProfilerModel.ts +225 -0
  117. package/lib/front_end/core/sdk/HttpReasonPhraseStrings.ts +77 -0
  118. package/lib/front_end/core/sdk/IOModel.ts +91 -0
  119. package/lib/front_end/core/sdk/IsolateManager.ts +257 -0
  120. package/lib/front_end/core/sdk/IssuesModel.ts +70 -0
  121. package/lib/front_end/core/sdk/LayerTreeBase.ts +169 -0
  122. package/lib/front_end/core/sdk/LogModel.ts +56 -0
  123. package/lib/front_end/core/sdk/NetworkManager.ts +2823 -0
  124. package/lib/front_end/core/sdk/NetworkRequest.ts +2253 -0
  125. package/lib/front_end/core/sdk/OverlayColorGenerator.ts +52 -0
  126. package/lib/front_end/core/sdk/OverlayModel.ts +1011 -0
  127. package/lib/front_end/core/sdk/OverlayPersistentHighlighter.ts +522 -0
  128. package/lib/front_end/core/sdk/PageLoad.ts +35 -0
  129. package/lib/front_end/core/sdk/PageResourceLoader.ts +435 -0
  130. package/lib/front_end/core/sdk/PaintProfiler.ts +110 -0
  131. package/lib/front_end/core/sdk/PerformanceMetricsModel.ts +84 -0
  132. package/lib/front_end/core/sdk/PreloadingModel.ts +863 -0
  133. package/lib/front_end/core/sdk/RehydratingConnection.ts +386 -0
  134. package/lib/front_end/core/sdk/RehydratingObject.ts +66 -0
  135. package/lib/front_end/core/sdk/RemoteObject.ts +1160 -0
  136. package/lib/front_end/core/sdk/Resource.ts +232 -0
  137. package/lib/front_end/core/sdk/ResourceTreeModel.ts +1160 -0
  138. package/lib/front_end/core/sdk/RuntimeModel.ts +732 -0
  139. package/lib/front_end/core/sdk/SDKModel.ts +65 -0
  140. package/lib/front_end/core/sdk/ScopeTreeCache.ts +45 -0
  141. package/lib/front_end/core/sdk/ScreenCaptureModel.ts +255 -0
  142. package/lib/front_end/core/sdk/Script.ts +534 -0
  143. package/lib/front_end/core/sdk/SecurityOriginManager.ts +76 -0
  144. package/lib/front_end/core/sdk/ServerSentEvents.ts +80 -0
  145. package/lib/front_end/core/sdk/ServerSentEventsProtocol.ts +122 -0
  146. package/lib/front_end/core/sdk/ServerTiming.ts +260 -0
  147. package/lib/front_end/core/sdk/ServiceWorkerCacheModel.ts +377 -0
  148. package/lib/front_end/core/sdk/ServiceWorkerManager.ts +605 -0
  149. package/lib/front_end/core/sdk/SourceMap.ts +867 -0
  150. package/lib/front_end/core/sdk/SourceMapCache.ts +54 -0
  151. package/lib/front_end/core/sdk/SourceMapFunctionRanges.ts +156 -0
  152. package/lib/front_end/core/sdk/SourceMapManager.ts +239 -0
  153. package/lib/front_end/core/sdk/SourceMapScopeChainEntry.ts +189 -0
  154. package/lib/front_end/core/sdk/SourceMapScopesInfo.ts +508 -0
  155. package/lib/front_end/core/sdk/StorageBucketsModel.ts +204 -0
  156. package/lib/front_end/core/sdk/StorageKeyManager.ts +98 -0
  157. package/lib/front_end/core/sdk/Target.ts +332 -0
  158. package/lib/front_end/core/sdk/TargetManager.ts +453 -0
  159. package/lib/front_end/core/sdk/TraceObject.ts +61 -0
  160. package/lib/front_end/core/sdk/WebAuthnModel.ts +104 -0
  161. package/lib/front_end/core/sdk/sdk.ts +174 -0
  162. package/lib/front_end/entrypoints/formatter_worker/FormatterActions.ts +59 -0
  163. package/lib/front_end/generated/InspectorBackendCommands.js +1617 -0
  164. package/lib/front_end/generated/SupportedCSSProperties.js +7512 -0
  165. package/lib/front_end/generated/protocol-proxy-api.d.ts +5022 -0
  166. package/lib/front_end/generated/protocol.ts +22014 -0
  167. package/lib/front_end/models/cpu_profile/CPUProfileDataModel.ts +571 -0
  168. package/lib/front_end/models/cpu_profile/ProfileTreeModel.ts +103 -0
  169. package/lib/front_end/models/cpu_profile/cpu_profile.ts +11 -0
  170. package/lib/front_end/models/formatter/FormatterWorkerPool.ts +219 -0
  171. package/lib/front_end/models/formatter/ScriptFormatter.ts +112 -0
  172. package/lib/front_end/models/formatter/formatter.ts +8 -0
  173. package/lib/front_end/models/text_utils/CodeMirrorUtils.ts +37 -0
  174. package/lib/front_end/models/text_utils/ContentData.ts +199 -0
  175. package/lib/front_end/models/text_utils/ContentProvider.ts +68 -0
  176. package/lib/front_end/models/text_utils/StaticContentProvider.ts +49 -0
  177. package/lib/front_end/models/text_utils/StreamingContentData.ts +108 -0
  178. package/lib/front_end/models/text_utils/Text.ts +90 -0
  179. package/lib/front_end/models/text_utils/TextCursor.ts +44 -0
  180. package/lib/front_end/models/text_utils/TextRange.ts +266 -0
  181. package/lib/front_end/models/text_utils/TextUtils.ts +401 -0
  182. package/lib/front_end/models/text_utils/WasmDisassembly.ts +87 -0
  183. package/lib/front_end/models/text_utils/text_utils.ts +27 -0
  184. package/lib/front_end/models/trace/EntityMapper.ts +141 -0
  185. package/lib/front_end/models/trace/EventsSerializer.ts +101 -0
  186. package/lib/front_end/models/trace/LanternComputationData.ts +438 -0
  187. package/lib/front_end/models/trace/ModelImpl.ts +236 -0
  188. package/lib/front_end/models/trace/Name.ts +136 -0
  189. package/lib/front_end/models/trace/Processor.ts +652 -0
  190. package/lib/front_end/models/trace/Styles.ts +1138 -0
  191. package/lib/front_end/models/trace/extras/FilmStrip.ts +78 -0
  192. package/lib/front_end/models/trace/extras/MainThreadActivity.ts +86 -0
  193. package/lib/front_end/models/trace/extras/ScriptDuplication.ts +236 -0
  194. package/lib/front_end/models/trace/extras/StackTraceForEvent.ts +203 -0
  195. package/lib/front_end/models/trace/extras/ThirdParties.ts +164 -0
  196. package/lib/front_end/models/trace/extras/TraceFilter.ts +62 -0
  197. package/lib/front_end/models/trace/extras/TraceTree.ts +701 -0
  198. package/lib/front_end/models/trace/extras/extras.ts +11 -0
  199. package/lib/front_end/models/trace/handlers/AnimationFramesHandler.ts +128 -0
  200. package/lib/front_end/models/trace/handlers/AnimationHandler.ts +36 -0
  201. package/lib/front_end/models/trace/handlers/AsyncJSCallsHandler.ts +239 -0
  202. package/lib/front_end/models/trace/handlers/AuctionWorkletsHandler.ts +183 -0
  203. package/lib/front_end/models/trace/handlers/DOMStatsHandler.ts +31 -0
  204. package/lib/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts +306 -0
  205. package/lib/front_end/models/trace/handlers/FlowsHandler.ts +175 -0
  206. package/lib/front_end/models/trace/handlers/FramesHandler.ts +571 -0
  207. package/lib/front_end/models/trace/handlers/GPUHandler.ts +50 -0
  208. package/lib/front_end/models/trace/handlers/ImagePaintingHandler.ts +183 -0
  209. package/lib/front_end/models/trace/handlers/InitiatorsHandler.ts +193 -0
  210. package/lib/front_end/models/trace/handlers/InvalidationsHandler.ts +168 -0
  211. package/lib/front_end/models/trace/handlers/LargestImagePaintHandler.ts +109 -0
  212. package/lib/front_end/models/trace/handlers/LargestTextPaintHandler.ts +35 -0
  213. package/lib/front_end/models/trace/handlers/LayerTreeHandler.ts +123 -0
  214. package/lib/front_end/models/trace/handlers/LayoutShiftsHandler.ts +573 -0
  215. package/lib/front_end/models/trace/handlers/MemoryHandler.ts +31 -0
  216. package/lib/front_end/models/trace/handlers/MetaHandler.ts +525 -0
  217. package/lib/front_end/models/trace/handlers/ModelHandlers.ts +34 -0
  218. package/lib/front_end/models/trace/handlers/NetworkRequestsHandler.ts +672 -0
  219. package/lib/front_end/models/trace/handlers/PageFramesHandler.ts +52 -0
  220. package/lib/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +460 -0
  221. package/lib/front_end/models/trace/handlers/RendererHandler.ts +428 -0
  222. package/lib/front_end/models/trace/handlers/SamplesHandler.ts +271 -0
  223. package/lib/front_end/models/trace/handlers/ScreenshotsHandler.ts +122 -0
  224. package/lib/front_end/models/trace/handlers/ScriptsHandler.ts +336 -0
  225. package/lib/front_end/models/trace/handlers/SelectorStatsHandler.ts +110 -0
  226. package/lib/front_end/models/trace/handlers/Threads.ts +139 -0
  227. package/lib/front_end/models/trace/handlers/UserInteractionsHandler.ts +400 -0
  228. package/lib/front_end/models/trace/handlers/UserTimingsHandler.ts +233 -0
  229. package/lib/front_end/models/trace/handlers/WarningsHandler.ts +162 -0
  230. package/lib/front_end/models/trace/handlers/WorkersHandler.ts +45 -0
  231. package/lib/front_end/models/trace/handlers/handlers.ts +8 -0
  232. package/lib/front_end/models/trace/handlers/helpers.ts +196 -0
  233. package/lib/front_end/models/trace/handlers/types.ts +75 -0
  234. package/lib/front_end/models/trace/helpers/Extensions.ts +54 -0
  235. package/lib/front_end/models/trace/helpers/Network.ts +129 -0
  236. package/lib/front_end/models/trace/helpers/SamplesIntegrator.ts +544 -0
  237. package/lib/front_end/models/trace/helpers/SyntheticEvents.ts +87 -0
  238. package/lib/front_end/models/trace/helpers/Timing.ts +248 -0
  239. package/lib/front_end/models/trace/helpers/Trace.ts +928 -0
  240. package/lib/front_end/models/trace/helpers/TreeHelpers.ts +320 -0
  241. package/lib/front_end/models/trace/helpers/helpers.ts +11 -0
  242. package/lib/front_end/models/trace/insights/CLSCulprits.ts +668 -0
  243. package/lib/front_end/models/trace/insights/Cache.ts +269 -0
  244. package/lib/front_end/models/trace/insights/Common.ts +453 -0
  245. package/lib/front_end/models/trace/insights/DOMSize.ts +223 -0
  246. package/lib/front_end/models/trace/insights/DocumentLatency.ts +319 -0
  247. package/lib/front_end/models/trace/insights/DuplicatedJavaScript.ts +126 -0
  248. package/lib/front_end/models/trace/insights/FontDisplay.ts +119 -0
  249. package/lib/front_end/models/trace/insights/ForcedReflow.ts +220 -0
  250. package/lib/front_end/models/trace/insights/INPBreakdown.ts +171 -0
  251. package/lib/front_end/models/trace/insights/ImageDelivery.ts +348 -0
  252. package/lib/front_end/models/trace/insights/LCPBreakdown.ts +268 -0
  253. package/lib/front_end/models/trace/insights/LCPDiscovery.ts +237 -0
  254. package/lib/front_end/models/trace/insights/LegacyJavaScript.ts +138 -0
  255. package/lib/front_end/models/trace/insights/Models.ts +22 -0
  256. package/lib/front_end/models/trace/insights/ModernHTTP.ts +257 -0
  257. package/lib/front_end/models/trace/insights/NetworkDependencyTree.ts +726 -0
  258. package/lib/front_end/models/trace/insights/RenderBlocking.ts +257 -0
  259. package/lib/front_end/models/trace/insights/SlowCSSSelector.ts +175 -0
  260. package/lib/front_end/models/trace/insights/Statistics.ts +101 -0
  261. package/lib/front_end/models/trace/insights/ThirdParties.ts +130 -0
  262. package/lib/front_end/models/trace/insights/Viewport.ts +138 -0
  263. package/lib/front_end/models/trace/insights/insights.ts +10 -0
  264. package/lib/front_end/models/trace/insights/types.ts +157 -0
  265. package/lib/front_end/models/trace/lantern/core/LanternError.ts +7 -0
  266. package/lib/front_end/models/trace/lantern/core/NetworkAnalyzer.ts +619 -0
  267. package/lib/front_end/models/trace/lantern/core/core.ts +6 -0
  268. package/lib/front_end/models/trace/lantern/graph/BaseNode.ts +345 -0
  269. package/lib/front_end/models/trace/lantern/graph/CPUNode.ts +80 -0
  270. package/lib/front_end/models/trace/lantern/graph/NetworkNode.ts +101 -0
  271. package/lib/front_end/models/trace/lantern/graph/PageDependencyGraph.ts +636 -0
  272. package/lib/front_end/models/trace/lantern/graph/graph.ts +8 -0
  273. package/lib/front_end/models/trace/lantern/lantern.ts +17 -0
  274. package/lib/front_end/models/trace/lantern/metrics/FirstContentfulPaint.ts +187 -0
  275. package/lib/front_end/models/trace/lantern/metrics/Interactive.ts +88 -0
  276. package/lib/front_end/models/trace/lantern/metrics/LargestContentfulPaint.ts +92 -0
  277. package/lib/front_end/models/trace/lantern/metrics/MaxPotentialFID.ts +72 -0
  278. package/lib/front_end/models/trace/lantern/metrics/Metric.ts +126 -0
  279. package/lib/front_end/models/trace/lantern/metrics/SpeedIndex.ts +126 -0
  280. package/lib/front_end/models/trace/lantern/metrics/TBTUtils.ts +82 -0
  281. package/lib/front_end/models/trace/lantern/metrics/TotalBlockingTime.ts +112 -0
  282. package/lib/front_end/models/trace/lantern/metrics/metrics.ts +12 -0
  283. package/lib/front_end/models/trace/lantern/simulation/ConnectionPool.ts +150 -0
  284. package/lib/front_end/models/trace/lantern/simulation/Constants.ts +46 -0
  285. package/lib/front_end/models/trace/lantern/simulation/DNSCache.ts +61 -0
  286. package/lib/front_end/models/trace/lantern/simulation/SimulationTimingMap.ts +196 -0
  287. package/lib/front_end/models/trace/lantern/simulation/Simulator.ts +556 -0
  288. package/lib/front_end/models/trace/lantern/simulation/TCPConnection.ts +192 -0
  289. package/lib/front_end/models/trace/lantern/simulation/simulation.ts +10 -0
  290. package/lib/front_end/models/trace/lantern/types/Lantern.ts +220 -0
  291. package/lib/front_end/models/trace/lantern/types/types.ts +5 -0
  292. package/lib/front_end/models/trace/trace.ts +33 -0
  293. package/lib/front_end/models/trace/types/Configuration.ts +110 -0
  294. package/lib/front_end/models/trace/types/Extensions.ts +136 -0
  295. package/lib/front_end/models/trace/types/File.ts +281 -0
  296. package/lib/front_end/models/trace/types/Overlays.ts +138 -0
  297. package/lib/front_end/models/trace/types/Timing.ts +30 -0
  298. package/lib/front_end/models/trace/types/TraceEvents.ts +3277 -0
  299. package/lib/front_end/models/trace/types/types.ts +10 -0
  300. package/lib/front_end/third_party/i18n/LICENSE +202 -0
  301. package/lib/front_end/third_party/i18n/README.chromium +15 -0
  302. package/lib/front_end/third_party/i18n/i18n-impl.ts +61 -0
  303. package/lib/front_end/third_party/i18n/i18n.ts +11 -0
  304. package/lib/front_end/third_party/i18n/localized-string-set.ts +129 -0
  305. package/lib/front_end/third_party/intl-messageformat/LICENSE +33 -0
  306. package/lib/front_end/third_party/intl-messageformat/README.chromium +24 -0
  307. package/lib/front_end/third_party/intl-messageformat/intl-messageformat-tsconfig.json +16 -0
  308. package/lib/front_end/third_party/intl-messageformat/intl-messageformat.ts +6 -0
  309. package/lib/front_end/third_party/intl-messageformat/package/LICENSE.md +33 -0
  310. package/lib/front_end/third_party/intl-messageformat/package/README.md +3 -0
  311. package/lib/front_end/third_party/intl-messageformat/package/index.d.ts +6 -0
  312. package/lib/front_end/third_party/intl-messageformat/package/index.d.ts.map +1 -0
  313. package/lib/front_end/third_party/intl-messageformat/package/index.js +13 -0
  314. package/lib/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.d.ts +5 -0
  315. package/lib/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.js +1710 -0
  316. package/lib/front_end/third_party/intl-messageformat/package/intl-messageformat.iife.js +1815 -0
  317. package/lib/front_end/third_party/intl-messageformat/package/lib/index.d.ts +6 -0
  318. package/lib/front_end/third_party/intl-messageformat/package/lib/index.d.ts.map +1 -0
  319. package/lib/front_end/third_party/intl-messageformat/package/lib/index.js +10 -0
  320. package/lib/front_end/third_party/intl-messageformat/package/lib/src/core.d.ts +34 -0
  321. package/lib/front_end/third_party/intl-messageformat/package/lib/src/core.d.ts.map +1 -0
  322. package/lib/front_end/third_party/intl-messageformat/package/lib/src/core.js +229 -0
  323. package/lib/front_end/third_party/intl-messageformat/package/lib/src/error.d.ts +28 -0
  324. package/lib/front_end/third_party/intl-messageformat/package/lib/src/error.d.ts.map +1 -0
  325. package/lib/front_end/third_party/intl-messageformat/package/lib/src/error.js +48 -0
  326. package/lib/front_end/third_party/intl-messageformat/package/lib/src/formatters.d.ts +34 -0
  327. package/lib/front_end/third_party/intl-messageformat/package/lib/src/formatters.d.ts.map +1 -0
  328. package/lib/front_end/third_party/intl-messageformat/package/lib/src/formatters.js +179 -0
  329. package/lib/front_end/third_party/intl-messageformat/package/package.json +42 -0
  330. package/lib/front_end/third_party/intl-messageformat/package/src/core.d.ts +34 -0
  331. package/lib/front_end/third_party/intl-messageformat/package/src/core.d.ts.map +1 -0
  332. package/lib/front_end/third_party/intl-messageformat/package/src/core.js +230 -0
  333. package/lib/front_end/third_party/intl-messageformat/package/src/error.d.ts +28 -0
  334. package/lib/front_end/third_party/intl-messageformat/package/src/error.d.ts.map +1 -0
  335. package/lib/front_end/third_party/intl-messageformat/package/src/error.js +51 -0
  336. package/lib/front_end/third_party/intl-messageformat/package/src/formatters.d.ts +34 -0
  337. package/lib/front_end/third_party/intl-messageformat/package/src/formatters.d.ts.map +1 -0
  338. package/lib/front_end/third_party/intl-messageformat/package/src/formatters.js +182 -0
  339. package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/error.d.ts +79 -0
  340. package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/index.d.ts +15 -0
  341. package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/parser.d.ts +153 -0
  342. package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/types.d.ts +139 -0
  343. package/lib/front_end/third_party/legacy-javascript/LICENSE +202 -0
  344. package/lib/front_end/third_party/legacy-javascript/README.chromium +13 -0
  345. package/lib/front_end/third_party/legacy-javascript/legacy-javascript-tsconfig.json +8 -0
  346. package/lib/front_end/third_party/legacy-javascript/legacy-javascript.ts +3 -0
  347. package/lib/front_end/third_party/legacy-javascript/lib/legacy-javascript.d.ts +18 -0
  348. package/lib/front_end/third_party/legacy-javascript/lib/legacy-javascript.js +943 -0
  349. package/lib/front_end/third_party/legacy-javascript/package.json +8 -0
  350. package/lib/front_end/third_party/legacy-javascript/rebuild.sh +9 -0
  351. package/lib/front_end/third_party/third-party-web/LICENSE +20 -0
  352. package/lib/front_end/third_party/third-party-web/README.chromium +13 -0
  353. package/lib/front_end/third_party/third-party-web/lib/nostats-subset.d.ts +2 -0
  354. package/lib/front_end/third_party/third-party-web/lib/nostats-subset.js +149 -0
  355. package/lib/front_end/third_party/third-party-web/package/LICENSE +20 -0
  356. package/lib/front_end/third_party/third-party-web/package/README.md +929 -0
  357. package/lib/front_end/third_party/third-party-web/package/dist/entities-httparchive-nostats.json +1 -0
  358. package/lib/front_end/third_party/third-party-web/package/dist/entities-httparchive.json +1 -0
  359. package/lib/front_end/third_party/third-party-web/package/dist/entities-nostats.json +1 -0
  360. package/lib/front_end/third_party/third-party-web/package/dist/entities.json +1 -0
  361. package/lib/front_end/third_party/third-party-web/package/facades.md +46 -0
  362. package/lib/front_end/third_party/third-party-web/package/httparchive-nostats-subset.d.ts +1 -0
  363. package/lib/front_end/third_party/third-party-web/package/httparchive-nostats-subset.js +1 -0
  364. package/lib/front_end/third_party/third-party-web/package/httparchive-subset.d.ts +1 -0
  365. package/lib/front_end/third_party/third-party-web/package/httparchive-subset.js +1 -0
  366. package/lib/front_end/third_party/third-party-web/package/lib/__snapshots__/index.test.js.snap +1006 -0
  367. package/lib/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.js +139 -0
  368. package/lib/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.test.js +44 -0
  369. package/lib/front_end/third_party/third-party-web/package/lib/entities.test.js +27 -0
  370. package/lib/front_end/third_party/third-party-web/package/lib/index.d.ts +34 -0
  371. package/lib/front_end/third_party/third-party-web/package/lib/index.js +3 -0
  372. package/lib/front_end/third_party/third-party-web/package/lib/index.test.js +246 -0
  373. package/lib/front_end/third_party/third-party-web/package/lib/markdown/faqs.partial.md +36 -0
  374. package/lib/front_end/third_party/third-party-web/package/lib/markdown/goals.partial.md +9 -0
  375. package/lib/front_end/third_party/third-party-web/package/lib/markdown/methodology.partial.md +5 -0
  376. package/lib/front_end/third_party/third-party-web/package/lib/markdown/template.md +151 -0
  377. package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-02-01.md +1 -0
  378. package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-03-01.md +1 -0
  379. package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-05-06.md +1 -0
  380. package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-05-13.md +14 -0
  381. package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2021-01-01.md +1 -0
  382. package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2024-07-01.md +3 -0
  383. package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.d.ts +1 -0
  384. package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.js +3 -0
  385. package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive.d.ts +1 -0
  386. package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive.js +3 -0
  387. package/lib/front_end/third_party/third-party-web/package/lib/subsets/nostats.d.ts +1 -0
  388. package/lib/front_end/third_party/third-party-web/package/lib/subsets/nostats.js +3 -0
  389. package/lib/front_end/third_party/third-party-web/package/nostats-subset.d.ts +1 -0
  390. package/lib/front_end/third_party/third-party-web/package/nostats-subset.js +1 -0
  391. package/lib/front_end/third_party/third-party-web/package/package.json +46 -0
  392. package/lib/front_end/third_party/third-party-web/package.json +8 -0
  393. package/lib/front_end/third_party/third-party-web/rebuild.sh +13 -0
  394. package/lib/front_end/third_party/third-party-web/third-party-web-tsconfig.json +8 -0
  395. package/lib/front_end/third_party/third-party-web/third-party-web.ts +3 -0
  396. package/package.json +24 -0
  397. package/patches/chrome-devtools-frontend+1.0.1533544.patch +187 -0
@@ -0,0 +1,42 @@
1
+ // Copyright 2018 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 '../common/common.js';
6
+ import * as Host from '../host/host.js';
7
+ import type * as Platform from '../platform/platform.js';
8
+
9
+ export class NodeURL {
10
+ static patch(object: {
11
+ url?: string,
12
+ }): void {
13
+ process(object, '');
14
+
15
+ function process(object: {url?: string}, path: string): void {
16
+ if (object.url && NodeURL.isPlatformPath(object.url, Host.Platform.isWin())) {
17
+ // object.url can be of both types: RawPathString and UrlString
18
+ object.url = Common.ParsedURL.ParsedURL.rawPathToUrlString(object.url as Platform.DevToolsPath.RawPathString);
19
+ }
20
+ for (const entry of Object.entries(object)) {
21
+ const key = entry[0];
22
+ const value = entry[1];
23
+ const entryPath = path + '.' + key;
24
+ if (entryPath !== '.result.result.value' && value !== null && typeof value === 'object') {
25
+ process(
26
+ (value as {
27
+ url: string,
28
+ }),
29
+ entryPath);
30
+ }
31
+ }
32
+ }
33
+ }
34
+
35
+ static isPlatformPath(fileSystemPath: string, isWindows: boolean): boolean {
36
+ if (isWindows) {
37
+ const re = /^([a-z]:[\/\\]|\\\\)/i;
38
+ return re.test(fileSystemPath);
39
+ }
40
+ return fileSystemPath.length ? fileSystemPath[0] === '/' : false;
41
+ }
42
+ }
@@ -0,0 +1,13 @@
1
+ // Copyright 2019 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 ConnectionTransport from './ConnectionTransport.js';
6
+ import * as InspectorBackend from './InspectorBackend.js';
7
+ import * as NodeURL from './NodeURL.js';
8
+
9
+ export {
10
+ ConnectionTransport,
11
+ InspectorBackend,
12
+ NodeURL,
13
+ };
@@ -0,0 +1,609 @@
1
+ // Copyright 2020 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 Platform from '../platform/platform.js';
6
+
7
+ let runtimePlatform = '';
8
+
9
+ let runtimeInstance: Runtime|undefined;
10
+ let isNode: boolean|undefined;
11
+ let isTraceAppEntry: boolean|undefined;
12
+
13
+ /**
14
+ * Returns the base URL (similar to `<base>`).
15
+ * Used to resolve the relative URLs of any additional DevTools files (locale strings, etc) needed.
16
+ * See: https://cs.chromium.org/remoteBase+f:devtools_window
17
+ */
18
+ export function getRemoteBase(location: string = self.location.toString()): {
19
+ base: string,
20
+ version: string,
21
+ }|null {
22
+ const url = new URL(location);
23
+ const remoteBase = url.searchParams.get('remoteBase');
24
+ if (!remoteBase) {
25
+ return null;
26
+ }
27
+
28
+ const version = /\/serve_file\/(@[0-9a-zA-Z]+)\/?$/.exec(remoteBase);
29
+ if (!version) {
30
+ return null;
31
+ }
32
+
33
+ return {base: `devtools://devtools/remote/serve_file/${version[1]}/`, version: version[1]};
34
+ }
35
+
36
+ export function getPathName(): string {
37
+ return window.location.pathname;
38
+ }
39
+
40
+ export function isNodeEntry(pathname: string): boolean {
41
+ const nodeEntryPoints = ['node_app', 'js_app'];
42
+ return nodeEntryPoints.some(component => pathname.includes(component));
43
+ }
44
+
45
+ export const getChromeVersion = (): string => {
46
+ const chromeRegex = /(?:^|\W)(?:Chrome|HeadlessChrome)\/(\S+)/;
47
+ const chromeMatch = navigator.userAgent.match(chromeRegex);
48
+ if (chromeMatch && chromeMatch.length > 1) {
49
+ return chromeMatch[1];
50
+ }
51
+ return '';
52
+ };
53
+
54
+ export class Runtime {
55
+ private constructor() {
56
+ }
57
+
58
+ static instance(opts: {
59
+ forceNew: boolean|null,
60
+ }|undefined = {forceNew: null}): Runtime {
61
+ const {forceNew} = opts;
62
+ if (!runtimeInstance || forceNew) {
63
+ runtimeInstance = new Runtime();
64
+ }
65
+
66
+ return runtimeInstance;
67
+ }
68
+
69
+ static removeInstance(): void {
70
+ runtimeInstance = undefined;
71
+ }
72
+
73
+ static queryParamsObject: URLSearchParams;
74
+
75
+ static getSearchParams(): URLSearchParams {
76
+ if (!Runtime.queryParamsObject) {
77
+ Runtime.queryParamsObject = new URLSearchParams(location.search);
78
+ }
79
+ return Runtime.queryParamsObject;
80
+ }
81
+
82
+ static queryParam(name: string): string|null {
83
+ return Runtime.getSearchParams().get(name);
84
+ }
85
+
86
+ static setQueryParamForTesting(name: string, value: string): void {
87
+ Runtime.getSearchParams().set(name, value);
88
+ }
89
+
90
+ static isNode(): boolean {
91
+ if (isNode === undefined) {
92
+ isNode = isNodeEntry(getPathName());
93
+ }
94
+ return isNode;
95
+ }
96
+
97
+ /**
98
+ * Returns true if viewing the slimmed-down devtools meant for just viewing a
99
+ * performance trace, e.g. devtools://devtools/bundled/trace_app.html?traceURL=http://...
100
+ */
101
+ static isTraceApp(): boolean {
102
+ if (isTraceAppEntry === undefined) {
103
+ isTraceAppEntry = getPathName().includes('trace_app');
104
+ }
105
+ return isTraceAppEntry;
106
+ }
107
+
108
+ static setPlatform(platform: string): void {
109
+ runtimePlatform = platform;
110
+ }
111
+
112
+ static platform(): string {
113
+ return runtimePlatform;
114
+ }
115
+
116
+ static isDescriptorEnabled(descriptor: {experiment?: string|null, condition?: Condition}): boolean {
117
+ const {experiment} = descriptor;
118
+ if (experiment === '*') {
119
+ return true;
120
+ }
121
+ if (experiment && experiment.startsWith('!') && experiments.isEnabled(experiment.substring(1))) {
122
+ return false;
123
+ }
124
+ if (experiment && !experiment.startsWith('!') && !experiments.isEnabled(experiment)) {
125
+ return false;
126
+ }
127
+ const {condition} = descriptor;
128
+ return condition ? condition(hostConfig) : true;
129
+ }
130
+
131
+ loadLegacyModule(modulePath: string): Promise<unknown> {
132
+ // eslint-disable-next-line no-console
133
+ console.log('Loading legacy module: ' + modulePath);
134
+ const importPath =
135
+ `../../${modulePath}`; // Extracted as a variable so esbuild doesn't attempt to bundle all the things.
136
+ return import(importPath).then(m => {
137
+ // eslint-disable-next-line no-console
138
+ console.log('Loaded legacy module: ' + modulePath);
139
+ return m;
140
+ });
141
+ }
142
+ }
143
+
144
+ export interface Option {
145
+ title: string;
146
+ value: string|boolean;
147
+ raw?: boolean;
148
+ text?: string;
149
+ }
150
+
151
+ export class ExperimentsSupport {
152
+ #experiments: Experiment[] = [];
153
+ readonly #experimentNames = new Set<string>();
154
+ readonly #enabledTransiently = new Set<string>();
155
+ readonly #enabledByDefault = new Set<string>();
156
+ readonly #serverEnabled = new Set<string>();
157
+ readonly #storage = new ExperimentStorage();
158
+
159
+ allConfigurableExperiments(): Experiment[] {
160
+ const result = [];
161
+ for (const experiment of this.#experiments) {
162
+ if (!this.#enabledTransiently.has(experiment.name)) {
163
+ result.push(experiment);
164
+ }
165
+ }
166
+ return result;
167
+ }
168
+
169
+ register(
170
+ experimentName: string, experimentTitle: string, unstable?: boolean, docLink?: string,
171
+ feedbackLink?: string): void {
172
+ if (this.#experimentNames.has(experimentName)) {
173
+ throw new Error(`Duplicate registration of experiment '${experimentName}'`);
174
+ }
175
+ this.#experimentNames.add(experimentName);
176
+ this.#experiments.push(new Experiment(
177
+ this, experimentName, experimentTitle, Boolean(unstable),
178
+ docLink as Platform.DevToolsPath.UrlString ?? Platform.DevToolsPath.EmptyUrlString,
179
+ feedbackLink as Platform.DevToolsPath.UrlString ?? Platform.DevToolsPath.EmptyUrlString));
180
+ }
181
+
182
+ isEnabled(experimentName: string): boolean {
183
+ this.checkExperiment(experimentName);
184
+ // Check for explicitly disabled #experiments first - the code could call setEnable(false) on the experiment enabled
185
+ // by default and we should respect that.
186
+ if (this.#storage.get(experimentName) === false) {
187
+ return false;
188
+ }
189
+ if (this.#enabledTransiently.has(experimentName) || this.#enabledByDefault.has(experimentName)) {
190
+ return true;
191
+ }
192
+ if (this.#serverEnabled.has(experimentName)) {
193
+ return true;
194
+ }
195
+
196
+ return Boolean(this.#storage.get(experimentName));
197
+ }
198
+
199
+ setEnabled(experimentName: string, enabled: boolean): void {
200
+ this.checkExperiment(experimentName);
201
+ this.#storage.set(experimentName, enabled);
202
+ }
203
+
204
+ enableExperimentsTransiently(experimentNames: string[]): void {
205
+ for (const experimentName of experimentNames) {
206
+ this.checkExperiment(experimentName);
207
+ this.#enabledTransiently.add(experimentName);
208
+ }
209
+ }
210
+
211
+ enableExperimentsByDefault(experimentNames: string[]): void {
212
+ for (const experimentName of experimentNames) {
213
+ this.checkExperiment(experimentName);
214
+ this.#enabledByDefault.add(experimentName);
215
+ }
216
+ }
217
+
218
+ setServerEnabledExperiments(experimentNames: string[]): void {
219
+ for (const experiment of experimentNames) {
220
+ this.checkExperiment(experiment);
221
+ this.#serverEnabled.add(experiment);
222
+ }
223
+ }
224
+
225
+ enableForTest(experimentName: string): void {
226
+ this.checkExperiment(experimentName);
227
+ this.#enabledTransiently.add(experimentName);
228
+ }
229
+
230
+ disableForTest(experimentName: string): void {
231
+ this.checkExperiment(experimentName);
232
+ this.#enabledTransiently.delete(experimentName);
233
+ }
234
+
235
+ clearForTest(): void {
236
+ this.#experiments = [];
237
+ this.#experimentNames.clear();
238
+ this.#enabledTransiently.clear();
239
+ this.#enabledByDefault.clear();
240
+ this.#serverEnabled.clear();
241
+ }
242
+
243
+ cleanUpStaleExperiments(): void {
244
+ this.#storage.cleanUpStaleExperiments(this.#experimentNames);
245
+ }
246
+
247
+ private checkExperiment(experimentName: string): void {
248
+ if (!this.#experimentNames.has(experimentName)) {
249
+ throw new Error(`Unknown experiment '${experimentName}'`);
250
+ }
251
+ }
252
+ }
253
+
254
+ /** Manages the 'experiments' dictionary in self.localStorage */
255
+ class ExperimentStorage {
256
+ readonly #experiments: Record<string, boolean|undefined> = {};
257
+
258
+ constructor() {
259
+ try {
260
+ const storedExperiments = self.localStorage?.getItem('experiments');
261
+ if (storedExperiments) {
262
+ this.#experiments = JSON.parse(storedExperiments);
263
+ }
264
+ } catch {
265
+ console.error('Failed to parse localStorage[\'experiments\']');
266
+ }
267
+ }
268
+
269
+ /**
270
+ * Experiments are stored with a tri-state:
271
+ * - true: Explicitly enabled.
272
+ * - false: Explicitly disabled.
273
+ * - undefined: Disabled.
274
+ */
275
+ get(experimentName: string): boolean|undefined {
276
+ return this.#experiments[experimentName];
277
+ }
278
+
279
+ set(experimentName: string, enabled: boolean): void {
280
+ this.#experiments[experimentName] = enabled;
281
+ this.#syncToLocalStorage();
282
+ }
283
+
284
+ cleanUpStaleExperiments(validExperiments: Set<string>): void {
285
+ for (const [key] of Object.entries(this.#experiments)) {
286
+ if (!validExperiments.has(key)) {
287
+ delete this.#experiments[key];
288
+ }
289
+ }
290
+ this.#syncToLocalStorage();
291
+ }
292
+
293
+ #syncToLocalStorage(): void {
294
+ self.localStorage?.setItem('experiments', JSON.stringify(this.#experiments));
295
+ }
296
+ }
297
+
298
+ export class Experiment {
299
+ name: string;
300
+ title: string;
301
+ unstable: boolean;
302
+ docLink?: Platform.DevToolsPath.UrlString;
303
+ readonly feedbackLink?: Platform.DevToolsPath.UrlString;
304
+ readonly #experiments: ExperimentsSupport;
305
+ constructor(
306
+ experiments: ExperimentsSupport, name: string, title: string, unstable: boolean,
307
+ docLink: Platform.DevToolsPath.UrlString, feedbackLink: Platform.DevToolsPath.UrlString) {
308
+ this.name = name;
309
+ this.title = title;
310
+ this.unstable = unstable;
311
+ this.docLink = docLink;
312
+ this.feedbackLink = feedbackLink;
313
+ this.#experiments = experiments;
314
+ }
315
+
316
+ isEnabled(): boolean {
317
+ return this.#experiments.isEnabled(this.name);
318
+ }
319
+
320
+ setEnabled(enabled: boolean): void {
321
+ this.#experiments.setEnabled(this.name, enabled);
322
+ }
323
+ }
324
+
325
+ /** This must be constructed after the query parameters have been parsed. **/
326
+ export const experiments = new ExperimentsSupport();
327
+
328
+ /**
329
+ * @deprecated Experiments should not be used anymore, instead use base::Feature.
330
+ * See docs/contributing/settings-experiments-features.md
331
+ */
332
+ export const enum ExperimentName {
333
+ CAPTURE_NODE_CREATION_STACKS = 'capture-node-creation-stacks',
334
+ CSS_OVERVIEW = 'css-overview',
335
+ LIVE_HEAP_PROFILE = 'live-heap-profile',
336
+ ALL = '*',
337
+ PROTOCOL_MONITOR = 'protocol-monitor',
338
+ FULL_ACCESSIBILITY_TREE = 'full-accessibility-tree',
339
+ HEADER_OVERRIDES = 'header-overrides',
340
+ INSTRUMENTATION_BREAKPOINTS = 'instrumentation-breakpoints',
341
+ AUTHORED_DEPLOYED_GROUPING = 'authored-deployed-grouping',
342
+ JUST_MY_CODE = 'just-my-code',
343
+ USE_SOURCE_MAP_SCOPES = 'use-source-map-scopes',
344
+ TIMELINE_SHOW_POST_MESSAGE_EVENTS = 'timeline-show-postmessage-events',
345
+ TIMELINE_DEBUG_MODE = 'timeline-debug-mode',
346
+ // Adding or removing an entry from this enum?
347
+ // You will need to update:
348
+ // 1. REGISTERED_EXPERIMENTS in EnvironmentHelpers.ts (to create this experiment in the test env)
349
+ // 2. DevToolsExperiments enum in host/UserMetrics.ts
350
+ }
351
+
352
+ export enum GenAiEnterprisePolicyValue {
353
+ ALLOW = 0,
354
+ ALLOW_WITHOUT_LOGGING = 1,
355
+ DISABLE = 2,
356
+ }
357
+
358
+ export interface AidaAvailability {
359
+ enabled: boolean;
360
+ blockedByAge: boolean;
361
+ blockedByEnterprisePolicy: boolean;
362
+ blockedByGeo: boolean;
363
+ disallowLogging: boolean;
364
+ enterprisePolicyValue: number;
365
+ }
366
+
367
+ type Channel = 'stable'|'beta'|'dev'|'canary';
368
+
369
+ export interface HostConfigConsoleInsights {
370
+ modelId: string;
371
+ temperature: number;
372
+ enabled: boolean;
373
+ }
374
+
375
+ export enum HostConfigFreestylerExecutionMode {
376
+ ALL_SCRIPTS = 'ALL_SCRIPTS',
377
+ SIDE_EFFECT_FREE_SCRIPTS_ONLY = 'SIDE_EFFECT_FREE_SCRIPTS_ONLY',
378
+ NO_SCRIPTS = 'NO_SCRIPTS',
379
+ }
380
+
381
+ export interface HostConfigFreestyler {
382
+ modelId: string;
383
+ temperature: number;
384
+ enabled: boolean;
385
+ userTier: string;
386
+ executionMode?: HostConfigFreestylerExecutionMode;
387
+ patching?: boolean;
388
+ multimodal?: boolean;
389
+ multimodalUploadInput?: boolean;
390
+ functionCalling?: boolean;
391
+ featureName?: string;
392
+ }
393
+
394
+ export interface HostConfigAiAssistanceNetworkAgent {
395
+ modelId: string;
396
+ temperature: number;
397
+ enabled: boolean;
398
+ userTier: string;
399
+ featureName?: string;
400
+ }
401
+
402
+ export interface HostConfigAiAssistancePerformanceAgent {
403
+ modelId: string;
404
+ temperature: number;
405
+ enabled: boolean;
406
+ userTier: string;
407
+ featureName?: string;
408
+ }
409
+
410
+ export interface HostConfigAiAssistanceFileAgent {
411
+ modelId: string;
412
+ temperature: number;
413
+ enabled: boolean;
414
+ userTier: string;
415
+ featureName?: string;
416
+ }
417
+
418
+ export interface HostConfigAiCodeCompletion {
419
+ modelId: string;
420
+ temperature: number;
421
+ enabled: boolean;
422
+ userTier: string;
423
+ }
424
+
425
+ export interface HostConfigDeepLinksViaExtensibilityApi {
426
+ enabled: boolean;
427
+ }
428
+
429
+ export interface HostConfigVeLogging {
430
+ enabled: boolean;
431
+ testing: boolean;
432
+ }
433
+
434
+ /**
435
+ * @see https://goo.gle/devtools-json-design
436
+ */
437
+ export interface HostConfigWellKnown {
438
+ enabled: boolean;
439
+ }
440
+
441
+ export interface HostConfigPrivacyUI {
442
+ enabled: boolean;
443
+ }
444
+
445
+ export interface HostConfigEnableOriginBoundCookies {
446
+ portBindingEnabled: boolean;
447
+ schemeBindingEnabled: boolean;
448
+ }
449
+
450
+ export interface HostConfigAnimationStylesInStylesTab {
451
+ enabled: boolean;
452
+ }
453
+
454
+ export interface HostConfigThirdPartyCookieControls {
455
+ thirdPartyCookieRestrictionEnabled: boolean;
456
+ thirdPartyCookieMetadataEnabled: boolean;
457
+ thirdPartyCookieHeuristicsEnabled: boolean;
458
+ managedBlockThirdPartyCookies: string|boolean;
459
+ }
460
+
461
+ export interface HostConfigIPProtection {
462
+ enabled: boolean;
463
+ }
464
+
465
+ interface AiGeneratedTimelineLabels {
466
+ enabled: boolean;
467
+ }
468
+
469
+ interface AllowPopoverForcing {
470
+ enabled: boolean;
471
+ }
472
+
473
+ interface AiSubmenuPrompts {
474
+ enabled: boolean;
475
+ featureName?: string;
476
+ }
477
+
478
+ interface IpProtectionInDevTools {
479
+ enabled: boolean;
480
+ }
481
+
482
+ interface AiDebugWithAi {
483
+ enabled: boolean;
484
+ featureName?: string;
485
+ }
486
+
487
+ interface GlobalAiButton {
488
+ enabled: boolean;
489
+ promotionEnabled: boolean;
490
+ }
491
+
492
+ interface GdpProfiles {
493
+ enabled: boolean;
494
+ badgesEnabled: boolean;
495
+ starterBadgeEnabled: boolean;
496
+ }
497
+
498
+ export enum GdpProfilesEnterprisePolicyValue {
499
+ ENABLED = 0,
500
+ ENABLED_WITHOUT_BADGES = 1,
501
+ DISABLED = 2,
502
+ }
503
+
504
+ interface GdpProfilesAvailability {
505
+ // Whether GDP profiles can be enabled on this host (only possible on branded builds).
506
+ enabled: boolean;
507
+ enterprisePolicyValue: GdpProfilesEnterprisePolicyValue;
508
+ }
509
+
510
+ interface LiveEdit {
511
+ enabled: boolean;
512
+ }
513
+
514
+ interface DevToolsFlexibleLayout {
515
+ verticalDrawerEnabled: boolean;
516
+ }
517
+
518
+ interface DevToolsStartingStyleDebugging {
519
+ enabled: boolean;
520
+ }
521
+
522
+ interface AiPromptApi {
523
+ enabled: boolean;
524
+ }
525
+
526
+ interface DevToolsIndividualRequestThrottling {
527
+ enabled: boolean;
528
+ }
529
+
530
+ export interface DevToolsEnableDurableMessages {
531
+ enabled: boolean;
532
+ }
533
+
534
+ /**
535
+ * The host configuration that we expect from the DevTools back-end.
536
+ *
537
+ * We use `RecursivePartial` here to enforce that DevTools code is able to
538
+ * handle `HostConfig` objects of an unexpected shape. This can happen if
539
+ * the implementation in the Chromium backend is changed without correctly
540
+ * updating the DevTools frontend. Or if remote debugging a different version
541
+ * of Chrome, resulting in the local browser window and the local DevTools
542
+ * window being of different versions, and consequently potentially having
543
+ * differently shaped `HostConfig`s.
544
+ *
545
+ * @see hostConfig
546
+ */
547
+ export type HostConfig = Platform.TypeScriptUtilities.RecursivePartial<{
548
+ aidaAvailability: AidaAvailability,
549
+ channel: Channel,
550
+ devToolsConsoleInsights: HostConfigConsoleInsights,
551
+ devToolsDeepLinksViaExtensibilityApi: HostConfigDeepLinksViaExtensibilityApi,
552
+ devToolsFreestyler: HostConfigFreestyler,
553
+ devToolsAiAssistanceNetworkAgent: HostConfigAiAssistanceNetworkAgent,
554
+ devToolsAiDebugWithAi: AiDebugWithAi,
555
+ devToolsAiAssistanceFileAgent: HostConfigAiAssistanceFileAgent,
556
+ devToolsAiAssistancePerformanceAgent: HostConfigAiAssistancePerformanceAgent,
557
+ devToolsAiCodeCompletion: HostConfigAiCodeCompletion,
558
+ devToolsVeLogging: HostConfigVeLogging,
559
+ devToolsWellKnown: HostConfigWellKnown,
560
+ devToolsPrivacyUI: HostConfigPrivacyUI,
561
+ devToolsIndividualRequestThrottling: DevToolsIndividualRequestThrottling,
562
+ devToolsIpProtectionPanelInDevTools: HostConfigIPProtection,
563
+ /**
564
+ * OffTheRecord here indicates that the user's profile is either incognito,
565
+ * or guest mode, rather than a "normal" profile.
566
+ */
567
+ isOffTheRecord: boolean,
568
+ devToolsEnableOriginBoundCookies: HostConfigEnableOriginBoundCookies,
569
+ devToolsAnimationStylesInStylesTab: HostConfigAnimationStylesInStylesTab,
570
+ thirdPartyCookieControls: HostConfigThirdPartyCookieControls,
571
+ devToolsAiGeneratedTimelineLabels: AiGeneratedTimelineLabels,
572
+ devToolsAllowPopoverForcing: AllowPopoverForcing,
573
+ devToolsAiSubmenuPrompts: AiSubmenuPrompts,
574
+ devToolsIpProtectionInDevTools: IpProtectionInDevTools,
575
+ devToolsGlobalAiButton: GlobalAiButton,
576
+ devToolsGdpProfiles: GdpProfiles,
577
+ devToolsGdpProfilesAvailability: GdpProfilesAvailability,
578
+ devToolsLiveEdit: LiveEdit,
579
+ devToolsFlexibleLayout: DevToolsFlexibleLayout,
580
+ devToolsStartingStyleDebugging: DevToolsStartingStyleDebugging,
581
+ devToolsAiPromptApi: AiPromptApi,
582
+ devToolsEnableDurableMessages: DevToolsEnableDurableMessages,
583
+ }>;
584
+
585
+ /**
586
+ * The host configuration for this DevTools instance.
587
+ *
588
+ * This is initialized early during app startup and should not be modified
589
+ * afterwards. In some cases it can be necessary to re-request the host
590
+ * configuration from Chrome while DevTools is already running. In these
591
+ * cases, the new host configuration should be reflected here, e.g.:
592
+ *
593
+ * ```js
594
+ * const config = await new Promise<Root.Runtime.HostConfig>(
595
+ * resolve => InspectorFrontendHostInstance.getHostConfig(resolve));
596
+ * Object.assign(Root.runtime.hostConfig, config);
597
+ * ```
598
+ */
599
+ export const hostConfig: Platform.TypeScriptUtilities.RecursiveReadonly<HostConfig> = Object.create(null);
600
+
601
+ /**
602
+ * When defining conditions make sure that objects used by the function have
603
+ * been instantiated.
604
+ */
605
+ export type Condition = (config?: HostConfig) => boolean;
606
+
607
+ export const conditions = {
608
+ canDock: () => Boolean(Runtime.queryParam('can_dock')),
609
+ };
@@ -0,0 +1,6 @@
1
+ // Copyright 2020 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
+ import * as Runtime from './Runtime.js';
5
+
6
+ export {Runtime};