devtools-tracing 1.1.1 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (527) hide show
  1. package/dist/index.d.ts +4 -0
  2. package/dist/index.js +28854 -0
  3. package/package.json +11 -8
  4. package/generate.ts +0 -649
  5. package/index.ts +0 -17
  6. package/lib/extension-api/ExtensionAPI.d.ts +0 -357
  7. package/lib/front_end/core/common/App.ts +0 -7
  8. package/lib/front_end/core/common/AppProvider.ts +0 -32
  9. package/lib/front_end/core/common/Base64.ts +0 -47
  10. package/lib/front_end/core/common/CharacterIdMap.ts +0 -30
  11. package/lib/front_end/core/common/Color.ts +0 -2506
  12. package/lib/front_end/core/common/ColorConverter.ts +0 -402
  13. package/lib/front_end/core/common/ColorUtils.ts +0 -252
  14. package/lib/front_end/core/common/Console.ts +0 -114
  15. package/lib/front_end/core/common/Debouncer.ts +0 -15
  16. package/lib/front_end/core/common/EventTarget.ts +0 -52
  17. package/lib/front_end/core/common/Gzip.ts +0 -74
  18. package/lib/front_end/core/common/JavaScriptMetaData.ts +0 -29
  19. package/lib/front_end/core/common/Lazy.ts +0 -31
  20. package/lib/front_end/core/common/Linkifier.ts +0 -55
  21. package/lib/front_end/core/common/MapWithDefault.ts +0 -26
  22. package/lib/front_end/core/common/Mutex.ts +0 -55
  23. package/lib/front_end/core/common/Object.ts +0 -145
  24. package/lib/front_end/core/common/ParsedURL.ts +0 -554
  25. package/lib/front_end/core/common/Progress.ts +0 -180
  26. package/lib/front_end/core/common/QueryParamHandler.ts +0 -7
  27. package/lib/front_end/core/common/ResolverBase.ts +0 -85
  28. package/lib/front_end/core/common/ResourceType.ts +0 -588
  29. package/lib/front_end/core/common/ReturnToPanel.ts +0 -17
  30. package/lib/front_end/core/common/Revealer.ts +0 -192
  31. package/lib/front_end/core/common/Runnable.ts +0 -41
  32. package/lib/front_end/core/common/SegmentedRange.ts +0 -87
  33. package/lib/front_end/core/common/SettingRegistration.ts +0 -339
  34. package/lib/front_end/core/common/Settings.ts +0 -1497
  35. package/lib/front_end/core/common/SimpleHistoryManager.ts +0 -124
  36. package/lib/front_end/core/common/StringOutputStream.ts +0 -26
  37. package/lib/front_end/core/common/TextDictionary.ts +0 -48
  38. package/lib/front_end/core/common/Throttler.ts +0 -99
  39. package/lib/front_end/core/common/Trie.ts +0 -152
  40. package/lib/front_end/core/common/Worker.ts +0 -60
  41. package/lib/front_end/core/common/common.ts +0 -81
  42. package/lib/front_end/core/host/AidaClient.ts +0 -733
  43. package/lib/front_end/core/host/GdpClient.ts +0 -316
  44. package/lib/front_end/core/host/InspectorFrontendHost.ts +0 -648
  45. package/lib/front_end/core/host/InspectorFrontendHostAPI.ts +0 -551
  46. package/lib/front_end/core/host/Platform.ts +0 -76
  47. package/lib/front_end/core/host/ResourceLoader.ts +0 -282
  48. package/lib/front_end/core/host/UserMetrics.ts +0 -1230
  49. package/lib/front_end/core/host/host.ts +0 -23
  50. package/lib/front_end/core/i18n/ByteUtilities.ts +0 -82
  51. package/lib/front_end/core/i18n/DevToolsLocale.ts +0 -87
  52. package/lib/front_end/core/i18n/NumberFormatter.ts +0 -82
  53. package/lib/front_end/core/i18n/i18n.ts +0 -17
  54. package/lib/front_end/core/i18n/i18nImpl.ts +0 -204
  55. package/lib/front_end/core/i18n/i18nTypes.ts +0 -10
  56. package/lib/front_end/core/i18n/locales.js +0 -14
  57. package/lib/front_end/core/i18n/time-utilities.ts +0 -174
  58. package/lib/front_end/core/platform/ArrayUtilities.ts +0 -271
  59. package/lib/front_end/core/platform/Brand.ts +0 -23
  60. package/lib/front_end/core/platform/Constructor.ts +0 -10
  61. package/lib/front_end/core/platform/DOMUtilities.ts +0 -138
  62. package/lib/front_end/core/platform/DateUtilities.ts +0 -15
  63. package/lib/front_end/core/platform/DevToolsPath.ts +0 -53
  64. package/lib/front_end/core/platform/KeyboardUtilities.ts +0 -38
  65. package/lib/front_end/core/platform/MapUtilities.ts +0 -95
  66. package/lib/front_end/core/platform/MimeType.ts +0 -175
  67. package/lib/front_end/core/platform/NumberUtilities.ts +0 -80
  68. package/lib/front_end/core/platform/StringUtilities.ts +0 -588
  69. package/lib/front_end/core/platform/Timing.ts +0 -17
  70. package/lib/front_end/core/platform/TypedArrayUtilities.ts +0 -189
  71. package/lib/front_end/core/platform/TypescriptUtilities.ts +0 -86
  72. package/lib/front_end/core/platform/UIString.ts +0 -39
  73. package/lib/front_end/core/platform/UserVisibleError.ts +0 -28
  74. package/lib/front_end/core/platform/platform.ts +0 -45
  75. package/lib/front_end/core/protocol_client/ConnectionTransport.ts +0 -26
  76. package/lib/front_end/core/protocol_client/InspectorBackend.ts +0 -1050
  77. package/lib/front_end/core/protocol_client/NodeURL.ts +0 -42
  78. package/lib/front_end/core/protocol_client/protocol_client.ts +0 -13
  79. package/lib/front_end/core/root/Runtime.ts +0 -609
  80. package/lib/front_end/core/root/root.ts +0 -6
  81. package/lib/front_end/core/sdk/AccessibilityModel.ts +0 -353
  82. package/lib/front_end/core/sdk/AnimationModel.ts +0 -1041
  83. package/lib/front_end/core/sdk/AutofillModel.ts +0 -184
  84. package/lib/front_end/core/sdk/CPUProfilerModel.ts +0 -148
  85. package/lib/front_end/core/sdk/CPUThrottlingManager.ts +0 -282
  86. package/lib/front_end/core/sdk/CSSContainerQuery.ts +0 -139
  87. package/lib/front_end/core/sdk/CSSFontFace.ts +0 -40
  88. package/lib/front_end/core/sdk/CSSLayer.ts +0 -30
  89. package/lib/front_end/core/sdk/CSSMatchedStyles.ts +0 -1646
  90. package/lib/front_end/core/sdk/CSSMedia.ts +0 -121
  91. package/lib/front_end/core/sdk/CSSMetadata.ts +0 -1647
  92. package/lib/front_end/core/sdk/CSSModel.ts +0 -1128
  93. package/lib/front_end/core/sdk/CSSProperty.ts +0 -384
  94. package/lib/front_end/core/sdk/CSSPropertyParser.ts +0 -681
  95. package/lib/front_end/core/sdk/CSSPropertyParserMatchers.ts +0 -1395
  96. package/lib/front_end/core/sdk/CSSQuery.ts +0 -72
  97. package/lib/front_end/core/sdk/CSSRule.ts +0 -465
  98. package/lib/front_end/core/sdk/CSSScope.ts +0 -30
  99. package/lib/front_end/core/sdk/CSSStartingStyle.ts +0 -29
  100. package/lib/front_end/core/sdk/CSSStyleDeclaration.ts +0 -313
  101. package/lib/front_end/core/sdk/CSSStyleSheetHeader.ts +0 -196
  102. package/lib/front_end/core/sdk/CSSSupports.ts +0 -33
  103. package/lib/front_end/core/sdk/CategorizedBreakpoint.ts +0 -64
  104. package/lib/front_end/core/sdk/ChildTargetManager.ts +0 -314
  105. package/lib/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +0 -62
  106. package/lib/front_end/core/sdk/Connections.ts +0 -293
  107. package/lib/front_end/core/sdk/ConsoleModel.ts +0 -808
  108. package/lib/front_end/core/sdk/ConsoleModelTypes.ts +0 -15
  109. package/lib/front_end/core/sdk/Cookie.ts +0 -319
  110. package/lib/front_end/core/sdk/CookieModel.ts +0 -239
  111. package/lib/front_end/core/sdk/CookieParser.ts +0 -185
  112. package/lib/front_end/core/sdk/DOMDebuggerModel.ts +0 -787
  113. package/lib/front_end/core/sdk/DOMModel.ts +0 -1961
  114. package/lib/front_end/core/sdk/DebuggerModel.ts +0 -1605
  115. package/lib/front_end/core/sdk/EmulationModel.ts +0 -648
  116. package/lib/front_end/core/sdk/EnhancedTracesParser.ts +0 -515
  117. package/lib/front_end/core/sdk/EventBreakpointsModel.ts +0 -183
  118. package/lib/front_end/core/sdk/FrameAssociated.ts +0 -11
  119. package/lib/front_end/core/sdk/FrameManager.ts +0 -259
  120. package/lib/front_end/core/sdk/HeapProfilerModel.ts +0 -225
  121. package/lib/front_end/core/sdk/HttpReasonPhraseStrings.ts +0 -77
  122. package/lib/front_end/core/sdk/IOModel.ts +0 -91
  123. package/lib/front_end/core/sdk/IsolateManager.ts +0 -257
  124. package/lib/front_end/core/sdk/IssuesModel.ts +0 -70
  125. package/lib/front_end/core/sdk/LayerTreeBase.ts +0 -169
  126. package/lib/front_end/core/sdk/LogModel.ts +0 -56
  127. package/lib/front_end/core/sdk/NetworkManager.ts +0 -2823
  128. package/lib/front_end/core/sdk/NetworkRequest.ts +0 -2253
  129. package/lib/front_end/core/sdk/OverlayColorGenerator.ts +0 -52
  130. package/lib/front_end/core/sdk/OverlayModel.ts +0 -1011
  131. package/lib/front_end/core/sdk/OverlayPersistentHighlighter.ts +0 -522
  132. package/lib/front_end/core/sdk/PageLoad.ts +0 -35
  133. package/lib/front_end/core/sdk/PageResourceLoader.ts +0 -435
  134. package/lib/front_end/core/sdk/PaintProfiler.ts +0 -110
  135. package/lib/front_end/core/sdk/PerformanceMetricsModel.ts +0 -84
  136. package/lib/front_end/core/sdk/PreloadingModel.ts +0 -863
  137. package/lib/front_end/core/sdk/RehydratingConnection.ts +0 -386
  138. package/lib/front_end/core/sdk/RehydratingObject.ts +0 -66
  139. package/lib/front_end/core/sdk/RemoteObject.ts +0 -1160
  140. package/lib/front_end/core/sdk/Resource.ts +0 -232
  141. package/lib/front_end/core/sdk/ResourceTreeModel.ts +0 -1160
  142. package/lib/front_end/core/sdk/RuntimeModel.ts +0 -732
  143. package/lib/front_end/core/sdk/SDKModel.ts +0 -65
  144. package/lib/front_end/core/sdk/ScopeTreeCache.ts +0 -45
  145. package/lib/front_end/core/sdk/ScreenCaptureModel.ts +0 -255
  146. package/lib/front_end/core/sdk/Script.ts +0 -534
  147. package/lib/front_end/core/sdk/SecurityOriginManager.ts +0 -76
  148. package/lib/front_end/core/sdk/ServerSentEvents.ts +0 -80
  149. package/lib/front_end/core/sdk/ServerSentEventsProtocol.ts +0 -122
  150. package/lib/front_end/core/sdk/ServerTiming.ts +0 -260
  151. package/lib/front_end/core/sdk/ServiceWorkerCacheModel.ts +0 -377
  152. package/lib/front_end/core/sdk/ServiceWorkerManager.ts +0 -605
  153. package/lib/front_end/core/sdk/SourceMap.ts +0 -867
  154. package/lib/front_end/core/sdk/SourceMapCache.ts +0 -54
  155. package/lib/front_end/core/sdk/SourceMapFunctionRanges.ts +0 -156
  156. package/lib/front_end/core/sdk/SourceMapManager.ts +0 -239
  157. package/lib/front_end/core/sdk/SourceMapScopeChainEntry.ts +0 -189
  158. package/lib/front_end/core/sdk/SourceMapScopesInfo.ts +0 -508
  159. package/lib/front_end/core/sdk/StorageBucketsModel.ts +0 -204
  160. package/lib/front_end/core/sdk/StorageKeyManager.ts +0 -98
  161. package/lib/front_end/core/sdk/Target.ts +0 -332
  162. package/lib/front_end/core/sdk/TargetManager.ts +0 -453
  163. package/lib/front_end/core/sdk/TraceObject.ts +0 -61
  164. package/lib/front_end/core/sdk/WebAuthnModel.ts +0 -104
  165. package/lib/front_end/core/sdk/sdk.ts +0 -174
  166. package/lib/front_end/entrypoints/formatter_worker/FormatterActions.ts +0 -59
  167. package/lib/front_end/generated/InspectorBackendCommands.js +0 -1617
  168. package/lib/front_end/generated/SupportedCSSProperties.js +0 -7512
  169. package/lib/front_end/generated/protocol-proxy-api.d.ts +0 -5022
  170. package/lib/front_end/generated/protocol.ts +0 -22014
  171. package/lib/front_end/models/bindings/CSSWorkspaceBinding.ts +0 -318
  172. package/lib/front_end/models/bindings/CompilerScriptMapping.ts +0 -536
  173. package/lib/front_end/models/bindings/ContentProviderBasedProject.ts +0 -187
  174. package/lib/front_end/models/bindings/DebuggerLanguagePlugins.ts +0 -1197
  175. package/lib/front_end/models/bindings/DebuggerWorkspaceBinding.ts +0 -733
  176. package/lib/front_end/models/bindings/DefaultScriptMapping.ts +0 -141
  177. package/lib/front_end/models/bindings/FileUtils.ts +0 -228
  178. package/lib/front_end/models/bindings/LiveLocation.ts +0 -81
  179. package/lib/front_end/models/bindings/NetworkProject.ts +0 -157
  180. package/lib/front_end/models/bindings/PresentationConsoleMessageHelper.ts +0 -312
  181. package/lib/front_end/models/bindings/ResourceMapping.ts +0 -539
  182. package/lib/front_end/models/bindings/ResourceScriptMapping.ts +0 -491
  183. package/lib/front_end/models/bindings/ResourceUtils.ts +0 -103
  184. package/lib/front_end/models/bindings/SASSSourceMapping.ts +0 -222
  185. package/lib/front_end/models/bindings/StylesSourceMapping.ts +0 -316
  186. package/lib/front_end/models/bindings/TempFile.ts +0 -67
  187. package/lib/front_end/models/bindings/bindings.ts +0 -39
  188. package/lib/front_end/models/cpu_profile/CPUProfileDataModel.ts +0 -571
  189. package/lib/front_end/models/cpu_profile/ProfileTreeModel.ts +0 -103
  190. package/lib/front_end/models/cpu_profile/cpu_profile.ts +0 -11
  191. package/lib/front_end/models/formatter/FormatterWorkerPool.ts +0 -219
  192. package/lib/front_end/models/formatter/ScriptFormatter.ts +0 -112
  193. package/lib/front_end/models/formatter/formatter.ts +0 -8
  194. package/lib/front_end/models/source_map_scopes/NamesResolver.ts +0 -765
  195. package/lib/front_end/models/source_map_scopes/ScopeChainModel.ts +0 -84
  196. package/lib/front_end/models/source_map_scopes/source_map_scopes.ts +0 -11
  197. package/lib/front_end/models/stack_trace/StackTrace.ts +0 -53
  198. package/lib/front_end/models/stack_trace/StackTraceImpl.ts +0 -85
  199. package/lib/front_end/models/stack_trace/StackTraceModel.ts +0 -128
  200. package/lib/front_end/models/stack_trace/Trie.ts +0 -163
  201. package/lib/front_end/models/stack_trace/stack_trace.ts +0 -9
  202. package/lib/front_end/models/stack_trace/stack_trace_impl.ts +0 -13
  203. package/lib/front_end/models/text_utils/CodeMirrorUtils.ts +0 -37
  204. package/lib/front_end/models/text_utils/ContentData.ts +0 -199
  205. package/lib/front_end/models/text_utils/ContentProvider.ts +0 -68
  206. package/lib/front_end/models/text_utils/StaticContentProvider.ts +0 -49
  207. package/lib/front_end/models/text_utils/StreamingContentData.ts +0 -108
  208. package/lib/front_end/models/text_utils/Text.ts +0 -90
  209. package/lib/front_end/models/text_utils/TextCursor.ts +0 -44
  210. package/lib/front_end/models/text_utils/TextRange.ts +0 -266
  211. package/lib/front_end/models/text_utils/TextUtils.ts +0 -401
  212. package/lib/front_end/models/text_utils/WasmDisassembly.ts +0 -87
  213. package/lib/front_end/models/text_utils/text_utils.ts +0 -27
  214. package/lib/front_end/models/trace/EntityMapper.ts +0 -141
  215. package/lib/front_end/models/trace/EventsSerializer.ts +0 -101
  216. package/lib/front_end/models/trace/LanternComputationData.ts +0 -438
  217. package/lib/front_end/models/trace/ModelImpl.ts +0 -236
  218. package/lib/front_end/models/trace/Name.ts +0 -136
  219. package/lib/front_end/models/trace/Processor.ts +0 -652
  220. package/lib/front_end/models/trace/Styles.ts +0 -1138
  221. package/lib/front_end/models/trace/extras/FilmStrip.ts +0 -78
  222. package/lib/front_end/models/trace/extras/MainThreadActivity.ts +0 -86
  223. package/lib/front_end/models/trace/extras/ScriptDuplication.ts +0 -236
  224. package/lib/front_end/models/trace/extras/StackTraceForEvent.ts +0 -203
  225. package/lib/front_end/models/trace/extras/ThirdParties.ts +0 -164
  226. package/lib/front_end/models/trace/extras/TraceFilter.ts +0 -62
  227. package/lib/front_end/models/trace/extras/TraceTree.ts +0 -701
  228. package/lib/front_end/models/trace/extras/extras.ts +0 -11
  229. package/lib/front_end/models/trace/handlers/AnimationFramesHandler.ts +0 -128
  230. package/lib/front_end/models/trace/handlers/AnimationHandler.ts +0 -36
  231. package/lib/front_end/models/trace/handlers/AsyncJSCallsHandler.ts +0 -239
  232. package/lib/front_end/models/trace/handlers/AuctionWorkletsHandler.ts +0 -183
  233. package/lib/front_end/models/trace/handlers/DOMStatsHandler.ts +0 -31
  234. package/lib/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts +0 -306
  235. package/lib/front_end/models/trace/handlers/FlowsHandler.ts +0 -175
  236. package/lib/front_end/models/trace/handlers/FramesHandler.ts +0 -571
  237. package/lib/front_end/models/trace/handlers/GPUHandler.ts +0 -50
  238. package/lib/front_end/models/trace/handlers/ImagePaintingHandler.ts +0 -183
  239. package/lib/front_end/models/trace/handlers/InitiatorsHandler.ts +0 -193
  240. package/lib/front_end/models/trace/handlers/InvalidationsHandler.ts +0 -168
  241. package/lib/front_end/models/trace/handlers/LargestImagePaintHandler.ts +0 -109
  242. package/lib/front_end/models/trace/handlers/LargestTextPaintHandler.ts +0 -35
  243. package/lib/front_end/models/trace/handlers/LayerTreeHandler.ts +0 -123
  244. package/lib/front_end/models/trace/handlers/LayoutShiftsHandler.ts +0 -573
  245. package/lib/front_end/models/trace/handlers/MemoryHandler.ts +0 -31
  246. package/lib/front_end/models/trace/handlers/MetaHandler.ts +0 -525
  247. package/lib/front_end/models/trace/handlers/ModelHandlers.ts +0 -34
  248. package/lib/front_end/models/trace/handlers/NetworkRequestsHandler.ts +0 -672
  249. package/lib/front_end/models/trace/handlers/PageFramesHandler.ts +0 -52
  250. package/lib/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +0 -460
  251. package/lib/front_end/models/trace/handlers/RendererHandler.ts +0 -428
  252. package/lib/front_end/models/trace/handlers/SamplesHandler.ts +0 -271
  253. package/lib/front_end/models/trace/handlers/ScreenshotsHandler.ts +0 -122
  254. package/lib/front_end/models/trace/handlers/ScriptsHandler.ts +0 -336
  255. package/lib/front_end/models/trace/handlers/SelectorStatsHandler.ts +0 -110
  256. package/lib/front_end/models/trace/handlers/Threads.ts +0 -139
  257. package/lib/front_end/models/trace/handlers/UserInteractionsHandler.ts +0 -400
  258. package/lib/front_end/models/trace/handlers/UserTimingsHandler.ts +0 -233
  259. package/lib/front_end/models/trace/handlers/WarningsHandler.ts +0 -162
  260. package/lib/front_end/models/trace/handlers/WorkersHandler.ts +0 -45
  261. package/lib/front_end/models/trace/handlers/handlers.ts +0 -8
  262. package/lib/front_end/models/trace/handlers/helpers.ts +0 -196
  263. package/lib/front_end/models/trace/handlers/types.ts +0 -75
  264. package/lib/front_end/models/trace/helpers/Extensions.ts +0 -54
  265. package/lib/front_end/models/trace/helpers/Network.ts +0 -129
  266. package/lib/front_end/models/trace/helpers/SamplesIntegrator.ts +0 -544
  267. package/lib/front_end/models/trace/helpers/SyntheticEvents.ts +0 -87
  268. package/lib/front_end/models/trace/helpers/Timing.ts +0 -248
  269. package/lib/front_end/models/trace/helpers/Trace.ts +0 -928
  270. package/lib/front_end/models/trace/helpers/TreeHelpers.ts +0 -320
  271. package/lib/front_end/models/trace/helpers/helpers.ts +0 -11
  272. package/lib/front_end/models/trace/insights/CLSCulprits.ts +0 -668
  273. package/lib/front_end/models/trace/insights/Cache.ts +0 -269
  274. package/lib/front_end/models/trace/insights/Common.ts +0 -453
  275. package/lib/front_end/models/trace/insights/DOMSize.ts +0 -223
  276. package/lib/front_end/models/trace/insights/DocumentLatency.ts +0 -319
  277. package/lib/front_end/models/trace/insights/DuplicatedJavaScript.ts +0 -126
  278. package/lib/front_end/models/trace/insights/FontDisplay.ts +0 -119
  279. package/lib/front_end/models/trace/insights/ForcedReflow.ts +0 -220
  280. package/lib/front_end/models/trace/insights/INPBreakdown.ts +0 -171
  281. package/lib/front_end/models/trace/insights/ImageDelivery.ts +0 -348
  282. package/lib/front_end/models/trace/insights/LCPBreakdown.ts +0 -268
  283. package/lib/front_end/models/trace/insights/LCPDiscovery.ts +0 -237
  284. package/lib/front_end/models/trace/insights/LegacyJavaScript.ts +0 -138
  285. package/lib/front_end/models/trace/insights/Models.ts +0 -22
  286. package/lib/front_end/models/trace/insights/ModernHTTP.ts +0 -257
  287. package/lib/front_end/models/trace/insights/NetworkDependencyTree.ts +0 -726
  288. package/lib/front_end/models/trace/insights/RenderBlocking.ts +0 -257
  289. package/lib/front_end/models/trace/insights/SlowCSSSelector.ts +0 -175
  290. package/lib/front_end/models/trace/insights/Statistics.ts +0 -101
  291. package/lib/front_end/models/trace/insights/ThirdParties.ts +0 -130
  292. package/lib/front_end/models/trace/insights/Viewport.ts +0 -138
  293. package/lib/front_end/models/trace/insights/insights.ts +0 -10
  294. package/lib/front_end/models/trace/insights/types.ts +0 -157
  295. package/lib/front_end/models/trace/lantern/core/LanternError.ts +0 -7
  296. package/lib/front_end/models/trace/lantern/core/NetworkAnalyzer.ts +0 -619
  297. package/lib/front_end/models/trace/lantern/core/core.ts +0 -6
  298. package/lib/front_end/models/trace/lantern/graph/BaseNode.ts +0 -345
  299. package/lib/front_end/models/trace/lantern/graph/CPUNode.ts +0 -80
  300. package/lib/front_end/models/trace/lantern/graph/NetworkNode.ts +0 -101
  301. package/lib/front_end/models/trace/lantern/graph/PageDependencyGraph.ts +0 -636
  302. package/lib/front_end/models/trace/lantern/graph/graph.ts +0 -8
  303. package/lib/front_end/models/trace/lantern/lantern.ts +0 -17
  304. package/lib/front_end/models/trace/lantern/metrics/FirstContentfulPaint.ts +0 -187
  305. package/lib/front_end/models/trace/lantern/metrics/Interactive.ts +0 -88
  306. package/lib/front_end/models/trace/lantern/metrics/LargestContentfulPaint.ts +0 -92
  307. package/lib/front_end/models/trace/lantern/metrics/MaxPotentialFID.ts +0 -72
  308. package/lib/front_end/models/trace/lantern/metrics/Metric.ts +0 -126
  309. package/lib/front_end/models/trace/lantern/metrics/SpeedIndex.ts +0 -126
  310. package/lib/front_end/models/trace/lantern/metrics/TBTUtils.ts +0 -82
  311. package/lib/front_end/models/trace/lantern/metrics/TotalBlockingTime.ts +0 -112
  312. package/lib/front_end/models/trace/lantern/metrics/metrics.ts +0 -12
  313. package/lib/front_end/models/trace/lantern/simulation/ConnectionPool.ts +0 -150
  314. package/lib/front_end/models/trace/lantern/simulation/Constants.ts +0 -46
  315. package/lib/front_end/models/trace/lantern/simulation/DNSCache.ts +0 -61
  316. package/lib/front_end/models/trace/lantern/simulation/SimulationTimingMap.ts +0 -196
  317. package/lib/front_end/models/trace/lantern/simulation/Simulator.ts +0 -556
  318. package/lib/front_end/models/trace/lantern/simulation/TCPConnection.ts +0 -192
  319. package/lib/front_end/models/trace/lantern/simulation/simulation.ts +0 -10
  320. package/lib/front_end/models/trace/lantern/types/Lantern.ts +0 -220
  321. package/lib/front_end/models/trace/lantern/types/types.ts +0 -5
  322. package/lib/front_end/models/trace/trace.ts +0 -33
  323. package/lib/front_end/models/trace/types/Configuration.ts +0 -110
  324. package/lib/front_end/models/trace/types/Extensions.ts +0 -136
  325. package/lib/front_end/models/trace/types/File.ts +0 -281
  326. package/lib/front_end/models/trace/types/Overlays.ts +0 -138
  327. package/lib/front_end/models/trace/types/Timing.ts +0 -30
  328. package/lib/front_end/models/trace/types/TraceEvents.ts +0 -3277
  329. package/lib/front_end/models/trace/types/types.ts +0 -10
  330. package/lib/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +0 -240
  331. package/lib/front_end/models/trace_source_maps_resolver/trace_source_maps_resolver.ts +0 -5
  332. package/lib/front_end/models/workspace/FileManager.ts +0 -97
  333. package/lib/front_end/models/workspace/IgnoreListManager.ts +0 -628
  334. package/lib/front_end/models/workspace/SearchConfig.ts +0 -149
  335. package/lib/front_end/models/workspace/UISourceCode.ts +0 -698
  336. package/lib/front_end/models/workspace/WorkspaceImpl.ts +0 -339
  337. package/lib/front_end/models/workspace/workspace.ts +0 -17
  338. package/lib/front_end/panels/timeline/TimelineUIUtils.ts +0 -1029
  339. package/lib/front_end/panels/timeline/extensions/ExtensionUI.ts +0 -49
  340. package/lib/front_end/panels/timeline/extensions/extensions.ts +0 -9
  341. package/lib/front_end/third_party/codemirror.next/LICENSE +0 -21
  342. package/lib/front_end/third_party/codemirror.next/README.chromium +0 -30
  343. package/lib/front_end/third_party/codemirror.next/bundle-tsconfig.json +0 -24
  344. package/lib/front_end/third_party/codemirror.next/bundle.ts +0 -135
  345. package/lib/front_end/third_party/codemirror.next/chunk/angular.js +0 -2
  346. package/lib/front_end/third_party/codemirror.next/chunk/angular.js.map +0 -1
  347. package/lib/front_end/third_party/codemirror.next/chunk/codemirror.js +0 -2
  348. package/lib/front_end/third_party/codemirror.next/chunk/codemirror.js.map +0 -1
  349. package/lib/front_end/third_party/codemirror.next/chunk/cpp.js +0 -2
  350. package/lib/front_end/third_party/codemirror.next/chunk/cpp.js.map +0 -1
  351. package/lib/front_end/third_party/codemirror.next/chunk/css.js +0 -2
  352. package/lib/front_end/third_party/codemirror.next/chunk/html.js +0 -4
  353. package/lib/front_end/third_party/codemirror.next/chunk/java.js +0 -2
  354. package/lib/front_end/third_party/codemirror.next/chunk/java.js.map +0 -1
  355. package/lib/front_end/third_party/codemirror.next/chunk/javascript.js +0 -2
  356. package/lib/front_end/third_party/codemirror.next/chunk/legacy.js +0 -2
  357. package/lib/front_end/third_party/codemirror.next/chunk/legacy.js.map +0 -1
  358. package/lib/front_end/third_party/codemirror.next/chunk/less.js +0 -2
  359. package/lib/front_end/third_party/codemirror.next/chunk/less.js.map +0 -1
  360. package/lib/front_end/third_party/codemirror.next/chunk/markdown.js +0 -2
  361. package/lib/front_end/third_party/codemirror.next/chunk/markdown.js.map +0 -1
  362. package/lib/front_end/third_party/codemirror.next/chunk/php.js +0 -2
  363. package/lib/front_end/third_party/codemirror.next/chunk/php.js.map +0 -1
  364. package/lib/front_end/third_party/codemirror.next/chunk/python.js +0 -2
  365. package/lib/front_end/third_party/codemirror.next/chunk/python.js.map +0 -1
  366. package/lib/front_end/third_party/codemirror.next/chunk/sass.js +0 -2
  367. package/lib/front_end/third_party/codemirror.next/chunk/sass.js.map +0 -1
  368. package/lib/front_end/third_party/codemirror.next/chunk/svelte.js +0 -2
  369. package/lib/front_end/third_party/codemirror.next/chunk/svelte.js.map +0 -1
  370. package/lib/front_end/third_party/codemirror.next/chunk/vue.js +0 -2
  371. package/lib/front_end/third_party/codemirror.next/chunk/vue.js.map +0 -1
  372. package/lib/front_end/third_party/codemirror.next/chunk/wast.js +0 -2
  373. package/lib/front_end/third_party/codemirror.next/chunk/wast.js.map +0 -1
  374. package/lib/front_end/third_party/codemirror.next/chunk/xml.js +0 -2
  375. package/lib/front_end/third_party/codemirror.next/chunk/xml.js.map +0 -1
  376. package/lib/front_end/third_party/codemirror.next/codemirror.next.d.ts +0 -8057
  377. package/lib/front_end/third_party/codemirror.next/codemirror.next.js +0 -2
  378. package/lib/front_end/third_party/codemirror.next/codemirror.next.js.map +0 -1
  379. package/lib/front_end/third_party/codemirror.next/package.json +0 -43
  380. package/lib/front_end/third_party/codemirror.next/rebuild.sh +0 -6
  381. package/lib/front_end/third_party/codemirror.next/rollup.config.mjs +0 -49
  382. package/lib/front_end/third_party/i18n/LICENSE +0 -202
  383. package/lib/front_end/third_party/i18n/README.chromium +0 -15
  384. package/lib/front_end/third_party/i18n/i18n-impl.ts +0 -61
  385. package/lib/front_end/third_party/i18n/i18n.ts +0 -11
  386. package/lib/front_end/third_party/i18n/localized-string-set.ts +0 -129
  387. package/lib/front_end/third_party/intl-messageformat/LICENSE +0 -33
  388. package/lib/front_end/third_party/intl-messageformat/README.chromium +0 -24
  389. package/lib/front_end/third_party/intl-messageformat/intl-messageformat-tsconfig.json +0 -16
  390. package/lib/front_end/third_party/intl-messageformat/intl-messageformat.ts +0 -6
  391. package/lib/front_end/third_party/intl-messageformat/package/LICENSE.md +0 -33
  392. package/lib/front_end/third_party/intl-messageformat/package/README.md +0 -3
  393. package/lib/front_end/third_party/intl-messageformat/package/index.d.ts +0 -6
  394. package/lib/front_end/third_party/intl-messageformat/package/index.d.ts.map +0 -1
  395. package/lib/front_end/third_party/intl-messageformat/package/index.js +0 -13
  396. package/lib/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.d.ts +0 -5
  397. package/lib/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.js +0 -1710
  398. package/lib/front_end/third_party/intl-messageformat/package/intl-messageformat.iife.js +0 -1815
  399. package/lib/front_end/third_party/intl-messageformat/package/lib/index.d.ts +0 -6
  400. package/lib/front_end/third_party/intl-messageformat/package/lib/index.d.ts.map +0 -1
  401. package/lib/front_end/third_party/intl-messageformat/package/lib/index.js +0 -10
  402. package/lib/front_end/third_party/intl-messageformat/package/lib/src/core.d.ts +0 -34
  403. package/lib/front_end/third_party/intl-messageformat/package/lib/src/core.d.ts.map +0 -1
  404. package/lib/front_end/third_party/intl-messageformat/package/lib/src/core.js +0 -229
  405. package/lib/front_end/third_party/intl-messageformat/package/lib/src/error.d.ts +0 -28
  406. package/lib/front_end/third_party/intl-messageformat/package/lib/src/error.d.ts.map +0 -1
  407. package/lib/front_end/third_party/intl-messageformat/package/lib/src/error.js +0 -48
  408. package/lib/front_end/third_party/intl-messageformat/package/lib/src/formatters.d.ts +0 -34
  409. package/lib/front_end/third_party/intl-messageformat/package/lib/src/formatters.d.ts.map +0 -1
  410. package/lib/front_end/third_party/intl-messageformat/package/lib/src/formatters.js +0 -179
  411. package/lib/front_end/third_party/intl-messageformat/package/package.json +0 -42
  412. package/lib/front_end/third_party/intl-messageformat/package/src/core.d.ts +0 -34
  413. package/lib/front_end/third_party/intl-messageformat/package/src/core.d.ts.map +0 -1
  414. package/lib/front_end/third_party/intl-messageformat/package/src/core.js +0 -230
  415. package/lib/front_end/third_party/intl-messageformat/package/src/error.d.ts +0 -28
  416. package/lib/front_end/third_party/intl-messageformat/package/src/error.d.ts.map +0 -1
  417. package/lib/front_end/third_party/intl-messageformat/package/src/error.js +0 -51
  418. package/lib/front_end/third_party/intl-messageformat/package/src/formatters.d.ts +0 -34
  419. package/lib/front_end/third_party/intl-messageformat/package/src/formatters.d.ts.map +0 -1
  420. package/lib/front_end/third_party/intl-messageformat/package/src/formatters.js +0 -182
  421. package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/error.d.ts +0 -79
  422. package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/index.d.ts +0 -15
  423. package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/parser.d.ts +0 -153
  424. package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/types.d.ts +0 -139
  425. package/lib/front_end/third_party/legacy-javascript/LICENSE +0 -202
  426. package/lib/front_end/third_party/legacy-javascript/README.chromium +0 -13
  427. package/lib/front_end/third_party/legacy-javascript/legacy-javascript-tsconfig.json +0 -8
  428. package/lib/front_end/third_party/legacy-javascript/legacy-javascript.ts +0 -3
  429. package/lib/front_end/third_party/legacy-javascript/lib/legacy-javascript.d.ts +0 -18
  430. package/lib/front_end/third_party/legacy-javascript/lib/legacy-javascript.js +0 -943
  431. package/lib/front_end/third_party/legacy-javascript/package.json +0 -8
  432. package/lib/front_end/third_party/legacy-javascript/rebuild.sh +0 -9
  433. package/lib/front_end/third_party/source-map-scopes-codec/LICENSE +0 -26
  434. package/lib/front_end/third_party/source-map-scopes-codec/README.chromium +0 -31
  435. package/lib/front_end/third_party/source-map-scopes-codec/package/CONTRIBUTING.md +0 -33
  436. package/lib/front_end/third_party/source-map-scopes-codec/package/LICENSE +0 -26
  437. package/lib/front_end/third_party/source-map-scopes-codec/package/README.md +0 -64
  438. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/builder.d.ts +0 -62
  439. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/builder.d.ts.map +0 -1
  440. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/safe_builder.d.ts +0 -37
  441. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/safe_builder.d.ts.map +0 -1
  442. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/decode/decode.d.ts +0 -29
  443. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/decode/decode.d.ts.map +0 -1
  444. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/encode/encode.d.ts +0 -8
  445. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/encode/encode.d.ts.map +0 -1
  446. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/mod.d.ts +0 -6
  447. package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/mod.d.ts.map +0 -1
  448. package/lib/front_end/third_party/source-map-scopes-codec/package/deno.json +0 -21
  449. package/lib/front_end/third_party/source-map-scopes-codec/package/package.json +0 -14
  450. package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js +0 -196
  451. package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js.map +0 -1
  452. package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.ts +0 -262
  453. package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js +0 -235
  454. package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js.map +0 -1
  455. package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.ts +0 -359
  456. package/lib/front_end/third_party/source-map-scopes-codec/package/src/codec.js +0 -39
  457. package/lib/front_end/third_party/source-map-scopes-codec/package/src/codec.js.map +0 -1
  458. package/lib/front_end/third_party/source-map-scopes-codec/package/src/codec.ts +0 -53
  459. package/lib/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js +0 -438
  460. package/lib/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js.map +0 -1
  461. package/lib/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.ts +0 -539
  462. package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js +0 -23
  463. package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js.map +0 -1
  464. package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.ts +0 -35
  465. package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js +0 -257
  466. package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js.map +0 -1
  467. package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.ts +0 -348
  468. package/lib/front_end/third_party/source-map-scopes-codec/package/src/mod.js +0 -8
  469. package/lib/front_end/third_party/source-map-scopes-codec/package/src/mod.js.map +0 -1
  470. package/lib/front_end/third_party/source-map-scopes-codec/package/src/mod.ts +0 -20
  471. package/lib/front_end/third_party/source-map-scopes-codec/package/src/scopes-tsconfig.json +0 -8
  472. package/lib/front_end/third_party/source-map-scopes-codec/package/src/scopes.d.ts +0 -184
  473. package/lib/front_end/third_party/source-map-scopes-codec/package/src/util.js +0 -9
  474. package/lib/front_end/third_party/source-map-scopes-codec/package/src/util.js.map +0 -1
  475. package/lib/front_end/third_party/source-map-scopes-codec/package/src/util.ts +0 -12
  476. package/lib/front_end/third_party/source-map-scopes-codec/package/src/vlq.js +0 -82
  477. package/lib/front_end/third_party/source-map-scopes-codec/package/src/vlq.js.map +0 -1
  478. package/lib/front_end/third_party/source-map-scopes-codec/package/src/vlq.ts +0 -99
  479. package/lib/front_end/third_party/source-map-scopes-codec/source-map-scopes-codec.ts +0 -5
  480. package/lib/front_end/third_party/third-party-web/LICENSE +0 -20
  481. package/lib/front_end/third_party/third-party-web/README.chromium +0 -13
  482. package/lib/front_end/third_party/third-party-web/lib/nostats-subset.d.ts +0 -2
  483. package/lib/front_end/third_party/third-party-web/lib/nostats-subset.js +0 -149
  484. package/lib/front_end/third_party/third-party-web/package/LICENSE +0 -20
  485. package/lib/front_end/third_party/third-party-web/package/README.md +0 -929
  486. package/lib/front_end/third_party/third-party-web/package/dist/entities-httparchive-nostats.json +0 -1
  487. package/lib/front_end/third_party/third-party-web/package/dist/entities-httparchive.json +0 -1
  488. package/lib/front_end/third_party/third-party-web/package/dist/entities-nostats.json +0 -1
  489. package/lib/front_end/third_party/third-party-web/package/dist/entities.json +0 -1
  490. package/lib/front_end/third_party/third-party-web/package/facades.md +0 -46
  491. package/lib/front_end/third_party/third-party-web/package/httparchive-nostats-subset.d.ts +0 -1
  492. package/lib/front_end/third_party/third-party-web/package/httparchive-nostats-subset.js +0 -1
  493. package/lib/front_end/third_party/third-party-web/package/httparchive-subset.d.ts +0 -1
  494. package/lib/front_end/third_party/third-party-web/package/httparchive-subset.js +0 -1
  495. package/lib/front_end/third_party/third-party-web/package/lib/__snapshots__/index.test.js.snap +0 -1006
  496. package/lib/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.js +0 -139
  497. package/lib/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.test.js +0 -44
  498. package/lib/front_end/third_party/third-party-web/package/lib/entities.test.js +0 -27
  499. package/lib/front_end/third_party/third-party-web/package/lib/index.d.ts +0 -34
  500. package/lib/front_end/third_party/third-party-web/package/lib/index.js +0 -3
  501. package/lib/front_end/third_party/third-party-web/package/lib/index.test.js +0 -246
  502. package/lib/front_end/third_party/third-party-web/package/lib/markdown/faqs.partial.md +0 -36
  503. package/lib/front_end/third_party/third-party-web/package/lib/markdown/goals.partial.md +0 -9
  504. package/lib/front_end/third_party/third-party-web/package/lib/markdown/methodology.partial.md +0 -5
  505. package/lib/front_end/third_party/third-party-web/package/lib/markdown/template.md +0 -151
  506. package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-02-01.md +0 -1
  507. package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-03-01.md +0 -1
  508. package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-05-06.md +0 -1
  509. package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-05-13.md +0 -14
  510. package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2021-01-01.md +0 -1
  511. package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2024-07-01.md +0 -3
  512. package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.d.ts +0 -1
  513. package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.js +0 -3
  514. package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive.d.ts +0 -1
  515. package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive.js +0 -3
  516. package/lib/front_end/third_party/third-party-web/package/lib/subsets/nostats.d.ts +0 -1
  517. package/lib/front_end/third_party/third-party-web/package/lib/subsets/nostats.js +0 -3
  518. package/lib/front_end/third_party/third-party-web/package/nostats-subset.d.ts +0 -1
  519. package/lib/front_end/third_party/third-party-web/package/nostats-subset.js +0 -1
  520. package/lib/front_end/third_party/third-party-web/package/package.json +0 -46
  521. package/lib/front_end/third_party/third-party-web/package.json +0 -8
  522. package/lib/front_end/third_party/third-party-web/rebuild.sh +0 -13
  523. package/lib/front_end/third_party/third-party-web/third-party-web-tsconfig.json +0 -8
  524. package/lib/front_end/third_party/third-party-web/third-party-web.ts +0 -3
  525. package/lib/front_end/ui/legacy/theme_support/ThemeSupport.ts +0 -222
  526. package/lib/front_end/ui/legacy/theme_support/theme_support.ts +0 -5
  527. package/patches/chrome-devtools-frontend+1.0.1533544.patch +0 -1716
