chrome-devtools-mcp 0.12.0 → 0.13.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 (702) hide show
  1. package/README.md +103 -19
  2. package/build/src/DevtoolsUtils.js +16 -14
  3. package/build/src/McpContext.js +20 -5
  4. package/build/src/McpResponse.js +40 -21
  5. package/build/src/PageCollector.js +28 -18
  6. package/build/src/browser.js +3 -2
  7. package/build/src/cli.js +30 -0
  8. package/build/src/formatters/SnapshotFormatter.js +128 -0
  9. package/build/src/formatters/consoleFormatter.js +40 -5
  10. package/build/src/issue-descriptions.js +1 -1
  11. package/build/src/main.js +45 -7
  12. package/build/src/telemetry/clearcut-logger.js +28 -0
  13. package/build/src/telemetry/clearcut-sender.js +11 -0
  14. package/build/src/telemetry/flag-utils.js +45 -0
  15. package/build/src/telemetry/types.js +27 -0
  16. package/build/src/third_party/THIRD_PARTY_NOTICES +603 -6
  17. package/build/src/third_party/devtools.js +6 -0
  18. package/build/src/third_party/index.js +82488 -642
  19. package/build/src/third_party/issue-descriptions/permissionElementActivationDisabled.md +7 -0
  20. package/build/src/third_party/issue-descriptions/permissionElementActivationDisabledWithOccluder.md +9 -0
  21. package/build/src/third_party/issue-descriptions/permissionElementActivationDisabledWithOccluderParent.md +9 -0
  22. package/build/src/third_party/issue-descriptions/permissionElementCspFrameAncestorsMissing.md +5 -0
  23. package/build/src/third_party/issue-descriptions/permissionElementFencedFrameDisallowed.md +5 -0
  24. package/build/src/third_party/issue-descriptions/permissionElementFontSizeTooLarge.md +5 -0
  25. package/build/src/third_party/issue-descriptions/permissionElementFontSizeTooSmall.md +5 -0
  26. package/build/src/third_party/issue-descriptions/permissionElementGeolocationDeprecated.md +5 -0
  27. package/build/src/third_party/issue-descriptions/permissionElementInsetBoxShadowUnsupported.md +5 -0
  28. package/build/src/third_party/issue-descriptions/permissionElementInvalidDisplayStyle.md +5 -0
  29. package/build/src/third_party/issue-descriptions/permissionElementInvalidSizeValue.md +5 -0
  30. package/build/src/third_party/issue-descriptions/permissionElementInvalidType.md +5 -0
  31. package/build/src/third_party/issue-descriptions/permissionElementInvalidTypeActivation.md +5 -0
  32. package/build/src/third_party/issue-descriptions/permissionElementLowContrast.md +5 -0
  33. package/build/src/third_party/issue-descriptions/permissionElementNonOpaqueColor.md +5 -0
  34. package/build/src/third_party/issue-descriptions/permissionElementPaddingBottomUnsupported.md +6 -0
  35. package/build/src/third_party/issue-descriptions/permissionElementPaddingRightUnsupported.md +6 -0
  36. package/build/src/third_party/issue-descriptions/permissionElementPermissionsPolicyBlocked.md +5 -0
  37. package/build/src/third_party/issue-descriptions/permissionElementRegistrationFailed.md +5 -0
  38. package/build/src/third_party/issue-descriptions/permissionElementRequestInProgress.md +5 -0
  39. package/build/src/third_party/issue-descriptions/permissionElementSecurityChecksFailed.md +5 -0
  40. package/build/src/third_party/issue-descriptions/permissionElementTypeNotSupported.md +5 -0
  41. package/build/src/third_party/issue-descriptions/permissionElementUntrustedEvent.md +7 -0
  42. package/build/src/tools/input.js +31 -4
  43. package/build/src/tools/pages.js +49 -8
  44. package/build/src/tools/performance.js +32 -7
  45. package/build/src/trace-processing/parse.js +7 -7
  46. package/build/src/utils/string.js +36 -0
  47. package/package.json +15 -14
  48. package/build/node_modules/chrome-devtools-frontend/LICENSE +0 -27
  49. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/App.js +0 -4
  50. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/AppProvider.js +0 -17
  51. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Base64.js +0 -43
  52. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/CharacterIdMap.js +0 -27
  53. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Color.js +0 -2033
  54. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ColorConverter.js +0 -332
  55. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ColorUtils.js +0 -221
  56. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Console.js +0 -79
  57. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Debouncer.js +0 -14
  58. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/EventTarget.js +0 -14
  59. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Gzip.js +0 -66
  60. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/JavaScriptMetaData.js +0 -4
  61. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Lazy.js +0 -29
  62. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/MapWithDefault.js +0 -22
  63. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Mutex.js +0 -49
  64. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Object.js +0 -86
  65. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ParsedURL.js +0 -449
  66. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Progress.js +0 -144
  67. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ResolverBase.js +0 -69
  68. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ResourceType.js +0 -495
  69. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ReturnToPanel.js +0 -15
  70. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Revealer.js +0 -164
  71. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Runnable.js +0 -24
  72. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/SegmentedRange.js +0 -78
  73. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/SettingRegistration.js +0 -164
  74. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Settings.js +0 -1263
  75. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/SimpleHistoryManager.js +0 -97
  76. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/StringOutputStream.js +0 -14
  77. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/TextDictionary.js +0 -40
  78. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Throttler.js +0 -71
  79. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Trie.js +0 -127
  80. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/common.js +0 -41
  81. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/AidaClient.js +0 -434
  82. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/DispatchHttpRequestClient.js +0 -66
  83. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/GdpClient.js +0 -202
  84. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHost.js +0 -92
  85. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHostAPI.js +0 -69
  86. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHostStub.js +0 -430
  87. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/Platform.js +0 -61
  88. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/ResourceLoader.js +0 -220
  89. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/UserMetrics.js +0 -968
  90. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/host.js +0 -13
  91. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/ByteUtilities.js +0 -72
  92. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/DevToolsLocale.js +0 -64
  93. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/NumberFormatter.js +0 -67
  94. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/collect-ui-strings.js +0 -73
  95. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/generate-locales-js.js +0 -51
  96. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/i18n.js +0 -9
  97. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/i18nImpl.js +0 -135
  98. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/i18nTypes.js +0 -4
  99. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/locales.js +0 -14
  100. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/time-utilities.js +0 -148
  101. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/ArrayUtilities.js +0 -199
  102. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/Brand.js +0 -4
  103. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/Constructor.js +0 -4
  104. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/DateUtilities.js +0 -13
  105. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/DevToolsPath.js +0 -27
  106. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/HostRuntime.js +0 -19
  107. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/KeyboardUtilities.js +0 -21
  108. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/MapUtilities.js +0 -79
  109. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/MimeType.js +0 -143
  110. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/NumberUtilities.js +0 -72
  111. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/StringUtilities.js +0 -538
  112. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/Timing.js +0 -9
  113. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/TypedArrayUtilities.js +0 -157
  114. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/TypescriptUtilities.js +0 -24
  115. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/UIString.js +0 -4
  116. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/UserVisibleError.js +0 -22
  117. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/api/HostRuntime.js +0 -4
  118. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/api/api.js +0 -5
  119. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/browser/HostRuntime.js +0 -63
  120. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/browser/browser.js +0 -5
  121. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/node/HostRuntime.js +0 -72
  122. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/node/node.js +0 -5
  123. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/platform.js +0 -26
  124. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/CDPConnection.js +0 -17
  125. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/ConnectionTransport.js +0 -12
  126. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/DevToolsCDPConnection.js +0 -138
  127. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/InspectorBackend.js +0 -539
  128. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/protocol_client.js +0 -8
  129. package/build/node_modules/chrome-devtools-frontend/front_end/core/root/DevToolsContext.js +0 -54
  130. package/build/node_modules/chrome-devtools-frontend/front_end/core/root/Runtime.js +0 -11
  131. package/build/node_modules/chrome-devtools-frontend/front_end/core/root/root.js +0 -6
  132. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/AccessibilityModel.js +0 -281
  133. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/AnimationModel.js +0 -845
  134. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/AutofillModel.js +0 -155
  135. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CPUProfilerModel.js +0 -99
  136. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CPUThrottlingManager.js +0 -217
  137. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSContainerQuery.js +0 -98
  138. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSFontFace.js +0 -31
  139. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSLayer.js +0 -22
  140. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMatchedStyles.js +0 -1318
  141. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMedia.js +0 -100
  142. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMetadata.js +0 -1532
  143. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSModel.js +0 -908
  144. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSProperty.js +0 -312
  145. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSPropertyParser.js +0 -574
  146. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSPropertyParserMatchers.js +0 -1346
  147. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSQuery.js +0 -53
  148. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSRule.js +0 -403
  149. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSScope.js +0 -22
  150. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSStartingStyle.js +0 -21
  151. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSStyleDeclaration.js +0 -275
  152. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSStyleSheetHeader.js +0 -166
  153. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSSupports.js +0 -24
  154. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CategorizedBreakpoint.js +0 -29
  155. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ChildTargetManager.js +0 -236
  156. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CompilerSourceMappingContentProvider.js +0 -47
  157. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Connections.js +0 -205
  158. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ConsoleModel.js +0 -629
  159. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ConsoleModelTypes.js +0 -14
  160. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Cookie.js +0 -241
  161. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CookieModel.js +0 -198
  162. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CookieParser.js +0 -163
  163. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DOMDebuggerModel.js +0 -597
  164. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DOMModel.js +0 -1635
  165. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DebuggerModel.js +0 -1216
  166. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/EmulationModel.js +0 -527
  167. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/EnhancedTracesParser.js +0 -364
  168. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/EventBreakpointsModel.js +0 -127
  169. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/FrameAssociated.js +0 -4
  170. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/FrameManager.js +0 -199
  171. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/HeapProfilerModel.js +0 -130
  172. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/HttpReasonPhraseStrings.js +0 -75
  173. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IOModel.js +0 -80
  174. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IsolateManager.js +0 -208
  175. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IssuesModel.js +0 -41
  176. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/LayerTreeBase.js +0 -95
  177. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/LogModel.js +0 -34
  178. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/NetworkManager.js +0 -2223
  179. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/NetworkRequest.js +0 -1654
  180. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/OverlayColorGenerator.js +0 -48
  181. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/OverlayModel.js +0 -765
  182. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/OverlayPersistentHighlighter.js +0 -384
  183. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PageLoad.js +0 -25
  184. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PageResourceLoader.js +0 -310
  185. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PaintProfiler.js +0 -67
  186. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PerformanceMetricsModel.js +0 -62
  187. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PreloadingModel.js +0 -608
  188. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RehydratingConnection.js +0 -413
  189. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RehydratingObject.js +0 -4
  190. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RemoteObject.js +0 -908
  191. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Resource.js +0 -163
  192. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ResourceTreeModel.js +0 -923
  193. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RuntimeModel.js +0 -535
  194. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SDKModel.js +0 -45
  195. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ScopeTreeCache.js +0 -36
  196. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ScreenCaptureModel.js +0 -176
  197. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Script.js +0 -420
  198. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SecurityOriginManager.js +0 -54
  199. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerSentEvents.js +0 -67
  200. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerSentEventsProtocol.js +0 -113
  201. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerTiming.js +0 -216
  202. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServiceWorkerCacheModel.js +0 -271
  203. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServiceWorkerManager.js +0 -511
  204. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMap.js +0 -691
  205. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapCache.js +0 -57
  206. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapFunctionRanges.js +0 -132
  207. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapManager.js +0 -201
  208. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapScopeChainEntry.js +0 -156
  209. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapScopesInfo.js +0 -508
  210. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/StorageBucketsModel.js +0 -143
  211. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/StorageKeyManager.js +0 -53
  212. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Target.js +0 -257
  213. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/TargetManager.js +0 -395
  214. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/TraceObject.js +0 -55
  215. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/WebAuthnModel.js +0 -66
  216. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/sdk-meta.js +0 -1166
  217. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/sdk.js +0 -91
  218. package/build/node_modules/chrome-devtools-frontend/front_end/foundation/Universe.js +0 -34
  219. package/build/node_modules/chrome-devtools-frontend/front_end/foundation/foundation.js +0 -5
  220. package/build/node_modules/chrome-devtools-frontend/front_end/generated/ARIAProperties.js +0 -2640
  221. package/build/node_modules/chrome-devtools-frontend/front_end/generated/Deprecation.js +0 -384
  222. package/build/node_modules/chrome-devtools-frontend/front_end/generated/InspectorBackendCommands.js +0 -1532
  223. package/build/node_modules/chrome-devtools-frontend/front_end/generated/SupportedCSSProperties.js +0 -7602
  224. package/build/node_modules/chrome-devtools-frontend/front_end/generated/protocol.js +0 -4
  225. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.js +0 -289
  226. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.js +0 -995
  227. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.js +0 -664
  228. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/UnitFormatters.js +0 -139
  229. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AICallTree.js +0 -377
  230. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AIContext.js +0 -131
  231. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AIQueries.js +0 -149
  232. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/CSSWorkspaceBinding.js +0 -245
  233. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/CompilerScriptMapping.js +0 -486
  234. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ContentProviderBasedProject.js +0 -130
  235. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DebuggerLanguagePlugins.js +0 -992
  236. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DebuggerWorkspaceBinding.js +0 -592
  237. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DefaultScriptMapping.js +0 -112
  238. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/FileUtils.js +0 -186
  239. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/LiveLocation.js +0 -60
  240. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/NetworkProject.js +0 -107
  241. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/PresentationConsoleMessageHelper.js +0 -244
  242. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceMapping.js +0 -564
  243. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceScriptMapping.js +0 -437
  244. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceUtils.js +0 -87
  245. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/SASSSourceMapping.js +0 -182
  246. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/StylesSourceMapping.js +0 -268
  247. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/TempFile.js +0 -55
  248. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/bindings.js +0 -20
  249. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/CPUProfileDataModel.js +0 -516
  250. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/ProfileTreeModel.js +0 -89
  251. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/cpu_profile.js +0 -6
  252. package/build/node_modules/chrome-devtools-frontend/front_end/models/crux-manager/CrUXManager.js +0 -285
  253. package/build/node_modules/chrome-devtools-frontend/front_end/models/crux-manager/crux-manager.js +0 -4
  254. package/build/node_modules/chrome-devtools-frontend/front_end/models/emulation/DeviceModeModel.js +0 -775
  255. package/build/node_modules/chrome-devtools-frontend/front_end/models/emulation/EmulatedDevices.js +0 -1706
  256. package/build/node_modules/chrome-devtools-frontend/front_end/models/emulation/emulation.js +0 -6
  257. package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/FormatterWorkerPool.js +0 -145
  258. package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/ScriptFormatter.js +0 -77
  259. package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/formatter.js +0 -6
  260. package/build/node_modules/chrome-devtools-frontend/front_end/models/geometry/GeometryImpl.js +0 -347
  261. package/build/node_modules/chrome-devtools-frontend/front_end/models/geometry/geometry.js +0 -4
  262. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/AttributionReportingIssue.js +0 -201
  263. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/BounceTrackingIssue.js +0 -49
  264. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CheckFormsIssuesTrigger.js +0 -31
  265. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ClientHintIssue.js +0 -71
  266. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ContentSecurityPolicyIssue.js +0 -135
  267. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ContrastCheckTrigger.js +0 -59
  268. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CookieDeprecationMetadataIssue.js +0 -58
  269. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CookieIssue.js +0 -514
  270. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CorsIssue.js +0 -244
  271. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.js +0 -110
  272. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/DeprecationIssue.js +0 -90
  273. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ElementAccessibilityIssue.js +0 -95
  274. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/FederatedAuthRequestIssue.js +0 -231
  275. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.js +0 -141
  276. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/GenericIssue.js +0 -212
  277. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/HeavyAdIssue.js +0 -52
  278. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/Issue.js +0 -152
  279. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssueAggregator.js +0 -314
  280. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssueResolver.js +0 -40
  281. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssuesManager.js +0 -416
  282. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssuesManagerEvents.js +0 -4
  283. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/LowTextContrastIssue.js +0 -48
  284. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/MarkdownIssueDescription.js +0 -104
  285. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/MixedContentIssue.js +0 -55
  286. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/PartitioningBlobURLIssue.js +0 -58
  287. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/PropertyRuleIssue.js +0 -58
  288. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/QuirksModeIssue.js +0 -48
  289. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/RelatedIssue.js +0 -70
  290. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SRIMessageSignatureIssue.js +0 -87
  291. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SharedArrayBufferIssue.js +0 -49
  292. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SharedDictionaryIssue.js +0 -292
  293. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SourceFrameIssuesManager.js +0 -81
  294. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/StylesheetLoadingIssue.js +0 -59
  295. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/UnencodedDigestIssue.js +0 -62
  296. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteInvalidSameParty.md +0 -8
  297. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteSamePartyCrossPartyContextSet.md +0 -10
  298. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/issues_manager.js +0 -35
  299. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/LogManager.js +0 -67
  300. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/NetworkLog.js +0 -494
  301. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/RequestResolver.js +0 -49
  302. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/logs-meta.js +0 -73
  303. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/logs.js +0 -7
  304. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/Calculator.js +0 -4
  305. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/NetworkTimeCalculator.js +0 -256
  306. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/RequestTimeRanges.js +0 -122
  307. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/network_time_calculator.js +0 -6
  308. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/FunctionCodeResolver.js +0 -192
  309. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/NamesResolver.js +0 -622
  310. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/ScopeChainModel.js +0 -59
  311. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/source_map_scopes.js +0 -7
  312. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/StackTrace.js +0 -4
  313. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/StackTraceImpl.js +0 -67
  314. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/StackTraceModel.js +0 -97
  315. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/Trie.js +0 -121
  316. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/stack_trace.js +0 -5
  317. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/stack_trace_impl.js +0 -7
  318. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/CodeMirrorUtils.js +0 -32
  319. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/ContentData.js +0 -173
  320. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/ContentProvider.js +0 -30
  321. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/StaticContentProvider.js +0 -32
  322. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/StreamingContentData.js +0 -79
  323. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/Text.js +0 -69
  324. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextCursor.js +0 -35
  325. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextRange.js +0 -231
  326. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextUtils.js +0 -355
  327. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/WasmDisassembly.js +0 -68
  328. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/text_utils.js +0 -14
  329. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/EntityMapper.js +0 -122
  330. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/EventsSerializer.js +0 -81
  331. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/LanternComputationData.js +0 -371
  332. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/ModelImpl.js +0 -169
  333. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Name.js +0 -114
  334. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Processor.js +0 -555
  335. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Styles.js +0 -815
  336. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/FilmStrip.js +0 -44
  337. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/MainThreadActivity.js +0 -76
  338. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/ScriptDuplication.js +0 -162
  339. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/StackTraceForEvent.js +0 -191
  340. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/ThirdParties.js +0 -118
  341. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/TraceFilter.js +0 -50
  342. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/TraceTree.js +0 -599
  343. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/extras.js +0 -10
  344. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AnimationFramesHandler.js +0 -109
  345. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AnimationHandler.js +0 -26
  346. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AsyncJSCallsHandler.js +0 -187
  347. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AuctionWorkletsHandler.js +0 -162
  348. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/DOMStatsHandler.js +0 -21
  349. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ExtensionTraceDataHandler.js +0 -263
  350. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/FlowsHandler.js +0 -148
  351. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/FramesHandler.js +0 -485
  352. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/GPUHandler.js +0 -35
  353. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ImagePaintingHandler.js +0 -147
  354. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/InitiatorsHandler.js +0 -180
  355. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/InvalidationsHandler.js +0 -126
  356. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LargestImagePaintHandler.js +0 -85
  357. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LargestTextPaintHandler.js +0 -27
  358. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LayerTreeHandler.js +0 -103
  359. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LayoutShiftsHandler.js +0 -449
  360. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/MemoryHandler.js +0 -21
  361. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/MetaHandler.js +0 -404
  362. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ModelHandlers.js +0 -33
  363. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/NetworkRequestsHandler.js +0 -566
  364. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/PageFramesHandler.js +0 -42
  365. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/PageLoadMetricsHandler.js +0 -349
  366. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/RendererHandler.js +0 -346
  367. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/SamplesHandler.js +0 -260
  368. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ScreenshotsHandler.js +0 -97
  369. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ScriptsHandler.js +0 -276
  370. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/SelectorStatsHandler.js +0 -71
  371. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/Threads.js +0 -101
  372. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/UserInteractionsHandler.js +0 -317
  373. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/UserTimingsHandler.js +0 -183
  374. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/WarningsHandler.js +0 -134
  375. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/WorkersHandler.js +0 -33
  376. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/handlers.js +0 -7
  377. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/helpers.js +0 -163
  378. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/types.js +0 -1
  379. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Extensions.js +0 -41
  380. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Network.js +0 -102
  381. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/SamplesIntegrator.js +0 -495
  382. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/SyntheticEvents.js +0 -74
  383. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Timing.js +0 -186
  384. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Trace.js +0 -820
  385. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/TreeHelpers.js +0 -254
  386. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/helpers.js +0 -10
  387. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/CLSCulprits.js +0 -489
  388. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Cache.js +0 -209
  389. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Common.js +0 -340
  390. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DOMSize.js +0 -181
  391. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DocumentLatency.js +0 -258
  392. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DuplicatedJavaScript.js +0 -90
  393. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/FontDisplay.js +0 -82
  394. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ForcedReflow.js +0 -161
  395. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/INPBreakdown.js +0 -129
  396. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ImageDelivery.js +0 -263
  397. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LCPBreakdown.js +0 -199
  398. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LCPDiscovery.js +0 -183
  399. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LegacyJavaScript.js +0 -90
  400. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Models.js +0 -21
  401. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ModernHTTP.js +0 -200
  402. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/NetworkDependencyTree.js +0 -545
  403. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/RenderBlocking.js +0 -192
  404. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/SlowCSSSelector.js +0 -136
  405. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Statistics.js +0 -92
  406. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ThirdParties.js +0 -98
  407. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Viewport.js +0 -102
  408. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/insights.js +0 -9
  409. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/types.js +0 -18
  410. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/LanternError.js +0 -6
  411. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/NetworkAnalyzer.js +0 -488
  412. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/core.js +0 -5
  413. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/BaseNode.js +0 -276
  414. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/CPUNode.js +0 -63
  415. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/NetworkNode.js +0 -82
  416. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/PageDependencyGraph.js +0 -551
  417. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/graph.js +0 -7
  418. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/lantern.js +0 -9
  419. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/FirstContentfulPaint.js +0 -136
  420. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/Interactive.js +0 -67
  421. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/LargestContentfulPaint.js +0 -68
  422. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/MaxPotentialFID.js +0 -48
  423. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/Metric.js +0 -68
  424. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/SpeedIndex.js +0 -101
  425. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/TBTUtils.js +0 -64
  426. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/TotalBlockingTime.js +0 -78
  427. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/metrics.js +0 -11
  428. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/ConnectionPool.js +0 -115
  429. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/Constants.js +0 -42
  430. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/DNSCache.js +0 -47
  431. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/SimulationTimingMap.js +0 -134
  432. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/Simulator.js +0 -450
  433. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/TCPConnection.js +0 -154
  434. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/simulation.js +0 -9
  435. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/types/Lantern.js +0 -24
  436. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/types/types.js +0 -4
  437. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/trace.js +0 -17
  438. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Configuration.js +0 -18
  439. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Extensions.js +0 -37
  440. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/File.js +0 -57
  441. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Overlays.js +0 -4
  442. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Timing.js +0 -15
  443. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/TraceEvents.js +0 -580
  444. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/types.js +0 -9
  445. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace_source_maps_resolver/SourceMapsResolver.js +0 -224
  446. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace_source_maps_resolver/trace_source_maps_resolver.js +0 -4
  447. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/FileManager.js +0 -64
  448. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/IgnoreListManager.js +0 -504
  449. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/SearchConfig.js +0 -113
  450. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/UISourceCode.js +0 -601
  451. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/WorkspaceImpl.js +0 -201
  452. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/workspace-meta.js +0 -34
  453. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/workspace.js +0 -9
  454. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/codemirror.next/codemirror.next.js +0 -1
  455. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/LICENSE +0 -202
  456. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/i18n-impl.js +0 -46
  457. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/i18n.js +0 -6
  458. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/localized-string-set.js +0 -122
  459. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/LICENSE +0 -33
  460. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/intl-messageformat.js +0 -5
  461. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/index.js +0 -13
  462. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.js +0 -1725
  463. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/intl-messageformat.iife.js +0 -1840
  464. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/index.js +0 -10
  465. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/src/core.js +0 -233
  466. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/src/error.js +0 -48
  467. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/src/formatters.js +0 -177
  468. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/src/core.js +0 -236
  469. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/src/error.js +0 -51
  470. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/src/formatters.js +0 -182
  471. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/LICENSE +0 -202
  472. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/legacy-javascript.js +0 -2
  473. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/lib/legacy-javascript.js +0 -940
  474. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/LICENSE +0 -39
  475. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/marked.js +0 -2
  476. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/bin/main.js +0 -255
  477. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/bin/marked.js +0 -11
  478. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/lib/marked.esm.js +0 -2695
  479. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/lib/marked.js +0 -2233
  480. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/lib/marked.umd.js +0 -2719
  481. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Lexer.js +0 -453
  482. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Parser.js +0 -233
  483. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Renderer.js +0 -137
  484. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Slugger.js +0 -46
  485. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/TextRenderer.js +0 -34
  486. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Tokenizer.js +0 -683
  487. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/defaults.js +0 -27
  488. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/helpers.js +0 -240
  489. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/marked.js +0 -318
  490. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/rules.js +0 -243
  491. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/LICENSE +0 -26
  492. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js +0 -196
  493. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js +0 -226
  494. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/codec.js +0 -4
  495. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js +0 -394
  496. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js +0 -24
  497. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js +0 -283
  498. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/mod.js +0 -7
  499. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/util.js +0 -9
  500. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/vlq.js +0 -84
  501. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/source-map-scopes-codec.js +0 -4
  502. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/LICENSE +0 -20
  503. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/lib/nostats-subset.js +0 -146
  504. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/httparchive-nostats-subset.js +0 -2
  505. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/httparchive-subset.js +0 -2
  506. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.js +0 -118
  507. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.test.js +0 -40
  508. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/entities.test.js +0 -26
  509. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/index.js +0 -4
  510. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/index.test.js +0 -215
  511. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.js +0 -4
  512. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/httparchive.js +0 -4
  513. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/nostats.js +0 -4
  514. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/nostats-subset.js +0 -2
  515. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/third-party-web.js +0 -2
  516. package/build/node_modules/chrome-devtools-frontend/mcp/HostBindings.js +0 -222
  517. package/build/node_modules/chrome-devtools-frontend/mcp/mcp.js +0 -35
  518. package/build/src/formatters/snapshotFormatter.js +0 -73
  519. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/CoepCoopSandboxedIframeCannotNavigateToCoopPage.md +0 -0
  520. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/CoepCorpNotSameOrigin.md +0 -0
  521. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/CoepCorpNotSameOriginAfterDefaultedToSameOriginByCoep.md +0 -0
  522. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/CoepCorpNotSameSite.md +0 -0
  523. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/CoepFrameResourceNeedsCoepHeader.md +0 -0
  524. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/CompatibilityModeQuirks.md +0 -0
  525. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/CookieAttributeValueExceedsMaxSize.md +0 -0
  526. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/LowTextContrast.md +0 -0
  527. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/SameSiteExcludeContextDowngradeRead.md +0 -0
  528. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/SameSiteExcludeContextDowngradeSet.md +0 -0
  529. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/SameSiteExcludeNavigationContextDowngrade.md +0 -0
  530. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/SameSiteNoneInsecureErrorRead.md +0 -0
  531. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/SameSiteNoneInsecureErrorSet.md +0 -0
  532. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/SameSiteNoneInsecureWarnRead.md +0 -0
  533. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/SameSiteNoneInsecureWarnSet.md +0 -0
  534. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/SameSiteUnspecifiedLaxAllowUnsafeRead.md +0 -0
  535. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/SameSiteUnspecifiedLaxAllowUnsafeSet.md +0 -0
  536. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/SameSiteWarnCrossDowngradeRead.md +0 -0
  537. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/SameSiteWarnCrossDowngradeSet.md +0 -0
  538. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/SameSiteWarnStrictLaxDowngradeStrict.md +0 -0
  539. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arInsecureContext.md +0 -0
  540. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arInvalidInfoHeader.md +0 -0
  541. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arInvalidRegisterOsSourceHeader.md +0 -0
  542. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arInvalidRegisterOsTriggerHeader.md +0 -0
  543. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arInvalidRegisterSourceHeader.md +0 -0
  544. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arInvalidRegisterTriggerHeader.md +0 -0
  545. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arNavigationRegistrationUniqueScopeAlreadySet.md +0 -0
  546. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arNavigationRegistrationWithoutTransientUserActivation.md +0 -0
  547. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arNoRegisterOsSourceHeader.md +0 -0
  548. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arNoRegisterOsTriggerHeader.md +0 -0
  549. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arNoRegisterSourceHeader.md +0 -0
  550. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arNoRegisterTriggerHeader.md +0 -0
  551. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arNoWebOrOsSupport.md +0 -0
  552. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arOsSourceIgnored.md +0 -0
  553. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arOsTriggerIgnored.md +0 -0
  554. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arPermissionPolicyDisabled.md +0 -0
  555. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arSourceAndTriggerHeaders.md +0 -0
  556. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arSourceIgnored.md +0 -0
  557. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arTriggerIgnored.md +0 -0
  558. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arUntrustworthyReportingOrigin.md +0 -0
  559. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/arWebAndOsHeaders.md +0 -0
  560. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/bounceTrackingMitigations.md +0 -0
  561. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/clientHintMetaTagAllowListInvalidOrigin.md +0 -0
  562. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/clientHintMetaTagModifiedHTML.md +0 -0
  563. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/cookieCrossSiteRedirectDowngrade.md +0 -0
  564. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/cookieExcludeBlockedWithinRelatedWebsiteSet.md +0 -0
  565. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/cookieExcludeDomainNonAscii.md +0 -0
  566. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/cookieExcludePortMismatch.md +0 -0
  567. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/cookieExcludeSchemeMismatch.md +0 -0
  568. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/cookieExcludeThirdPartyPhaseoutRead.md +0 -0
  569. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/cookieExcludeThirdPartyPhaseoutSet.md +0 -0
  570. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/cookieWarnDomainNonAscii.md +0 -0
  571. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/cookieWarnMetadataGrantRead.md +0 -0
  572. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/cookieWarnMetadataGrantSet.md +0 -0
  573. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/cookieWarnThirdPartyPhaseoutRead.md +0 -0
  574. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/cookieWarnThirdPartyPhaseoutSet.md +0 -0
  575. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/corsAllowCredentialsRequired.md +0 -0
  576. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/corsDisabledScheme.md +0 -0
  577. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/corsDisallowedByMode.md +0 -0
  578. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/corsHeaderDisallowedByPreflightResponse.md +0 -0
  579. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/corsInsecurePrivateNetwork.md +0 -0
  580. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/corsInvalidHeaderValues.md +0 -0
  581. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/corsLocalNetworkAccessPermissionDenied.md +0 -0
  582. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/corsMethodDisallowedByPreflightResponse.md +0 -0
  583. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/corsNoCorsRedirectModeNotFollow.md +0 -0
  584. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/corsOriginMismatch.md +0 -0
  585. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/corsPreflightAllowPrivateNetworkError.md +0 -0
  586. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/corsPreflightResponseInvalid.md +0 -0
  587. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/corsPrivateNetworkPermissionDenied.md +0 -0
  588. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/corsRedirectContainsCredentials.md +0 -0
  589. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/corsWildcardOriginNotAllowed.md +0 -0
  590. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/cspEvalViolation.md +0 -0
  591. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/cspInlineViolation.md +0 -0
  592. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/cspTrustedTypesPolicyViolation.md +0 -0
  593. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/cspTrustedTypesSinkViolation.md +0 -0
  594. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/cspURLViolation.md +0 -0
  595. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/deprecation.md +0 -0
  596. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestAccountsHttpNotFound.md +0 -0
  597. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestAccountsInvalidResponse.md +0 -0
  598. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestAccountsNoResponse.md +0 -0
  599. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestApprovalDeclined.md +0 -0
  600. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestCanceled.md +0 -0
  601. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestClientMetadataHttpNotFound.md +0 -0
  602. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestClientMetadataInvalidResponse.md +0 -0
  603. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestClientMetadataNoResponse.md +0 -0
  604. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestErrorFetchingSignin.md +0 -0
  605. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestErrorIdToken.md +0 -0
  606. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestIdTokenHttpNotFound.md +0 -0
  607. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestIdTokenInvalidRequest.md +0 -0
  608. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestIdTokenInvalidResponse.md +0 -0
  609. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestIdTokenNoResponse.md +0 -0
  610. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestInvalidSigninResponse.md +0 -0
  611. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestManifestHttpNotFound.md +0 -0
  612. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestManifestInvalidResponse.md +0 -0
  613. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestManifestNoResponse.md +0 -0
  614. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthRequestTooManyRequests.md +0 -0
  615. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthUserInfoRequestInvalidAccountsResponse.md +0 -0
  616. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthUserInfoRequestInvalidConfigOrWellKnown.md +0 -0
  617. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthUserInfoRequestNoAccountSharingPermission.md +0 -0
  618. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthUserInfoRequestNoApiPermission.md +0 -0
  619. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthUserInfoRequestNoReturningUserFromFetchedAccounts.md +0 -0
  620. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthUserInfoRequestNotIframe.md +0 -0
  621. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthUserInfoRequestNotPotentiallyTrustworthy.md +0 -0
  622. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthUserInfoRequestNotSameOrigin.md +0 -0
  623. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/federatedAuthUserInfoRequestNotSignedInWithIdp.md +0 -0
  624. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/fetchingPartitionedBlobURL.md +0 -0
  625. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/genericFormAriaLabelledByToNonExistingIdError.md +0 -0
  626. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/genericFormAutocompleteAttributeEmptyError.md +0 -0
  627. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/genericFormDuplicateIdForInputError.md +0 -0
  628. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/genericFormEmptyIdAndNameAttributesForInputError.md +0 -0
  629. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/genericFormInputAssignedAutocompleteValueToIdOrNameAttributeError.md +0 -0
  630. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/genericFormInputHasWrongButWellIntendedAutocompleteValueError.md +0 -0
  631. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/genericFormInputWithNoLabelError.md +0 -0
  632. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/genericFormLabelForMatchesNonExistingIdError.md +0 -0
  633. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/genericFormLabelForNameError.md +0 -0
  634. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/genericFormLabelHasNeitherForNorNestedInputError.md +0 -0
  635. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/genericNavigationEntryMarkedSkippable.md +0 -0
  636. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/genericResponseWasBlockedByORB.md +0 -0
  637. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/heavyAd.md +0 -0
  638. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/mixedContent.md +0 -0
  639. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/navigatingPartitionedBlobURL.md +0 -0
  640. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/placeholderDescriptionForInvisibleIssues.md +0 -0
  641. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/propertyRuleInvalidNameIssue.md +0 -0
  642. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/propertyRuleIssue.md +0 -0
  643. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/selectElementAccessibilityDisallowedOptGroupChild.md +0 -0
  644. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/selectElementAccessibilityDisallowedSelectChild.md +0 -0
  645. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/selectElementAccessibilityInteractiveContentAttributesSelectDescendant.md +0 -0
  646. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/selectElementAccessibilityInteractiveContentLegendChild.md +0 -0
  647. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/selectElementAccessibilityInteractiveContentOptionChild.md +0 -0
  648. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/selectElementAccessibilityNonPhrasingContentOptionChild.md +0 -0
  649. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedArrayBuffer.md +0 -0
  650. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryUseErrorCrossOriginNoCorsRequest.md +0 -0
  651. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryUseErrorDictionaryLoadFailure.md +0 -0
  652. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryUseErrorMatchingDictionaryNotUsed.md +0 -0
  653. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryUseErrorUnexpectedContentDictionaryHeader.md +0 -0
  654. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorCossOriginNoCorsRequest.md +0 -0
  655. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorDisallowedBySettings.md +0 -0
  656. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorExpiredResponse.md +0 -0
  657. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorFeatureDisabled.md +0 -0
  658. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorInsufficientResources.md +0 -0
  659. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorInvalidMatchField.md +0 -0
  660. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorInvalidStructuredHeader.md +0 -0
  661. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorInvalidTTLField.md +0 -0
  662. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorNavigationRequest.md +0 -0
  663. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorNoMatchField.md +0 -0
  664. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorNonIntegerTTLField.md +0 -0
  665. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorNonListMatchDestField.md +0 -0
  666. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorNonSecureContext.md +0 -0
  667. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorNonStringIdField.md +0 -0
  668. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorNonStringInMatchDestList.md +0 -0
  669. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorNonStringMatchField.md +0 -0
  670. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorNonTokenTypeField.md +0 -0
  671. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorRequestAborted.md +0 -0
  672. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorShuttingDown.md +0 -0
  673. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorTooLongIdField.md +0 -0
  674. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sharedDictionaryWriteErrorUnsupportedType.md +0 -0
  675. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriInvalidSignatureHeader.md +0 -0
  676. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriInvalidSignatureInputHeader.md +0 -0
  677. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriMissingSignatureHeader.md +0 -0
  678. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriMissingSignatureInputHeader.md +0 -0
  679. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriSignatureHeaderValueIsIncorrectLength.md +0 -0
  680. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriSignatureHeaderValueIsNotByteSequence.md +0 -0
  681. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriSignatureHeaderValueIsParameterized.md +0 -0
  682. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriSignatureInputHeaderInvalidComponentName.md +0 -0
  683. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriSignatureInputHeaderInvalidComponentType.md +0 -0
  684. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriSignatureInputHeaderInvalidDerivedComponentParameter.md +0 -0
  685. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriSignatureInputHeaderInvalidHeaderComponentParameter.md +0 -0
  686. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriSignatureInputHeaderInvalidParameter.md +0 -0
  687. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriSignatureInputHeaderKeyIdLength.md +0 -0
  688. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriSignatureInputHeaderMissingLabel.md +0 -0
  689. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriSignatureInputHeaderMissingRequiredParameters.md +0 -0
  690. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriSignatureInputHeaderValueMissingComponents.md +0 -0
  691. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriSignatureInputHeaderValueNotInnerList.md +0 -0
  692. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriValidationFailedIntegrityMismatch.md +0 -0
  693. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriValidationFailedInvalidLength.md +0 -0
  694. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriValidationFailedSignatureExpired.md +0 -0
  695. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/sriValidationFailedSignatureMismatch.md +0 -0
  696. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/stylesheetLateImport.md +0 -0
  697. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/stylesheetRequestFailed.md +0 -0
  698. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/summaryElementAccessibilityInteractiveContentSummaryDescendant.md +0 -0
  699. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/unencodedDigestIncorrectDigestLength.md +0 -0
  700. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/unencodedDigestIncorrectDigestType.md +0 -0
  701. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/unencodedDigestMalformedDictionary.md +0 -0
  702. /package/build/{node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions → src/third_party/issue-descriptions}/unencodedDigestUnknownAlgorithm.md +0 -0
