chrome-devtools-frontend 1.0.1665921 → 1.0.1667564

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 (312) hide show
  1. package/.agents/skills/devtools-testing-guidance/SKILL.md +4 -0
  2. package/.agents/skills/migrate-chromium-test/SKILL.md +63 -48
  3. package/.agents/skills/ui-eng-vision-local-lit-renderer/SKILL.md +14 -5
  4. package/.agents/skills/ui-eng-vision-logic-consolidator/SKILL.md +11 -2
  5. package/.agents/skills/ui-eng-vision-orchestrator/SKILL.md +46 -9
  6. package/.agents/skills/ui-eng-vision-test-scaffolder/SKILL.md +20 -1
  7. package/.agents/skills/ui-eng-vision-widget-promoter/SKILL.md +9 -0
  8. package/front_end/core/host/AidaClient.ts +115 -64
  9. package/front_end/core/host/GcaClient.ts +3 -3
  10. package/front_end/core/host/InspectorFrontendHostAPI.ts +1 -0
  11. package/front_end/core/host/InspectorFrontendHostStub.ts +3 -3
  12. package/front_end/core/host/UserMetrics.ts +50 -13
  13. package/front_end/core/sdk/CSSMatchedStyles.ts +2 -5
  14. package/front_end/core/sdk/CSSPropertyParserMatchers.ts +12 -0
  15. package/front_end/core/sdk/Connections.ts +1 -1
  16. package/front_end/core/sdk/DOMModel.test.api.ts +104 -0
  17. package/front_end/core/sdk/DOMModel.ts +23 -11
  18. package/front_end/core/sdk/DebuggerModel.ts +9 -9
  19. package/front_end/core/sdk/IsolateManager.ts +1 -1
  20. package/front_end/core/sdk/NetworkManager.ts +105 -4
  21. package/front_end/core/sdk/NetworkRequest.ts +10 -55
  22. package/front_end/core/sdk/OverlayModel.ts +15 -14
  23. package/front_end/core/sdk/RemoteObject.ts +1 -1
  24. package/front_end/devtools_compatibility.js +1 -0
  25. package/front_end/entrypoints/main/MainImpl.ts +5 -12
  26. package/front_end/entrypoints/main/SimpleApp.ts +9 -3
  27. package/front_end/foundation/Universe.ts +22 -0
  28. package/front_end/generated/InspectorBackendCommands.ts +2 -2
  29. package/front_end/generated/protocol.ts +2 -1
  30. package/front_end/models/ai_assistance/agents/AiAgent.ts +22 -13
  31. package/front_end/models/ai_assistance/contexts/PerformanceTraceContext.ts +23 -10
  32. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +21 -5
  33. package/front_end/models/computed_style/ComputedStyleModel.ts +4 -7
  34. package/front_end/models/crux-manager/CrUXManager.ts +4 -0
  35. package/front_end/models/extensions/ExtensionAPI.ts +3 -3
  36. package/front_end/models/heap_snapshot/HeapSnapshotProxy.ts +2 -2
  37. package/front_end/models/issues_manager/CookieIssue.ts +6 -127
  38. package/front_end/models/issues_manager/descriptions/CoepCorpNotSameOrigin.md +2 -2
  39. package/front_end/models/issues_manager/descriptions/CoepCorpNotSameOriginAfterDefaultedToSameOriginByCoep.md +3 -3
  40. package/front_end/models/issues_manager/descriptions/CoepCorpNotSameSite.md +2 -2
  41. package/front_end/models/issues_manager/descriptions/CoepFrameResourceNeedsCoepHeader.md +1 -1
  42. package/front_end/models/issues_manager/descriptions/CompatibilityModeQuirks.md +1 -1
  43. package/front_end/models/issues_manager/descriptions/CookieAttributeValueExceedsMaxSize.md +2 -2
  44. package/front_end/models/issues_manager/descriptions/LowTextContrast.md +1 -1
  45. package/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureErrorRead.md +1 -1
  46. package/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureErrorSet.md +1 -1
  47. package/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureWarnRead.md +1 -1
  48. package/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureWarnSet.md +1 -1
  49. package/front_end/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeRead.md +3 -3
  50. package/front_end/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeSet.md +3 -3
  51. package/front_end/models/issues_manager/descriptions/bounceTrackingMitigations.md +1 -1
  52. package/front_end/models/issues_manager/descriptions/connectionAllowlistInvalidAllowlistItemType.md +2 -2
  53. package/front_end/models/issues_manager/descriptions/connectionAllowlistInvalidHeader.md +2 -2
  54. package/front_end/models/issues_manager/descriptions/connectionAllowlistInvalidUrlPattern.md +3 -3
  55. package/front_end/models/issues_manager/descriptions/connectionAllowlistItemNotInnerList.md +2 -2
  56. package/front_end/models/issues_manager/descriptions/connectionAllowlistMoreThanOneList.md +2 -2
  57. package/front_end/models/issues_manager/descriptions/connectionAllowlistReportingEndpointNotToken.md +1 -1
  58. package/front_end/models/issues_manager/descriptions/cookieCrossSiteRedirectDowngrade.md +3 -3
  59. package/front_end/models/issues_manager/descriptions/cookieExcludeBlockedWithinRelatedWebsiteSet.md +1 -1
  60. package/front_end/models/issues_manager/descriptions/cookieExcludePortMismatch.md +1 -1
  61. package/front_end/models/issues_manager/descriptions/cookieExcludeSchemeMismatch.md +1 -1
  62. package/front_end/models/issues_manager/descriptions/cookieExcludeThirdPartyPhaseoutSet.md +1 -1
  63. package/front_end/models/issues_manager/descriptions/cookieWarnThirdPartyPhaseoutRead.md +1 -1
  64. package/front_end/models/issues_manager/descriptions/corsAllowCredentialsRequired.md +1 -1
  65. package/front_end/models/issues_manager/descriptions/corsDisabledScheme.md +2 -2
  66. package/front_end/models/issues_manager/descriptions/corsDisallowedByMode.md +2 -2
  67. package/front_end/models/issues_manager/descriptions/corsHeaderDisallowedByPreflightResponse.md +1 -1
  68. package/front_end/models/issues_manager/descriptions/corsInvalidHeaderValues.md +3 -3
  69. package/front_end/models/issues_manager/descriptions/corsLocalNetworkAccessPermissionDenied.md +1 -1
  70. package/front_end/models/issues_manager/descriptions/corsMethodDisallowedByPreflightResponse.md +1 -1
  71. package/front_end/models/issues_manager/descriptions/corsNoCorsRedirectModeNotFollow.md +1 -1
  72. package/front_end/models/issues_manager/descriptions/corsOriginMismatch.md +3 -3
  73. package/front_end/models/issues_manager/descriptions/corsPreflightResponseInvalid.md +2 -2
  74. package/front_end/models/issues_manager/descriptions/corsRedirectContainsCredentials.md +3 -3
  75. package/front_end/models/issues_manager/descriptions/corsWildcardOriginNotAllowed.md +4 -3
  76. package/front_end/models/issues_manager/descriptions/cspEvalViolation.md +4 -4
  77. package/front_end/models/issues_manager/descriptions/cspInlineViolation.md +2 -2
  78. package/front_end/models/issues_manager/descriptions/cspTrustedTypesPolicyViolation.md +2 -2
  79. package/front_end/models/issues_manager/descriptions/cspTrustedTypesSinkViolation.md +4 -4
  80. package/front_end/models/issues_manager/descriptions/cspURLViolation.md +4 -4
  81. package/front_end/models/issues_manager/descriptions/emailVerificationRequestAccountsEmptyList.md +1 -1
  82. package/front_end/models/issues_manager/descriptions/emailVerificationRequestAccountsHttpNotFound.md +1 -1
  83. package/front_end/models/issues_manager/descriptions/emailVerificationRequestAccountsInvalidContentType.md +1 -1
  84. package/front_end/models/issues_manager/descriptions/emailVerificationRequestAccountsInvalidResponse.md +1 -1
  85. package/front_end/models/issues_manager/descriptions/emailVerificationRequestAccountsNoResponse.md +1 -1
  86. package/front_end/models/issues_manager/descriptions/emailVerificationRequestDnsFetchFailed.md +1 -1
  87. package/front_end/models/issues_manager/descriptions/emailVerificationRequestDnsInvalidRecord.md +1 -1
  88. package/front_end/models/issues_manager/descriptions/emailVerificationRequestEmailVerificationWellKnownHttpNotFound.md +1 -1
  89. package/front_end/models/issues_manager/descriptions/emailVerificationRequestEmailVerificationWellKnownInvalidContentType.md +1 -1
  90. package/front_end/models/issues_manager/descriptions/emailVerificationRequestEmailVerificationWellKnownInvalidResponse.md +1 -1
  91. package/front_end/models/issues_manager/descriptions/emailVerificationRequestEmailVerificationWellKnownNoResponse.md +1 -1
  92. package/front_end/models/issues_manager/descriptions/emailVerificationRequestInvalidEmail.md +1 -1
  93. package/front_end/models/issues_manager/descriptions/emailVerificationRequestJwksHttpNotFound.md +1 -1
  94. package/front_end/models/issues_manager/descriptions/emailVerificationRequestJwksInvalidResponse.md +1 -1
  95. package/front_end/models/issues_manager/descriptions/emailVerificationRequestKeyBindingSigningFailed.md +1 -1
  96. package/front_end/models/issues_manager/descriptions/emailVerificationRequestRpOriginIsOpaque.md +1 -1
  97. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenHttpNotFound.md +1 -1
  98. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenInvalidContentType.md +1 -1
  99. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenInvalidResponse.md +1 -1
  100. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenInvalidSdJwt.md +1 -1
  101. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenMalformedSdJwt.md +1 -1
  102. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenNoResponse.md +1 -1
  103. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationKbInvalidAudience.md +1 -1
  104. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationKbInvalidIssuedAt.md +1 -1
  105. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationKbInvalidNonce.md +1 -1
  106. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationKbInvalidSdHash.md +1 -1
  107. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationKbInvalidTyp.md +1 -1
  108. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationKbMissingAud.md +1 -1
  109. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationKbMissingCnf.md +1 -1
  110. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationKbMissingIat.md +1 -1
  111. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationKbMissingNonce.md +1 -1
  112. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationKbMissingSdHash.md +1 -1
  113. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationKbSignatureFailed.md +1 -1
  114. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationSdJwtInvalidEmail.md +1 -1
  115. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationSdJwtInvalidEmailVerified.md +1 -1
  116. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationSdJwtInvalidHolderKey.md +1 -1
  117. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationSdJwtInvalidIssuedAt.md +1 -1
  118. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationSdJwtInvalidIssuer.md +1 -1
  119. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationSdJwtJwksMissingKeys.md +1 -1
  120. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationSdJwtMissingCnf.md +1 -1
  121. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationSdJwtMissingEmail.md +1 -1
  122. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationSdJwtMissingIat.md +1 -1
  123. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationSdJwtMissingIss.md +1 -1
  124. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationSdJwtSignatureFailed.md +1 -1
  125. package/front_end/models/issues_manager/descriptions/emailVerificationRequestTokenVerificationSdJwtUnsupportedHeaderAlg.md +1 -1
  126. package/front_end/models/issues_manager/descriptions/emailVerificationRequestUserLoggedOut.md +1 -1
  127. package/front_end/models/issues_manager/descriptions/emailVerificationRequestWellKnownAccountsEndpointCrossOrigin.md +1 -1
  128. package/front_end/models/issues_manager/descriptions/emailVerificationRequestWellKnownHttpNotFound.md +1 -1
  129. package/front_end/models/issues_manager/descriptions/emailVerificationRequestWellKnownInvalidContentType.md +1 -1
  130. package/front_end/models/issues_manager/descriptions/emailVerificationRequestWellKnownInvalidResponse.md +1 -1
  131. package/front_end/models/issues_manager/descriptions/emailVerificationRequestWellKnownIssuanceEndpointCrossOrigin.md +1 -1
  132. package/front_end/models/issues_manager/descriptions/emailVerificationRequestWellKnownListEmpty.md +1 -1
  133. package/front_end/models/issues_manager/descriptions/emailVerificationRequestWellKnownMissingAccountsEndpoint.md +1 -1
  134. package/front_end/models/issues_manager/descriptions/emailVerificationRequestWellKnownMissingIssuanceEndpoint.md +1 -1
  135. package/front_end/models/issues_manager/descriptions/emailVerificationRequestWellKnownNoResponse.md +1 -1
  136. package/front_end/models/issues_manager/descriptions/emailVerificationRequestWellKnownUnsupportedSigningAlgorithm.md +1 -1
  137. package/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsHttpNotFound.md +1 -1
  138. package/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsInvalidResponse.md +1 -1
  139. package/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsNoResponse.md +1 -1
  140. package/front_end/models/issues_manager/descriptions/federatedAuthRequestApprovalDeclined.md +1 -1
  141. package/front_end/models/issues_manager/descriptions/federatedAuthRequestCanceled.md +1 -1
  142. package/front_end/models/issues_manager/descriptions/federatedAuthRequestErrorFetchingSignin.md +1 -1
  143. package/front_end/models/issues_manager/descriptions/federatedAuthRequestErrorIdToken.md +1 -1
  144. package/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenHttpNotFound.md +1 -1
  145. package/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidRequest.md +1 -1
  146. package/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidResponse.md +1 -1
  147. package/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenNoResponse.md +1 -1
  148. package/front_end/models/issues_manager/descriptions/federatedAuthRequestInvalidSigninResponse.md +1 -1
  149. package/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestHttpNotFound.md +1 -1
  150. package/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestInvalidResponse.md +1 -1
  151. package/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestNoResponse.md +1 -1
  152. package/front_end/models/issues_manager/descriptions/federatedAuthRequestTooManyRequests.md +1 -1
  153. package/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidAccountsResponse.md +1 -1
  154. package/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidConfigOrWellKnown.md +1 -1
  155. package/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoAccountSharingPermission.md +1 -1
  156. package/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoApiPermission.md +1 -1
  157. package/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoReturningUserFromFetchedAccounts.md +1 -1
  158. package/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotIframe.md +1 -1
  159. package/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotPotentiallyTrustworthy.md +1 -1
  160. package/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSameOrigin.md +1 -1
  161. package/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSignedInWithIdp.md +1 -1
  162. package/front_end/models/issues_manager/descriptions/fetchingPartitionedBlobURL.md +2 -2
  163. package/front_end/models/issues_manager/descriptions/genericFormAriaLabelledByToNonExistingIdError.md +2 -2
  164. package/front_end/models/issues_manager/descriptions/genericFormAutocompleteAttributeEmptyError.md +1 -1
  165. package/front_end/models/issues_manager/descriptions/genericFormDuplicateIdForInputError.md +1 -1
  166. package/front_end/models/issues_manager/descriptions/genericFormEmptyIdAndNameAttributesForInputError.md +2 -2
  167. package/front_end/models/issues_manager/descriptions/genericFormInputAssignedAutocompleteValueToIdOrNameAttributeError.md +2 -2
  168. package/front_end/models/issues_manager/descriptions/genericFormInputHasWrongButWellIntendedAutocompleteValueError.md +1 -1
  169. package/front_end/models/issues_manager/descriptions/genericFormInputWithNoLabelError.md +1 -1
  170. package/front_end/models/issues_manager/descriptions/genericFormLabelForMatchesNonExistingIdError.md +2 -2
  171. package/front_end/models/issues_manager/descriptions/genericFormLabelForNameError.md +1 -1
  172. package/front_end/models/issues_manager/descriptions/genericFormLabelHasNeitherForNorNestedInputError.md +1 -1
  173. package/front_end/models/issues_manager/descriptions/genericFormModelContextMissingToolName.md +1 -1
  174. package/front_end/models/issues_manager/descriptions/genericFormModelContextParameterMissingName.md +1 -1
  175. package/front_end/models/issues_manager/descriptions/genericFormModelContextRequiredParameterMissingName.md +1 -1
  176. package/front_end/models/issues_manager/descriptions/genericNavigationEntryMarkedSkippable.md +2 -2
  177. package/front_end/models/issues_manager/descriptions/heavyAd.md +1 -1
  178. package/front_end/models/issues_manager/descriptions/lazyLoadImageZeroSize.md +1 -1
  179. package/front_end/models/issues_manager/descriptions/navigatingPartitionedBlobURL.md +3 -3
  180. package/front_end/models/issues_manager/descriptions/permissionElementActivationDisabled.md +1 -1
  181. package/front_end/models/issues_manager/descriptions/permissionElementActivationDisabledWithOccluder.md +1 -1
  182. package/front_end/models/issues_manager/descriptions/permissionElementActivationDisabledWithOccluderParent.md +1 -1
  183. package/front_end/models/issues_manager/descriptions/permissionElementFencedFrameDisallowed.md +2 -2
  184. package/front_end/models/issues_manager/descriptions/permissionElementFontSizeTooLarge.md +2 -2
  185. package/front_end/models/issues_manager/descriptions/permissionElementFontSizeTooSmall.md +2 -2
  186. package/front_end/models/issues_manager/descriptions/permissionElementInsetBoxShadowUnsupported.md +1 -1
  187. package/front_end/models/issues_manager/descriptions/permissionElementInvalidDisplayStyle.md +2 -2
  188. package/front_end/models/issues_manager/descriptions/permissionElementInvalidSizeValue.md +2 -2
  189. package/front_end/models/issues_manager/descriptions/permissionElementInvalidType.md +2 -2
  190. package/front_end/models/issues_manager/descriptions/permissionElementInvalidTypeActivation.md +2 -2
  191. package/front_end/models/issues_manager/descriptions/permissionElementNonOpaqueColor.md +1 -1
  192. package/front_end/models/issues_manager/descriptions/permissionElementPaddingBottomUnsupported.md +2 -2
  193. package/front_end/models/issues_manager/descriptions/permissionElementPaddingRightUnsupported.md +2 -2
  194. package/front_end/models/issues_manager/descriptions/permissionElementRequestInProgress.md +2 -2
  195. package/front_end/models/issues_manager/descriptions/permissionElementSecurityChecksFailed.md +1 -1
  196. package/front_end/models/issues_manager/descriptions/permissionElementTypeNotSupported.md +2 -2
  197. package/front_end/models/issues_manager/descriptions/permissionElementUntrustedEvent.md +1 -1
  198. package/front_end/models/issues_manager/descriptions/placeholderDescriptionForInvisibleIssues.md +1 -1
  199. package/front_end/models/issues_manager/descriptions/selectElementAccessibilityDisallowedOptGroupChild.md +1 -1
  200. package/front_end/models/issues_manager/descriptions/selectElementAccessibilityDisallowedSelectChild.md +1 -1
  201. package/front_end/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentAttributesSelectDescendant.md +1 -1
  202. package/front_end/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentLegendChild.md +1 -1
  203. package/front_end/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentOptionChild.md +1 -1
  204. package/front_end/models/issues_manager/descriptions/selectElementAccessibilityNonPhrasingContentOptionChild.md +1 -1
  205. package/front_end/models/issues_manager/descriptions/selectivePermissionsIntervention.md +3 -3
  206. package/front_end/models/issues_manager/descriptions/sharedArrayBuffer.md +1 -1
  207. package/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorCrossOriginNoCorsRequest.md +1 -1
  208. package/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorMatchingDictionaryNotUsed.md +1 -1
  209. package/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorUnexpectedContentDictionaryHeader.md +1 -1
  210. package/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorCossOriginNoCorsRequest.md +1 -1
  211. package/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorDisallowedBySettings.md +1 -1
  212. package/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorExpiredResponse.md +1 -1
  213. package/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorFeatureDisabled.md +2 -2
  214. package/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidStructuredHeader.md +1 -1
  215. package/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNavigationRequest.md +2 -2
  216. package/front_end/models/issues_manager/descriptions/sriInvalidSignatureHeader.md +4 -4
  217. package/front_end/models/issues_manager/descriptions/sriInvalidSignatureInputHeader.md +4 -4
  218. package/front_end/models/issues_manager/descriptions/sriMissingSignatureHeader.md +1 -1
  219. package/front_end/models/issues_manager/descriptions/sriMissingSignatureInputHeader.md +2 -2
  220. package/front_end/models/issues_manager/descriptions/sriSignatureHeaderValueIsIncorrectLength.md +2 -2
  221. package/front_end/models/issues_manager/descriptions/sriSignatureHeaderValueIsNotByteSequence.md +4 -4
  222. package/front_end/models/issues_manager/descriptions/sriSignatureHeaderValueIsParameterized.md +4 -4
  223. package/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidComponentName.md +1 -1
  224. package/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidComponentType.md +2 -2
  225. package/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidDerivedComponentParameter.md +1 -1
  226. package/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidHeaderComponentParameter.md +1 -1
  227. package/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidParameter.md +2 -2
  228. package/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderKeyIdLength.md +5 -5
  229. package/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderMissingLabel.md +3 -3
  230. package/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderMissingRequiredParameters.md +2 -2
  231. package/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderValueMissingComponents.md +2 -2
  232. package/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderValueNotInnerList.md +2 -2
  233. package/front_end/models/issues_manager/descriptions/sriValidationFailedIntegrityMismatch.md +4 -4
  234. package/front_end/models/issues_manager/descriptions/sriValidationFailedInvalidLength.md +3 -3
  235. package/front_end/models/issues_manager/descriptions/sriValidationFailedSignatureExpired.md +2 -2
  236. package/front_end/models/issues_manager/descriptions/sriValidationFailedSignatureMismatch.md +2 -2
  237. package/front_end/models/issues_manager/descriptions/stylesheetLateImport.md +1 -1
  238. package/front_end/models/issues_manager/descriptions/summaryElementAccessibilityInteractiveContentSummaryDescendant.md +1 -1
  239. package/front_end/models/issues_manager/descriptions/unencodedDigestIncorrectDigestLength.md +2 -2
  240. package/front_end/models/issues_manager/descriptions/unencodedDigestIncorrectDigestType.md +3 -3
  241. package/front_end/models/issues_manager/descriptions/unencodedDigestMalformedDictionary.md +2 -2
  242. package/front_end/models/issues_manager/descriptions/unencodedDigestUnknownAlgorithm.md +1 -1
  243. package/front_end/models/live-metrics/LiveMetrics.ts +59 -19
  244. package/front_end/models/live-metrics/web-vitals-injected/README.md +1 -1
  245. package/front_end/models/live-metrics/web-vitals-injected/spec/spec.ts +6 -1
  246. package/front_end/models/live-metrics/web-vitals-injected/web-vitals-injected.ts +11 -3
  247. package/front_end/models/logs/LogManager.ts +1 -1
  248. package/front_end/models/persistence/FileSystemWorkspaceBinding.ts +1 -1
  249. package/front_end/models/source_map_scopes/FunctionCodeResolver.ts +6 -7
  250. package/front_end/models/workspace_diff/WorkspaceDiff.ts +13 -14
  251. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +15 -7
  252. package/front_end/panels/application/BackgroundServiceView.ts +18 -20
  253. package/front_end/panels/application/DOMStorageItemsView.ts +1 -2
  254. package/front_end/panels/application/KeyValueStorageItemsView.ts +12 -0
  255. package/front_end/panels/autofill/AutofillView.ts +17 -17
  256. package/front_end/panels/autofill/autofillView.css +7 -8
  257. package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +31 -31
  258. package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.ts +15 -15
  259. package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +12 -12
  260. package/front_end/panels/browser_debugger/browser_debugger-meta.ts +27 -27
  261. package/front_end/panels/common/AiCodeCompletionDisclaimer.ts +14 -6
  262. package/front_end/panels/common/AiCodeCompletionSummaryToolbar.ts +14 -6
  263. package/front_end/panels/common/AiCodeCompletionTeaser.ts +13 -6
  264. package/front_end/panels/common/GeminiRebrandPromoDialog.ts +1 -1
  265. package/front_end/panels/console/ConsoleInsightTeaser.ts +13 -6
  266. package/front_end/panels/console/ConsoleView.ts +6 -6
  267. package/front_end/panels/console_counters/WarningErrorCounter.ts +4 -4
  268. package/front_end/panels/coverage/CoverageModel.ts +11 -1
  269. package/front_end/panels/elements/StylePropertiesSection.ts +59 -10
  270. package/front_end/panels/elements/StylesAiCodeCompletionProvider.ts +18 -7
  271. package/front_end/panels/elements/StylesSidebarPane.ts +48 -0
  272. package/front_end/panels/emulation/AdvancedApp.ts +18 -8
  273. package/front_end/panels/emulation/DeviceModeToolbar.ts +0 -1
  274. package/front_end/panels/emulation/DeviceModeView.ts +289 -164
  275. package/front_end/panels/emulation/MediaQueryInspector.ts +10 -6
  276. package/front_end/panels/emulation/deviceModeView.css +1 -0
  277. package/front_end/panels/event_listeners/EventListenersView.ts +8 -8
  278. package/front_end/panels/explain/components/ConsoleInsight.ts +15 -7
  279. package/front_end/panels/lighthouse/LighthouseController.ts +1 -6
  280. package/front_end/panels/network/NetworkLogView.ts +13 -14
  281. package/front_end/panels/screencast/ScreencastApp.ts +12 -6
  282. package/front_end/panels/screencast/ScreencastView.ts +37 -11
  283. package/front_end/panels/sensors/locationsSettingsTab.css +4 -0
  284. package/front_end/panels/settings/AISettingsTab.ts +13 -6
  285. package/front_end/panels/sources/DebuggerPlugin.ts +13 -2
  286. package/front_end/panels/sources/breakpointEditDialog.css +2 -2
  287. package/front_end/panels/timeline/components/LiveMetricsView.ts +14 -1
  288. package/front_end/panels/timeline/components/cpuThrottlingSelector.css +4 -0
  289. package/front_end/panels/timeline/components/liveMetricsView.css +28 -0
  290. package/front_end/panels/timeline/timeline-meta.ts +13 -0
  291. package/front_end/third_party/chromium/README.chromium +1 -1
  292. package/front_end/ui/components/menus/menu.css +4 -0
  293. package/front_end/ui/components/menus/menuItem.css +4 -0
  294. package/front_end/ui/components/menus/selectMenu.css +4 -0
  295. package/front_end/ui/components/menus/selectMenuButton.css +4 -0
  296. package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +21 -10
  297. package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +23 -12
  298. package/front_end/ui/components/text_editor/config.ts +7 -0
  299. package/front_end/ui/legacy/AppProvider.ts +2 -1
  300. package/front_end/ui/legacy/RootView.ts +8 -1
  301. package/front_end/ui/legacy/UniverseRequestEvent.ts +19 -0
  302. package/front_end/ui/legacy/Widget.ts +49 -6
  303. package/front_end/ui/legacy/inspectorCommon.css +1 -1
  304. package/front_end/ui/legacy/legacy.ts +2 -0
  305. package/front_end/ui/visual_logging/KnownContextValues.ts +2 -0
  306. package/package.json +1 -2
  307. package/front_end/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeRead.md +0 -8
  308. package/front_end/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeSet.md +0 -8
  309. package/front_end/models/issues_manager/descriptions/SameSiteExcludeNavigationContextDowngrade.md +0 -8
  310. package/front_end/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeRead.md +0 -8
  311. package/front_end/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeSet.md +0 -8
  312. package/front_end/models/issues_manager/descriptions/SameSiteWarnStrictLaxDowngradeStrict.md +0 -8
