@gabrielbryk/arc-devtools-mcp 1.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/LICENSE +202 -0
- package/README.md +977 -0
- package/build/src/HeapSnapshotManager.js +148 -0
- package/build/src/McpContext.js +737 -0
- package/build/src/McpPage.js +315 -0
- package/build/src/McpResponse.js +990 -0
- package/build/src/Mutex.js +38 -0
- package/build/src/PageCollector.js +297 -0
- package/build/src/ServiceWorkerCollector.js +171 -0
- package/build/src/SlimMcpResponse.js +19 -0
- package/build/src/TextSnapshot.js +236 -0
- package/build/src/ToolHandler.js +223 -0
- package/build/src/WaitForHelper.js +190 -0
- package/build/src/bin/check-latest-version.js +50 -0
- package/build/src/bin/chrome-devtools-cli-options.js +978 -0
- package/build/src/bin/chrome-devtools-mcp-cli-options.js +412 -0
- package/build/src/bin/chrome-devtools-mcp-main.js +72 -0
- package/build/src/bin/chrome-devtools-mcp.js +23 -0
- package/build/src/bin/chrome-devtools.js +189 -0
- package/build/src/browser.js +253 -0
- package/build/src/daemon/client.js +160 -0
- package/build/src/daemon/daemon.js +261 -0
- package/build/src/daemon/types.js +7 -0
- package/build/src/daemon/utils.js +115 -0
- package/build/src/devtools/DevToolsConnectionAdapter.js +70 -0
- package/build/src/devtools/DevtoolsUtils.js +369 -0
- package/build/src/devtools/McpHostBindingAdapter.js +165 -0
- package/build/src/formatters/ConsoleFormatter.js +288 -0
- package/build/src/formatters/HeapSnapshotFormatter.js +97 -0
- package/build/src/formatters/IssueFormatter.js +193 -0
- package/build/src/formatters/NetworkFormatter.js +238 -0
- package/build/src/formatters/SnapshotFormatter.js +135 -0
- package/build/src/index.js +153 -0
- package/build/src/issue-descriptions.js +40 -0
- package/build/src/logger.js +37 -0
- package/build/src/polyfill.js +8 -0
- package/build/src/telemetry/ClearcutLogger.js +169 -0
- package/build/src/telemetry/WatchdogClient.js +61 -0
- package/build/src/telemetry/errors.js +18 -0
- package/build/src/telemetry/flagUtils.js +89 -0
- package/build/src/telemetry/metricsRegistry.js +89 -0
- package/build/src/telemetry/persistence.js +72 -0
- package/build/src/telemetry/transformation.js +134 -0
- package/build/src/telemetry/types.js +31 -0
- package/build/src/telemetry/watchdog/ClearcutSender.js +205 -0
- package/build/src/telemetry/watchdog/main.js +128 -0
- package/build/src/third_party/THIRD_PARTY_NOTICES +3637 -0
- package/build/src/third_party/bundled-packages.json +12 -0
- package/build/src/third_party/devtools-formatter-worker.js +15301 -0
- package/build/src/third_party/devtools-heap-snapshot-worker.js +9870 -0
- package/build/src/third_party/index.js +159597 -0
- package/build/src/third_party/issue-descriptions/CoepCoopSandboxedIframeCannotNavigateToCoopPage.md +4 -0
- package/build/src/third_party/issue-descriptions/CoepCorpNotSameOrigin.md +8 -0
- package/build/src/third_party/issue-descriptions/CoepCorpNotSameOriginAfterDefaultedToSameOriginByCoep.md +18 -0
- package/build/src/third_party/issue-descriptions/CoepCorpNotSameSite.md +7 -0
- package/build/src/third_party/issue-descriptions/CoepFrameResourceNeedsCoepHeader.md +10 -0
- package/build/src/third_party/issue-descriptions/CompatibilityModeQuirks.md +5 -0
- package/build/src/third_party/issue-descriptions/CookieAttributeValueExceedsMaxSize.md +5 -0
- package/build/src/third_party/issue-descriptions/LowTextContrast.md +5 -0
- package/build/src/third_party/issue-descriptions/SameSiteExcludeContextDowngradeRead.md +8 -0
- package/build/src/third_party/issue-descriptions/SameSiteExcludeContextDowngradeSet.md +8 -0
- package/build/src/third_party/issue-descriptions/SameSiteExcludeNavigationContextDowngrade.md +8 -0
- package/build/src/third_party/issue-descriptions/SameSiteNoneInsecureErrorRead.md +8 -0
- package/build/src/third_party/issue-descriptions/SameSiteNoneInsecureErrorSet.md +8 -0
- package/build/src/third_party/issue-descriptions/SameSiteNoneInsecureWarnRead.md +8 -0
- package/build/src/third_party/issue-descriptions/SameSiteNoneInsecureWarnSet.md +8 -0
- package/build/src/third_party/issue-descriptions/SameSiteUnspecifiedLaxAllowUnsafeRead.md +9 -0
- package/build/src/third_party/issue-descriptions/SameSiteUnspecifiedLaxAllowUnsafeSet.md +9 -0
- package/build/src/third_party/issue-descriptions/SameSiteWarnCrossDowngradeRead.md +8 -0
- package/build/src/third_party/issue-descriptions/SameSiteWarnCrossDowngradeSet.md +8 -0
- package/build/src/third_party/issue-descriptions/SameSiteWarnStrictLaxDowngradeStrict.md +8 -0
- package/build/src/third_party/issue-descriptions/arInsecureContext.md +7 -0
- package/build/src/third_party/issue-descriptions/arInvalidInfoHeader.md +5 -0
- package/build/src/third_party/issue-descriptions/arInvalidRegisterOsSourceHeader.md +5 -0
- package/build/src/third_party/issue-descriptions/arInvalidRegisterOsTriggerHeader.md +5 -0
- package/build/src/third_party/issue-descriptions/arInvalidRegisterSourceHeader.md +5 -0
- package/build/src/third_party/issue-descriptions/arInvalidRegisterTriggerHeader.md +5 -0
- package/build/src/third_party/issue-descriptions/arNavigationRegistrationUniqueScopeAlreadySet.md +5 -0
- package/build/src/third_party/issue-descriptions/arNavigationRegistrationWithoutTransientUserActivation.md +6 -0
- package/build/src/third_party/issue-descriptions/arNoRegisterOsSourceHeader.md +5 -0
- package/build/src/third_party/issue-descriptions/arNoRegisterOsTriggerHeader.md +5 -0
- package/build/src/third_party/issue-descriptions/arNoRegisterSourceHeader.md +5 -0
- package/build/src/third_party/issue-descriptions/arNoRegisterTriggerHeader.md +5 -0
- package/build/src/third_party/issue-descriptions/arNoWebOrOsSupport.md +4 -0
- package/build/src/third_party/issue-descriptions/arOsSourceIgnored.md +18 -0
- package/build/src/third_party/issue-descriptions/arOsTriggerIgnored.md +19 -0
- package/build/src/third_party/issue-descriptions/arPermissionPolicyDisabled.md +8 -0
- package/build/src/third_party/issue-descriptions/arSourceAndTriggerHeaders.md +9 -0
- package/build/src/third_party/issue-descriptions/arSourceIgnored.md +13 -0
- package/build/src/third_party/issue-descriptions/arTriggerIgnored.md +12 -0
- package/build/src/third_party/issue-descriptions/arUntrustworthyReportingOrigin.md +10 -0
- package/build/src/third_party/issue-descriptions/arWebAndOsHeaders.md +11 -0
- package/build/src/third_party/issue-descriptions/bounceTrackingMitigations.md +3 -0
- package/build/src/third_party/issue-descriptions/clientHintMetaTagAllowListInvalidOrigin.md +4 -0
- package/build/src/third_party/issue-descriptions/clientHintMetaTagModifiedHTML.md +4 -0
- package/build/src/third_party/issue-descriptions/connectionAllowlistInvalidAllowlistItemType.md +12 -0
- package/build/src/third_party/issue-descriptions/connectionAllowlistInvalidHeader.md +12 -0
- package/build/src/third_party/issue-descriptions/connectionAllowlistInvalidUrlPattern.md +8 -0
- package/build/src/third_party/issue-descriptions/connectionAllowlistItemNotInnerList.md +12 -0
- package/build/src/third_party/issue-descriptions/connectionAllowlistMoreThanOneList.md +7 -0
- package/build/src/third_party/issue-descriptions/connectionAllowlistReportingEndpointNotToken.md +10 -0
- package/build/src/third_party/issue-descriptions/cookieCrossSiteRedirectDowngrade.md +12 -0
- package/build/src/third_party/issue-descriptions/cookieExcludeBlockedWithinRelatedWebsiteSet.md +4 -0
- package/build/src/third_party/issue-descriptions/cookieExcludeDomainNonAscii.md +11 -0
- package/build/src/third_party/issue-descriptions/cookieExcludePortMismatch.md +8 -0
- package/build/src/third_party/issue-descriptions/cookieExcludeSchemeMismatch.md +7 -0
- package/build/src/third_party/issue-descriptions/cookieExcludeThirdPartyPhaseoutRead.md +6 -0
- package/build/src/third_party/issue-descriptions/cookieExcludeThirdPartyPhaseoutSet.md +6 -0
- package/build/src/third_party/issue-descriptions/cookieWarnDomainNonAscii.md +11 -0
- package/build/src/third_party/issue-descriptions/cookieWarnMetadataGrantRead.md +4 -0
- package/build/src/third_party/issue-descriptions/cookieWarnMetadataGrantSet.md +4 -0
- package/build/src/third_party/issue-descriptions/cookieWarnThirdPartyPhaseoutRead.md +6 -0
- package/build/src/third_party/issue-descriptions/cookieWarnThirdPartyPhaseoutSet.md +6 -0
- package/build/src/third_party/issue-descriptions/corsAllowCredentialsRequired.md +6 -0
- package/build/src/third_party/issue-descriptions/corsDisabledScheme.md +7 -0
- package/build/src/third_party/issue-descriptions/corsDisallowedByMode.md +7 -0
- package/build/src/third_party/issue-descriptions/corsHeaderDisallowedByPreflightResponse.md +5 -0
- package/build/src/third_party/issue-descriptions/corsInvalidHeaderValues.md +7 -0
- package/build/src/third_party/issue-descriptions/corsLocalNetworkAccessPermissionDenied.md +19 -0
- package/build/src/third_party/issue-descriptions/corsMethodDisallowedByPreflightResponse.md +5 -0
- package/build/src/third_party/issue-descriptions/corsNoCorsRedirectModeNotFollow.md +5 -0
- package/build/src/third_party/issue-descriptions/corsOriginMismatch.md +6 -0
- package/build/src/third_party/issue-descriptions/corsPreflightResponseInvalid.md +5 -0
- package/build/src/third_party/issue-descriptions/corsRedirectContainsCredentials.md +5 -0
- package/build/src/third_party/issue-descriptions/corsWildcardOriginNotAllowed.md +8 -0
- package/build/src/third_party/issue-descriptions/cspEvalViolation.md +9 -0
- package/build/src/third_party/issue-descriptions/cspInlineViolation.md +10 -0
- package/build/src/third_party/issue-descriptions/cspTrustedTypesPolicyViolation.md +5 -0
- package/build/src/third_party/issue-descriptions/cspTrustedTypesSinkViolation.md +8 -0
- package/build/src/third_party/issue-descriptions/cspURLViolation.md +10 -0
- package/build/src/third_party/issue-descriptions/deprecation.md +3 -0
- 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 -0
- package/build/src/third_party/issue-descriptions/federatedAuthRequestAccountsInvalidResponse.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthRequestAccountsNoResponse.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthRequestApprovalDeclined.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthRequestCanceled.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthRequestErrorFetchingSignin.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthRequestErrorIdToken.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthRequestIdTokenHttpNotFound.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthRequestIdTokenInvalidRequest.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthRequestIdTokenInvalidResponse.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthRequestIdTokenNoResponse.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthRequestInvalidSigninResponse.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthRequestManifestHttpNotFound.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthRequestManifestInvalidResponse.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthRequestManifestNoResponse.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthRequestTooManyRequests.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestInvalidAccountsResponse.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestInvalidConfigOrWellKnown.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNoAccountSharingPermission.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNoApiPermission.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNoReturningUserFromFetchedAccounts.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNotIframe.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNotPotentiallyTrustworthy.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNotSameOrigin.md +1 -0
- package/build/src/third_party/issue-descriptions/federatedAuthUserInfoRequestNotSignedInWithIdp.md +1 -0
- package/build/src/third_party/issue-descriptions/fetchingPartitionedBlobURL.md +7 -0
- package/build/src/third_party/issue-descriptions/genericBackUINavigationWouldSkipAd.md +4 -0
- package/build/src/third_party/issue-descriptions/genericFormAriaLabelledByToNonExistingIdError.md +8 -0
- package/build/src/third_party/issue-descriptions/genericFormAutocompleteAttributeEmptyError.md +5 -0
- package/build/src/third_party/issue-descriptions/genericFormDuplicateIdForInputError.md +5 -0
- package/build/src/third_party/issue-descriptions/genericFormEmptyIdAndNameAttributesForInputError.md +5 -0
- package/build/src/third_party/issue-descriptions/genericFormInputAssignedAutocompleteValueToIdOrNameAttributeError.md +5 -0
- package/build/src/third_party/issue-descriptions/genericFormInputHasWrongButWellIntendedAutocompleteValueError.md +5 -0
- package/build/src/third_party/issue-descriptions/genericFormInputWithNoLabelError.md +5 -0
- package/build/src/third_party/issue-descriptions/genericFormLabelForMatchesNonExistingIdError.md +5 -0
- package/build/src/third_party/issue-descriptions/genericFormLabelForNameError.md +5 -0
- package/build/src/third_party/issue-descriptions/genericFormLabelHasNeitherForNorNestedInputError.md +5 -0
- package/build/src/third_party/issue-descriptions/genericFormModelContextMissingToolDescription.md +5 -0
- package/build/src/third_party/issue-descriptions/genericFormModelContextMissingToolName.md +5 -0
- package/build/src/third_party/issue-descriptions/genericFormModelContextParameterMissingName.md +5 -0
- package/build/src/third_party/issue-descriptions/genericFormModelContextParameterMissingTitleAndDescription.md +5 -0
- package/build/src/third_party/issue-descriptions/genericFormModelContextRequiredParameterMissingName.md +5 -0
- package/build/src/third_party/issue-descriptions/genericNavigationEntryMarkedSkippable.md +7 -0
- package/build/src/third_party/issue-descriptions/genericResponseWasBlockedByORB.md +4 -0
- package/build/src/third_party/issue-descriptions/heavyAd.md +10 -0
- package/build/src/third_party/issue-descriptions/mixedContent.md +5 -0
- package/build/src/third_party/issue-descriptions/navigatingPartitionedBlobURL.md +5 -0
- package/build/src/third_party/issue-descriptions/permissionElementActivationDisabled.md +7 -0
- package/build/src/third_party/issue-descriptions/permissionElementActivationDisabledWithOccluder.md +9 -0
- package/build/src/third_party/issue-descriptions/permissionElementActivationDisabledWithOccluderParent.md +9 -0
- package/build/src/third_party/issue-descriptions/permissionElementCspFrameAncestorsMissing.md +5 -0
- package/build/src/third_party/issue-descriptions/permissionElementFencedFrameDisallowed.md +5 -0
- package/build/src/third_party/issue-descriptions/permissionElementFontSizeTooLarge.md +5 -0
- package/build/src/third_party/issue-descriptions/permissionElementFontSizeTooSmall.md +5 -0
- package/build/src/third_party/issue-descriptions/permissionElementGeolocationDeprecated.md +5 -0
- package/build/src/third_party/issue-descriptions/permissionElementInsetBoxShadowUnsupported.md +5 -0
- package/build/src/third_party/issue-descriptions/permissionElementInvalidDisplayStyle.md +5 -0
- package/build/src/third_party/issue-descriptions/permissionElementInvalidSizeValue.md +5 -0
- package/build/src/third_party/issue-descriptions/permissionElementInvalidType.md +5 -0
- package/build/src/third_party/issue-descriptions/permissionElementInvalidTypeActivation.md +5 -0
- package/build/src/third_party/issue-descriptions/permissionElementLowContrast.md +5 -0
- package/build/src/third_party/issue-descriptions/permissionElementNonOpaqueColor.md +5 -0
- package/build/src/third_party/issue-descriptions/permissionElementPaddingBottomUnsupported.md +6 -0
- package/build/src/third_party/issue-descriptions/permissionElementPaddingRightUnsupported.md +6 -0
- package/build/src/third_party/issue-descriptions/permissionElementPermissionsPolicyBlocked.md +5 -0
- package/build/src/third_party/issue-descriptions/permissionElementRegistrationFailed.md +5 -0
- package/build/src/third_party/issue-descriptions/permissionElementRequestInProgress.md +5 -0
- package/build/src/third_party/issue-descriptions/permissionElementSecurityChecksFailed.md +5 -0
- package/build/src/third_party/issue-descriptions/permissionElementTypeNotSupported.md +5 -0
- package/build/src/third_party/issue-descriptions/permissionElementUntrustedEvent.md +7 -0
- package/build/src/third_party/issue-descriptions/placeholderDescriptionForInvisibleIssues.md +3 -0
- package/build/src/third_party/issue-descriptions/propertyRuleInvalidNameIssue.md +3 -0
- package/build/src/third_party/issue-descriptions/propertyRuleIssue.md +7 -0
- package/build/src/third_party/issue-descriptions/selectElementAccessibilityDisallowedOptGroupChild.md +7 -0
- package/build/src/third_party/issue-descriptions/selectElementAccessibilityDisallowedSelectChild.md +7 -0
- package/build/src/third_party/issue-descriptions/selectElementAccessibilityInteractiveContentAttributesSelectDescendant.md +3 -0
- package/build/src/third_party/issue-descriptions/selectElementAccessibilityInteractiveContentLegendChild.md +3 -0
- package/build/src/third_party/issue-descriptions/selectElementAccessibilityInteractiveContentOptionChild.md +3 -0
- package/build/src/third_party/issue-descriptions/selectElementAccessibilityNonPhrasingContentOptionChild.md +3 -0
- package/build/src/third_party/issue-descriptions/selectivePermissionsIntervention.md +7 -0
- package/build/src/third_party/issue-descriptions/sharedArrayBuffer.md +7 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryUseErrorCrossOriginNoCorsRequest.md +1 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryUseErrorDictionaryLoadFailure.md +3 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryUseErrorMatchingDictionaryNotUsed.md +3 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryUseErrorUnexpectedContentDictionaryHeader.md +1 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorCossOriginNoCorsRequest.md +1 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorDisallowedBySettings.md +1 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorExpiredResponse.md +3 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorFeatureDisabled.md +3 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorInsufficientResources.md +1 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorInvalidMatchField.md +1 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorInvalidStructuredHeader.md +1 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorInvalidTTLField.md +1 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNavigationRequest.md +3 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNoMatchField.md +1 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonIntegerTTLField.md +1 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonListMatchDestField.md +1 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonSecureContext.md +3 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonStringIdField.md +1 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonStringInMatchDestList.md +1 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonStringMatchField.md +1 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonTokenTypeField.md +1 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorRequestAborted.md +1 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorShuttingDown.md +1 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorTooLongIdField.md +3 -0
- package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorUnsupportedType.md +3 -0
- package/build/src/third_party/issue-descriptions/sriInvalidSignatureHeader.md +14 -0
- package/build/src/third_party/issue-descriptions/sriInvalidSignatureInputHeader.md +15 -0
- package/build/src/third_party/issue-descriptions/sriMissingSignatureHeader.md +8 -0
- package/build/src/third_party/issue-descriptions/sriMissingSignatureInputHeader.md +7 -0
- package/build/src/third_party/issue-descriptions/sriSignatureHeaderValueIsIncorrectLength.md +11 -0
- package/build/src/third_party/issue-descriptions/sriSignatureHeaderValueIsNotByteSequence.md +14 -0
- package/build/src/third_party/issue-descriptions/sriSignatureHeaderValueIsParameterized.md +15 -0
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidComponentName.md +8 -0
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidComponentType.md +13 -0
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidDerivedComponentParameter.md +4 -0
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidHeaderComponentParameter.md +5 -0
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidParameter.md +11 -0
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderKeyIdLength.md +12 -0
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderMissingLabel.md +6 -0
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderMissingRequiredParameters.md +8 -0
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderValueMissingComponents.md +11 -0
- package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderValueNotInnerList.md +11 -0
- package/build/src/third_party/issue-descriptions/sriValidationFailedIntegrityMismatch.md +10 -0
- package/build/src/third_party/issue-descriptions/sriValidationFailedInvalidLength.md +5 -0
- package/build/src/third_party/issue-descriptions/sriValidationFailedSignatureExpired.md +6 -0
- package/build/src/third_party/issue-descriptions/sriValidationFailedSignatureMismatch.md +11 -0
- package/build/src/third_party/issue-descriptions/stylesheetLateImport.md +4 -0
- package/build/src/third_party/issue-descriptions/stylesheetRequestFailed.md +3 -0
- package/build/src/third_party/issue-descriptions/summaryElementAccessibilityInteractiveContentSummaryDescendant.md +3 -0
- package/build/src/third_party/issue-descriptions/unencodedDigestIncorrectDigestLength.md +12 -0
- package/build/src/third_party/issue-descriptions/unencodedDigestIncorrectDigestType.md +17 -0
- package/build/src/third_party/issue-descriptions/unencodedDigestMalformedDictionary.md +14 -0
- package/build/src/third_party/issue-descriptions/unencodedDigestUnknownAlgorithm.md +15 -0
- package/build/src/third_party/lighthouse-devtools-mcp-bundle.js +61598 -0
- package/build/src/tools/ToolDefinition.js +73 -0
- package/build/src/tools/categories.js +36 -0
- package/build/src/tools/console.js +98 -0
- package/build/src/tools/emulation.js +84 -0
- package/build/src/tools/extensions.js +101 -0
- package/build/src/tools/input.js +469 -0
- package/build/src/tools/lighthouse.js +136 -0
- package/build/src/tools/memory.js +227 -0
- package/build/src/tools/network.js +125 -0
- package/build/src/tools/pages.js +419 -0
- package/build/src/tools/performance.js +200 -0
- package/build/src/tools/screencast.js +117 -0
- package/build/src/tools/screenshot.js +169 -0
- package/build/src/tools/script.js +151 -0
- package/build/src/tools/slim/tools.js +88 -0
- package/build/src/tools/snapshot.js +61 -0
- package/build/src/tools/thirdPartyDeveloper.js +85 -0
- package/build/src/tools/tools.js +56 -0
- package/build/src/tools/webmcp.js +66 -0
- package/build/src/trace-processing/parse.js +85 -0
- package/build/src/types.js +7 -0
- package/build/src/utils/check-for-updates.js +74 -0
- package/build/src/utils/files.js +61 -0
- package/build/src/utils/id.js +16 -0
- package/build/src/utils/keyboard.js +297 -0
- package/build/src/utils/pagination.js +50 -0
- package/build/src/utils/string.js +37 -0
- package/build/src/utils/types.js +7 -0
- package/build/src/version.js +10 -0
- package/package.json +100 -0
- package/skills/a11y-debugging/SKILL.md +89 -0
- package/skills/a11y-debugging/references/a11y-snippets.md +92 -0
- package/skills/chrome-devtools/SKILL.md +72 -0
- package/skills/chrome-devtools-cli/SKILL.md +153 -0
- package/skills/chrome-devtools-cli/references/installation.md +14 -0
- package/skills/debug-optimize-lcp/SKILL.md +121 -0
- package/skills/debug-optimize-lcp/references/elements-and-size.md +27 -0
- package/skills/debug-optimize-lcp/references/lcp-breakdown.md +23 -0
- package/skills/debug-optimize-lcp/references/lcp-snippets.md +79 -0
- package/skills/debug-optimize-lcp/references/optimization-strategies.md +38 -0
- package/skills/memory-leak-debugging/SKILL.md +50 -0
- package/skills/memory-leak-debugging/references/common-leaks.md +33 -0
- package/skills/memory-leak-debugging/references/compare_snapshots.js +109 -0
- package/skills/memory-leak-debugging/references/memlab.md +29 -0
- package/skills/troubleshooting/SKILL.md +98 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Session History Item Has Been Marked Skippable
|
|
2
|
+
|
|
3
|
+
A session history item was added by this document without any interaction from the
|
|
4
|
+
user. As a result, this document's history items will be skipped if the user goes
|
|
5
|
+
back or forward via the browser's UI (e.g., back/forward buttons), to prevent pages
|
|
6
|
+
from trapping a user. If the user interacts with the page, the history items
|
|
7
|
+
will no longer be skipped.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# An ad on your site has exceeded resource limits
|
|
2
|
+
|
|
3
|
+
Chrome identifies heavy ads on your site that use too many resources without a user gesture. Heavy ads have an impact on performance and harm the user’s browsing experience. They increase battery drain, consume mobile data, and make your site slow. To improve the user experience, Chrome warns about or removes heavy ads.
|
|
4
|
+
|
|
5
|
+
An ad is considered heavy if the user has not interacted with it (for example, has not tapped or clicked it) and it meets any of the following criteria:
|
|
6
|
+
* Uses the main thread for more than 60 seconds in total (CPU total limit)
|
|
7
|
+
* Uses the main thread for more than 15 seconds in any 30 second window (CPU peak limit)
|
|
8
|
+
* Uses more than 4 megabytes of network bandwidth (Network limit)
|
|
9
|
+
|
|
10
|
+
Stop this from happening by only showing ads that stay within resource limits.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Mixed content: load all resources via HTTPS to improve the security of your site
|
|
2
|
+
|
|
3
|
+
Even though the initial HTML page is loaded over a secure HTTPS connection, some resources like images, stylesheets or scripts are being accessed over an insecure HTTP connection. Usage of insecure resources is restricted to strengthen the security of your entire site.
|
|
4
|
+
|
|
5
|
+
To resolve this issue, load all resources over a secure HTTPS connection.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Navigating Partitioned Blob URL Issue
|
|
2
|
+
|
|
3
|
+
This issue occurs when 'noopener' was enforced during navigation to a cross-partition, same-origin Blob URL. The navigation won't be blocked due to it being cross-partition, but APIs like window.open won't return a WindowProxy for the new window in this case.
|
|
4
|
+
|
|
5
|
+
If your application requires a WindowProxy object to be returned by navigating to the Blob URL, make sure the Blob URL has the same top-level site as the context it is navigated fetched from.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Activation disabled
|
|
2
|
+
|
|
3
|
+
The "{PLACEHOLDER_Type}" element could not be activated for the following reason: {PLACEHOLDER_DisableReason}.
|
|
4
|
+
|
|
5
|
+
To resolve this issue, ensure that the element follows all styling restrictions and is fully visible to the user.
|
|
6
|
+
|
|
7
|
+
You can use the command line flag `--runtime-enabled-features=BypassPepcSecurityForTesting` to bypass this behavior for testing purposes.
|
package/build/src/third_party/issue-descriptions/permissionElementActivationDisabledWithOccluder.md
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Activation disabled
|
|
2
|
+
|
|
3
|
+
The "{PLACEHOLDER_Type}" element could not be activated for the following reason: {PLACEHOLDER_DisableReason}.
|
|
4
|
+
|
|
5
|
+
The element is occluded by: "{PLACEHOLDER_OccluderInfo}"
|
|
6
|
+
|
|
7
|
+
To resolve this issue, ensure that the element follows all styling restrictions and is fully visible to the user.
|
|
8
|
+
|
|
9
|
+
You can use the command line flag `--runtime-enabled-features=BypassPepcSecurityForTesting` to bypass this behavior for testing purposes.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Activation disabled
|
|
2
|
+
|
|
3
|
+
The "{PLACEHOLDER_Type}" element could not be activated for the following reason: {PLACEHOLDER_DisableReason}.
|
|
4
|
+
|
|
5
|
+
The element is occluded by: "{PLACEHOLDER_OccluderInfo}" (parent element: "{PLACEHOLDER_OccluderParentInfo}")
|
|
6
|
+
|
|
7
|
+
To resolve this issue, ensure that the element follows all styling restrictions and is fully visible to the user.
|
|
8
|
+
|
|
9
|
+
You can use the command line flag `--runtime-enabled-features=BypassPepcSecurityForTesting` to bypass this behavior for testing purposes.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# CSP `frame-ancestors` missing
|
|
2
|
+
|
|
3
|
+
The "{PLACEHOLDER_Type}" element is used in a cross-origin iframe, but the required `frame-ancestors` Content Security Policy directive is missing.
|
|
4
|
+
|
|
5
|
+
To resolve this issue, add a `frame-ancestors` Content Security Policy directive to the iframe.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Invalid type activation
|
|
2
|
+
|
|
3
|
+
An element with the "{PLACEHOLDER_Type}" type was attempted to be activated. However this type is not supported.
|
|
4
|
+
|
|
5
|
+
To resolve this issue, ensure the element's type is one of the supported values: "camera", "microphone", "geolocation", "camera microphone".
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Unsupported bottom padding
|
|
2
|
+
|
|
3
|
+
The "{PLACEHOLDER_Type}" element does not support `padding-bottom`.
|
|
4
|
+
`padding-bottom` is always set to be identical to `padding-top`.
|
|
5
|
+
|
|
6
|
+
To resolve this issue, ensure the element's `padding-bottom` is unset or identical to `padding-top`.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Unsupported right padding
|
|
2
|
+
|
|
3
|
+
The "{PLACEHOLDER_Type}" element does not support `padding-right`.
|
|
4
|
+
`padding-right` is always set to be identical to `padding-left`.
|
|
5
|
+
|
|
6
|
+
To resolve this issue, ensure the element's `padding-right` is unset or identical to `padding-left`.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Request in progress
|
|
2
|
+
|
|
3
|
+
A permission request on the "{PLACEHOLDER_Type}" element was prevented because a previous request is still in progress.
|
|
4
|
+
|
|
5
|
+
To resolve this issue, ensure that the site does not allow users to interact with the element behind the current content scrim (for example by moving the element to a document in a new window, which is not covered by the scrim).
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Permission not supported
|
|
2
|
+
|
|
3
|
+
The permission type "{PLACEHOLDER_Type}" is not supported by this browser and therefore the element will not be functional.
|
|
4
|
+
|
|
5
|
+
To resolve this issue, ensure the element's type is one of the supported values: "camera", "microphone", "geolocation", "camera microphone".
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Untrusted event
|
|
2
|
+
|
|
3
|
+
The "{PLACEHOLDER_Type}" element can only be activated by actual user clicks, not simulated ones.
|
|
4
|
+
|
|
5
|
+
To resolve this issue, do not use frameworks which simulate click events, (e.g. via `click()`) and do not prevent the `DOMActivate` event.
|
|
6
|
+
|
|
7
|
+
You can use the command line flag `--runtime-enabled-features=BypassPepcSecurityForTesting` to bypass this behavior for testing purposes.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Invalid element or text node within <optgroup>
|
|
2
|
+
|
|
3
|
+
An element which is not allowed in the content model of the `<optgroup>` element was found within an `<optgroup>` element. These elements will not consistently be accessible to people navigating by keyboard or using assistive technology.
|
|
4
|
+
|
|
5
|
+
If using disallowed elements for layout structure and styling, consider using the allowed `<div>` element instead.
|
|
6
|
+
|
|
7
|
+
Any text existing within the `<optgroup>` element should either be removed or relocated to a valid element that allows text descendants, e.g., the `<legend>` or `<option>` elements.
|
package/build/src/third_party/issue-descriptions/selectElementAccessibilityDisallowedSelectChild.md
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Invalid element or text node within <select>
|
|
2
|
+
|
|
3
|
+
An element which is not allowed in the content model of the `<select>` element was found within a `<select>` element. These elements will not consistently be accessible to people navigating by keyboard or using assistive technology.
|
|
4
|
+
|
|
5
|
+
If using disallowed elements for layout structure and styling, consider using the allowed `<div>` element instead.
|
|
6
|
+
|
|
7
|
+
Any text existing within the `<select>` element should either be removed or relocated to a valid element that allows text descendants, e.g., an `<optgroup>` with a `<legend>` element or `<option>` elements.
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
# Interactive element inside of a <legend> element
|
|
2
|
+
|
|
3
|
+
An interactive element which is not allowed in the content model of the `<legend>` element was found within a `<legend>` element. Interactive elements are not allowed children of a `<legend>` element when used within an `<optgroup>` element. These elements will not consistently be accessible to people navigating by keyboard or using assistive technology.
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
# Interactive element inside of an <option> element
|
|
2
|
+
|
|
3
|
+
An interactive element which is not allowed in the content model of the `<option>` element was found within an `<option>` element. These elements will not consistently be accessible to people navigating by keyboard or using assistive technology.
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
# Non-phrasing content used within an <option> element
|
|
2
|
+
|
|
3
|
+
The `<option>` element allows only non-interactive phrasing content, text, and `<div>` elements as its children. The semantics of non-phrasing content elements do not make sense as children of an `<option>`, and such semantics will largely be ignored by assistive technology since they are inappropriate in this context. Consider removing or changing such elements to one of the allowed phrasing content elements.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Selective Permissions Intervention
|
|
2
|
+
|
|
3
|
+
The Selective Permissions Intervention blocks calls to privacy-sensitive APIs when they are called from ad scripts in order to align the permission grant with the user's intent. The particular API that was blocked, the call-stack that triggered the intervention, and why the script that called the API is considered ad-related is shown below.
|
|
4
|
+
|
|
5
|
+
Note that Chrome considers any script with a URL that matches a rule in the [filterlist](ChromeFilterlistRepository) as ad script, and the matching rule is shown in the Ad Ancestry section. In addition, any script loaded while an ad script is in the JavaScript stack will also be considered an ad script by Chrome and is also shown in Ad Ancestry.
|
|
6
|
+
|
|
7
|
+
If you believe this intervention was in error (e.g., this call would occur even when loading the page with an ad blocker enabled), then please [file a bug](SelectivePermissionsInterventionIssue).
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# SharedArrayBuffer usage is restricted to cross-origin isolated sites
|
|
2
|
+
|
|
3
|
+
SharedArrayBuffers (SABs) can be used to construct high-resolution timers. High-resolution timers simplify Spectre attacks on cross-origin resources.
|
|
4
|
+
|
|
5
|
+
To mitigate security risks across browsers, SharedArrayBuffers are gated behind cross-origin isolated contexts starting with Chrome 92 (July 2021). To continue using SharedArrayBuffers, please ensure that this page opts-into cross-origin isolation by setting Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy appropriately.
|
|
6
|
+
|
|
7
|
+
Note that for each iframe, only the first issue is reported for performance reasons.
|
package/build/src/third_party/issue-descriptions/sharedDictionaryUseErrorCrossOriginNoCorsRequest.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Found a matching dictionary, but the dictionary can't be used for the cross origin no-cors request
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Can't decode the response because the header of dictionary compressed stream was not set correctly
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Can't register the cross origin response fetched by a no-cors request as as a dictionary
|
package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorDisallowedBySettings.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Compression Dictionary is disabled by settings
|
package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorInsufficientResources.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Failed to write the dictionary due to insufficient resources
|
package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorInvalidMatchField.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Unable to parse the `match` field of the `Use-As-Dictionary` HTTP response header
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# `Use-As-Dictionary` HTTP response header is not a valid Structured Field value
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# The `ttl` field of the `Use-As-Dictionary` HTTP response header must be a positive integer
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# There is no `match` field in the `Use-As-Dictionary` HTTP response header
|
package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonIntegerTTLField.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# The `ttl` field of the `Use-As-Dictionary` HTTP response header must be an integer
|
package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonListMatchDestField.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# The `match-dest` field of the `Use-As-Dictionary` HTTP response header must be a list
|
package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonStringIdField.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# The `id` field of the `Use-As-Dictionary` HTTP response header must be a string
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Items in the `match-dest` field of the `Use-As-Dictionary` HTTP response header must be strings
|
package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonStringMatchField.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# The `match` field of the `Use-As-Dictionary` HTTP response header must be a string
|
package/build/src/third_party/issue-descriptions/sharedDictionaryWriteErrorNonTokenTypeField.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# The `type` field of the `Use-As-Dictionary` HTTP response header must be a token
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# An error occurred while writing the dictionary
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Failed to write the dictionary due to shutdown
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# A `signature` header is not formatted as a Structured Field Dictionary.
|
|
2
|
+
|
|
3
|
+
Responses' [`signature`](signatureHeader) header should be formatted as a
|
|
4
|
+
[Dictionary](sfDictionary) containing one or more signatures. Each member's key
|
|
5
|
+
is a label for the signature which maps it to the relevant metadata defined in
|
|
6
|
+
a [`signature-input`](signatureInputHeader) header. Each member's value is a
|
|
7
|
+
[Byte Sequence](sfByteSequence) containing the signature itself.
|
|
8
|
+
|
|
9
|
+
For example, the following header contains a single Ed25519 signature labeled
|
|
10
|
+
"label":
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
Signature: label=:gHim9e5Pk2H7c9BStOmxSmkyc8+ioZgoxynu3d4INAT4dwfj5LhvaV9DFnEQ9p7C0hzW4o4Qpkm5aApd6WLLCw==:
|
|
14
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# A `signature-input` header is not formatted as a Structured Field Dictionary.
|
|
2
|
+
|
|
3
|
+
Responses' [`signature-input`](signatureInputHeader) header should be formatted
|
|
4
|
+
as a [Dictionary](sfDictionary) containing metadata regarding one or more
|
|
5
|
+
signatures. Each member's key is a label for the metadata which maps it to the
|
|
6
|
+
relevant signature defined in a [`signature`](signatureHeader) header. Each
|
|
7
|
+
member's value is an [Inner List](sfInnerList) containing a set of components
|
|
8
|
+
over which a signature is generated. The list may have one or more parameters.
|
|
9
|
+
|
|
10
|
+
For example, the following header contains metadata for a signature labeled
|
|
11
|
+
"label":
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
Signature-Input: signature=("unencoded-digest";sf);keyid="JrQLj5P/89iXES9+vFgrIy29clF9CC/oPPsw3c5D0bs=";tag="sri"
|
|
15
|
+
```
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# A `signature-input` header was specified without an accompanying `signature` header.
|
|
2
|
+
|
|
3
|
+
[`signature-input`](signatureInputHeader) headers specify metadata that allows
|
|
4
|
+
verification of signatures delivered with a response. If no
|
|
5
|
+
[`signature`](signatureHeader) header is present, the
|
|
6
|
+
[`signature-input`](signatureInputHeader) header can be omitted, as it serves no
|
|
7
|
+
useful purpose in the absence of signatures. Both headers must be present for
|
|
8
|
+
verification to proceed.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# A `signature` header was specified without an accompanying `signature-input` header.
|
|
2
|
+
|
|
3
|
+
[`signature`](signatureHeader) headers specify signatures which can be verified
|
|
4
|
+
against a given response. Verification cannot proceed, however, in the absence of a
|
|
5
|
+
[`signature-input`](signatureInputHeader) header which defines relevant metadata
|
|
6
|
+
which allows servers and clients to agree on the exact message which is being
|
|
7
|
+
signed. Both headers must be present for verification to proceed.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# A `signature` header contains a signature which cannot be verified.
|
|
2
|
+
|
|
3
|
+
This browser can only verify Ed25519 signatures, which are 512 bits long. The
|
|
4
|
+
signature delivered with this response does not match that length.
|
|
5
|
+
|
|
6
|
+
For example, the following header contains a valid Ed25519 signature labeled
|
|
7
|
+
"label":
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
Signature: label=:gHim9e5Pk2H7c9BStOmxSmkyc8+ioZgoxynu3d4INAT4dwfj5LhvaV9DFnEQ9p7C0hzW4o4Qpkm5aApd6WLLCw==:
|
|
11
|
+
```
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# A `signature` header member's value is not a Byte Sequence.
|
|
2
|
+
|
|
3
|
+
Responses' [`signature`](signatureHeader) header should be formatted as a
|
|
4
|
+
[Dictionary](sfDictionary) containing one or more signatures. Each member's key
|
|
5
|
+
is a label for the signature which maps it to the relevant metadata defined in
|
|
6
|
+
a [`signature-input`](signatureInputHeader) header. Each member's value is a
|
|
7
|
+
[Byte Sequence](sfByteSequence) containing the signature itself.
|
|
8
|
+
|
|
9
|
+
For example, the following header contains a single Ed25519 signature labeled
|
|
10
|
+
"label":
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
Signature: label=:gHim9e5Pk2H7c9BStOmxSmkyc8+ioZgoxynu3d4INAT4dwfj5LhvaV9DFnEQ9p7C0hzW4o4Qpkm5aApd6WLLCw==:
|
|
14
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# A `signature` header member's value is parameterized.
|
|
2
|
+
|
|
3
|
+
Responses' [`signature`](signatureHeader) header should be formatted as a
|
|
4
|
+
[Dictionary](sfDictionary) containing one or more signatures. Each member's key
|
|
5
|
+
is a label for the signature which maps it to the relevant metadata defined in a
|
|
6
|
+
[`signature-input`](signatureInputHeader) header. Each member's value is a
|
|
7
|
+
[Byte Sequence](sfByteSequence) containing the signature itself, with no
|
|
8
|
+
additional parameters specified.
|
|
9
|
+
|
|
10
|
+
For example, the following header contains a single Ed25519 signature labeled
|
|
11
|
+
"label":
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
Signature: label=:gHim9e5Pk2H7c9BStOmxSmkyc8+ioZgoxynu3d4INAT4dwfj5LhvaV9DFnEQ9p7C0hzW4o4Qpkm5aApd6WLLCw==:
|
|
15
|
+
```
|
package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidComponentName.md
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# A `signature-input` header member's value contains an unknown component.
|
|
2
|
+
|
|
3
|
+
The metadata delivered via [`signature-input`](signatureInputHeader) can only
|
|
4
|
+
contain a limited set of components in the list it specifies. The known
|
|
5
|
+
components are:
|
|
6
|
+
|
|
7
|
+
* "`unencoded-digest`"
|
|
8
|
+
* "`@path`"
|
package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderInvalidComponentType.md
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# A `signature-input` header's component is not a string.
|
|
2
|
+
|
|
3
|
+
Responses' [`signature-input`](signatureInputHeader) header's members' values
|
|
4
|
+
are [Inner Lists](sfInnerList) whose contents are each strings. Perhaps you
|
|
5
|
+
forgot double-quotes around a component?
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
// Correct:
|
|
9
|
+
Signature-Input: signature=("unencoded-digest";sf);keyid="JrQLj5P/89iXES9+vFgrIy29clF9CC/oPPsw3c5D0bs=";tag="sri"
|
|
10
|
+
|
|
11
|
+
// Incorrect:
|
|
12
|
+
Signature-Input: signature=(unencoded-digest;sf);keyid="JrQLj5P/89iXES9+vFgrIy29clF9CC/oPPsw3c5D0bs=";tag="sri"
|
|
13
|
+
```
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Invalid parameter on a header component in a `signature-input` header.
|
|
2
|
+
|
|
3
|
+
The header [`unencoded-digest`](unencodedDigestHeader) must be specified as
|
|
4
|
+
being strictly serialized in the signature base, using the
|
|
5
|
+
[`sf` parameter](componentParameterSf). No other parameter may be specified.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Invalid parameter on the list of components in a `signature-input` header.
|
|
2
|
+
|
|
3
|
+
The `signature-input` header's [Inner Lists](sfInnerList) must be specified with the
|
|
4
|
+
[`keyid` and `type` parameters](signatureParameters). The following parameters may
|
|
5
|
+
also be specified:
|
|
6
|
+
|
|
7
|
+
* `created`
|
|
8
|
+
* `expires`
|
|
9
|
+
* `nonce`
|
|
10
|
+
|
|
11
|
+
No other parameter may be specified.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Invalid `keyid` value in a `signature-input` header.
|
|
2
|
+
|
|
3
|
+
The key specified in a [`signature-input`](signatureInputHeader) header's
|
|
4
|
+
[`keyid` parameter](signatureParameters) is not a base64-encoded
|
|
5
|
+
256 bit sequence, and therefore cannot be decoded as an Ed25519 public key.
|
|
6
|
+
|
|
7
|
+
Note that the `keyid` parameter's value is a string, not a
|
|
8
|
+
[Byte Sequence](sfByteSequence). For example:
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
Signature-Input: signature=("unencoded-digest";sf);keyid="JrQLj5P/89iXES9+vFgrIy29clF9CC/oPPsw3c5D0bs=";tag="sri"
|
|
12
|
+
```
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Label mismatch between `signature` and `signature-input` headers.
|
|
2
|
+
|
|
3
|
+
A [`signature`](signatureHeader) header specifies a signature whose label does
|
|
4
|
+
not appear in a corresponding [`signature-input`](signatureInputHeader) header.
|
|
5
|
+
Without a `signature-input` header's definition of the signature's metadata,
|
|
6
|
+
the signature cannot be verified.
|
package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderMissingRequiredParameters.md
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Missing a required parameter on the list of components in a `signature-input` header.
|
|
2
|
+
|
|
3
|
+
The [`signature-input`][signatureInputHeader] header's [Inner Lists](sfInnerList)
|
|
4
|
+
must be specified with both the [`keyid` and `type` parameters](signatureParameters).
|
|
5
|
+
|
|
6
|
+
```
|
|
7
|
+
Signature-Input: signature=("unencoded-digest";sf);keyid="JrQLj5P/89iXES9+vFgrIy29clF9CC/oPPsw3c5D0bs=";tag="sri"
|
|
8
|
+
```
|
package/build/src/third_party/issue-descriptions/sriSignatureInputHeaderValueMissingComponents.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Missing a required component in a `signature-input` header.
|
|
2
|
+
|
|
3
|
+
The [`signature-input`](signatureInputHeader) header's
|
|
4
|
+
[Inner Lists](sfInnerList) must contain the string "`unencoded-digest`" with an
|
|
5
|
+
`sf` parameter:
|
|
6
|
+
|
|
7
|
+
For example:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
Signature-Input: signature=("unencoded-digest";sf);keyid="JrQLj5P/89iXES9+vFgrIy29clF9CC/oPPsw3c5D0bs=";tag="sri"
|
|
11
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# A `signature-input` header has a member whose value is not an Inner List.
|
|
2
|
+
|
|
3
|
+
The value of each member of a [`signature-input`](signatureInputHeader) header's
|
|
4
|
+
[Dictionary][sfDictionary] must be an [Inner List](sfInnerList) containing the
|
|
5
|
+
set of components over which a signature is generated.
|
|
6
|
+
|
|
7
|
+
For example:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
Signature-Input: signature=("unencoded-digest";sf);keyid="JrQLj5P/89iXES9+vFgrIy29clF9CC/oPPsw3c5D0bs=";tag="sri"
|
|
11
|
+
```
|