chrome-devtools-mcp 0.10.0 → 0.10.2

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 (329) hide show
  1. package/README.md +10 -0
  2. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Debouncer.js +2 -2
  3. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Gzip.js +1 -1
  4. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Revealer.js +5 -0
  5. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Settings.js +106 -98
  6. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Throttler.js +2 -2
  7. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/common.js +1 -2
  8. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/AidaClient.js +2 -2
  9. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/DispatchHttpRequestClient.js +15 -3
  10. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/GdpClient.js +4 -0
  11. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHost.js +10 -13
  12. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/UserMetrics.js +3 -0
  13. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/ByteUtilities.js +72 -0
  14. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/DevToolsLocale.js +64 -0
  15. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/NumberFormatter.js +67 -0
  16. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/collect-ui-strings.js +73 -0
  17. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/generate-locales-js.js +51 -0
  18. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/i18n.js +9 -60
  19. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/i18nImpl.js +135 -0
  20. package/build/node_modules/chrome-devtools-frontend/front_end/core/{common/QueryParamHandler.js → i18n/i18nTypes.js} +1 -1
  21. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/locales.js +14 -0
  22. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/time-utilities.js +148 -0
  23. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/DevToolsCDPConnection.js +138 -0
  24. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/InspectorBackend.js +19 -150
  25. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/protocol_client.js +2 -2
  26. package/build/node_modules/chrome-devtools-frontend/front_end/core/root/DevToolsContext.js +50 -0
  27. package/build/node_modules/chrome-devtools-frontend/front_end/core/root/root.js +2 -1
  28. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CPUThrottlingManager.js +0 -3
  29. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMatchedStyles.js +6 -7
  30. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSModel.js +1 -1
  31. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSRule.js +14 -4
  32. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ChildTargetManager.js +1 -2
  33. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DebuggerModel.js +1 -16
  34. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IOModel.js +1 -4
  35. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/NetworkManager.js +18 -9
  36. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/NetworkRequest.js +0 -8
  37. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RemoteObject.js +3 -0
  38. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerSentEventsProtocol.js +3 -0
  39. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Target.js +1 -3
  40. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/TargetManager.js +4 -5
  41. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/sdk-meta.js +0 -30
  42. package/build/node_modules/chrome-devtools-frontend/front_end/foundation/Universe.js +30 -0
  43. package/build/node_modules/chrome-devtools-frontend/front_end/foundation/foundation.js +5 -0
  44. package/build/node_modules/chrome-devtools-frontend/front_end/generated/Deprecation.js +8 -14
  45. package/build/node_modules/chrome-devtools-frontend/front_end/generated/InspectorBackendCommands.js +9 -6
  46. package/build/node_modules/chrome-devtools-frontend/front_end/generated/SupportedCSSProperties.js +62 -8
  47. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.js +86 -51
  48. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AIQueries.js +46 -2
  49. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/CSSWorkspaceBinding.js +6 -5
  50. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/CompilerScriptMapping.js +3 -1
  51. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DebuggerWorkspaceBinding.js +17 -14
  52. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceMapping.js +46 -14
  53. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/AttributionReportingIssue.js +202 -0
  54. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/BounceTrackingIssue.js +57 -0
  55. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CheckFormsIssuesTrigger.js +31 -0
  56. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ClientHintIssue.js +76 -0
  57. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ContentSecurityPolicyIssue.js +140 -0
  58. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ContrastCheckTrigger.js +59 -0
  59. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CookieDeprecationMetadataIssue.js +64 -0
  60. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CookieIssue.js +513 -0
  61. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CorsIssue.js +251 -0
  62. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.js +112 -0
  63. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/DeprecationIssue.js +95 -0
  64. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ElementAccessibilityIssue.js +100 -0
  65. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/FederatedAuthRequestIssue.js +236 -0
  66. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.js +146 -0
  67. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/GenericIssue.js +197 -0
  68. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/HeavyAdIssue.js +57 -0
  69. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/Issue.js +147 -0
  70. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssueAggregator.js +309 -0
  71. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssueResolver.js +40 -0
  72. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssuesManager.js +416 -0
  73. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssuesManagerEvents.js +4 -0
  74. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/LowTextContrastIssue.js +53 -0
  75. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/MarkdownIssueDescription.js +104 -0
  76. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/MixedContentIssue.js +59 -0
  77. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/PartitioningBlobURLIssue.js +63 -0
  78. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/PropertyRuleIssue.js +63 -0
  79. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/QuirksModeIssue.js +53 -0
  80. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/RelatedIssue.js +70 -0
  81. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SRIMessageSignatureIssue.js +91 -0
  82. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SharedArrayBufferIssue.js +54 -0
  83. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SharedDictionaryIssue.js +297 -0
  84. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SourceFrameIssuesManager.js +81 -0
  85. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/StylesheetLoadingIssue.js +63 -0
  86. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/UnencodedDigestIssue.js +67 -0
  87. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepCoopSandboxedIframeCannotNavigateToCoopPage.md +4 -0
  88. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepCorpNotSameOrigin.md +8 -0
  89. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepCorpNotSameOriginAfterDefaultedToSameOriginByCoep.md +18 -0
  90. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepCorpNotSameSite.md +7 -0
  91. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepFrameResourceNeedsCoepHeader.md +10 -0
  92. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CompatibilityModeQuirks.md +5 -0
  93. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CookieAttributeValueExceedsMaxSize.md +5 -0
  94. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/LowTextContrast.md +5 -0
  95. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeRead.md +8 -0
  96. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeSet.md +8 -0
  97. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteExcludeNavigationContextDowngrade.md +8 -0
  98. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteInvalidSameParty.md +8 -0
  99. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureErrorRead.md +8 -0
  100. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureErrorSet.md +8 -0
  101. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureWarnRead.md +8 -0
  102. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureWarnSet.md +8 -0
  103. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteSamePartyCrossPartyContextSet.md +10 -0
  104. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeRead.md +9 -0
  105. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeSet.md +9 -0
  106. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeRead.md +8 -0
  107. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeSet.md +8 -0
  108. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteWarnStrictLaxDowngradeStrict.md +8 -0
  109. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInsecureContext.md +7 -0
  110. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidInfoHeader.md +5 -0
  111. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidRegisterOsSourceHeader.md +5 -0
  112. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidRegisterOsTriggerHeader.md +5 -0
  113. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidRegisterSourceHeader.md +5 -0
  114. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidRegisterTriggerHeader.md +5 -0
  115. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNavigationRegistrationUniqueScopeAlreadySet.md +5 -0
  116. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNavigationRegistrationWithoutTransientUserActivation.md +6 -0
  117. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoRegisterOsSourceHeader.md +5 -0
  118. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoRegisterOsTriggerHeader.md +5 -0
  119. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoRegisterSourceHeader.md +5 -0
  120. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoRegisterTriggerHeader.md +5 -0
  121. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoWebOrOsSupport.md +4 -0
  122. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arOsSourceIgnored.md +18 -0
  123. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arOsTriggerIgnored.md +19 -0
  124. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arPermissionPolicyDisabled.md +8 -0
  125. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arSourceAndTriggerHeaders.md +9 -0
  126. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arSourceIgnored.md +13 -0
  127. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arTriggerIgnored.md +12 -0
  128. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arUntrustworthyReportingOrigin.md +10 -0
  129. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arWebAndOsHeaders.md +11 -0
  130. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/bounceTrackingMitigations.md +3 -0
  131. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/clientHintMetaTagAllowListInvalidOrigin.md +4 -0
  132. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/clientHintMetaTagModifiedHTML.md +4 -0
  133. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieCrossSiteRedirectDowngrade.md +12 -0
  134. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeBlockedWithinRelatedWebsiteSet.md +4 -0
  135. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeDomainNonAscii.md +11 -0
  136. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludePortMismatch.md +8 -0
  137. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeSchemeMismatch.md +7 -0
  138. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeThirdPartyPhaseoutRead.md +6 -0
  139. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeThirdPartyPhaseoutSet.md +6 -0
  140. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnDomainNonAscii.md +11 -0
  141. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnMetadataGrantRead.md +4 -0
  142. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnMetadataGrantSet.md +4 -0
  143. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnThirdPartyPhaseoutRead.md +6 -0
  144. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnThirdPartyPhaseoutSet.md +6 -0
  145. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsAllowCredentialsRequired.md +6 -0
  146. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsDisabledScheme.md +7 -0
  147. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsDisallowedByMode.md +7 -0
  148. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsHeaderDisallowedByPreflightResponse.md +5 -0
  149. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsInsecurePrivateNetwork.md +10 -0
  150. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsInvalidHeaderValues.md +7 -0
  151. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsLocalNetworkAccessPermissionDenied.md +19 -0
  152. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsMethodDisallowedByPreflightResponse.md +5 -0
  153. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsNoCorsRedirectModeNotFollow.md +5 -0
  154. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsOriginMismatch.md +6 -0
  155. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsPreflightAllowPrivateNetworkError.md +10 -0
  156. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsPreflightResponseInvalid.md +5 -0
  157. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsPrivateNetworkPermissionDenied.md +10 -0
  158. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsRedirectContainsCredentials.md +5 -0
  159. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsWildcardOriginNotAllowed.md +8 -0
  160. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspEvalViolation.md +9 -0
  161. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspInlineViolation.md +10 -0
  162. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspTrustedTypesPolicyViolation.md +5 -0
  163. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspTrustedTypesSinkViolation.md +8 -0
  164. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspURLViolation.md +10 -0
  165. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/deprecation.md +3 -0
  166. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsHttpNotFound.md +1 -0
  167. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsInvalidResponse.md +1 -0
  168. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsNoResponse.md +1 -0
  169. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestApprovalDeclined.md +1 -0
  170. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestCanceled.md +1 -0
  171. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataHttpNotFound.md +1 -0
  172. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataInvalidResponse.md +1 -0
  173. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataNoResponse.md +1 -0
  174. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestErrorFetchingSignin.md +1 -0
  175. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestErrorIdToken.md +1 -0
  176. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenHttpNotFound.md +1 -0
  177. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidRequest.md +1 -0
  178. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidResponse.md +1 -0
  179. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenNoResponse.md +1 -0
  180. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestInvalidSigninResponse.md +1 -0
  181. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestHttpNotFound.md +1 -0
  182. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestInvalidResponse.md +1 -0
  183. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestNoResponse.md +1 -0
  184. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestTooManyRequests.md +1 -0
  185. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidAccountsResponse.md +1 -0
  186. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidConfigOrWellKnown.md +1 -0
  187. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoAccountSharingPermission.md +1 -0
  188. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoApiPermission.md +1 -0
  189. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoReturningUserFromFetchedAccounts.md +1 -0
  190. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotIframe.md +1 -0
  191. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotPotentiallyTrustworthy.md +1 -0
  192. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSameOrigin.md +1 -0
  193. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSignedInWithIdp.md +1 -0
  194. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/fetchingPartitionedBlobURL.md +7 -0
  195. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormAriaLabelledByToNonExistingId.md +8 -0
  196. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormAutocompleteAttributeEmptyError.md +5 -0
  197. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormDuplicateIdForInputError.md +5 -0
  198. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormEmptyIdAndNameAttributesForInputError.md +5 -0
  199. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormInputAssignedAutocompleteValueToIdOrNameAttributeError.md +5 -0
  200. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormInputHasWrongButWellIntendedAutocompleteValueError.md +5 -0
  201. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormInputWithNoLabelError.md +5 -0
  202. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormLabelForMatchesNonExistingIdError.md +5 -0
  203. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormLabelForNameError.md +5 -0
  204. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormLabelHasNeitherForNorNestedInput.md +5 -0
  205. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericResponseWasBlockedByORB.md +4 -0
  206. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/heavyAd.md +10 -0
  207. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/mixedContent.md +5 -0
  208. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/navigatingPartitionedBlobURL.md +5 -0
  209. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/placeholderDescriptionForInvisibleIssues.md +3 -0
  210. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/propertyRuleInvalidNameIssue.md +3 -0
  211. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/propertyRuleIssue.md +7 -0
  212. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityDisallowedOptGroupChild.md +7 -0
  213. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityDisallowedSelectChild.md +7 -0
  214. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentAttributesSelectDescendant.md +3 -0
  215. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentLegendChild.md +3 -0
  216. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentOptionChild.md +3 -0
  217. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityNonPhrasingContentOptionChild.md +3 -0
  218. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedArrayBuffer.md +7 -0
  219. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorCrossOriginNoCorsRequest.md +1 -0
  220. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorDictionaryLoadFailure.md +3 -0
  221. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorMatchingDictionaryNotUsed.md +3 -0
  222. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorUnexpectedContentDictionaryHeader.md +1 -0
  223. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorCossOriginNoCorsRequest.md +1 -0
  224. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorDisallowedBySettings.md +1 -0
  225. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorExpiredResponse.md +3 -0
  226. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorFeatureDisabled.md +3 -0
  227. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInsufficientResources.md +1 -0
  228. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidMatchField.md +1 -0
  229. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidStructuredHeader.md +1 -0
  230. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidTTLField.md +1 -0
  231. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNavigationRequest.md +3 -0
  232. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNoMatchField.md +1 -0
  233. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonIntegerTTLField.md +1 -0
  234. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonListMatchDestField.md +1 -0
  235. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonSecureContext.md +3 -0
  236. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringIdField.md +1 -0
  237. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringInMatchDestList.md +1 -0
  238. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringMatchField.md +1 -0
  239. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonTokenTypeField.md +1 -0
  240. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorRequestAborted.md +1 -0
  241. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorShuttingDown.md +1 -0
  242. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorTooLongIdField.md +3 -0
  243. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorUnsupportedType.md +3 -0
  244. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriInvalidSignatureHeader.md +14 -0
  245. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriInvalidSignatureInputHeader.md +15 -0
  246. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriMissingSignatureHeader.md +8 -0
  247. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriMissingSignatureInputHeader.md +7 -0
  248. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureHeaderValueIsIncorrectLength.md +11 -0
  249. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureHeaderValueIsNotByteSequence.md +14 -0
  250. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureHeaderValueIsParameterized.md +15 -0
  251. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidComponentName.md +8 -0
  252. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidComponentType.md +13 -0
  253. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidDerivedComponentParameter.md +4 -0
  254. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidHeaderComponentParameter.md +5 -0
  255. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidParameter.md +11 -0
  256. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderKeyIdLength.md +12 -0
  257. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderMissingLabel.md +6 -0
  258. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderMissingRequiredParameters.md +8 -0
  259. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderValueMissingComponents.md +11 -0
  260. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderValueNotInnerList.md +11 -0
  261. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriValidationFailedIntegrityMismatch.md +10 -0
  262. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriValidationFailedInvalidLength.md +5 -0
  263. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriValidationFailedSignatureExpired.md +6 -0
  264. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriValidationFailedSignatureMismatch.md +11 -0
  265. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/stylesheetLateImport.md +4 -0
  266. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/stylesheetRequestFailed.md +3 -0
  267. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/summaryElementAccessibilityInteractiveContentSummaryDescendant.md +3 -0
  268. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/unencodedDigestIncorrectDigestLength.md +12 -0
  269. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/unencodedDigestIncorrectDigestType.md +17 -0
  270. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/unencodedDigestMalformedDictionary.md +14 -0
  271. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/unencodedDigestUnknownAlgorithm.md +15 -0
  272. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/issues_manager.js +35 -0
  273. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Processor.js +4 -4
  274. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Styles.js +1 -1
  275. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/SamplesHandler.js +56 -6
  276. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ScriptsHandler.js +24 -0
  277. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/TraceEvents.js +1 -0
  278. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/IgnoreListManager.js +40 -47
  279. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/WorkspaceImpl.js +5 -8
  280. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/workspace-meta.js +34 -0
  281. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/LICENSE +202 -0
  282. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/i18n-impl.js +46 -0
  283. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/i18n.js +6 -0
  284. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/localized-string-set.js +122 -0
  285. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/LICENSE +33 -0
  286. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/intl-messageformat.js +5 -0
  287. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/index.js +13 -0
  288. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.js +1725 -0
  289. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/intl-messageformat.iife.js +1840 -0
  290. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/index.js +10 -0
  291. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/src/core.js +233 -0
  292. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/src/error.js +48 -0
  293. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/src/formatters.js +177 -0
  294. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/src/core.js +236 -0
  295. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/src/error.js +51 -0
  296. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/src/formatters.js +182 -0
  297. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/LICENSE +39 -0
  298. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/marked.js +2 -0
  299. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/bin/main.js +255 -0
  300. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/bin/marked.js +11 -0
  301. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/lib/marked.esm.js +2695 -0
  302. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/lib/marked.js +2233 -0
  303. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/lib/marked.umd.js +2719 -0
  304. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Lexer.js +453 -0
  305. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Parser.js +233 -0
  306. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Renderer.js +137 -0
  307. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Slugger.js +46 -0
  308. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/TextRenderer.js +34 -0
  309. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Tokenizer.js +683 -0
  310. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/defaults.js +27 -0
  311. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/helpers.js +240 -0
  312. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/marked.js +318 -0
  313. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/rules.js +243 -0
  314. package/build/node_modules/chrome-devtools-frontend/mcp/mcp.js +7 -0
  315. package/build/src/DevToolsConnectionAdapter.js +1 -2
  316. package/build/src/DevtoolsUtils.js +20 -0
  317. package/build/src/McpContext.js +25 -16
  318. package/build/src/McpResponse.js +39 -3
  319. package/build/src/PageCollector.js +131 -16
  320. package/build/src/features.js +14 -0
  321. package/build/src/formatters/consoleFormatter.js +3 -0
  322. package/build/src/issue-descriptions.js +35 -0
  323. package/build/src/main.js +6 -1
  324. package/build/src/third_party/THIRD_PARTY_NOTICES +3 -3
  325. package/build/src/third_party/index.js +729 -676
  326. package/build/src/tools/console.js +5 -0
  327. package/build/src/tools/pages.js +1 -1
  328. package/package.json +6 -6
  329. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/NodeURL.js +0 -31