@@ -17,6 +17,7 @@ import * as DataGrid from '../../ui/legacy/components/data_grid/data_grid.js';
17
17
  // eslint-disable-next-line @devtools/es-modules-import
18
18
  import emptyWidgetStyles from '../../ui/legacy/emptyWidget.css.js';
19
19
  import * as UI from '../../ui/legacy/legacy.js';
20
+ import {html, render} from '../../ui/lit/lit.js';
20
21
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
21
22
 
22
23
  import {type BackgroundServiceModel, Events} from './BackgroundServiceModel.js';
@@ -554,26 +555,23 @@ export class EventDataNode extends DataGrid.DataGrid.DataGridNode<EventData> {
554
555
  preview.element.classList.add('background-service-metadata');
555
556
  preview.element.setAttribute('jslog', `${VisualLogging.section('metadata')}`);
556
557
 
557
- for (const entry of this.eventMetadata) {
558
- const div = document.createElement('div');
559
- div.classList.add('background-service-metadata-entry');
560
- div.createChild('div', 'background-service-metadata-name').textContent = entry.key + ': ';
561
- if (entry.value) {
562
- div.createChild('div', 'background-service-metadata-value source-code').textContent = entry.value;
563
- } else {
564
- div.createChild('div', 'background-service-metadata-value background-service-empty-value').textContent =
565
- i18nString(UIStrings.empty);
566
- }
567
- preview.element.appendChild(div);
568
- }
569
-
570
- if (!preview.element.children.length) {
571
- const div = document.createElement('div');
572
- div.classList.add('background-service-metadata-entry');
573
- div.createChild('div', 'background-service-metadata-name background-service-empty-value').textContent =
574
- i18nString(UIStrings.noMetadataForThisEvent);
575
- preview.element.appendChild(div);
576
- }
558
+ // clang-format off
559
+ // eslint-disable-next-line @devtools/no-lit-render-outside-of-view
560
+ render(
561
+ html`${this.eventMetadata.length > 0 ? this.eventMetadata.map(entry => html`
562
+ <div class="background-service-metadata-entry">
563
+ <div class="background-service-metadata-name">${entry.key}: </div>${
564
+ entry.value ?
565
+ html`<div class="background-service-metadata-value source-code">${entry.value}</div>` :
566
+ html`<div class="background-service-metadata-value background-service-empty-value">${i18nString(UIStrings.empty)}</div>`}
567
+ </div>
568
+ `) : html`
569
+ <div class="background-service-metadata-entry">
570
+ <div class="background-service-metadata-name background-service-empty-value">${i18nString(UIStrings.noMetadataForThisEvent)}</div>
571
+ </div>
572
+ `}`,
573
+ preview.element, {host: this});
574
+ // clang-format on
577
575
 
578
576
  return preview;
579
577
  }
