opera-devtools-mcp 0.2.4 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/README.md +104 -7
  2. package/build/src/McpContext.js +365 -365
  3. package/build/src/McpPage.js +475 -48
  4. package/build/src/McpResponse.js +462 -288
  5. package/build/src/SlimMcpResponse.js +1 -1
  6. package/build/src/TextSnapshot.js +101 -22
  7. package/build/src/ToolHandler.js +142 -20
  8. package/build/src/bin/check-latest-version.js +27 -1
  9. package/build/src/bin/chrome-devtools-cli-options.js +573 -10
  10. package/build/src/bin/chrome-devtools-mcp-cli-options.js +119 -32
  11. package/build/src/bin/chrome-devtools-mcp-main.js +50 -7
  12. package/build/src/bin/chrome-devtools-mcp.js +7 -4
  13. package/build/src/bin/chrome-devtools.js +57 -14
  14. package/build/src/bin/opera-devtools-cli-options.js +3 -829
  15. package/build/src/bin/opera-devtools-mcp-cli-options.js +3 -348
  16. package/build/src/bin/opera-devtools-mcp-main.js +3 -37
  17. package/build/src/bin/opera-devtools-mcp.js +4 -19
  18. package/build/src/bin/opera-devtools.js +4 -185
  19. package/build/src/browser.js +45 -5
  20. package/build/src/{PageCollector.js → collectors/PageCollector.js} +64 -133
  21. package/build/src/collectors/ServiceWorkerCollector.js +171 -0
  22. package/build/src/daemon/client.js +75 -17
  23. package/build/src/daemon/daemon.js +92 -30
  24. package/build/src/daemon/utils.js +24 -8
  25. package/build/src/{DevtoolsUtils.js → devtools/DevtoolsUtils.js} +94 -88
  26. package/build/src/devtools/McpHostBindingAdapter.js +165 -0
  27. package/build/src/{issue-descriptions.js → devtools/issueDescriptions.js} +8 -6
  28. package/build/src/formatters/ConsoleFormatter.js +44 -11
  29. package/build/src/formatters/HeapSnapshotFormatter.js +140 -9
  30. package/build/src/formatters/IssueFormatter.js +7 -7
  31. package/build/src/formatters/NetworkFormatter.js +10 -8
  32. package/build/src/index.js +101 -232
  33. package/build/src/opera/branding.js +34 -0
  34. package/build/src/opera/browserFlags.js +85 -0
  35. package/build/src/opera/browserLaunch.js +52 -0
  36. package/build/src/opera/policy.js +50 -0
  37. package/build/src/opera/serviceWorkerRetry.js +37 -0
  38. package/build/src/opera/toolHandlerHooks.js +39 -0
  39. package/build/src/{tools → opera/tools}/opera.js +9 -21
  40. package/build/src/processors/HeapSnapshotManager.js +258 -0
  41. package/build/src/{trace-processing/parse.js → processors/PerformanceTrace.js} +9 -9
  42. package/build/src/telemetry/ClearcutLogger.js +12 -119
  43. package/build/src/telemetry/WatchdogClient.js +5 -5
  44. package/build/src/telemetry/errors.js +1 -1
  45. package/build/src/telemetry/flagUtils.js +6 -6
  46. package/build/src/telemetry/{toolMetricsUtils.js → metricsRegistry.js} +4 -11
  47. package/build/src/telemetry/persistence.js +3 -3
  48. package/build/src/telemetry/transformation.js +184 -0
  49. package/build/src/telemetry/watchdog/ClearcutSender.js +11 -11
  50. package/build/src/telemetry/watchdog/main.js +6 -6
  51. package/build/src/third_party/THIRD_PARTY_NOTICES +232 -1061
  52. package/build/src/third_party/bundled-packages.json +6 -8
  53. package/build/src/third_party/devtools-formatter-worker.js +63 -22
  54. package/build/src/third_party/devtools-heap-snapshot-worker.js +809 -182
  55. package/build/src/third_party/index.js +69558 -74691
  56. package/build/src/third_party/issue-descriptions/CoepCorpNotSameOrigin.md +2 -2
  57. package/build/src/third_party/issue-descriptions/CoepCorpNotSameOriginAfterDefaultedToSameOriginByCoep.md +3 -3
  58. package/build/src/third_party/issue-descriptions/CoepCorpNotSameSite.md +2 -2
  59. package/build/src/third_party/issue-descriptions/CoepFrameResourceNeedsCoepHeader.md +1 -1
  60. package/build/src/third_party/issue-descriptions/CompatibilityModeQuirks.md +1 -1
  61. package/build/src/third_party/issue-descriptions/CookieAttributeValueExceedsMaxSize.md +2 -2
  62. package/build/src/third_party/issue-descriptions/LowTextContrast.md +1 -1
  63. package/build/src/third_party/issue-descriptions/SameSiteNoneInsecureErrorRead.md +1 -1
  64. package/build/src/third_party/issue-descriptions/SameSiteNoneInsecureErrorSet.md +1 -1
  65. package/build/src/third_party/issue-descriptions/SameSiteNoneInsecureWarnRead.md +1 -1
  66. package/build/src/third_party/issue-descriptions/SameSiteNoneInsecureWarnSet.md +1 -1
  67. package/build/src/third_party/issue-descriptions/SameSiteUnspecifiedLaxAllowUnsafeRead.md +3 -3
  68. package/build/src/third_party/issue-descriptions/SameSiteUnspecifiedLaxAllowUnsafeSet.md +3 -3
  69. package/build/src/third_party/issue-descriptions/bounceTrackingMitigations.md +1 -1
  70. package/build/src/third_party/issue-descriptions/connectionAllowlistEmbeddingRequirementNotSatisfied.md +26 -0
  71. package/build/src/third_party/issue-descriptions/connectionAllowlistIFrameAttributeLoosensEmbeddingRequirement.md +19 -0
  72. package/build/src/third_party/issue-descriptions/connectionAllowlistInvalidAllowConnectionAllowlistFrom.md +21 -0
  73. package/build/src/third_party/issue-descriptions/connectionAllowlistInvalidAllowlistItemType.md +2 -2
  74. package/build/src/third_party/issue-descriptions/connectionAllowlistInvalidHeader.md +2 -2
  75. package/build/src/third_party/issue-descriptions/connectionAllowlistInvalidUrlPattern.md +3 -3
  76. package/build/src/third_party/issue-descriptions/connectionAllowlistItemNotInnerList.md +2 -2
  77. package/build/src/third_party/issue-descriptions/connectionAllowlistMoreThanOneList.md +2 -2
  78. package/build/src/third_party/issue-descriptions/connectionAllowlistReportingEndpointNotToken.md +1 -1
  79. package/build/src/third_party/issue-descriptions/cookieCrossSiteRedirectDowngrade.md +3 -3
  80. package/build/src/third_party/issue-descriptions/cookieExcludeBlockedWithinRelatedWebsiteSet.md +1 -1
  81. package/build/src/third_party/issue-descriptions/cookieExcludePortMismatch.md +1 -1
  82. package/build/src/third_party/issue-descriptions/cookieExcludeSchemeMismatch.md +1 -1
  83. package/build/src/third_party/issue-descriptions/cookieExcludeThirdPartyPhaseoutSet.md +1 -1
  84. package/build/src/third_party/issue-descriptions/cookieWarnThirdPartyPhaseoutRead.md +1 -1
  85. package/build/src/third_party/issue-descriptions/corsAllowCredentialsRequired.md +1 -1
  86. package/build/src/third_party/issue-descriptions/corsDisabledScheme.md +2 -2
  87. package/build/src/third_party/issue-descriptions/corsDisallowedByMode.md +2 -2
  88. package/build/src/third_party/issue-descriptions/corsHeaderDisallowedByPreflightResponse.md +1 -1
  89. package/build/src/third_party/issue-descriptions/corsInvalidHeaderValues.md +3 -3
  90. package/build/src/third_party/issue-descriptions/corsLocalNetworkAccessPermissionDenied.md +1 -1
  91. package/build/src/third_party/issue-descriptions/corsMethodDisallowedByPreflightResponse.md +1 -1
  92. package/build/src/third_party/issue-descriptions/corsNoCorsRedirectModeNotFollow.md +1 -1
  93. package/build/src/third_party/issue-descriptions/corsOriginMismatch.md +3 -3
  94. package/build/src/third_party/issue-descriptions/corsPreflightResponseInvalid.md +2 -2
  95. package/build/src/third_party/issue-descriptions/corsRedirectContainsCredentials.md +3 -3
  96. package/build/src/third_party/issue-descriptions/corsWildcardOriginNotAllowed.md +4 -3
  97. package/build/src/third_party/issue-descriptions/cspEvalViolation.md +4 -4
  98. package/build/src/third_party/issue-descriptions/cspInlineViolation.md +2 -2
  99. package/build/src/third_party/issue-descriptions/cspTrustedTypesPolicyViolation.md +2 -2
  100. package/build/src/third_party/issue-descriptions/cspTrustedTypesSinkViolation.md +4 -4
  101. package/build/src/third_party/issue-descriptions/cspURLViolation.md +4 -4
  102. package/build/src/third_party/issue-descriptions/emailVerificationRequestAccountsEmptyList.md +1 -0
  103. package/build/src/third_party/issue-descriptions/emailVerificationRequestAccountsHttpNotFound.md +1 -0
  104. package/build/src/third_party/issue-descriptions/emailVerificationRequestAccountsInvalidContentType.md +1 -0
  105. package/build/src/third_party/issue-descriptions/emailVerificationRequestAccountsInvalidResponse.md +1 -0
  106. package/build/src/third_party/issue-descriptions/emailVerificationRequestAccountsNoResponse.md +1 -0
  107. package/build/src/third_party/issue-descriptions/emailVerificationRequestDnsFetchFailed.md +1 -0
  108. package/build/src/third_party/issue-descriptions/emailVerificationRequestDnsInvalidRecord.md +1 -0
  109. package/build/src/third_party/issue-descriptions/emailVerificationRequestEmailVerificationWellKnownHttpNotFound.md +1 -0
  110. package/build/src/third_party/issue-descriptions/emailVerificationRequestEmailVerificationWellKnownInvalidContentType.md +1 -0
  111. package/build/src/third_party/issue-descriptions/emailVerificationRequestEmailVerificationWellKnownInvalidResponse.md +1 -0
  112. package/build/src/third_party/issue-descriptions/emailVerificationRequestEmailVerificationWellKnownNoResponse.md +1 -0
  113. package/build/src/third_party/issue-descriptions/emailVerificationRequestInvalidEmail.md +1 -0
  114. package/build/src/third_party/issue-descriptions/emailVerificationRequestJwksHttpNotFound.md +1 -0
  115. package/build/src/third_party/issue-descriptions/emailVerificationRequestJwksInvalidResponse.md +1 -0
  116. package/build/src/third_party/issue-descriptions/emailVerificationRequestKeyBindingSigningFailed.md +1 -0
  117. package/build/src/third_party/issue-descriptions/emailVerificationRequestRpOriginIsOpaque.md +1 -0
  118. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenHttpNotFound.md +1 -0
  119. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenInvalidContentType.md +1 -0
  120. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenInvalidResponse.md +1 -0
  121. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenInvalidSdJwt.md +1 -0
  122. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenMalformedSdJwt.md +1 -0
  123. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenNoResponse.md +1 -0
  124. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbInvalidAudience.md +1 -0
  125. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbInvalidIssuedAt.md +1 -0
  126. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbInvalidNonce.md +1 -0
  127. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbInvalidSdHash.md +1 -0
  128. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbInvalidTyp.md +1 -0
  129. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbMissingAud.md +1 -0
  130. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbMissingCnf.md +1 -0
  131. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbMissingIat.md +1 -0
  132. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbMissingNonce.md +1 -0
  133. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbMissingSdHash.md +1 -0
  134. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbSignatureFailed.md +1 -0
  135. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtInvalidEmail.md +1 -0
  136. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtInvalidEmailVerified.md +1 -0
  137. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtInvalidHolderKey.md +1 -0
  138. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtInvalidIssuedAt.md +1 -0
  139. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtInvalidIssuer.md +1 -0
  140. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtJwksMissingKeys.md +1 -0
  141. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtMissingCnf.md +1 -0
  142. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtMissingEmail.md +1 -0
  143. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtMissingIat.md +1 -0
  144. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtMissingIss.md +1 -0
  145. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtSignatureFailed.md +1 -0
  146. package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtUnsupportedHeaderAlg.md +1 -0
  147. package/build/src/third_party/issue-descriptions/emailVerificationRequestUserLoggedOut.md +1 -0
  148. package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownAccountsEndpointCrossOrigin.md +1 -0
  149. package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownHttpNotFound.md +1 -0
  150. package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownInvalidContentType.md +1 -0
  151. package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownInvalidResponse.md +1 -0
  152. package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownIssuanceEndpointCrossOrigin.md +1 -0
  153. package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownListEmpty.md +1 -0
  154. package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownMissingAccountsEndpoint.md +1 -0
  155. package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownMissingIssuanceEndpoint.md +1 -0
  156. package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownNoResponse.md +1 -0
  157. package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownUnsupportedSigningAlgorithm.md +1 -0
  158. package/build/src/third_party/issue-descriptions/federatedAuthRequestAccountsHttpNotFound.md +1 -1
  159. package/build/src/third_party/issue-descriptions/federatedAuthRequestAccountsInvalidResponse.md +1 -1
  160. package/build/src/third_party/issue-descriptions/federatedAuthRequestAccountsNoResponse.md +1 -1
  161. package/build/src/third_party/issue-descriptions/federatedAuthRequestApprovalDeclined.md +1 -1
  162. package/build/src/third_party/issue-descriptions/federatedAuthRequestCanceled.md +1 -1
  163. package/build/src/third_party/issue-descriptions/federatedAuthRequestErrorFetchingSignin.md +1 -1
  164. package/build/src/third_party/issue-descriptions/federatedAuthRequestErrorIdToken.md +1 -1
  165. package/build/src/third_party/issue-descriptions/federatedAuthRequestIdTokenHttpNotFound.md +1 -1
  166. package/build/src/third_party/issue-descriptions/federatedAuthRequestIdTokenInvalidRequest.md +1 -1
  167. package/build/src/third_party/issue-descriptions/federatedAuthRequestIdTokenInvalidResponse.md +1 -1
  168. package/build/src/third_party/issue-descriptions/federatedAuthRequestIdTokenNoResponse.md +1 -1
  169. package/build/src/third_party/issue-descriptions/federatedAuthRequestInvalidSigninResponse.md +1 -1
  170. package/build/src/third_party/issue-descriptions/federatedAuthRequestManifestHttpNotFound.md +1 -1
  171. package/build/src/third_party/issue-descriptions/federatedAuthRequestManifestInvalidResponse.md +1 -1
  172. package/build/src/third_party/issue-descriptions/federatedAuthRequestManifestNoResponse.md +1 -1
  173. package/build/src/third_party/issue-descriptions/federatedAuthRequestTooManyRequests.md +1 -1
  174. package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestInvalidAccountsResponse.md +1 -1
  175. package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestInvalidConfigOrWellKnown.md +1 -1
  176. package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNoAccountSharingPermission.md +1 -1
  177. package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNoApiPermission.md +1 -1
  178. package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNoReturningUserFromFetchedAccounts.md +1 -1
  179. package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNotIframe.md +1 -1
  180. package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNotPotentiallyTrustworthy.md +1 -1
  181. package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNotSameOrigin.md +1 -1
  182. package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNotSignedInWithIdp.md +1 -1
  183. package/build/src/third_party/issue-descriptions/fetchingPartitionedBlobURL.md +2 -2
  184. package/build/src/third_party/issue-descriptions/genericBackUINavigationWouldSkipAd.md +4 -0
  185. package/build/src/third_party/issue-descriptions/genericFormAriaLabelledByToNonExistingIdError.md +2 -2
  186. package/build/src/third_party/issue-descriptions/genericFormAutocompleteAttributeEmptyError.md +1 -1
  187. package/build/src/third_party/issue-descriptions/genericFormDuplicateIdForInputError.md +1 -1
  188. package/build/src/third_party/issue-descriptions/genericFormEmptyIdAndNameAttributesForInputError.md +2 -2
  189. package/build/src/third_party/issue-descriptions/genericFormInputAssignedAutocompleteValueToIdOrNameAttributeError.md +2 -2
  190. package/build/src/third_party/issue-descriptions/genericFormInputHasWrongButWellIntendedAutocompleteValueError.md +1 -1
  191. package/build/src/third_party/issue-descriptions/genericFormInputWithNoLabelError.md +1 -1
  192. package/build/src/third_party/issue-descriptions/genericFormLabelForMatchesNonExistingIdError.md +2 -2
  193. package/build/src/third_party/issue-descriptions/genericFormLabelForNameError.md +1 -1
  194. package/build/src/third_party/issue-descriptions/genericFormLabelHasNeitherForNorNestedInputError.md +1 -1
  195. package/build/src/third_party/issue-descriptions/genericFormModelContextMissingToolName.md +1 -1
  196. package/build/src/third_party/issue-descriptions/genericFormModelContextParameterMissingName.md +1 -1
  197. package/build/src/third_party/issue-descriptions/genericFormModelContextRequiredParameterMissingName.md +1 -1
  198. package/build/src/third_party/issue-descriptions/genericNavigationEntryMarkedSkippable.md +2 -2
  199. package/build/src/third_party/issue-descriptions/heavyAd.md +1 -1
  200. package/build/src/third_party/issue-descriptions/lazyLoadImageZeroSize.md +7 -0
  201. package/build/src/third_party/issue-descriptions/navigatingPartitionedBlobURL.md +3 -3
  202. package/build/src/third_party/issue-descriptions/permissionElementActivationDisabled.md +1 -1
  203. package/build/src/third_party/issue-descriptions/permissionElementActivationDisabledWithOccluder.md +1 -1
  204. package/build/src/third_party/issue-descriptions/permissionElementActivationDisabledWithOccluderParent.md +1 -1
  205. package/build/src/third_party/issue-descriptions/permissionElementFencedFrameDisallowed.md +2 -2
  206. package/build/src/third_party/issue-descriptions/permissionElementFontSizeTooLarge.md +2 -2
  207. package/build/src/third_party/issue-descriptions/permissionElementFontSizeTooSmall.md +2 -2
  208. package/build/src/third_party/issue-descriptions/permissionElementInsetBoxShadowUnsupported.md +1 -1
  209. package/build/src/third_party/issue-descriptions/permissionElementInvalidDisplayStyle.md +2 -2
  210. package/build/src/third_party/issue-descriptions/permissionElementInvalidSizeValue.md +2 -2
  211. package/build/src/third_party/issue-descriptions/permissionElementInvalidType.md +2 -2
  212. package/build/src/third_party/issue-descriptions/permissionElementInvalidTypeActivation.md +2 -2
  213. package/build/src/third_party/issue-descriptions/permissionElementNonOpaqueColor.md +1 -1
  214. package/build/src/third_party/issue-descriptions/permissionElementPaddingBottomUnsupported.md +2 -2
  215. package/build/src/third_party/issue-descriptions/permissionElementPaddingRightUnsupported.md +2 -2
  216. package/build/src/third_party/issue-descriptions/permissionElementRequestInProgress.md +2 -2
  217. package/build/src/third_party/issue-descriptions/permissionElementSecurityChecksFailed.md +1 -1
  218. package/build/src/third_party/issue-descriptions/permissionElementTypeNotSupported.md +2 -2
  219. package/build/src/third_party/issue-descriptions/permissionElementUntrustedEvent.md +1 -1
  220. package/build/src/third_party/issue-descriptions/placeholderDescriptionForInvisibleIssues.md +1 -1
  221. package/build/src/third_party/issue-descriptions/selectElementAccessibilityDisallowedOptGroupChild.md +1 -1
  222. package/build/src/third_party/issue-descriptions/selectElementAccessibilityDisallowedSelectChild.md +1 -1
  223. package/build/src/third_party/issue-descriptions/selectElementAccessibilityInteractiveContentAttributesSelectDescendant.md +1 -1
  224. package/build/src/third_party/issue-descriptions/selectElementAccessibilityInteractiveContentLegendChild.md +1 -1
  225. package/build/src/third_party/issue-descriptions/selectElementAccessibilityInteractiveContentOptionChild.md +1 -1
  226. package/build/src/third_party/issue-descriptions/selectElementAccessibilityNonPhrasingContentOptionChild.md +1 -1
  227. package/build/src/third_party/issue-descriptions/selectivePermissionsIntervention.md +3 -3
  228. package/build/src/third_party/issue-descriptions/sharedArrayBuffer.md +1 -1
  229. package/build/src/third_party/issue-descriptions/sharedDictionaryUseErrorCrossOriginNoCorsRequest.md +1 -1
  230. package/build/src/third_party/issue-descriptions/sharedDictionaryUseErrorMatchingDictionaryNotUsed.md +1 -1
  231. package/build/src/third_party/issue-descriptions/sharedDictionaryUseErrorUnexpectedContentDictionaryHeader.md +1 -1
  232. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorCossOriginNoCorsRequest.md +1 -1
  233. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorDisallowedBySettings.md +1 -1
  234. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorExpiredResponse.md +1 -1
  235. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorFeatureDisabled.md +2 -2
  236. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorInvalidStructuredHeader.md +1 -1
  237. package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNavigationRequest.md +2 -2
  238. package/build/src/third_party/issue-descriptions/sriInvalidSignatureHeader.md +4 -4
  239. package/build/src/third_party/issue-descriptions/sriInvalidSignatureInputHeader.md +4 -4
  240. package/build/src/third_party/issue-descriptions/sriMissingSignatureHeader.md +1 -1
  241. package/build/src/third_party/issue-descriptions/sriMissingSignatureInputHeader.md +2 -2
  242. package/build/src/third_party/issue-descriptions/sriSignatureHeaderValueIsIncorrectLength.md +2 -2
  243. package/build/src/third_party/issue-descriptions/sriSignatureHeaderValueIsNotByteSequence.md +4 -4
  244. package/build/src/third_party/issue-descriptions/sriSignatureHeaderValueIsParameterized.md +4 -4
  245. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidComponentName.md +1 -1
  246. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidComponentType.md +2 -2
  247. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidDerivedComponentParameter.md +1 -1
  248. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidHeaderComponentParameter.md +1 -1
  249. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidParameter.md +2 -2
  250. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderKeyIdLength.md +5 -5
  251. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderMissingLabel.md +3 -3
  252. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderMissingRequiredParameters.md +2 -2
  253. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderValueMissingComponents.md +2 -2
  254. package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderValueNotInnerList.md +2 -2
  255. package/build/src/third_party/issue-descriptions/sriValidationFailedIntegrityMismatch.md +4 -4
  256. package/build/src/third_party/issue-descriptions/sriValidationFailedInvalidLength.md +3 -3
  257. package/build/src/third_party/issue-descriptions/sriValidationFailedSignatureExpired.md +2 -2
  258. package/build/src/third_party/issue-descriptions/sriValidationFailedSignatureMismatch.md +2 -2
  259. package/build/src/third_party/issue-descriptions/stylesheetLateImport.md +1 -1
  260. package/build/src/third_party/issue-descriptions/summaryElementAccessibilityInteractiveContentSummaryDescendant.md +1 -1
  261. package/build/src/third_party/issue-descriptions/unencodedDigestIncorrectDigestLength.md +2 -2
  262. package/build/src/third_party/issue-descriptions/unencodedDigestIncorrectDigestType.md +3 -3
  263. package/build/src/third_party/issue-descriptions/unencodedDigestMalformedDictionary.md +2 -2
  264. package/build/src/third_party/issue-descriptions/unencodedDigestUnknownAlgorithm.md +1 -1
  265. package/build/src/third_party/lighthouse-devtools-mcp-bundle.js +3177 -6340
  266. package/build/src/tools/ToolDefinition.js +2 -2
  267. package/build/src/tools/categories.js +3 -0
  268. package/build/src/tools/console.js +13 -0
  269. package/build/src/tools/emulation.js +30 -3
  270. package/build/src/tools/extensions.js +8 -1
  271. package/build/src/tools/input.js +246 -128
  272. package/build/src/tools/lighthouse.js +14 -7
  273. package/build/src/tools/memory.js +289 -25
  274. package/build/src/tools/network.js +10 -7
  275. package/build/src/tools/pages.js +33 -92
  276. package/build/src/tools/performance.js +67 -52
  277. package/build/src/tools/pwa.js +128 -0
  278. package/build/src/tools/screencast.js +35 -12
  279. package/build/src/tools/screenshot.js +234 -75
  280. package/build/src/tools/script.js +130 -45
  281. package/build/src/tools/slim/tools.js +3 -0
  282. package/build/src/tools/snapshot.js +7 -4
  283. package/build/src/tools/thirdPartyDeveloper.js +19 -9
  284. package/build/src/tools/tools.js +3 -1
  285. package/build/src/tools/webmcp.js +3 -1
  286. package/build/src/utils/WaitForHelper.js +299 -0
  287. package/build/src/utils/check-for-updates.js +8 -2
  288. package/build/src/utils/files.js +42 -3
  289. package/build/src/utils/logger.js +51 -0
  290. package/build/src/utils/polyfill.js +11 -0
  291. package/build/src/utils/url.js +43 -0
  292. package/build/src/version.js +1 -1
  293. package/package.json +42 -33
  294. package/build/src/DevToolsConnectionAdapter.js +0 -70
  295. package/build/src/HeapSnapshotManager.js +0 -110
  296. package/build/src/Mutex.js +0 -38
  297. package/build/src/WaitForHelper.js +0 -195
  298. package/build/src/bin/cliDefinitions.js +0 -616
  299. package/build/src/logger.js +0 -37
  300. package/build/src/polyfill.js +0 -8
  301. package/build/src/telemetry/metricUtils.js +0 -15
  302. package/build/src/third_party/issue-descriptions/SameSiteExcludeContextDowngradeRead.md +0 -8
  303. package/build/src/third_party/issue-descriptions/SameSiteExcludeContextDowngradeSet.md +0 -8
  304. package/build/src/third_party/issue-descriptions/SameSiteExcludeNavigationContextDowngrade.md +0 -8
  305. package/build/src/third_party/issue-descriptions/SameSiteWarnCrossDowngradeRead.md +0 -8
  306. package/build/src/third_party/issue-descriptions/SameSiteWarnCrossDowngradeSet.md +0 -8
  307. package/build/src/third_party/issue-descriptions/SameSiteWarnStrictLaxDowngradeStrict.md +0 -8
  308. package/build/src/third_party/issue-descriptions/arInsecureContext.md +0 -7
  309. package/build/src/third_party/issue-descriptions/arInvalidInfoHeader.md +0 -5
  310. package/build/src/third_party/issue-descriptions/arInvalidRegisterOsSourceHeader.md +0 -5
  311. package/build/src/third_party/issue-descriptions/arInvalidRegisterOsTriggerHeader.md +0 -5
  312. package/build/src/third_party/issue-descriptions/arInvalidRegisterSourceHeader.md +0 -5
  313. package/build/src/third_party/issue-descriptions/arInvalidRegisterTriggerHeader.md +0 -5
  314. package/build/src/third_party/issue-descriptions/arNavigationRegistrationUniqueScopeAlreadySet.md +0 -5
  315. package/build/src/third_party/issue-descriptions/arNavigationRegistrationWithoutTransientUserActivation.md +0 -6
  316. package/build/src/third_party/issue-descriptions/arNoRegisterOsSourceHeader.md +0 -5
  317. package/build/src/third_party/issue-descriptions/arNoRegisterOsTriggerHeader.md +0 -5
  318. package/build/src/third_party/issue-descriptions/arNoRegisterSourceHeader.md +0 -5
  319. package/build/src/third_party/issue-descriptions/arNoRegisterTriggerHeader.md +0 -5
  320. package/build/src/third_party/issue-descriptions/arNoWebOrOsSupport.md +0 -4
  321. package/build/src/third_party/issue-descriptions/arOsSourceIgnored.md +0 -18
  322. package/build/src/third_party/issue-descriptions/arOsTriggerIgnored.md +0 -19
  323. package/build/src/third_party/issue-descriptions/arPermissionPolicyDisabled.md +0 -8
  324. package/build/src/third_party/issue-descriptions/arSourceAndTriggerHeaders.md +0 -9
  325. package/build/src/third_party/issue-descriptions/arSourceIgnored.md +0 -13
  326. package/build/src/third_party/issue-descriptions/arTriggerIgnored.md +0 -12
  327. package/build/src/third_party/issue-descriptions/arUntrustworthyReportingOrigin.md +0 -10
  328. package/build/src/third_party/issue-descriptions/arWebAndOsHeaders.md +0 -11
  329. package/build/src/utils/string.js +0 -37
  330. package/build/src/utils/types.js +0 -7