@@ -1,1346 +0,0 @@
1
- // Copyright 2023 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
- /* eslint-disable @devtools/no-imperative-dom-api */
5
- import * as Common from '../../core/common/common.js';
6
- import { CSSMetadata, cssMetadata, CubicBezierKeywordValues, } from './CSSMetadata.js';
7
- import { ASTUtils, matchDeclaration, matcherBase, tokenizeDeclaration } from './CSSPropertyParser.js';
8
- export class BaseVariableMatch {
9
- text;
10
- node;
11
- name;
12
- fallback;
13
- matching;
14
- computedTextCallback;
15
- constructor(text, node, name, fallback, matching, computedTextCallback) {
16
- this.text = text;
17
- this.node = node;
18
- this.name = name;
19
- this.fallback = fallback;
20
- this.matching = matching;
21
- this.computedTextCallback = computedTextCallback;
22
- }
23
- computedText() {
24
- return this.computedTextCallback(this, this.matching);
25
- }
26
- fallbackValue() {
27
- // Fallback can be missing but it can be also be empty: var(--v,)
28
- if (!this.fallback) {
29
- return null;
30
- }
31
- if (this.fallback.length === 0) {
32
- return '';
33
- }
34
- if (this.matching.hasUnresolvedSubstitutionsRange(this.fallback[0], this.fallback[this.fallback.length - 1])) {
35
- return null;
36
- }
37
- return this.matching.getComputedTextRange(this.fallback[0], this.fallback[this.fallback.length - 1]);
38
- }
39
- }
40
- // This matcher provides matching for var() functions and basic computedText support. Computed text is resolved by a
41
- // callback. This matcher is intended to be used directly only in environments where CSSMatchedStyles is not available.
42
- // A more ergonomic version of this matcher exists in VariableMatcher, which uses CSSMatchedStyles to correctly resolve
43
- // variable references automatically.
44
- // clang-format off
45
- export class BaseVariableMatcher extends matcherBase(BaseVariableMatch) {
46
- // clang-format on
47
- #computedTextCallback;
48
- constructor(computedTextCallback) {
49
- super();
50
- this.#computedTextCallback = computedTextCallback;
51
- }
52
- matches(node, matching) {
53
- const callee = node.getChild('Callee');
54
- if (node.name !== 'CallExpression' || !callee || (matching.ast.text(callee) !== 'var')) {
55
- return null;
56
- }
57
- const args = ASTUtils.callArgs(node).map(args => Array.from(ASTUtils.stripComments(args)));
58
- if (args.length < 1 || args[0].length !== 1) {
59
- return null;
60
- }
61
- const nameNode = args[0][0];
62
- const fallback = args.length === 2 ? args[1] : undefined;
63
- if (nameNode?.name !== 'VariableName') {
64
- return null;
65
- }
66
- const varName = matching.ast.text(nameNode);
67
- if (!varName.startsWith('--')) {
68
- return null;
69
- }
70
- return new BaseVariableMatch(matching.ast.text(node), node, varName, fallback, matching, this.#computedTextCallback);
71
- }
72
- }
73
- export class VariableMatch extends BaseVariableMatch {
74
- matchedStyles;
75
- style;
76
- constructor(text, node, name, fallback, matching, matchedStyles, style) {
77
- super(text, node, name, fallback, matching, () => this.resolveVariable()?.value ?? this.fallbackValue());
78
- this.matchedStyles = matchedStyles;
79
- this.style = style;
80
- }
81
- resolveVariable() {
82
- return this.matchedStyles.computeCSSVariable(this.style, this.name);
83
- }
84
- }
85
- // clang-format off
86
- export class VariableMatcher extends matcherBase(VariableMatch) {
87
- matchedStyles;
88
- style;
89
- // clang-format on
90
- constructor(matchedStyles, style) {
91
- super();
92
- this.matchedStyles = matchedStyles;
93
- this.style = style;
94
- }
95
- matches(node, matching) {
96
- const match = new BaseVariableMatcher(() => null).matches(node, matching);
97
- return match ?
98
- new VariableMatch(match.text, match.node, match.name, match.fallback, match.matching, this.matchedStyles, this.style) :
99
- null;
100
- }
101
- }
102
- export class AttributeMatch extends BaseVariableMatch {
103
- type;
104
- isCSSTokens;
105
- isValidType;
106
- rawValue;
107
- substitutionText;
108
- matchedStyles;
109
- style;
110
- constructor(text, node, name, fallback, matching, type, isCSSTokens, isValidType, rawValue, substitutionText, matchedStyles, style, computedTextCallback) {
111
- super(text, node, name, fallback, matching, (_, matching) => computedTextCallback(this, matching));
112
- this.type = type;
113
- this.isCSSTokens = isCSSTokens;
114
- this.isValidType = isValidType;
115
- this.rawValue = rawValue;
116
- this.substitutionText = substitutionText;
117
- this.matchedStyles = matchedStyles;
118
- this.style = style;
119
- }
120
- rawAttributeValue() {
121
- return this.rawValue;
122
- }
123
- cssType() {
124
- return this.type ?? RAW_STRING_TYPE;
125
- }
126
- resolveAttributeValue() {
127
- return this.matchedStyles.computeAttribute(this.style, this.name, { type: this.cssType(), isCSSTokens: this.isCSSTokens });
128
- }
129
- }
130
- let cssEvaluationElement = null;
131
- function getCssEvaluationElement() {
132
- const id = 'css-evaluation-element';
133
- if (!cssEvaluationElement) {
134
- cssEvaluationElement = document.getElementById(id);
135
- if (!cssEvaluationElement) {
136
- cssEvaluationElement = document.createElement('div');
137
- cssEvaluationElement.setAttribute('id', id);
138
- cssEvaluationElement.setAttribute('style', 'hidden: true; --evaluation: attr(data-custom-expr type(*))');
139
- document.body.appendChild(cssEvaluationElement);
140
- }
141
- }
142
- return cssEvaluationElement;
143
- }
144
- /**
145
- * These functions use an element in the frontend to evaluate CSS. The advantage
146
- * of this is that it is synchronous and doesn't require a CDP method. The
147
- * disadvantage is it lacks context that would allow substitutions such as
148
- * `var()` and `calc()` to be resolved correctly, and if the user is doing
149
- * remote debugging there is a possibility that the CSS behavior is different
150
- * between the two browser versions. We use it for type checking after
151
- * substitutions (but not for actual evaluation) and for applying units.
152
- **/
153
- export function localEvalCSS(value, type) {
154
- const element = getCssEvaluationElement();
155
- element.setAttribute('data-value', value);
156
- element.setAttribute('data-custom-expr', `attr(data-value ${type})`);
157
- return element.computedStyleMap().get('--evaluation')?.toString() ?? null;
158
- }
159
- /**
160
- * It is important to establish whether a type is valid, because if it is not,
161
- * the current behavior of blink is to ignore the fallback and parse as a
162
- * raw string, returning '' if the attribute is not set.
163
- **/
164
- export function isValidCSSType(type) {
165
- const element = getCssEvaluationElement();
166
- element.setAttribute('data-custom-expr', `attr(data-nonexistent ${type}, "good")`);
167
- return '"good"' === (element.computedStyleMap().get('--evaluation')?.toString() ?? null);
168
- }
169
- export function defaultValueForCSSType(type) {
170
- const element = getCssEvaluationElement();
171
- element.setAttribute('data-custom-expr', `attr(data-nonexistent ${type ?? ''})`);
172
- return element.computedStyleMap().get('--evaluation')?.toString() ?? null;
173
- }
174
- export const RAW_STRING_TYPE = 'raw-string';
175
- // This matcher provides matching for attr() functions and basic computedText support. Computed text is resolved by a
176
- // callback.
177
- // clang-format off
178
- export class AttributeMatcher extends matcherBase(AttributeMatch) {
179
- matchedStyles;
180
- style;
181
- computedTextCallback;
182
- // clang-format on
183
- constructor(matchedStyles, style, computedTextCallback) {
184
- super();
185
- this.matchedStyles = matchedStyles;
186
- this.style = style;
187
- this.computedTextCallback = computedTextCallback;
188
- }
189
- matches(node, matching) {
190
- const callee = node.getChild('Callee');
191
- if (node.name !== 'CallExpression' || !callee || (matching.ast.text(callee) !== 'attr')) {
192
- return null;
193
- }
194
- const args = ASTUtils.callArgs(node).map(args => Array.from(ASTUtils.stripComments(args)));
195
- if (args.length < 1) {
196
- return null;
197
- }
198
- const nameNode = args[0][0];
199
- if (args[0].length < 1 || args[0].length > 2 || nameNode?.name !== 'ValueName') {
200
- return null;
201
- }
202
- const fallback = args.length === 2 ? args[1] : undefined;
203
- let type = null;
204
- let isCSSTokens = false;
205
- if (args[0].length === 2) {
206
- const typeNode = args[0][1];
207
- type = matching.ast.text(typeNode);
208
- if (typeNode.name === 'CallExpression') {
209
- if (matching.ast.text(typeNode.getChild('Callee')) !== 'type') {
210
- return null;
211
- }
212
- isCSSTokens = true;
213
- }
214
- else if (typeNode.name !== 'ValueName' && type !== '%') {
215
- return null;
216
- }
217
- }
218
- const isValidType = type === null || isValidCSSType(type);
219
- isCSSTokens = isCSSTokens && isValidType;
220
- const attrName = matching.ast.text(nameNode);
221
- const rawValue = this.matchedStyles.rawAttributeValueFromStyle(this.style, attrName);
222
- let substitutionText = null;
223
- if (rawValue !== null) {
224
- substitutionText = isCSSTokens ? rawValue : localEvalCSS(rawValue, type ?? RAW_STRING_TYPE);
225
- }
226
- else if (!fallback) {
227
- // In the case of unspecified type, there is a default value
228
- substitutionText = defaultValueForCSSType(type);
229
- }
230
- return new AttributeMatch(matching.ast.text(node), node, attrName, fallback, matching, type, isCSSTokens, isValidType, rawValue, substitutionText, this.matchedStyles, this.style, this.computedTextCallback ?? defaultComputeText);
231
- function defaultComputeText(match, _matching) {
232
- // Don't fall back if the type is invalid.
233
- return match.resolveAttributeValue() ??
234
- (isValidType ? match.fallbackValue() : defaultValueForCSSType(match.type));
235
- }
236
- }
237
- }
238
- export class BinOpMatch {
239
- text;
240
- node;
241
- constructor(text, node) {
242
- this.text = text;
243
- this.node = node;
244
- }
245
- }
246
- // clang-format off
247
- export class BinOpMatcher extends matcherBase(BinOpMatch) {
248
- // clang-format on
249
- accepts() {
250
- return true;
251
- }
252
- matches(node, matching) {
253
- return node.name === 'BinaryExpression' ? new BinOpMatch(matching.ast.text(node), node) : null;
254
- }
255
- }
256
- export class TextMatch {
257
- text;
258
- node;
259
- computedText;
260
- constructor(text, node) {
261
- this.text = text;
262
- this.node = node;
263
- if (node.name === 'Comment') {
264
- this.computedText = () => '';
265
- }
266
- }
267
- render() {
268
- const span = document.createElement('span');
269
- span.appendChild(document.createTextNode(this.text));
270
- return [span];
271
- }
272
- }
273
- // clang-format off
274
- export class TextMatcher extends matcherBase(TextMatch) {
275
- // clang-format on
276
- accepts() {
277
- return true;
278
- }
279
- matches(node, matching) {
280
- if (!node.firstChild || node.name === 'NumberLiteral' /* may have a Unit child */) {
281
- // Leaf node, just emit text
282
- const text = matching.ast.text(node);
283
- if (text.length) {
284
- return new TextMatch(text, node);
285
- }
286
- }
287
- return null;
288
- }
289
- }
290
- export class AngleMatch {
291
- text;
292
- node;
293
- constructor(text, node) {
294
- this.text = text;
295
- this.node = node;
296
- }
297
- computedText() {
298
- return this.text;
299
- }
300
- }
301
- // clang-format off
302
- export class AngleMatcher extends matcherBase(AngleMatch) {
303
- // clang-format on
304
- accepts(propertyName) {
305
- return cssMetadata().isAngleAwareProperty(propertyName);
306
- }
307
- matches(node, matching) {
308
- if (node.name !== 'NumberLiteral') {
309
- return null;
310
- }
311
- const unit = node.getChild('Unit');
312
- // TODO(crbug/1138628) handle unitless 0
313
- if (!unit || !['deg', 'grad', 'rad', 'turn'].includes(matching.ast.text(unit))) {
314
- return null;
315
- }
316
- return new AngleMatch(matching.ast.text(node), node);
317
- }
318
- }
319
- function literalToNumber(node, ast) {
320
- if (node.type.name !== 'NumberLiteral') {
321
- return null;
322
- }
323
- const text = ast.text(node);
324
- return Number(text.substring(0, text.length - ast.text(node.getChild('Unit')).length));
325
- }
326
- export class ColorMixMatch {
327
- text;
328
- node;
329
- space;
330
- color1;
331
- color2;
332
- constructor(text, node, space, color1, color2) {
333
- this.text = text;
334
- this.node = node;
335
- this.space = space;
336
- this.color1 = color1;
337
- this.color2 = color2;
338
- }
339
- }
340
- // clang-format off
341
- export class ColorMixMatcher extends matcherBase(ColorMixMatch) {
342
- // clang-format on
343
- accepts(propertyName) {
344
- return cssMetadata().isColorAwareProperty(propertyName);
345
- }
346
- matches(node, matching) {
347
- if (node.name !== 'CallExpression' || matching.ast.text(node.getChild('Callee')) !== 'color-mix') {
348
- return null;
349
- }
350
- const computedValueTree = tokenizeDeclaration('--property', matching.getComputedText(node));
351
- if (!computedValueTree) {
352
- return null;
353
- }
354
- const value = ASTUtils.declValue(computedValueTree.tree);
355
- if (!value) {
356
- return null;
357
- }
358
- const computedValueArgs = ASTUtils.callArgs(value);
359
- if (computedValueArgs.length !== 3) {
360
- return null;
361
- }
362
- const [space, color1, color2] = computedValueArgs;
363
- // Verify that all arguments are there, and that the space starts with a literal `in`.
364
- if (space.length < 2 || computedValueTree.text(ASTUtils.stripComments(space).next().value) !== 'in' ||
365
- color1.length < 1 || color2.length < 1) {
366
- return null;
367
- }
368
- // Verify there's at most one percentage value for each color.
369
- const p1 = color1.filter(n => n.type.name === 'NumberLiteral' && computedValueTree.text(n.getChild('Unit')) === '%');
370
- const p2 = color2.filter(n => n.type.name === 'NumberLiteral' && computedValueTree.text(n.getChild('Unit')) === '%');
371
- if (p1.length > 1 || p2.length > 1) {
372
- return null;
373
- }
374
- // Verify that if both colors carry percentages, they aren't both zero (which is an invalid property value).
375
- if (p1[0] && p2[0] && (literalToNumber(p1[0], computedValueTree) ?? 0) === 0 &&
376
- (literalToNumber(p2[0], computedValueTree) ?? 0) === 0) {
377
- return null;
378
- }
379
- const args = ASTUtils.callArgs(node);
380
- if (args.length !== 3) {
381
- return null;
382
- }
383
- return new ColorMixMatch(matching.ast.text(node), node, args[0], args[1], args[2]);
384
- }
385
- }
386
- // clang-format off
387
- export class URLMatch {
388
- url;
389
- text;
390
- node;
391
- constructor(url, text, node) {
392
- this.url = url;
393
- this.text = text;
394
- this.node = node;
395
- }
396
- }
397
- // clang-format off
398
- export class URLMatcher extends matcherBase(URLMatch) {
399
- // clang-format on
400
- matches(node, matching) {
401
- if (node.name !== 'CallLiteral') {
402
- return null;
403
- }
404
- const callee = node.getChild('CallTag');
405
- if (!callee || matching.ast.text(callee) !== 'url') {
406
- return null;
407
- }
408
- const [, lparenNode, urlNode, rparenNode] = ASTUtils.siblings(callee);
409
- if (matching.ast.text(lparenNode) !== '(' ||
410
- (urlNode.name !== 'ParenthesizedContent' && urlNode.name !== 'StringLiteral') ||
411
- matching.ast.text(rparenNode) !== ')') {
412
- return null;
413
- }
414
- const text = matching.ast.text(urlNode);
415
- const url = (urlNode.name === 'StringLiteral' ? text.substr(1, text.length - 2) : text.trim());
416
- return new URLMatch(url, matching.ast.text(node), node);
417
- }
418
- }
419
- export class LinearGradientMatch {
420
- text;
421
- node;
422
- constructor(text, node) {
423
- this.text = text;
424
- this.node = node;
425
- }
426
- }
427
- // clang-format off
428
- export class LinearGradientMatcher extends matcherBase(LinearGradientMatch) {
429
- // clang-format on
430
- matches(node, matching) {
431
- const text = matching.ast.text(node);
432
- if (node.name === 'CallExpression' && matching.ast.text(node.getChild('Callee')) === 'linear-gradient') {
433
- return new LinearGradientMatch(text, node);
434
- }
435
- return null;
436
- }
437
- accepts(propertyName) {
438
- return ['background', 'background-image', '-webkit-mask-image'].includes(propertyName);
439
- }
440
- }
441
- export class ColorMatch {
442
- text;
443
- node;
444
- currentColorCallback;
445
- relativeColor;
446
- computedText;
447
- constructor(text, node, currentColorCallback, relativeColor) {
448
- this.text = text;
449
- this.node = node;
450
- this.currentColorCallback = currentColorCallback;
451
- this.relativeColor = relativeColor;
452
- this.computedText = currentColorCallback;
453
- }
454
- }
455
- // clang-format off
456
- export class ColorMatcher extends matcherBase(ColorMatch) {
457
- currentColorCallback;
458
- constructor(currentColorCallback) {
459
- super();
460
- this.currentColorCallback = currentColorCallback;
461
- }
462
- // clang-format on
463
- accepts(propertyName) {
464
- return cssMetadata().isColorAwareProperty(propertyName);
465
- }
466
- matches(node, matching) {
467
- const text = matching.ast.text(node);
468
- if (node.name === 'ColorLiteral') {
469
- return new ColorMatch(text, node);
470
- }
471
- if (node.name === 'ValueName') {
472
- if (Common.Color.Nicknames.has(text)) {
473
- return new ColorMatch(text, node);
474
- }
475
- if (text.toLowerCase() === 'currentcolor' && this.currentColorCallback) {
476
- const callback = this.currentColorCallback;
477
- return new ColorMatch(text, node, () => callback() ?? text);
478
- }
479
- }
480
- if (node.name === 'CallExpression') {
481
- const callee = node.getChild('Callee');
482
- const colorFunc = matching.ast.text(callee).toLowerCase();
483
- if (callee && colorFunc.match(/^(rgba?|hsla?|hwba?|lab|lch|oklab|oklch|color)$/)) {
484
- const args = ASTUtils.children(node.getChild('ArgList'));
485
- // args are the tokens for the parthesized expression following the function name, so in a well-formed case
486
- // should at least contain the open and closing parens.
487
- const colorText = args.length >= 2 ? matching.getComputedTextRange(args[0], args[args.length - 1]) : '';
488
- // colorText holds the fully substituted parenthesized expression, so colorFunc + colorText is the color
489
- // function call.
490
- const isRelativeColorSyntax = Boolean(colorText.match(/^[^)]*\(\W*from\W+/) && !matching.hasUnresolvedSubstitutions(node) &&
491
- CSS.supports('color', colorFunc + colorText));
492
- if (!isRelativeColorSyntax) {
493
- return new ColorMatch(text, node);
494
- }
495
- const tokenized = matchDeclaration('--color', '--colorFunc' + colorText, [new ColorMatcher()]);
496
- if (!tokenized) {
497
- return null;
498
- }
499
- const [colorArgs] = ASTUtils.callArgs(ASTUtils.declValue(tokenized.ast.tree));
500
- // getComputedText already removed comments and such, so there must be 5 or 6 args:
501
- // rgb(from red c0 c1 c2) or color(from yellow srgb c0 c1 c2)
502
- // If any of the C is a calc expression that is a single root node. If the value contains an alpha channel that
503
- // is parsed as a BinOp into c2.
504
- if (colorArgs.length !== (colorFunc === 'color' ? 6 : 5)) {
505
- return null;
506
- }
507
- const colorSpace = Common.Color.getFormat(colorFunc !== 'color' ? colorFunc : matching.ast.text(colorArgs[2]));
508
- if (!colorSpace) {
509
- return null;
510
- }
511
- const baseColor = tokenized.getMatch(colorArgs[1]);
512
- if (tokenized.ast.text(colorArgs[0]) !== 'from' || !(baseColor instanceof ColorMatch)) {
513
- return null;
514
- }
515
- return new ColorMatch(text, node, undefined, { colorSpace, baseColor });
516
- }
517
- }
518
- return null;
519
- }
520
- }
521
- function isRelativeColorChannelName(channel) {
522
- const maybeChannel = channel;
523
- switch (maybeChannel) {
524
- case "a" /* Common.Color.ColorChannel.A */:
525
- case "alpha" /* Common.Color.ColorChannel.ALPHA */:
526
- case "b" /* Common.Color.ColorChannel.B */:
527
- case "c" /* Common.Color.ColorChannel.C */:
528
- case "g" /* Common.Color.ColorChannel.G */:
529
- case "h" /* Common.Color.ColorChannel.H */:
530
- case "l" /* Common.Color.ColorChannel.L */:
531
- case "r" /* Common.Color.ColorChannel.R */:
532
- case "s" /* Common.Color.ColorChannel.S */:
533
- case "w" /* Common.Color.ColorChannel.W */:
534
- case "x" /* Common.Color.ColorChannel.X */:
535
- case "y" /* Common.Color.ColorChannel.Y */:
536
- case "z" /* Common.Color.ColorChannel.Z */:
537
- return true;
538
- }
539
- // This assignment catches missed values in the switch above.
540
- const catchFallback = maybeChannel; // eslint-disable-line @typescript-eslint/no-unused-vars
541
- return false;
542
- }
543
- export class RelativeColorChannelMatch {
544
- text;
545
- node;
546
- constructor(text, node) {
547
- this.text = text;
548
- this.node = node;
549
- }
550
- getColorChannelValue(relativeColor) {
551
- const color = Common.Color.parse(relativeColor.baseColor.text)?.as(relativeColor.colorSpace);
552
- if (color instanceof Common.Color.ColorFunction) {
553
- switch (this.text) {
554
- case "r" /* Common.Color.ColorChannel.R */:
555
- return color.isXYZ() ? null : color.p0;
556
- case "g" /* Common.Color.ColorChannel.G */:
557
- return color.isXYZ() ? null : color.p1;
558
- case "b" /* Common.Color.ColorChannel.B */:
559
- return color.isXYZ() ? null : color.p2;
560
- case "x" /* Common.Color.ColorChannel.X */:
561
- return color.isXYZ() ? color.p0 : null;
562
- case "y" /* Common.Color.ColorChannel.Y */:
563
- return color.isXYZ() ? color.p1 : null;
564
- case "z" /* Common.Color.ColorChannel.Z */:
565
- return color.isXYZ() ? color.p2 : null;
566
- case "alpha" /* Common.Color.ColorChannel.ALPHA */:
567
- return color.alpha;
568
- }
569
- }
570
- else if (color instanceof Common.Color.Legacy) {
571
- switch (this.text) {
572
- case "r" /* Common.Color.ColorChannel.R */:
573
- return color.rgba()[0];
574
- case "g" /* Common.Color.ColorChannel.G */:
575
- return color.rgba()[1];
576
- case "b" /* Common.Color.ColorChannel.B */:
577
- return color.rgba()[2];
578
- case "alpha" /* Common.Color.ColorChannel.ALPHA */:
579
- return color.rgba()[3];
580
- }
581
- }
582
- else if (color && this.text in color) {
583
- return color[this.text];
584
- }
585
- return null;
586
- }
587
- computedText() {
588
- return this.text;
589
- }
590
- }
591
- // clang-format off
592
- export class RelativeColorChannelMatcher extends matcherBase(RelativeColorChannelMatch) {
593
- // clang-format on
594
- accepts(propertyName) {
595
- return cssMetadata().isColorAwareProperty(propertyName);
596
- }
597
- matches(node, matching) {
598
- const text = matching.ast.text(node);
599
- if (node.name === 'ValueName' && isRelativeColorChannelName(text)) {
600
- return new RelativeColorChannelMatch(text, node);
601
- }
602
- return null;
603
- }
604
- }
605
- export class LightDarkColorMatch {
606
- text;
607
- node;
608
- light;
609
- dark;
610
- style;
611
- constructor(text, node, light, dark, style) {
612
- this.text = text;
613
- this.node = node;
614
- this.light = light;
615
- this.dark = dark;
616
- this.style = style;
617
- }
618
- }
619
- // clang-format off
620
- export class LightDarkColorMatcher extends matcherBase(LightDarkColorMatch) {
621
- style;
622
- // clang-format on
623
- constructor(style) {
624
- super();
625
- this.style = style;
626
- }
627
- accepts(propertyName) {
628
- return cssMetadata().isColorAwareProperty(propertyName);
629
- }
630
- matches(node, matching) {
631
- if (node.name !== 'CallExpression' || matching.ast.text(node.getChild('Callee')) !== 'light-dark') {
632
- return null;
633
- }
634
- const args = ASTUtils.callArgs(node);
635
- if (args.length !== 2 || args[0].length === 0 || args[1].length === 0) {
636
- return null;
637
- }
638
- return new LightDarkColorMatch(matching.ast.text(node), node, args[0], args[1], this.style);
639
- }
640
- }
641
- export class AutoBaseMatch {
642
- text;
643
- node;
644
- auto;
645
- base;
646
- constructor(text, node, auto, base) {
647
- this.text = text;
648
- this.node = node;
649
- this.auto = auto;
650
- this.base = base;
651
- }
652
- }
653
- // clang-format off
654
- export class AutoBaseMatcher extends matcherBase(AutoBaseMatch) {
655
- // clang-format on
656
- matches(node, matching) {
657
- if (node.name !== 'CallExpression' || matching.ast.text(node.getChild('Callee')) !== '-internal-auto-base') {
658
- return null;
659
- }
660
- const args = ASTUtils.callArgs(node);
661
- if (args.length !== 2 || args[0].length === 0 || args[1].length === 0) {
662
- return null;
663
- }
664
- return new AutoBaseMatch(matching.ast.text(node), node, args[0], args[1]);
665
- }
666
- }
667
- export class LinkableNameMatch {
668
- text;
669
- node;
670
- propertyName;
671
- constructor(text, node, propertyName) {
672
- this.text = text;
673
- this.node = node;
674
- this.propertyName = propertyName;
675
- }
676
- }
677
- // clang-format off
678
- export class LinkableNameMatcher extends matcherBase(LinkableNameMatch) {
679
- // clang-format on
680
- static isLinkableNameProperty(propertyName) {
681
- const names = [
682
- "animation" /* LinkableNameProperties.ANIMATION */,
683
- "animation-name" /* LinkableNameProperties.ANIMATION_NAME */,
684
- "font-palette" /* LinkableNameProperties.FONT_PALETTE */,
685
- "position-try-fallbacks" /* LinkableNameProperties.POSITION_TRY_FALLBACKS */,
686
- "position-try" /* LinkableNameProperties.POSITION_TRY */,
687
- ];
688
- return names.includes(propertyName);
689
- }
690
- static identifierAnimationLonghandMap = new Map(Object.entries({
691
- normal: "direction" /* AnimationLonghandPart.DIRECTION */,
692
- alternate: "direction" /* AnimationLonghandPart.DIRECTION */,
693
- reverse: "direction" /* AnimationLonghandPart.DIRECTION */,
694
- 'alternate-reverse': "direction" /* AnimationLonghandPart.DIRECTION */,
695
- none: "fill-mode" /* AnimationLonghandPart.FILL_MODE */,
696
- forwards: "fill-mode" /* AnimationLonghandPart.FILL_MODE */,
697
- backwards: "fill-mode" /* AnimationLonghandPart.FILL_MODE */,
698
- both: "fill-mode" /* AnimationLonghandPart.FILL_MODE */,
699
- running: "play-state" /* AnimationLonghandPart.PLAY_STATE */,
700
- paused: "play-state" /* AnimationLonghandPart.PLAY_STATE */,
701
- infinite: "iteration-count" /* AnimationLonghandPart.ITERATION_COUNT */,
702
- linear: "easing-function" /* AnimationLonghandPart.EASING_FUNCTION */,
703
- ease: "easing-function" /* AnimationLonghandPart.EASING_FUNCTION */,
704
- 'ease-in': "easing-function" /* AnimationLonghandPart.EASING_FUNCTION */,
705
- 'ease-out': "easing-function" /* AnimationLonghandPart.EASING_FUNCTION */,
706
- 'ease-in-out': "easing-function" /* AnimationLonghandPart.EASING_FUNCTION */,
707
- steps: "easing-function" /* AnimationLonghandPart.EASING_FUNCTION */,
708
- 'step-start': "easing-function" /* AnimationLonghandPart.EASING_FUNCTION */,
709
- 'step-end': "easing-function" /* AnimationLonghandPart.EASING_FUNCTION */,
710
- }));
711
- matchAnimationNameInShorthand(node, matching) {
712
- // Order is important within each animation definition for distinguishing <keyframes-name> values from other keywords.
713
- // When parsing, keywords that are valid for properties other than animation-name
714
- // whose values were not found earlier in the shorthand must be accepted for those properties rather than for animation-name.
715
- // See the details in: https://w3c.github.io/csswg-drafts/css-animations/#animation.
716
- const text = matching.ast.text(node);
717
- // This is not a known identifier, so return it as `animation-name`.
718
- if (!LinkableNameMatcher.identifierAnimationLonghandMap.has(text)) {
719
- return new LinkableNameMatch(text, node, "animation" /* LinkableNameProperties.ANIMATION */);
720
- }
721
- // There can be multiple `animation` declarations splitted by a comma.
722
- // So, we find the declaration nodes that are related to the node argument.
723
- const declarations = ASTUtils.split(ASTUtils.siblings(ASTUtils.declValue(matching.ast.tree)));
724
- const currentDeclarationNodes = declarations.find(declaration => declaration[0].from <= node.from && declaration[declaration.length - 1].to >= node.to);
725
- if (!currentDeclarationNodes) {
726
- return null;
727
- }
728
- // We reparse here until the node argument since a variable might be
729
- // providing a meaningful value such as a timing keyword,
730
- // that might change the meaning of the node.
731
- const computedText = matching.getComputedTextRange(currentDeclarationNodes[0], node);
732
- const tokenized = tokenizeDeclaration('--p', computedText);
733
- if (!tokenized) {
734
- return null;
735
- }
736
- const identifierCategory = LinkableNameMatcher.identifierAnimationLonghandMap.get(text); // The category of the node argument
737
- for (let itNode = ASTUtils.declValue(tokenized.tree); itNode?.nextSibling; itNode = itNode.nextSibling) {
738
- // Run through all the nodes that come before node argument
739
- // and check whether a value in the same category is found.
740
- // if so, it means our identifier is an `animation-name` keyword.
741
- if (itNode.name === 'ValueName') {
742
- const categoryValue = LinkableNameMatcher.identifierAnimationLonghandMap.get(tokenized.text(itNode));
743
- if (categoryValue && categoryValue === identifierCategory) {
744
- return new LinkableNameMatch(text, node, "animation" /* LinkableNameProperties.ANIMATION */);
745
- }
746
- }
747
- }
748
- return null;
749
- }
750
- matches(node, matching) {
751
- const { propertyName } = matching.ast;
752
- const text = matching.ast.text(node);
753
- const parentNode = node.parent;
754
- if (!parentNode) {
755
- return null;
756
- }
757
- if (!(propertyName && LinkableNameMatcher.isLinkableNameProperty(propertyName))) {
758
- return null;
759
- }
760
- const isParentADeclaration = parentNode.name === 'Declaration';
761
- const isInsideVarCall = parentNode.name === 'ArgList' && parentNode.prevSibling?.name === 'Callee' &&
762
- matching.ast.text(parentNode.prevSibling) === 'var';
763
- const isAParentDeclarationOrVarCall = isParentADeclaration || isInsideVarCall;
764
- // `position-try-fallbacks` and `position-try` only accept names with dashed ident.
765
- const shouldMatchOnlyVariableName = propertyName === "position-try" /* LinkableNameProperties.POSITION_TRY */ ||
766
- propertyName === "position-try-fallbacks" /* LinkableNameProperties.POSITION_TRY_FALLBACKS */;
767
- // We only mark top level nodes or nodes that are inside `var()` expressions as linkable names.
768
- if (!propertyName || (node.name !== 'ValueName' && node.name !== 'VariableName') ||
769
- !isAParentDeclarationOrVarCall || (node.name === 'ValueName' && shouldMatchOnlyVariableName)) {
770
- return null;
771
- }
772
- if (propertyName === 'animation') {
773
- return this.matchAnimationNameInShorthand(node, matching);
774
- }
775
- // The assertion here is safe since this matcher only runs for
776
- // properties with names inside `LinkableNameProperties` (See the `accepts` function.)
777
- return new LinkableNameMatch(text, node, propertyName);
778
- }
779
- }
780
- export class BezierMatch {
781
- text;
782
- node;
783
- constructor(text, node) {
784
- this.text = text;
785
- this.node = node;
786
- }
787
- }
788
- // clang-format off
789
- export class BezierMatcher extends matcherBase(BezierMatch) {
790
- // clang-format on
791
- accepts(propertyName) {
792
- return cssMetadata().isBezierAwareProperty(propertyName);
793
- }
794
- matches(node, matching) {
795
- const text = matching.ast.text(node);
796
- const isCubicBezierKeyword = node.name === 'ValueName' && CubicBezierKeywordValues.has(text);
797
- const isCubicBezierOrLinearFunction = node.name === 'CallExpression' &&
798
- ['cubic-bezier', 'linear'].includes(matching.ast.text(node.getChild('Callee')));
799
- if (!isCubicBezierKeyword && !isCubicBezierOrLinearFunction) {
800
- return null;
801
- }
802
- return new BezierMatch(text, node);
803
- }
804
- }
805
- export class StringMatch {
806
- text;
807
- node;
808
- constructor(text, node) {
809
- this.text = text;
810
- this.node = node;
811
- }
812
- }
813
- // clang-format off
814
- export class StringMatcher extends matcherBase(StringMatch) {
815
- // clang-format on
816
- matches(node, matching) {
817
- return node.name === 'StringLiteral' ? new StringMatch(matching.ast.text(node), node) : null;
818
- }
819
- }
820
- export class ShadowMatch {
821
- text;
822
- node;
823
- shadowType;
824
- constructor(text, node, shadowType) {
825
- this.text = text;
826
- this.node = node;
827
- this.shadowType = shadowType;
828
- }
829
- }
830
- // clang-format off
831
- export class ShadowMatcher extends matcherBase(ShadowMatch) {
832
- // clang-format on
833
- accepts(propertyName) {
834
- return cssMetadata().isShadowProperty(propertyName);
835
- }
836
- matches(node, matching) {
837
- if (node.name !== 'Declaration') {
838
- return null;
839
- }
840
- const valueNodes = ASTUtils.siblings(ASTUtils.declValue(node));
841
- if (valueNodes.length === 0) {
842
- return null;
843
- }
844
- const valueText = matching.ast.textRange(valueNodes[0], valueNodes[valueNodes.length - 1]);
845
- return new ShadowMatch(valueText, node, matching.ast.propertyName === 'text-shadow' ? "textShadow" /* ShadowType.TEXT_SHADOW */ : "boxShadow" /* ShadowType.BOX_SHADOW */);
846
- }
847
- }
848
- export class FontMatch {
849
- text;
850
- node;
851
- constructor(text, node) {
852
- this.text = text;
853
- this.node = node;
854
- }
855
- }
856
- // clang-format off
857
- export class FontMatcher extends matcherBase(FontMatch) {
858
- // clang-format on
859
- accepts(propertyName) {
860
- return cssMetadata().isFontAwareProperty(propertyName);
861
- }
862
- matches(node, matching) {
863
- if (node.name !== 'Declaration') {
864
- return null;
865
- }
866
- const valueNodes = ASTUtils.siblings(ASTUtils.declValue(node));
867
- if (valueNodes.length === 0) {
868
- return null;
869
- }
870
- const validNodes = matching.ast.propertyName === 'font-family' ? ['ValueName', 'StringLiteral', 'Comment', ','] :
871
- ['Comment', 'ValueName', 'NumberLiteral'];
872
- if (valueNodes.some(node => !validNodes.includes(node.name))) {
873
- return null;
874
- }
875
- const valueText = matching.ast.textRange(valueNodes[0], valueNodes[valueNodes.length - 1]);
876
- return new FontMatch(valueText, node);
877
- }
878
- }
879
- export class LengthMatch {
880
- text;
881
- node;
882
- unit;
883
- constructor(text, node, unit) {
884
- this.text = text;
885
- this.node = node;
886
- this.unit = unit;
887
- }
888
- }
889
- // clang-format off
890
- export class LengthMatcher extends matcherBase(LengthMatch) {
891
- // clang-format on
892
- static LENGTH_UNITS = new Set([
893
- 'em', 'ex', 'ch', 'cap', 'ic', 'lh', 'rem', 'rex', 'rch', 'rlh', 'ric', 'rcap', 'pt', 'pc',
894
- 'in', 'cm', 'mm', 'Q', 'vw', 'vh', 'vi', 'vb', 'vmin', 'vmax', 'dvw', 'dvh', 'dvi', 'dvb',
895
- 'dvmin', 'dvmax', 'svw', 'svh', 'svi', 'svb', 'svmin', 'svmax', 'lvw', 'lvh', 'lvi', 'lvb', 'lvmin', 'lvmax',
896
- 'cqw', 'cqh', 'cqi', 'cqb', 'cqmin', 'cqmax', 'cqem', 'cqlh', 'cqex', 'cqch', '%'
897
- ]);
898
- matches(node, matching) {
899
- if (node.name !== 'NumberLiteral') {
900
- return null;
901
- }
902
- const unit = matching.ast.text(node.getChild('Unit'));
903
- if (!LengthMatcher.LENGTH_UNITS.has(unit)) {
904
- return null;
905
- }
906
- const text = matching.ast.text(node);
907
- return new LengthMatch(text, node, unit);
908
- }
909
- }
910
- export class BaseFunctionMatch {
911
- text;
912
- node;
913
- func;
914
- args;
915
- constructor(text, node, func, args) {
916
- this.text = text;
917
- this.node = node;
918
- this.func = func;
919
- this.args = args;
920
- }
921
- }
922
- export class MathFunctionMatch extends BaseFunctionMatch {
923
- isArithmeticFunctionCall() {
924
- const func = this.func;
925
- switch (func) {
926
- case "calc" /* ArithmeticFunction.CALC */:
927
- case "sibling-count" /* ArithmeticFunction.SIBLING_COUNT */:
928
- case "sibling-index" /* ArithmeticFunction.SIBLING_INDEX */:
929
- return true;
930
- }
931
- // This assignment catches missed values in the switch above.
932
- const catchFallback = func; // eslint-disable-line @typescript-eslint/no-unused-vars
933
- return false;
934
- }
935
- }
936
- // clang-format off
937
- export class MathFunctionMatcher extends matcherBase(MathFunctionMatch) {
938
- // clang-format on
939
- static getFunctionType(callee) {
940
- const maybeFunc = callee;
941
- switch (maybeFunc) {
942
- case null:
943
- case "min" /* SelectFunction.MIN */:
944
- case "max" /* SelectFunction.MAX */:
945
- case "clamp" /* SelectFunction.CLAMP */:
946
- case "calc" /* ArithmeticFunction.CALC */:
947
- case "sibling-count" /* ArithmeticFunction.SIBLING_COUNT */:
948
- case "sibling-index" /* ArithmeticFunction.SIBLING_INDEX */:
949
- return maybeFunc;
950
- }
951
- // This assignment catches missed values in the switch above.
952
- const catchFallback = maybeFunc; // eslint-disable-line @typescript-eslint/no-unused-vars
953
- return null;
954
- }
955
- matches(node, matching) {
956
- if (node.name !== 'CallExpression') {
957
- return null;
958
- }
959
- const callee = MathFunctionMatcher.getFunctionType(matching.ast.text(node.getChild('Callee')));
960
- if (!callee) {
961
- return null;
962
- }
963
- const args = ASTUtils.callArgs(node);
964
- if (args.some(arg => arg.length === 0 || matching.hasUnresolvedSubstitutionsRange(arg[0], arg[arg.length - 1]))) {
965
- return null;
966
- }
967
- const text = matching.ast.text(node);
968
- const match = new MathFunctionMatch(text, node, callee, args);
969
- if (!match.isArithmeticFunctionCall() && args.length === 0) {
970
- return null;
971
- }
972
- return match;
973
- }
974
- }
975
- export class CustomFunctionMatch extends BaseFunctionMatch {
976
- }
977
- // clang-format off
978
- export class CustomFunctionMatcher extends matcherBase(CustomFunctionMatch) {
979
- // clang-format on
980
- matches(node, matching) {
981
- if (node.name !== 'CallExpression') {
982
- return null;
983
- }
984
- const callee = matching.ast.text(node.getChild('VariableName'));
985
- if (!callee?.startsWith('--')) {
986
- return null;
987
- }
988
- const args = ASTUtils.callArgs(node);
989
- if (args.some(arg => arg.length === 0 || matching.hasUnresolvedSubstitutionsRange(arg[0], arg[arg.length - 1]))) {
990
- return null;
991
- }
992
- const text = matching.ast.text(node);
993
- return new CustomFunctionMatch(text, node, callee, args);
994
- }
995
- }
996
- export class FlexGridGridLanesMatch {
997
- text;
998
- node;
999
- layoutType;
1000
- constructor(text, node, layoutType) {
1001
- this.text = text;
1002
- this.node = node;
1003
- this.layoutType = layoutType;
1004
- }
1005
- }
1006
- // clang-format off
1007
- export class FlexGridGridLanesMatcher extends matcherBase(FlexGridGridLanesMatch) {
1008
- // clang-format on
1009
- static FLEX = ['flex', 'inline-flex', 'block flex', 'inline flex'];
1010
- static GRID = ['grid', 'inline-grid', 'block grid', 'inline grid'];
1011
- static GRID_LANES = ['grid-lanes', 'inline-grid-lanes', 'block grid-lanes', 'inline grid-lanes'];
1012
- accepts(propertyName) {
1013
- return propertyName === 'display';
1014
- }
1015
- matches(node, matching) {
1016
- if (node.name !== 'Declaration') {
1017
- return null;
1018
- }
1019
- const valueNodes = ASTUtils.siblings(ASTUtils.declValue(node));
1020
- if (valueNodes.length < 1) {
1021
- return null;
1022
- }
1023
- const values = valueNodes.filter(node => node.name !== 'Important')
1024
- .map(node => matching.getComputedText(node).trim())
1025
- .filter(value => value);
1026
- const text = values.join(' ');
1027
- if (FlexGridGridLanesMatcher.FLEX.includes(text)) {
1028
- return new FlexGridGridLanesMatch(matching.ast.text(node), node, "flex" /* LayoutType.FLEX */);
1029
- }
1030
- if (FlexGridGridLanesMatcher.GRID.includes(text)) {
1031
- return new FlexGridGridLanesMatch(matching.ast.text(node), node, "grid" /* LayoutType.GRID */);
1032
- }
1033
- if (FlexGridGridLanesMatcher.GRID_LANES.includes(text)) {
1034
- return new FlexGridGridLanesMatch(matching.ast.text(node), node, "grid-lanes" /* LayoutType.GRID_LANES */);
1035
- }
1036
- return null;
1037
- }
1038
- }
1039
- export class GridTemplateMatch {
1040
- text;
1041
- node;
1042
- lines;
1043
- constructor(text, node, lines) {
1044
- this.text = text;
1045
- this.node = node;
1046
- this.lines = lines;
1047
- }
1048
- }
1049
- // clang-format off
1050
- export class GridTemplateMatcher extends matcherBase(GridTemplateMatch) {
1051
- // clang-format on
1052
- accepts(propertyName) {
1053
- return cssMetadata().isGridAreaDefiningProperty(propertyName);
1054
- }
1055
- matches(node, matching) {
1056
- if (node.name !== 'Declaration' || matching.hasUnresolvedSubstitutions(node)) {
1057
- return null;
1058
- }
1059
- const lines = [];
1060
- let curLine = [];
1061
- // The following two states are designed to consume different cases of LineNames:
1062
- // 1. no LineNames in between StringLiterals;
1063
- // 2. one LineNames in between, which means the LineNames belongs to the current line;
1064
- // 3. two LineNames in between, which means the second LineNames starts a new line.
1065
- // `hasLeadingLineNames` tracks if the current row already starts with a LineNames and
1066
- // with no following StringLiteral yet, which means that the next StringLiteral should
1067
- // be appended to the same `curLine`, instead of creating a new line.
1068
- let hasLeadingLineNames = false;
1069
- // `needClosingLineNames` tracks if the current row can still consume an optional LineNames,
1070
- // which will decide if we should start a new line or not when a LineNames is encountered.
1071
- let needClosingLineNames = false;
1072
- /**
1073
- * Gather row definitions of [<line-names>? <string> <track-size>? <line-names>?], which
1074
- * be rendered into separate lines.
1075
- **/
1076
- function parseNodes(nodes, varParsingMode = false) {
1077
- for (const curNode of nodes) {
1078
- if (matching.getMatch(curNode) instanceof BaseVariableMatch) {
1079
- const computedValueTree = tokenizeDeclaration('--property', matching.getComputedText(curNode));
1080
- if (!computedValueTree) {
1081
- continue;
1082
- }
1083
- const varNodes = ASTUtils.siblings(ASTUtils.declValue(computedValueTree.tree));
1084
- if (varNodes.length === 0) {
1085
- continue;
1086
- }
1087
- if ((varNodes[0].name === 'StringLiteral' && !hasLeadingLineNames) ||
1088
- (varNodes[0].name === 'BracketedValue' && !needClosingLineNames)) {
1089
- // The variable value either starts with a string, or with a line name that belongs to a new row;
1090
- // therefore we start a new line with the variable.
1091
- lines.push(curLine);
1092
- curLine = [curNode];
1093
- }
1094
- else {
1095
- curLine.push(curNode);
1096
- }
1097
- // We parse computed nodes of this variable to correctly advance local states, but
1098
- // these computed nodes won't be added to the lines.
1099
- parseNodes(varNodes, true);
1100
- }
1101
- else if (curNode.name === 'BinaryExpression') {
1102
- parseNodes(ASTUtils.siblings(curNode.firstChild));
1103
- }
1104
- else if (curNode.name === 'StringLiteral') {
1105
- if (!varParsingMode) {
1106
- if (hasLeadingLineNames) {
1107
- curLine.push(curNode);
1108
- }
1109
- else {
1110
- lines.push(curLine);
1111
- curLine = [curNode];
1112
- }
1113
- }
1114
- needClosingLineNames = true;
1115
- hasLeadingLineNames = false;
1116
- }
1117
- else if (curNode.name === 'BracketedValue') {
1118
- if (!varParsingMode) {
1119
- if (needClosingLineNames) {
1120
- curLine.push(curNode);
1121
- }
1122
- else {
1123
- lines.push(curLine);
1124
- curLine = [curNode];
1125
- }
1126
- }
1127
- hasLeadingLineNames = !needClosingLineNames;
1128
- needClosingLineNames = !needClosingLineNames;
1129
- }
1130
- else if (!varParsingMode) {
1131
- curLine.push(curNode);
1132
- }
1133
- }
1134
- }
1135
- const valueNodes = ASTUtils.siblings(ASTUtils.declValue(node));
1136
- if (valueNodes.length === 0) {
1137
- return null;
1138
- }
1139
- parseNodes(valueNodes);
1140
- lines.push(curLine);
1141
- const valueText = matching.ast.textRange(valueNodes[0], valueNodes[valueNodes.length - 1]);
1142
- return new GridTemplateMatch(valueText, node, lines.filter(line => line.length > 0));
1143
- }
1144
- }
1145
- export class AnchorFunctionMatch {
1146
- text;
1147
- node;
1148
- functionName;
1149
- constructor(text, node, functionName) {
1150
- this.text = text;
1151
- this.node = node;
1152
- this.functionName = functionName;
1153
- }
1154
- }
1155
- // clang-format off
1156
- export class AnchorFunctionMatcher extends matcherBase(AnchorFunctionMatch) {
1157
- // clang-format on
1158
- anchorFunction(node, matching) {
1159
- if (node.name !== 'CallExpression') {
1160
- return null;
1161
- }
1162
- const calleeText = matching.ast.text(node.getChild('Callee'));
1163
- if (calleeText === 'anchor' || calleeText === 'anchor-size') {
1164
- return calleeText;
1165
- }
1166
- return null;
1167
- }
1168
- matches(node, matching) {
1169
- if (node.name === 'VariableName') {
1170
- // Double-dashed anchor reference to be rendered with a link to its matching anchor.
1171
- let parent = node.parent;
1172
- if (parent?.name !== 'ArgList') {
1173
- return null;
1174
- }
1175
- parent = parent.parent;
1176
- if (!parent || !this.anchorFunction(parent, matching)) {
1177
- return null;
1178
- }
1179
- return new AnchorFunctionMatch(matching.ast.text(node), node, null);
1180
- }
1181
- const calleeText = this.anchorFunction(node, matching);
1182
- if (!calleeText) {
1183
- return null;
1184
- }
1185
- // Match if the anchor/anchor-size function implicitly references an anchor.
1186
- const args = ASTUtils.children(node.getChild('ArgList'));
1187
- if (calleeText === 'anchor' && args.length <= 2) {
1188
- return null;
1189
- }
1190
- if (args.find(arg => arg.name === 'VariableName')) {
1191
- // We have an explicit anchor reference, no need to render swatch.
1192
- return null;
1193
- }
1194
- return new AnchorFunctionMatch(matching.ast.text(node), node, calleeText);
1195
- }
1196
- }
1197
- /** For linking `position-anchor: --anchor-name`. **/
1198
- export class PositionAnchorMatch {
1199
- text;
1200
- matching;
1201
- node;
1202
- constructor(text, matching, node) {
1203
- this.text = text;
1204
- this.matching = matching;
1205
- this.node = node;
1206
- }
1207
- }
1208
- // clang-format off
1209
- export class PositionAnchorMatcher extends matcherBase(PositionAnchorMatch) {
1210
- // clang-format on
1211
- accepts(propertyName) {
1212
- return propertyName === 'position-anchor';
1213
- }
1214
- matches(node, matching) {
1215
- if (node.name !== 'VariableName') {
1216
- return null;
1217
- }
1218
- const dashedIdentifier = matching.ast.text(node);
1219
- return new PositionAnchorMatch(dashedIdentifier, matching, node);
1220
- }
1221
- }
1222
- export class CSSWideKeywordMatch {
1223
- text;
1224
- node;
1225
- property;
1226
- matchedStyles;
1227
- constructor(text, node, property, matchedStyles) {
1228
- this.text = text;
1229
- this.node = node;
1230
- this.property = property;
1231
- this.matchedStyles = matchedStyles;
1232
- }
1233
- resolveProperty() {
1234
- return this.matchedStyles.resolveGlobalKeyword(this.property, this.text);
1235
- }
1236
- computedText() {
1237
- return this.resolveProperty()?.value ?? null;
1238
- }
1239
- }
1240
- // clang-format off
1241
- export class CSSWideKeywordMatcher extends matcherBase(CSSWideKeywordMatch) {
1242
- property;
1243
- matchedStyles;
1244
- // clang-format on
1245
- constructor(property, matchedStyles) {
1246
- super();
1247
- this.property = property;
1248
- this.matchedStyles = matchedStyles;
1249
- }
1250
- matches(node, matching) {
1251
- const parentNode = node.parent;
1252
- if (node.name !== 'ValueName' || parentNode?.name !== 'Declaration') {
1253
- return null;
1254
- }
1255
- if (Array.from(ASTUtils.stripComments(ASTUtils.siblings(ASTUtils.declValue(parentNode))))
1256
- .some(child => !ASTUtils.equals(child, node))) {
1257
- return null;
1258
- }
1259
- const text = matching.ast.text(node);
1260
- if (!CSSMetadata.isCSSWideKeyword(text)) {
1261
- return null;
1262
- }
1263
- return new CSSWideKeywordMatch(text, node, this.property, this.matchedStyles);
1264
- }
1265
- }
1266
- export class PositionTryMatch {
1267
- text;
1268
- node;
1269
- preamble;
1270
- fallbacks;
1271
- constructor(text, node, preamble, fallbacks) {
1272
- this.text = text;
1273
- this.node = node;
1274
- this.preamble = preamble;
1275
- this.fallbacks = fallbacks;
1276
- }
1277
- }
1278
- // clang-format off
1279
- export class PositionTryMatcher extends matcherBase(PositionTryMatch) {
1280
- // clang-format on
1281
- accepts(propertyName) {
1282
- return propertyName === "position-try" /* LinkableNameProperties.POSITION_TRY */ ||
1283
- propertyName === "position-try-fallbacks" /* LinkableNameProperties.POSITION_TRY_FALLBACKS */;
1284
- }
1285
- matches(node, matching) {
1286
- if (node.name !== 'Declaration') {
1287
- return null;
1288
- }
1289
- let preamble = [];
1290
- const valueNodes = ASTUtils.siblings(ASTUtils.declValue(node));
1291
- const fallbacks = ASTUtils.split(valueNodes);
1292
- if (matching.ast.propertyName === "position-try" /* LinkableNameProperties.POSITION_TRY */) {
1293
- for (const [i, n] of fallbacks[0].entries()) {
1294
- const computedText = matching.getComputedText(n);
1295
- if (CSSMetadata.isCSSWideKeyword(computedText)) {
1296
- return null;
1297
- }
1298
- if (CSSMetadata.isPositionTryOrderKeyword(computedText)) {
1299
- preamble = fallbacks[0].splice(0, i + 1);
1300
- break;
1301
- }
1302
- }
1303
- }
1304
- const valueText = matching.ast.textRange(valueNodes[0], valueNodes[valueNodes.length - 1]);
1305
- return new PositionTryMatch(valueText, node, preamble, fallbacks);
1306
- }
1307
- }
1308
- export class EnvFunctionMatch {
1309
- text;
1310
- node;
1311
- varName;
1312
- value;
1313
- varNameIsValid;
1314
- constructor(text, node, varName, value, varNameIsValid) {
1315
- this.text = text;
1316
- this.node = node;
1317
- this.varName = varName;
1318
- this.value = value;
1319
- this.varNameIsValid = varNameIsValid;
1320
- }
1321
- computedText() {
1322
- return this.value;
1323
- }
1324
- }
1325
- // clang-format off
1326
- export class EnvFunctionMatcher extends matcherBase(EnvFunctionMatch) {
1327
- matchedStyles;
1328
- // clang-format on
1329
- constructor(matchedStyles) {
1330
- super();
1331
- this.matchedStyles = matchedStyles;
1332
- }
1333
- matches(node, matching) {
1334
- if (node.name !== 'CallExpression' || matching.ast.text(node.getChild('Callee')) !== 'env') {
1335
- return null;
1336
- }
1337
- const [valueNodes, ...fallbackNodes] = ASTUtils.callArgs(node);
1338
- if (!valueNodes?.length) {
1339
- return null;
1340
- }
1341
- const fallbackValue = fallbackNodes.length > 0 ? matching.getComputedTextRange(...ASTUtils.range(fallbackNodes.flat())) : undefined;
1342
- const varName = matching.getComputedTextRange(...ASTUtils.range(valueNodes)).trim();
1343
- const value = this.matchedStyles.environmentVariable(varName);
1344
- return new EnvFunctionMatch(matching.ast.text(node), node, varName, value ?? fallbackValue ?? null, Boolean(value));
1345
- }
1346
- }