@@ -1,7 +1,6 @@
1
1
  // Copyright 2021 The Chromium Authors
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
- /* eslint-disable @devtools/no-imperative-dom-api */
5
4
 
6
5
  /*
7
6
  * Copyright (C) 2008 Nokia Inc. All rights reserved.
@@ -104,7 +103,7 @@ export class DOMStorageItemsView extends KeyValueStorageItemsView {
104
103
  Common.EventTarget.removeEventListeners(this.eventListeners);
105
104
  this.domStorage = domStorage;
106
105
  const storageKind = domStorage.isLocalStorage ? 'local-storage-data' : 'session-storage-data';
107
- this.element.setAttribute('jslog', `${VisualLogging.pane().context(storageKind)}`);
106
+ this.jslog = `${VisualLogging.pane().context(storageKind)}`;
108
107
  if (domStorage.storageKey) {
109
108
  this.toolbar?.setStorageKey(domStorage.storageKey);
110
109
  }
@@ -436,6 +436,18 @@ export abstract class KeyValueStorageItemsView extends UI.Widget.VBox {
436
436
  }
437
437
  }
438
438
 
439
+ protected set jslog(jslog: string|undefined) {
440
+ if (this.#jslog === jslog) {
441
+ return;
442
+ }
443
+ this.#jslog = jslog;
444
+ this.performUpdate();
445
+ }
446
+
447
+ protected get jslog(): string|undefined {
448
+ return this.#jslog;
449
+ }
450
+
439
451
  set editable(editable: boolean) {
440
452
  this.#editable = editable;
441
453
  this.performUpdate();
@@ -260,24 +260,24 @@ const DEFAULT_VIEW: View = (input: ViewInput, _output: ViewOutput, target: HTMLE
260
260
  <style>${UI.inspectorCommonStyles}</style>
261
261
  <main>
262
262
  <div class="content-container" jslog=${VisualLogging.pane('autofill')}>
263
- <div class="right-to-left" role="region" aria-label=${i18nString(UIStrings.addressPreview)}>
264
- <div class="header">
265
- <div class="label-container">
266
- <devtools-checkbox
267
- ${bindToSetting(input.showTestAddressesInAutofillMenuSetting)}
268
- title=${i18nString(UIStrings.showTestAddressesInAutofillMenu)}>
269
- ${i18nString(UIStrings.showTestAddressesInAutofillMenu)}
270
- </devtools-checkbox>
271
- </div>
272
- <div class="label-container">
273
- <devtools-checkbox
274
- ${bindToSetting(input.autoOpenViewSetting)}
275
- title=${i18nString(UIStrings.autoShowTooltip)}>
276
- ${i18nString(UIStrings.autoShow)}
277
- </devtools-checkbox>
278
- </div>
279
- <devtools-link href=${AUTOFILL_FEEDBACK_URL} class="feedback link" jslogcontext="feedback">${i18nString(UIStrings.sendFeedback)}</devtools-link>
263
+ <div class="header">
264
+ <div class="label-container">
265
+ <devtools-checkbox
266
+ ${bindToSetting(input.showTestAddressesInAutofillMenuSetting)}
267
+ title=${i18nString(UIStrings.showTestAddressesInAutofillMenu)}>
268
+ ${i18nString(UIStrings.showTestAddressesInAutofillMenu)}
269
+ </devtools-checkbox>
270
+ </div>
271
+ <div class="label-container">
272
+ <devtools-checkbox
273
+ ${bindToSetting(input.autoOpenViewSetting)}
274
+ title=${i18nString(UIStrings.autoShowTooltip)}>
275
+ ${i18nString(UIStrings.autoShow)}
276
+ </devtools-checkbox>
280
277
  </div>
278
+ <devtools-link href=${AUTOFILL_FEEDBACK_URL} class="feedback link" jslogcontext="feedback">${i18nString(UIStrings.sendFeedback)}</devtools-link>
279
+ </div>
280
+ <div role="region" aria-label=${i18nString(UIStrings.addressPreview)}>
281
281
  ${renderAddress()}
282
282
  </div>
283
283
  ${renderFilledFields()}
@@ -7,10 +7,12 @@
7
7
  @scope to (devtools-widget > *) {
8
8
  main {
9
9
  height: 100%;
10
+ overflow: auto;
10
11
  }
11
12
 
12
13
  .header {
13
14
  display: flex;
15
+ flex-wrap: wrap;
14
16
  border-bottom: 1px solid var(--sys-color-divider);
15
17
  width: 100%;
16
18
  }
@@ -20,11 +22,12 @@
20
22
  display: flex;
21
23
  justify-content: center;
22
24
  align-items: center;
25
+ overflow: auto;
23
26
  }
24
27
 
25
28
  .address {
26
29
  padding: 10px;
27
- margin-right: auto;
30
+ border-bottom: 1px solid var(--sys-color-divider);
28
31
  }
29
32
 
30
33
  .filled-fields-grid {
@@ -36,10 +39,12 @@
36
39
  display: flex;
37
40
  flex-flow: column;
38
41
  height: 100%;
42
+ overflow: auto;
39
43
  }
40
44
 
41
45
  .grid-wrapper {
42
46
  flex-grow: 1;
47
+ min-height: 0;
43
48
  }
44
49
 
45
50
  devtools-data-grid {
@@ -52,13 +57,6 @@
52
57
  align-items: center;
53
58
  }
54
59
 
55
- .right-to-left {
56
- border-bottom: 1px solid var(--sys-color-divider);
57
- display: flex;
58
- flex-flow: row-reverse wrap;
59
- justify-content: flex-end;
60
- }
61
-
62
60
  .label-container {
63
61
  padding: 5px;
64
62
  display: flex;
@@ -68,6 +66,7 @@
68
66
  .top-left-corner {
69
67
  border-bottom: 1px solid var(--sys-color-divider);
70
68
  display: flex;
69
+ flex-wrap: wrap;
71
70
  padding: 5px;
72
71
  gap: 10px;
73
72
  }
@@ -14,23 +14,23 @@ import categorizedBreakpointsSidebarPaneStyles from './categorizedBreakpointsSid
14
14
 
15
15
  const UIStrings = {
16
16
  /**
17
- * @description Category of breakpoints
17
+ * @description Category of event listener breakpoints for Ad Auction Worklet events.
18
18
  */