@@ -1,7 +1,7 @@
1
- # Specify a more permissive Cross-Origin Resource Policy to prevent a resource from being blocked
1
+ # Specify a more permissive Cross-Origin Resource Policy to stop a resource from being blocked
2
2
 
3
3
  Your site tries to access an external resource that only allows same-origin usage.
4
- This behavior prevents a document from loading any non-same-origin resources which don’t explicitly grant permission to be loaded.
4
+ This behavior stops a document from loading any non-same-origin resources which don’t explicitly grant permission to be loaded.
5
5
 
6
6
  To solve this, add the following to the resource’s HTML response header:
7
7
  * `Cross-Origin-Resource-Policy: same-site` if the resource and your site are served from the same site.
@@ -1,11 +1,11 @@
1
- # Specify a Cross-Origin Resource Policy to prevent a resource from being blocked
1
+ # Specify a Cross-Origin Resource Policy to stop a resource from being blocked
2
2
 
3
3
  Because your site has the Cross-Origin Embedder Policy (COEP) enabled, each
4
4
  resource must specify a suitable Cross-Origin Resource Policy (CORP). This
5
- behavior prevents a document from loading cross-origin resources which don’t
5
+ behavior stops a document from loading cross-origin resources which don’t
6
6
  explicitly grant permission to be loaded.