@@ -1,1647 +0,0 @@
1
- // Copyright 2021 The Chromium Authors
2
- // Use of this source code is governed by a BSD-style license that can be
3
- // found in the LICENSE file.
4
-
5
- /*
6
- * Copyright (C) 2010 Nikita Vasilyev. All rights reserved.
7
- * Copyright (C) 2010 Joseph Pecoraro. All rights reserved.
8
- * Copyright (C) 2010 Google Inc. All rights reserved.
9
- *
10
- * Redistribution and use in source and binary forms, with or without
11
- * modification, are permitted provided that the following conditions are
12
- * met:
13
- *
14
- * * Redistributions of source code must retain the above copyright
15
- * notice, this list of conditions and the following disclaimer.
16
- * * Redistributions in binary form must reproduce the above
17
- * copyright notice, this list of conditions and the following disclaimer
18
- * in the documentation and/or other materials provided with the
19
- * distribution.
20
- * * Neither the #name of Google Inc. nor the names of its
21
- * contributors may be used to endorse or promote products derived from
22
- * this software without specific prior written permission.
23
- *
24
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
27
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
28
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
29
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
30
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35
- */
36
-
37
- import * as Protocol from '../../generated/protocol.js';
38
- import * as SupportedCSSProperties from '../../generated/SupportedCSSProperties.js';
39
- import * as Common from '../common/common.js';
40
-
41
- export class CSSMetadata {
42
- readonly #values: string[] = [];
43
- readonly #longhands = new Map<string, string[]>();
44
- readonly #shorthands = new Map<string, string[]>();
45
- readonly #inherited = new Set<string>();
46
- readonly #svgProperties = new Set<string>();
47
- readonly #propertyValues = new Map<string, string[]>();
48
- readonly #aliasesFor = new Map<string, string>();
49
- readonly #nameValuePresets: string[] = [];
50
- readonly #nameValuePresetsIncludingSVG: string[] = [];
51
- #valuesSet: Set<string>;
52
-
53
- constructor(properties: CSSPropertyDefinition[], aliasesFor: Map<string, string>) {
54
- this.#aliasesFor = aliasesFor;
55
- for (let i = 0; i < properties.length; ++i) {
56
- const property = properties[i];
57
- const propertyName = property.name;
58
- if (!CSS.supports(propertyName, 'initial')) {
59
- continue;
60
- }
61
- this.#values.push(propertyName);
62
-
63
- if (property.inherited) {
64
- this.#inherited.add(propertyName);
65
- }
66
- if (property.svg) {
67
- this.#svgProperties.add(propertyName);
68
- }
69
-
70
- const longhands = properties[i].longhands;
71
- if (longhands) {
72
- this.#longhands.set(propertyName, longhands);
73
- for (let j = 0; j < longhands.length; ++j) {
74
- const longhandName = longhands[j];
75
- let shorthands = this.#shorthands.get(longhandName);
76
- if (!shorthands) {
77
- shorthands = [];
78
- this.#shorthands.set(longhandName, shorthands);
79
- }
80
- shorthands.push(propertyName);
81
- }
82
- }
83
- }
84
- this.#values.sort(CSSMetadata.sortPrefixesAndCSSWideKeywordsToEnd);
85
- this.#valuesSet = new Set(this.#values);
86
-
87
- // Reads in auto-generated property names and #values from blink/public/renderer/core/css/css_properties.json5
88
- // treats _generatedPropertyValues as basis
89
- const propertyValueSets = new Map<string, Set<string>>();
90
- for (const [propertyName, basisValueObj] of Object.entries(SupportedCSSProperties.generatedPropertyValues)) {
91
- propertyValueSets.set(propertyName, new Set(basisValueObj.values));
92
- }
93
- // and add manually maintained map of extra prop-value pairs
94
- for (const [propertyName, extraValues] of extraPropertyValues) {
95
- const propertyValueSet = propertyValueSets.get(propertyName);
96
- if (propertyValueSet) {
97
- propertyValueSets.set(propertyName, propertyValueSet.union(extraValues));
98
- } else {
99
- propertyValueSets.set(propertyName, extraValues);
100
- }
101
- }
102
- // finally add common keywords to value sets and convert property #values
103
- // into arrays since callers expect arrays
104
- for (const [propertyName, values] of propertyValueSets) {
105
- for (const commonKeyword of CommonKeywords) {
106
- if (!values.has(commonKeyword) && CSS.supports(propertyName, commonKeyword)) {
107
- values.add(commonKeyword);
108
- }
109
- }
110
-
111
- this.#propertyValues.set(propertyName, [...values]);
112
- }
113
-
114
- for (const name of this.#valuesSet) {
115
- const values = this.specificPropertyValues(name)
116
- .filter(value => CSS.supports(name, value))
117
- .sort(CSSMetadata.sortPrefixesAndCSSWideKeywordsToEnd);
118
- const presets = values.map(value => `${name}: ${value}`);
119
- if (!this.isSVGProperty(name)) {
120
- this.#nameValuePresets.push(...presets);
121
- }
122
- this.#nameValuePresetsIncludingSVG.push(...presets);
123
- }
124
- }
125
-
126
- static isCSSWideKeyword(a: string): a is CSSWideKeyword {
127
- return CSSWideKeywords.includes(a as CSSWideKeyword);
128
- }
129
-
130
- static isPositionTryOrderKeyword(a: string): a is PositionTryOrderKeyword {
131
- return PositionTryOrderKeywords.includes(a as PositionTryOrderKeyword);
132
- }
133
-
134
- private static sortPrefixesAndCSSWideKeywordsToEnd(a: string, b: string): 1|- 1|0 {
135
- const aIsCSSWideKeyword = CSSMetadata.isCSSWideKeyword(a);
136
- const bIsCSSWideKeyword = CSSMetadata.isCSSWideKeyword(b);
137
-
138
- if (aIsCSSWideKeyword && !bIsCSSWideKeyword) {
139
- return 1;
140
- }
141
- if (!aIsCSSWideKeyword && bIsCSSWideKeyword) {
142
- return -1;
143
- }
144
-
145
- const aIsPrefixed = a.startsWith('-webkit-');
146
- const bIsPrefixed = b.startsWith('-webkit-');
147
- if (aIsPrefixed && !bIsPrefixed) {
148
- return 1;
149
- }
150
- if (!aIsPrefixed && bIsPrefixed) {
151
- return -1;
152
- }
153
- return a < b ? -1 : (a > b ? 1 : 0);
154
- }
155
-
156
- allProperties(): string[] {
157
- return this.#values;
158
- }
159
-
160
- aliasesFor(): Map<string, string> {
161
- return this.#aliasesFor;
162
- }
163
-
164
- nameValuePresets(includeSVG?: boolean): string[] {
165
- return includeSVG ? this.#nameValuePresetsIncludingSVG : this.#nameValuePresets;
166
- }
167
-
168
- isSVGProperty(name: string): boolean {
169
- name = name.toLowerCase();
170
- return this.#svgProperties.has(name);
171
- }
172
-
173
- getLonghands(shorthand: string): string[]|null {
174
- return this.#longhands.get(shorthand) || null;
175
- }
176
-
177
- getShorthands(longhand: string): string[]|null {
178
- return this.#shorthands.get(longhand) || null;
179
- }
180
-
181
- isColorAwareProperty(propertyName: string): boolean {
182
- return colorAwareProperties.has(propertyName.toLowerCase()) || this.isCustomProperty(propertyName.toLowerCase());
183
- }
184
-
185
- isFontFamilyProperty(propertyName: string): boolean {
186
- return propertyName.toLowerCase() === 'font-family';
187
- }
188
-
189
- isAngleAwareProperty(propertyName: string): boolean {
190
- const lowerCasedName = propertyName.toLowerCase();
191
- // TODO: @Yisi, parse hsl(), hsla(), hwb() and lch()
192
- // See also https://drafts.csswg.org/css-color/#hue-syntax
193
- return colorAwareProperties.has(lowerCasedName) || angleAwareProperties.has(lowerCasedName);
194
- }
195
-
196
- isGridAreaDefiningProperty(propertyName: string): boolean {
197
- propertyName = propertyName.toLowerCase();
198
- return propertyName === 'grid' || propertyName === 'grid-template' || propertyName === 'grid-template-areas';
199
- }
200
-
201
- isGridColumnNameAwareProperty(propertyName: string): boolean {
202
- propertyName = propertyName.toLowerCase();
203
- return ['grid-column', 'grid-column-start', 'grid-column-end'].includes(propertyName);
204
- }
205
-
206
- isGridRowNameAwareProperty(propertyName: string): boolean {
207
- propertyName = propertyName.toLowerCase();
208
- return ['grid-row', 'grid-row-start', 'grid-row-end'].includes(propertyName);
209
- }
210
-
211
- isGridAreaNameAwareProperty(propertyName: string): boolean {
212
- propertyName = propertyName.toLowerCase();
213
- return propertyName === 'grid-area';
214
- }
215
-
216
- isGridNameAwareProperty(propertyName: string): boolean {
217
- return this.isGridAreaNameAwareProperty(propertyName) || this.isGridColumnNameAwareProperty(propertyName) ||
218
- this.isGridRowNameAwareProperty(propertyName);
219
- }
220
-
221
- isLengthProperty(propertyName: string): boolean {
222
- propertyName = propertyName.toLowerCase();
223
- if (propertyName === 'line-height') {
224
- return false;
225
- }
226
- return distanceProperties.has(propertyName) || propertyName.startsWith('margin') ||
227
- propertyName.startsWith('padding') || propertyName.indexOf('width') !== -1 ||
228
- propertyName.indexOf('height') !== -1;
229
- }
230
-
231
- isBezierAwareProperty(propertyName: string): boolean {
232
- propertyName = propertyName.toLowerCase();
233
- return bezierAwareProperties.has(propertyName) || this.isCustomProperty(propertyName);
234
- }
235
-
236
- isFontAwareProperty(propertyName: string): boolean {
237
- propertyName = propertyName.toLowerCase();
238
- return fontAwareProperties.has(propertyName) || this.isCustomProperty(propertyName);
239
- }
240
-
241
- isCustomProperty(propertyName: string): boolean {
242
- return propertyName.startsWith('--');
243
- }
244
-
245
- isShadowProperty(propertyName: string): boolean {
246
- propertyName = propertyName.toLowerCase();
247
- return propertyName === 'box-shadow' || propertyName === 'text-shadow' || propertyName === '-webkit-box-shadow';
248
- }
249
-
250
- isStringProperty(propertyName: string): boolean {
251
- propertyName = propertyName.toLowerCase();
252
- // TODO(crbug.com/1033910): Generalize this to all CSS properties
253
- // that accept <string> #values.
254
- return propertyName === 'content';
255
- }
256
-
257
- canonicalPropertyName(name: string): string {
258
- if (this.isCustomProperty(name)) {
259
- return name;
260
- }
261
- name = name.toLowerCase();
262
-
263
- const aliasFor = this.#aliasesFor.get(name);
264
- if (aliasFor) {
265
- return aliasFor;
266
- }
267
-
268
- if (!name || name.length < 9 || name.charAt(0) !== '-') {
269
- return name;
270
- }
271
- const match = name.match(/(?:-webkit-)(.+)/);
272
- if (!match || !this.#valuesSet.has(match[1])) {
273
- return name;
274
- }
275
- return match[1];
276
- }
277
-
278
- isCSSPropertyName(propertyName: string): boolean {
279
- propertyName = propertyName.toLowerCase();
280
- if ((propertyName.startsWith('--') && propertyName.length > 2) || propertyName.startsWith('-moz-') ||
281
- propertyName.startsWith('-ms-') || propertyName.startsWith('-o-') || propertyName.startsWith('-webkit-')) {
282
- return true;
283
- }
284
- return this.#valuesSet.has(propertyName);
285
- }
286
-
287
- isPropertyInherited(propertyName: string): boolean {
288
- propertyName = propertyName.toLowerCase();
289
- return propertyName.startsWith('--') || this.#inherited.has(this.canonicalPropertyName(propertyName)) ||
290
- this.#inherited.has(propertyName);
291
- }
292
-
293
- private specificPropertyValues(propertyName: string): string[] {
294
- const unprefixedName = propertyName.replace(/^-webkit-/, '');
295
- const propertyValues = this.#propertyValues;
296
- // #propertyValues acts like cache; missing properties are added with possible common keywords
297
- let keywords: (string[]|undefined) = propertyValues.get(propertyName) || propertyValues.get(unprefixedName);
298
- if (!keywords) {
299
- keywords = [];
300
- for (const commonKeyword of CommonKeywords) {
301
- if (CSS.supports(propertyName, commonKeyword)) {
302
- keywords.push(commonKeyword);
303
- }
304
- }
305
- propertyValues.set(propertyName, keywords);
306
- }
307
- return keywords;
308
- }
309
-
310
- getPropertyValues(propertyName: string): string[] {
311
- propertyName = propertyName.toLowerCase();
312
- // Add CSS-wide keywords to all properties.
313
- const acceptedKeywords = [...this.specificPropertyValues(propertyName), ...CSSWideKeywords];
314
-
315
- if (this.isColorAwareProperty(propertyName)) {
316
- acceptedKeywords.push('currentColor');
317
- for (const color of Common.Color.Nicknames.keys()) {
318
- acceptedKeywords.push(color);
319
- }
320
- }
321
- return acceptedKeywords.sort(CSSMetadata.sortPrefixesAndCSSWideKeywordsToEnd);
322
- }
323
-
324
- propertyUsageWeight(property: string): number {
325
- return Weight.get(property) || Weight.get(this.canonicalPropertyName(property)) || 0;
326
- }
327
-
328
- getValuePreset(key: string, value: string): {
329
- text: string,
330
- startColumn: number,
331
- endColumn: number,
332
- }|null {
333
- const values = valuePresets.get(key);
334
- let text: string|(string | null | undefined) = values ? values.get(value) : null;
335
- if (!text) {
336
- return null;
337
- }
338
- let startColumn: number = text.length;
339
- let endColumn: number = text.length;
340
- if (text) {
341
- startColumn = text.indexOf('|');
342
- endColumn = text.lastIndexOf('|');
343
- endColumn = startColumn === endColumn ? endColumn : endColumn - 1;
344
- text = text.replace(/\|/g, '');
345
- }
346
- return {text, startColumn, endColumn};
347
- }
348
-
349
- isHighlightPseudoType(pseudoType: Protocol.DOM.PseudoType): boolean {
350
- return (
351
- pseudoType === Protocol.DOM.PseudoType.Highlight || pseudoType === Protocol.DOM.PseudoType.Selection ||
352
- pseudoType === Protocol.DOM.PseudoType.TargetText || pseudoType === Protocol.DOM.PseudoType.GrammarError ||
353
- pseudoType === Protocol.DOM.PseudoType.SpellingError);
354
- }
355
- }
356
-
357
- export const CubicBezierKeywordValues = new Map([
358
- ['linear', 'cubic-bezier(0, 0, 1, 1)'],
359
- ['ease', 'cubic-bezier(0.25, 0.1, 0.25, 1)'],
360
- ['ease-in', 'cubic-bezier(0.42, 0, 1, 1)'],
361
- ['ease-in-out', 'cubic-bezier(0.42, 0, 0.58, 1)'],
362
- ['ease-out', 'cubic-bezier(0, 0, 0.58, 1)'],
363
- ]);
364
-
365
- /** CSS-wide keywords. **/
366
- export const enum CSSWideKeyword {
367
- INHERIT = 'inherit',
368
- INITIAL = 'initial',
369
- REVERT = 'revert',
370
- REVERT_LAYER = 'revert-layer',
371
- UNSET = 'unset',
372
- }
373
- /**
374
- * Spec: https://drafts.csswg.org/css-cascade/#defaulting-keywords
375
- * https://drafts.csswg.org/css-cascade-5/#revert-layer
376
- **/
377
- export const CSSWideKeywords: CSSWideKeyword[] = [
378
- CSSWideKeyword.INHERIT,
379
- CSSWideKeyword.INITIAL,
380
- CSSWideKeyword.REVERT,
381
- CSSWideKeyword.REVERT_LAYER,
382
- CSSWideKeyword.UNSET,
383
- ];
384
-
385
- /** https://www.w3.org/TR/css-anchor-position-1/#typedef-try-size **/
386
- export const enum PositionTryOrderKeyword {
387
- NORMAL = 'normal',
388
- MOST_HEIGHT = 'most-height',
389
- MOST_WIDTH = 'most-width',
390
- MOST_BLOCK_SIZE = 'most-block-size',
391
- MOST_INLINE_SIZE = 'most-inline-size',
392
- }
393
-
394
- export const PositionTryOrderKeywords: PositionTryOrderKeyword[] = [
395
- PositionTryOrderKeyword.NORMAL,
396
- PositionTryOrderKeyword.MOST_HEIGHT,
397
- PositionTryOrderKeyword.MOST_WIDTH,
398
- PositionTryOrderKeyword.MOST_BLOCK_SIZE,
399
- PositionTryOrderKeyword.MOST_INLINE_SIZE,
400
- ];
401
-
402
- export const VariableNameRegex = /(\s*--.*?)/gs;
403
- export const VariableRegex = /(var\(\s*--.*?\))/gs;
404
- export const CustomVariableRegex = /(var\(*--[\w\d]+-([\w]+-[\w]+)\))/g;
405
- export const URLRegex = /url\(\s*('.+?'|".+?"|[^)]+)\s*\)/g;
406
-
407
- /**
408
- * Matches an instance of a grid area 'row' definition.
409
- * 'grid-template-areas', e.g.
410
- * "a a ."
411
- *
412
- * 'grid', 'grid-template', e.g.
413
- * [track-#name] "a a ." minmax(50px, auto) [track-#name]
414
- */
415
- export const GridAreaRowRegex = /((?:\[[\w\- ]+\]\s*)*(?:"[^"]+"|'[^']+'))[^'"\[]*\[?[^'"\[]*/;
416
-
417
- let cssMetadataInstance: CSSMetadata|null = null;
418
-
419
- export function cssMetadata(): CSSMetadata {
420
- if (!cssMetadataInstance) {
421
- const supportedProperties = (SupportedCSSProperties.generatedProperties as CSSPropertyDefinition[]);
422
- cssMetadataInstance = new CSSMetadata(supportedProperties, SupportedCSSProperties.generatedAliasesFor);
423
- }
424
- return cssMetadataInstance;
425
- }
426
-
427
- /**
428
- * The pipe character '|' indicates where text selection should be set.
429
- */
430
- const imageValuePresetMap = new Map([
431
- ['linear-gradient', 'linear-gradient(|45deg, black, transparent|)'],
432
- ['radial-gradient', 'radial-gradient(|black, transparent|)'],
433
- ['repeating-linear-gradient', 'repeating-linear-gradient(|45deg, black, transparent 100px|)'],
434
- ['repeating-radial-gradient', 'repeating-radial-gradient(|black, transparent 100px|)'],
435
- ['url', 'url(||)'],
436
- ]);
437
-
438
- const filterValuePresetMap = new Map([
439
- ['blur', 'blur(|1px|)'],
440
- ['brightness', 'brightness(|0.5|)'],
441
- ['contrast', 'contrast(|0.5|)'],
442
- ['drop-shadow', 'drop-shadow(|2px 4px 6px black|)'],
443
- ['grayscale', 'grayscale(|1|)'],
444
- ['hue-rotate', 'hue-rotate(|45deg|)'],
445
- ['invert', 'invert(|1|)'],
446
- ['opacity', 'opacity(|0.5|)'],
447
- ['saturate', 'saturate(|0.5|)'],
448
- ['sepia', 'sepia(|1|)'],
449
- ['url', 'url(||)'],
450
- ]);
451
-
452
- const cornerShapeValuePresetMap = new Map([
453
- ['superellipse(0.5)', 'superellipse(|0.5|)'],
454
- ['superellipse(infinity)', 'superellipse(|infinity|)'],
455
- ]);
456
-
457
- const valuePresets = new Map([
458
- ['filter', filterValuePresetMap],
459
- ['backdrop-filter', filterValuePresetMap],
460
- ['background', imageValuePresetMap],
461
- ['background-image', imageValuePresetMap],
462
- ['-webkit-mask-image', imageValuePresetMap],
463
- [
464
- 'transform',
465
- new Map([
466
- ['scale', 'scale(|1.5|)'],
467
- ['scaleX', 'scaleX(|1.5|)'],
468
- ['scaleY', 'scaleY(|1.5|)'],
469
- ['scale3d', 'scale3d(|1.5, 1.5, 1.5|)'],
470
- ['rotate', 'rotate(|45deg|)'],
471
- ['rotateX', 'rotateX(|45deg|)'],
472
- ['rotateY', 'rotateY(|45deg|)'],
473
- ['rotateZ', 'rotateZ(|45deg|)'],
474
- ['rotate3d', 'rotate3d(|1, 1, 1, 45deg|)'],
475
- ['skew', 'skew(|10deg, 10deg|)'],
476
- ['skewX', 'skewX(|10deg|)'],
477
- ['skewY', 'skewY(|10deg|)'],
478
- ['translate', 'translate(|10px, 10px|)'],
479
- ['translateX', 'translateX(|10px|)'],
480
- ['translateY', 'translateY(|10px|)'],
481
- ['translateZ', 'translateZ(|10px|)'],
482
- ['translate3d', 'translate3d(|10px, 10px, 10px|)'],
483
- ['matrix', 'matrix(|1, 0, 0, 1, 0, 0|)'],
484
- ['matrix3d', 'matrix3d(|1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1|)'],
485
- ['perspective', 'perspective(|10px|)'],
486
- ]),
487
- ],
488
- ['corner-shape', cornerShapeValuePresetMap],
489
- ]);
490
-
491
- const distanceProperties = new Set<string>([
492
- 'background-position',
493
- 'border-spacing',
494
- 'bottom',
495
- 'font-size',
496
- 'height',
497
- 'left',
498
- 'letter-spacing',
499
- 'max-height',
500
- 'max-width',
501
- 'min-height',
502
- 'min-width',
503
- 'right',
504
- 'text-indent',
505
- 'top',
506
- 'width',
507
- 'word-spacing',
508
- 'grid-row-gap',
509
- 'grid-column-gap',
510
- 'row-gap',
511
- ]);
512
-
513
- const bezierAwareProperties = new Set<string>([
514
- 'animation',
515
- 'animation-timing-function',
516
- 'transition',
517
- 'transition-timing-function',
518
- '-webkit-animation',
519
- '-webkit-animation-timing-function',
520
- '-webkit-transition',
521
- '-webkit-transition-timing-function',
522
- ]);
523
-
524
- const fontAwareProperties =
525
- new Set<string>(['font-size', 'line-height', 'font-weight', 'font-family', 'letter-spacing']);
526
-
527
- const colorAwareProperties = new Set<string>([
528
- 'accent-color',
529
- 'background',
530
- 'background-color',
531
- 'background-image',
532
- 'border',
533
- 'border-color',
534
- 'border-image',
535
- 'border-image-source',
536
- 'border-bottom',
537
- 'border-bottom-color',
538
- 'border-left',
539
- 'border-left-color',
540
- 'border-right',
541
- 'border-right-color',
542
- 'border-top',
543
- 'border-top-color',
544
- 'border-block',
545
- 'border-block-color',
546
- 'border-block-end',
547
- 'border-block-end-color',
548
- 'border-block-start',
549
- 'border-block-start-color',
550
- 'border-inline',
551
- 'border-inline-color',
552
- 'border-inline-end',
553
- 'border-inline-end-color',
554
- 'border-inline-start',
555
- 'border-inline-start-color',
556
- 'box-shadow',
557
- 'caret-color',
558
- 'color',
559
- 'column-rule',
560
- 'column-rule-color',
561
- 'content',
562
- 'fill',
563
- 'list-style-image',
564
- 'mask',
565
- 'mask-image',
566
- 'mask-border',
567
- 'mask-border-source',
568
- 'outline',
569
- 'outline-color',
570
- 'scrollbar-color',
571
- 'stop-color',
572
- 'stroke',
573
- 'text-decoration-color',
574
- 'text-shadow',
575
- 'text-emphasis',
576
- 'text-emphasis-color',
577
- '-webkit-border-after',
578
- '-webkit-border-after-color',
579
- '-webkit-border-before',
580
- '-webkit-border-before-color',
581
- '-webkit-border-end',
582
- '-webkit-border-end-color',
583
- '-webkit-border-start',
584
- '-webkit-border-start-color',
585
- '-webkit-box-reflect',
586
- '-webkit-box-shadow',
587
- '-webkit-column-rule-color',
588
- '-webkit-mask',
589
- '-webkit-mask-box-image',
590
- '-webkit-mask-box-image-source',
591
- '-webkit-mask-image',
592
- '-webkit-tap-highlight-color',
593
- '-webkit-text-emphasis',
594
- '-webkit-text-emphasis-color',
595
- '-webkit-text-fill-color',
596
- '-webkit-text-stroke',
597
- '-webkit-text-stroke-color',
598
- // For SVG
599
- 'flood-color',
600
- 'lighting-color',
601
- 'stop-color',
602
- ]);
603
-
604
- // In addition to `_colorAwareProperties`, the following properties contain CSS <angle> units.
605
- const angleAwareProperties = new Set<string>([
606
- '-webkit-border-image',
607
- 'transform',
608
- '-webkit-transform',
609
- 'rotate',
610
- 'filter',
611
- '-webkit-filter',
612
- 'backdrop-filter',
613
- 'offset',
614
- 'offset-rotate',
615
- 'font-style',
616
- ]);
617
-
618
- const textEmphasisPosition = new Set([
619
- 'over',
620
- 'under',
621
- 'over right', // Initial value
622
- 'over left',
623
- 'under right',
624
- 'under left',
625
- ]);
626
-
627
- // https://drafts.csswg.org/css-text-decor/#text-emphasis-style-property
628
- const textEmphasisStyle = new Set([
629
- 'none', 'dot', 'circle', 'double-circle', 'triangle', 'sesame', 'filled', 'open', 'dot open', 'circle open',
630
- 'double-circle open', 'triangle open', 'sesame open',
631
- '"❤️"', // <string>
632
- ]);
633
-
634
- // manually maintained list of property #values to add into autocomplete list
635
- const extraPropertyValues = new Map<string, Set<string>>([
636
- ['background-repeat', new Set(['repeat', 'repeat-x', 'repeat-y', 'no-repeat', 'space', 'round'])],
637
- ['content', new Set(['normal', 'close-quote', 'no-close-quote', 'no-open-quote', 'open-quote'])],
638
- ['baseline-shift', new Set(['baseline'])],
639
- ['max-height', new Set(['min-content', 'max-content', '-webkit-fill-available', 'fit-content'])],
640
- ['color', new Set(['black'])],
641
- ['background-color', new Set(['white'])],
642
- ['box-shadow', new Set(['inset'])],
643
- ['text-shadow', new Set(['0 0 black'])],
644
- ['-webkit-writing-mode', new Set(['horizontal-tb', 'vertical-rl', 'vertical-lr'])],
645
- ['writing-mode', new Set(['lr', 'rl', 'tb', 'lr-tb', 'rl-tb', 'tb-rl'])],
646
- ['page-break-inside', new Set(['avoid'])],
647
- ['cursor', new Set(['-webkit-zoom-in', '-webkit-zoom-out', '-webkit-grab', '-webkit-grabbing'])],
648
- ['border-width', new Set(['medium', 'thick', 'thin'])],
649
- ['border-style', new Set(['hidden', 'inset', 'groove', 'ridge', 'outset', 'dotted', 'dashed', 'solid', 'double'])],
650
- ['size', new Set(['a3', 'a4', 'a5', 'b4', 'b5', 'landscape', 'ledger', 'legal', 'letter', 'portrait'])],
651
- ['overflow', new Set(['hidden', 'visible', 'overlay', 'scroll', 'clip'])],
652
- ['overscroll-behavior', new Set(['contain'])],
653
- ['text-rendering', new Set(['optimizeSpeed', 'optimizeLegibility', 'geometricPrecision'])],
654
- ['text-align', new Set(['-webkit-auto', '-webkit-match-parent'])],
655
- ['clip-path', new Set(['circle', 'ellipse', 'inset', 'polygon', 'url'])],
656
- ['color-interpolation', new Set(['sRGB', 'linearRGB'])],
657
- ['word-wrap', new Set(['normal', 'break-word'])],
658
- ['font-weight', new Set(['100', '200', '300', '400', '500', '600', '700', '800', '900'])],
659
- ['text-emphasis', textEmphasisStyle],
660
- ['-webkit-text-emphasis', textEmphasisStyle],
661
- ['color-rendering', new Set(['optimizeSpeed', 'optimizeQuality'])],
662
- ['-webkit-text-combine', new Set(['horizontal'])],
663
- ['text-orientation', new Set(['sideways-right'])],
664
- [
665
- 'outline',
666
- new Set(['inset', 'groove', 'ridge', 'outset', 'dotted', 'dashed', 'solid', 'double', 'medium', 'thick', 'thin']),
667
- ],
668
- [
669
- 'font',
670
- new Set([
671
- 'caption',
672
- 'icon',
673
- 'menu',
674
- 'message-box',
675
- 'small-caption',
676
- '-webkit-mini-control',
677
- '-webkit-small-control',
678
- '-webkit-control',
679
- 'status-bar',
680
- ]),
681
- ],
682
- ['dominant-baseline', new Set(['text-before-edge', 'text-after-edge', 'use-script', 'no-change', 'reset-size'])],
683
- ['text-emphasis-position', textEmphasisPosition],
684
- ['-webkit-text-emphasis-position', textEmphasisPosition],
685
- ['alignment-baseline', new Set(['before-edge', 'after-edge', 'text-before-edge', 'text-after-edge', 'hanging'])],
686
- ['page-break-before', new Set(['left', 'right', 'always', 'avoid'])],
687
- ['border-image', new Set(['repeat', 'stretch', 'space', 'round'])],
688
- [
689
- 'text-decoration',
690
- new Set(['blink', 'line-through', 'overline', 'underline', 'wavy', 'double', 'solid', 'dashed', 'dotted']),
691
- ],
692
- // List taken from https://drafts.csswg.org/css-fonts-4/#generic-font-families
693
- [
694
- 'font-family',
695
- new Set([
696
- 'serif',
697
- 'sans-serif',
698
- 'cursive',
699
- 'fantasy',
700
- 'monospace',
701
- 'system-ui',
702
- 'emoji',
703
- 'math',
704
- 'fangsong',
705
- 'ui-serif',
706
- 'ui-sans-serif',
707
- 'ui-monospace',
708
- 'ui-rounded',
709
- '-webkit-body',
710
- ]),
711
- ],
712
- ['zoom', new Set(['normal'])],
713
- ['max-width', new Set(['min-content', 'max-content', '-webkit-fill-available', 'fit-content'])],
714
- ['-webkit-font-smoothing', new Set(['antialiased', 'subpixel-antialiased'])],
715
- [
716
- 'border',
717
- new Set([
718
- 'hidden',
719
- 'inset',
720
- 'groove',
721
- 'ridge',
722
- 'outset',
723
- 'dotted',
724
- 'dashed',
725
- 'solid',
726
- 'double',
727
- 'medium',
728
- 'thick',
729
- 'thin',
730
- ]),
731
- ],
732
- [
733
- 'font-variant',
734
- new Set([
735
- 'small-caps',
736
- 'normal',
737
- 'common-ligatures',
738
- 'no-common-ligatures',
739
- 'discretionary-ligatures',
740
- 'no-discretionary-ligatures',
741
- 'historical-ligatures',
742
- 'no-historical-ligatures',
743
- 'contextual',
744
- 'no-contextual',
745
- 'all-small-caps',
746
- 'petite-caps',
747
- 'all-petite-caps',
748
- 'unicase',
749
- 'titling-caps',
750
- 'lining-nums',
751
- 'oldstyle-nums',
752
- 'proportional-nums',
753
- 'tabular-nums',
754
- 'diagonal-fractions',
755
- 'stacked-fractions',
756
- 'ordinal',
757
- 'slashed-zero',
758
- 'jis78',
759
- 'jis83',
760
- 'jis90',
761
- 'jis04',
762
- 'simplified',
763
- 'traditional',
764
- 'full-width',
765
- 'proportional-width',
766
- 'ruby',
767
- ]),
768
- ],
769
- ['vertical-align', new Set(['top', 'bottom', '-webkit-baseline-middle'])],
770
- ['page-break-after', new Set(['left', 'right', 'always', 'avoid'])],
771
- ['text-emphasis-style', textEmphasisStyle],
772
- ['-webkit-text-emphasis-style', textEmphasisStyle],
773
- [
774
- 'transform',
775
- new Set([
776
- 'scale', 'scaleX', 'scaleY', 'scale3d', 'rotate', 'rotateX', 'rotateY',
777
- 'rotateZ', 'rotate3d', 'skew', 'skewX', 'skewY', 'translate', 'translateX',
778
- 'translateY', 'translateZ', 'translate3d', 'matrix', 'matrix3d', 'perspective',
779
- ]),
780
- ],
781
- [
782
- 'align-content',
783
- new Set([
784
- 'normal',
785
- 'baseline',
786
- 'space-between',
787
- 'space-around',
788
- 'space-evenly',
789
- 'stretch',
790
- 'center',
791
- 'start',
792
- 'end',
793
- 'flex-start',
794
- 'flex-end',
795
- ]),
796
- ],
797
- [
798
- 'justify-content',
799
- new Set([
800
- 'normal',
801
- 'space-between',
802
- 'space-around',
803
- 'space-evenly',
804
- 'stretch',
805
- 'center',
806
- 'start',
807
- 'end',
808
- 'flex-start',
809
- 'flex-end',
810
- 'left',
811
- 'right',
812
- ]),
813
- ],
814
- [
815
- 'place-content',
816
- new Set([
817
- 'normal',
818
- 'space-between',
819
- 'space-around',
820
- 'space-evenly',
821
- 'stretch',
822
- 'center',
823
- 'start',
824
- 'end',
825
- 'flex-start',
826
- 'flex-end',
827
- 'baseline',
828
- ]),
829
- ],
830
- [
831
- 'align-items',
832
- new Set([
833
- 'normal',
834
- 'stretch',
835
- 'baseline',
836
- 'center',
837
- 'start',
838
- 'end',
839
- 'self-start',
840
- 'self-end',
841
- 'flex-start',
842
- 'flex-end',
843
- 'anchor-center',
844
- ]),
845
- ],
846
- [
847
- 'justify-items',
848
- new Set([
849
- 'normal',
850
- 'stretch',
851
- 'baseline',
852
- 'center',
853
- 'start',
854
- 'end',
855
- 'self-start',
856
- 'self-end',
857
- 'flex-start',
858
- 'flex-end',
859
- 'left',
860
- 'right',
861
- 'legacy',
862
- 'anchor-center',
863
- ]),
864
- ],
865
- [
866
- 'place-items',
867
- new Set([
868
- 'normal',
869
- 'stretch',
870
- 'baseline',
871
- 'center',
872
- 'start',
873
- 'end',
874
- 'self-start',
875
- 'self-end',
876
- 'flex-start',
877
- 'flex-end',
878
- 'anchor-center',
879
- ]),
880
- ],
881
- [
882
- 'align-self',
883
- new Set([
884
- 'normal',
885
- 'stretch',
886
- 'baseline',
887
- 'center',
888
- 'start',
889
- 'end',
890
- 'self-start',
891
- 'self-end',
892
- 'flex-start',
893
- 'flex-end',
894
- 'anchor-center',
895
- ]),
896
- ],
897
- [
898
- 'justify-self',
899
- new Set([
900
- 'normal',
901
- 'stretch',
902
- 'baseline',
903
- 'center',
904
- 'start',
905
- 'end',
906
- 'self-start',
907
- 'self-end',
908
- 'flex-start',
909
- 'flex-end',
910
- 'left',
911
- 'right',
912
- 'anchor-center',
913
- ]),
914
- ],
915
- [
916
- 'place-self',
917
- new Set([
918
- 'normal',
919
- 'stretch',
920
- 'baseline',
921
- 'center',
922
- 'start',
923
- 'end',
924
- 'self-start',
925
- 'self-end',
926
- 'flex-start',
927
- 'flex-end',
928
- 'anchor-center',
929
- ]),
930
- ],
931
- ['perspective-origin', new Set(['left', 'center', 'right', 'top', 'bottom'])],
932
- ['transform-origin', new Set(['left', 'center', 'right', 'top', 'bottom'])],
933
- ['transition-timing-function', new Set(['cubic-bezier', 'steps'])],
934
- ['animation-timing-function', new Set(['cubic-bezier', 'steps'])],
935
- ['-webkit-backface-visibility', new Set(['visible', 'hidden'])],
936
- ['-webkit-column-break-after', new Set(['always', 'avoid'])],
937
- ['-webkit-column-break-before', new Set(['always', 'avoid'])],
938
- ['-webkit-column-break-inside', new Set(['avoid'])],
939
- ['-webkit-column-span', new Set(['all'])],
940
- ['-webkit-column-gap', new Set(['normal'])],
941
- [
942
- 'filter',
943
- new Set([
944
- 'url',
945
- 'blur',
946
- 'brightness',
947
- 'contrast',
948
- 'drop-shadow',
949
- 'grayscale',
950
- 'hue-rotate',
951
- 'invert',
952
- 'opacity',
953
- 'saturate',
954
- 'sepia',
955
- ]),
956
- ],
957
- [
958
- 'backdrop-filter',
959
- new Set([
960
- 'url',
961
- 'blur',
962
- 'brightness',
963
- 'contrast',
964
- 'drop-shadow',
965
- 'grayscale',
966
- 'hue-rotate',
967
- 'invert',
968
- 'opacity',
969
- 'saturate',
970
- 'sepia',
971
- ]),
972
- ],
973
- ['grid-template-columns', new Set(['min-content', 'max-content'])],
974
- ['grid-template-rows', new Set(['min-content', 'max-content'])],
975
- ['grid-auto-flow', new Set(['dense'])],
976
- [
977
- 'background',
978
- new Set([
979
- 'repeat',
980
- 'repeat-x',
981
- 'repeat-y',
982
- 'no-repeat',
983
- 'top',
984
- 'bottom',
985
- 'left',
986
- 'right',
987
- 'center',
988
- 'fixed',
989
- 'local',
990
- 'scroll',
991
- 'space',
992
- 'round',
993
- 'border-box',
994
- 'content-box',
995
- 'padding-box',
996
- 'linear-gradient',
997
- 'radial-gradient',
998
- 'repeating-linear-gradient',
999
- 'repeating-radial-gradient',
1000
- 'url',
1001
- ]),
1002
- ],
1003
- [
1004
- 'background-image',
1005
- new Set(['linear-gradient', 'radial-gradient', 'repeating-linear-gradient', 'repeating-radial-gradient', 'url']),
1006
- ],
1007
- ['background-position', new Set(['top', 'bottom', 'left', 'right', 'center'])],
1008
- ['background-position-x', new Set(['left', 'right', 'center'])],
1009
- ['background-position-y', new Set(['top', 'bottom', 'center'])],
1010
- ['background-repeat-x', new Set(['repeat', 'no-repeat'])],
1011
- ['background-repeat-y', new Set(['repeat', 'no-repeat'])],
1012
- [
1013
- 'border-bottom',
1014
- new Set([
1015
- 'hidden',
1016
- 'inset',
1017
- 'groove',
1018
- 'outset',
1019
- 'ridge',
1020
- 'dotted',
1021
- 'dashed',
1022
- 'solid',
1023
- 'double',
1024
- 'medium',
1025
- 'thick',
1026
- 'thin',
1027
- ]),
1028
- ],
1029
- [
1030
- 'border-left',
1031
- new Set([
1032
- 'hidden',
1033
- 'inset',
1034
- 'groove',
1035
- 'outset',
1036
- 'ridge',
1037
- 'dotted',
1038
- 'dashed',
1039
- 'solid',
1040
- 'double',
1041
- 'medium',
1042
- 'thick',
1043
- 'thin',
1044
- ]),
1045
- ],
1046
- [
1047
- 'border-right',
1048
- new Set([
1049
- 'hidden',
1050
- 'inset',
1051
- 'groove',
1052
- 'outset',
1053
- 'ridge',
1054
- 'dotted',
1055
- 'dashed',
1056
- 'solid',
1057
- 'double',
1058
- 'medium',
1059
- 'thick',
1060
- 'thin',
1061
- ]),
1062
- ],
1063
- [
1064
- 'border-top',
1065
- new Set([
1066
- 'hidden',
1067
- 'inset',
1068
- 'groove',
1069
- 'outset',
1070
- 'ridge',
1071
- 'dotted',
1072
- 'dashed',
1073
- 'solid',
1074
- 'double',
1075
- 'medium',
1076
- 'thick',
1077
- 'thin',
1078
- ]),
1079
- ],
1080
- ['buffered-rendering', new Set(['static', 'dynamic'])],
1081
- ['color-interpolation-filters', new Set(['srgb', 'linearrgb'])],
1082
- [
1083
- 'column-rule',
1084
- new Set([
1085
- 'hidden',
1086
- 'inset',
1087
- 'groove',
1088
- 'outset',
1089
- 'ridge',
1090
- 'dotted',
1091
- 'dashed',
1092
- 'solid',
1093
- 'double',
1094
- 'medium',
1095
- 'thick',
1096
- 'thin',
1097
- ]),
1098
- ],
1099
- ['flex-flow', new Set(['nowrap', 'row', 'row-reverse', 'column', 'column-reverse', 'wrap', 'wrap-reverse'])],
1100
- ['height', new Set(['-webkit-fill-available'])],
1101
- ['inline-size', new Set(['-webkit-fill-available', 'min-content', 'max-content', 'fit-content'])],
1102
- [
1103
- 'list-style',
1104
- new Set([
1105
- 'outside',
1106
- 'inside',
1107
- 'disc',
1108
- 'circle',
1109
- 'square',
1110
- 'decimal',
1111
- 'decimal-leading-zero',
1112
- 'arabic-indic',
1113
- 'bengali',
1114
- 'cambodian',
1115
- 'khmer',
1116
- 'devanagari',
1117
- 'gujarati',
1118
- 'gurmukhi',
1119
- 'kannada',
1120
- 'lao',
1121
- 'malayalam',
1122
- 'mongolian',
1123
- 'myanmar',
1124
- 'oriya',
1125
- 'persian',
1126
- 'urdu',
1127
- 'telugu',
1128
- 'tibetan',
1129
- 'thai',
1130
- 'lower-roman',
1131
- 'upper-roman',
1132
- 'lower-greek',
1133
- 'lower-alpha',
1134
- 'lower-latin',
1135
- 'upper-alpha',
1136
- 'upper-latin',
1137
- 'cjk-earthly-branch',
1138
- 'cjk-heavenly-stem',
1139
- 'ethiopic-halehame',
1140
- 'ethiopic-halehame-am',
1141
- 'ethiopic-halehame-ti-er',
1142
- 'ethiopic-halehame-ti-et',
1143
- 'hangul',
1144
- 'hangul-consonant',
1145
- 'korean-hangul-formal',
1146
- 'korean-hanja-formal',
1147
- 'korean-hanja-informal',
1148
- 'hebrew',
1149
- 'armenian',
1150
- 'lower-armenian',
1151
- 'upper-armenian',
1152
- 'georgian',
1153
- 'cjk-ideographic',
1154
- 'simp-chinese-formal',
1155
- 'simp-chinese-informal',
1156
- 'trad-chinese-formal',
1157
- 'trad-chinese-informal',
1158
- 'hiragana',
1159
- 'katakana',
1160
- 'hiragana-iroha',
1161
- 'katakana-iroha',
1162
- ]),
1163
- ],
1164
- ['max-block-size', new Set(['-webkit-fill-available', 'min-content', 'max-content', 'fit-content'])],
1165
- ['max-inline-size', new Set(['-webkit-fill-available', 'min-content', 'max-content', 'fit-content'])],
1166
- ['min-block-size', new Set(['-webkit-fill-available', 'min-content', 'max-content', 'fit-content'])],
1167
- ['min-height', new Set(['-webkit-fill-available', 'min-content', 'max-content', 'fit-content'])],
1168
- ['min-inline-size', new Set(['-webkit-fill-available', 'min-content', 'max-content', 'fit-content'])],
1169
- ['min-width', new Set(['-webkit-fill-available', 'min-content', 'max-content', 'fit-content'])],
1170
- ['object-position', new Set(['top', 'bottom', 'left', 'right', 'center'])],
1171
- ['shape-outside', new Set(['border-box', 'content-box', 'padding-box', 'margin-box'])],
1172
- [
1173
- '-webkit-appearance',
1174
- new Set([
1175
- 'checkbox',
1176
- 'radio',
1177
- 'push-button',
1178
- 'square-button',
1179
- 'button',
1180
- 'inner-spin-button',
1181
- 'listbox',
1182
- 'media-slider',
1183
- 'media-sliderthumb',
1184
- 'media-volume-slider',
1185
- 'media-volume-sliderthumb',
1186
- 'menulist',
1187
- 'menulist-button',
1188
- 'meter',
1189
- 'progress-bar',
1190
- 'slider-horizontal',
1191
- 'slider-vertical',
1192
- 'sliderthumb-horizontal',
1193
- 'sliderthumb-vertical',
1194
- 'searchfield',
1195
- 'searchfield-cancel-button',
1196
- 'textfield',
1197
- 'textarea',
1198
- ]),
1199
- ],
1200
- [
1201
- '-webkit-border-after',
1202
- new Set([
1203
- 'hidden',
1204
- 'inset',
1205
- 'groove',
1206
- 'outset',
1207
- 'ridge',
1208
- 'dotted',
1209
- 'dashed',
1210
- 'solid',
1211
- 'double',
1212
- 'medium',
1213
- 'thick',
1214
- 'thin',
1215
- ]),
1216
- ],
1217
- [
1218
- '-webkit-border-after-style',
1219
- new Set(['hidden', 'inset', 'groove', 'outset', 'ridge', 'dotted', 'dashed', 'solid', 'double']),
1220
- ],
1221
- ['-webkit-border-after-width', new Set(['medium', 'thick', 'thin'])],
1222
- [
1223
- '-webkit-border-before',
1224
- new Set([
1225
- 'hidden',
1226
- 'inset',
1227
- 'groove',
1228
- 'outset',
1229
- 'ridge',
1230
- 'dotted',
1231
- 'dashed',
1232
- 'solid',
1233
- 'double',
1234
- 'medium',
1235
- 'thick',
1236
- 'thin',
1237
- ]),
1238
- ],
1239
- [
1240
- '-webkit-border-before-style',
1241
- new Set(['hidden', 'inset', 'groove', 'outset', 'ridge', 'dotted', 'dashed', 'solid', 'double']),
1242
- ],
1243
- ['-webkit-border-before-width', new Set(['medium', 'thick', 'thin'])],
1244
- [
1245
- '-webkit-border-end',
1246
- new Set([
1247
- 'hidden',
1248
- 'inset',
1249
- 'groove',
1250
- 'outset',
1251
- 'ridge',
1252
- 'dotted',
1253
- 'dashed',
1254
- 'solid',
1255
- 'double',
1256
- 'medium',
1257
- 'thick',
1258
- 'thin',
1259
- ]),
1260
- ],
1261
- [
1262
- '-webkit-border-end-style',
1263
- new Set(['hidden', 'inset', 'groove', 'outset', 'ridge', 'dotted', 'dashed', 'solid', 'double']),
1264
- ],
1265
- ['-webkit-border-end-width', new Set(['medium', 'thick', 'thin'])],
1266
- [
1267
- '-webkit-border-start',
1268
- new Set([
1269
- 'hidden',
1270
- 'inset',
1271
- 'groove',
1272
- 'outset',
1273
- 'ridge',
1274
- 'dotted',
1275
- 'dashed',
1276
- 'solid',
1277
- 'double',
1278
- 'medium',
1279
- 'thick',
1280
- 'thin',
1281
- ]),
1282
- ],
1283
- [
1284
- '-webkit-border-start-style',
1285
- new Set(['hidden', 'inset', 'groove', 'outset', 'ridge', 'dotted', 'dashed', 'solid', 'double']),
1286
- ],
1287
- ['-webkit-border-start-width', new Set(['medium', 'thick', 'thin'])],
1288
- ['-webkit-logical-height', new Set(['-webkit-fill-available', 'min-content', 'max-content', 'fit-content'])],
1289
- ['-webkit-logical-width', new Set(['-webkit-fill-available', 'min-content', 'max-content', 'fit-content'])],
1290
- ['-webkit-mask-box-image', new Set(['repeat', 'stretch', 'space', 'round'])],
1291
- ['-webkit-mask-box-image-repeat', new Set(['repeat', 'stretch', 'space', 'round'])],
1292
- ['-webkit-mask-clip', new Set(['text', 'border', 'border-box', 'content', 'content-box', 'padding', 'padding-box'])],
1293
- [
1294
- '-webkit-mask-composite',
1295
- new Set([
1296
- 'clear',
1297
- 'copy',
1298
- 'source-over',
1299
- 'source-in',
1300
- 'source-out',
1301
- 'source-atop',
1302
- 'destination-over',
1303
- 'destination-in',
1304
- 'destination-out',
1305
- 'destination-atop',
1306
- 'xor',
1307
- 'plus-lighter',
1308
- ]),
1309
- ],
1310
- [
1311
- '-webkit-mask-image',
1312
- new Set(['linear-gradient', 'radial-gradient', 'repeating-linear-gradient', 'repeating-radial-gradient', 'url']),
1313
- ],
1314
- ['-webkit-mask-origin', new Set(['border', 'border-box', 'content', 'content-box', 'padding', 'padding-box'])],
1315
- ['-webkit-mask-position', new Set(['top', 'bottom', 'left', 'right', 'center'])],
1316
- ['-webkit-mask-position-x', new Set(['left', 'right', 'center'])],
1317
- ['-webkit-mask-position-y', new Set(['top', 'bottom', 'center'])],
1318
- ['-webkit-mask-repeat', new Set(['repeat', 'repeat-x', 'repeat-y', 'no-repeat', 'space', 'round'])],
1319
- ['-webkit-mask-size', new Set(['contain', 'cover'])],
1320
- ['-webkit-max-logical-height', new Set(['-webkit-fill-available', 'min-content', 'max-content', 'fit-content'])],
1321
- ['-webkit-max-logical-width', new Set(['-webkit-fill-available', 'min-content', 'max-content', 'fit-content'])],
1322
- ['-webkit-min-logical-height', new Set(['-webkit-fill-available', 'min-content', 'max-content', 'fit-content'])],
1323
- ['-webkit-min-logical-width', new Set(['-webkit-fill-available', 'min-content', 'max-content', 'fit-content'])],
1324
- ['-webkit-perspective-origin-x', new Set(['left', 'right', 'center'])],
1325
- ['-webkit-perspective-origin-y', new Set(['top', 'bottom', 'center'])],
1326
- ['-webkit-text-decorations-in-effect', new Set(['blink', 'line-through', 'overline', 'underline'])],
1327
- ['-webkit-text-stroke', new Set(['medium', 'thick', 'thin'])],
1328
- ['-webkit-text-stroke-width', new Set(['medium', 'thick', 'thin'])],
1329
- ['-webkit-transform-origin-x', new Set(['left', 'right', 'center'])],
1330
- ['-webkit-transform-origin-y', new Set(['top', 'bottom', 'center'])],
1331
- ['width', new Set(['-webkit-fill-available'])],
1332
- ['contain-intrinsic-width', new Set(['auto none', 'auto 100px'])],
1333
- ['contain-intrinsic-height', new Set(['auto none', 'auto 100px'])],
1334
- ['contain-intrinsic-size', new Set(['auto none', 'auto 100px'])],
1335
- ['contain-intrinsic-inline-size', new Set(['auto none', 'auto 100px'])],
1336
- ['contain-intrinsic-block-size', new Set(['auto none', 'auto 100px'])],
1337
- // Due to some compatibility issues[1] with Chrome's implementation[2],
1338
- // only a few legacy values are added here.
1339
- // [1]: https://github.com/w3c/csswg-drafts/issues/9102#issuecomment-1807453214
1340
- // [2]: https://chromium-review.googlesource.com/c/chromium/src/+/4232738
1341
- [
1342
- 'white-space',
1343
- new Set([
1344
- 'normal', // equal to: `collapse wrap`
1345
- 'pre', // equal to: `preserve nowrap`
1346
- 'pre-wrap', // equal to: `preserve wrap`
1347
- 'pre-line', // equal to: `preserve-breaks wrap`
1348
- 'nowrap', // equal to: `collapse nowrap`
1349
- 'break-spaces', // equal to: `break-spaces wrap`, Chrome 76, crbug.com/767634#c28
1350
- ]),
1351
- ],
1352
- // https://drafts.csswg.org/css-inline-3/#text-box-edge
1353
- // Now we're going to allow the following rule:
1354
- // auto | [ text | cap | ex ] [ text | alphabetic ]?
1355
- // ideographic and ideographic-ink are not implemented yet.
1356
- // We don't add values like `cap text` because that is equivalent to `text`.
1357
- [
1358
- 'text-box-edge',
1359
- new Set([
1360
- 'auto',
1361
- 'text',
1362
- 'cap',
1363
- 'ex',
1364
- 'text alphabetic',
1365
- 'cap alphabetic',
1366
- 'ex alphabetic',
1367
- ]),
1368
- ],
1369
- [
1370
- 'corner-shape',
1371
- new Set([
1372
- 'round',
1373
- 'scoop',
1374
- 'bevel',
1375
- 'notch',
1376
- 'square',
1377
- 'squircle',
1378
- 'superellipse(0.5)',
1379
- 'superellipse(infinity)',
1380
- ]),
1381
- ],
1382
- ]);
1383
-
1384
- // Weight of CSS properties based on their usage from https://www.chromestatus.com/metrics/css/popularity
1385
- const Weight = new Map([
1386
- ['align-content', 57],
1387
- ['align-items', 129],
1388
- ['align-self', 55],
1389
- ['animation', 175],
1390
- ['animation-delay', 114],
1391
- ['animation-direction', 113],
1392
- ['animation-duration', 137],
1393
- ['animation-fill-mode', 132],
1394
- ['animation-iteration-count', 124],
1395
- ['animation-name', 139],
1396
- ['animation-play-state', 104],
1397
- ['animation-timing-function', 141],
1398
- ['backface-visibility', 123],
1399
- ['background', 260],
1400
- ['background-attachment', 119],
1401
- ['background-clip', 165],
1402
- ['background-color', 259],
1403
- ['background-image', 246],
1404
- ['background-origin', 107],
1405
- ['background-position', 237],
1406
- ['background-position-x', 108],
1407
- ['background-position-y', 93],
1408
- ['background-repeat', 234],
1409
- ['background-size', 203],
1410
- ['border', 263],
1411
- ['border-bottom', 233],
1412
- ['border-bottom-color', 190],
1413
- ['border-bottom-left-radius', 186],
1414
- ['border-bottom-right-radius', 185],
1415
- ['border-bottom-style', 150],
1416
- ['border-bottom-width', 179],
1417
- ['border-collapse', 209],
1418
- ['border-color', 226],
1419
- ['border-image', 89],
1420
- ['border-image-outset', 50],
1421
- ['border-image-repeat', 49],
1422
- ['border-image-slice', 58],
1423
- ['border-image-source', 32],
1424
- ['border-image-width', 52],
1425
- ['border-left', 221],
1426
- ['border-left-color', 174],
1427
- ['border-left-style', 142],
1428
- ['border-left-width', 172],
1429
- ['border-radius', 224],
1430
- ['border-right', 223],
1431
- ['border-right-color', 182],
1432
- ['border-right-style', 130],
1433
- ['border-right-width', 178],
1434
- ['border-spacing', 198],
1435
- ['border-style', 206],
1436
- ['border-top', 231],
1437
- ['border-top-color', 192],
1438
- ['border-top-left-radius', 187],
1439
- ['border-top-right-radius', 189],
1440
- ['border-top-style', 152],
1441
- ['border-top-width', 180],
1442
- ['border-width', 214],
1443
- ['bottom', 227],
1444
- ['box-shadow', 213],
1445
- ['box-sizing', 216],
1446
- ['caption-side', 96],
1447
- ['clear', 229],
1448
- ['clip', 173],
1449
- ['clip-rule', 5],
1450
- ['color', 256],
1451
- ['content', 219],
1452
- ['counter-increment', 111],
1453
- ['counter-reset', 110],
1454
- ['cursor', 250],
1455
- ['direction', 176],
1456
- ['display', 262],
1457
- ['empty-cells', 99],
1458
- ['fill', 140],
1459
- ['fill-opacity', 82],
1460
- ['fill-rule', 22],
1461
- ['filter', 160],
1462
- ['flex', 133],
1463
- ['flex-basis', 66],
1464
- ['flex-direction', 85],
1465
- ['flex-flow', 94],
1466
- ['flex-grow', 112],
1467
- ['flex-shrink', 61],
1468
- ['flex-wrap', 68],
1469
- ['float', 252],
1470
- ['font', 211],
1471
- ['font-family', 254],
1472
- ['font-kerning', 18],
1473
- ['font-size', 264],
1474
- ['font-stretch', 77],
1475
- ['font-style', 220],
1476
- ['font-variant', 161],
1477
- ['font-weight', 257],
1478
- ['height', 266],
1479
- ['image-rendering', 90],
1480
- ['justify-content', 127],
1481
- ['left', 248],
1482
- ['letter-spacing', 188],
1483
- ['line-height', 244],
1484
- ['list-style', 215],
1485
- ['list-style-image', 145],
1486
- ['list-style-position', 149],
1487
- ['list-style-type', 199],
1488
- ['margin', 267],
1489
- ['margin-bottom', 241],
1490
- ['margin-left', 243],
1491
- ['margin-right', 238],
1492
- ['margin-top', 253],
1493
- ['mask', 20],
1494
- ['max-height', 205],
1495
- ['max-width', 225],
1496
- ['min-height', 217],
1497
- ['min-width', 218],
1498
- ['object-fit', 33],
1499
- ['opacity', 251],
1500
- ['order', 117],
1501
- ['orphans', 146],
1502
- ['outline', 222],
1503
- ['outline-color', 153],
1504
- ['outline-offset', 147],
1505
- ['outline-style', 151],
1506
- ['outline-width', 148],
1507
- ['overflow', 255],
1508
- ['overflow-wrap', 105],
1509
- ['overflow-x', 184],
1510
- ['overflow-y', 196],
1511
- ['padding', 265],
1512
- ['padding-bottom', 230],
1513
- ['padding-left', 235],
1514
- ['padding-right', 232],
1515
- ['padding-top', 240],
1516
- ['page', 8],
1517
- ['page-break-after', 120],
1518
- ['page-break-before', 69],
1519
- ['page-break-inside', 121],
1520
- ['perspective', 92],
1521
- ['perspective-origin', 103],
1522
- ['pointer-events', 183],
1523
- ['position', 261],
1524
- ['quotes', 158],
1525
- ['resize', 168],
1526
- ['right', 245],
1527
- ['shape-rendering', 38],
1528
- ['size', 64],
1529
- ['speak', 118],
1530
- ['src', 170],
1531
- ['stop-color', 42],
1532
- ['stop-opacity', 31],
1533
- ['stroke', 98],
1534
- ['stroke-dasharray', 36],
1535
- ['stroke-dashoffset', 3],
1536
- ['stroke-linecap', 30],
1537
- ['stroke-linejoin', 21],
1538
- ['stroke-miterlimit', 12],
1539
- ['stroke-opacity', 34],
1540
- ['stroke-width', 87],
1541
- ['table-layout', 171],
1542
- ['tab-size', 46],
1543
- ['text-align', 260],
1544
- ['text-anchor', 35],
1545
- ['text-decoration', 247],
1546
- ['text-indent', 207],
1547
- ['text-overflow', 204],
1548
- ['text-rendering', 155],
1549
- ['text-shadow', 208],
1550
- ['text-transform', 202],
1551
- ['top', 258],
1552
- ['touch-action', 80],
1553
- ['transform', 181],
1554
- ['transform-origin', 162],
1555
- ['transform-style', 86],
1556
- ['transition', 193],
1557
- ['transition-delay', 134],
1558
- ['transition-duration', 135],
1559
- ['transition-property', 131],
1560
- ['transition-timing-function', 122],
1561
- ['unicode-bidi', 156],
1562
- ['unicode-range', 136],
1563
- ['vertical-align', 236],
1564
- ['visibility', 242],
1565
- ['-webkit-appearance', 191],
1566
- ['-webkit-backface-visibility', 154],
1567
- ['-webkit-background-clip', 164],
1568
- ['-webkit-background-origin', 40],
1569
- ['-webkit-background-size', 163],
1570
- ['-webkit-border-end', 9],
1571
- ['-webkit-border-horizontal-spacing', 81],
1572
- ['-webkit-border-image', 75],
1573
- ['-webkit-border-radius', 212],
1574
- ['-webkit-border-start', 10],
1575
- ['-webkit-border-start-color', 16],
1576
- ['-webkit-border-start-width', 13],
1577
- ['-webkit-border-vertical-spacing', 43],
1578
- ['-webkit-box-align', 101],
1579
- ['-webkit-box-direction', 51],
1580
- ['-webkit-box-flex', 128],
1581
- ['-webkit-box-ordinal-group', 91],
1582
- ['-webkit-box-orient', 144],
1583
- ['-webkit-box-pack', 106],
1584
- ['-webkit-box-reflect', 39],
1585
- ['-webkit-box-shadow', 210],
1586
- ['-webkit-column-break-inside', 60],
1587
- ['-webkit-column-count', 84],
1588
- ['-webkit-column-gap', 76],
1589
- ['-webkit-column-rule', 25],
1590
- ['-webkit-column-rule-color', 23],
1591
- ['-webkit-columns', 44],
1592
- ['-webkit-column-span', 29],
1593
- ['-webkit-column-width', 47],
1594
- ['-webkit-filter', 159],
1595
- ['-webkit-font-feature-settings', 59],
1596
- ['-webkit-font-smoothing', 177],
1597
- ['-webkit-line-break', 45],
1598
- ['-webkit-line-clamp', 126],
1599
- ['-webkit-margin-after', 67],
1600
- ['-webkit-margin-before', 70],
1601
- ['-webkit-margin-collapse', 14],
1602
- ['-webkit-margin-end', 65],
1603
- ['-webkit-margin-start', 100],
1604
- ['-webkit-mask', 19],
1605
- ['-webkit-mask-box-image', 72],
1606
- ['-webkit-mask-image', 88],
1607
- ['-webkit-mask-position', 54],
1608
- ['-webkit-mask-repeat', 63],
1609
- ['-webkit-mask-size', 79],
1610
- ['-webkit-padding-after', 15],
1611
- ['-webkit-padding-before', 28],
1612
- ['-webkit-padding-end', 48],
1613
- ['-webkit-padding-start', 73],
1614
- ['-webkit-print-color-adjust', 83],
1615
- ['-webkit-rtl-ordering', 7],
1616
- ['-webkit-tap-highlight-color', 169],
1617
- ['-webkit-text-emphasis-color', 11],
1618
- ['-webkit-text-fill-color', 71],
1619
- ['-webkit-text-security', 17],
1620
- ['-webkit-text-stroke', 56],
1621
- ['-webkit-text-stroke-color', 37],
1622
- ['-webkit-text-stroke-width', 53],
1623
- ['-webkit-user-drag', 95],
1624
- ['-webkit-user-modify', 62],
1625
- ['-webkit-user-select', 194],
1626
- ['-webkit-writing-mode', 4],
1627
- ['white-space', 228],
1628
- ['widows', 115],
1629
- ['width', 268],
1630
- ['will-change', 74],
1631
- ['word-break', 166],
1632
- ['word-spacing', 157],
1633
- ['word-wrap', 197],
1634
- ['writing-mode', 41],
1635
- ['z-index', 239],
1636
- ['zoom', 200],
1637
- ]);
1638
-
1639
- // Common keywords to CSS properties
1640
- const CommonKeywords = ['auto', 'none'];
1641
-
1642
- export interface CSSPropertyDefinition {
1643
- name: string;
1644
- longhands: string[]|null;
1645
- inherited: boolean|null;
1646
- svg: boolean|null;
1647
- }