19
- auctionWorklet: 'Ad Auction Worklet',
19
+ auctionWorklet: 'Ad auction worklet',
20
20
  /**
21
- * @description Text that refers to the animation of the web page
21
+ * @description Category of event listener breakpoints for animation events.
22
22
  */
23
23
  animation: 'Animation',
24
24
  /**
25
- * @description Screen reader description of a hit breakpoint in the Sources panel
25
+ * @description Screen reader description of a hit breakpoint in the Sources panel.
26
26
  */
27
27
  breakpointHit: 'breakpoint hit',
28
28
  /**
29
- * @description Text in DOMDebugger Model
29
+ * @description Category of event listener breakpoints for canvas events.
30
30
  */
31
31
  canvas: 'Canvas',
32
32
  /**
33
- * @description Text in DOMDebugger Model
33
+ * @description Category of event listener breakpoints for clipboard events.
34
34
  */
35
35
  clipboard: 'Clipboard',
36
36
  /**
@@ -38,87 +38,87 @@ const UIStrings = {
38
38
  */
39
39
  control: 'Control',
40
40
  /**
41
- * @description Text that refers to device such as a phone
41
+ * @description Category of event listener breakpoints for device events.
42
42
  */
43
43
  device: 'Device',
44
44
  /**
45
- * @description Text in DOMDebugger Model
45
+ * @description Category of event listener breakpoints for DOM mutation events.
46
46
  */