7
7
 
8
- To solve this, add the following to the resource’ response header:
8
+ To solve this, add the following to the resource’s response header:
9
9
  * `Cross-Origin-Resource-Policy: same-site` if the resource and your site are
10
10
  served from the same site.
11
11
  * `Cross-Origin-Resource-Policy: cross-origin` if the resource is served from
@@ -1,7 +1,7 @@
1
- # Specify a more permissive Cross-Origin Resource Policy to prevent a resource from being blocked
1
+ # Specify a more permissive Cross-Origin Resource Policy to stop a resource from being blocked
2
2
 
3
3
  Your site tries to access an external resource that only allows same-site usage.
4
- This behavior prevents a document from loading any non-same-site resources which don’t explicitly grant permission to be loaded.
4
+ This behavior stops a document from loading any non-same-site resources which don’t explicitly grant permission to be loaded.
5
5
 
6
6
  To solve this, add the following to the resource’s HTML response header: `Cross-Origin-Resource-Policy: cross-origin`
7
7
  ⚠️If you set this header, any website can embed this resource.
@@ -1,4 +1,4 @@
1
- # Specify a Cross-Origin Embedder Policy to prevent this frame from being blocked
1
+ # Specify a Cross-Origin Embedder Policy to stop this frame from being blocked
2
2
 
