@mcp-b/chrome-devtools-mcp 1.6.3 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/package.json +4 -4
  2. package/build/vendor/chrome-devtools-frontend/front_end/core/common/App.js +0 -4
  3. package/build/vendor/chrome-devtools-frontend/front_end/core/common/AppProvider.js +0 -17
  4. package/build/vendor/chrome-devtools-frontend/front_end/core/common/Base64.js +0 -43
  5. package/build/vendor/chrome-devtools-frontend/front_end/core/common/CharacterIdMap.js +0 -27
  6. package/build/vendor/chrome-devtools-frontend/front_end/core/common/Color.js +0 -2033
  7. package/build/vendor/chrome-devtools-frontend/front_end/core/common/ColorConverter.js +0 -332
  8. package/build/vendor/chrome-devtools-frontend/front_end/core/common/ColorUtils.js +0 -221
  9. package/build/vendor/chrome-devtools-frontend/front_end/core/common/Console.js +0 -79
  10. package/build/vendor/chrome-devtools-frontend/front_end/core/common/Debouncer.js +0 -14
  11. package/build/vendor/chrome-devtools-frontend/front_end/core/common/EventTarget.js +0 -14
  12. package/build/vendor/chrome-devtools-frontend/front_end/core/common/Gzip.js +0 -66
  13. package/build/vendor/chrome-devtools-frontend/front_end/core/common/JavaScriptMetaData.js +0 -4
  14. package/build/vendor/chrome-devtools-frontend/front_end/core/common/Lazy.js +0 -29
  15. package/build/vendor/chrome-devtools-frontend/front_end/core/common/MapWithDefault.js +0 -22
  16. package/build/vendor/chrome-devtools-frontend/front_end/core/common/Mutex.js +0 -49
  17. package/build/vendor/chrome-devtools-frontend/front_end/core/common/Object.js +0 -86
  18. package/build/vendor/chrome-devtools-frontend/front_end/core/common/ParsedURL.js +0 -449
  19. package/build/vendor/chrome-devtools-frontend/front_end/core/common/Progress.js +0 -144
  20. package/build/vendor/chrome-devtools-frontend/front_end/core/common/ResolverBase.js +0 -69
  21. package/build/vendor/chrome-devtools-frontend/front_end/core/common/ResourceType.js +0 -495
  22. package/build/vendor/chrome-devtools-frontend/front_end/core/common/ReturnToPanel.js +0 -15
  23. package/build/vendor/chrome-devtools-frontend/front_end/core/common/Revealer.js +0 -164
  24. package/build/vendor/chrome-devtools-frontend/front_end/core/common/Runnable.js +0 -24
  25. package/build/vendor/chrome-devtools-frontend/front_end/core/common/SegmentedRange.js +0 -78
  26. package/build/vendor/chrome-devtools-frontend/front_end/core/common/SettingRegistration.js +0 -164
  27. package/build/vendor/chrome-devtools-frontend/front_end/core/common/Settings.js +0 -1263
  28. package/build/vendor/chrome-devtools-frontend/front_end/core/common/SimpleHistoryManager.js +0 -97
  29. package/build/vendor/chrome-devtools-frontend/front_end/core/common/StringOutputStream.js +0 -14
  30. package/build/vendor/chrome-devtools-frontend/front_end/core/common/TextDictionary.js +0 -40
  31. package/build/vendor/chrome-devtools-frontend/front_end/core/common/Throttler.js +0 -71
  32. package/build/vendor/chrome-devtools-frontend/front_end/core/common/Trie.js +0 -127
  33. package/build/vendor/chrome-devtools-frontend/front_end/core/common/common.js +0 -41
  34. package/build/vendor/chrome-devtools-frontend/front_end/core/host/AidaClient.js +0 -434
  35. package/build/vendor/chrome-devtools-frontend/front_end/core/host/DispatchHttpRequestClient.js +0 -66
  36. package/build/vendor/chrome-devtools-frontend/front_end/core/host/GdpClient.js +0 -202
  37. package/build/vendor/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHost.js +0 -92
  38. package/build/vendor/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHostAPI.js +0 -69
  39. package/build/vendor/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHostStub.js +0 -430
  40. package/build/vendor/chrome-devtools-frontend/front_end/core/host/Platform.js +0 -61
  41. package/build/vendor/chrome-devtools-frontend/front_end/core/host/ResourceLoader.js +0 -220
  42. package/build/vendor/chrome-devtools-frontend/front_end/core/host/UserMetrics.js +0 -968
  43. package/build/vendor/chrome-devtools-frontend/front_end/core/host/host.js +0 -13
  44. package/build/vendor/chrome-devtools-frontend/front_end/core/i18n/ByteUtilities.js +0 -72
  45. package/build/vendor/chrome-devtools-frontend/front_end/core/i18n/DevToolsLocale.js +0 -64
  46. package/build/vendor/chrome-devtools-frontend/front_end/core/i18n/NumberFormatter.js +0 -67
  47. package/build/vendor/chrome-devtools-frontend/front_end/core/i18n/collect-ui-strings.js +0 -73
  48. package/build/vendor/chrome-devtools-frontend/front_end/core/i18n/generate-locales-js.js +0 -51
  49. package/build/vendor/chrome-devtools-frontend/front_end/core/i18n/i18n.js +0 -9
  50. package/build/vendor/chrome-devtools-frontend/front_end/core/i18n/i18nImpl.js +0 -135
  51. package/build/vendor/chrome-devtools-frontend/front_end/core/i18n/i18nTypes.js +0 -4
  52. package/build/vendor/chrome-devtools-frontend/front_end/core/i18n/time-utilities.js +0 -148
  53. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/ArrayUtilities.js +0 -199
  54. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/Brand.js +0 -4
  55. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/Constructor.js +0 -4
  56. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/DateUtilities.js +0 -13
  57. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/DevToolsPath.js +0 -27
  58. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/HostRuntime.js +0 -19
  59. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/KeyboardUtilities.js +0 -21
  60. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/MapUtilities.js +0 -79
  61. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/MimeType.js +0 -143
  62. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/NumberUtilities.js +0 -72
  63. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/StringUtilities.js +0 -538
  64. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/Timing.js +0 -9
  65. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/TypedArrayUtilities.js +0 -157
  66. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/TypescriptUtilities.js +0 -24
  67. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/UIString.js +0 -4
  68. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/UserVisibleError.js +0 -22
  69. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/api/HostRuntime.js +0 -4
  70. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/api/api.js +0 -5
  71. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/browser/HostRuntime.js +0 -63
  72. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/browser/browser.js +0 -5
  73. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/node/HostRuntime.js +0 -72
  74. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/node/node.js +0 -5
  75. package/build/vendor/chrome-devtools-frontend/front_end/core/platform/platform.js +0 -26
  76. package/build/vendor/chrome-devtools-frontend/front_end/core/protocol_client/CDPConnection.js +0 -17
  77. package/build/vendor/chrome-devtools-frontend/front_end/core/protocol_client/ConnectionTransport.js +0 -12
  78. package/build/vendor/chrome-devtools-frontend/front_end/core/protocol_client/DevToolsCDPConnection.js +0 -138
  79. package/build/vendor/chrome-devtools-frontend/front_end/core/protocol_client/InspectorBackend.js +0 -539
  80. package/build/vendor/chrome-devtools-frontend/front_end/core/protocol_client/protocol_client.js +0 -8
  81. package/build/vendor/chrome-devtools-frontend/front_end/core/root/DevToolsContext.js +0 -54
  82. package/build/vendor/chrome-devtools-frontend/front_end/core/root/root.js +0 -6
  83. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/AccessibilityModel.js +0 -281
  84. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/AnimationModel.js +0 -845
  85. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/AutofillModel.js +0 -155
  86. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CPUProfilerModel.js +0 -99
  87. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CPUThrottlingManager.js +0 -217
  88. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSContainerQuery.js +0 -98
  89. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSFontFace.js +0 -31
  90. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSLayer.js +0 -22
  91. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSMatchedStyles.js +0 -1318
  92. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSMedia.js +0 -100
  93. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSMetadata.js +0 -1532
  94. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSModel.js +0 -908
  95. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSProperty.js +0 -312
  96. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSPropertyParser.js +0 -574
  97. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSPropertyParserMatchers.js +0 -1346
  98. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSQuery.js +0 -53
  99. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSRule.js +0 -403
  100. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSScope.js +0 -22
  101. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSStartingStyle.js +0 -21
  102. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSStyleDeclaration.js +0 -275
  103. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSStyleSheetHeader.js +0 -166
  104. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSSupports.js +0 -24
  105. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CategorizedBreakpoint.js +0 -29
  106. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/ChildTargetManager.js +0 -236
  107. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CompilerSourceMappingContentProvider.js +0 -47
  108. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/Connections.js +0 -205
  109. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/ConsoleModel.js +0 -629
  110. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/ConsoleModelTypes.js +0 -14
  111. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/Cookie.js +0 -241
  112. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CookieModel.js +0 -198
  113. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CookieParser.js +0 -163
  114. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/DOMDebuggerModel.js +0 -597
  115. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/DOMModel.js +0 -1635
  116. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/DebuggerModel.js +0 -1216
  117. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/EmulationModel.js +0 -527
  118. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/EnhancedTracesParser.js +0 -364
  119. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/EventBreakpointsModel.js +0 -127
  120. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/FrameAssociated.js +0 -4
  121. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/FrameManager.js +0 -199
  122. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/HeapProfilerModel.js +0 -130
  123. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/HttpReasonPhraseStrings.js +0 -75
  124. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/IOModel.js +0 -80
  125. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/IsolateManager.js +0 -208
  126. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/IssuesModel.js +0 -41
  127. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/LayerTreeBase.js +0 -95
  128. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/LogModel.js +0 -34
  129. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/NetworkManager.js +0 -2223
  130. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/NetworkRequest.js +0 -1654
  131. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/OverlayColorGenerator.js +0 -48
  132. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/OverlayModel.js +0 -765
  133. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/OverlayPersistentHighlighter.js +0 -384
  134. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/PageLoad.js +0 -25
  135. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/PageResourceLoader.js +0 -310
  136. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/PaintProfiler.js +0 -67
  137. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/PerformanceMetricsModel.js +0 -62
  138. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/PreloadingModel.js +0 -608
  139. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/RehydratingConnection.js +0 -413
  140. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/RehydratingObject.js +0 -4
  141. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/RemoteObject.js +0 -908
  142. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/Resource.js +0 -163
  143. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/ResourceTreeModel.js +0 -923
  144. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/RuntimeModel.js +0 -535
  145. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/SDKModel.js +0 -45
  146. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/ScopeTreeCache.js +0 -36
  147. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/ScreenCaptureModel.js +0 -176
  148. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/Script.js +0 -420
  149. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/SecurityOriginManager.js +0 -54
  150. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/ServerSentEvents.js +0 -67
  151. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/ServerSentEventsProtocol.js +0 -113
  152. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/ServerTiming.js +0 -216
  153. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/ServiceWorkerCacheModel.js +0 -271
  154. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/ServiceWorkerManager.js +0 -511
  155. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/SourceMap.js +0 -691
  156. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/SourceMapCache.js +0 -57
  157. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/SourceMapFunctionRanges.js +0 -132
  158. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/SourceMapManager.js +0 -201
  159. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/SourceMapScopeChainEntry.js +0 -156
  160. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/SourceMapScopesInfo.js +0 -508
  161. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/StorageBucketsModel.js +0 -143
  162. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/StorageKeyManager.js +0 -53
  163. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/Target.js +0 -257
  164. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/TargetManager.js +0 -395
  165. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/TraceObject.js +0 -55
  166. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/WebAuthnModel.js +0 -66
  167. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/sdk-meta.js +0 -1166
  168. package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/sdk.js +0 -91
  169. package/build/vendor/chrome-devtools-frontend/front_end/foundation/Universe.js +0 -34
  170. package/build/vendor/chrome-devtools-frontend/front_end/foundation/foundation.js +0 -5
  171. package/build/vendor/chrome-devtools-frontend/front_end/generated/ARIAProperties.js +0 -2640
  172. package/build/vendor/chrome-devtools-frontend/front_end/generated/Deprecation.js +0 -384
  173. package/build/vendor/chrome-devtools-frontend/front_end/generated/InspectorBackendCommands.js +0 -1532
  174. package/build/vendor/chrome-devtools-frontend/front_end/generated/SupportedCSSProperties.js +0 -7602
  175. package/build/vendor/chrome-devtools-frontend/front_end/generated/protocol.js +0 -4
  176. package/build/vendor/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.js +0 -289
  177. package/build/vendor/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.js +0 -995
  178. package/build/vendor/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.js +0 -664
  179. package/build/vendor/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/UnitFormatters.js +0 -139
  180. package/build/vendor/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AICallTree.js +0 -377
  181. package/build/vendor/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AIContext.js +0 -131
  182. package/build/vendor/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AIQueries.js +0 -149
  183. package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/CSSWorkspaceBinding.js +0 -245
  184. package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/CompilerScriptMapping.js +0 -486
  185. package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/ContentProviderBasedProject.js +0 -130
  186. package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/DebuggerLanguagePlugins.js +0 -992
  187. package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/DebuggerWorkspaceBinding.js +0 -592
  188. package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/DefaultScriptMapping.js +0 -112
  189. package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/FileUtils.js +0 -186
  190. package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/LiveLocation.js +0 -60
  191. package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/NetworkProject.js +0 -107
  192. package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/PresentationConsoleMessageHelper.js +0 -244
  193. package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/ResourceMapping.js +0 -564
  194. package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/ResourceScriptMapping.js +0 -437
  195. package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/ResourceUtils.js +0 -87
  196. package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/SASSSourceMapping.js +0 -182
  197. package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/StylesSourceMapping.js +0 -268
  198. package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/TempFile.js +0 -55
  199. package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/bindings.js +0 -20
  200. package/build/vendor/chrome-devtools-frontend/front_end/models/cpu_profile/CPUProfileDataModel.js +0 -516
  201. package/build/vendor/chrome-devtools-frontend/front_end/models/cpu_profile/ProfileTreeModel.js +0 -89
  202. package/build/vendor/chrome-devtools-frontend/front_end/models/cpu_profile/cpu_profile.js +0 -6
  203. package/build/vendor/chrome-devtools-frontend/front_end/models/crux-manager/CrUXManager.js +0 -285
  204. package/build/vendor/chrome-devtools-frontend/front_end/models/crux-manager/crux-manager.js +0 -4
  205. package/build/vendor/chrome-devtools-frontend/front_end/models/emulation/DeviceModeModel.js +0 -775
  206. package/build/vendor/chrome-devtools-frontend/front_end/models/emulation/EmulatedDevices.js +0 -1706
  207. package/build/vendor/chrome-devtools-frontend/front_end/models/emulation/emulation.js +0 -6
  208. package/build/vendor/chrome-devtools-frontend/front_end/models/formatter/FormatterWorkerPool.js +0 -145
  209. package/build/vendor/chrome-devtools-frontend/front_end/models/formatter/ScriptFormatter.js +0 -77
  210. package/build/vendor/chrome-devtools-frontend/front_end/models/formatter/formatter.js +0 -6
  211. package/build/vendor/chrome-devtools-frontend/front_end/models/geometry/GeometryImpl.js +0 -347
  212. package/build/vendor/chrome-devtools-frontend/front_end/models/geometry/geometry.js +0 -4
  213. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/AttributionReportingIssue.js +0 -201
  214. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/BounceTrackingIssue.js +0 -49
  215. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/CheckFormsIssuesTrigger.js +0 -31
  216. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/ClientHintIssue.js +0 -71
  217. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/ContentSecurityPolicyIssue.js +0 -135
  218. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/ContrastCheckTrigger.js +0 -59
  219. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/CookieDeprecationMetadataIssue.js +0 -58
  220. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/CookieIssue.js +0 -514
  221. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/CorsIssue.js +0 -244
  222. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.js +0 -110
  223. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/DeprecationIssue.js +0 -90
  224. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/ElementAccessibilityIssue.js +0 -95
  225. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/FederatedAuthRequestIssue.js +0 -231
  226. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.js +0 -141
  227. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/GenericIssue.js +0 -212
  228. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/HeavyAdIssue.js +0 -52
  229. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/Issue.js +0 -152
  230. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/IssueAggregator.js +0 -314
  231. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/IssueResolver.js +0 -40
  232. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/IssuesManager.js +0 -416
  233. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/IssuesManagerEvents.js +0 -4
  234. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/LowTextContrastIssue.js +0 -48
  235. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/MarkdownIssueDescription.js +0 -104
  236. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/MixedContentIssue.js +0 -55
  237. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/PartitioningBlobURLIssue.js +0 -58
  238. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/PropertyRuleIssue.js +0 -58
  239. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/QuirksModeIssue.js +0 -48
  240. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/RelatedIssue.js +0 -70
  241. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/SRIMessageSignatureIssue.js +0 -87
  242. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/SharedArrayBufferIssue.js +0 -49
  243. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/SharedDictionaryIssue.js +0 -292
  244. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/SourceFrameIssuesManager.js +0 -81
  245. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/StylesheetLoadingIssue.js +0 -59
  246. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/UnencodedDigestIssue.js +0 -62
  247. package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/issues_manager.js +0 -35
  248. package/build/vendor/chrome-devtools-frontend/front_end/models/logs/LogManager.js +0 -67
  249. package/build/vendor/chrome-devtools-frontend/front_end/models/logs/NetworkLog.js +0 -494
  250. package/build/vendor/chrome-devtools-frontend/front_end/models/logs/RequestResolver.js +0 -49
  251. package/build/vendor/chrome-devtools-frontend/front_end/models/logs/logs-meta.js +0 -73
  252. package/build/vendor/chrome-devtools-frontend/front_end/models/logs/logs.js +0 -7
  253. package/build/vendor/chrome-devtools-frontend/front_end/models/network_time_calculator/Calculator.js +0 -4
  254. package/build/vendor/chrome-devtools-frontend/front_end/models/network_time_calculator/NetworkTimeCalculator.js +0 -256
  255. package/build/vendor/chrome-devtools-frontend/front_end/models/network_time_calculator/RequestTimeRanges.js +0 -122
  256. package/build/vendor/chrome-devtools-frontend/front_end/models/network_time_calculator/network_time_calculator.js +0 -6
  257. package/build/vendor/chrome-devtools-frontend/front_end/models/source_map_scopes/FunctionCodeResolver.js +0 -192
  258. package/build/vendor/chrome-devtools-frontend/front_end/models/source_map_scopes/NamesResolver.js +0 -622
  259. package/build/vendor/chrome-devtools-frontend/front_end/models/source_map_scopes/ScopeChainModel.js +0 -59
  260. package/build/vendor/chrome-devtools-frontend/front_end/models/source_map_scopes/source_map_scopes.js +0 -7
  261. package/build/vendor/chrome-devtools-frontend/front_end/models/stack_trace/StackTrace.js +0 -4
  262. package/build/vendor/chrome-devtools-frontend/front_end/models/stack_trace/StackTraceImpl.js +0 -67
  263. package/build/vendor/chrome-devtools-frontend/front_end/models/stack_trace/StackTraceModel.js +0 -97
  264. package/build/vendor/chrome-devtools-frontend/front_end/models/stack_trace/Trie.js +0 -121
  265. package/build/vendor/chrome-devtools-frontend/front_end/models/stack_trace/stack_trace.js +0 -5
  266. package/build/vendor/chrome-devtools-frontend/front_end/models/stack_trace/stack_trace_impl.js +0 -7
  267. package/build/vendor/chrome-devtools-frontend/front_end/models/text_utils/CodeMirrorUtils.js +0 -32
  268. package/build/vendor/chrome-devtools-frontend/front_end/models/text_utils/ContentData.js +0 -173
  269. package/build/vendor/chrome-devtools-frontend/front_end/models/text_utils/ContentProvider.js +0 -30
  270. package/build/vendor/chrome-devtools-frontend/front_end/models/text_utils/StaticContentProvider.js +0 -32
  271. package/build/vendor/chrome-devtools-frontend/front_end/models/text_utils/StreamingContentData.js +0 -79
  272. package/build/vendor/chrome-devtools-frontend/front_end/models/text_utils/Text.js +0 -69
  273. package/build/vendor/chrome-devtools-frontend/front_end/models/text_utils/TextCursor.js +0 -35
  274. package/build/vendor/chrome-devtools-frontend/front_end/models/text_utils/TextRange.js +0 -231
  275. package/build/vendor/chrome-devtools-frontend/front_end/models/text_utils/TextUtils.js +0 -355
  276. package/build/vendor/chrome-devtools-frontend/front_end/models/text_utils/WasmDisassembly.js +0 -68
  277. package/build/vendor/chrome-devtools-frontend/front_end/models/text_utils/text_utils.js +0 -14
  278. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/EntityMapper.js +0 -122
  279. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/EventsSerializer.js +0 -81
  280. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/LanternComputationData.js +0 -371
  281. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/ModelImpl.js +0 -169
  282. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/Name.js +0 -114
  283. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/Processor.js +0 -555
  284. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/Styles.js +0 -815
  285. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/extras/FilmStrip.js +0 -44
  286. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/extras/MainThreadActivity.js +0 -76
  287. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/extras/ScriptDuplication.js +0 -162
  288. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/extras/StackTraceForEvent.js +0 -191
  289. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/extras/ThirdParties.js +0 -118
  290. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/extras/TraceFilter.js +0 -50
  291. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/extras/TraceTree.js +0 -599
  292. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/extras/extras.js +0 -10
  293. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/AnimationFramesHandler.js +0 -109
  294. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/AnimationHandler.js +0 -26
  295. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/AsyncJSCallsHandler.js +0 -187
  296. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/AuctionWorkletsHandler.js +0 -162
  297. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/DOMStatsHandler.js +0 -21
  298. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/ExtensionTraceDataHandler.js +0 -263
  299. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/FlowsHandler.js +0 -148
  300. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/FramesHandler.js +0 -485
  301. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/GPUHandler.js +0 -35
  302. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/ImagePaintingHandler.js +0 -147
  303. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/InitiatorsHandler.js +0 -180
  304. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/InvalidationsHandler.js +0 -126
  305. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/LargestImagePaintHandler.js +0 -85
  306. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/LargestTextPaintHandler.js +0 -27
  307. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/LayerTreeHandler.js +0 -103
  308. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/LayoutShiftsHandler.js +0 -449
  309. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/MemoryHandler.js +0 -21
  310. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/MetaHandler.js +0 -404
  311. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/ModelHandlers.js +0 -33
  312. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/NetworkRequestsHandler.js +0 -566
  313. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/PageFramesHandler.js +0 -42
  314. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/PageLoadMetricsHandler.js +0 -349
  315. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/RendererHandler.js +0 -346
  316. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/SamplesHandler.js +0 -260
  317. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/ScreenshotsHandler.js +0 -97
  318. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/ScriptsHandler.js +0 -276
  319. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/SelectorStatsHandler.js +0 -71
  320. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/Threads.js +0 -101
  321. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/UserInteractionsHandler.js +0 -317
  322. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/UserTimingsHandler.js +0 -183
  323. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/WarningsHandler.js +0 -134
  324. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/WorkersHandler.js +0 -33
  325. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/handlers.js +0 -7
  326. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/helpers.js +0 -163
  327. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/types.js +0 -1
  328. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/helpers/Extensions.js +0 -41
  329. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/helpers/Network.js +0 -102
  330. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/helpers/SamplesIntegrator.js +0 -495
  331. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/helpers/SyntheticEvents.js +0 -74
  332. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/helpers/Timing.js +0 -186
  333. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/helpers/Trace.js +0 -820
  334. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/helpers/TreeHelpers.js +0 -254
  335. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/helpers/helpers.js +0 -10
  336. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/CLSCulprits.js +0 -489
  337. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/Cache.js +0 -209
  338. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/Common.js +0 -340
  339. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/DOMSize.js +0 -181
  340. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/DocumentLatency.js +0 -258
  341. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/DuplicatedJavaScript.js +0 -90
  342. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/FontDisplay.js +0 -82
  343. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/ForcedReflow.js +0 -161
  344. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/INPBreakdown.js +0 -129
  345. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/ImageDelivery.js +0 -263
  346. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/LCPBreakdown.js +0 -199
  347. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/LCPDiscovery.js +0 -183
  348. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/LegacyJavaScript.js +0 -90
  349. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/Models.js +0 -21
  350. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/ModernHTTP.js +0 -200
  351. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/NetworkDependencyTree.js +0 -545
  352. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/RenderBlocking.js +0 -192
  353. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/SlowCSSSelector.js +0 -136
  354. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/Statistics.js +0 -92
  355. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/ThirdParties.js +0 -98
  356. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/Viewport.js +0 -102
  357. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/insights.js +0 -9
  358. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/types.js +0 -18
  359. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/core/LanternError.js +0 -6
  360. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/core/NetworkAnalyzer.js +0 -488
  361. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/core/core.js +0 -5
  362. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/graph/BaseNode.js +0 -276
  363. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/graph/CPUNode.js +0 -63
  364. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/graph/NetworkNode.js +0 -82
  365. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/graph/PageDependencyGraph.js +0 -551
  366. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/graph/graph.js +0 -7
  367. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/lantern.js +0 -9
  368. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/FirstContentfulPaint.js +0 -136
  369. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/Interactive.js +0 -67
  370. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/LargestContentfulPaint.js +0 -68
  371. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/MaxPotentialFID.js +0 -48
  372. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/Metric.js +0 -68
  373. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/SpeedIndex.js +0 -101
  374. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/TBTUtils.js +0 -64
  375. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/TotalBlockingTime.js +0 -78
  376. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/metrics.js +0 -11
  377. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/ConnectionPool.js +0 -115
  378. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/Constants.js +0 -42
  379. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/DNSCache.js +0 -47
  380. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/SimulationTimingMap.js +0 -134
  381. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/Simulator.js +0 -450
  382. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/TCPConnection.js +0 -154
  383. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/simulation.js +0 -9
  384. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/types/Lantern.js +0 -24
  385. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/lantern/types/types.js +0 -4
  386. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/trace.js +0 -17
  387. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/types/Configuration.js +0 -18
  388. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/types/Extensions.js +0 -37
  389. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/types/File.js +0 -57
  390. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/types/Overlays.js +0 -4
  391. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/types/Timing.js +0 -15
  392. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/types/TraceEvents.js +0 -580
  393. package/build/vendor/chrome-devtools-frontend/front_end/models/trace/types/types.js +0 -9
  394. package/build/vendor/chrome-devtools-frontend/front_end/models/trace_source_maps_resolver/SourceMapsResolver.js +0 -224
  395. package/build/vendor/chrome-devtools-frontend/front_end/models/trace_source_maps_resolver/trace_source_maps_resolver.js +0 -4
  396. package/build/vendor/chrome-devtools-frontend/front_end/models/workspace/FileManager.js +0 -64
  397. package/build/vendor/chrome-devtools-frontend/front_end/models/workspace/IgnoreListManager.js +0 -504
  398. package/build/vendor/chrome-devtools-frontend/front_end/models/workspace/SearchConfig.js +0 -113
  399. package/build/vendor/chrome-devtools-frontend/front_end/models/workspace/UISourceCode.js +0 -601
  400. package/build/vendor/chrome-devtools-frontend/front_end/models/workspace/WorkspaceImpl.js +0 -201
  401. package/build/vendor/chrome-devtools-frontend/front_end/models/workspace/workspace-meta.js +0 -34
  402. package/build/vendor/chrome-devtools-frontend/front_end/models/workspace/workspace.js +0 -9
  403. package/build/vendor/chrome-devtools-frontend/front_end/third_party/i18n/i18n-impl.js +0 -46
  404. package/build/vendor/chrome-devtools-frontend/front_end/third_party/i18n/i18n.js +0 -6
  405. package/build/vendor/chrome-devtools-frontend/front_end/third_party/i18n/localized-string-set.js +0 -122
  406. package/build/vendor/chrome-devtools-frontend/front_end/third_party/intl-messageformat/intl-messageformat.js +0 -5
  407. package/build/vendor/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/index.js +0 -13
  408. package/build/vendor/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.js +0 -1725
  409. package/build/vendor/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/intl-messageformat.iife.js +0 -1840
  410. package/build/vendor/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/index.js +0 -10
  411. package/build/vendor/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/src/core.js +0 -233
  412. package/build/vendor/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/src/error.js +0 -48
  413. package/build/vendor/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/src/formatters.js +0 -177
  414. package/build/vendor/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/src/core.js +0 -236
  415. package/build/vendor/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/src/error.js +0 -51
  416. package/build/vendor/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/src/formatters.js +0 -182
  417. package/build/vendor/chrome-devtools-frontend/front_end/third_party/legacy-javascript/legacy-javascript.js +0 -2
  418. package/build/vendor/chrome-devtools-frontend/front_end/third_party/legacy-javascript/lib/legacy-javascript.js +0 -940
  419. package/build/vendor/chrome-devtools-frontend/front_end/third_party/marked/marked.js +0 -2
  420. package/build/vendor/chrome-devtools-frontend/front_end/third_party/marked/package/bin/main.js +0 -255
  421. package/build/vendor/chrome-devtools-frontend/front_end/third_party/marked/package/bin/marked.js +0 -11
  422. package/build/vendor/chrome-devtools-frontend/front_end/third_party/marked/package/lib/marked.esm.js +0 -2695
  423. package/build/vendor/chrome-devtools-frontend/front_end/third_party/marked/package/lib/marked.js +0 -2233
  424. package/build/vendor/chrome-devtools-frontend/front_end/third_party/marked/package/lib/marked.umd.js +0 -2719
  425. package/build/vendor/chrome-devtools-frontend/front_end/third_party/marked/package/src/Lexer.js +0 -453
  426. package/build/vendor/chrome-devtools-frontend/front_end/third_party/marked/package/src/Parser.js +0 -233
  427. package/build/vendor/chrome-devtools-frontend/front_end/third_party/marked/package/src/Renderer.js +0 -137
  428. package/build/vendor/chrome-devtools-frontend/front_end/third_party/marked/package/src/Slugger.js +0 -46
  429. package/build/vendor/chrome-devtools-frontend/front_end/third_party/marked/package/src/TextRenderer.js +0 -34
  430. package/build/vendor/chrome-devtools-frontend/front_end/third_party/marked/package/src/Tokenizer.js +0 -683
  431. package/build/vendor/chrome-devtools-frontend/front_end/third_party/marked/package/src/defaults.js +0 -27
  432. package/build/vendor/chrome-devtools-frontend/front_end/third_party/marked/package/src/helpers.js +0 -240
  433. package/build/vendor/chrome-devtools-frontend/front_end/third_party/marked/package/src/marked.js +0 -318
  434. package/build/vendor/chrome-devtools-frontend/front_end/third_party/marked/package/src/rules.js +0 -243
  435. package/build/vendor/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js +0 -196
  436. package/build/vendor/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js +0 -226
  437. package/build/vendor/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/codec.js +0 -4
  438. package/build/vendor/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js +0 -394
  439. package/build/vendor/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js +0 -24
  440. package/build/vendor/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js +0 -283
  441. package/build/vendor/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/mod.js +0 -7
  442. package/build/vendor/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/util.js +0 -9
  443. package/build/vendor/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/vlq.js +0 -84
  444. package/build/vendor/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/source-map-scopes-codec.js +0 -4
  445. package/build/vendor/chrome-devtools-frontend/front_end/third_party/third-party-web/lib/nostats-subset.js +0 -146
  446. package/build/vendor/chrome-devtools-frontend/front_end/third_party/third-party-web/package/httparchive-nostats-subset.js +0 -2
  447. package/build/vendor/chrome-devtools-frontend/front_end/third_party/third-party-web/package/httparchive-subset.js +0 -2
  448. package/build/vendor/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.js +0 -118
  449. package/build/vendor/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.test.js +0 -40
  450. package/build/vendor/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/entities.test.js +0 -26
  451. package/build/vendor/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/index.js +0 -4
  452. package/build/vendor/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/index.test.js +0 -215
  453. package/build/vendor/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.js +0 -4
  454. package/build/vendor/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/httparchive.js +0 -4
  455. package/build/vendor/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/nostats.js +0 -4
  456. package/build/vendor/chrome-devtools-frontend/front_end/third_party/third-party-web/package/nostats-subset.js +0 -2
  457. package/build/vendor/chrome-devtools-frontend/front_end/third_party/third-party-web/third-party-web.js +0 -2
  458. package/build/vendor/chrome-devtools-frontend/mcp/HostBindings.js +0 -222
  459. package/build/vendor/chrome-devtools-frontend/mcp/mcp.js +0 -35
@@ -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
- }