47
- domMutation: 'DOM Mutation',
47
+ domMutation: 'DOM mutation',
48
48
  /**
49
- * @description Text in DOMDebugger Model
49
+ * @description Category of event listener breakpoints for drag and drop events.
50
50
  */
51
51
  dragDrop: 'Drag / drop',
52
52
  /**
53
- * @description Title for a group of cities
53
+ * @description Category of event listener breakpoints for geolocation events.
54
54
  */
55
55
  geolocation: 'Geolocation',
56
56
  /**
57
- * @description Text in DOMDebugger Model
57
+ * @description Category of event listener breakpoints for keyboard events.
58
58
  */
59
59
  keyboard: 'Keyboard',
60
60
  /**
61
- * @description Text to load something
61
+ * @description Category of event listener breakpoints for load events.
62
62
  */
63
63
  load: 'Load',
64
64
  /**
65
- * @description Text that appears on a button for the media resource type filter.
65
+ * @description Category of event listener breakpoints for media events.
66
66
  */
67
67
  media: 'Media',
68
68
  /**
69
- * @description Text in DOMDebugger Model
69
+ * @description Category of event listener breakpoints for mouse events.
70
70
  */
71
71
  mouse: 'Mouse',
72
72
  /**
73
- * @description Text in DOMDebugger Model
73
+ * @description Category of event listener breakpoints for notification events.
74
74
  */