3
3
  Because your site has the Cross-Origin Embedder Policy (COEP) enabled, each
4
4
  embedded iframe must also specify this policy. This behavior protects private
@@ -2,4 +2,4 @@
2
2
 
3
3
  One or more documents in this page is in Quirks Mode, which will render the affected document(s) with quirks incompatible with the current HTML and CSS specifications.
4
4
 
5
- Quirks Mode exists mostly due to historical reasons. If this is not intentional, you can [add or modify the DOCTYPE to be `<!DOCTYPE html>`](issueQuirksModeDoctype) to render the page in No Quirks Mode.
5
+ Quirks Mode exists mostly due to historical reasons. If this isn’t intentional, you can [add or modify the DOCTYPE to be `<!DOCTYPE html>`](issueQuirksModeDoctype) to render the page in No Quirks Mode.
@@ -1,5 +1,5 @@
1
1
  # Ensure cookie attribute values don’t exceed 1024 characters
2
2
 
3
- Cookie attribute values exceeding 1024 characters in size will result in the attribute being ignored. This could lead to unexpected behavior since the cookie will be processed as if the offending attribute / attribute value pair were not present.
3
+ Cookie attribute values exceeding 1024 characters in size will result in the attribute being ignored. This could lead to unexpected behavior since the cookie will be processed as if the offending attribute / attribute value pair weren’t present.
4
4
 