@@ -41,7 +41,7 @@ export function registerCommands(inspectorBackend) {
41
41
  inspectorBackend.registerCommand("Animation.setTiming", [{ "name": "animationId", "type": "string", "optional": false, "description": "Animation id.", "typeRef": null }, { "name": "duration", "type": "number", "optional": false, "description": "Duration of the animation.", "typeRef": null }, { "name": "delay", "type": "number", "optional": false, "description": "Delay of the animation.", "typeRef": null }], [], "Sets the timing of an animation node.");
42
42
  inspectorBackend.registerType("Animation.Animation", [{ "name": "id", "type": "string", "optional": false, "description": "`Animation`'s id.", "typeRef": null }, { "name": "name", "type": "string", "optional": false, "description": "`Animation`'s name.", "typeRef": null }, { "name": "pausedState", "type": "boolean", "optional": false, "description": "`Animation`'s internal paused state.", "typeRef": null }, { "name": "playState", "type": "string", "optional": false, "description": "`Animation`'s play state.", "typeRef": null }, { "name": "playbackRate", "type": "number", "optional": false, "description": "`Animation`'s playback rate.", "typeRef": null }, { "name": "startTime", "type": "number", "optional": false, "description": "`Animation`'s start time. Milliseconds for time based animations and percentage [0 - 100] for scroll driven animations (i.e. when viewOrScrollTimeline exists).", "typeRef": null }, { "name": "currentTime", "type": "number", "optional": false, "description": "`Animation`'s current time.", "typeRef": null }, { "name": "type", "type": "string", "optional": false, "description": "Animation type of `Animation`.", "typeRef": null }, { "name": "source", "type": "object", "optional": true, "description": "`Animation`'s source animation node.", "typeRef": "Animation.AnimationEffect" }, { "name": "cssId", "type": "string", "optional": true, "description": "A unique ID for `Animation` representing the sources that triggered this CSS animation/transition.", "typeRef": null }, { "name": "viewOrScrollTimeline", "type": "object", "optional": true, "description": "View or scroll timeline", "typeRef": "Animation.ViewOrScrollTimeline" }]);
43
43
  inspectorBackend.registerType("Animation.ViewOrScrollTimeline", [{ "name": "sourceNodeId", "type": "number", "optional": true, "description": "Scroll container node", "typeRef": "DOM.BackendNodeId" }, { "name": "startOffset", "type": "number", "optional": true, "description": "Represents the starting scroll position of the timeline as a length offset in pixels from scroll origin.", "typeRef": null }, { "name": "endOffset", "type": "number", "optional": true, "description": "Represents the ending scroll position of the timeline as a length offset in pixels from scroll origin.", "typeRef": null }, { "name": "subjectNodeId", "type": "number", "optional": true, "description": "The element whose principal box's visibility in the scrollport defined the progress of the timeline. Does not exist for animations with ScrollTimeline", "typeRef": "DOM.BackendNodeId" }, { "name": "axis", "type": "string", "optional": false, "description": "Orientation of the scroll", "typeRef": "DOM.ScrollOrientation" }]);
44
- inspectorBackend.registerType("Animation.AnimationEffect", [{ "name": "delay", "type": "number", "optional": false, "description": "`AnimationEffect`'s delay.", "typeRef": null }, { "name": "endDelay", "type": "number", "optional": false, "description": "`AnimationEffect`'s end delay.", "typeRef": null }, { "name": "iterationStart", "type": "number", "optional": false, "description": "`AnimationEffect`'s iteration start.", "typeRef": null }, { "name": "iterations", "type": "number", "optional": false, "description": "`AnimationEffect`'s iterations.", "typeRef": null }, { "name": "duration", "type": "number", "optional": false, "description": "`AnimationEffect`'s iteration duration. Milliseconds for time based animations and percentage [0 - 100] for scroll driven animations (i.e. when viewOrScrollTimeline exists).", "typeRef": null }, { "name": "direction", "type": "string", "optional": false, "description": "`AnimationEffect`'s playback direction.", "typeRef": null }, { "name": "fill", "type": "string", "optional": false, "description": "`AnimationEffect`'s fill mode.", "typeRef": null }, { "name": "backendNodeId", "type": "number", "optional": true, "description": "`AnimationEffect`'s target node.", "typeRef": "DOM.BackendNodeId" }, { "name": "keyframesRule", "type": "object", "optional": true, "description": "`AnimationEffect`'s keyframes.", "typeRef": "Animation.KeyframesRule" }, { "name": "easing", "type": "string", "optional": false, "description": "`AnimationEffect`'s timing function.", "typeRef": null }]);
44
+ inspectorBackend.registerType("Animation.AnimationEffect", [{ "name": "delay", "type": "number", "optional": false, "description": "`AnimationEffect`'s delay.", "typeRef": null }, { "name": "endDelay", "type": "number", "optional": false, "description": "`AnimationEffect`'s end delay.", "typeRef": null }, { "name": "iterationStart", "type": "number", "optional": false, "description": "`AnimationEffect`'s iteration start.", "typeRef": null }, { "name": "iterations", "type": "number", "optional": true, "description": "`AnimationEffect`'s iterations. Omitted if the value is infinite.", "typeRef": null }, { "name": "duration", "type": "number", "optional": false, "description": "`AnimationEffect`'s iteration duration. Milliseconds for time based animations and percentage [0 - 100] for scroll driven animations (i.e. when viewOrScrollTimeline exists).", "typeRef": null }, { "name": "direction", "type": "string", "optional": false, "description": "`AnimationEffect`'s playback direction.", "typeRef": null }, { "name": "fill", "type": "string", "optional": false, "description": "`AnimationEffect`'s fill mode.", "typeRef": null }, { "name": "backendNodeId", "type": "number", "optional": true, "description": "`AnimationEffect`'s target node.", "typeRef": "DOM.BackendNodeId" }, { "name": "keyframesRule", "type": "object", "optional": true, "description": "`AnimationEffect`'s keyframes.", "typeRef": "Animation.KeyframesRule" }, { "name": "easing", "type": "string", "optional": false, "description": "`AnimationEffect`'s timing function.", "typeRef": null }]);
45
45
  inspectorBackend.registerType("Animation.KeyframesRule", [{ "name": "name", "type": "string", "optional": true, "description": "CSS keyframed animation's name.", "typeRef": null }, { "name": "keyframes", "type": "array", "optional": false, "description": "List of animation keyframes.", "typeRef": "Animation.KeyframeStyle" }]);
46
46
  inspectorBackend.registerType("Animation.KeyframeStyle", [{ "name": "offset", "type": "string", "optional": false, "description": "Keyframe's time offset.", "typeRef": null }, { "name": "easing", "type": "string", "optional": false, "description": "`AnimationEffect`'s timing function.", "typeRef": null }]);
47
47
  // Audits.
@@ -200,6 +200,8 @@ export function registerCommands(inspectorBackend) {
200
200
  inspectorBackend.registerEnum("CSS.StyleSheetOrigin", { Injected: "injected", UserAgent: "user-agent", Inspector: "inspector", Regular: "regular" });
201
201
  inspectorBackend.registerEnum("CSS.CSSRuleType", { MediaRule: "MediaRule", SupportsRule: "SupportsRule", ContainerRule: "ContainerRule", LayerRule: "LayerRule", ScopeRule: "ScopeRule", StyleRule: "StyleRule", StartingStyleRule: "StartingStyleRule" });
202
202
  inspectorBackend.registerEnum("CSS.CSSMediaSource", { MediaRule: "mediaRule", ImportRule: "importRule", LinkedSheet: "linkedSheet", InlineSheet: "inlineSheet" });
203
+ inspectorBackend.registerEnum("CSS.CSSAtRuleType", { FontFace: "font-face", FontFeatureValues: "font-feature-values", FontPaletteValues: "font-palette-values" });
204
+ inspectorBackend.registerEnum("CSS.CSSAtRuleSubsection", { Swash: "swash", Annotation: "annotation", Ornaments: "ornaments", Stylistic: "stylistic", Styleset: "styleset", CharacterVariant: "character-variant" });
203
205
  inspectorBackend.registerEvent("CSS.fontsUpdated", ["font"]);
204
206
  inspectorBackend.registerEvent("CSS.mediaQueryResultChanged", []);
205
207
  inspectorBackend.registerEvent("CSS.styleSheetAdded", ["header"]);
@@ -219,7 +221,7 @@ export function registerCommands(inspectorBackend) {
219
221
  inspectorBackend.registerCommand("CSS.getLonghandProperties", [{ "name": "shorthandName", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "value", "type": "string", "optional": false, "description": "", "typeRef": null }], ["longhandProperties"], "");
220
222
  inspectorBackend.registerCommand("CSS.getInlineStylesForNode", [{ "name": "nodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.NodeId" }], ["inlineStyle", "attributesStyle"], "Returns the styles defined inline (explicitly in the \"style\" attribute and implicitly, using DOM attributes) for a DOM node identified by `nodeId`.");
221
223
  inspectorBackend.registerCommand("CSS.getAnimatedStylesForNode", [{ "name": "nodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.NodeId" }], ["animationStyles", "transitionsStyle", "inherited"], "Returns the styles coming from animations & transitions including the animation & transition styles coming from inheritance chain.");
222
- inspectorBackend.registerCommand("CSS.getMatchedStylesForNode", [{ "name": "nodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.NodeId" }], ["inlineStyle", "attributesStyle", "matchedCSSRules", "pseudoElements", "inherited", "inheritedPseudoElements", "cssKeyframesRules", "cssPositionTryRules", "activePositionFallbackIndex", "cssPropertyRules", "cssPropertyRegistrations", "cssFontPaletteValuesRule", "parentLayoutNodeId", "cssFunctionRules"], "Returns requested styles for a DOM node identified by `nodeId`.");
224
+ inspectorBackend.registerCommand("CSS.getMatchedStylesForNode", [{ "name": "nodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.NodeId" }], ["inlineStyle", "attributesStyle", "matchedCSSRules", "pseudoElements", "inherited", "inheritedPseudoElements", "cssKeyframesRules", "cssPositionTryRules", "activePositionFallbackIndex", "cssPropertyRules", "cssPropertyRegistrations", "cssFontPaletteValuesRule", "cssAtRules", "parentLayoutNodeId", "cssFunctionRules"], "Returns requested styles for a DOM node identified by `nodeId`.");
223
225
  inspectorBackend.registerCommand("CSS.getEnvironmentVariables", [], ["environmentVariables"], "Returns the values of the default UA-defined environment variables used in env()");
224
226
  inspectorBackend.registerCommand("CSS.getMediaQueries", [], ["medias"], "Returns all media queries parsed by the rendering engine.");
225
227
  inspectorBackend.registerCommand("CSS.getPlatformFontsForNode", [{ "name": "nodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.NodeId" }], ["fonts"], "Requests information about platform fonts which we used to render child TextNodes in the given node.");
@@ -278,6 +280,7 @@ export function registerCommands(inspectorBackend) {
278
280
  inspectorBackend.registerType("CSS.CSSKeyframesRule", [{ "name": "animationName", "type": "object", "optional": false, "description": "Animation name.", "typeRef": "CSS.Value" }, { "name": "keyframes", "type": "array", "optional": false, "description": "List of keyframes.", "typeRef": "CSS.CSSKeyframeRule" }]);
279
281
  inspectorBackend.registerType("CSS.CSSPropertyRegistration", [{ "name": "propertyName", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "initialValue", "type": "object", "optional": true, "description": "", "typeRef": "CSS.Value" }, { "name": "inherits", "type": "boolean", "optional": false, "description": "", "typeRef": null }, { "name": "syntax", "type": "string", "optional": false, "description": "", "typeRef": null }]);
280
282
  inspectorBackend.registerType("CSS.CSSFontPaletteValuesRule", [{ "name": "styleSheetId", "type": "string", "optional": true, "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.", "typeRef": "CSS.StyleSheetId" }, { "name": "origin", "type": "string", "optional": false, "description": "Parent stylesheet's origin.", "typeRef": "CSS.StyleSheetOrigin" }, { "name": "fontPaletteName", "type": "object", "optional": false, "description": "Associated font palette name.", "typeRef": "CSS.Value" }, { "name": "style", "type": "object", "optional": false, "description": "Associated style declaration.", "typeRef": "CSS.CSSStyle" }]);
283
+ inspectorBackend.registerType("CSS.CSSAtRule", [{ "name": "type", "type": "string", "optional": false, "description": "Type of at-rule.", "typeRef": null }, { "name": "subsection", "type": "string", "optional": true, "description": "Subsection of font-feature-values, if this is a subsection.", "typeRef": null }, { "name": "name", "type": "object", "optional": true, "description": "LINT_SKIP.ThenChange(//third_party/blink/renderer/core/inspector/inspector_style_sheet.cc:FontVariantAlternatesFeatureType,//third_party/blink/renderer/core/inspector/inspector_css_agent.cc:FontVariantAlternatesFeatureType) Associated name, if applicable.", "typeRef": "CSS.Value" }, { "name": "styleSheetId", "type": "string", "optional": true, "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.", "typeRef": "CSS.StyleSheetId" }, { "name": "origin", "type": "string", "optional": false, "description": "Parent stylesheet's origin.", "typeRef": "CSS.StyleSheetOrigin" }, { "name": "style", "type": "object", "optional": false, "description": "Associated style declaration.", "typeRef": "CSS.CSSStyle" }]);
281
284
  inspectorBackend.registerType("CSS.CSSPropertyRule", [{ "name": "styleSheetId", "type": "string", "optional": true, "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.", "typeRef": "CSS.StyleSheetId" }, { "name": "origin", "type": "string", "optional": false, "description": "Parent stylesheet's origin.", "typeRef": "CSS.StyleSheetOrigin" }, { "name": "propertyName", "type": "object", "optional": false, "description": "Associated property name.", "typeRef": "CSS.Value" }, { "name": "style", "type": "object", "optional": false, "description": "Associated style declaration.", "typeRef": "CSS.CSSStyle" }]);
282
285
  inspectorBackend.registerType("CSS.CSSFunctionParameter", [{ "name": "name", "type": "string", "optional": false, "description": "The parameter name.", "typeRef": null }, { "name": "type", "type": "string", "optional": false, "description": "The parameter type.", "typeRef": null }]);
283
286
  inspectorBackend.registerType("CSS.CSSFunctionConditionNode", [{ "name": "media", "type": "object", "optional": true, "description": "Media query for this conditional block. Only one type of condition should be set.", "typeRef": "CSS.CSSMedia" }, { "name": "containerQueries", "type": "object", "optional": true, "description": "Container query for this conditional block. Only one type of condition should be set.", "typeRef": "CSS.CSSContainerQuery" }, { "name": "supports", "type": "object", "optional": true, "description": "@supports CSS at-rule condition. Only one type of condition should be set.", "typeRef": "CSS.CSSSupports" }, { "name": "children", "type": "array", "optional": false, "description": "Block body.", "typeRef": "CSS.CSSFunctionNode" }, { "name": "conditionText", "type": "string", "optional": false, "description": "The condition text.", "typeRef": null }]);
@@ -307,7 +310,7 @@ export function registerCommands(inspectorBackend) {
307
310
  inspectorBackend.registerCommand("Cast.stopCasting", [{ "name": "sinkName", "type": "string", "optional": false, "description": "", "typeRef": null }], [], "Stops the active Cast session on the sink.");
308
311
  inspectorBackend.registerType("Cast.Sink", [{ "name": "name", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "id", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "session", "type": "string", "optional": true, "description": "Text describing the current session. Present only if there is an active session on the sink.", "typeRef": null }]);
309
312
  // DOM.
310
- inspectorBackend.registerEnum("DOM.PseudoType", { FirstLine: "first-line", FirstLetter: "first-letter", Checkmark: "checkmark", Before: "before", After: "after", PickerIcon: "picker-icon", InterestHint: "interest-hint", Marker: "marker", Backdrop: "backdrop", Column: "column", Selection: "selection", SearchText: "search-text", TargetText: "target-text", SpellingError: "spelling-error", GrammarError: "grammar-error", Highlight: "highlight", FirstLineInherited: "first-line-inherited", ScrollMarker: "scroll-marker", ScrollMarkerGroup: "scroll-marker-group", ScrollButton: "scroll-button", Scrollbar: "scrollbar", ScrollbarThumb: "scrollbar-thumb", ScrollbarButton: "scrollbar-button", ScrollbarTrack: "scrollbar-track", ScrollbarTrackPiece: "scrollbar-track-piece", ScrollbarCorner: "scrollbar-corner", Resizer: "resizer", InputListButton: "input-list-button", ViewTransition: "view-transition", ViewTransitionGroup: "view-transition-group", ViewTransitionImagePair: "view-transition-image-pair", ViewTransitionGroupChildren: "view-transition-group-children", ViewTransitionOld: "view-transition-old", ViewTransitionNew: "view-transition-new", Placeholder: "placeholder", FileSelectorButton: "file-selector-button", DetailsContent: "details-content", Picker: "picker", PermissionIcon: "permission-icon" });
313
+ inspectorBackend.registerEnum("DOM.PseudoType", { FirstLine: "first-line", FirstLetter: "first-letter", Checkmark: "checkmark", Before: "before", After: "after", PickerIcon: "picker-icon", InterestHint: "interest-hint", Marker: "marker", Backdrop: "backdrop", Column: "column", Selection: "selection", SearchText: "search-text", TargetText: "target-text", SpellingError: "spelling-error", GrammarError: "grammar-error", Highlight: "highlight", FirstLineInherited: "first-line-inherited", ScrollMarker: "scroll-marker", ScrollMarkerGroup: "scroll-marker-group", ScrollButton: "scroll-button", Scrollbar: "scrollbar", ScrollbarThumb: "scrollbar-thumb", ScrollbarButton: "scrollbar-button", ScrollbarTrack: "scrollbar-track", ScrollbarTrackPiece: "scrollbar-track-piece", ScrollbarCorner: "scrollbar-corner", Resizer: "resizer", InputListButton: "input-list-button", ViewTransition: "view-transition", ViewTransitionGroup: "view-transition-group", ViewTransitionImagePair: "view-transition-image-pair", ViewTransitionGroupChildren: "view-transition-group-children", ViewTransitionOld: "view-transition-old", ViewTransitionNew: "view-transition-new", Placeholder: "placeholder", FileSelectorButton: "file-selector-button", DetailsContent: "details-content", Picker: "picker", PermissionIcon: "permission-icon", OverscrollAreaParent: "overscroll-area-parent", OverscrollClientArea: "overscroll-client-area" });
311
314
  inspectorBackend.registerEnum("DOM.ShadowRootType", { UserAgent: "user-agent", Open: "open", Closed: "closed" });
312
315
  inspectorBackend.registerEnum("DOM.CompatibilityMode", { QuirksMode: "QuirksMode", LimitedQuirksMode: "LimitedQuirksMode", NoQuirksMode: "NoQuirksMode" });
313
316
  inspectorBackend.registerEnum("DOM.PhysicalAxes", { Horizontal: "Horizontal", Vertical: "Vertical", Both: "Both" });
@@ -727,7 +730,7 @@ export function registerCommands(inspectorBackend) {
727
730
  inspectorBackend.registerEnum("Network.SignedExchangeErrorField", { SignatureSig: "signatureSig", SignatureIntegrity: "signatureIntegrity", SignatureCertUrl: "signatureCertUrl", SignatureCertSha256: "signatureCertSha256", SignatureValidityUrl: "signatureValidityUrl", SignatureTimestamps: "signatureTimestamps" });
728
731
  inspectorBackend.registerEnum("Network.ContentEncoding", { Deflate: "deflate", Gzip: "gzip", Br: "br", Zstd: "zstd" });
729
732
  inspectorBackend.registerEnum("Network.DirectSocketDnsQueryType", { Ipv4: "ipv4", Ipv6: "ipv6" });
730
- inspectorBackend.registerEnum("Network.PrivateNetworkRequestPolicy", { Allow: "Allow", BlockFromInsecureToMorePrivate: "BlockFromInsecureToMorePrivate", WarnFromInsecureToMorePrivate: "WarnFromInsecureToMorePrivate", PreflightBlock: "PreflightBlock", PreflightWarn: "PreflightWarn", PermissionBlock: "PermissionBlock", PermissionWarn: "PermissionWarn" });
733
+ inspectorBackend.registerEnum("Network.PrivateNetworkRequestPolicy", { Allow: "Allow", BlockFromInsecureToMorePrivate: "BlockFromInsecureToMorePrivate", WarnFromInsecureToMorePrivate: "WarnFromInsecureToMorePrivate", PermissionBlock: "PermissionBlock", PermissionWarn: "PermissionWarn" });
731
734
  inspectorBackend.registerEnum("Network.IPAddressSpace", { Loopback: "Loopback", Local: "Local", Public: "Public", Unknown: "Unknown" });
732
735
  inspectorBackend.registerEnum("Network.CrossOriginOpenerPolicyValue", { SameOrigin: "SameOrigin", SameOriginAllowPopups: "SameOriginAllowPopups", RestrictProperties: "RestrictProperties", UnsafeNone: "UnsafeNone", SameOriginPlusCoep: "SameOriginPlusCoep", RestrictPropertiesPlusCoep: "RestrictPropertiesPlusCoep", NoopenerAllowPopups: "NoopenerAllowPopups" });
733
736
  inspectorBackend.registerEnum("Network.CrossOriginEmbedderPolicyValue", { None: "None", Credentialless: "Credentialless", RequireCorp: "RequireCorp" });
@@ -927,7 +930,7 @@ export function registerCommands(inspectorBackend) {
927
930
  inspectorBackend.registerEnum("Page.SecureContextType", { Secure: "Secure", SecureLocalhost: "SecureLocalhost", InsecureScheme: "InsecureScheme", InsecureAncestor: "InsecureAncestor" });
928
931
  inspectorBackend.registerEnum("Page.CrossOriginIsolatedContextType", { Isolated: "Isolated", NotIsolated: "NotIsolated", NotIsolatedFeatureDisabled: "NotIsolatedFeatureDisabled" });
929
932
  inspectorBackend.registerEnum("Page.GatedAPIFeatures", { SharedArrayBuffers: "SharedArrayBuffers", SharedArrayBuffersTransferAllowed: "SharedArrayBuffersTransferAllowed", PerformanceMeasureMemory: "PerformanceMeasureMemory", PerformanceProfile: "PerformanceProfile" });
930
- inspectorBackend.registerEnum("Page.PermissionsPolicyFeature", { Accelerometer: "accelerometer", AllScreensCapture: "all-screens-capture", AmbientLightSensor: "ambient-light-sensor", AriaNotify: "aria-notify", AttributionReporting: "attribution-reporting", Autoplay: "autoplay", Bluetooth: "bluetooth", BrowsingTopics: "browsing-topics", Camera: "camera", CapturedSurfaceControl: "captured-surface-control", ChDpr: "ch-dpr", ChDeviceMemory: "ch-device-memory", ChDownlink: "ch-downlink", ChEct: "ch-ect", ChPrefersColorScheme: "ch-prefers-color-scheme", ChPrefersReducedMotion: "ch-prefers-reduced-motion", ChPrefersReducedTransparency: "ch-prefers-reduced-transparency", ChRtt: "ch-rtt", ChSaveData: "ch-save-data", ChUa: "ch-ua", ChUaArch: "ch-ua-arch", ChUaBitness: "ch-ua-bitness", ChUaHighEntropyValues: "ch-ua-high-entropy-values", ChUaPlatform: "ch-ua-platform", ChUaModel: "ch-ua-model", ChUaMobile: "ch-ua-mobile", ChUaFormFactors: "ch-ua-form-factors", ChUaFullVersion: "ch-ua-full-version", ChUaFullVersionList: "ch-ua-full-version-list", ChUaPlatformVersion: "ch-ua-platform-version", ChUaWow64: "ch-ua-wow64", ChViewportHeight: "ch-viewport-height", ChViewportWidth: "ch-viewport-width", ChWidth: "ch-width", ClipboardRead: "clipboard-read", ClipboardWrite: "clipboard-write", ComputePressure: "compute-pressure", ControlledFrame: "controlled-frame", CrossOriginIsolated: "cross-origin-isolated", DeferredFetch: "deferred-fetch", DeferredFetchMinimal: "deferred-fetch-minimal", DeviceAttributes: "device-attributes", DigitalCredentialsCreate: "digital-credentials-create", DigitalCredentialsGet: "digital-credentials-get", DirectSockets: "direct-sockets", DirectSocketsMulticast: "direct-sockets-multicast", DirectSocketsPrivate: "direct-sockets-private", DisplayCapture: "display-capture", DocumentDomain: "document-domain", EncryptedMedia: "encrypted-media", ExecutionWhileOutOfViewport: "execution-while-out-of-viewport", ExecutionWhileNotRendered: "execution-while-not-rendered", FencedUnpartitionedStorageRead: "fenced-unpartitioned-storage-read", FocusWithoutUserActivation: "focus-without-user-activation", Fullscreen: "fullscreen", Frobulate: "frobulate", Gamepad: "gamepad", Geolocation: "geolocation", Gyroscope: "gyroscope", Hid: "hid", IdentityCredentialsGet: "identity-credentials-get", IdleDetection: "idle-detection", InterestCohort: "interest-cohort", JoinAdInterestGroup: "join-ad-interest-group", KeyboardMap: "keyboard-map", LanguageDetector: "language-detector", LanguageModel: "language-model", LocalFonts: "local-fonts", LocalNetworkAccess: "local-network-access", Magnetometer: "magnetometer", MediaPlaybackWhileNotVisible: "media-playback-while-not-visible", Microphone: "microphone", Midi: "midi", OnDeviceSpeechRecognition: "on-device-speech-recognition", OtpCredentials: "otp-credentials", Payment: "payment", PictureInPicture: "picture-in-picture", Popins: "popins", PrivateAggregation: "private-aggregation", PrivateStateTokenIssuance: "private-state-token-issuance", PrivateStateTokenRedemption: "private-state-token-redemption", PublickeyCredentialsCreate: "publickey-credentials-create", PublickeyCredentialsGet: "publickey-credentials-get", RecordAdAuctionEvents: "record-ad-auction-events", Rewriter: "rewriter", RunAdAuction: "run-ad-auction", ScreenWakeLock: "screen-wake-lock", Serial: "serial", SharedAutofill: "shared-autofill", SharedStorage: "shared-storage", SharedStorageSelectUrl: "shared-storage-select-url", SmartCard: "smart-card", SpeakerSelection: "speaker-selection", StorageAccess: "storage-access", SubApps: "sub-apps", Summarizer: "summarizer", SyncXhr: "sync-xhr", Translator: "translator", Unload: "unload", Usb: "usb", UsbUnrestricted: "usb-unrestricted", VerticalScroll: "vertical-scroll", WebAppInstallation: "web-app-installation", WebPrinting: "web-printing", WebShare: "web-share", WindowManagement: "window-management", Writer: "writer", XrSpatialTracking: "xr-spatial-tracking" });
933
+ inspectorBackend.registerEnum("Page.PermissionsPolicyFeature", { Accelerometer: "accelerometer", AllScreensCapture: "all-screens-capture", AmbientLightSensor: "ambient-light-sensor", AriaNotify: "aria-notify", AttributionReporting: "attribution-reporting", Autoplay: "autoplay", Bluetooth: "bluetooth", BrowsingTopics: "browsing-topics", Camera: "camera", CapturedSurfaceControl: "captured-surface-control", ChDpr: "ch-dpr", ChDeviceMemory: "ch-device-memory", ChDownlink: "ch-downlink", ChEct: "ch-ect", ChPrefersColorScheme: "ch-prefers-color-scheme", ChPrefersReducedMotion: "ch-prefers-reduced-motion", ChPrefersReducedTransparency: "ch-prefers-reduced-transparency", ChRtt: "ch-rtt", ChSaveData: "ch-save-data", ChUa: "ch-ua", ChUaArch: "ch-ua-arch", ChUaBitness: "ch-ua-bitness", ChUaHighEntropyValues: "ch-ua-high-entropy-values", ChUaPlatform: "ch-ua-platform", ChUaModel: "ch-ua-model", ChUaMobile: "ch-ua-mobile", ChUaFormFactors: "ch-ua-form-factors", ChUaFullVersion: "ch-ua-full-version", ChUaFullVersionList: "ch-ua-full-version-list", ChUaPlatformVersion: "ch-ua-platform-version", ChUaWow64: "ch-ua-wow64", ChViewportHeight: "ch-viewport-height", ChViewportWidth: "ch-viewport-width", ChWidth: "ch-width", ClipboardRead: "clipboard-read", ClipboardWrite: "clipboard-write", ComputePressure: "compute-pressure", ControlledFrame: "controlled-frame", CrossOriginIsolated: "cross-origin-isolated", DeferredFetch: "deferred-fetch", DeferredFetchMinimal: "deferred-fetch-minimal", DeviceAttributes: "device-attributes", DigitalCredentialsCreate: "digital-credentials-create", DigitalCredentialsGet: "digital-credentials-get", DirectSockets: "direct-sockets", DirectSocketsMulticast: "direct-sockets-multicast", DirectSocketsPrivate: "direct-sockets-private", DisplayCapture: "display-capture", DocumentDomain: "document-domain", EncryptedMedia: "encrypted-media", ExecutionWhileOutOfViewport: "execution-while-out-of-viewport", ExecutionWhileNotRendered: "execution-while-not-rendered", FencedUnpartitionedStorageRead: "fenced-unpartitioned-storage-read", FocusWithoutUserActivation: "focus-without-user-activation", Fullscreen: "fullscreen", Frobulate: "frobulate", Gamepad: "gamepad", Geolocation: "geolocation", Gyroscope: "gyroscope", Hid: "hid", IdentityCredentialsGet: "identity-credentials-get", IdleDetection: "idle-detection", InterestCohort: "interest-cohort", JoinAdInterestGroup: "join-ad-interest-group", KeyboardMap: "keyboard-map", LanguageDetector: "language-detector", LanguageModel: "language-model", LocalFonts: "local-fonts", LocalNetworkAccess: "local-network-access", Magnetometer: "magnetometer", MediaPlaybackWhileNotVisible: "media-playback-while-not-visible", Microphone: "microphone", Midi: "midi", OnDeviceSpeechRecognition: "on-device-speech-recognition", OtpCredentials: "otp-credentials", Payment: "payment", PictureInPicture: "picture-in-picture", PrivateAggregation: "private-aggregation", PrivateStateTokenIssuance: "private-state-token-issuance", PrivateStateTokenRedemption: "private-state-token-redemption", PublickeyCredentialsCreate: "publickey-credentials-create", PublickeyCredentialsGet: "publickey-credentials-get", RecordAdAuctionEvents: "record-ad-auction-events", Rewriter: "rewriter", RunAdAuction: "run-ad-auction", ScreenWakeLock: "screen-wake-lock", Serial: "serial", SharedAutofill: "shared-autofill", SharedStorage: "shared-storage", SharedStorageSelectUrl: "shared-storage-select-url", SmartCard: "smart-card", SpeakerSelection: "speaker-selection", StorageAccess: "storage-access", SubApps: "sub-apps", Summarizer: "summarizer", SyncXhr: "sync-xhr", Translator: "translator", Unload: "unload", Usb: "usb", UsbUnrestricted: "usb-unrestricted", VerticalScroll: "vertical-scroll", WebAppInstallation: "web-app-installation", WebPrinting: "web-printing", WebShare: "web-share", WindowManagement: "window-management", Writer: "writer", XrSpatialTracking: "xr-spatial-tracking" });
931
934
  inspectorBackend.registerEnum("Page.PermissionsPolicyBlockReason", { Header: "Header", IframeAttribute: "IframeAttribute", InFencedFrameTree: "InFencedFrameTree", InIsolatedApp: "InIsolatedApp" });
932
935
  inspectorBackend.registerEnum("Page.OriginTrialTokenStatus", { Success: "Success", NotSupported: "NotSupported", Insecure: "Insecure", Expired: "Expired", WrongOrigin: "WrongOrigin", InvalidSignature: "InvalidSignature", Malformed: "Malformed", WrongVersion: "WrongVersion", FeatureDisabled: "FeatureDisabled", TokenDisabled: "TokenDisabled", FeatureDisabledForUser: "FeatureDisabledForUser", UnknownTrial: "UnknownTrial" });
933
936
  inspectorBackend.registerEnum("Page.OriginTrialStatus", { Enabled: "Enabled", ValidTokenNotProvided: "ValidTokenNotProvided", OSNotSupported: "OSNotSupported", TrialNotAllowed: "TrialNotAllowed" });
@@ -1290,7 +1293,7 @@ export function registerCommands(inspectorBackend) {
1290
1293
  inspectorBackend.registerCommand("Target.autoAttachRelated", [{ "name": "targetId", "type": "string", "optional": false, "description": "", "typeRef": "Target.TargetID" }, { "name": "waitForDebuggerOnStart", "type": "boolean", "optional": false, "description": "Whether to pause new targets when attaching to them. Use `Runtime.runIfWaitingForDebugger` to run paused targets.", "typeRef": null }, { "name": "filter", "type": "array", "optional": true, "description": "Only targets matching filter will be attached.", "typeRef": "Target.TargetFilter" }], [], "Adds the specified target to the list of targets that will be monitored for any related target creation (such as child frames, child workers and new versions of service worker) and reported through `attachedToTarget`. The specified target is also auto-attached. This cancels the effect of any previous `setAutoAttach` and is also cancelled by subsequent `setAutoAttach`. Only available at the Browser target.");
1291
1294
  inspectorBackend.registerCommand("Target.setDiscoverTargets", [{ "name": "discover", "type": "boolean", "optional": false, "description": "Whether to discover available targets.", "typeRef": null }, { "name": "filter", "type": "array", "optional": true, "description": "Only targets matching filter will be attached. If `discover` is false, `filter` must be omitted or empty.", "typeRef": "Target.TargetFilter" }], [], "Controls whether to discover available targets and notify via `targetCreated/targetInfoChanged/targetDestroyed` events.");
1292
1295
  inspectorBackend.registerCommand("Target.setRemoteLocations", [{ "name": "locations", "type": "array", "optional": false, "description": "List of remote locations.", "typeRef": "Target.RemoteLocation" }], [], "Enables target discovery for the specified locations, when `setDiscoverTargets` was set to `true`.");
1293
- inspectorBackend.registerCommand("Target.openDevTools", [{ "name": "targetId", "type": "string", "optional": false, "description": "This can be the page or tab target ID.", "typeRef": "Target.TargetID" }], ["targetId"], "Opens a DevTools window for the target.");
1296
+ inspectorBackend.registerCommand("Target.openDevTools", [{ "name": "targetId", "type": "string", "optional": false, "description": "This can be the page or tab target ID.", "typeRef": "Target.TargetID" }, { "name": "panelId", "type": "string", "optional": true, "description": "The id of the panel we want DevTools to open initially. Currently supported panels are elements, console, network, sources and resources.", "typeRef": null }], ["targetId"], "Opens a DevTools window for the target.");
1294
1297
  inspectorBackend.registerType("Target.TargetInfo", [{ "name": "targetId", "type": "string", "optional": false, "description": "", "typeRef": "Target.TargetID" }, { "name": "type", "type": "string", "optional": false, "description": "List of types: https://source.chromium.org/chromium/chromium/src/+/main:content/browser/devtools/devtools_agent_host_impl.cc?ss=chromium&q=f:devtools%20-f:out%20%22::kTypeTab%5B%5D%22", "typeRef": null }, { "name": "title", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "url", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "attached", "type": "boolean", "optional": false, "description": "Whether the target has an attached client.", "typeRef": null }, { "name": "openerId", "type": "string", "optional": true, "description": "Opener target Id", "typeRef": "Target.TargetID" }, { "name": "canAccessOpener", "type": "boolean", "optional": false, "description": "Whether the target has access to the originating window.", "typeRef": null }, { "name": "openerFrameId", "type": "string", "optional": true, "description": "Frame id of originating window (is only set if target has an opener).", "typeRef": "Page.FrameId" }, { "name": "parentFrameId", "type": "string", "optional": true, "description": "Id of the parent frame, only present for the \\\"iframe\\\" targets.", "typeRef": "Page.FrameId" }, { "name": "browserContextId", "type": "string", "optional": true, "description": "", "typeRef": "Browser.BrowserContextID" }, { "name": "subtype", "type": "string", "optional": true, "description": "Provides additional details for specific target types. For example, for the type of \\\"page\\\", this may be set to \\\"prerender\\\".", "typeRef": null }]);
1295
1298
  inspectorBackend.registerType("Target.FilterEntry", [{ "name": "exclude", "type": "boolean", "optional": true, "description": "If set, causes exclusion of matching targets from the list.", "typeRef": null }, { "name": "type", "type": "string", "optional": true, "description": "If not present, matches any type.", "typeRef": null }]);
1296
1299
  inspectorBackend.registerType("Target.TargetFilter", [{ "name": "TargetFilter", "type": "array", "optional": false, "description": "The entries in TargetFilter are matched sequentially against targets and the first entry that matches determines if the target is included or not, depending on the value of `exclude` field in the entry. If filter is not specified, the one assumed is [{type: \\\"browser\\\", exclude: true}, {type: \\\"tab\\\", exclude: true}, {}] (i.e. include everything but `browser` and `tab`).", "typeRef": "Target.FilterEntry" }]);
@@ -418,7 +418,10 @@ export const generatedProperties = [
418
418
  "column-height",
419
419
  "column-rule-break",
420
420
  "column-rule-color",
421
- "column-rule-outset",
421
+ "column-rule-edge-end-inset",
422
+ "column-rule-edge-start-inset",
423
+ "column-rule-interior-end-inset",
424
+ "column-rule-interior-start-inset",
422
425
  "column-rule-style",
423
426
  "column-rule-visibility-items",
424
427
  "column-rule-width",
@@ -638,7 +641,10 @@ export const generatedProperties = [
638
641
  "row-gap",
639
642
  "row-rule-break",
640
643
  "row-rule-color",
641
- "row-rule-outset",
644
+ "row-rule-edge-end-inset",
645
+ "row-rule-edge-start-inset",
646
+ "row-rule-interior-end-inset",
647
+ "row-rule-interior-start-inset",
642
648
  "row-rule-style",
643
649
  "row-rule-visibility-items",
644
650
  "row-rule-width",
@@ -1722,7 +1728,28 @@ export const generatedProperties = [
1722
1728
  },
1723
1729
  {
1724
1730
  "inherited": false,
1725
- "name": "column-rule-outset"
1731
+ "name": "column-rule-edge-end-inset"
1732
+ },
1733
+ {
1734
+ "inherited": false,
1735
+ "name": "column-rule-edge-start-inset"
1736
+ },
1737
+ {
1738
+ "longhands": [
1739
+ "column-rule-edge-start-inset",
1740
+ "column-rule-edge-end-inset",
1741
+ "column-rule-interior-start-inset",
1742
+ "column-rule-interior-end-inset"
1743
+ ],
1744
+ "name": "column-rule-inset"
1745
+ },
1746
+ {
1747
+ "inherited": false,
1748
+ "name": "column-rule-interior-end-inset"
1749
+ },
1750
+ {
1751
+ "inherited": false,
1752
+ "name": "column-rule-interior-start-inset"
1726
1753
  },
1727
1754
  {
1728
1755
  "keywords": [
@@ -3710,7 +3737,28 @@ export const generatedProperties = [
3710
3737
  },
3711
3738
  {
3712
3739
  "inherited": false,
3713
- "name": "row-rule-outset"
3740
+ "name": "row-rule-edge-end-inset"
3741
+ },
3742
+ {
3743
+ "inherited": false,
3744
+ "name": "row-rule-edge-start-inset"
3745
+ },
3746
+ {
3747
+ "longhands": [
3748
+ "row-rule-edge-start-inset",
3749
+ "row-rule-edge-end-inset",
3750
+ "row-rule-interior-start-inset",
3751
+ "row-rule-interior-end-inset"
3752
+ ],
3753
+ "name": "row-rule-inset"
3754
+ },
3755
+ {
3756
+ "inherited": false,
3757
+ "name": "row-rule-interior-end-inset"
3758
+ },
3759
+ {
3760
+ "inherited": false,
3761
+ "name": "row-rule-interior-start-inset"
3714
3762
  },
3715
3763
  {
3716
3764
  "keywords": [
@@ -3798,10 +3846,16 @@ export const generatedProperties = [
3798
3846
  },
3799
3847
  {
3800
3848
  "longhands": [
3801
- "row-rule-outset",
3802
- "column-rule-outset"
3803
- ],
3804
- "name": "rule-outset"
3849
+ "row-rule-edge-start-inset",
3850
+ "row-rule-edge-end-inset",
3851
+ "row-rule-interior-start-inset",
3852
+ "row-rule-interior-end-inset",
3853
+ "column-rule-edge-start-inset",
3854
+ "column-rule-edge-end-inset",
3855
+ "column-rule-interior-start-inset",
3856
+ "column-rule-interior-end-inset"
3857
+ ],
3858
+ "name": "rule-inset"
3805
3859
  },
3806
3860
  {
3807
3861
  "longhands": [
@@ -178,18 +178,42 @@ export class PerformanceTraceFormatter {
178
178
  }
179
179
  return parts.join('\n');
180
180
  }
181
- formatCriticalRequests() {
182
- const insightSet = this.#insightSet;
183
- const criticalRequests = [];
184
- const walkRequest = (node) => {
185
- criticalRequests.push(node.request);
186
- node.children.forEach(walkRequest);
187
- };
188
- insightSet?.model.NetworkDependencyTree.rootNodes.forEach(walkRequest);
189
- if (!criticalRequests.length) {
190
- return '';
181
+ #formatFactByInsightSet(options) {
182
+ const { insights, title, description, empty, cb } = options;
183
+ const lines = [`# ${title}\n`];
184
+ if (description) {
185
+ lines.push(`${description}\n`);
186
+ }
187
+ if (insights?.size) {
188
+ const multipleInsightSets = insights.size > 1;
189
+ for (const insightSet of insights.values()) {
190
+ if (multipleInsightSets) {
191
+ lines.push(`## insight set id: ${insightSet.id}\n`);
192
+ }
193
+ lines.push((cb(insightSet) ?? empty) + '\n');
194
+ }
195
+ }
196
+ else {
197
+ lines.push(empty + '\n');
191
198
  }
192
- return 'Critical network requests:\n' + this.formatNetworkRequests(criticalRequests, { verbose: false });
199
+ return lines.join('\n');
200
+ }
201
+ formatCriticalRequests() {
202
+ const parsedTrace = this.#parsedTrace;
203
+ return this.#formatFactByInsightSet({
204
+ insights: parsedTrace.insights,
205
+ title: 'Critical network requests',
206
+ empty: 'none',
207
+ cb: insightSet => {
208
+ const criticalRequests = [];
209
+ const walkRequest = (node) => {
210
+ criticalRequests.push(node.request);
211
+ node.children.forEach(walkRequest);
212
+ };
213
+ insightSet.model.NetworkDependencyTree.rootNodes.forEach(walkRequest);
214
+ return criticalRequests.length ? this.formatNetworkRequests(criticalRequests, { verbose: false }) : null;
215
+ },
216
+ });
193
217
  }
194
218
  #serializeBottomUpRootNode(rootNode, limit) {
195
219
  // Sorted by selfTime.
@@ -221,19 +245,24 @@ export class PerformanceTraceFormatter {
221
245
  }
222
246
  return `- self: ${millis(node.selfTime)}, total: ${millis(node.totalTime)}, source: ${source}`;
223
247
  }
224
- const listText = topNodes.map(node => nodeToText.call(this, node)).join('\n');
225
- const format = `This is the bottom-up summary for the entire trace. Only the top ${limit} activities (sorted by self time) are shown. An activity is all the aggregated time spent on the same type of work. For example, it can be all the time spent in a specific JavaScript function, or all the time spent in a specific browser rendering stage (like layout, v8 compile, parsing html). "Self time" represents the aggregated time spent directly in an activity, across all occurrences. "Total time" represents the aggregated time spent in an activity or any of its children.`;
226
- return `${format}\n\n${listText}`;
248
+ return topNodes.map(node => nodeToText.call(this, node)).join('\n');
249
+ }
250
+ #getSerializeBottomUpRootNodeFormat(limit) {
251
+ return `This is the bottom-up summary for the entire trace. Only the top ${limit} activities (sorted by self time) are shown. An activity is all the aggregated time spent on the same type of work. For example, it can be all the time spent in a specific JavaScript function, or all the time spent in a specific browser rendering stage (like layout, v8 compile, parsing html). "Self time" represents the aggregated time spent directly in an activity, across all occurrences. "Total time" represents the aggregated time spent in an activity or any of its children.`;
227
252
  }
228
253
  formatMainThreadBottomUpSummary() {
229
254
  const parsedTrace = this.#parsedTrace;
230
- const insightSet = this.#insightSet;
231
- const bounds = parsedTrace.data.Meta.traceBounds;
232
- const rootNode = AIQueries.mainThreadActivityBottomUp(insightSet?.navigation?.args.data?.navigationId, bounds, parsedTrace);
233
- if (!rootNode) {
234
- return '';
235
- }
236
- return this.#serializeBottomUpRootNode(rootNode, 10);
255
+ const limit = 10;
256
+ return this.#formatFactByInsightSet({
257
+ insights: parsedTrace.insights,
258
+ title: 'Main thread bottom-up summary',
259
+ description: this.#getSerializeBottomUpRootNodeFormat(limit),
260
+ empty: 'no activity',
261
+ cb: insightSet => {
262
+ const rootNode = AIQueries.mainThreadActivityBottomUpSingleNavigation(insightSet.navigation?.args.data?.navigationId, insightSet.bounds, parsedTrace);
263
+ return rootNode ? this.#serializeBottomUpRootNode(rootNode, limit) : null;
264
+ },
265
+ });
237
266
  }
238
267
  #formatThirdPartyEntitySummaries(summaries) {
239
268
  const topMainThreadTimeEntries = summaries.toSorted((a, b) => b.mainThreadTime - a.mainThreadTime).slice(0, 5);
@@ -249,36 +278,36 @@ export class PerformanceTraceFormatter {
249
278
  return listText;
250
279
  }
251
280
  formatThirdPartySummary() {
252
- const insightSet = this.#insightSet;
253
- if (!insightSet) {
254
- return '';
255
- }
256
- const thirdParties = insightSet.model.ThirdParties;
257
- let summaries = thirdParties.entitySummaries ?? [];
258
- if (thirdParties.firstPartyEntity) {
259
- summaries = summaries.filter(s => s.entity !== thirdParties?.firstPartyEntity || null);
260
- }
261
- const listText = this.#formatThirdPartyEntitySummaries(summaries);
262
- if (!listText) {
263
- return '';
264
- }
265
- return `Third party summary:\n${listText}`;
281
+ const parsedTrace = this.#parsedTrace;
282
+ return this.#formatFactByInsightSet({
283
+ insights: parsedTrace.insights,
284
+ title: '3rd party summary',
285
+ empty: 'no 3rd parties',
286
+ cb: insightSet => {
287
+ const thirdPartySummaries = Trace.Extras.ThirdParties.summarizeByThirdParty(parsedTrace.data, insightSet.bounds);
288
+ return thirdPartySummaries.length ? this.#formatThirdPartyEntitySummaries(thirdPartySummaries) : null;
289
+ },
290
+ });
266
291
  }
267
292
  formatLongestTasks() {
268
293
  const parsedTrace = this.#parsedTrace;
269
- const insightSet = this.#insightSet;
270
- const bounds = parsedTrace.data.Meta.traceBounds;
271
- const longestTaskTrees = AIQueries.longestTasks(insightSet?.navigation?.args.data?.navigationId, bounds, parsedTrace, 3);
272
- if (!longestTaskTrees || longestTaskTrees.length === 0) {
273
- return 'Longest tasks: none';
274
- }
275
- const listText = longestTaskTrees
276
- .map(tree => {
277
- const time = millis(tree.rootNode.totalTime);
278
- return `- total time: ${time}, event: ${this.serializeEvent(tree.rootNode.event)}`;
279
- })
280
- .join('\n');
281
- return `Longest ${longestTaskTrees.length} tasks:\n${listText}`;
294
+ return this.#formatFactByInsightSet({
295
+ insights: parsedTrace.insights,
296
+ title: 'Longest tasks',
297
+ empty: 'none',
298
+ cb: insightSet => {
299
+ const longestTaskTrees = AIQueries.longestTasks(insightSet.navigation?.args.data?.navigationId, insightSet.bounds, parsedTrace, 3);
300
+ if (!longestTaskTrees?.length) {
301
+ return null;
302
+ }
303
+ return longestTaskTrees
304
+ .map(tree => {
305
+ const time = millis(tree.rootNode.totalTime);
306
+ return `- total time: ${time}, event: ${this.serializeEvent(tree.rootNode.event)}`;
307
+ })
308
+ .join('\n');
309
+ },
310
+ });
282
311
  }
283
312
  #serializeRelatedInsightsForEvents(events) {
284
313
  if (!events.length) {
@@ -314,16 +343,22 @@ export class PerformanceTraceFormatter {
314
343
  return results.join('\n');
315
344
  }
316
345
  formatMainThreadTrackSummary(bounds) {
346
+ if (!this.#parsedTrace.insights) {
347
+ return 'No main thread activity found';
348
+ }
317
349
  const results = [];
318
- const topDownTree = AIQueries.mainThreadActivityTopDown(this.#insightSet?.navigation?.args.data?.navigationId, bounds, this.#parsedTrace);
350
+ const insightSet = this.#parsedTrace.insights?.values().find(insightSet => Trace.Helpers.Timing.boundsIncludeTimeRange({ bounds, timeRange: insightSet.bounds }));
351
+ const topDownTree = AIQueries.mainThreadActivityTopDown(insightSet?.navigation?.args.data?.navigationId, bounds, this.#parsedTrace);
319
352
  if (topDownTree) {
320
353
  results.push('# Top-down main thread summary');
321
354
  results.push(this.formatCallTree(topDownTree, 2 /* headerLevel */));
322
355
  }
323
- const bottomUpRootNode = AIQueries.mainThreadActivityBottomUp(this.#insightSet?.navigation?.args.data?.navigationId, bounds, this.#parsedTrace);
356
+ const bottomUpRootNode = AIQueries.mainThreadActivityBottomUp(bounds, this.#parsedTrace);
324
357
  if (bottomUpRootNode) {
325
358
  results.push('# Bottom-up main thread summary');
326
- results.push(this.#serializeBottomUpRootNode(bottomUpRootNode, 20));
359
+ const limit = 20;
360
+ results.push(this.#getSerializeBottomUpRootNodeFormat(limit));
361
+ results.push(this.#serializeBottomUpRootNode(bottomUpRootNode, limit));
327
362
  }
328
363
  const thirdPartySummaries = Trace.Extras.ThirdParties.summarizeByThirdParty(this.#parsedTrace.data, bounds);
329
364
  if (thirdPartySummaries.length) {
@@ -29,6 +29,9 @@ export class AIQueries {
29
29
  }
30
30
  const threads = Trace.Handlers.Threads.threadsInTrace(parsedTrace.data);
31
31
  const thread = threads.find(thread => {
32
+ if (!thread.processIsOnMainFrame) {
33
+ return false;
34
+ }
32
35
  if (mainThreadPID && mainThreadTID) {
33
36
  return thread.pid === mainThreadPID && thread.tid === mainThreadTID;
34
37
  }
@@ -37,9 +40,9 @@ export class AIQueries {
37
40
  return thread ?? null;
38
41
  }
39
42
  /**
40
- * Returns bottom up activity for the given range.
43
+ * Returns bottom up activity for the given range (within a single navigation / thread).
41
44
  */
42
- static mainThreadActivityBottomUp(navigationId, bounds, parsedTrace) {
45
+ static mainThreadActivityBottomUpSingleNavigation(navigationId, bounds, parsedTrace) {
43
46
  const thread = this.findMainThread(navigationId, parsedTrace);
44
47
  if (!thread) {
45
48
  return null;
@@ -61,6 +64,47 @@ export class AIQueries {
61
64
  endTime,
62
65
  });
63
66
  }
67
+ /**
68
+ * Returns bottom up activity for the given range (no matter the navigation / thread).
69
+ */
70
+ static mainThreadActivityBottomUp(bounds, parsedTrace) {
71
+ const threads = [];
72
+ if (parsedTrace.insights) {
73
+ for (const insightSet of parsedTrace.insights?.values()) {
74
+ const thread = this.findMainThread(insightSet.navigation?.args.data?.navigationId, parsedTrace);
75
+ if (thread) {
76
+ threads.push(thread);
77
+ }
78
+ }
79
+ }
80
+ else {
81
+ const navigationId = parsedTrace.data.Meta.mainFrameNavigations[0].args.data?.navigationId;
82
+ const thread = this.findMainThread(navigationId, parsedTrace);
83
+ if (thread) {
84
+ threads.push(thread);
85
+ }
86
+ }
87
+ if (threads.length === 0) {
88
+ return null;
89
+ }
90
+ const threadEvents = [...new Set(threads)].map(thread => AICallTree.findEventsForThread({ thread, parsedTrace, bounds }) ?? []);
91
+ const events = threadEvents.flat();
92
+ if (events.length === 0) {
93
+ return null;
94
+ }
95
+ // Use the same filtering as front_end/panels/timeline/TimelineTreeView.ts.
96
+ const visibleEvents = Trace.Helpers.Trace.VISIBLE_TRACE_EVENT_TYPES.values().toArray();
97
+ const filter = new Trace.Extras.TraceFilter.VisibleEventsFilter(visibleEvents.concat(["SyntheticNetworkRequest" /* Trace.Types.Events.Name.SYNTHETIC_NETWORK_REQUEST */]));
98
+ // The bottom up root node handles all the "in Tracebounds" checks we need for the insight.
99
+ const startTime = Trace.Helpers.Timing.microToMilli(bounds.min);
100
+ const endTime = Trace.Helpers.Timing.microToMilli(bounds.max);
101
+ return new Trace.Extras.TraceTree.BottomUpRootNode(events, {
102
+ textFilter: new Trace.Extras.TraceFilter.ExclusiveNameFilter([]),
103
+ filters: [filter],
104
+ startTime,
105
+ endTime,
106
+ });
107
+ }
64
108
  /**
65
109
  * Returns an AI Call Tree representing the activity on the main thread for
66
110
  * the relevant time range of the given insight.
@@ -3,33 +3,34 @@
3
3
  // found in the LICENSE file.
4
4
  import * as Common from '../../core/common/common.js';
5
5
  import * as Platform from '../../core/platform/platform.js';
6
+ import * as Root from '../../core/root/root.js';
6
7
  import * as SDK from '../../core/sdk/sdk.js';
7
8
  import { LiveLocationWithPool, } from './LiveLocation.js';
8
9
  import { SASSSourceMapping } from './SASSSourceMapping.js';
9
10
  import { StylesSourceMapping } from './StylesSourceMapping.js';
10
- let cssWorkspaceBindingInstance;
11
11
  export class CSSWorkspaceBinding {
12
12
  #resourceMapping;
13
13
  #modelToInfo;
14
14
  #liveLocationPromises;
15
15
  constructor(resourceMapping, targetManager) {
16
16
  this.#resourceMapping = resourceMapping;
17
+ this.#resourceMapping.cssWorkspaceBinding = this;
17
18
  this.#modelToInfo = new Map();
18
19
  targetManager.observeModels(SDK.CSSModel.CSSModel, this);
19
20
  this.#liveLocationPromises = new Set();
20
21
  }
21
22
  static instance(opts = { forceNew: null, resourceMapping: null, targetManager: null }) {
22
23
  const { forceNew, resourceMapping, targetManager } = opts;
23
- if (!cssWorkspaceBindingInstance || forceNew) {
24
+ if (forceNew) {
24
25
  if (!resourceMapping || !targetManager) {
25
26
  throw new Error(`Unable to create CSSWorkspaceBinding: resourceMapping and targetManager must be provided: ${new Error().stack}`);
26
27
  }
27
- cssWorkspaceBindingInstance = new CSSWorkspaceBinding(resourceMapping, targetManager);
28
+ Root.DevToolsContext.globalInstance().set(CSSWorkspaceBinding, new CSSWorkspaceBinding(resourceMapping, targetManager));
28
29
  }
29
- return cssWorkspaceBindingInstance;
30
+ return Root.DevToolsContext.globalInstance().get(CSSWorkspaceBinding);
30
31
  }
31
32
  static removeInstance() {
32
- cssWorkspaceBindingInstance = undefined;
33
+ Root.DevToolsContext.globalInstance().delete(CSSWorkspaceBinding);
33
34
  }
34
35
  get modelToInfo() {
35
36
  return this.#modelToInfo;
@@ -40,10 +40,12 @@ export class CompilerScriptMapping {
40
40
  #sourceMapToProject = new Map();
41
41
  #uiSourceCodeToSourceMaps = new Platform.MapUtilities.Multimap();
42
42
  #debuggerModel;
43
+ #ignoreListManager;
43
44
  constructor(debuggerModel, workspace, debuggerWorkspaceBinding) {
44
45
  this.#sourceMapManager = debuggerModel.sourceMapManager();
45
46
  this.#debuggerWorkspaceBinding = debuggerWorkspaceBinding;
46
47
  this.#debuggerModel = debuggerModel;
48
+ this.#ignoreListManager = debuggerWorkspaceBinding.ignoreListManager;
47
49
  this.#stubProject = new ContentProviderBasedProject(workspace, 'jsSourceMaps:stub:' + debuggerModel.target().id(), Workspace.Workspace.projectTypes.Service, '', true /* isServiceProject */);
48
50
  this.#eventListeners = [
49
51
  this.#sourceMapManager.addEventListener(SDK.SourceMapManager.Events.SourceMapWillAttach, this.sourceMapWillAttach, this),
@@ -298,7 +300,7 @@ export class CompilerScriptMapping {
298
300
  // Create stub UISourceCode for the time source mapping is being loaded.
299
301
  this.addStubUISourceCode(script);
300
302
  void this.#debuggerWorkspaceBinding.updateLocations(script);
301
- if (Workspace.IgnoreListManager.IgnoreListManager.instance().isUserIgnoreListedURL(script.sourceURL, { isContentScript: script.isContentScript() })) {
303
+ if (this.#ignoreListManager.isUserIgnoreListedURL(script.sourceURL, { isContentScript: script.isContentScript() })) {
302
304
  this.#sourceMapManager.cancelAttachSourceMap(script);
303
305
  }
304
306
  }