75
75
  notification: 'Notification',
76
76
  /**
77
- * @description Text to parse something
77
+ * @description Category of event listener breakpoints for parse events.
78
78
  */
79
79
  parse: 'Parse',
80
80
  /**
81
- * @description Text in DOMDebugger Model
81
+ * @description Category of event listener breakpoints for picture-in-picture events.
82
82
  */
83
- pictureinpicture: 'Picture-in-Picture',
83
+ pictureinpicture: 'Picture-in-picture',
84
84
  /**
85
- * @description Text in DOMDebugger Model
85
+ * @description Category of event listener breakpoints for pointer events.
86
86
  */
87
87
  pointer: 'Pointer',
88
88
  /**
89
- * @description Label for a group of JavaScript files
89
+ * @description Category of event listener breakpoints for script events.
90
90
  */
91
91
  script: 'Script',
92
92
  /**
93
- * @description Category of breakpoints
93
+ * @description Category of event listener breakpoints for shared storage worklet events.
94
94
  */
95
- sharedStorageWorklet: 'Shared Storage Worklet',
95
+ sharedStorageWorklet: 'Shared storage worklet',
96
96
  /**
97
- * @description Text in DOMDebugger Model
97
+ * @description Category of event listener breakpoints for timer events.
98
98
  */
99
99
  timer: 'Timer',
100
100
  /**
101
- * @description Text for the touch type to simulate on a device
101
+ * @description Category of event listener breakpoints for touch events.
102
102
  */
103
103
  touch: 'Touch',
104
104
  /**
105
- * @description Title for a category of breakpoints on Trusted Type violations
105
+ * @description Category of event listener breakpoints for Trusted Type violations.
106
106
  */
107
- trustedTypeViolations: 'Trusted Type Violations',
107
+ trustedTypeViolations: '`Trusted Type` violations',
108
108
  /**
109
- * @description Title of the WebAudio tool
109
+ * @description Category of event listener breakpoints for WebAudio events.
110
110
  */
111
111
  webaudio: 'WebAudio',
112
112
  /**
113
- * @description Text in DOMDebugger Model
113
+ * @description Category of event listener breakpoints for window events.
114
114
  */
115
115
  window: 'Window',
116
116
  /**
117
- * @description Text for the service worker type.
117
+ * @description Category of event listener breakpoints for worker events.
118
118
  */
119
119
  worker: 'Worker',
120
120
  /**
121
- * @description Text that appears on a button for the xhr resource type filter.
121
+ * @description Category of event listener breakpoints for XHR events.
122
122
  */
123
123
  xhr: 'XHR',
124
124
  } as const;
@@ -17,25 +17,25 @@ import domBreakpointsSidebarPaneStyles from './domBreakpointsSidebarPane.css.js'
17
17
 