5
- Resolve this issue by ensuring that cookie attribute values don’t exceed 1024 characters.
5
+ Resolve this issue by ensuring that cookie attribute values don’t exceed 1024 characters.
@@ -2,4 +2,4 @@
2
2
 
3
3
  Low-contrast text is difficult or impossible for users to read. A [minimum contrast ratio (AA) of 4.5](issuesContrastWCAG21AA) is recommended for all text. Since font size and weight affect color perception, an exception is made for very large or bold text — in this case, a contrast ratio of 3.0 is allowed. The [enhanced conformance level (AAA)](issuesContrastWCAG21AAA) requires the contrast ratio to be above 7.0 for regular text and 4.5 for large text.
4
4
 
5
- Update colors or change the font size or weight to achieve sufficient contrast. You can use the [“Suggest color” feature](issuesContrastSuggestColor) in the DevTools color picker to automatically select a better text color.
5
+ Update colors or change the font size or weight to achieve sufficient contrast. You can use the [“Suggest color” feature](issuesContrastSuggestColor) in the DevTools color picker to automatically select a better text color.
@@ -5,4 +5,4 @@ This behavior protects user data from being sent over an insecure connection.
5
5
 
6
6
  Resolve this issue by updating the attributes of the cookie:
7
7
  * Specify `SameSite=None` and `Secure` if the cookie should be sent in cross-site requests. This enables third-party use.
8
- * Specify `SameSite=Strict` or `SameSite=Lax` if the cookie should not be sent in cross-site requests.
8
+ * Specify `SameSite=Strict` or `SameSite=Lax` if the cookie shouldn’t be sent in cross-site requests.
@@ -5,4 +5,4 @@ This behavior protects user data from being sent over an insecure connection.
5
5
 
6
6
  Resolve this issue by updating the attributes of the cookie:
7
7
  * Specify `SameSite=None` and `Secure` if the cookie is intended to be set in cross-site contexts. Note that only cookies sent over HTTPS may use the `Secure` attribute.
8
- * Specify `SameSite=Strict` or `SameSite=Lax` if the cookie should not be set by cross-site requests.
8
+ * Specify `SameSite=Strict` or `SameSite=Lax` if the cookie shouldn’t be set by cross-site requests.
@@ -5,4 +5,4 @@ This behavior protects user data from being sent over an insecure connection.
5
5
 
6
6
  Resolve this issue by updating the attributes of the cookie:
7
7
  * Specify `SameSite=None` and `Secure` if the cookie should be sent in cross-site requests. This enables third-party use.
8
- * Specify `SameSite=Strict` or `SameSite=Lax` if the cookie should not be sent in cross-site requests.
8
+ * Specify `SameSite=Strict` or `SameSite=Lax` if the cookie shouldn’t be sent in cross-site requests.
@@ -5,4 +5,4 @@ This behavior protects user data from being sent over an insecure connection.
5
5
 
6
6
  Resolve this issue by updating the attributes of the cookie:
7
7
  * Specify `SameSite=None` and `Secure` if the cookie is intended to be set in cross-site contexts. Note that only cookies sent over HTTPS may use the `Secure` attribute.
8
- * Specify `SameSite=Strict` or `SameSite=Lax` if the cookie should not be set by cross-site requests.
8
+ * Specify `SameSite=Strict` or `SameSite=Lax` if the cookie shouldn’t be set by cross-site requests.
@@ -1,9 +1,9 @@
1
1
  # Indicate whether to send a cookie in a cross-site request by specifying its SameSite attribute
2
2
 
3
- Because a cookie’s `SameSite` attribute was not set or is invalid, it defaults to `SameSite=Lax`,
4
- which will prevent the cookie from being sent in a cross-site request in a future version of the browser.
3
+ Because a cookie’s `SameSite` attribute wasn’t set or is invalid, it defaults to `SameSite=Lax`,
4
+ which will stop the cookie from being sent in a cross-site request in a future version of the browser.
5
5
  This behavior protects user data from accidentally leaking to third parties and cross-site request forgery.
6
6
 
7
7
  Resolve this issue by updating the attributes of the cookie:
8
8
  * Specify `SameSite=None` and `Secure` if the cookie should be sent in cross-site requests. This enables third-party use.
9
- * Specify `SameSite=Strict` or `SameSite=Lax` if the cookie should not be sent in cross-site requests.
9
+ * Specify `SameSite=Strict` or `SameSite=Lax` if the cookie shouldn’t be sent in cross-site requests.
@@ -1,9 +1,9 @@
1
1
  # Indicate whether a cookie is intended to be set in cross-site context by specifying its SameSite attribute
2
2
 
3
- Because a cookie’s `SameSite` attribute was not set or is invalid, it defaults to `SameSite=Lax`,
4
- which will prevents the cookie from being set in a cross-site context in a future version of the browser.
3
+ Because a cookie’s `SameSite` attribute wasn’t set or is invalid, it defaults to `SameSite=Lax`,
4
+ which will stops the cookie from being set in a cross-site context in a future version of the browser.
5
5
  This behavior protects user data from accidentally leaking to third parties and cross-site request forgery.
6
6
 
7
7
  Resolve this issue by updating the attributes of the cookie:
8
8
  * Specify `SameSite=None` and `Secure` if the cookie is intended to be set in cross-site contexts. Note that only cookies sent over HTTPS may use the `Secure` attribute.
9
- * Specify `SameSite=Strict` or `SameSite=Lax` if the cookie should not be set by cross-site requests.
9
+ * Specify `SameSite=Strict` or `SameSite=Lax` if the cookie shouldn’t be set by cross-site requests.
@@ -1,3 +1,3 @@
1
1
  # Chrome may soon delete state for intermediate websites in a recent navigation chain
2
2
 
3
- In a recent navigation chain, one or more websites without prior user interaction were visited. If these websites don't get such an interaction soon, Chrome will delete their state.
3
+ In a recent navigation chain, one or more websites without prior user interaction were visited. If these websites dont get such an interaction soon, Chrome will delete their state.
@@ -0,0 +1,26 @@
1
+ # A framed document did not accept its embedder's `Connection-Allowlist`.
2
+
3
+ An embedder can require a framed document to enforce a `Connection-Allowlist` by
4
+ setting the `connectionallowlist` attribute on the frame. The framed document
5
+ must agree, in one of two ways:
6
+
7
+ * by responding with an `Allow-Connection-Allowlist-From` header naming the
8
+ embedder's origin (or `*` to accept any embedder), which installs the
9
+ embedder's allowlist on the framed document, or
10
+ * by responding with a `Connection-Allowlist` header of its own that is at
11
+ least as strict as the one required, which is then enforced instead.
12
+
13
+ This response did neither, so it was not displayed.
14
+
15
+ For example, a document framed by an embedder requiring
16
+ `("https://cdn.example/")` may accept that requirement outright:
17
+
18
+ ```
19
+ Allow-Connection-Allowlist-From: *
20
+ ```
21
+
22
+ or satisfy it with an allowlist that is no more permissive:
23
+
24
+ ```
25
+ Connection-Allowlist: ("https://cdn.example/")
26
+ ```
@@ -0,0 +1,19 @@
1
+ # A frame's `connectionallowlist` attribute was discarded.
2
+
3
+ An embedder can require a framed document to enforce a `Connection-Allowlist` by
4
+ setting the `connectionallowlist` attribute on the frame. When a requirement is
5
+ already in effect for the embedder itself, a nested frame's attribute may only
6
+ make that requirement stricter, never looser.
7
+
8
+ This frame's attribute allowed connections that the requirement it inherits from
9
+ an ancestor does not, so the attribute was discarded and the inherited
10
+ requirement applies unchanged.
11
+
12
+ For example, the nested frame below cannot re-admit `https://example.com/`, so
13
+ it inherits `("https://cdn.example/")` rather than the value it asked for:
14
+
15
+ ```
16
+ <!-- Framed by an ancestor that requires ("https://cdn.example/"): -->
17
+ <iframe connectionallowlist='("https://cdn.example/" "https://example.com/")'
18
+ src="..."></iframe>
19
+ ```
@@ -0,0 +1,21 @@
1
+ # The `Allow-Connection-Allowlist-From` header is invalid.
2
+
3
+ A document that is framed by an embedder requiring a `Connection-Allowlist` can
4
+ accept that requirement by responding with an `Allow-Connection-Allowlist-From`
5
+ header. The header's value must be either `*`, or a single serialized origin
6
+ naming the embedder whose requirement it is willing to accept.
7
+
8
+ This response's header was neither, so it could not be used to accept the
9
+ embedder's requirement.
10
+
11
+ For example, both of the following are valid:
12
+
13
+ ```
14
+ Allow-Connection-Allowlist-From: *
15
+ Allow-Connection-Allowlist-From: https://example.com
16
+ ```
17
+
18
+ Note that an origin's serialization has no trailing slash, and carries no path,
19
+ query, or userinfo. Values like `https://example.com/` and
20
+ `https://user@example.com/path` are therefore rejected rather than being
21
+ silently reinterpreted as `https://example.com`.
@@ -1,6 +1,6 @@
1
- # An item in the `Connection-Allowlist` header is invalid.
1
+ # An item in the `Connection-Allowlist` header is invalid
2
2
 
