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,1318 +0,0 @@
1
- // Copyright 2016 The Chromium Authors
2
- // Use of this source code is governed by a BSD-style license that can be
3
- // found in the LICENSE file.
4
- import * as Platform from '../platform/platform.js';
5
- import { CSSMetadata, cssMetadata } from './CSSMetadata.js';
6
- import { CSSProperty } from './CSSProperty.js';
7
- import * as PropertyParser from './CSSPropertyParser.js';
8
- import { AnchorFunctionMatcher, AngleMatcher, AttributeMatcher, AutoBaseMatcher, BaseVariableMatcher, BezierMatcher, BinOpMatcher, ColorMatcher, ColorMixMatcher, CustomFunctionMatcher, defaultValueForCSSType, EnvFunctionMatcher, FlexGridGridLanesMatcher, GridTemplateMatcher, LengthMatcher, LightDarkColorMatcher, LinearGradientMatcher, LinkableNameMatcher, localEvalCSS, MathFunctionMatcher, PositionAnchorMatcher, PositionTryMatcher, RelativeColorChannelMatcher, ShadowMatcher, StringMatcher, URLMatcher, VariableMatcher } from './CSSPropertyParserMatchers.js';
9
- import { CSSAtRule, CSSFunctionRule, CSSKeyframeRule, CSSKeyframesRule, CSSPositionTryRule, CSSPropertyRule, CSSStyleRule, } from './CSSRule.js';
10
- import { CSSStyleDeclaration, Type } from './CSSStyleDeclaration.js';
11
- function containsStyle(styles, query) {
12
- if (!query.styleSheetId || !query.range) {
13
- return false;
14
- }
15
- for (const style of styles) {
16
- if (query.styleSheetId === style.styleSheetId && style.range && query.range.equal(style.range)) {
17
- return true;
18
- }
19
- }
20
- return false;
21
- }
22
- function containsCustomProperties(style) {
23
- const properties = style.allProperties();
24
- return properties.some(property => cssMetadata().isCustomProperty(property.name));
25
- }
26
- function containsInherited(style) {
27
- const properties = style.allProperties();
28
- for (let i = 0; i < properties.length; ++i) {
29
- const property = properties[i];
30
- // Does this style contain non-overridden inherited property?
31
- if (property.activeInStyle() && cssMetadata().isPropertyInherited(property.name)) {
32
- return true;
33
- }
34
- }
35
- return false;
36
- }
37
- function cleanUserAgentPayload(payload) {
38
- for (const ruleMatch of payload) {
39
- cleanUserAgentSelectors(ruleMatch);
40
- }
41
- // Merge UA rules that are sequential and have similar selector/media.
42
- const cleanMatchedPayload = [];
43
- for (const ruleMatch of payload) {
44
- const lastMatch = cleanMatchedPayload[cleanMatchedPayload.length - 1];
45
- if (!lastMatch || ruleMatch.rule.origin !== 'user-agent' || lastMatch.rule.origin !== 'user-agent' ||
46
- ruleMatch.rule.selectorList.text !== lastMatch.rule.selectorList.text ||
47
- mediaText(ruleMatch) !== mediaText(lastMatch)) {
48
- cleanMatchedPayload.push(ruleMatch);
49
- continue;
50
- }
51
- mergeRule(ruleMatch, lastMatch);
52
- }
53
- return cleanMatchedPayload;
54
- function mergeRule(from, to) {
55
- const shorthands = new Map();
56
- const properties = new Map();
57
- for (const entry of to.rule.style.shorthandEntries) {
58
- shorthands.set(entry.name, entry.value);
59
- }
60
- for (const entry of to.rule.style.cssProperties) {
61
- properties.set(entry.name, entry.value);
62
- }
63
- for (const entry of from.rule.style.shorthandEntries) {
64
- shorthands.set(entry.name, entry.value);
65
- }
66
- for (const entry of from.rule.style.cssProperties) {
67
- properties.set(entry.name, entry.value);
68
- }
69
- to.rule.style.shorthandEntries = [...shorthands.entries()].map(([name, value]) => ({ name, value }));
70
- to.rule.style.cssProperties = [...properties.entries()].map(([name, value]) => ({ name, value }));
71
- }
72
- function mediaText(ruleMatch) {
73
- if (!ruleMatch.rule.media) {
74
- return null;
75
- }
76
- return ruleMatch.rule.media.map(media => media.text).join(', ');
77
- }
78
- function cleanUserAgentSelectors(ruleMatch) {
79
- const { matchingSelectors, rule } = ruleMatch;
80
- if (rule.origin !== 'user-agent' || !matchingSelectors.length) {
81
- return;
82
- }
83
- rule.selectorList.selectors = rule.selectorList.selectors.filter((_, i) => matchingSelectors.includes(i));
84
- rule.selectorList.text = rule.selectorList.selectors.map(item => item.text).join(', ');
85
- ruleMatch.matchingSelectors = matchingSelectors.map((_, i) => i);
86
- }
87
- }
88
- /**
89
- * Return a mapping of the highlight names in the specified RuleMatch to
90
- * the indices of selectors in that selector list with that highlight name.
91
- *
92
- * For example, consider the following ruleset:
93
- * span::highlight(foo), div, #mySpan::highlight(bar), .highlighted::highlight(foo) {
94
- * color: blue;
95
- * }
96
- *
97
- * For a <span id="mySpan" class="highlighted"></span>, a RuleMatch for that span
98
- * would have matchingSelectors [0, 2, 3] indicating that the span
99
- * matches all of the highlight selectors.
100
- *
101
- * For that RuleMatch, this function would produce the following map:
102
- * {
103
- * "foo": [0, 3],
104
- * "bar": [2]
105
- * }
106
- *
107
- * @param ruleMatch
108
- * @returns A mapping of highlight names to lists of indices into the selector
109
- * list associated with ruleMatch. The indices correspond to the selectors in the rule
110
- * associated with the key's highlight name.
111
- */
112
- function customHighlightNamesToMatchingSelectorIndices(ruleMatch) {
113
- const highlightNamesToMatchingSelectors = new Map();
114
- for (let i = 0; i < ruleMatch.matchingSelectors.length; i++) {
115
- const matchingSelectorIndex = ruleMatch.matchingSelectors[i];
116
- const selectorText = ruleMatch.rule.selectorList.selectors[matchingSelectorIndex].text;
117
- const highlightNameMatch = selectorText.match(/::highlight\((.*)\)/);
118
- if (highlightNameMatch) {
119
- const highlightName = highlightNameMatch[1];
120
- const selectorsForName = highlightNamesToMatchingSelectors.get(highlightName);
121
- if (selectorsForName) {
122
- selectorsForName.push(matchingSelectorIndex);
123
- }
124
- else {
125
- highlightNamesToMatchingSelectors.set(highlightName, [matchingSelectorIndex]);
126
- }
127
- }
128
- }
129
- return highlightNamesToMatchingSelectors;
130
- }
131
- function queryMatches(style) {
132
- if (!style.parentRule) {
133
- return true;
134
- }
135
- const parentRule = style.parentRule;
136
- const queries = [...parentRule.media, ...parentRule.containerQueries, ...parentRule.supports, ...parentRule.scopes];
137
- for (const query of queries) {
138
- if (!query.active()) {
139
- return false;
140
- }
141
- }
142
- return true;
143
- }
144
- export class CSSRegisteredProperty {
145
- #registration;
146
- #cssModel;
147
- #style;
148
- constructor(cssModel, registration) {
149
- this.#cssModel = cssModel;
150
- this.#registration = registration;
151
- }
152
- propertyName() {
153
- return this.#registration instanceof CSSPropertyRule ? this.#registration.propertyName().text :
154
- this.#registration.propertyName;
155
- }
156
- initialValue() {
157
- return this.#registration instanceof CSSPropertyRule ? this.#registration.initialValue() :
158
- this.#registration.initialValue?.text ?? null;
159
- }
160
- inherits() {
161
- return this.#registration instanceof CSSPropertyRule ? this.#registration.inherits() : this.#registration.inherits;
162
- }
163
- syntax() {
164
- return this.#registration instanceof CSSPropertyRule ? this.#registration.syntax() :
165
- `"${this.#registration.syntax}"`;
166
- }
167
- parseValue(matchedStyles, computedStyles) {
168
- const value = this.initialValue();
169
- if (!value) {
170
- return null;
171
- }
172
- return PropertyParser.matchDeclaration(this.propertyName(), value, matchedStyles.propertyMatchers(this.style(), computedStyles));
173
- }
174
- #asCSSProperties() {
175
- if (this.#registration instanceof CSSPropertyRule) {
176
- return [];
177
- }
178
- const { inherits, initialValue, syntax } = this.#registration;
179
- const properties = [
180
- { name: 'inherits', value: `${inherits}` },
181
- { name: 'syntax', value: `"${syntax}"` },
182
- ];
183
- if (initialValue !== undefined) {
184
- properties.push({ name: 'initial-value', value: initialValue.text });
185
- }
186
- return properties;
187
- }
188
- style() {
189
- if (!this.#style) {
190
- this.#style = this.#registration instanceof CSSPropertyRule ?
191
- this.#registration.style :
192
- new CSSStyleDeclaration(this.#cssModel, null, { cssProperties: this.#asCSSProperties(), shorthandEntries: [] }, Type.Pseudo);
193
- }
194
- return this.#style;
195
- }
196
- }
197
- export class CSSMatchedStyles {
198
- #cssModel;
199
- #node;
200
- #addedStyles = new Map();
201
- #matchingSelectors = new Map();
202
- #keyframes = [];
203
- #registeredProperties;
204
- #registeredPropertyMap = new Map();
205
- #nodeForStyle = new Map();
206
- #inheritedStyles = new Set();
207
- #styleToDOMCascade = new Map();
208
- #parentLayoutNodeId;
209
- #positionTryRules;
210
- #activePositionFallbackIndex;
211
- #mainDOMCascade;
212
- #pseudoDOMCascades;
213
- #customHighlightPseudoDOMCascades;
214
- #functionRules;
215
- #atRules;
216
- #functionRuleMap = new Map();
217
- #environmentVariables = {};
218
- static async create(payload) {
219
- const cssMatchedStyles = new CSSMatchedStyles(payload);
220
- await cssMatchedStyles.init(payload);
221
- return cssMatchedStyles;
222
- }
223
- constructor({ cssModel, node, animationsPayload, parentLayoutNodeId, positionTryRules, propertyRules, cssPropertyRegistrations, activePositionFallbackIndex, functionRules, atRules, }) {
224
- this.#cssModel = cssModel;
225
- this.#node = node;
226
- this.#registeredProperties = [
227
- ...propertyRules.map(rule => new CSSPropertyRule(cssModel, rule)),
228
- ...cssPropertyRegistrations,
229
- ].map(r => new CSSRegisteredProperty(cssModel, r));
230
- if (animationsPayload) {
231
- this.#keyframes = animationsPayload.map(rule => new CSSKeyframesRule(cssModel, rule));
232
- }
233
- this.#positionTryRules = positionTryRules.map(rule => new CSSPositionTryRule(cssModel, rule));
234
- this.#parentLayoutNodeId = parentLayoutNodeId;
235
- this.#activePositionFallbackIndex = activePositionFallbackIndex;
236
- this.#functionRules = functionRules.map(rule => new CSSFunctionRule(cssModel, rule));
237
- this.#atRules = atRules.map(rule => new CSSAtRule(cssModel, rule));
238
- }
239
- async init({ matchedPayload, inheritedPayload, inlinePayload, attributesPayload, pseudoPayload, inheritedPseudoPayload, animationStylesPayload, transitionsStylePayload, inheritedAnimatedPayload, }) {
240
- matchedPayload = cleanUserAgentPayload(matchedPayload);
241
- for (const inheritedResult of inheritedPayload) {
242
- inheritedResult.matchedCSSRules = cleanUserAgentPayload(inheritedResult.matchedCSSRules);
243
- }
244
- this.#environmentVariables = await this.cssModel().getEnvironmentVariables();
245
- this.#mainDOMCascade = await this.buildMainCascade(inlinePayload, attributesPayload, matchedPayload, inheritedPayload, animationStylesPayload, transitionsStylePayload, inheritedAnimatedPayload);
246
- [this.#pseudoDOMCascades, this.#customHighlightPseudoDOMCascades] =
247
- this.buildPseudoCascades(pseudoPayload, inheritedPseudoPayload);
248
- for (const domCascade of Array.from(this.#customHighlightPseudoDOMCascades.values())
249
- .concat(Array.from(this.#pseudoDOMCascades.values()))
250
- .concat(this.#mainDOMCascade)) {
251
- for (const style of domCascade.styles()) {
252
- this.#styleToDOMCascade.set(style, domCascade);
253
- }
254
- }
255
- for (const prop of this.#registeredProperties) {
256
- this.#registeredPropertyMap.set(prop.propertyName(), prop);
257
- }
258
- for (const rule of this.#functionRules) {
259
- this.#functionRuleMap.set(rule.functionName().text, rule);
260
- }
261
- }
262
- async buildMainCascade(inlinePayload, attributesPayload, matchedPayload, inheritedPayload, animationStylesPayload, transitionsStylePayload, inheritedAnimatedPayload) {
263
- const nodeCascades = [];
264
- const nodeStyles = [];
265
- function addAttributesStyle() {
266
- if (!attributesPayload) {
267
- return;
268
- }
269
- const style = new CSSStyleDeclaration(this.#cssModel, null, attributesPayload, Type.Attributes);
270
- this.#nodeForStyle.set(style, this.#node);
271
- nodeStyles.push(style);
272
- }
273
- // Transition styles take precedence over animation styles & inline styles.
274
- if (transitionsStylePayload) {
275
- const style = new CSSStyleDeclaration(this.#cssModel, null, transitionsStylePayload, Type.Transition);
276
- this.#nodeForStyle.set(style, this.#node);
277
- nodeStyles.push(style);
278
- }
279
- // Animation styles take precedence over inline styles.
280
- for (const animationsStyle of animationStylesPayload) {
281
- const style = new CSSStyleDeclaration(this.#cssModel, null, animationsStyle.style, Type.Animation, animationsStyle.name);
282
- this.#nodeForStyle.set(style, this.#node);
283
- nodeStyles.push(style);
284
- }
285
- // Inline style takes precedence over regular and inherited rules.
286
- if (inlinePayload && this.#node.nodeType() === Node.ELEMENT_NODE) {
287
- const style = new CSSStyleDeclaration(this.#cssModel, null, inlinePayload, Type.Inline);
288
- this.#nodeForStyle.set(style, this.#node);
289
- nodeStyles.push(style);
290
- }
291
- // Add rules in reverse order to match the cascade order.
292
- let addedAttributesStyle;
293
- for (let i = matchedPayload.length - 1; i >= 0; --i) {
294
- const rule = new CSSStyleRule(this.#cssModel, matchedPayload[i].rule);
295
- if ((rule.isInjected() || rule.isUserAgent()) && !addedAttributesStyle) {
296
- // Show element's Style Attributes after all author rules.
297
- addedAttributesStyle = true;
298
- addAttributesStyle.call(this);
299
- }
300
- this.#nodeForStyle.set(rule.style, this.#node);
301
- nodeStyles.push(rule.style);
302
- this.addMatchingSelectors(this.#node, rule, matchedPayload[i].matchingSelectors);
303
- }
304
- if (!addedAttributesStyle) {
305
- addAttributesStyle.call(this);
306
- }
307
- nodeCascades.push(new NodeCascade(this, nodeStyles, this.#node, false /* #isInherited */));
308
- // Walk the node structure and identify styles with inherited properties.
309
- let parentNode = this.#node.parentNode;
310
- const traverseParentInFlatTree = async (node) => {
311
- if (node.hasAssignedSlot()) {
312
- return await node.assignedSlot?.deferredNode.resolvePromise() ?? null;
313
- }
314
- return node.parentNode;
315
- };
316
- for (let i = 0; parentNode && inheritedPayload && i < inheritedPayload.length; ++i) {
317
- const inheritedStyles = [];
318
- const entryPayload = inheritedPayload[i];
319
- const inheritedAnimatedEntryPayload = inheritedAnimatedPayload[i];
320
- const inheritedInlineStyle = entryPayload.inlineStyle ?
321
- new CSSStyleDeclaration(this.#cssModel, null, entryPayload.inlineStyle, Type.Inline) :
322
- null;
323
- const inheritedTransitionsStyle = inheritedAnimatedEntryPayload?.transitionsStyle ?
324
- new CSSStyleDeclaration(this.#cssModel, null, inheritedAnimatedEntryPayload?.transitionsStyle, Type.Transition) :
325
- null;
326
- const inheritedAnimationStyles = inheritedAnimatedEntryPayload?.animationStyles?.map(animationStyle => new CSSStyleDeclaration(this.#cssModel, null, animationStyle.style, Type.Animation, animationStyle.name)) ??
327
- [];
328
- if (inheritedTransitionsStyle && containsInherited(inheritedTransitionsStyle)) {
329
- this.#nodeForStyle.set(inheritedTransitionsStyle, parentNode);
330
- inheritedStyles.push(inheritedTransitionsStyle);
331
- this.#inheritedStyles.add(inheritedTransitionsStyle);
332
- }
333
- for (const inheritedAnimationsStyle of inheritedAnimationStyles) {
334
- if (!containsInherited(inheritedAnimationsStyle)) {
335
- continue;
336
- }
337
- this.#nodeForStyle.set(inheritedAnimationsStyle, parentNode);
338
- inheritedStyles.push(inheritedAnimationsStyle);
339
- this.#inheritedStyles.add(inheritedAnimationsStyle);
340
- }
341
- if (inheritedInlineStyle && containsInherited(inheritedInlineStyle)) {
342
- this.#nodeForStyle.set(inheritedInlineStyle, parentNode);
343
- inheritedStyles.push(inheritedInlineStyle);
344
- this.#inheritedStyles.add(inheritedInlineStyle);
345
- }
346
- const inheritedMatchedCSSRules = entryPayload.matchedCSSRules || [];
347
- for (let j = inheritedMatchedCSSRules.length - 1; j >= 0; --j) {
348
- const inheritedRule = new CSSStyleRule(this.#cssModel, inheritedMatchedCSSRules[j].rule);
349
- this.addMatchingSelectors(parentNode, inheritedRule, inheritedMatchedCSSRules[j].matchingSelectors);
350
- if (!containsInherited(inheritedRule.style)) {
351
- continue;
352
- }
353
- if (!containsCustomProperties(inheritedRule.style)) {
354
- if (containsStyle(nodeStyles, inheritedRule.style) ||
355
- containsStyle(this.#inheritedStyles, inheritedRule.style)) {
356
- continue;
357
- }
358
- }
359
- this.#nodeForStyle.set(inheritedRule.style, parentNode);
360
- inheritedStyles.push(inheritedRule.style);
361
- this.#inheritedStyles.add(inheritedRule.style);
362
- }
363
- const node = parentNode;
364
- parentNode = await traverseParentInFlatTree(parentNode);
365
- nodeCascades.push(new NodeCascade(this, inheritedStyles, node, true /* #isInherited */));
366
- }
367
- return new DOMInheritanceCascade(this, nodeCascades, this.#registeredProperties);
368
- }
369
- /**
370
- * Pseudo rule matches received via the inspector protocol are grouped by pseudo type.
371
- * For custom highlight pseudos, we need to instead group the rule matches by highlight
372
- * name in order to produce separate cascades for each highlight name. This is necessary
373
- * so that styles of ::highlight(foo) are not shown as overriding styles of ::highlight(bar).
374
- *
375
- * This helper function takes a list of rule matches and generates separate NodeCascades
376
- * for each custom highlight name that was matched.
377
- */
378
- buildSplitCustomHighlightCascades(rules, node, isInherited, pseudoCascades) {
379
- const splitHighlightRules = new Map();
380
- for (let j = rules.length - 1; j >= 0; --j) {
381
- const highlightNamesToMatchingSelectorIndices = customHighlightNamesToMatchingSelectorIndices(rules[j]);
382
- for (const [highlightName, matchingSelectors] of highlightNamesToMatchingSelectorIndices) {
383
- const pseudoRule = new CSSStyleRule(this.#cssModel, rules[j].rule);
384
- this.#nodeForStyle.set(pseudoRule.style, node);
385
- if (isInherited) {
386
- this.#inheritedStyles.add(pseudoRule.style);
387
- }
388
- this.addMatchingSelectors(node, pseudoRule, matchingSelectors);
389
- const ruleListForHighlightName = splitHighlightRules.get(highlightName);
390
- if (ruleListForHighlightName) {
391
- ruleListForHighlightName.push(pseudoRule.style);
392
- }
393
- else {
394
- splitHighlightRules.set(highlightName, [pseudoRule.style]);
395
- }
396
- }
397
- }
398
- for (const [highlightName, highlightStyles] of splitHighlightRules) {
399
- const nodeCascade = new NodeCascade(this, highlightStyles, node, isInherited, true /* #isHighlightPseudoCascade*/);
400
- const cascadeListForHighlightName = pseudoCascades.get(highlightName);
401
- if (cascadeListForHighlightName) {
402
- cascadeListForHighlightName.push(nodeCascade);
403
- }
404
- else {
405
- pseudoCascades.set(highlightName, [nodeCascade]);
406
- }
407
- }
408
- }
409
- buildPseudoCascades(pseudoPayload, inheritedPseudoPayload) {
410
- const pseudoInheritanceCascades = new Map();
411
- const customHighlightPseudoInheritanceCascades = new Map();
412
- if (!pseudoPayload) {
413
- return [pseudoInheritanceCascades, customHighlightPseudoInheritanceCascades];
414
- }
415
- const pseudoCascades = new Map();
416
- const customHighlightPseudoCascades = new Map();
417
- for (let i = 0; i < pseudoPayload.length; ++i) {
418
- const entryPayload = pseudoPayload[i];
419
- // PseudoElement nodes are not created unless "content" css property is set.
420
- const pseudoElement = this.#node.pseudoElements().get(entryPayload.pseudoType)?.at(-1) || null;
421
- const pseudoStyles = [];
422
- const rules = entryPayload.matches || [];
423
- if (entryPayload.pseudoType === "highlight" /* Protocol.DOM.PseudoType.Highlight */) {
424
- this.buildSplitCustomHighlightCascades(rules, this.#node, false /* #isInherited */, customHighlightPseudoCascades);
425
- }
426
- else {
427
- for (let j = rules.length - 1; j >= 0; --j) {
428
- const pseudoRule = new CSSStyleRule(this.#cssModel, rules[j].rule);
429
- pseudoStyles.push(pseudoRule.style);
430
- const nodeForStyle = cssMetadata().isHighlightPseudoType(entryPayload.pseudoType) ? this.#node : pseudoElement;
431
- this.#nodeForStyle.set(pseudoRule.style, nodeForStyle);
432
- if (nodeForStyle) {
433
- this.addMatchingSelectors(nodeForStyle, pseudoRule, rules[j].matchingSelectors);
434
- }
435
- }
436
- const isHighlightPseudoCascade = cssMetadata().isHighlightPseudoType(entryPayload.pseudoType);
437
- const nodeCascade = new NodeCascade(this, pseudoStyles, this.#node, false /* #isInherited */, isHighlightPseudoCascade /* #isHighlightPseudoCascade*/);
438
- pseudoCascades.set(entryPayload.pseudoType, [nodeCascade]);
439
- }
440
- }
441
- if (inheritedPseudoPayload) {
442
- let parentNode = this.#node.parentNode;
443
- for (let i = 0; parentNode && i < inheritedPseudoPayload.length; ++i) {
444
- const inheritedPseudoMatches = inheritedPseudoPayload[i].pseudoElements;
445
- for (let j = 0; j < inheritedPseudoMatches.length; ++j) {
446
- const inheritedEntryPayload = inheritedPseudoMatches[j];
447
- const rules = inheritedEntryPayload.matches || [];
448
- if (inheritedEntryPayload.pseudoType === "highlight" /* Protocol.DOM.PseudoType.Highlight */) {
449
- this.buildSplitCustomHighlightCascades(rules, parentNode, true /* #isInherited */, customHighlightPseudoCascades);
450
- }
451
- else {
452
- const pseudoStyles = [];
453
- for (let k = rules.length - 1; k >= 0; --k) {
454
- const pseudoRule = new CSSStyleRule(this.#cssModel, rules[k].rule);
455
- pseudoStyles.push(pseudoRule.style);
456
- this.#nodeForStyle.set(pseudoRule.style, parentNode);
457
- this.#inheritedStyles.add(pseudoRule.style);
458
- this.addMatchingSelectors(parentNode, pseudoRule, rules[k].matchingSelectors);
459
- }
460
- const isHighlightPseudoCascade = cssMetadata().isHighlightPseudoType(inheritedEntryPayload.pseudoType);
461
- const nodeCascade = new NodeCascade(this, pseudoStyles, parentNode, true /* #isInherited */, isHighlightPseudoCascade /* #isHighlightPseudoCascade*/);
462
- const cascadeListForPseudoType = pseudoCascades.get(inheritedEntryPayload.pseudoType);
463
- if (cascadeListForPseudoType) {
464
- cascadeListForPseudoType.push(nodeCascade);
465
- }
466
- else {
467
- pseudoCascades.set(inheritedEntryPayload.pseudoType, [nodeCascade]);
468
- }
469
- }
470
- }
471
- parentNode = parentNode.parentNode;
472
- }
473
- }
474
- // Now that we've built the arrays of NodeCascades for each pseudo type, convert them into
475
- // DOMInheritanceCascades.
476
- for (const [pseudoType, nodeCascade] of pseudoCascades.entries()) {
477
- pseudoInheritanceCascades.set(pseudoType, new DOMInheritanceCascade(this, nodeCascade, this.#registeredProperties));
478
- }
479
- for (const [highlightName, nodeCascade] of customHighlightPseudoCascades.entries()) {
480
- customHighlightPseudoInheritanceCascades.set(highlightName, new DOMInheritanceCascade(this, nodeCascade, this.#registeredProperties));
481
- }
482
- return [pseudoInheritanceCascades, customHighlightPseudoInheritanceCascades];
483
- }
484
- addMatchingSelectors(node, rule, matchingSelectorIndices) {
485
- for (const matchingSelectorIndex of matchingSelectorIndices) {
486
- const selector = rule.selectors[matchingSelectorIndex];
487
- if (selector) {
488
- this.setSelectorMatches(node, selector.text, true);
489
- }
490
- }
491
- }
492
- node() {
493
- return this.#node;
494
- }
495
- cssModel() {
496
- return this.#cssModel;
497
- }
498
- hasMatchingSelectors(rule) {
499
- return (rule.selectors.length === 0 || this.getMatchingSelectors(rule).length > 0) && queryMatches(rule.style);
500
- }
501
- getParentLayoutNodeId() {
502
- return this.#parentLayoutNodeId;
503
- }
504
- getMatchingSelectors(rule) {
505
- const node = this.nodeForStyle(rule.style);
506
- if (!node || typeof node.id !== 'number') {
507
- return [];
508
- }
509
- const map = this.#matchingSelectors.get(node.id);
510
- if (!map) {
511
- return [];
512
- }
513
- const result = [];
514
- for (let i = 0; i < rule.selectors.length; ++i) {
515
- if (map.get(rule.selectors[i].text)) {
516
- result.push(i);
517
- }
518
- }
519
- return result;
520
- }
521
- async recomputeMatchingSelectors(rule) {
522
- const node = this.nodeForStyle(rule.style);
523
- if (!node) {
524
- return;
525
- }
526
- const promises = [];
527
- for (const selector of rule.selectors) {
528
- promises.push(querySelector.call(this, node, selector.text));
529
- }
530
- await Promise.all(promises);
531
- async function querySelector(node, selectorText) {
532
- const ownerDocument = node.ownerDocument;
533
- if (!ownerDocument) {
534
- return;
535
- }
536
- // We assume that "matching" property does not ever change during the
537
- // MatchedStyleResult's lifetime.
538
- if (typeof node.id === 'number') {
539
- const map = this.#matchingSelectors.get(node.id);
540
- if (map?.has(selectorText)) {
541
- return;
542
- }
543
- }
544
- if (typeof ownerDocument.id !== 'number') {
545
- return;
546
- }
547
- const matchingNodeIds = await this.#node.domModel().querySelectorAll(ownerDocument.id, selectorText);
548
- if (matchingNodeIds) {
549
- if (typeof node.id === 'number') {
550
- this.setSelectorMatches(node, selectorText, matchingNodeIds.indexOf(node.id) !== -1);
551
- }
552
- else {
553
- this.setSelectorMatches(node, selectorText, false);
554
- }
555
- }
556
- }
557
- }
558
- addNewRule(rule, node) {
559
- this.#addedStyles.set(rule.style, node);
560
- return this.recomputeMatchingSelectors(rule);
561
- }
562
- setSelectorMatches(node, selectorText, value) {
563
- if (typeof node.id !== 'number') {
564
- return;
565
- }
566
- let map = this.#matchingSelectors.get(node.id);
567
- if (!map) {
568
- map = new Map();
569
- this.#matchingSelectors.set(node.id, map);
570
- }
571
- map.set(selectorText, value);
572
- }
573
- nodeStyles() {
574
- Platform.assertNotNullOrUndefined(this.#mainDOMCascade);
575
- return this.#mainDOMCascade.styles();
576
- }
577
- inheritedStyles() {
578
- return this.#mainDOMCascade?.styles().filter(style => this.isInherited(style)) ?? [];
579
- }
580
- animationStyles() {
581
- return this.#mainDOMCascade?.styles().filter(style => !this.isInherited(style) && style.type === Type.Animation) ??
582
- [];
583
- }
584
- transitionsStyle() {
585
- return this.#mainDOMCascade?.styles().find(style => !this.isInherited(style) && style.type === Type.Transition) ??
586
- null;
587
- }
588
- registeredProperties() {
589
- return this.#registeredProperties;
590
- }
591
- getRegisteredProperty(name) {
592
- return this.#registeredPropertyMap.get(name);
593
- }
594
- getRegisteredFunction(name) {
595
- const functionRule = this.#functionRuleMap.get(name);
596
- return functionRule ? functionRule.nameWithParameters() : undefined;
597
- }
598
- functionRules() {
599
- return this.#functionRules;
600
- }
601
- atRules() {
602
- return this.#atRules;
603
- }
604
- keyframes() {
605
- return this.#keyframes;
606
- }
607
- positionTryRules() {
608
- return this.#positionTryRules;
609
- }
610
- activePositionFallbackIndex() {
611
- return this.#activePositionFallbackIndex;
612
- }
613
- pseudoStyles(pseudoType) {
614
- Platform.assertNotNullOrUndefined(this.#pseudoDOMCascades);
615
- const domCascade = this.#pseudoDOMCascades.get(pseudoType);
616
- return domCascade ? domCascade.styles() : [];
617
- }
618
- pseudoTypes() {
619
- Platform.assertNotNullOrUndefined(this.#pseudoDOMCascades);
620
- return new Set(this.#pseudoDOMCascades.keys());
621
- }
622
- customHighlightPseudoStyles(highlightName) {
623
- Platform.assertNotNullOrUndefined(this.#customHighlightPseudoDOMCascades);
624
- const domCascade = this.#customHighlightPseudoDOMCascades.get(highlightName);
625
- return domCascade ? domCascade.styles() : [];
626
- }
627
- customHighlightPseudoNames() {
628
- Platform.assertNotNullOrUndefined(this.#customHighlightPseudoDOMCascades);
629
- return new Set(this.#customHighlightPseudoDOMCascades.keys());
630
- }
631
- nodeForStyle(style) {
632
- return this.#addedStyles.get(style) || this.#nodeForStyle.get(style) || null;
633
- }
634
- availableCSSVariables(style) {
635
- const domCascade = this.#styleToDOMCascade.get(style);
636
- return domCascade ? domCascade.findAvailableCSSVariables(style) : [];
637
- }
638
- computeCSSVariable(style, variableName) {
639
- if (style.parentRule instanceof CSSKeyframeRule) {
640
- // The resolution of the variables inside of a CSS keyframe rule depends on where this keyframe rule is used.
641
- // So, we need to find the style with active CSS property `animation-name` that equals to the keyframe's name.
642
- const keyframeName = style.parentRule.parentRuleName();
643
- const activeStyle = this.#mainDOMCascade?.styles().find(searchStyle => {
644
- return searchStyle.allProperties().some(property => property.name === 'animation-name' && property.value === keyframeName &&
645
- this.#mainDOMCascade?.propertyState(property) === "Active" /* PropertyState.ACTIVE */);
646
- });
647
- if (!activeStyle) {
648
- return null;
649
- }
650
- style = activeStyle;
651
- }
652
- const domCascade = this.#styleToDOMCascade.get(style);
653
- return domCascade ? domCascade.computeCSSVariable(style, variableName) : null;
654
- }
655
- computeAttribute(style, attributeName, type) {
656
- const domCascade = this.#styleToDOMCascade.get(style);
657
- return domCascade ? domCascade.computeAttribute(style, attributeName, type) : null;
658
- }
659
- originatingNodeForStyle(style) {
660
- let node = this.nodeForStyle(style) ?? this.node();
661
- // If it's a pseudo-element, we need to find the originating element.
662
- while (node?.pseudoType()) {
663
- node = node.parentNode;
664
- }
665
- return node;
666
- }
667
- rawAttributeValueFromStyle(style, attributeName) {
668
- const node = this.originatingNodeForStyle(style);
669
- if (!node) {
670
- return null;
671
- }
672
- return node.getAttribute(attributeName) ?? null;
673
- }
674
- resolveProperty(name, ownerStyle) {
675
- return this.#styleToDOMCascade.get(ownerStyle)?.resolveProperty(name, ownerStyle) ?? null;
676
- }
677
- resolveGlobalKeyword(property, keyword) {
678
- const resolved = this.#styleToDOMCascade.get(property.ownerStyle)?.resolveGlobalKeyword(property, keyword);
679
- return resolved ? new CSSValueSource(resolved) : null;
680
- }
681
- isInherited(style) {
682
- return this.#inheritedStyles.has(style);
683
- }
684
- propertyState(property) {
685
- const domCascade = this.#styleToDOMCascade.get(property.ownerStyle);
686
- return domCascade ? domCascade.propertyState(property) : null;
687
- }
688
- resetActiveProperties() {
689
- Platform.assertNotNullOrUndefined(this.#mainDOMCascade);
690
- Platform.assertNotNullOrUndefined(this.#pseudoDOMCascades);
691
- Platform.assertNotNullOrUndefined(this.#customHighlightPseudoDOMCascades);
692
- this.#mainDOMCascade.reset();
693
- for (const domCascade of this.#pseudoDOMCascades.values()) {
694
- domCascade.reset();
695
- }
696
- for (const domCascade of this.#customHighlightPseudoDOMCascades.values()) {
697
- domCascade.reset();
698
- }
699
- }
700
- propertyMatchers(style, computedStyles) {
701
- return [
702
- new VariableMatcher(this, style),
703
- new ColorMatcher(() => computedStyles?.get('color') ?? null),
704
- new ColorMixMatcher(),
705
- new URLMatcher(),
706
- new AngleMatcher(),
707
- new LinkableNameMatcher(),
708
- new BezierMatcher(),
709
- new StringMatcher(),
710
- new ShadowMatcher(),
711
- new LightDarkColorMatcher(style),
712
- new GridTemplateMatcher(),
713
- new LinearGradientMatcher(),
714
- new AnchorFunctionMatcher(),
715
- new PositionAnchorMatcher(),
716
- new FlexGridGridLanesMatcher(),
717
- new PositionTryMatcher(),
718
- new LengthMatcher(),
719
- new MathFunctionMatcher(),
720
- new CustomFunctionMatcher(),
721
- new AutoBaseMatcher(),
722
- new BinOpMatcher(),
723
- new RelativeColorChannelMatcher(),
724
- new AttributeMatcher(this, style),
725
- new EnvFunctionMatcher(this),
726
- ];
727
- }
728
- environmentVariable(name) {
729
- return this.#environmentVariables[name];
730
- }
731
- }
732
- class NodeCascade {
733
- #matchedStyles;
734
- styles;
735
- #isInherited;
736
- #isHighlightPseudoCascade;
737
- propertiesState = new Map();
738
- activeProperties = new Map();
739
- #node;
740
- constructor(matchedStyles, styles, node, isInherited, isHighlightPseudoCascade = false) {
741
- this.#matchedStyles = matchedStyles;
742
- this.styles = styles;
743
- this.#isInherited = isInherited;
744
- this.#isHighlightPseudoCascade = isHighlightPseudoCascade;
745
- this.#node = node;
746
- }
747
- computeActiveProperties() {
748
- this.propertiesState.clear();
749
- this.activeProperties.clear();
750
- for (let i = this.styles.length - 1; i >= 0; i--) {
751
- const style = this.styles[i];
752
- const rule = style.parentRule;
753
- // Compute cascade for CSSStyleRules only.
754
- if (rule && !(rule instanceof CSSStyleRule)) {
755
- continue;
756
- }
757
- if (rule && !this.#matchedStyles.hasMatchingSelectors(rule)) {
758
- continue;
759
- }
760
- for (const property of style.allProperties()) {
761
- // Do not pick non-inherited properties from inherited styles.
762
- const metadata = cssMetadata();
763
- // All properties are inherited for highlight pseudos.
764
- if (this.#isInherited && !this.#isHighlightPseudoCascade && !metadata.isPropertyInherited(property.name)) {
765
- continue;
766
- }
767
- // When a property does not have a range in an otherwise ranged CSSStyleDeclaration,
768
- // we consider it as a non-leading property (see computeLeadingProperties()), and most
769
- // of them are computed longhands. We exclude these from activeProperties calculation,
770
- // and use parsed longhands instead (see below).
771
- if (style.range && !property.range) {
772
- continue;
773
- }
774
- if (!property.activeInStyle()) {
775
- this.propertiesState.set(property, "Overloaded" /* PropertyState.OVERLOADED */);
776
- continue;
777
- }
778
- // If the custom property was registered with `inherits: false;`, inherited properties are invalid.
779
- if (this.#isInherited) {
780
- const registration = this.#matchedStyles.getRegisteredProperty(property.name);
781
- if (registration && !registration.inherits()) {
782
- this.propertiesState.set(property, "Overloaded" /* PropertyState.OVERLOADED */);
783
- continue;
784
- }
785
- }
786
- const canonicalName = metadata.canonicalPropertyName(property.name);
787
- this.updatePropertyState(property, canonicalName);
788
- for (const longhand of property.getLonghandProperties()) {
789
- if (metadata.isCSSPropertyName(longhand.name)) {
790
- this.updatePropertyState(longhand, longhand.name);
791
- }
792
- }
793
- }
794
- }
795
- }
796
- #treeScopeDistance(property) {
797
- if (!property.ownerStyle.parentRule && property.ownerStyle.type !== Type.Inline) {
798
- return -1;
799
- }
800
- const root = this.#node.getTreeRoot();
801
- const nodeId = property.ownerStyle.parentRule?.treeScope ?? root?.backendNodeId();
802
- if (nodeId === undefined) {
803
- return -1;
804
- }
805
- let distance = 0;
806
- for (let ancestor = this.#node; ancestor; ancestor = ancestor.parentNode) {
807
- if (ancestor.backendNodeId() === nodeId) {
808
- return distance;
809
- }
810
- distance++;
811
- }
812
- return -1;
813
- }
814
- #needsCascadeContextStep() {
815
- if (!this.#node.isInShadowTree()) {
816
- return false;
817
- }
818
- if (this.#node.ancestorShadowRoot()?.shadowRootType() === 'user-agent') {
819
- // In UA shadow dom, only standards-track pseudo elements override style attributes. -webkit-* and -internal-*
820
- // pseudos are still exempt from that to retain legacy behavior.
821
- const pseudoElement = this.#node.getAttribute('pseudo');
822
- return !pseudoElement?.startsWith('-webkit-') && !pseudoElement?.startsWith('-internal-');
823
- }
824
- return true;
825
- }
826
- updatePropertyState(propertyWithHigherSpecificity, canonicalName) {
827
- const activeProperty = this.activeProperties.get(canonicalName);
828
- if (activeProperty?.important && !propertyWithHigherSpecificity.important ||
829
- activeProperty && this.#needsCascadeContextStep() &&
830
- this.#treeScopeDistance(activeProperty) > this.#treeScopeDistance(propertyWithHigherSpecificity)) {
831
- this.propertiesState.set(propertyWithHigherSpecificity, "Overloaded" /* PropertyState.OVERLOADED */);
832
- return;
833
- }
834
- if (activeProperty) {
835
- this.propertiesState.set(activeProperty, "Overloaded" /* PropertyState.OVERLOADED */);
836
- }
837
- this.propertiesState.set(propertyWithHigherSpecificity, "Active" /* PropertyState.ACTIVE */);
838
- this.activeProperties.set(canonicalName, propertyWithHigherSpecificity);
839
- }
840
- }
841
- function isRegular(declaration) {
842
- return 'ownerStyle' in declaration;
843
- }
844
- export class CSSValueSource {
845
- declaration;
846
- constructor(declaration) {
847
- this.declaration = declaration;
848
- }
849
- get value() {
850
- return isRegular(this.declaration) ? this.declaration.value : this.declaration.initialValue();
851
- }
852
- get style() {
853
- return isRegular(this.declaration) ? this.declaration.ownerStyle : this.declaration.style();
854
- }
855
- get name() {
856
- return isRegular(this.declaration) ? this.declaration.name : this.declaration.propertyName();
857
- }
858
- }
859
- class SCCRecordEntry {
860
- nodeCascade;
861
- name;
862
- discoveryTime;
863
- rootDiscoveryTime;
864
- get isRootEntry() {
865
- return this.rootDiscoveryTime === this.discoveryTime;
866
- }
867
- updateRoot(neighbor) {
868
- this.rootDiscoveryTime = Math.min(this.rootDiscoveryTime, neighbor.rootDiscoveryTime);
869
- }
870
- constructor(nodeCascade, name, discoveryTime) {
871
- this.nodeCascade = nodeCascade;
872
- this.name = name;
873
- this.discoveryTime = discoveryTime;
874
- this.rootDiscoveryTime = discoveryTime;
875
- }
876
- }
877
- class SCCRecord {
878
- #time = 0;
879
- #stack = [];
880
- #entries = new Map();
881
- get(nodeCascade, variable) {
882
- return this.#entries.get(nodeCascade)?.get(variable);
883
- }
884
- add(nodeCascade, variable) {
885
- const existing = this.get(nodeCascade, variable);
886
- if (existing) {
887
- return existing;
888
- }
889
- const entry = new SCCRecordEntry(nodeCascade, variable, this.#time++);
890
- this.#stack.push(entry);
891
- let map = this.#entries.get(nodeCascade);
892
- if (!map) {
893
- map = new Map();
894
- this.#entries.set(nodeCascade, map);
895
- }
896
- map.set(variable, entry);
897
- return entry;
898
- }
899
- isInInProgressSCC(childRecord) {
900
- return this.#stack.includes(childRecord);
901
- }
902
- finishSCC(root) {
903
- const startIndex = this.#stack.lastIndexOf(root);
904
- console.assert(startIndex >= 0, 'Root is not an in-progress scc');
905
- return this.#stack.splice(startIndex);
906
- }
907
- }
908
- function* forEach(array, startAfter) {
909
- const startIdx = startAfter !== undefined ? array.indexOf(startAfter) + 1 : 0;
910
- for (let i = startIdx; i < array.length; ++i) {
911
- yield array[i];
912
- }
913
- }
914
- class DOMInheritanceCascade {
915
- #propertiesState = new Map();
916
- #availableCSSVariables = new Map();
917
- #computedCSSVariables = new Map();
918
- #styleToNodeCascade = new Map();
919
- #initialized = false;
920
- #nodeCascades;
921
- #registeredProperties;
922
- #matchedStyles;
923
- constructor(matchedStyles, nodeCascades, registeredProperties) {
924
- this.#nodeCascades = nodeCascades;
925
- this.#matchedStyles = matchedStyles;
926
- this.#registeredProperties = registeredProperties;
927
- for (const nodeCascade of nodeCascades) {
928
- for (const style of nodeCascade.styles) {
929
- this.#styleToNodeCascade.set(style, nodeCascade);
930
- }
931
- }
932
- }
933
- findAvailableCSSVariables(style) {
934
- const nodeCascade = this.#styleToNodeCascade.get(style);
935
- if (!nodeCascade) {
936
- return [];
937
- }
938
- this.ensureInitialized();
939
- const availableCSSVariables = this.#availableCSSVariables.get(nodeCascade);
940
- if (!availableCSSVariables) {
941
- return [];
942
- }
943
- return Array.from(availableCSSVariables.keys());
944
- }
945
- #findPropertyInPreviousStyle(property, filter) {
946
- const cascade = this.#styleToNodeCascade.get(property.ownerStyle);
947
- if (!cascade) {
948
- return null;
949
- }
950
- for (const style of forEach(cascade.styles, property.ownerStyle)) {
951
- const candidate = style.allProperties().findLast(candidate => candidate.name === property.name && filter(candidate));
952
- if (candidate) {
953
- return candidate;
954
- }
955
- }
956
- return null;
957
- }
958
- resolveProperty(name, ownerStyle) {
959
- const cascade = this.#styleToNodeCascade.get(ownerStyle);
960
- if (!cascade) {
961
- return null;
962
- }
963
- for (const style of cascade.styles) {
964
- const candidate = style.allProperties().findLast(candidate => candidate.name === name);
965
- if (candidate) {
966
- return candidate;
967
- }
968
- }
969
- return this.#findPropertyInParentCascadeIfInherited({ name, ownerStyle });
970
- }
971
- #findPropertyInParentCascade(property) {
972
- const nodeCascade = this.#styleToNodeCascade.get(property.ownerStyle);
973
- if (!nodeCascade) {
974
- return null;
975
- }
976
- for (const cascade of forEach(this.#nodeCascades, nodeCascade)) {
977
- for (const style of cascade.styles) {
978
- const inheritedProperty = style.allProperties().findLast(inheritedProperty => inheritedProperty.name === property.name);
979
- if (inheritedProperty) {
980
- return inheritedProperty;
981
- }
982
- }
983
- }
984
- return null;
985
- }
986
- #findPropertyInParentCascadeIfInherited(property) {
987
- if (!cssMetadata().isPropertyInherited(property.name) ||
988
- !(this.#findCustomPropertyRegistration(property.name)?.inherits() ?? true)) {
989
- return null;
990
- }
991
- return this.#findPropertyInParentCascade(property);
992
- }
993
- #findCustomPropertyRegistration(property) {
994
- const registration = this.#registeredProperties.find(registration => registration.propertyName() === property);
995
- return registration ? registration : null;
996
- }
997
- resolveGlobalKeyword(property, keyword) {
998
- const isPreviousLayer = (other) => {
999
- // If there's no parent rule on then it isn't layered and is thus not in a previous one.
1000
- if (!(other.ownerStyle.parentRule instanceof CSSStyleRule)) {
1001
- return false;
1002
- }
1003
- // Element-attached style -> author origin counts as a previous layer transition for revert-layer.
1004
- if (property.ownerStyle.type === Type.Inline) {
1005
- return true;
1006
- }
1007
- // Compare layers
1008
- if (property.ownerStyle.parentRule instanceof CSSStyleRule &&
1009
- other.ownerStyle.parentRule?.origin === "regular" /* Protocol.CSS.StyleSheetOrigin.Regular */) {
1010
- return JSON.stringify(other.ownerStyle.parentRule.layers) !==
1011
- JSON.stringify(property.ownerStyle.parentRule.layers);
1012
- }
1013
- return false;
1014
- };
1015
- switch (keyword) {
1016
- case "initial" /* CSSWideKeyword.INITIAL */:
1017
- return this.#findCustomPropertyRegistration(property.name);
1018
- case "inherit" /* CSSWideKeyword.INHERIT */:
1019
- return this.#findPropertyInParentCascade(property) ?? this.#findCustomPropertyRegistration(property.name);
1020
- case "revert" /* CSSWideKeyword.REVERT */:
1021
- return this.#findPropertyInPreviousStyle(property, other => other.ownerStyle.parentRule !== null &&
1022
- other.ownerStyle.parentRule.origin !==
1023
- (property.ownerStyle.parentRule?.origin ?? "regular" /* Protocol.CSS.StyleSheetOrigin.Regular */)) ??
1024
- this.resolveGlobalKeyword(property, "unset" /* CSSWideKeyword.UNSET */);
1025
- case "revert-layer" /* CSSWideKeyword.REVERT_LAYER */:
1026
- return this.#findPropertyInPreviousStyle(property, isPreviousLayer) ??
1027
- this.resolveGlobalKeyword(property, "revert" /* CSSWideKeyword.REVERT */);
1028
- case "unset" /* CSSWideKeyword.UNSET */:
1029
- return this.#findPropertyInParentCascadeIfInherited(property) ??
1030
- this.#findCustomPropertyRegistration(property.name);
1031
- }
1032
- }
1033
- computeCSSVariable(style, variableName) {
1034
- this.ensureInitialized();
1035
- const nodeCascade = this.#styleToNodeCascade.get(style);
1036
- if (!nodeCascade) {
1037
- return null;
1038
- }
1039
- return this.#computeCSSVariable(nodeCascade, variableName);
1040
- }
1041
- #computeCSSVariable(nodeCascade, variableName, sccRecord = new SCCRecord()) {
1042
- const availableCSSVariables = this.#availableCSSVariables.get(nodeCascade);
1043
- const computedCSSVariables = this.#computedCSSVariables.get(nodeCascade);
1044
- if (!computedCSSVariables || !availableCSSVariables?.has(variableName)) {
1045
- return null;
1046
- }
1047
- if (computedCSSVariables?.has(variableName)) {
1048
- return computedCSSVariables.get(variableName) || null;
1049
- }
1050
- let definedValue = availableCSSVariables.get(variableName);
1051
- if (definedValue === undefined || definedValue === null) {
1052
- return null;
1053
- }
1054
- if (definedValue.declaration.declaration instanceof CSSProperty && definedValue.declaration.value &&
1055
- CSSMetadata.isCSSWideKeyword(definedValue.declaration.value)) {
1056
- const resolvedProperty = this.resolveGlobalKeyword(definedValue.declaration.declaration, definedValue.declaration.value);
1057
- if (!resolvedProperty) {
1058
- return definedValue;
1059
- }
1060
- const declaration = new CSSValueSource(resolvedProperty);
1061
- const { value } = declaration;
1062
- if (!value) {
1063
- return definedValue;
1064
- }
1065
- definedValue = { declaration, value };
1066
- }
1067
- const ast = PropertyParser.tokenizeDeclaration(`--${variableName}`, definedValue.value);
1068
- if (!ast) {
1069
- return null;
1070
- }
1071
- return this.#walkTree(nodeCascade, ast, definedValue.declaration.style, variableName, sccRecord, definedValue.declaration);
1072
- }
1073
- computeAttribute(style, attributeName, type) {
1074
- this.ensureInitialized();
1075
- const nodeCascade = this.#styleToNodeCascade.get(style);
1076
- if (!nodeCascade) {
1077
- return null;
1078
- }
1079
- return this.#computeAttribute(nodeCascade, style, attributeName, type, new SCCRecord());
1080
- }
1081
- attributeValueAsType(style, attributeName, type) {
1082
- const rawValue = this.#matchedStyles.rawAttributeValueFromStyle(style, attributeName);
1083
- if (rawValue === null) {
1084
- return null;
1085
- }
1086
- return localEvalCSS(rawValue, type);
1087
- }
1088
- attributeValueWithSubstitutions(nodeCascade, style, attributeName, sccRecord) {
1089
- const rawValue = this.#matchedStyles.rawAttributeValueFromStyle(style, attributeName);
1090
- if (rawValue === null) {
1091
- return null;
1092
- }
1093
- const ast = PropertyParser.tokenizeDeclaration('--property', rawValue);
1094
- if (!ast) {
1095
- return null;
1096
- }
1097
- return this.#walkTree(nodeCascade, ast, style, `attr(${attributeName})`, sccRecord)?.value ?? null;
1098
- }
1099
- #computeAttribute(nodeCascade, style, attributeName, type, sccRecord = new SCCRecord()) {
1100
- if (type.isCSSTokens) {
1101
- const value = this.attributeValueWithSubstitutions(nodeCascade, style, attributeName, sccRecord);
1102
- if (value !== null && localEvalCSS(value, type.type) !== null) {
1103
- return value;
1104
- }
1105
- return null;
1106
- }
1107
- return this.attributeValueAsType(style, attributeName, type.type);
1108
- }
1109
- #walkTree(outerNodeCascade, ast, parentStyle, substitutionName, sccRecord, declaration) {
1110
- const record = sccRecord.add(outerNodeCascade, substitutionName);
1111
- const computedCSSVariablesMap = this.#computedCSSVariables;
1112
- const innerNodeCascade = this.#styleToNodeCascade.get(parentStyle);
1113
- // While computing CSS variable and attribute values we need to detect declaration cycles. Every declaration on the cycle is
1114
- // invalid. However, var()s outside of the cycle that reference a property on the cycle are not automatically
1115
- // invalid, but rather use the fallback value. We use a version of Tarjan's algorithm to detect cycles, which are
1116
- // SCCs on the custom property dependency graph. Computing variable values is DFS. When encountering a previously
1117
- // unseen variable, we record its discovery time. We keep a stack of visited variables and detect cycles when we
1118
- // find a reference to a variable already on the stack. For each node we also keep track of the "root" of the
1119
- // corresponding SCC, which is the node in that component with the smallest discovery time. This is determined by
1120
- // bubbling up the minimum discovery time whenever we close a cycle.
1121
- const matching = PropertyParser.BottomUpTreeMatching.walk(ast, [
1122
- new BaseVariableMatcher(match => {
1123
- const { value, mayFallback } = recurseWithCycleDetection(match.name, nodeCascade => this.#computeCSSVariable(nodeCascade, match.name, sccRecord)?.value ?? null);
1124
- if (!mayFallback || value !== null) {
1125
- return value;
1126
- }
1127
- // Variable reference is not resolved, use the fallback.
1128
- if (!match.fallback) {
1129
- return null;
1130
- }
1131
- return evaluateFallback(match.fallback, match.matching);
1132
- }),
1133
- new EnvFunctionMatcher(this.#matchedStyles),
1134
- new AttributeMatcher(this.#matchedStyles, parentStyle, match => {
1135
- const recordName = `attr(${match.name})`;
1136
- let attributeValue = null;
1137
- if (!match.isCSSTokens) {
1138
- const { value, mayFallback } = recurseWithCycleDetection(recordName, () => this.attributeValueAsType(parentStyle, match.name, match.cssType()));
1139
- if (value === null && !mayFallback) {
1140
- return null;
1141
- }
1142
- attributeValue = value;
1143
- }
1144
- else {
1145
- const { value, mayFallback } = recurseWithCycleDetection(recordName, nodeCascade => this.attributeValueWithSubstitutions(nodeCascade, parentStyle, match.name, sccRecord));
1146
- if (value === null && !mayFallback) {
1147
- return null;
1148
- }
1149
- if (value !== null && localEvalCSS(value, match.cssType()) !== null) {
1150
- attributeValue = value;
1151
- }
1152
- }
1153
- if (attributeValue !== null) {
1154
- return attributeValue;
1155
- }
1156
- // Variable reference is not resolved, use the fallback.
1157
- if (!match.fallback || !match.isValidType) {
1158
- // Except in this case, we use the default value for the type.
1159
- return defaultValueForCSSType(match.type);
1160
- }
1161
- return evaluateFallback(match.fallback, match.matching);
1162
- })
1163
- ]);
1164
- const decl = PropertyParser.ASTUtils.siblings(PropertyParser.ASTUtils.declValue(matching.ast.tree));
1165
- const declText = decl.length > 0 ? matching.getComputedTextRange(decl[0], decl[decl.length - 1]) : '';
1166
- const hasUnresolvedSubstitutions = decl.length > 0 && matching.hasUnresolvedSubstitutionsRange(decl[0], decl[decl.length - 1]);
1167
- const computedText = hasUnresolvedSubstitutions ? null : declText;
1168
- const outerComputedCSSVariables = computedCSSVariablesMap.get(outerNodeCascade);
1169
- if (!outerComputedCSSVariables) {
1170
- return null;
1171
- }
1172
- if (record.isRootEntry) {
1173
- // Variables are kept on the stack until all descendents in the same SCC have been visited. That's the case when
1174
- // completing the recursion on the root of the SCC.
1175
- const scc = sccRecord.finishSCC(record);
1176
- if (scc.length > 1) {
1177
- for (const entry of scc) {
1178
- console.assert(entry.nodeCascade === outerNodeCascade, 'Circles should be within the cascade');
1179
- outerComputedCSSVariables.set(entry.name, null);
1180
- }
1181
- return null;
1182
- }
1183
- }
1184
- if (computedText === null) {
1185
- outerComputedCSSVariables.set(substitutionName, null);
1186
- return null;
1187
- }
1188
- const cssVariableValue = { value: computedText, declaration };
1189
- outerComputedCSSVariables.set(substitutionName, cssVariableValue);
1190
- return cssVariableValue;
1191
- function recurseWithCycleDetection(recordName, func) {
1192
- if (!innerNodeCascade) {
1193
- return { value: null, mayFallback: false };
1194
- }
1195
- const childRecord = sccRecord.get(innerNodeCascade, recordName);
1196
- if (childRecord) {
1197
- if (sccRecord.isInInProgressSCC(childRecord)) {
1198
- // Cycle detected, update the root.
1199
- record.updateRoot(childRecord);
1200
- return { value: null, mayFallback: false };
1201
- }
1202
- // We've seen the variable before, so we can look up the text directly.
1203
- return {
1204
- value: computedCSSVariablesMap.get(innerNodeCascade)?.get(recordName)?.value ?? null,
1205
- mayFallback: false
1206
- };
1207
- }
1208
- const value = func(innerNodeCascade);
1209
- // Variable reference is resolved, so return it.
1210
- const newChildRecord = sccRecord.get(innerNodeCascade, recordName);
1211
- // The SCC record for the referenced variable may not exist if the var was already computed in a previous
1212
- // iteration. That means it's in a different SCC.
1213
- newChildRecord && record.updateRoot(newChildRecord);
1214
- return { value, mayFallback: true };
1215
- }
1216
- function evaluateFallback(fallback, matching) {
1217
- if (fallback.length === 0) {
1218
- return '';
1219
- }
1220
- if (matching.hasUnresolvedSubstitutionsRange(fallback[0], fallback[fallback.length - 1])) {
1221
- return null;
1222
- }
1223
- return matching.getComputedTextRange(fallback[0], fallback[fallback.length - 1]);
1224
- }
1225
- }
1226
- styles() {
1227
- return Array.from(this.#styleToNodeCascade.keys());
1228
- }
1229
- propertyState(property) {
1230
- this.ensureInitialized();
1231
- return this.#propertiesState.get(property) || null;
1232
- }
1233
- reset() {
1234
- this.#initialized = false;
1235
- this.#propertiesState.clear();
1236
- this.#availableCSSVariables.clear();
1237
- this.#computedCSSVariables.clear();
1238
- }
1239
- ensureInitialized() {
1240
- if (this.#initialized) {
1241
- return;
1242
- }
1243
- this.#initialized = true;
1244
- const activeProperties = new Map();
1245
- for (const nodeCascade of this.#nodeCascades) {
1246
- nodeCascade.computeActiveProperties();
1247
- for (const [property, state] of nodeCascade.propertiesState) {
1248
- if (state === "Overloaded" /* PropertyState.OVERLOADED */) {
1249
- this.#propertiesState.set(property, "Overloaded" /* PropertyState.OVERLOADED */);
1250
- continue;
1251
- }
1252
- const canonicalName = cssMetadata().canonicalPropertyName(property.name);
1253
- if (activeProperties.has(canonicalName)) {
1254
- this.#propertiesState.set(property, "Overloaded" /* PropertyState.OVERLOADED */);
1255
- continue;
1256
- }
1257
- activeProperties.set(canonicalName, property);
1258
- this.#propertiesState.set(property, "Active" /* PropertyState.ACTIVE */);
1259
- }
1260
- }
1261
- // If every longhand of the shorthand is not active, then the shorthand is not active too.
1262
- for (const [canonicalName, shorthandProperty] of activeProperties) {
1263
- const shorthandStyle = shorthandProperty.ownerStyle;
1264
- const longhands = shorthandProperty.getLonghandProperties();
1265
- if (!longhands.length) {
1266
- continue;
1267
- }
1268
- let hasActiveLonghands = false;
1269
- for (const longhand of longhands) {
1270
- const longhandCanonicalName = cssMetadata().canonicalPropertyName(longhand.name);
1271
- const longhandActiveProperty = activeProperties.get(longhandCanonicalName);
1272
- if (!longhandActiveProperty) {
1273
- continue;
1274
- }
1275
- if (longhandActiveProperty.ownerStyle === shorthandStyle) {
1276
- hasActiveLonghands = true;
1277
- break;
1278
- }
1279
- }
1280
- if (hasActiveLonghands) {
1281
- continue;
1282
- }
1283
- activeProperties.delete(canonicalName);
1284
- this.#propertiesState.set(shorthandProperty, "Overloaded" /* PropertyState.OVERLOADED */);
1285
- }
1286
- // Work inheritance chain backwards to compute visible CSS Variables.
1287
- const accumulatedCSSVariables = new Map();
1288
- for (const rule of this.#registeredProperties) {
1289
- const initialValue = rule.initialValue();
1290
- accumulatedCSSVariables.set(rule.propertyName(), initialValue !== null ? { value: initialValue, declaration: new CSSValueSource(rule) } : null);
1291
- }
1292
- for (let i = this.#nodeCascades.length - 1; i >= 0; --i) {
1293
- const nodeCascade = this.#nodeCascades[i];
1294
- const variableNames = [];
1295
- for (const entry of nodeCascade.activeProperties.entries()) {
1296
- const propertyName = entry[0];
1297
- const property = entry[1];
1298
- if (propertyName.startsWith('--')) {
1299
- accumulatedCSSVariables.set(propertyName, { value: property.value, declaration: new CSSValueSource(property) });
1300
- variableNames.push(propertyName);
1301
- }
1302
- }
1303
- const availableCSSVariablesMap = new Map(accumulatedCSSVariables);
1304
- const computedVariablesMap = new Map();
1305
- this.#availableCSSVariables.set(nodeCascade, availableCSSVariablesMap);
1306
- this.#computedCSSVariables.set(nodeCascade, computedVariablesMap);
1307
- for (const variableName of variableNames) {
1308
- const prevValue = accumulatedCSSVariables.get(variableName);
1309
- accumulatedCSSVariables.delete(variableName);
1310
- const computedValue = this.#computeCSSVariable(nodeCascade, variableName);
1311
- if (prevValue && computedValue?.value === prevValue.value) {
1312
- computedValue.declaration = prevValue.declaration;
1313
- }
1314
- accumulatedCSSVariables.set(variableName, computedValue);
1315
- }
1316
- }
1317
- }
1318
- }