18
18
  const UIStrings = {
19
19
  /**
20
- * @description Header text to indicate there are no breakpoints
20
+ * @description Header text to indicate there are no DOM breakpoints.
21
21
  */
22
22
  noBreakpoints: 'No DOM breakpoints',
23
23
  /**
24
- * @description DOM breakpoints description that shows if no DOM breakpoints are set
24
+ * @description Description shown when no DOM breakpoints are set.
25
25
  */
26
26
  domBreakpointsDescription: 'DOM breakpoints pause on the code that changes a DOM node or its children.',
27
27
  /**
28
- * @description Accessibility label for the DOM breakpoints list in the Sources panel
28
+ * @description Accessibility label for the DOM breakpoints list in the Sources panel.
29
29
  */
30
- domBreakpointsList: 'DOM Breakpoints list',
30
+ domBreakpointsList: 'DOM breakpoints list',
31
31
  /**
32
- * @description Text with two placeholders separated by a colon
32
+ * @description Text with two placeholders separated by a colon.
33
33
  * @example {Node removed} PH1
34
34
  * @example {div#id1} PH2
35
35
  */
36
36
  sS: '{PH1}: {PH2}',
37
37
  /**
38
- * @description Text with three placeholders separated by a colon and a comma
38
+ * @description Text with three placeholders separated by a colon and a comma.
39
39
  * @example {Node removed} PH1
40
40
  * @example {div#id1} PH2
41
41
  * @example {checked} PH3
@@ -55,7 +55,7 @@ const UIStrings = {
55
55
  */
56
56
  sBreakpointHit: '{PH1} breakpoint hit',
57
57
  /**
58
- * @description Screen reader description of a hit breakpoint in the Sources panel
58
+ * @description Screen reader description of a hit breakpoint in the Sources panel.
59
59
  */
60
60
  breakpointHit: 'breakpoint hit',
61
61
  /**
@@ -63,30 +63,30 @@ const UIStrings = {
63
63
  */
64
64
  revealDomNodeInElementsPanel: 'Reveal DOM node in Elements panel',
65
65
  /**
66
- * @description Text to remove a breakpoint
66
+ * @description Context menu item to remove a breakpoint.
67
67
  */
68
68
  removeBreakpoint: 'Remove breakpoint',
69
69
  /**
70
- * @description A context menu item in the DOMBreakpoints Sidebar Pane of the JavaScript Debugging pane in the Sources panel or the DOM Breakpoints pane in the Elements panel
70
+ * @description Context menu item in the DOM Breakpoints sidebar of the Sources panel or the Elements panel to remove all DOM breakpoints.
71
71
  */
72
72
  removeAllDomBreakpoints: 'Remove all DOM breakpoints',
73
73
  /**
74
- * @description Text in DOMBreakpoints Sidebar Pane of the JavaScript Debugging pane in the Sources panel or the DOM Breakpoints pane in the Elements panel
74
+ * @description Label for subtree modified DOM breakpoint type.
75
75
  */
76
76
  subtreeModified: 'Subtree modified',
77
77
  /**
78
- * @description Text in DOMBreakpoints Sidebar Pane of the JavaScript Debugging pane in the Sources panel or the DOM Breakpoints pane in the Elements panel
78
+ * @description Label for attribute modified DOM breakpoint type.
79
79
  */
80
80
  attributeModified: 'Attribute modified',
81
81
  /**
82
- * @description Text in DOMBreakpoints Sidebar Pane of the JavaScript Debugging pane in the Sources panel or the DOM Breakpoints pane in the Elements panel
82
+ * @description Label for node removed DOM breakpoint type.
83
83
  */
84
84
  nodeRemoved: 'Node removed',
85
85
  /**
86
- * @description Entry in context menu of the elements pane, allowing developers to select a DOM
86
+ * @description Entry in context menu of the Elements panel, allowing developers to select a DOM
87
87
  * breakpoint for the element that they have right-clicked on. Short for the action 'set a
88
- * breakpoint on this DOM Element'. A breakpoint pauses the website when the code reaches a
89
- * specified line, or when a specific action happen (in this case, when the DOM Element is
88
+ * breakpoint on this DOM element'. A breakpoint pauses the website when the code reaches a
89
+ * specified line, or when a specific action happens (in this case, when the DOM element is
90
90
  * modified).
91
91
  */
92
92
  breakOn: 'Break on',
@@ -18,11 +18,11 @@ const {classMap, ifDefined, ref} = Directives;
18
18
 
19
19
  const UIStrings = {
20
20
  /**
21
- * @description Title of the 'XHR/fetch Breakpoints' tool in the bottom sidebar of the Sources tool
21
+ * @description Title of the XHR/fetch breakpoints sidebar in the Sources panel.
22
22
  */
23
- xhrfetchBreakpoints: 'XHR/fetch Breakpoints',
23
+ xhrfetchBreakpoints: 'XHR/fetch breakpoints',
24
24
  /**
25
- * @description Text to indicate there are no breakpoints
25
+ * @description Text to indicate there are no XHR/fetch breakpoints.
26
26
  */
27
27
  noBreakpoints: 'No breakpoints',
28
28
  /**
@@ -30,36 +30,36 @@ const UIStrings = {
30
30
  */
31
31
  addXhrfetchBreakpoint: 'Add XHR/fetch breakpoint',
32
32
  /**
33
- * @description Text to add a breakpoint
33
+ * @description Context menu item to add an XHR/fetch breakpoint.
34
34
  */
35
35
  addBreakpoint: 'Add breakpoint',
36
36
  /**
37
- * @description Input element container text content in XHRBreakpoints Sidebar Pane of the JavaScript Debugging pane in the Sources panel or the DOM Breakpoints pane in the Elements panel
37
+ * @description Text preceding the input field to add an XHR/fetch breakpoint in the Sources panel.
38
38
  */
39
39
  breakWhenUrlContains: 'Break when URL contains:',
40
40
  /**
41
- * @description Accessible label for XHR/fetch breakpoint text input
41
+ * @description Accessible label for XHR/fetch breakpoint text input.
42
42
  */
43
- urlBreakpoint: 'URL Breakpoint',
43
+ urlBreakpoint: 'URL breakpoint',
44
44
  /**
45
- * @description Text in XHRBreakpoints Sidebar Pane of the JavaScript Debugging pane in the Sources panel or the DOM Breakpoints pane in the Elements panel
45
+ * @description Label for an XHR/fetch breakpoint targeting a specific URL in the Sources panel.
46
46
  * @example {example.com} PH1
47
47
  */
48
48
  urlContainsS: 'URL contains "{PH1}"',
49
49
  /**
50
- * @description Text in XHRBreakpoints Sidebar Pane of the JavaScript Debugging pane in the Sources panel or the DOM Breakpoints pane in the Elements panel
50
+ * @description Label for an XHR/fetch breakpoint matching any XHR or fetch request in the Sources panel.
51
51
  */
52
52
  anyXhrOrFetch: 'Any XHR or fetch',
53
53
  /**
54
- * @description Screen reader description of a hit breakpoint in the Sources panel
54
+ * @description Screen reader description of a hit breakpoint in the Sources panel.
55
55
  */
56
56
  breakpointHit: 'breakpoint hit',
57
57
  /**
58
- * @description Text to remove all breakpoints
58
+ * @description Context menu item to remove all XHR/fetch breakpoints.
59
59
  */
60
60
  removeAllBreakpoints: 'Remove all breakpoints',
61
61
  /**
62
- * @description Text to remove a breakpoint
62
+ * @description Context menu item to remove an XHR/fetch breakpoint.
63
63
  */
64
64
  removeBreakpoint: 'Remove breakpoint',
65
65
  } as const;
@@ -12,71 +12,71 @@ import type * as BrowserDebugger from './browser_debugger.js';
12
12
 
13
13
  const UIStrings = {
14
14
  /**
15
- * @description Command for showing the 'Event Listener Breakpoints' tool
15
+ * @description Command for showing the Event listener breakpoints sidebar in the Sources panel.
16
16
  */
17
- showEventListenerBreakpoints: 'Show Event Listener Breakpoints',
17
+ showEventListenerBreakpoints: 'Show Event listener breakpoints',
18
18
  /**
19
- * @description Title of the 'Event Listener Breakpoints' tool in the bottom sidebar of the Sources tool
19
+ * @description Title of the Event listener breakpoints sidebar in the Sources panel.
20
20
  */
21
- eventListenerBreakpoints: 'Event Listener Breakpoints',
21
+ eventListenerBreakpoints: 'Event listener breakpoints',
22
22
  /**
23
- * @description Title for showing the 'CSP Violation Breakpoints' tool in the Sources panel
23
+ * @description Command for showing the CSP violation breakpoints sidebar in the Sources panel.
24
24
  */
25
- showCspViolationBreakpoints: 'Show CSP Violation Breakpoints',
25
+ showCspViolationBreakpoints: 'Show CSP violation breakpoints',
26
26
  /**
27
- * @description Title of the 'CSP Violation Breakpoints' tool in the bottom sidebar of the Sources tool
27
+ * @description Title of the CSP violation breakpoints sidebar in the Sources panel.
28
28
  */
29
- cspViolationBreakpoints: 'CSP Violation Breakpoints',
29
+ cspViolationBreakpoints: 'CSP violation breakpoints',
30
30
  /**
31
- * @description Command for showing the 'XHR/fetch Breakpoints' in the sources panel
31
+ * @description Command for showing the XHR/fetch breakpoints sidebar in the Sources panel.
32
32
  */
33
- showXhrfetchBreakpoints: 'Show XHR/fetch Breakpoints',
33
+ showXhrfetchBreakpoints: 'Show XHR/fetch breakpoints',
34
34
  /**
35
- * @description Title of the 'XHR/fetch Breakpoints' tool in the bottom sidebar of the Sources tool
35
+ * @description Title of the XHR/fetch breakpoints sidebar in the Sources panel.
36
36
  */
37
- xhrfetchBreakpoints: 'XHR/fetch Breakpoints',
37
+ xhrfetchBreakpoints: 'XHR/fetch breakpoints',
38
38
  /**
39
- * @description Command for showing the 'DOM Breakpoints' tool in the Elements panel
39
+ * @description Command for showing the DOM breakpoints sidebar.
40
40
  */
41
- showDomBreakpoints: 'Show DOM Breakpoints',
41
+ showDomBreakpoints: 'Show DOM breakpoints',
42
42
  /**
43
- * @description Title of the 'DOM Breakpoints' tool in the bottom sidebar of the Sources tool
43
+ * @description Title of the DOM breakpoints sidebar.
44
44
  */
45
- domBreakpoints: 'DOM Breakpoints',
45
+ domBreakpoints: 'DOM breakpoints',
46
46
  /**
47
- * @description Command for showing the 'Global Listeners' tool in the sources panel
47
+ * @description Command for showing the Global listeners sidebar in the Sources panel.
48
48
  */
49
- showGlobalListeners: 'Show Global Listeners',
49
+ showGlobalListeners: 'Show Global listeners',
50
50
  /**
51
- * @description Title of the 'Global Listeners' tool in the bottom sidebar of the Sources tool
51
+ * @description Title of the Global listeners sidebar in the Sources panel.
52
52
  */
53
- globalListeners: 'Global Listeners',
53
+ globalListeners: 'Global listeners',
54
54
  /**
55
- * @description Text that refers to one or a group of webpages
55
+ * @description Title of the Page tab in the Sources panel.
56
56
  */
57
57
  page: 'Page',
58
58
  /**
59
- * @description Command for showing the 'Page' tab in the Sources panel
59
+ * @description Command for showing the Page tab in the Sources panel.
60
60
  */
61
61
  showPage: 'Show Page',
62
62
  /**
63
- * @description Title as part of a tool to override existing configurations
63
+ * @description Title of the Overrides tab in the Sources panel.
64
64
  */
65
65
  overrides: 'Overrides',
66
66
  /**
67
- * @description Command for showing the 'Overrides' tool in the Sources panel
67
+ * @description Command for showing the Overrides tab in the Sources panel.
68
68
  */
69
69
  showOverrides: 'Show Overrides',
70
70
  /**
71
- * @description Title for a type of source files
71
+ * @description Title of the Content scripts tab in the Sources panel.
72
72
  */
73
73
  contentScripts: 'Content scripts',
74
74
  /**
75
- * @description Command for showing the 'Content scripts' tool in the sources panel
75
+ * @description Command for showing the Content scripts tab in the Sources panel.
76
76
  */
77
77
  showContentScripts: 'Show Content scripts',
78
78
  /**
79
- * @description Label for a button in the sources panel that refreshes the list of global event listeners.
79
+ * @description Label for a button in the Sources panel that refreshes the list of global event listeners.
80
80
  */
81
81
  refreshGlobalListeners: 'Refresh global listeners',
82
82
  } as const;
@@ -5,6 +5,7 @@
5
5
  import '../../ui/components/spinners/spinners.js';
6
6
  import '../../ui/components/tooltips/tooltips.js';
7
7
 
8
+ import type * as Common from '../../core/common/common.js';
8
9
  import * as Host from '../../core/host/host.js';
9
10
  import * as i18n from '../../core/i18n/i18n.js';
10
11
  import * as Root from '../../core/root/root.js';
@@ -196,7 +197,8 @@ export class AiCodeCompletionDisclaimer extends UI.Widget.Widget {
196
197
  #panel?: AiCodeCompletion.AiCodeCompletion.ContextFlavor;
197
198
 
198
199
  #aidaAvailability?: Host.AidaClient.AidaAccessPreconditions;
199
- #boundOnAidaAvailabilityChange: () => Promise<void>;
200
+ #boundOnAidaAvailabilityChange:
201
+ (ev: Common.EventTarget.EventTargetEvent<Host.AidaClient.AidaAccessPreconditions>) => void;
200
202
 
201
203
  constructor(element?: HTMLElement, view: View = DEFAULT_SUMMARY_TOOLBAR_VIEW) {
202
204
  super(element);
@@ -249,14 +251,17 @@ export class AiCodeCompletionDisclaimer extends UI.Widget.Widget {
249
251
  this.requestUpdate();
250
252
  }
251
253
 
252
- async #onAidaAvailabilityChange(): Promise<void> {
253
- const currentAidaAvailability = await Host.AidaClient.AidaClient.checkAccessPreconditions();
254
- if (currentAidaAvailability !== this.#aidaAvailability) {
255
- this.#aidaAvailability = currentAidaAvailability;
254
+ #updateAidaAvailability(aidaAvailability: Host.AidaClient.AidaAccessPreconditions): void {
255
+ if (aidaAvailability !== this.#aidaAvailability) {
256
+ this.#aidaAvailability = aidaAvailability;
256
257
  this.requestUpdate();
257
258
  }
258
259
  }
259
260
 
261
+ #onAidaAvailabilityChange(ev: Common.EventTarget.EventTargetEvent<Host.AidaClient.AidaAccessPreconditions>): void {
262
+ this.#updateAidaAvailability(ev.data);
263
+ }
264
+
260
265
  #onManageInSettingsTooltipClick(): void {
261
266
  this.#viewOutput.hideTooltip?.();
262
267
  void UI.ViewManager.ViewManager.instance().showView('chrome-ai');
@@ -279,7 +284,10 @@ export class AiCodeCompletionDisclaimer extends UI.Widget.Widget {
279
284
  super.wasShown();
280
285
  Host.AidaClient.HostConfigTracker.instance().addEventListener(
281
286
  Host.AidaClient.Events.AIDA_AVAILABILITY_CHANGED, this.#boundOnAidaAvailabilityChange);
282
- void this.#onAidaAvailabilityChange();
287
+ const initialAvailability = Host.AidaClient.HostConfigTracker.instance().aidaAvailability;
288
+ if (initialAvailability !== undefined) {
289
+ this.#updateAidaAvailability(initialAvailability);
290
+ }
283
291
  }
284
292
 
285
293
  override willHide(): void {