3
- Each item in the `Connection-Allowlist`'s header's [Inner List](sfInnerList)
3
+ Each item in the `Connection-Allowlist`’s headers [Inner List](sfInnerList)
4
4
  must be a [String](sfString) representing a [URL Pattern](urlPatternSpec), or
5
5
  the [Token](sfToken) `response-origin`.
6
6
 
@@ -1,6 +1,6 @@
1
- # The `Connection-Allowlist` header is not formatted as a Structured Field List.
1
+ # The `Connection-Allowlist` header isn’t formatted as a Structured Field List
2
2
 
3
- Responses' `Connection-Allowlist` header should be formatted as a [List](sfList)
3
+ Responses `Connection-Allowlist` header should be formatted as a [List](sfList)
4
4
  containing a single [Inner List](sfInnerList) that declares the allowed set of
5
5
  [URL Patterns](urlPatternSpec) for a given context.
6
6
 
@@ -1,8 +1,8 @@
1
- # An item in the `Connection-Allowlist` header is not a valid URL pattern.
1
+ # An item in the `Connection-Allowlist` header isn’t a valid URL pattern
2
2
 
3
3
  Each item in the `Connection-Allowlist` header must be a valid
4
- [URL Pattern](urlPatternSpec) that can be used to match against the request's
4
+ [URL Pattern](urlPatternSpec) that can be used to match against the requests
5
5
  origin.
6
6
 
7
- Note that our current implementation does not allow regular expressions to be
7
+ Note that our current implementation doesn’t allow regular expressions to be
8
8
  used as part of the pattern.
@@ -1,6 +1,6 @@
1
- # An item in the `Connection-Allowlist` header is not an Inner List.
1
+ # An item in the `Connection-Allowlist` header isn’t an Inner List
2
2
 
3
- Responses' `Connection-Allowlist` header should be formatted as a [List](sfList)
3
+ Responses `Connection-Allowlist` header should be formatted as a [List](sfList)
4
4
  containing a single [Inner List](sfInnerList) that declares the allowed set of
5
5
  [URL Patterns](urlPatternSpec) for a given context.
6
6
 
@@ -1,6 +1,6 @@
1
- # `Connection-Allowlist` has multiple items.
1
+ # `Connection-Allowlist` has multiple items
2
2
 
3
- Responses' `Connection-Allowlist` header should be formatted as a [List](sfList)
3
+ Responses `Connection-Allowlist` header should be formatted as a [List](sfList)
4
4
  containing a single [Inner List](sfInnerList) that declares the allowed set of
5
5
  [URL Patterns](urlPatternSpec) for a given context. This response was a
6
6
  [List](sfList) containing more than one item: all but the first have been
@@ -1,4 +1,4 @@
1
- # The `report-to` parameter in the `Connection-Allowlist` header is not a token.
1
+ # The `report-to` parameter in the `Connection-Allowlist` header isn’t a token
2
2
 
3
3
  If provided, the `report-to` parameter must be a [Token](sfToken)
4
4
  naming a reporting endpoint.
@@ -1,6 +1,6 @@
1
1
  # Cookie is blocked due to a cross-site redirect chain
2
2
 
3
- The cookie was blocked because the URL redirect chain was not fully same-site,
3
+ The cookie was blocked because the URL redirect chain wasn’t fully same-site,
4
4
  meaning the final request was treated as a cross-site request.
5
5
  Like other cross-site requests, this blocks cookies with `SameSite=Lax` or
6
6
  `SameSite=Strict`.
@@ -8,5 +8,5 @@ Like other cross-site requests, this blocks cookies with `SameSite=Lax` or
8
8
  For example: If site A redirects to site B which then redirects back to site A,
9
9
  the final request to site A will be a cross-site request.
10
10
 
11
- If this behavior is causing breakage, please file a bug report with the link
12
- below.
11
+ If this behavior is causing breakage, file a bug report with the link
12
+ below.
@@ -1,4 +1,4 @@
1
1
  # Third-party cookie blocked within the same Related Website Set
2
2
 
3
- A cookie embedded by a site in the top-level page's Related Website Set was blocked
3
+ A cookie embedded by a site in the top-level pages Related Website Set was blocked
4
4
  by third-party cookie blocking.
@@ -1,4 +1,4 @@
1
- # Cookie was not sent due to port mismatch
1
+ # Cookie wasn’t sent due to port mismatch
2
2
 
3
3
  Cookies can only be accessed by origins that share the same port as the origin
4
4
  that initially set the cookie.
@@ -1,4 +1,4 @@
1
- # Cookie was not sent due to scheme mismatch
1
+ # Cookie wasn’t sent due to scheme mismatch
2
2
 
3
3
  The cookie can only be accessed by origins that share the same scheme as
4
4
  the origin that initially set it.
@@ -3,4 +3,4 @@
3
3
  Cookies with the `SameSite=None; Secure` and not `Partitioned` attributes that operate in cross-site contexts are third-party cookies.
4
4
  Third-party cookies are restricted for this browser either because of Chrome flags or browser configuration.
5
5
 
6
- Learn more from the linked article about preparing your site to avoid potential breakage due to this.
6
+ Learn more from the linked article about preparing your site to avoid potential breakage due to this.
@@ -3,4 +3,4 @@
3
3
  Cookies with the `SameSite=None; Secure` and not `Partitioned` attributes that operate in cross-site contexts are third-party cookies.
4
4
  Chrome is moving towards a new experience that allows users to choose to browse without third-party cookies.
5
5
 
6
- Learn more from the linked article about preparing your site to avoid potential breakage.
6
+ Learn more from the linked article about preparing your site to avoid potential breakage.
@@ -1,6 +1,6 @@
1
1
  # Ensure CORS requests include credentials only when allowed
2
2
 
3
- A cross-origin resource sharing (CORS) request was blocked because it was configured to include credentials but the `Access-Control-Allow-Credentials` response header of the request or the associated preflight request was not set to `true`.
3
+ A Cross-Origin Resource Sharing (CORS) request was blocked because it was configured to include credentials but the `Access-Control-Allow-Credentials` response header of the request or the associated preflight request wasn’t set to `true`.
4
4
 
5
5
  To fix this issue, ensure that resources that expect credentialed CORS requests set the `Access-Control-Allow-Credentials` header to `true`.
6
6
  Note that this requires the `Access-Control-Allow-Origin` header to not be a wildcard `*`.
@@ -1,7 +1,7 @@
1
1
  # Ensure CORS requests are made on supported schemes
2
2
 
3
- A cross-origin resource sharing (CORS) request was blocked because the scheme of the request's URL doesn't support CORS.
3
+ A Cross-Origin Resource Sharing (CORS) request was blocked because the scheme of the requests URL doesnt support CORS.
4
4
 
5
5
  To fix this issue, ensure all CORS request URLs specify a supported scheme, e.g. most commonly https://.
6
6
 
7
- Note that if an opaque response is sufficient, then for some schemes the request's mode can be set to `no-cors` to fetch the resource with CORS disabled; that way the scheme doesn't need to support CORS, but the response content is inaccessible (opaque).
7
+ Note that if an opaque response is sufficient, then for some schemes the requests mode can be set to `no-cors` to fetch the resource with CORS disabled; that way the scheme doesnt need to support CORS, but the response content is inaccessible (opaque).
@@ -1,7 +1,7 @@
1
1
  # Ensure only same-origin resources are fetched with same-origin request mode
