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.
- package/README.md +104 -7
- package/build/src/McpContext.js +365 -365
- package/build/src/McpPage.js +475 -48
- package/build/src/McpResponse.js +462 -288
- package/build/src/SlimMcpResponse.js +1 -1
- package/build/src/TextSnapshot.js +101 -22
- package/build/src/ToolHandler.js +142 -20
- package/build/src/bin/check-latest-version.js +27 -1
- package/build/src/bin/chrome-devtools-cli-options.js +573 -10
- package/build/src/bin/chrome-devtools-mcp-cli-options.js +119 -32
- package/build/src/bin/chrome-devtools-mcp-main.js +50 -7
- package/build/src/bin/chrome-devtools-mcp.js +7 -4
- package/build/src/bin/chrome-devtools.js +57 -14
- package/build/src/bin/opera-devtools-cli-options.js +3 -829
- package/build/src/bin/opera-devtools-mcp-cli-options.js +3 -348
- package/build/src/bin/opera-devtools-mcp-main.js +3 -37
- package/build/src/bin/opera-devtools-mcp.js +4 -19
- package/build/src/bin/opera-devtools.js +4 -185
- package/build/src/browser.js +45 -5
- package/build/src/{PageCollector.js → collectors/PageCollector.js} +64 -133
- package/build/src/collectors/ServiceWorkerCollector.js +171 -0
- package/build/src/daemon/client.js +75 -17
- package/build/src/daemon/daemon.js +92 -30
- package/build/src/daemon/utils.js +24 -8
- package/build/src/{DevtoolsUtils.js → devtools/DevtoolsUtils.js} +94 -88
- package/build/src/devtools/McpHostBindingAdapter.js +165 -0
- package/build/src/{issue-descriptions.js → devtools/issueDescriptions.js} +8 -6
- package/build/src/formatters/ConsoleFormatter.js +44 -11
- package/build/src/formatters/HeapSnapshotFormatter.js +140 -9
- package/build/src/formatters/IssueFormatter.js +7 -7
- package/build/src/formatters/NetworkFormatter.js +10 -8
- package/build/src/index.js +101 -232
- package/build/src/opera/branding.js +34 -0
- package/build/src/opera/browserFlags.js +85 -0
- package/build/src/opera/browserLaunch.js +52 -0
- package/build/src/opera/policy.js +50 -0
- package/build/src/opera/serviceWorkerRetry.js +37 -0
- package/build/src/opera/toolHandlerHooks.js +39 -0
- package/build/src/{tools → opera/tools}/opera.js +9 -21
- package/build/src/processors/HeapSnapshotManager.js +258 -0
- package/build/src/{trace-processing/parse.js → processors/PerformanceTrace.js} +9 -9
- package/build/src/telemetry/ClearcutLogger.js +12 -119
- package/build/src/telemetry/WatchdogClient.js +5 -5
- package/build/src/telemetry/errors.js +1 -1
- package/build/src/telemetry/flagUtils.js +6 -6
- package/build/src/telemetry/{toolMetricsUtils.js → metricsRegistry.js} +4 -11
- package/build/src/telemetry/persistence.js +3 -3
- package/build/src/telemetry/transformation.js +184 -0
- package/build/src/telemetry/watchdog/ClearcutSender.js +11 -11
- package/build/src/telemetry/watchdog/main.js +6 -6
- package/build/src/third_party/THIRD_PARTY_NOTICES +232 -1061
- package/build/src/third_party/bundled-packages.json +6 -8
- package/build/src/third_party/devtools-formatter-worker.js +63 -22
- package/build/src/third_party/devtools-heap-snapshot-worker.js +809 -182
- package/build/src/third_party/index.js +69558 -74691
- package/build/src/third_party/issue-descriptions/CoepCorpNotSameOrigin.md +2 -2
- package/build/src/third_party/issue-descriptions/CoepCorpNotSameOriginAfterDefaultedToSameOriginByCoep.md +3 -3
- package/build/src/third_party/issue-descriptions/CoepCorpNotSameSite.md +2 -2
- package/build/src/third_party/issue-descriptions/CoepFrameResourceNeedsCoepHeader.md +1 -1
- package/build/src/third_party/issue-descriptions/CompatibilityModeQuirks.md +1 -1
- package/build/src/third_party/issue-descriptions/CookieAttributeValueExceedsMaxSize.md +2 -2
- package/build/src/third_party/issue-descriptions/LowTextContrast.md +1 -1
- package/build/src/third_party/issue-descriptions/SameSiteNoneInsecureErrorRead.md +1 -1
- package/build/src/third_party/issue-descriptions/SameSiteNoneInsecureErrorSet.md +1 -1
- package/build/src/third_party/issue-descriptions/SameSiteNoneInsecureWarnRead.md +1 -1
- package/build/src/third_party/issue-descriptions/SameSiteNoneInsecureWarnSet.md +1 -1
- package/build/src/third_party/issue-descriptions/SameSiteUnspecifiedLaxAllowUnsafeRead.md +3 -3
- package/build/src/third_party/issue-descriptions/SameSiteUnspecifiedLaxAllowUnsafeSet.md +3 -3
- package/build/src/third_party/issue-descriptions/bounceTrackingMitigations.md +1 -1
- package/build/src/third_party/issue-descriptions/connectionAllowlistEmbeddingRequirementNotSatisfied.md +26 -0
- package/build/src/third_party/issue-descriptions/connectionAllowlistIFrameAttributeLoosensEmbeddingRequirement.md +19 -0
- package/build/src/third_party/issue-descriptions/connectionAllowlistInvalidAllowConnectionAllowlistFrom.md +21 -0
- package/build/src/third_party/issue-descriptions/connectionAllowlistInvalidAllowlistItemType.md +2 -2
- package/build/src/third_party/issue-descriptions/connectionAllowlistInvalidHeader.md +2 -2
- package/build/src/third_party/issue-descriptions/connectionAllowlistInvalidUrlPattern.md +3 -3
- package/build/src/third_party/issue-descriptions/connectionAllowlistItemNotInnerList.md +2 -2
- package/build/src/third_party/issue-descriptions/connectionAllowlistMoreThanOneList.md +2 -2
- package/build/src/third_party/issue-descriptions/connectionAllowlistReportingEndpointNotToken.md +1 -1
- package/build/src/third_party/issue-descriptions/cookieCrossSiteRedirectDowngrade.md +3 -3
- package/build/src/third_party/issue-descriptions/cookieExcludeBlockedWithinRelatedWebsiteSet.md +1 -1
- package/build/src/third_party/issue-descriptions/cookieExcludePortMismatch.md +1 -1
- package/build/src/third_party/issue-descriptions/cookieExcludeSchemeMismatch.md +1 -1
- package/build/src/third_party/issue-descriptions/cookieExcludeThirdPartyPhaseoutSet.md +1 -1
- package/build/src/third_party/issue-descriptions/cookieWarnThirdPartyPhaseoutRead.md +1 -1
- package/build/src/third_party/issue-descriptions/corsAllowCredentialsRequired.md +1 -1
- package/build/src/third_party/issue-descriptions/corsDisabledScheme.md +2 -2
- package/build/src/third_party/issue-descriptions/corsDisallowedByMode.md +2 -2
- package/build/src/third_party/issue-descriptions/corsHeaderDisallowedByPreflightResponse.md +1 -1
- package/build/src/third_party/issue-descriptions/corsInvalidHeaderValues.md +3 -3
- package/build/src/third_party/issue-descriptions/corsLocalNetworkAccessPermissionDenied.md +1 -1
- package/build/src/third_party/issue-descriptions/corsMethodDisallowedByPreflightResponse.md +1 -1
- package/build/src/third_party/issue-descriptions/corsNoCorsRedirectModeNotFollow.md +1 -1
- package/build/src/third_party/issue-descriptions/corsOriginMismatch.md +3 -3
- package/build/src/third_party/issue-descriptions/corsPreflightResponseInvalid.md +2 -2
- package/build/src/third_party/issue-descriptions/corsRedirectContainsCredentials.md +3 -3
- package/build/src/third_party/issue-descriptions/corsWildcardOriginNotAllowed.md +4 -3
- package/build/src/third_party/issue-descriptions/cspEvalViolation.md +4 -4
- package/build/src/third_party/issue-descriptions/cspInlineViolation.md +2 -2
- package/build/src/third_party/issue-descriptions/cspTrustedTypesPolicyViolation.md +2 -2
- package/build/src/third_party/issue-descriptions/cspTrustedTypesSinkViolation.md +4 -4
- package/build/src/third_party/issue-descriptions/cspURLViolation.md +4 -4
- package/build/src/third_party/issue-descriptions/emailVerificationRequestAccountsEmptyList.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestAccountsHttpNotFound.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestAccountsInvalidContentType.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestAccountsInvalidResponse.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestAccountsNoResponse.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestDnsFetchFailed.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestDnsInvalidRecord.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestEmailVerificationWellKnownHttpNotFound.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestEmailVerificationWellKnownInvalidContentType.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestEmailVerificationWellKnownInvalidResponse.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestEmailVerificationWellKnownNoResponse.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestInvalidEmail.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestJwksHttpNotFound.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestJwksInvalidResponse.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestKeyBindingSigningFailed.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestRpOriginIsOpaque.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenHttpNotFound.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenInvalidContentType.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenInvalidResponse.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenInvalidSdJwt.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenMalformedSdJwt.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenNoResponse.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbInvalidAudience.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbInvalidIssuedAt.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbInvalidNonce.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbInvalidSdHash.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbInvalidTyp.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbMissingAud.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbMissingCnf.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbMissingIat.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbMissingNonce.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbMissingSdHash.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationKbSignatureFailed.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtInvalidEmail.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtInvalidEmailVerified.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtInvalidHolderKey.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtInvalidIssuedAt.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtInvalidIssuer.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtJwksMissingKeys.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtMissingCnf.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtMissingEmail.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtMissingIat.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtMissingIss.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtSignatureFailed.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenVerificationSdJwtUnsupportedHeaderAlg.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestUserLoggedOut.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownAccountsEndpointCrossOrigin.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownHttpNotFound.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownInvalidContentType.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownInvalidResponse.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownIssuanceEndpointCrossOrigin.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownListEmpty.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownMissingAccountsEndpoint.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownMissingIssuanceEndpoint.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownNoResponse.md +1 -0
- package/build/src/third_party/issue-descriptions/emailVerificationRequestWellKnownUnsupportedSigningAlgorithm.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthRequestAccountsHttpNotFound.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthRequestAccountsInvalidResponse.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthRequestAccountsNoResponse.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthRequestApprovalDeclined.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthRequestCanceled.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthRequestErrorFetchingSignin.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthRequestErrorIdToken.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthRequestIdTokenHttpNotFound.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthRequestIdTokenInvalidRequest.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthRequestIdTokenInvalidResponse.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthRequestIdTokenNoResponse.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthRequestInvalidSigninResponse.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthRequestManifestHttpNotFound.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthRequestManifestInvalidResponse.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthRequestManifestNoResponse.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthRequestTooManyRequests.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestInvalidAccountsResponse.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestInvalidConfigOrWellKnown.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNoAccountSharingPermission.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNoApiPermission.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNoReturningUserFromFetchedAccounts.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNotIframe.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNotPotentiallyTrustworthy.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNotSameOrigin.md +1 -1
- package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNotSignedInWithIdp.md +1 -1
- package/build/src/third_party/issue-descriptions/fetchingPartitionedBlobURL.md +2 -2
- package/build/src/third_party/issue-descriptions/genericBackUINavigationWouldSkipAd.md +4 -0
- package/build/src/third_party/issue-descriptions/genericFormAriaLabelledByToNonExistingIdError.md +2 -2
- package/build/src/third_party/issue-descriptions/genericFormAutocompleteAttributeEmptyError.md +1 -1
- package/build/src/third_party/issue-descriptions/genericFormDuplicateIdForInputError.md +1 -1
- package/build/src/third_party/issue-descriptions/genericFormEmptyIdAndNameAttributesForInputError.md +2 -2
- package/build/src/third_party/issue-descriptions/genericFormInputAssignedAutocompleteValueToIdOrNameAttributeError.md +2 -2
- package/build/src/third_party/issue-descriptions/genericFormInputHasWrongButWellIntendedAutocompleteValueError.md +1 -1
- package/build/src/third_party/issue-descriptions/genericFormInputWithNoLabelError.md +1 -1
- package/build/src/third_party/issue-descriptions/genericFormLabelForMatchesNonExistingIdError.md +2 -2
- package/build/src/third_party/issue-descriptions/genericFormLabelForNameError.md +1 -1
- package/build/src/third_party/issue-descriptions/genericFormLabelHasNeitherForNorNestedInputError.md +1 -1
- package/build/src/third_party/issue-descriptions/genericFormModelContextMissingToolName.md +1 -1
- package/build/src/third_party/issue-descriptions/genericFormModelContextParameterMissingName.md +1 -1
- package/build/src/third_party/issue-descriptions/genericFormModelContextRequiredParameterMissingName.md +1 -1
- package/build/src/third_party/issue-descriptions/genericNavigationEntryMarkedSkippable.md +2 -2
- package/build/src/third_party/issue-descriptions/heavyAd.md +1 -1
- package/build/src/third_party/issue-descriptions/lazyLoadImageZeroSize.md +7 -0
- package/build/src/third_party/issue-descriptions/navigatingPartitionedBlobURL.md +3 -3
- package/build/src/third_party/issue-descriptions/permissionElementActivationDisabled.md +1 -1
- package/build/src/third_party/issue-descriptions/permissionElementActivationDisabledWithOccluder.md +1 -1
- package/build/src/third_party/issue-descriptions/permissionElementActivationDisabledWithOccluderParent.md +1 -1
- package/build/src/third_party/issue-descriptions/permissionElementFencedFrameDisallowed.md +2 -2
- package/build/src/third_party/issue-descriptions/permissionElementFontSizeTooLarge.md +2 -2
- package/build/src/third_party/issue-descriptions/permissionElementFontSizeTooSmall.md +2 -2
- package/build/src/third_party/issue-descriptions/permissionElementInsetBoxShadowUnsupported.md +1 -1
- package/build/src/third_party/issue-descriptions/permissionElementInvalidDisplayStyle.md +2 -2
- package/build/src/third_party/issue-descriptions/permissionElementInvalidSizeValue.md +2 -2
- package/build/src/third_party/issue-descriptions/permissionElementInvalidType.md +2 -2
- package/build/src/third_party/issue-descriptions/permissionElementInvalidTypeActivation.md +2 -2
- package/build/src/third_party/issue-descriptions/permissionElementNonOpaqueColor.md +1 -1
- package/build/src/third_party/issue-descriptions/permissionElementPaddingBottomUnsupported.md +2 -2
- package/build/src/third_party/issue-descriptions/permissionElementPaddingRightUnsupported.md +2 -2
- package/build/src/third_party/issue-descriptions/permissionElementRequestInProgress.md +2 -2
- package/build/src/third_party/issue-descriptions/permissionElementSecurityChecksFailed.md +1 -1
- package/build/src/third_party/issue-descriptions/permissionElementTypeNotSupported.md +2 -2
- package/build/src/third_party/issue-descriptions/permissionElementUntrustedEvent.md +1 -1
- package/build/src/third_party/issue-descriptions/placeholderDescriptionForInvisibleIssues.md +1 -1
- package/build/src/third_party/issue-descriptions/selectElementAccessibilityDisallowedOptGroupChild.md +1 -1
- package/build/src/third_party/issue-descriptions/selectElementAccessibilityDisallowedSelectChild.md +1 -1
- package/build/src/third_party/issue-descriptions/selectElementAccessibilityInteractiveContentAttributesSelectDescendant.md +1 -1
- package/build/src/third_party/issue-descriptions/selectElementAccessibilityInteractiveContentLegendChild.md +1 -1
- package/build/src/third_party/issue-descriptions/selectElementAccessibilityInteractiveContentOptionChild.md +1 -1
- package/build/src/third_party/issue-descriptions/selectElementAccessibilityNonPhrasingContentOptionChild.md +1 -1
- package/build/src/third_party/issue-descriptions/selectivePermissionsIntervention.md +3 -3
- package/build/src/third_party/issue-descriptions/sharedArrayBuffer.md +1 -1
- package/build/src/third_party/issue-descriptions/sharedDictionaryUseErrorCrossOriginNoCorsRequest.md +1 -1
- package/build/src/third_party/issue-descriptions/sharedDictionaryUseErrorMatchingDictionaryNotUsed.md +1 -1
- package/build/src/third_party/issue-descriptions/sharedDictionaryUseErrorUnexpectedContentDictionaryHeader.md +1 -1
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorCossOriginNoCorsRequest.md +1 -1
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorDisallowedBySettings.md +1 -1
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorExpiredResponse.md +1 -1
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorFeatureDisabled.md +2 -2
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorInvalidStructuredHeader.md +1 -1
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNavigationRequest.md +2 -2
- package/build/src/third_party/issue-descriptions/sriInvalidSignatureHeader.md +4 -4
- package/build/src/third_party/issue-descriptions/sriInvalidSignatureInputHeader.md +4 -4
- package/build/src/third_party/issue-descriptions/sriMissingSignatureHeader.md +1 -1
- package/build/src/third_party/issue-descriptions/sriMissingSignatureInputHeader.md +2 -2
- package/build/src/third_party/issue-descriptions/sriSignatureHeaderValueIsIncorrectLength.md +2 -2
- package/build/src/third_party/issue-descriptions/sriSignatureHeaderValueIsNotByteSequence.md +4 -4
- package/build/src/third_party/issue-descriptions/sriSignatureHeaderValueIsParameterized.md +4 -4
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidComponentName.md +1 -1
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidComponentType.md +2 -2
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidDerivedComponentParameter.md +1 -1
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidHeaderComponentParameter.md +1 -1
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidParameter.md +2 -2
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderKeyIdLength.md +5 -5
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderMissingLabel.md +3 -3
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderMissingRequiredParameters.md +2 -2
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderValueMissingComponents.md +2 -2
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderValueNotInnerList.md +2 -2
- package/build/src/third_party/issue-descriptions/sriValidationFailedIntegrityMismatch.md +4 -4
- package/build/src/third_party/issue-descriptions/sriValidationFailedInvalidLength.md +3 -3
- package/build/src/third_party/issue-descriptions/sriValidationFailedSignatureExpired.md +2 -2
- package/build/src/third_party/issue-descriptions/sriValidationFailedSignatureMismatch.md +2 -2
- package/build/src/third_party/issue-descriptions/stylesheetLateImport.md +1 -1
- package/build/src/third_party/issue-descriptions/summaryElementAccessibilityInteractiveContentSummaryDescendant.md +1 -1
- package/build/src/third_party/issue-descriptions/unencodedDigestIncorrectDigestLength.md +2 -2
- package/build/src/third_party/issue-descriptions/unencodedDigestIncorrectDigestType.md +3 -3
- package/build/src/third_party/issue-descriptions/unencodedDigestMalformedDictionary.md +2 -2
- package/build/src/third_party/issue-descriptions/unencodedDigestUnknownAlgorithm.md +1 -1
- package/build/src/third_party/lighthouse-devtools-mcp-bundle.js +3177 -6340
- package/build/src/tools/ToolDefinition.js +2 -2
- package/build/src/tools/categories.js +3 -0
- package/build/src/tools/console.js +13 -0
- package/build/src/tools/emulation.js +30 -3
- package/build/src/tools/extensions.js +8 -1
- package/build/src/tools/input.js +246 -128
- package/build/src/tools/lighthouse.js +14 -7
- package/build/src/tools/memory.js +289 -25
- package/build/src/tools/network.js +10 -7
- package/build/src/tools/pages.js +33 -92
- package/build/src/tools/performance.js +67 -52
- package/build/src/tools/pwa.js +128 -0
- package/build/src/tools/screencast.js +35 -12
- package/build/src/tools/screenshot.js +234 -75
- package/build/src/tools/script.js +130 -45
- package/build/src/tools/slim/tools.js +3 -0
- package/build/src/tools/snapshot.js +7 -4
- package/build/src/tools/thirdPartyDeveloper.js +19 -9
- package/build/src/tools/tools.js +3 -1
- package/build/src/tools/webmcp.js +3 -1
- package/build/src/utils/WaitForHelper.js +299 -0
- package/build/src/utils/check-for-updates.js +8 -2
- package/build/src/utils/files.js +42 -3
- package/build/src/utils/logger.js +51 -0
- package/build/src/utils/polyfill.js +11 -0
- package/build/src/utils/url.js +43 -0
- package/build/src/version.js +1 -1
- package/package.json +42 -33
- package/build/src/DevToolsConnectionAdapter.js +0 -70
- package/build/src/HeapSnapshotManager.js +0 -110
- package/build/src/Mutex.js +0 -38
- package/build/src/WaitForHelper.js +0 -195
- package/build/src/bin/cliDefinitions.js +0 -616
- package/build/src/logger.js +0 -37
- package/build/src/polyfill.js +0 -8
- package/build/src/telemetry/metricUtils.js +0 -15
- package/build/src/third_party/issue-descriptions/SameSiteExcludeContextDowngradeRead.md +0 -8
- package/build/src/third_party/issue-descriptions/SameSiteExcludeContextDowngradeSet.md +0 -8
- package/build/src/third_party/issue-descriptions/SameSiteExcludeNavigationContextDowngrade.md +0 -8
- package/build/src/third_party/issue-descriptions/SameSiteWarnCrossDowngradeRead.md +0 -8
- package/build/src/third_party/issue-descriptions/SameSiteWarnCrossDowngradeSet.md +0 -8
- package/build/src/third_party/issue-descriptions/SameSiteWarnStrictLaxDowngradeStrict.md +0 -8
- package/build/src/third_party/issue-descriptions/arInsecureContext.md +0 -7
- package/build/src/third_party/issue-descriptions/arInvalidInfoHeader.md +0 -5
- package/build/src/third_party/issue-descriptions/arInvalidRegisterOsSourceHeader.md +0 -5
- package/build/src/third_party/issue-descriptions/arInvalidRegisterOsTriggerHeader.md +0 -5
- package/build/src/third_party/issue-descriptions/arInvalidRegisterSourceHeader.md +0 -5
- package/build/src/third_party/issue-descriptions/arInvalidRegisterTriggerHeader.md +0 -5
- package/build/src/third_party/issue-descriptions/arNavigationRegistrationUniqueScopeAlreadySet.md +0 -5
- package/build/src/third_party/issue-descriptions/arNavigationRegistrationWithoutTransientUserActivation.md +0 -6
- package/build/src/third_party/issue-descriptions/arNoRegisterOsSourceHeader.md +0 -5
- package/build/src/third_party/issue-descriptions/arNoRegisterOsTriggerHeader.md +0 -5
- package/build/src/third_party/issue-descriptions/arNoRegisterSourceHeader.md +0 -5
- package/build/src/third_party/issue-descriptions/arNoRegisterTriggerHeader.md +0 -5
- package/build/src/third_party/issue-descriptions/arNoWebOrOsSupport.md +0 -4
- package/build/src/third_party/issue-descriptions/arOsSourceIgnored.md +0 -18
- package/build/src/third_party/issue-descriptions/arOsTriggerIgnored.md +0 -19
- package/build/src/third_party/issue-descriptions/arPermissionPolicyDisabled.md +0 -8
- package/build/src/third_party/issue-descriptions/arSourceAndTriggerHeaders.md +0 -9
- package/build/src/third_party/issue-descriptions/arSourceIgnored.md +0 -13
- package/build/src/third_party/issue-descriptions/arTriggerIgnored.md +0 -12
- package/build/src/third_party/issue-descriptions/arUntrustworthyReportingOrigin.md +0 -10
- package/build/src/third_party/issue-descriptions/arWebAndOsHeaders.md +0 -11
- package/build/src/utils/string.js +0 -37
- package/build/src/utils/types.js +0 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# Specify a more permissive Cross-Origin Resource Policy to
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
4
|
-
which will
|
|
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
|
|
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
|
|
4
|
-
which will
|
|
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
|
|
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
|
|
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.
|
|
@@ -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`.
|
package/build/src/third_party/issue-descriptions/connectionAllowlistInvalidAllowlistItemType.md
CHANGED
|
@@ -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
|
|
3
|
+
Each item in the `Connection-Allowlist`’s header’s [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
|
|
1
|
+
# The `Connection-Allowlist` header isn’t formatted as a Structured Field List
|
|
2
2
|
|
|
3
|
-
Responses
|
|
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
|
|
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
|
|
4
|
+
[URL Pattern](urlPatternSpec) that can be used to match against the request’s
|
|
5
5
|
origin.
|
|
6
6
|
|
|
7
|
-
Note that our current implementation
|
|
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
|
|
1
|
+
# An item in the `Connection-Allowlist` header isn’t an Inner List
|
|
2
2
|
|
|
3
|
-
Responses
|
|
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
|
|
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,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
|
|
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,
|
|
12
|
-
below.
|
|
11
|
+
If this behavior is causing breakage, file a bug report with the link
|
|
12
|
+
below.
|
package/build/src/third_party/issue-descriptions/cookieExcludeBlockedWithinRelatedWebsiteSet.md
CHANGED
|
@@ -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
|
|
3
|
+
A cookie embedded by a site in the top-level page’s Related Website Set was blocked
|
|
4
4
|
by third-party cookie blocking.
|
|
@@ -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
|
|
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
|
|
3
|
+
A Cross-Origin Resource Sharing (CORS) request was blocked because the scheme of the request’s URL doesn’t 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
|
|
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).
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Ensure only same-origin resources are fetched with same-origin request mode
|
|
2
2
|
|
|
3
|
-
A
|
|
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
|
|
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 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
|
|
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
|
|
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)
|
|
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
|
|
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 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
|
|
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
|
|
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
|
|
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
|
|
1
|
+
# Ensure CORS requesting origin matches resource’s allowed origin
|
|
2
2
|
|
|
3
|
-
A
|
|
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
|
|
5
|
+
To fix this issue, ensure that the `Access-Control-Allow-Origin` header for the resource matches the request context’s 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
|
|
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
|
|
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
|
|
1
|
+
# Ensure CORS requests aren’t redirected to URLs containing credentials
|
|
2
2
|
|
|
3
|
-
A
|
|
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
|
|
5
|
+
To fix this issue, ensure CORS requests aren’t redirected to URLs that include credentials.
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
# Ensure credentialed requests
|
|
1
|
+
# Ensure credentialed requests aren’t sent to CORS resources with origin wildcards
|
|
2
2
|
|
|
3
|
-
A
|
|
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
|
|
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 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
|
|
1
|
+
# Content Security Policy of your site blocks the use of `eval` in JavaScript
|
|
2
2
|
|
|
3
|
-
The Content Security Policy (CSP)
|
|
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],
|
|
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)
|
|
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
|
|
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
|
|
1
|
+
# Trusted Type expected, but got String
|
|
2
2
|
|
|
3
|
-
Your site tries to use a plain string in a DOM
|
|
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
|
|
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
|
|
3
|
+
Some resources are blocked because their origin isn’t listed in your site’s Content Security Policy (CSP). Your site’s CSP is allowlist-based, so resources must be listed in the allowlist to be accessed.
|
|
4
4
|
|
|
5
|
-
A site
|
|
5
|
+
A site’s 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
|
|
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
|
|
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.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Email verification request failed because the accounts endpoint returned an empty list of accounts
|
package/build/src/third_party/issue-descriptions/emailVerificationRequestAccountsHttpNotFound.md
ADDED
|
@@ -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
|
package/build/src/third_party/issue-descriptions/emailVerificationRequestAccountsInvalidResponse.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Email verification request failed because the accounts endpoint returned an invalid response
|
package/build/src/third_party/issue-descriptions/emailVerificationRequestAccountsNoResponse.md
ADDED
|
@@ -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)
|
package/build/src/third_party/issue-descriptions/emailVerificationRequestJwksInvalidResponse.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Email verification request failed because the JWKS endpoint returned an invalid response
|
package/build/src/third_party/issue-descriptions/emailVerificationRequestKeyBindingSigningFailed.md
ADDED
|
@@ -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)
|
package/build/src/third_party/issue-descriptions/emailVerificationRequestTokenInvalidContentType.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Email verification request failed because the token endpoint had an invalid Content-Type
|