chrome-devtools-mcp 0.10.0 → 0.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Debouncer.js +2 -2
- package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Gzip.js +1 -1
- package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Revealer.js +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Settings.js +106 -98
- package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Throttler.js +2 -2
- package/build/node_modules/chrome-devtools-frontend/front_end/core/common/common.js +1 -2
- package/build/node_modules/chrome-devtools-frontend/front_end/core/host/AidaClient.js +2 -2
- package/build/node_modules/chrome-devtools-frontend/front_end/core/host/DispatchHttpRequestClient.js +15 -3
- package/build/node_modules/chrome-devtools-frontend/front_end/core/host/GdpClient.js +4 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHost.js +10 -13
- package/build/node_modules/chrome-devtools-frontend/front_end/core/host/UserMetrics.js +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/ByteUtilities.js +72 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/DevToolsLocale.js +64 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/NumberFormatter.js +67 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/collect-ui-strings.js +73 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/generate-locales-js.js +51 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/i18n.js +9 -60
- package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/i18nImpl.js +135 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/{common/QueryParamHandler.js → i18n/i18nTypes.js} +1 -1
- package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/locales.js +14 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/time-utilities.js +148 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/DevToolsCDPConnection.js +138 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/InspectorBackend.js +19 -150
- package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/protocol_client.js +2 -2
- package/build/node_modules/chrome-devtools-frontend/front_end/core/root/DevToolsContext.js +50 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/root/root.js +2 -1
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CPUThrottlingManager.js +0 -3
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMatchedStyles.js +6 -7
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSModel.js +1 -1
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSRule.js +14 -4
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ChildTargetManager.js +1 -2
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DebuggerModel.js +1 -16
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IOModel.js +1 -4
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/NetworkManager.js +18 -9
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/NetworkRequest.js +0 -8
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RemoteObject.js +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerSentEventsProtocol.js +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Target.js +1 -3
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/TargetManager.js +4 -5
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/sdk-meta.js +0 -30
- package/build/node_modules/chrome-devtools-frontend/front_end/foundation/Universe.js +30 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/foundation/foundation.js +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/generated/Deprecation.js +8 -14
- package/build/node_modules/chrome-devtools-frontend/front_end/generated/InspectorBackendCommands.js +9 -6
- package/build/node_modules/chrome-devtools-frontend/front_end/generated/SupportedCSSProperties.js +62 -8
- package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.js +86 -51
- package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AIQueries.js +46 -2
- package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/CSSWorkspaceBinding.js +6 -5
- package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/CompilerScriptMapping.js +3 -1
- package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DebuggerWorkspaceBinding.js +17 -14
- package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceMapping.js +46 -14
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/AttributionReportingIssue.js +202 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/BounceTrackingIssue.js +57 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CheckFormsIssuesTrigger.js +31 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ClientHintIssue.js +76 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ContentSecurityPolicyIssue.js +140 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ContrastCheckTrigger.js +59 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CookieDeprecationMetadataIssue.js +64 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CookieIssue.js +513 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CorsIssue.js +251 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.js +112 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/DeprecationIssue.js +95 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ElementAccessibilityIssue.js +100 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/FederatedAuthRequestIssue.js +236 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.js +146 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/GenericIssue.js +197 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/HeavyAdIssue.js +57 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/Issue.js +147 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssueAggregator.js +309 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssueResolver.js +40 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssuesManager.js +416 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssuesManagerEvents.js +4 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/LowTextContrastIssue.js +53 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/MarkdownIssueDescription.js +104 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/MixedContentIssue.js +59 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/PartitioningBlobURLIssue.js +63 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/PropertyRuleIssue.js +63 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/QuirksModeIssue.js +53 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/RelatedIssue.js +70 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SRIMessageSignatureIssue.js +91 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SharedArrayBufferIssue.js +54 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SharedDictionaryIssue.js +297 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SourceFrameIssuesManager.js +81 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/StylesheetLoadingIssue.js +63 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/UnencodedDigestIssue.js +67 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepCoopSandboxedIframeCannotNavigateToCoopPage.md +4 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepCorpNotSameOrigin.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepCorpNotSameOriginAfterDefaultedToSameOriginByCoep.md +18 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepCorpNotSameSite.md +7 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepFrameResourceNeedsCoepHeader.md +10 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CompatibilityModeQuirks.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CookieAttributeValueExceedsMaxSize.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/LowTextContrast.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeRead.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeSet.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteExcludeNavigationContextDowngrade.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteInvalidSameParty.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureErrorRead.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureErrorSet.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureWarnRead.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureWarnSet.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteSamePartyCrossPartyContextSet.md +10 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeRead.md +9 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeSet.md +9 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeRead.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeSet.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteWarnStrictLaxDowngradeStrict.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInsecureContext.md +7 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidInfoHeader.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidRegisterOsSourceHeader.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidRegisterOsTriggerHeader.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidRegisterSourceHeader.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidRegisterTriggerHeader.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNavigationRegistrationUniqueScopeAlreadySet.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNavigationRegistrationWithoutTransientUserActivation.md +6 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoRegisterOsSourceHeader.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoRegisterOsTriggerHeader.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoRegisterSourceHeader.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoRegisterTriggerHeader.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoWebOrOsSupport.md +4 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arOsSourceIgnored.md +18 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arOsTriggerIgnored.md +19 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arPermissionPolicyDisabled.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arSourceAndTriggerHeaders.md +9 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arSourceIgnored.md +13 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arTriggerIgnored.md +12 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arUntrustworthyReportingOrigin.md +10 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arWebAndOsHeaders.md +11 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/bounceTrackingMitigations.md +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/clientHintMetaTagAllowListInvalidOrigin.md +4 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/clientHintMetaTagModifiedHTML.md +4 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieCrossSiteRedirectDowngrade.md +12 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeBlockedWithinRelatedWebsiteSet.md +4 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeDomainNonAscii.md +11 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludePortMismatch.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeSchemeMismatch.md +7 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeThirdPartyPhaseoutRead.md +6 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeThirdPartyPhaseoutSet.md +6 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnDomainNonAscii.md +11 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnMetadataGrantRead.md +4 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnMetadataGrantSet.md +4 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnThirdPartyPhaseoutRead.md +6 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnThirdPartyPhaseoutSet.md +6 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsAllowCredentialsRequired.md +6 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsDisabledScheme.md +7 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsDisallowedByMode.md +7 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsHeaderDisallowedByPreflightResponse.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsInsecurePrivateNetwork.md +10 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsInvalidHeaderValues.md +7 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsLocalNetworkAccessPermissionDenied.md +19 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsMethodDisallowedByPreflightResponse.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsNoCorsRedirectModeNotFollow.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsOriginMismatch.md +6 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsPreflightAllowPrivateNetworkError.md +10 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsPreflightResponseInvalid.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsPrivateNetworkPermissionDenied.md +10 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsRedirectContainsCredentials.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsWildcardOriginNotAllowed.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspEvalViolation.md +9 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspInlineViolation.md +10 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspTrustedTypesPolicyViolation.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspTrustedTypesSinkViolation.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspURLViolation.md +10 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/deprecation.md +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsHttpNotFound.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsInvalidResponse.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsNoResponse.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestApprovalDeclined.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestCanceled.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataHttpNotFound.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataInvalidResponse.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataNoResponse.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestErrorFetchingSignin.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestErrorIdToken.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenHttpNotFound.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidRequest.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidResponse.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenNoResponse.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestInvalidSigninResponse.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestHttpNotFound.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestInvalidResponse.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestNoResponse.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestTooManyRequests.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidAccountsResponse.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidConfigOrWellKnown.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoAccountSharingPermission.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoApiPermission.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoReturningUserFromFetchedAccounts.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotIframe.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotPotentiallyTrustworthy.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSameOrigin.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSignedInWithIdp.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/fetchingPartitionedBlobURL.md +7 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormAriaLabelledByToNonExistingId.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormAutocompleteAttributeEmptyError.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormDuplicateIdForInputError.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormEmptyIdAndNameAttributesForInputError.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormInputAssignedAutocompleteValueToIdOrNameAttributeError.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormInputHasWrongButWellIntendedAutocompleteValueError.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormInputWithNoLabelError.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormLabelForMatchesNonExistingIdError.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormLabelForNameError.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormLabelHasNeitherForNorNestedInput.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericResponseWasBlockedByORB.md +4 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/heavyAd.md +10 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/mixedContent.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/navigatingPartitionedBlobURL.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/placeholderDescriptionForInvisibleIssues.md +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/propertyRuleInvalidNameIssue.md +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/propertyRuleIssue.md +7 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityDisallowedOptGroupChild.md +7 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityDisallowedSelectChild.md +7 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentAttributesSelectDescendant.md +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentLegendChild.md +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentOptionChild.md +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityNonPhrasingContentOptionChild.md +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedArrayBuffer.md +7 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorCrossOriginNoCorsRequest.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorDictionaryLoadFailure.md +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorMatchingDictionaryNotUsed.md +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorUnexpectedContentDictionaryHeader.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorCossOriginNoCorsRequest.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorDisallowedBySettings.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorExpiredResponse.md +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorFeatureDisabled.md +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInsufficientResources.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidMatchField.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidStructuredHeader.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidTTLField.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNavigationRequest.md +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNoMatchField.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonIntegerTTLField.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonListMatchDestField.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonSecureContext.md +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringIdField.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringInMatchDestList.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringMatchField.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonTokenTypeField.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorRequestAborted.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorShuttingDown.md +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorTooLongIdField.md +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorUnsupportedType.md +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriInvalidSignatureHeader.md +14 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriInvalidSignatureInputHeader.md +15 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriMissingSignatureHeader.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriMissingSignatureInputHeader.md +7 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureHeaderValueIsIncorrectLength.md +11 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureHeaderValueIsNotByteSequence.md +14 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureHeaderValueIsParameterized.md +15 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidComponentName.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidComponentType.md +13 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidDerivedComponentParameter.md +4 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidHeaderComponentParameter.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidParameter.md +11 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderKeyIdLength.md +12 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderMissingLabel.md +6 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderMissingRequiredParameters.md +8 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderValueMissingComponents.md +11 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderValueNotInnerList.md +11 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriValidationFailedIntegrityMismatch.md +10 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriValidationFailedInvalidLength.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriValidationFailedSignatureExpired.md +6 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriValidationFailedSignatureMismatch.md +11 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/stylesheetLateImport.md +4 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/stylesheetRequestFailed.md +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/summaryElementAccessibilityInteractiveContentSummaryDescendant.md +3 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/unencodedDigestIncorrectDigestLength.md +12 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/unencodedDigestIncorrectDigestType.md +17 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/unencodedDigestMalformedDictionary.md +14 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/unencodedDigestUnknownAlgorithm.md +15 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/issues_manager.js +35 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Processor.js +4 -4
- package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Styles.js +1 -1
- package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/SamplesHandler.js +56 -6
- package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ScriptsHandler.js +24 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/TraceEvents.js +1 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/IgnoreListManager.js +40 -47
- package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/WorkspaceImpl.js +5 -8
- package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/workspace-meta.js +34 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/LICENSE +202 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/i18n-impl.js +46 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/i18n.js +6 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/localized-string-set.js +122 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/LICENSE +33 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/intl-messageformat.js +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/index.js +13 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.js +1725 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/intl-messageformat.iife.js +1840 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/index.js +10 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/src/core.js +233 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/src/error.js +48 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/src/formatters.js +177 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/src/core.js +236 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/src/error.js +51 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/src/formatters.js +182 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/LICENSE +39 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/marked.js +2 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/bin/main.js +255 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/bin/marked.js +11 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/lib/marked.esm.js +2695 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/lib/marked.js +2233 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/lib/marked.umd.js +2719 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Lexer.js +453 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Parser.js +233 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Renderer.js +137 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Slugger.js +46 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/TextRenderer.js +34 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Tokenizer.js +683 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/defaults.js +27 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/helpers.js +240 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/marked.js +318 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/rules.js +243 -0
- package/build/node_modules/chrome-devtools-frontend/mcp/mcp.js +7 -0
- package/build/src/DevToolsConnectionAdapter.js +1 -2
- package/build/src/DevtoolsUtils.js +20 -0
- package/build/src/McpContext.js +25 -16
- package/build/src/McpResponse.js +39 -3
- package/build/src/PageCollector.js +131 -16
- package/build/src/features.js +14 -0
- package/build/src/formatters/consoleFormatter.js +3 -0
- package/build/src/issue-descriptions.js +35 -0
- package/build/src/main.js +6 -1
- package/build/src/third_party/THIRD_PARTY_NOTICES +3 -3
- package/build/src/third_party/index.js +729 -676
- package/build/src/tools/console.js +5 -0
- package/build/src/tools/pages.js +1 -1
- package/package.json +6 -6
- package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/NodeURL.js +0 -31
package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CookieIssue.js
ADDED
|
@@ -0,0 +1,513 @@
|
|
|
1
|
+
// Copyright 2020 The Chromium Authors
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
import * as Common from '../../core/common/common.js';
|
|
5
|
+
import * as i18n from '../../core/i18n/i18n.js';
|
|
6
|
+
import * as SDK from '../../core/sdk/sdk.js';
|
|
7
|
+
import * as ThirdPartyWeb from '../../third_party/third-party-web/third-party-web.js';
|
|
8
|
+
import { Issue } from './Issue.js';
|
|
9
|
+
import { resolveLazyDescription, } from './MarkdownIssueDescription.js';
|
|
10
|
+
const UIStrings = {
|
|
11
|
+
/**
|
|
12
|
+
* @description Label for the link for SameSiteCookies Issues
|
|
13
|
+
*/
|
|
14
|
+
samesiteCookiesExplained: 'SameSite cookies explained',
|
|
15
|
+
/**
|
|
16
|
+
* @description Label for the link for Schemeful Same-Site Issues
|
|
17
|
+
*/
|
|
18
|
+
howSchemefulSamesiteWorks: 'How Schemeful Same-Site Works',
|
|
19
|
+
/**
|
|
20
|
+
* @description Label for a link for SameParty Issues. 'Attribute' refers to a cookie attribute.
|
|
21
|
+
*/
|
|
22
|
+
firstPartySetsExplained: '`First-Party Sets` and the `SameParty` attribute',
|
|
23
|
+
/**
|
|
24
|
+
* @description Label for a link for cross-site redirect Issues.
|
|
25
|
+
*/
|
|
26
|
+
fileCrosSiteRedirectBug: 'File a bug',
|
|
27
|
+
/**
|
|
28
|
+
* @description text to show in Console panel when a third-party cookie is blocked in Chrome.
|
|
29
|
+
*/
|
|
30
|
+
consoleTpcdErrorMessage: 'Third-party cookie is blocked in Chrome either because of Chrome flags or browser configuration.',
|
|
31
|
+
};
|
|
32
|
+
const str_ = i18n.i18n.registerUIStrings('models/issues_manager/CookieIssue.ts', UIStrings);
|
|
33
|
+
const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined, str_);
|
|
34
|
+
export class CookieIssue extends Issue {
|
|
35
|
+
#issueDetails;
|
|
36
|
+
constructor(code, issueDetails, issuesModel, issueId) {
|
|
37
|
+
super(code, issuesModel, issueId);
|
|
38
|
+
this.#issueDetails = issueDetails;
|
|
39
|
+
}
|
|
40
|
+
cookieId() {
|
|
41
|
+
if (this.#issueDetails.cookie) {
|
|
42
|
+
const { domain, path, name } = this.#issueDetails.cookie;
|
|
43
|
+
const cookieId = `${domain};${path};${name}`;
|
|
44
|
+
return cookieId;
|
|
45
|
+
}
|
|
46
|
+
return this.#issueDetails.rawCookieLine ?? 'no-cookie-info';
|
|
47
|
+
}
|
|
48
|
+
primaryKey() {
|
|
49
|
+
const requestId = this.#issueDetails.request ? this.#issueDetails.request.requestId : 'no-request';
|
|
50
|
+
return `${this.code()}-(${this.cookieId()})-(${requestId})`;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Returns an array of issues from a given CookieIssueDetails.
|
|
54
|
+
*/
|
|
55
|
+
static createIssuesFromCookieIssueDetails(cookieIssueDetails, issuesModel, issueId) {
|
|
56
|
+
const issues = [];
|
|
57
|
+
// Exclusion reasons have priority. It means a cookie was blocked. Create an issue
|
|
58
|
+
// for every exclusion reason but ignore warning reasons if the cookie was blocked.
|
|
59
|
+
// Some exclusion reasons are dependent on warning reasons existing in order to produce an issue.
|
|
60
|
+
if (cookieIssueDetails.cookieExclusionReasons && cookieIssueDetails.cookieExclusionReasons.length > 0) {
|
|
61
|
+
for (const exclusionReason of cookieIssueDetails.cookieExclusionReasons) {
|
|
62
|
+
const code = CookieIssue.codeForCookieIssueDetails(exclusionReason, cookieIssueDetails.cookieWarningReasons, cookieIssueDetails.operation, cookieIssueDetails.cookieUrl);
|
|
63
|
+
if (code) {
|
|
64
|
+
issues.push(new CookieIssue(code, cookieIssueDetails, issuesModel, issueId));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return issues;
|
|
68
|
+
}
|
|
69
|
+
if (cookieIssueDetails.cookieWarningReasons) {
|
|
70
|
+
for (const warningReason of cookieIssueDetails.cookieWarningReasons) {
|
|
71
|
+
// warningReasons should be an empty array here.
|
|
72
|
+
const code = CookieIssue.codeForCookieIssueDetails(warningReason, [], cookieIssueDetails.operation, cookieIssueDetails.cookieUrl);
|
|
73
|
+
if (code) {
|
|
74
|
+
issues.push(new CookieIssue(code, cookieIssueDetails, issuesModel, issueId));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return issues;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Calculates an issue code from a reason, an operation, and an array of warningReasons. All these together
|
|
82
|
+
* can uniquely identify a specific cookie issue.
|
|
83
|
+
* warningReasons is only needed for some CookieExclusionReason in order to determine if an issue should be raised.
|
|
84
|
+
* It is not required if reason is a CookieWarningReason.
|
|
85
|
+
*
|
|
86
|
+
* The issue code will be mapped to a CookieIssueSubCategory enum for metric purpose.
|
|
87
|
+
*/
|
|
88
|
+
static codeForCookieIssueDetails(reason, warningReasons, operation, cookieUrl) {
|
|
89
|
+
const isURLSecure = cookieUrl && (Common.ParsedURL.schemeIs(cookieUrl, 'https:') || Common.ParsedURL.schemeIs(cookieUrl, 'wss:'));
|
|
90
|
+
const secure = isURLSecure ? 'Secure' : 'Insecure';
|
|
91
|
+
if (reason === "ExcludeSameSiteStrict" /* Protocol.Audits.CookieExclusionReason.ExcludeSameSiteStrict */ ||
|
|
92
|
+
reason === "ExcludeSameSiteLax" /* Protocol.Audits.CookieExclusionReason.ExcludeSameSiteLax */ ||
|
|
93
|
+
reason === "ExcludeSameSiteUnspecifiedTreatedAsLax" /* Protocol.Audits.CookieExclusionReason.ExcludeSameSiteUnspecifiedTreatedAsLax */) {
|
|
94
|
+
if (warningReasons && warningReasons.length > 0) {
|
|
95
|
+
if (warningReasons.includes("WarnSameSiteStrictLaxDowngradeStrict" /* Protocol.Audits.CookieWarningReason.WarnSameSiteStrictLaxDowngradeStrict */)) {
|
|
96
|
+
return [
|
|
97
|
+
"CookieIssue" /* Protocol.Audits.InspectorIssueCode.CookieIssue */,
|
|
98
|
+
'ExcludeNavigationContextDowngrade',
|
|
99
|
+
secure,
|
|
100
|
+
].join('::');
|
|
101
|
+
}
|
|
102
|
+
if (warningReasons.includes("WarnSameSiteStrictCrossDowngradeStrict" /* Protocol.Audits.CookieWarningReason.WarnSameSiteStrictCrossDowngradeStrict */) ||
|
|
103
|
+
warningReasons.includes("WarnSameSiteStrictCrossDowngradeLax" /* Protocol.Audits.CookieWarningReason.WarnSameSiteStrictCrossDowngradeLax */) ||
|
|
104
|
+
warningReasons.includes("WarnSameSiteLaxCrossDowngradeStrict" /* Protocol.Audits.CookieWarningReason.WarnSameSiteLaxCrossDowngradeStrict */) ||
|
|
105
|
+
warningReasons.includes("WarnSameSiteLaxCrossDowngradeLax" /* Protocol.Audits.CookieWarningReason.WarnSameSiteLaxCrossDowngradeLax */)) {
|
|
106
|
+
return [
|
|
107
|
+
"CookieIssue" /* Protocol.Audits.InspectorIssueCode.CookieIssue */,
|
|
108
|
+
'ExcludeContextDowngrade',
|
|
109
|
+
operation,
|
|
110
|
+
secure,
|
|
111
|
+
].join('::');
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (warningReasons.includes("WarnCrossSiteRedirectDowngradeChangesInclusion" /* Protocol.Audits.CookieWarningReason.WarnCrossSiteRedirectDowngradeChangesInclusion */)) {
|
|
115
|
+
return [
|
|
116
|
+
"CookieIssue" /* Protocol.Audits.InspectorIssueCode.CookieIssue */,
|
|
117
|
+
'CrossSiteRedirectDowngradeChangesInclusion',
|
|
118
|
+
].join('::');
|
|
119
|
+
}
|
|
120
|
+
// If we have ExcludeSameSiteUnspecifiedTreatedAsLax but no corresponding warnings, then add just
|
|
121
|
+
// the Issue code for ExcludeSameSiteUnspecifiedTreatedAsLax.
|
|
122
|
+
if (reason === "ExcludeSameSiteUnspecifiedTreatedAsLax" /* Protocol.Audits.CookieExclusionReason.ExcludeSameSiteUnspecifiedTreatedAsLax */) {
|
|
123
|
+
return ["CookieIssue" /* Protocol.Audits.InspectorIssueCode.CookieIssue */, reason, operation].join('::');
|
|
124
|
+
}
|
|
125
|
+
// ExcludeSameSiteStrict and ExcludeSameSiteLax require being paired with an appropriate warning. We didn't
|
|
126
|
+
// find one of those warnings so return null to indicate there shouldn't be an issue created.
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
if (reason === "WarnSameSiteStrictLaxDowngradeStrict" /* Protocol.Audits.CookieWarningReason.WarnSameSiteStrictLaxDowngradeStrict */) {
|
|
130
|
+
return ["CookieIssue" /* Protocol.Audits.InspectorIssueCode.CookieIssue */, reason, secure].join('::');
|
|
131
|
+
}
|
|
132
|
+
// These have the same message.
|
|
133
|
+
if (reason === "WarnSameSiteStrictCrossDowngradeStrict" /* Protocol.Audits.CookieWarningReason.WarnSameSiteStrictCrossDowngradeStrict */ ||
|
|
134
|
+
reason === "WarnSameSiteStrictCrossDowngradeLax" /* Protocol.Audits.CookieWarningReason.WarnSameSiteStrictCrossDowngradeLax */ ||
|
|
135
|
+
reason === "WarnSameSiteLaxCrossDowngradeLax" /* Protocol.Audits.CookieWarningReason.WarnSameSiteLaxCrossDowngradeLax */ ||
|
|
136
|
+
reason === "WarnSameSiteLaxCrossDowngradeStrict" /* Protocol.Audits.CookieWarningReason.WarnSameSiteLaxCrossDowngradeStrict */) {
|
|
137
|
+
return ["CookieIssue" /* Protocol.Audits.InspectorIssueCode.CookieIssue */, 'WarnCrossDowngrade', operation, secure].join('::');
|
|
138
|
+
}
|
|
139
|
+
if (reason === "ExcludePortMismatch" /* Protocol.Audits.CookieExclusionReason.ExcludePortMismatch */) {
|
|
140
|
+
return ["CookieIssue" /* Protocol.Audits.InspectorIssueCode.CookieIssue */, 'ExcludePortMismatch'].join('::');
|
|
141
|
+
}
|
|
142
|
+
if (reason === "ExcludeSchemeMismatch" /* Protocol.Audits.CookieExclusionReason.ExcludeSchemeMismatch */) {
|
|
143
|
+
return ["CookieIssue" /* Protocol.Audits.InspectorIssueCode.CookieIssue */, 'ExcludeSchemeMismatch'].join('::');
|
|
144
|
+
}
|
|
145
|
+
return ["CookieIssue" /* Protocol.Audits.InspectorIssueCode.CookieIssue */, reason, operation].join('::');
|
|
146
|
+
}
|
|
147
|
+
cookies() {
|
|
148
|
+
if (this.#issueDetails.cookie) {
|
|
149
|
+
return [this.#issueDetails.cookie];
|
|
150
|
+
}
|
|
151
|
+
return [];
|
|
152
|
+
}
|
|
153
|
+
rawCookieLines() {
|
|
154
|
+
if (this.#issueDetails.rawCookieLine) {
|
|
155
|
+
return [this.#issueDetails.rawCookieLine];
|
|
156
|
+
}
|
|
157
|
+
return [];
|
|
158
|
+
}
|
|
159
|
+
requests() {
|
|
160
|
+
if (this.#issueDetails.request) {
|
|
161
|
+
return [this.#issueDetails.request];
|
|
162
|
+
}
|
|
163
|
+
return [];
|
|
164
|
+
}
|
|
165
|
+
getCategory() {
|
|
166
|
+
return "Cookie" /* IssueCategory.COOKIE */;
|
|
167
|
+
}
|
|
168
|
+
getDescription() {
|
|
169
|
+
const description = issueDescriptions.get(this.code());
|
|
170
|
+
if (!description) {
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
return resolveLazyDescription(description);
|
|
174
|
+
}
|
|
175
|
+
isCausedByThirdParty() {
|
|
176
|
+
const outermostFrame = SDK.FrameManager.FrameManager.instance().getOutermostFrame();
|
|
177
|
+
return isCausedByThirdParty(outermostFrame, this.#issueDetails.cookieUrl, this.#issueDetails.siteForCookies);
|
|
178
|
+
}
|
|
179
|
+
getKind() {
|
|
180
|
+
if (this.#issueDetails.cookieExclusionReasons?.length > 0) {
|
|
181
|
+
return "PageError" /* IssueKind.PAGE_ERROR */;
|
|
182
|
+
}
|
|
183
|
+
return "BreakingChange" /* IssueKind.BREAKING_CHANGE */;
|
|
184
|
+
}
|
|
185
|
+
makeCookieReportEntry() {
|
|
186
|
+
const status = CookieIssue.getCookieStatus(this.#issueDetails);
|
|
187
|
+
if (this.#issueDetails.cookie && this.#issueDetails.cookieUrl && status !== undefined) {
|
|
188
|
+
const entity = ThirdPartyWeb.ThirdPartyWeb.getEntity(this.#issueDetails.cookieUrl);
|
|
189
|
+
return {
|
|
190
|
+
name: this.#issueDetails.cookie.name,
|
|
191
|
+
domain: this.#issueDetails.cookie.domain,
|
|
192
|
+
type: entity?.category,
|
|
193
|
+
platform: entity?.name,
|
|
194
|
+
status,
|
|
195
|
+
insight: this.#issueDetails.insight,
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
static getCookieStatus(cookieIssueDetails) {
|
|
201
|
+
if (cookieIssueDetails.cookieExclusionReasons.includes("ExcludeThirdPartyPhaseout" /* Protocol.Audits.CookieExclusionReason.ExcludeThirdPartyPhaseout */)) {
|
|
202
|
+
return 0 /* CookieStatus.BLOCKED */;
|
|
203
|
+
}
|
|
204
|
+
if (cookieIssueDetails.cookieWarningReasons.includes("WarnDeprecationTrialMetadata" /* Protocol.Audits.CookieWarningReason.WarnDeprecationTrialMetadata */)) {
|
|
205
|
+
return 2 /* CookieStatus.ALLOWED_BY_GRACE_PERIOD */;
|
|
206
|
+
}
|
|
207
|
+
if (cookieIssueDetails.cookieWarningReasons.includes("WarnThirdPartyCookieHeuristic" /* Protocol.Audits.CookieWarningReason.WarnThirdPartyCookieHeuristic */)) {
|
|
208
|
+
return 3 /* CookieStatus.ALLOWED_BY_HEURISTICS */;
|
|
209
|
+
}
|
|
210
|
+
if (cookieIssueDetails.cookieWarningReasons.includes("WarnThirdPartyPhaseout" /* Protocol.Audits.CookieWarningReason.WarnThirdPartyPhaseout */)) {
|
|
211
|
+
return 1 /* CookieStatus.ALLOWED */;
|
|
212
|
+
}
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
static fromInspectorIssue(issuesModel, inspectorIssue) {
|
|
216
|
+
const cookieIssueDetails = inspectorIssue.details.cookieIssueDetails;
|
|
217
|
+
if (!cookieIssueDetails) {
|
|
218
|
+
console.warn('Cookie issue without details received.');
|
|
219
|
+
return [];
|
|
220
|
+
}
|
|
221
|
+
return CookieIssue.createIssuesFromCookieIssueDetails(cookieIssueDetails, issuesModel, inspectorIssue.issueId);
|
|
222
|
+
}
|
|
223
|
+
static getSubCategory(code) {
|
|
224
|
+
if (code.includes('SameSite') || code.includes('Downgrade')) {
|
|
225
|
+
return "SameSiteCookie" /* CookieIssueSubCategory.SAME_SITE_COOKIE */;
|
|
226
|
+
}
|
|
227
|
+
if (code.includes('ThirdPartyPhaseout')) {
|
|
228
|
+
return "ThirdPartyPhaseoutCookie" /* CookieIssueSubCategory.THIRD_PARTY_PHASEOUT_COOKIE */;
|
|
229
|
+
}
|
|
230
|
+
return "GenericCookie" /* CookieIssueSubCategory.GENERIC_COOKIE */;
|
|
231
|
+
}
|
|
232
|
+
static isThirdPartyCookiePhaseoutRelatedIssue(issue) {
|
|
233
|
+
const excludeFromAggregate = [
|
|
234
|
+
"WarnThirdPartyCookieHeuristic" /* Protocol.Audits.CookieWarningReason.WarnThirdPartyCookieHeuristic */,
|
|
235
|
+
"WarnDeprecationTrialMetadata" /* Protocol.Audits.CookieWarningReason.WarnDeprecationTrialMetadata */,
|
|
236
|
+
"WarnThirdPartyPhaseout" /* Protocol.Audits.CookieWarningReason.WarnThirdPartyPhaseout */,
|
|
237
|
+
"ExcludeThirdPartyPhaseout" /* Protocol.Audits.CookieExclusionReason.ExcludeThirdPartyPhaseout */,
|
|
238
|
+
];
|
|
239
|
+
return (excludeFromAggregate.some(exclude => issue.code().includes(exclude)));
|
|
240
|
+
}
|
|
241
|
+
maybeCreateConsoleMessage() {
|
|
242
|
+
const issuesModel = this.model();
|
|
243
|
+
if (issuesModel && this.code().includes("ExcludeThirdPartyPhaseout" /* Protocol.Audits.CookieExclusionReason.ExcludeThirdPartyPhaseout */)) {
|
|
244
|
+
return new SDK.ConsoleModel.ConsoleMessage(issuesModel.target().model(SDK.RuntimeModel.RuntimeModel), Common.Console.FrontendMessageSource.ISSUE_PANEL, "warning" /* Protocol.Log.LogEntryLevel.Warning */, UIStrings.consoleTpcdErrorMessage, {
|
|
245
|
+
url: this.#issueDetails.request?.url,
|
|
246
|
+
affectedResources: { requestId: this.#issueDetails.request?.requestId, issueId: this.issueId },
|
|
247
|
+
isCookieReportIssue: true
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Exported for unit test.
|
|
255
|
+
*/
|
|
256
|
+
export function isCausedByThirdParty(outermostFrame, cookieUrl, siteForCookies) {
|
|
257
|
+
if (!outermostFrame) {
|
|
258
|
+
// The outermost frame is not yet available. Consider this issue as a third-party issue
|
|
259
|
+
// until the outermost frame is available. This will prevent the issue from being visible
|
|
260
|
+
// for only just a split second.
|
|
261
|
+
return true;
|
|
262
|
+
}
|
|
263
|
+
// The value that should be consulted for the third-partiness as defined in
|
|
264
|
+
// https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-cookie-same-site#section-2.1.1
|
|
265
|
+
if (!siteForCookies) {
|
|
266
|
+
return true;
|
|
267
|
+
}
|
|
268
|
+
// In the case of no domain and registry, we assume its an IP address or localhost
|
|
269
|
+
// during development, in this case we classify the issue as first-party.
|
|
270
|
+
if (!cookieUrl || outermostFrame.domainAndRegistry() === '') {
|
|
271
|
+
return false;
|
|
272
|
+
}
|
|
273
|
+
const parsedCookieUrl = Common.ParsedURL.ParsedURL.fromString(cookieUrl);
|
|
274
|
+
if (!parsedCookieUrl) {
|
|
275
|
+
return false;
|
|
276
|
+
}
|
|
277
|
+
// For both operation types we compare the cookieUrl's domain with the outermost frames
|
|
278
|
+
// registered domain to determine first-party vs third-party. If they don't match
|
|
279
|
+
// then we consider this issue a third-party issue.
|
|
280
|
+
//
|
|
281
|
+
// For a Set operation: The Set-Cookie response is part of a request to a third-party.
|
|
282
|
+
//
|
|
283
|
+
// For a Read operation: The cookie was included in a request to a third-party
|
|
284
|
+
// site. Only cookies that have their domain also set to this third-party
|
|
285
|
+
// are included in the request. We assume that the cookie was set by the same
|
|
286
|
+
// third-party at some point, so we treat this as a third-party issue.
|
|
287
|
+
//
|
|
288
|
+
// TODO(crbug.com/1080589): Use "First-Party sets" instead of the sites registered domain.
|
|
289
|
+
return !isSubdomainOf(parsedCookieUrl.domain(), outermostFrame.domainAndRegistry());
|
|
290
|
+
}
|
|
291
|
+
function isSubdomainOf(subdomain, superdomain) {
|
|
292
|
+
// Subdomain must be identical or have strictly more labels than the
|
|
293
|
+
// superdomain.
|
|
294
|
+
if (subdomain.length <= superdomain.length) {
|
|
295
|
+
return subdomain === superdomain;
|
|
296
|
+
}
|
|
297
|
+
// Superdomain must be suffix of subdomain, and the last character not
|
|
298
|
+
// included in the matching substring must be a dot.
|
|
299
|
+
if (!subdomain.endsWith(superdomain)) {
|
|
300
|
+
return false;
|
|
301
|
+
}
|
|
302
|
+
const subdomainWithoutSuperdomian = subdomain.substr(0, subdomain.length - superdomain.length);
|
|
303
|
+
return subdomainWithoutSuperdomian.endsWith('.');
|
|
304
|
+
}
|
|
305
|
+
const sameSiteUnspecifiedWarnRead = {
|
|
306
|
+
file: 'SameSiteUnspecifiedLaxAllowUnsafeRead.md',
|
|
307
|
+
links: [
|
|
308
|
+
{
|
|
309
|
+
link: 'https://web.dev/samesite-cookies-explained/',
|
|
310
|
+
linkTitle: i18nLazyString(UIStrings.samesiteCookiesExplained),
|
|
311
|
+
},
|
|
312
|
+
],
|
|
313
|
+
};
|
|
314
|
+
const sameSiteUnspecifiedWarnSet = {
|
|
315
|
+
file: 'SameSiteUnspecifiedLaxAllowUnsafeSet.md',
|
|
316
|
+
links: [
|
|
317
|
+
{
|
|
318
|
+
link: 'https://web.dev/samesite-cookies-explained/',
|
|
319
|
+
linkTitle: i18nLazyString(UIStrings.samesiteCookiesExplained),
|
|
320
|
+
},
|
|
321
|
+
],
|
|
322
|
+
};
|
|
323
|
+
const sameSiteNoneInsecureErrorRead = {
|
|
324
|
+
file: 'SameSiteNoneInsecureErrorRead.md',
|
|
325
|
+
links: [
|
|
326
|
+
{
|
|
327
|
+
link: 'https://web.dev/samesite-cookies-explained/',
|
|
328
|
+
linkTitle: i18nLazyString(UIStrings.samesiteCookiesExplained),
|
|
329
|
+
},
|
|
330
|
+
],
|
|
331
|
+
};
|
|
332
|
+
const sameSiteNoneInsecureErrorSet = {
|
|
333
|
+
file: 'SameSiteNoneInsecureErrorSet.md',
|
|
334
|
+
links: [
|
|
335
|
+
{
|
|
336
|
+
link: 'https://web.dev/samesite-cookies-explained/',
|
|
337
|
+
linkTitle: i18nLazyString(UIStrings.samesiteCookiesExplained),
|
|
338
|
+
},
|
|
339
|
+
],
|
|
340
|
+
};
|
|
341
|
+
const sameSiteNoneInsecureWarnRead = {
|
|
342
|
+
file: 'SameSiteNoneInsecureWarnRead.md',
|
|
343
|
+
links: [
|
|
344
|
+
{
|
|
345
|
+
link: 'https://web.dev/samesite-cookies-explained/',
|
|
346
|
+
linkTitle: i18nLazyString(UIStrings.samesiteCookiesExplained),
|
|
347
|
+
},
|
|
348
|
+
],
|
|
349
|
+
};
|
|
350
|
+
const sameSiteNoneInsecureWarnSet = {
|
|
351
|
+
file: 'SameSiteNoneInsecureWarnSet.md',
|
|
352
|
+
links: [
|
|
353
|
+
{
|
|
354
|
+
link: 'https://web.dev/samesite-cookies-explained/',
|
|
355
|
+
linkTitle: i18nLazyString(UIStrings.samesiteCookiesExplained),
|
|
356
|
+
},
|
|
357
|
+
],
|
|
358
|
+
};
|
|
359
|
+
const schemefulSameSiteArticles = [{ link: 'https://web.dev/schemeful-samesite/', linkTitle: i18nLazyString(UIStrings.howSchemefulSamesiteWorks) }];
|
|
360
|
+
function schemefulSameSiteSubstitutions({ isDestinationSecure, isOriginSecure }) {
|
|
361
|
+
return new Map([
|
|
362
|
+
// TODO(crbug.com/1168438): Use translated phrases once the issue description is localized.
|
|
363
|
+
['PLACEHOLDER_destination', () => isDestinationSecure ? 'a secure' : 'an insecure'],
|
|
364
|
+
['PLACEHOLDER_origin', () => isOriginSecure ? 'a secure' : 'an insecure'],
|
|
365
|
+
]);
|
|
366
|
+
}
|
|
367
|
+
function sameSiteWarnStrictLaxDowngradeStrict(isSecure) {
|
|
368
|
+
return {
|
|
369
|
+
file: 'SameSiteWarnStrictLaxDowngradeStrict.md',
|
|
370
|
+
substitutions: schemefulSameSiteSubstitutions({ isDestinationSecure: isSecure, isOriginSecure: !isSecure }),
|
|
371
|
+
links: schemefulSameSiteArticles,
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
function sameSiteExcludeNavigationContextDowngrade(isSecure) {
|
|
375
|
+
return {
|
|
376
|
+
file: 'SameSiteExcludeNavigationContextDowngrade.md',
|
|
377
|
+
substitutions: schemefulSameSiteSubstitutions({ isDestinationSecure: isSecure, isOriginSecure: !isSecure }),
|
|
378
|
+
links: schemefulSameSiteArticles,
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
function sameSiteWarnCrossDowngradeRead(isSecure) {
|
|
382
|
+
return {
|
|
383
|
+
file: 'SameSiteWarnCrossDowngradeRead.md',
|
|
384
|
+
substitutions: schemefulSameSiteSubstitutions({ isDestinationSecure: isSecure, isOriginSecure: !isSecure }),
|
|
385
|
+
links: schemefulSameSiteArticles,
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
function sameSiteExcludeContextDowngradeRead(isSecure) {
|
|
389
|
+
return {
|
|
390
|
+
file: 'SameSiteExcludeContextDowngradeRead.md',
|
|
391
|
+
substitutions: schemefulSameSiteSubstitutions({ isDestinationSecure: isSecure, isOriginSecure: !isSecure }),
|
|
392
|
+
links: schemefulSameSiteArticles,
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
function sameSiteWarnCrossDowngradeSet(isSecure) {
|
|
396
|
+
return {
|
|
397
|
+
file: 'SameSiteWarnCrossDowngradeSet.md',
|
|
398
|
+
substitutions: schemefulSameSiteSubstitutions({ isDestinationSecure: !isSecure, isOriginSecure: isSecure }),
|
|
399
|
+
links: schemefulSameSiteArticles,
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
function sameSiteExcludeContextDowngradeSet(isSecure) {
|
|
403
|
+
return {
|
|
404
|
+
file: 'SameSiteExcludeContextDowngradeSet.md',
|
|
405
|
+
substitutions: schemefulSameSiteSubstitutions({ isDestinationSecure: isSecure, isOriginSecure: !isSecure }),
|
|
406
|
+
links: schemefulSameSiteArticles,
|
|
407
|
+
};
|
|
408
|
+
}
|
|
409
|
+
const sameSiteInvalidSameParty = {
|
|
410
|
+
file: 'SameSiteInvalidSameParty.md',
|
|
411
|
+
links: [{
|
|
412
|
+
link: 'https://developer.chrome.com/blog/first-party-sets-sameparty/',
|
|
413
|
+
linkTitle: i18nLazyString(UIStrings.firstPartySetsExplained),
|
|
414
|
+
}],
|
|
415
|
+
};
|
|
416
|
+
const samePartyCrossPartyContextSet = {
|
|
417
|
+
file: 'SameSiteSamePartyCrossPartyContextSet.md',
|
|
418
|
+
links: [{
|
|
419
|
+
link: 'https://developer.chrome.com/blog/first-party-sets-sameparty/',
|
|
420
|
+
linkTitle: i18nLazyString(UIStrings.firstPartySetsExplained),
|
|
421
|
+
}],
|
|
422
|
+
};
|
|
423
|
+
const attributeValueExceedsMaxSize = {
|
|
424
|
+
file: 'CookieAttributeValueExceedsMaxSize.md',
|
|
425
|
+
links: [],
|
|
426
|
+
};
|
|
427
|
+
const warnDomainNonAscii = {
|
|
428
|
+
file: 'cookieWarnDomainNonAscii.md',
|
|
429
|
+
links: [],
|
|
430
|
+
};
|
|
431
|
+
const excludeDomainNonAscii = {
|
|
432
|
+
file: 'cookieExcludeDomainNonAscii.md',
|
|
433
|
+
links: [],
|
|
434
|
+
};
|
|
435
|
+
const excludeBlockedWithinRelatedWebsiteSet = {
|
|
436
|
+
file: 'cookieExcludeBlockedWithinRelatedWebsiteSet.md',
|
|
437
|
+
links: [],
|
|
438
|
+
};
|
|
439
|
+
const cookieCrossSiteRedirectDowngrade = {
|
|
440
|
+
file: 'cookieCrossSiteRedirectDowngrade.md',
|
|
441
|
+
links: [{
|
|
442
|
+
link: 'https://bugs.chromium.org/p/chromium/issues/entry?template=Defect%20report%20from%20user&summary=[Cross-Site Redirect Chain] <INSERT BUG SUMMARY HERE>&comment=Chrome Version: (copy from chrome://version)%0AChannel: (e.g. Canary, Dev, Beta, Stable)%0A%0AAffected URLs:%0A%0AWhat is the expected result?%0A%0AWhat happens instead?%0A%0AWhat is the purpose of the cross-site redirect?:%0A%0AWhat steps will reproduce the problem?:%0A(1)%0A(2)%0A(3)%0A%0APlease provide any additional information below.&components=Internals%3ENetwork%3ECookies',
|
|
443
|
+
linkTitle: i18nLazyString(UIStrings.fileCrosSiteRedirectBug),
|
|
444
|
+
}],
|
|
445
|
+
};
|
|
446
|
+
const ExcludePortMismatch = {
|
|
447
|
+
file: 'cookieExcludePortMismatch.md',
|
|
448
|
+
links: [],
|
|
449
|
+
};
|
|
450
|
+
const ExcludeSchemeMismatch = {
|
|
451
|
+
file: 'cookieExcludeSchemeMismatch.md',
|
|
452
|
+
links: [],
|
|
453
|
+
};
|
|
454
|
+
// This description will be used by cookie issues that need to be added to the
|
|
455
|
+
// issueManager, but aren't intended to be surfaced in the issues pane. This
|
|
456
|
+
// is why they are using a placeholder description
|
|
457
|
+
const placeholderDescriptionForInvisibleIssues = {
|
|
458
|
+
file: 'placeholderDescriptionForInvisibleIssues.md',
|
|
459
|
+
links: [],
|
|
460
|
+
};
|
|
461
|
+
const issueDescriptions = new Map([
|
|
462
|
+
// These two don't have a deprecation date yet, but they need to be fixed eventually.
|
|
463
|
+
['CookieIssue::WarnSameSiteUnspecifiedLaxAllowUnsafe::ReadCookie', sameSiteUnspecifiedWarnRead],
|
|
464
|
+
['CookieIssue::WarnSameSiteUnspecifiedLaxAllowUnsafe::SetCookie', sameSiteUnspecifiedWarnSet],
|
|
465
|
+
['CookieIssue::WarnSameSiteUnspecifiedCrossSiteContext::ReadCookie', sameSiteUnspecifiedWarnRead],
|
|
466
|
+
['CookieIssue::WarnSameSiteUnspecifiedCrossSiteContext::SetCookie', sameSiteUnspecifiedWarnSet],
|
|
467
|
+
['CookieIssue::ExcludeSameSiteNoneInsecure::ReadCookie', sameSiteNoneInsecureErrorRead],
|
|
468
|
+
['CookieIssue::ExcludeSameSiteNoneInsecure::SetCookie', sameSiteNoneInsecureErrorSet],
|
|
469
|
+
['CookieIssue::WarnSameSiteNoneInsecure::ReadCookie', sameSiteNoneInsecureWarnRead],
|
|
470
|
+
['CookieIssue::WarnSameSiteNoneInsecure::SetCookie', sameSiteNoneInsecureWarnSet],
|
|
471
|
+
['CookieIssue::WarnSameSiteStrictLaxDowngradeStrict::Secure', sameSiteWarnStrictLaxDowngradeStrict(true)],
|
|
472
|
+
['CookieIssue::WarnSameSiteStrictLaxDowngradeStrict::Insecure', sameSiteWarnStrictLaxDowngradeStrict(false)],
|
|
473
|
+
['CookieIssue::WarnCrossDowngrade::ReadCookie::Secure', sameSiteWarnCrossDowngradeRead(true)],
|
|
474
|
+
['CookieIssue::WarnCrossDowngrade::ReadCookie::Insecure', sameSiteWarnCrossDowngradeRead(false)],
|
|
475
|
+
['CookieIssue::WarnCrossDowngrade::SetCookie::Secure', sameSiteWarnCrossDowngradeSet(true)],
|
|
476
|
+
['CookieIssue::WarnCrossDowngrade::SetCookie::Insecure', sameSiteWarnCrossDowngradeSet(false)],
|
|
477
|
+
['CookieIssue::ExcludeNavigationContextDowngrade::Secure', sameSiteExcludeNavigationContextDowngrade(true)],
|
|
478
|
+
[
|
|
479
|
+
'CookieIssue::ExcludeNavigationContextDowngrade::Insecure',
|
|
480
|
+
sameSiteExcludeNavigationContextDowngrade(false),
|
|
481
|
+
],
|
|
482
|
+
['CookieIssue::ExcludeContextDowngrade::ReadCookie::Secure', sameSiteExcludeContextDowngradeRead(true)],
|
|
483
|
+
['CookieIssue::ExcludeContextDowngrade::ReadCookie::Insecure', sameSiteExcludeContextDowngradeRead(false)],
|
|
484
|
+
['CookieIssue::ExcludeContextDowngrade::SetCookie::Secure', sameSiteExcludeContextDowngradeSet(true)],
|
|
485
|
+
['CookieIssue::ExcludeContextDowngrade::SetCookie::Insecure', sameSiteExcludeContextDowngradeSet(false)],
|
|
486
|
+
['CookieIssue::ExcludeInvalidSameParty::SetCookie', sameSiteInvalidSameParty],
|
|
487
|
+
['CookieIssue::ExcludeSamePartyCrossPartyContext::SetCookie', samePartyCrossPartyContextSet],
|
|
488
|
+
['CookieIssue::WarnAttributeValueExceedsMaxSize::ReadCookie', attributeValueExceedsMaxSize],
|
|
489
|
+
['CookieIssue::WarnAttributeValueExceedsMaxSize::SetCookie', attributeValueExceedsMaxSize],
|
|
490
|
+
['CookieIssue::WarnDomainNonASCII::ReadCookie', warnDomainNonAscii],
|
|
491
|
+
['CookieIssue::WarnDomainNonASCII::SetCookie', warnDomainNonAscii],
|
|
492
|
+
['CookieIssue::ExcludeDomainNonASCII::ReadCookie', excludeDomainNonAscii],
|
|
493
|
+
['CookieIssue::ExcludeDomainNonASCII::SetCookie', excludeDomainNonAscii],
|
|
494
|
+
[
|
|
495
|
+
'CookieIssue::ExcludeThirdPartyCookieBlockedInRelatedWebsiteSet::ReadCookie',
|
|
496
|
+
excludeBlockedWithinRelatedWebsiteSet,
|
|
497
|
+
],
|
|
498
|
+
[
|
|
499
|
+
'CookieIssue::ExcludeThirdPartyCookieBlockedInRelatedWebsiteSet::SetCookie',
|
|
500
|
+
excludeBlockedWithinRelatedWebsiteSet,
|
|
501
|
+
],
|
|
502
|
+
['CookieIssue::WarnThirdPartyPhaseout::ReadCookie', placeholderDescriptionForInvisibleIssues],
|
|
503
|
+
['CookieIssue::WarnThirdPartyPhaseout::SetCookie', placeholderDescriptionForInvisibleIssues],
|
|
504
|
+
['CookieIssue::WarnDeprecationTrialMetadata::ReadCookie', placeholderDescriptionForInvisibleIssues],
|
|
505
|
+
['CookieIssue::WarnDeprecationTrialMetadata::SetCookie', placeholderDescriptionForInvisibleIssues],
|
|
506
|
+
['CookieIssue::WarnThirdPartyCookieHeuristic::ReadCookie', placeholderDescriptionForInvisibleIssues],
|
|
507
|
+
['CookieIssue::WarnThirdPartyCookieHeuristic::SetCookie', placeholderDescriptionForInvisibleIssues],
|
|
508
|
+
['CookieIssue::ExcludeThirdPartyPhaseout::ReadCookie', placeholderDescriptionForInvisibleIssues],
|
|
509
|
+
['CookieIssue::ExcludeThirdPartyPhaseout::SetCookie', placeholderDescriptionForInvisibleIssues],
|
|
510
|
+
['CookieIssue::CrossSiteRedirectDowngradeChangesInclusion', cookieCrossSiteRedirectDowngrade],
|
|
511
|
+
['CookieIssue::ExcludePortMismatch', ExcludePortMismatch],
|
|
512
|
+
['CookieIssue::ExcludeSchemeMismatch', ExcludeSchemeMismatch],
|
|
513
|
+
]);
|