2
2
 
3
- A cross-origin resource sharing (CORS) request to a cross-origin resource was blocked because the request mode was set to `same-origin`.
3
+ A Cross-Origin Resource Sharing (CORS) request to a cross-origin resource was blocked because the request mode was set to `same-origin`.
4
4
 
5
5
  To fix this issue, ensure that only same-origin resources are fetched with the `same-origin` request mode. If you need to fetch a cross-origin resource, use a request mode such as `cors`.
6
6
 
7
- Note that if an opaque response is sufficient, the request's mode can be set to `no-cors` to fetch the resource with CORS disabled; that way CORS headers are not required but the response content is inaccessible (opaque).
7
+ Note that if an opaque response is sufficient, the requests mode can be set to `no-cors` to fetch the resource with CORS disabled; that way CORS headers aren’t required but the response content is inaccessible (opaque).
@@ -1,5 +1,5 @@
1
1
  # Ensure CORS request includes only allowed headers
2
2
 
3
- A cross-origin resource sharing (CORS) request was blocked because it contained request headers that were neither CORS-safelisted (`Accept`, `Accept-Language`, `Content-Language`, `Content-Type`) nor allowed by the `Access-Control-Allow-Headers` response header of the associated preflight request.
3
+ A Cross-Origin Resource Sharing (CORS) request was blocked because it contained request headers that were neither CORS-safelisted (`Accept`, `Accept-Language`, `Content-Language`, `Content-Type`) nor allowed by the `Access-Control-Allow-Headers` response header of the associated preflight request.
4
4
 
5
5
  To fix this issue, include the additional request headers you want to use in the `Access-Control-Allow-Headers` response header of the associated preflight request.
@@ -1,7 +1,7 @@
1
1
  # Ensure CORS response header values are valid
2
2
 
3
- A cross-origin resource sharing (CORS) request was blocked because of invalid or missing response headers of the request or the associated [preflight request](issueCorsPreflightRequest).
3
+ A Cross-Origin Resource Sharing (CORS) request was blocked because of invalid or missing response headers of the request or the associated [preflight request](issueCorsPreflightRequest).
4
4
 
5
- To fix this issue, ensure the response to the CORS request and/or the associated [preflight request](issueCorsPreflightRequest) are not missing headers and use valid header values.
5
+ To fix this issue, ensure the response to the CORS request and/or the associated [preflight request](issueCorsPreflightRequest) aren’t missing headers and use valid header values.
6
6
 
7
- Note that if an opaque response is sufficient, the request's mode can be set to `no-cors` to fetch the resource with CORS disabled; that way CORS headers are not required but the response content is inaccessible (opaque).
7
+ Note that if an opaque response is sufficient, the requests mode can be set to `no-cors` to fetch the resource with CORS disabled; that way CORS headers aren’t required but the response content is inaccessible (opaque).
@@ -1,7 +1,7 @@
1
1
  # Ensure that local network requests are compatible with restrictions
2
2
 
3
3
  A site requested a resource from a network that it could only access because of
4
- its users' privileged network position.
4
+ its users privileged network position.
5
5
 
6
6
  These requests expose devices and servers to the internet, increasing the risk
7
7
  of a cross-site request forgery (CSRF) attack and/or information leakage.
@@ -1,5 +1,5 @@
1
1
  # Ensure CORS request uses allowed method
2
2
 
3
- A cross-origin resource sharing (CORS) request was blocked because it neither uses one of the CORS-safelisted methods (`GET`, `HEAD`, `POST`) nor was the request method explicitly allowed by the `Access-Control-Allow-Methods` response header of the associated [preflight request](issueCorsPreflightRequest).
3
+ A Cross-Origin Resource Sharing (CORS) request was blocked because it neither uses one of the CORS-safelisted methods (`GET`, `HEAD`, `POST`) nor was the request method explicitly allowed by the `Access-Control-Allow-Methods` response header of the associated [preflight request](issueCorsPreflightRequest).
4
4
 
5
5
  To fix this issue, include the request method in the `Access-Control-Allow-Methods` header of the associated preflight request.
@@ -1,5 +1,5 @@
1
1
  # Ensure no-cors requests configure redirect mode follow
2
2
 
3
- A cross-origin resource sharing (CORS) request was blocked because it was configured to use request mode `no-cors` but did not use the redirect mode `follow`.
3
+ A Cross-Origin Resource Sharing (CORS) request was blocked because it was configured to use request mode `no-cors` but did not use the redirect mode `follow`.
4
4
 
5
5
  To fix this issue, ensure that whenever the request mode `no-cors` is set then the redirect mode is set to `follow`.
@@ -1,6 +1,6 @@
1
- # Ensure CORS requesting origin matches resource's allowed origin
1
+ # Ensure CORS requesting origin matches resources allowed origin
2
2
 
3
- A cross-origin resource sharing (CORS) request was blocked because the `Access-Control-Allow-Origin` response header of the request or the associated [preflight request](issueCorsPreflightRequest) specified an origin different from the origin of the context that initiated the request.
3
+ A Cross-Origin Resource Sharing (CORS) request was blocked because the `Access-Control-Allow-Origin` response header of the request or the associated [preflight request](issueCorsPreflightRequest) specified an origin different from the origin of the context that initiated the request.
4
4
 
5
- To fix this issue, ensure that the `Access-Control-Allow-Origin` header for the resource matches the request context's origin.
5
+ To fix this issue, ensure that the `Access-Control-Allow-Origin` header for the resource matches the request contexts origin.
6
6
  If the resource never needs to be accessed with credentials, the `Access-Control-Allow-Origin` header may be set to a wildcard `*` to allow access from everywhere.
@@ -1,5 +1,5 @@
1
1
  # Ensure preflight responses are valid
2
2
 
3
- A cross-origin resource sharing (CORS) request was blocked because the response to the associated [preflight request](issueCorsPreflightRequest) failed, had an unsuccessful HTTP status code, and/or was a redirect.
3
+ A Cross-Origin Resource Sharing (CORS) request was blocked because the response to the associated [preflight request](issueCorsPreflightRequest) failed, had an unsuccessful HTTP status code, and/or was a redirect.
4
4
 
5
- To fix this issue, ensure all CORS preflight `OPTIONS` requests are answered with a successful HTTP status code (2xx) and do not redirect.
5
+ To fix this issue, ensure all CORS preflight `OPTIONS` requests are answered with a successful HTTP status code (2xx) and don’t redirect.
@@ -1,5 +1,5 @@
1
- # Ensure CORS requests are not redirected to URLs containing credentials
1
+ # Ensure CORS requests aren’t redirected to URLs containing credentials
2
2
 
3
- A cross-origin resource sharing (CORS) request was blocked because the response was a redirect to a URL that includes credentials, i.e. redirected to a URL of the form `https://username:password@example.com`.
3
+ A Cross-Origin Resource Sharing (CORS) request was blocked because the response was a redirect to a URL that includes credentials, i.e. redirected to a URL of the form `https://username:password@example.com`.
4
4
 
5
- To fix this issue, ensure CORS requests are not redirected to URLs that include credentials.
5
+ To fix this issue, ensure CORS requests aren’t redirected to URLs that include credentials.
@@ -1,8 +1,9 @@
1
- # Ensure credentialed requests are not sent to CORS resources with origin wildcards
1
+ # Ensure credentialed requests aren’t sent to CORS resources with origin wildcards
2
2
 
3
- A cross-origin resource sharing (CORS) request was blocked because it was configured to `include` credentials and the `Access-Control-Allow-Origin` response header of the request or the associated [preflight request](issueCorsPreflightRequest) was set to a wildcard `*`. CORS requests may only include credentials for resources where the `Access-Control-Allow-Origin` header is not a wildcard.
3
+ A Cross-Origin Resource Sharing (CORS) request was blocked because it was configured to `include` credentials and the `Access-Control-Allow-Origin` response header of the request or the associated [preflight request](issueCorsPreflightRequest) was set to a wildcard `*`. CORS requests may only include credentials for resources where the `Access-Control-Allow-Origin` header isn’t a wildcard.
4
4
 
5
5
  To fix this issue, ensure that either the request is configured to not include credentials, or change the `Access-Control-Allow-Origin` header of the resource to not be a wildcard.
6
6
 
7
- Note that if an opaque response is sufficient, the request's mode can be set to `no-cors` to fetch the resource with CORS disabled; that way CORS headers are not required but credentials are not sent and the response content is inaccessible (opaque).
7
+ Note that if an opaque response is sufficient, the requests mode can be set to `no-cors` to fetch the resource with CORS disabled; that way CORS headers aren’t required but credentials aren’t sent and the response content is inaccessible (opaque).
8
+
8
9
 
@@ -1,9 +1,9 @@
1
- # Content Security Policy of your site blocks the use of 'eval' in JavaScript`
1
+ # Content Security Policy of your site blocks the use of `eval` in JavaScript
2
2
 
3
- The Content Security Policy (CSP) prevents the evaluation of arbitrary strings as JavaScript to make it more difficult for an attacker to inject unathorized code on your site.
3
+ The Content Security Policy (CSP) stops the evaluation of arbitrary strings as JavaScript to make it more difficult for an attacker to inject unauthorized code on your site.
4
4
 
5
- To solve this issue, avoid using `eval()`, `new Function()`, `setTimeout([string], ...)` and `setInterval([string], ...)` for evaluating strings.
5
+ To solve this issue, avoid using `eval()`, `new Function()`, `setTimeout([string], )` and `setInterval([string], )` for evaluating strings.
6
6
 
7
7
  If you absolutely must: you can enable string evaluation by adding `unsafe-eval` as an allowed source in a `script-src` directive.
8
8
 
9
- ⚠️ Allowing string evaluation comes at the risk of inline script injection.
9
+ ⚠️ Allowing string evaluation comes at the risk of inline script injection.
@@ -1,10 +1,10 @@
1
1
  # Content Security Policy blocks inline execution of scripts and stylesheets
2
2
 
3
- The Content Security Policy (CSP) prevents cross-site scripting attacks by blocking inline execution of scripts and style sheets.
3
+ The Content Security Policy (CSP) stops cross-site scripting attacks by blocking inline execution of scripts and style sheets.
4
4
 
5
5
  To solve this, move all inline scripts (e.g. `onclick=[JS code]`) and styles into external files.
6
6
 
7
7
  ⚠️ Allowing inline execution comes at the risk of script injection via injection of HTML script elements. If you absolutely must, you can allow inline script and styles by:
8
8
 
9
9
  * adding `unsafe-inline` as a source to the CSP header
10
- * adding the hash or nonce of the inline script to your CSP header.
10
+ * adding the hash or nonce of the inline script to your CSP header.
@@ -1,5 +1,5 @@
1
1
  # Trusted Type policy creation blocked by Content Security Policy
2
2
 
3
- Your site tries to create a Trusted Type policy that has not been allowed by the Content Security Policy. The Content Security Policy may restrict the set of valid names for Trusted Type policies, and forbid more than one policy of each name.
3
+ Your site tries to create a Trusted Type policy that hasn’t been allowed by the Content Security Policy. The Content Security Policy may restrict the set of valid names for Trusted Type policies, and forbid more than one policy of each name.
4
4
 
5
- To solve this, make sure that the names of the policies listed below are declared in the `trusted-types` CSP directive. To allow redefining policies add the `allow-duplicates` keyword. If you want to remove all restrictions on policy names, remove the `trusted-types` directive entirely (not recommended).
5
+ To solve this, make sure that the names of the policies listed below are declared in the `trusted-types` CSP directive. To allow redefining policies add the `allow-duplicates` keyword. If you want to remove all restrictions on policy names, remove the `trusted-types` directive entirely (not recommended).
@@ -1,8 +1,8 @@
1
- # Trusted Type expected, but String received
1
+ # Trusted Type expected, but got String
2
2
 
3
- Your site tries to use a plain string in a DOM modification where a Trusted Type is expected. Requiring Trusted Types for DOM modifications helps to prevent cross-site scripting attacks.
3
+ Your site tries to use a plain string in a DOM change where a Trusted Type is expected. Requiring Trusted Types for DOM changes helps to stop cross-site scripting attacks.
4
4
 
5
- To solve this, provide a Trusted Type to all the DOM modifications listed below. You can convert a string into a Trusted Type by:
5
+ To solve this, provide a Trusted Type to all the DOM changes listed below. You can convert a string into a Trusted Type by:
6
6
 
7
7
  * defining a policy and using its corresponding `createHTML`, `createScript` or `createScriptURL` function.
8
- * defining a policy named `default` which will be automatically called.
8
+ * defining a policy named `default` which will be automatically called.
@@ -1,10 +1,10 @@
1
1
  # Content Security Policy of your site blocks some resources
2
2
 
3
- Some resources are blocked because their origin is not listed in your site's Content Security Policy (CSP). Your site's CSP is allowlist-based, so resources must be listed in the allowlist in order to be accessed.
3
+ Some resources are blocked because their origin isn’t listed in your sites Content Security Policy (CSP). Your sites CSP is allowlist-based, so resources must be listed in the allowlist to be accessed.
4
4
 
5
- A site's Content Security Policy is set either via an HTTP header (recommended), or via a meta HTML tag.
5
+ A sites Content Security Policy is set either via an HTTP header (recommended), or via a meta HTML tag.
6
6
 
7
7
  To fix this issue do one of the following:
8
8
 
9
- * (Recommended) If you're using an allowlist for `'script-src'`, consider switching from an allowlist CSP to a strict CSP, because strict CSPs are [more robust against XSS](issuesCSPWhyStrictOverAllowlist). [See how to set a strict CSP](issuesCSPSetStrict).
10
- * Or carefully check that all of the blocked resources are trustworthy; if they are, include their sources in the CSP of your site. ⚠️Never add a source you don't trust to your site's CSP. If you don't trust the source, consider hosting resources on your own site instead.
9
+ * (Recommended) If youre using an allowlist for `'script-src'`, consider switching from an allowlist CSP to a strict CSP, because strict CSPs are [more robust against XSS](issuesCSPWhyStrictOverAllowlist). [See how to set a strict CSP](issuesCSPSetStrict).
10
+ * Or carefully check that all of the blocked resources are trustworthy; if they are, include their sources in the CSP of your site. ⚠️Never add a source you dont trust to your sites CSP. If you dont trust the source, consider hosting resources on your own site instead.
@@ -0,0 +1 @@
1
+ # Email verification request failed because the accounts endpoint returned an empty list of accounts
@@ -0,0 +1 @@
1
+ # Email verification request failed because the accounts endpoint wasn’t found (HTTP 404)
@@ -0,0 +1 @@
1
+ # Email verification request failed because the accounts endpoint returned an invalid Content-Type
@@ -0,0 +1 @@
1
+ # Email verification request failed because the accounts endpoint returned an invalid response
@@ -0,0 +1 @@
1
+ # Email verification request failed because the accounts endpoint did not respond
@@ -0,0 +1 @@
1
+ # Email verification request failed because the DNS fetch failed
@@ -0,0 +1 @@
1
+ # Email verification request failed because the DNS record is invalid
@@ -0,0 +1 @@
1
+ # Email verification request failed because the email verification well-known file wasn’t found (HTTP 404)
@@ -0,0 +1 @@
1
+ # Email verification request failed because the email verification well-known file returned an invalid Content-Type
@@ -0,0 +1 @@
1
+ # Email verification request failed because the email verification well-known file returned an invalid response
@@ -0,0 +1 @@
1
+ # Email verification request failed because the email verification well-known file did not respond
@@ -0,0 +1 @@
1
+ # Email verification request failed because the email address is invalid
@@ -0,0 +1 @@
1
+ # Email verification request failed because the JWKS endpoint wasn’t found (HTTP 404)
@@ -0,0 +1 @@
1
+ # Email verification request failed because the JWKS endpoint returned an invalid response
@@ -0,0 +1 @@
1
+ # Email verification request failed because key binding signing failed
@@ -0,0 +1 @@
1
+ # Email verification request failed because the Relying Party origin is opaque
@@ -0,0 +1 @@
1
+ # Email verification request failed because the token endpoint wasn’t found (HTTP 404)
@@ -0,0 +1 @@
1
+ # Email verification request failed because the token endpoint had an invalid Content-Type