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/README.md
CHANGED
|
@@ -152,6 +152,16 @@ Go to `Cursor Settings` -> `MCP` -> `New MCP Server`. Use the config provided ab
|
|
|
152
152
|
|
|
153
153
|
</details>
|
|
154
154
|
|
|
155
|
+
<details>
|
|
156
|
+
<summary>Factory CLI</summary>
|
|
157
|
+
Use the Factory CLI to add the Chrome DevTools MCP server (<a href="https://docs.factory.ai/cli/configuration/mcp">guide</a>):
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
droid mcp add chrome-devtools "npx -y chrome-devtools-mcp@latest"
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
</details>
|
|
164
|
+
|
|
155
165
|
<details>
|
|
156
166
|
<summary>Gemini CLI</summary>
|
|
157
167
|
Install the Chrome DevTools MCP server using the Gemini CLI.
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
* Debounce utility function, ensures that the function passed in is only called once the function stops being called and the delay has expired.
|
|
6
6
|
*/
|
|
7
7
|
export const debounce = function (func, delay) {
|
|
8
|
-
let timer
|
|
8
|
+
let timer;
|
|
9
9
|
const debounced = (...args) => {
|
|
10
10
|
clearTimeout(timer);
|
|
11
|
-
timer =
|
|
11
|
+
timer = setTimeout(() => func(...args), delay);
|
|
12
12
|
};
|
|
13
13
|
return debounced;
|
|
14
14
|
};
|
|
@@ -47,7 +47,7 @@ export async function compress(str) {
|
|
|
47
47
|
async function gzipCodec(buffer, codecStream) {
|
|
48
48
|
const readable = new ReadableStream({
|
|
49
49
|
start(controller) {
|
|
50
|
-
controller.enqueue(buffer);
|
|
50
|
+
controller.enqueue(buffer instanceof ArrayBuffer ? new Uint8Array(buffer) : buffer);
|
|
51
51
|
controller.close();
|
|
52
52
|
}
|
|
53
53
|
});
|
|
@@ -23,6 +23,10 @@ const UIStrings = {
|
|
|
23
23
|
* @description The UI destination when right clicking an item that can be revealed
|
|
24
24
|
*/
|
|
25
25
|
networkPanel: 'Network panel',
|
|
26
|
+
/**
|
|
27
|
+
* @description The UI destination when right clicking an item that can be revealed
|
|
28
|
+
*/
|
|
29
|
+
requestConditionsDrawer: 'Request conditions drawer',
|
|
26
30
|
/**
|
|
27
31
|
* @description The UI destination when right clicking an item that can be revealed
|
|
28
32
|
*/
|
|
@@ -150,6 +154,7 @@ export const RevealerDestination = {
|
|
|
150
154
|
CHANGES_DRAWER: i18nLazyString(UIStrings.changesDrawer),
|
|
151
155
|
ISSUES_VIEW: i18nLazyString(UIStrings.issuesView),
|
|
152
156
|
NETWORK_PANEL: i18nLazyString(UIStrings.networkPanel),
|
|
157
|
+
REQUEST_CONDITIONS_DRAWER: i18nLazyString(UIStrings.requestConditionsDrawer),
|
|
153
158
|
TIMELINE_PANEL: i18nLazyString(UIStrings.timelinePanel),
|
|
154
159
|
APPLICATION_PANEL: i18nLazyString(UIStrings.applicationPanel),
|
|
155
160
|
SOURCES_PANEL: i18nLazyString(UIStrings.sourcesPanel),
|
|
@@ -5,12 +5,13 @@ import * as Platform from '../platform/platform.js';
|
|
|
5
5
|
import * as Root from '../root/root.js';
|
|
6
6
|
import { Console } from './Console.js';
|
|
7
7
|
import { ObjectWrapper } from './Object.js';
|
|
8
|
-
import { getLocalizedSettingsCategory,
|
|
8
|
+
import { getLocalizedSettingsCategory, maybeRemoveSettingExtension, registerSettingExtension, registerSettingsForTest, resetSettings, } from './SettingRegistration.js';
|
|
9
9
|
let settingsInstance;
|
|
10
10
|
export class Settings {
|
|
11
11
|
syncedStorage;
|
|
12
12
|
globalStorage;
|
|
13
13
|
localStorage;
|
|
14
|
+
#settingRegistrations;
|
|
14
15
|
#sessionStorage = new SettingsStorage({});
|
|
15
16
|
settingNameSet = new Set();
|
|
16
17
|
orderValuesBySettingCategory = new Map();
|
|
@@ -18,12 +19,13 @@ export class Settings {
|
|
|
18
19
|
#registry = new Map();
|
|
19
20
|
moduleSettings = new Map();
|
|
20
21
|
#logSettingAccess;
|
|
21
|
-
constructor(syncedStorage, globalStorage, localStorage, logSettingAccess) {
|
|
22
|
+
constructor({ syncedStorage, globalStorage, localStorage, settingRegistrations, logSettingAccess, runSettingsMigration }) {
|
|
22
23
|
this.syncedStorage = syncedStorage;
|
|
23
24
|
this.globalStorage = globalStorage;
|
|
24
25
|
this.localStorage = localStorage;
|
|
26
|
+
this.#settingRegistrations = settingRegistrations;
|
|
25
27
|
this.#logSettingAccess = logSettingAccess;
|
|
26
|
-
for (const registration of this
|
|
28
|
+
for (const registration of this.#settingRegistrations) {
|
|
27
29
|
const { settingName, defaultValue, storageType } = registration;
|
|
28
30
|
const isRegex = registration.settingType === "regex" /* SettingType.REGEX */;
|
|
29
31
|
const evaluatedDefaultValue = typeof defaultValue === 'function' ? defaultValue(Root.Runtime.hostConfig) : defaultValue;
|
|
@@ -37,20 +39,23 @@ export class Settings {
|
|
|
37
39
|
setting.setRegistration(registration);
|
|
38
40
|
this.registerModuleSetting(setting);
|
|
39
41
|
}
|
|
42
|
+
if (runSettingsMigration) {
|
|
43
|
+
new VersionController(this).updateVersion();
|
|
44
|
+
}
|
|
40
45
|
}
|
|
41
46
|
getRegisteredSettings() {
|
|
42
|
-
return
|
|
47
|
+
return this.#settingRegistrations;
|
|
43
48
|
}
|
|
44
49
|
static hasInstance() {
|
|
45
50
|
return typeof settingsInstance !== 'undefined';
|
|
46
51
|
}
|
|
47
|
-
static instance(opts = { forceNew: null, syncedStorage: null, globalStorage: null, localStorage: null }) {
|
|
48
|
-
const { forceNew, syncedStorage, globalStorage, localStorage, logSettingAccess } = opts;
|
|
52
|
+
static instance(opts = { forceNew: null, syncedStorage: null, globalStorage: null, localStorage: null, settingRegistrations: null }) {
|
|
53
|
+
const { forceNew, syncedStorage, globalStorage, localStorage, settingRegistrations, logSettingAccess, runSettingsMigration } = opts;
|
|
49
54
|
if (!settingsInstance || forceNew) {
|
|
50
|
-
if (!syncedStorage || !globalStorage || !localStorage) {
|
|
55
|
+
if (!syncedStorage || !globalStorage || !localStorage || !settingRegistrations) {
|
|
51
56
|
throw new Error(`Unable to create settings: global and local storage must be provided: ${new Error().stack}`);
|
|
52
57
|
}
|
|
53
|
-
settingsInstance = new Settings(syncedStorage, globalStorage, localStorage, logSettingAccess);
|
|
58
|
+
settingsInstance = new Settings({ syncedStorage, globalStorage, localStorage, settingRegistrations, logSettingAccess, runSettingsMigration });
|
|
54
59
|
}
|
|
55
60
|
return settingsInstance;
|
|
56
61
|
}
|
|
@@ -138,7 +143,7 @@ export class Settings {
|
|
|
138
143
|
this.globalStorage.removeAll();
|
|
139
144
|
this.syncedStorage.removeAll();
|
|
140
145
|
this.localStorage.removeAll();
|
|
141
|
-
new VersionController().resetToCurrent();
|
|
146
|
+
new VersionController(this).resetToCurrent();
|
|
142
147
|
}
|
|
143
148
|
storageFromType(storageType) {
|
|
144
149
|
switch (storageType) {
|
|
@@ -230,13 +235,6 @@ export class SettingsStorage {
|
|
|
230
235
|
}
|
|
231
236
|
}
|
|
232
237
|
}
|
|
233
|
-
function removeSetting(setting) {
|
|
234
|
-
const name = setting.name;
|
|
235
|
-
const settings = Settings.instance();
|
|
236
|
-
settings.getRegistry().delete(name);
|
|
237
|
-
settings.moduleSettings.delete(name);
|
|
238
|
-
setting.storage.remove(name);
|
|
239
|
-
}
|
|
240
238
|
export class Deprecation {
|
|
241
239
|
disabled;
|
|
242
240
|
warning;
|
|
@@ -548,14 +546,16 @@ export class VersionController {
|
|
|
548
546
|
static SYNCED_VERSION_SETTING_NAME = 'syncedInspectorVersion';
|
|
549
547
|
static LOCAL_VERSION_SETTING_NAME = 'localInspectorVersion';
|
|
550
548
|
static CURRENT_VERSION = 40;
|
|
549
|
+
#settings;
|
|
551
550
|
#globalVersionSetting;
|
|
552
551
|
#syncedVersionSetting;
|
|
553
552
|
#localVersionSetting;
|
|
554
|
-
constructor() {
|
|
553
|
+
constructor(settings) {
|
|
554
|
+
this.#settings = settings;
|
|
555
555
|
// If no version setting is found, we initialize with the current version and don't do anything.
|
|
556
|
-
this.#globalVersionSetting =
|
|
557
|
-
this.#syncedVersionSetting =
|
|
558
|
-
this.#localVersionSetting =
|
|
556
|
+
this.#globalVersionSetting = this.#settings.createSetting(VersionController.GLOBAL_VERSION_SETTING_NAME, VersionController.CURRENT_VERSION, "Global" /* SettingStorageType.GLOBAL */);
|
|
557
|
+
this.#syncedVersionSetting = this.#settings.createSetting(VersionController.SYNCED_VERSION_SETTING_NAME, VersionController.CURRENT_VERSION, "Synced" /* SettingStorageType.SYNCED */);
|
|
558
|
+
this.#localVersionSetting = this.#settings.createSetting(VersionController.LOCAL_VERSION_SETTING_NAME, VersionController.CURRENT_VERSION, "Local" /* SettingStorageType.LOCAL */);
|
|
559
559
|
}
|
|
560
560
|
/**
|
|
561
561
|
* Force re-sets all version number settings to the current version without
|
|
@@ -566,6 +566,12 @@ export class VersionController {
|
|
|
566
566
|
this.#syncedVersionSetting.set(VersionController.CURRENT_VERSION);
|
|
567
567
|
this.#localVersionSetting.set(VersionController.CURRENT_VERSION);
|
|
568
568
|
}
|
|
569
|
+
#removeSetting(setting) {
|
|
570
|
+
const name = setting.name;
|
|
571
|
+
this.#settings.getRegistry().delete(name);
|
|
572
|
+
this.#settings.moduleSettings.delete(name);
|
|
573
|
+
setting.storage.remove(name);
|
|
574
|
+
}
|
|
569
575
|
/**
|
|
570
576
|
* Runs the appropriate migrations and updates the version settings accordingly.
|
|
571
577
|
*
|
|
@@ -594,19 +600,19 @@ export class VersionController {
|
|
|
594
600
|
return result;
|
|
595
601
|
}
|
|
596
602
|
updateVersionFrom0To1() {
|
|
597
|
-
this.clearBreakpointsWhenTooMany(
|
|
603
|
+
this.clearBreakpointsWhenTooMany(this.#settings.createLocalSetting('breakpoints', []), 500000);
|
|
598
604
|
}
|
|
599
605
|
updateVersionFrom1To2() {
|
|
600
|
-
|
|
606
|
+
this.#settings.createSetting('previouslyViewedFiles', []).set([]);
|
|
601
607
|
}
|
|
602
608
|
updateVersionFrom2To3() {
|
|
603
|
-
|
|
604
|
-
removeSetting(
|
|
609
|
+
this.#settings.createSetting('fileSystemMapping', {}).set({});
|
|
610
|
+
this.#removeSetting(this.#settings.createSetting('fileMappingEntries', []));
|
|
605
611
|
}
|
|
606
612
|
updateVersionFrom3To4() {
|
|
607
|
-
const advancedMode =
|
|
608
|
-
moduleSetting('showAdvancedHeapSnapshotProperties').set(advancedMode.get());
|
|
609
|
-
removeSetting(advancedMode);
|
|
613
|
+
const advancedMode = this.#settings.createSetting('showHeaSnapshotObjectsHiddenProperties', false);
|
|
614
|
+
this.#settings.moduleSetting('showAdvancedHeapSnapshotProperties').set(advancedMode.get());
|
|
615
|
+
this.#removeSetting(advancedMode);
|
|
610
616
|
}
|
|
611
617
|
updateVersionFrom4To5() {
|
|
612
618
|
const settingNames = {
|
|
@@ -635,26 +641,26 @@ export class VersionController {
|
|
|
635
641
|
const newName = settingNames[oldName];
|
|
636
642
|
const oldNameH = oldName + 'H';
|
|
637
643
|
let newValue = null;
|
|
638
|
-
const oldSetting =
|
|
644
|
+
const oldSetting = this.#settings.createSetting(oldName, empty);
|
|
639
645
|
if (oldSetting.get() !== empty) {
|
|
640
646
|
newValue = newValue || {};
|
|
641
647
|
// @ts-expect-error
|
|
642
648
|
newValue.vertical = {};
|
|
643
649
|
// @ts-expect-error
|
|
644
650
|
newValue.vertical.size = oldSetting.get();
|
|
645
|
-
removeSetting(oldSetting);
|
|
651
|
+
this.#removeSetting(oldSetting);
|
|
646
652
|
}
|
|
647
|
-
const oldSettingH =
|
|
653
|
+
const oldSettingH = this.#settings.createSetting(oldNameH, empty);
|
|
648
654
|
if (oldSettingH.get() !== empty) {
|
|
649
655
|
newValue = newValue || {};
|
|
650
656
|
// @ts-expect-error
|
|
651
657
|
newValue.horizontal = {};
|
|
652
658
|
// @ts-expect-error
|
|
653
659
|
newValue.horizontal.size = oldSettingH.get();
|
|
654
|
-
removeSetting(oldSettingH);
|
|
660
|
+
this.#removeSetting(oldSettingH);
|
|
655
661
|
}
|
|
656
662
|
if (newValue) {
|
|
657
|
-
|
|
663
|
+
this.#settings.createSetting(newName, {}).set(newValue);
|
|
658
664
|
}
|
|
659
665
|
}
|
|
660
666
|
}
|
|
@@ -665,17 +671,17 @@ export class VersionController {
|
|
|
665
671
|
'WebInspector.Drawer.showOnLoad': 'Inspector.drawerSplitViewState',
|
|
666
672
|
};
|
|
667
673
|
for (const oldName in settingNames) {
|
|
668
|
-
const oldSetting =
|
|
674
|
+
const oldSetting = this.#settings.createSetting(oldName, null);
|
|
669
675
|
if (oldSetting.get() === null) {
|
|
670
|
-
removeSetting(oldSetting);
|
|
676
|
+
this.#removeSetting(oldSetting);
|
|
671
677
|
continue;
|
|
672
678
|
}
|
|
673
679
|
const newName = settingNames[oldName];
|
|
674
680
|
const invert = oldName === 'WebInspector.Drawer.showOnLoad';
|
|
675
681
|
const hidden = oldSetting.get() !== invert;
|
|
676
|
-
removeSetting(oldSetting);
|
|
682
|
+
this.#removeSetting(oldSetting);
|
|
677
683
|
const showMode = hidden ? 'OnlyMain' : 'Both';
|
|
678
|
-
const newSetting =
|
|
684
|
+
const newSetting = this.#settings.createSetting(newName, {});
|
|
679
685
|
const newValue = newSetting.get() || {};
|
|
680
686
|
// @ts-expect-error
|
|
681
687
|
newValue.vertical = newValue.vertical || {};
|
|
@@ -697,7 +703,7 @@ export class VersionController {
|
|
|
697
703
|
};
|
|
698
704
|
const empty = {};
|
|
699
705
|
for (const name in settingNames) {
|
|
700
|
-
const setting =
|
|
706
|
+
const setting = this.#settings.createSetting(name, empty);
|
|
701
707
|
const value = setting.get();
|
|
702
708
|
if (value === empty) {
|
|
703
709
|
continue;
|
|
@@ -717,7 +723,7 @@ export class VersionController {
|
|
|
717
723
|
updateVersionFrom8To9() {
|
|
718
724
|
const settingNames = ['skipStackFramesPattern', 'workspaceFolderExcludePattern'];
|
|
719
725
|
for (let i = 0; i < settingNames.length; ++i) {
|
|
720
|
-
const setting =
|
|
726
|
+
const setting = this.#settings.createSetting(settingNames[i], '');
|
|
721
727
|
let value = setting.get();
|
|
722
728
|
if (!value) {
|
|
723
729
|
return;
|
|
@@ -747,7 +753,7 @@ export class VersionController {
|
|
|
747
753
|
updateVersionFrom10To11() {
|
|
748
754
|
const oldSettingName = 'customDevicePresets';
|
|
749
755
|
const newSettingName = 'customEmulatedDeviceList';
|
|
750
|
-
const oldSetting =
|
|
756
|
+
const oldSetting = this.#settings.createSetting(oldSettingName, undefined);
|
|
751
757
|
const list = oldSetting.get();
|
|
752
758
|
if (!Array.isArray(list)) {
|
|
753
759
|
return;
|
|
@@ -776,23 +782,23 @@ export class VersionController {
|
|
|
776
782
|
newList.push(device);
|
|
777
783
|
}
|
|
778
784
|
if (newList.length) {
|
|
779
|
-
|
|
785
|
+
this.#settings.createSetting(newSettingName, []).set(newList);
|
|
780
786
|
}
|
|
781
|
-
removeSetting(oldSetting);
|
|
787
|
+
this.#removeSetting(oldSetting);
|
|
782
788
|
}
|
|
783
789
|
updateVersionFrom11To12() {
|
|
784
790
|
this.migrateSettingsFromLocalStorage();
|
|
785
791
|
}
|
|
786
792
|
updateVersionFrom12To13() {
|
|
787
793
|
this.migrateSettingsFromLocalStorage();
|
|
788
|
-
removeSetting(
|
|
794
|
+
this.#removeSetting(this.#settings.createSetting('timelineOverviewMode', ''));
|
|
789
795
|
}
|
|
790
796
|
updateVersionFrom13To14() {
|
|
791
797
|
const defaultValue = { throughput: -1, latency: 0 };
|
|
792
|
-
|
|
798
|
+
this.#settings.createSetting('networkConditions', defaultValue).set(defaultValue);
|
|
793
799
|
}
|
|
794
800
|
updateVersionFrom14To15() {
|
|
795
|
-
const setting =
|
|
801
|
+
const setting = this.#settings.createLocalSetting('workspaceExcludedFolders', {});
|
|
796
802
|
const oldValue = setting.get();
|
|
797
803
|
const newValue = {};
|
|
798
804
|
for (const fileSystemPath in oldValue) {
|
|
@@ -804,7 +810,7 @@ export class VersionController {
|
|
|
804
810
|
setting.set(newValue);
|
|
805
811
|
}
|
|
806
812
|
updateVersionFrom15To16() {
|
|
807
|
-
const setting =
|
|
813
|
+
const setting = this.#settings.createSetting('InspectorView.panelOrder', {});
|
|
808
814
|
const tabOrders = setting.get();
|
|
809
815
|
for (const key of Object.keys(tabOrders)) {
|
|
810
816
|
tabOrders[key] = (tabOrders[key] + 1) * 10;
|
|
@@ -812,7 +818,7 @@ export class VersionController {
|
|
|
812
818
|
setting.set(tabOrders);
|
|
813
819
|
}
|
|
814
820
|
updateVersionFrom16To17() {
|
|
815
|
-
const setting =
|
|
821
|
+
const setting = this.#settings.createSetting('networkConditionsCustomProfiles', []);
|
|
816
822
|
const oldValue = setting.get();
|
|
817
823
|
const newValue = [];
|
|
818
824
|
if (Array.isArray(oldValue)) {
|
|
@@ -829,7 +835,7 @@ export class VersionController {
|
|
|
829
835
|
setting.set(newValue);
|
|
830
836
|
}
|
|
831
837
|
updateVersionFrom17To18() {
|
|
832
|
-
const setting =
|
|
838
|
+
const setting = this.#settings.createLocalSetting('workspaceExcludedFolders', {});
|
|
833
839
|
const oldValue = setting.get();
|
|
834
840
|
const newValue = {};
|
|
835
841
|
for (const oldKey in oldValue) {
|
|
@@ -848,7 +854,7 @@ export class VersionController {
|
|
|
848
854
|
}
|
|
849
855
|
updateVersionFrom18To19() {
|
|
850
856
|
const defaultColumns = { status: true, type: true, initiator: true, size: true, time: true };
|
|
851
|
-
const visibleColumnSettings =
|
|
857
|
+
const visibleColumnSettings = this.#settings.createSetting('networkLogColumnsVisibility', defaultColumns);
|
|
852
858
|
const visibleColumns = visibleColumnSettings.get();
|
|
853
859
|
visibleColumns.name = true;
|
|
854
860
|
visibleColumns.timeline = true;
|
|
@@ -859,25 +865,25 @@ export class VersionController {
|
|
|
859
865
|
}
|
|
860
866
|
configs[columnId.toLowerCase()] = { visible: visibleColumns[columnId] };
|
|
861
867
|
}
|
|
862
|
-
const newSetting =
|
|
868
|
+
const newSetting = this.#settings.createSetting('networkLogColumns', {});
|
|
863
869
|
newSetting.set(configs);
|
|
864
|
-
removeSetting(visibleColumnSettings);
|
|
870
|
+
this.#removeSetting(visibleColumnSettings);
|
|
865
871
|
}
|
|
866
872
|
updateVersionFrom19To20() {
|
|
867
|
-
const oldSetting =
|
|
868
|
-
const newSetting =
|
|
873
|
+
const oldSetting = this.#settings.createSetting('InspectorView.panelOrder', {});
|
|
874
|
+
const newSetting = this.#settings.createSetting('panel-tabOrder', {});
|
|
869
875
|
newSetting.set(oldSetting.get());
|
|
870
|
-
removeSetting(oldSetting);
|
|
876
|
+
this.#removeSetting(oldSetting);
|
|
871
877
|
}
|
|
872
878
|
updateVersionFrom20To21() {
|
|
873
|
-
const networkColumns =
|
|
879
|
+
const networkColumns = this.#settings.createSetting('networkLogColumns', {});
|
|
874
880
|
const columns = networkColumns.get();
|
|
875
881
|
delete columns['timeline'];
|
|
876
882
|
delete columns['waterfall'];
|
|
877
883
|
networkColumns.set(columns);
|
|
878
884
|
}
|
|
879
885
|
updateVersionFrom21To22() {
|
|
880
|
-
const breakpointsSetting =
|
|
886
|
+
const breakpointsSetting = this.#settings.createLocalSetting('breakpoints', []);
|
|
881
887
|
const breakpoints = breakpointsSetting.get();
|
|
882
888
|
for (const breakpoint of breakpoints) {
|
|
883
889
|
breakpoint['url'] = breakpoint['sourceFileId'];
|
|
@@ -889,32 +895,33 @@ export class VersionController {
|
|
|
889
895
|
// This update is no-op.
|
|
890
896
|
}
|
|
891
897
|
updateVersionFrom23To24() {
|
|
892
|
-
const oldSetting =
|
|
893
|
-
const newSetting =
|
|
898
|
+
const oldSetting = this.#settings.createSetting('searchInContentScripts', false);
|
|
899
|
+
const newSetting = this.#settings.createSetting('searchInAnonymousAndContentScripts', false);
|
|
894
900
|
newSetting.set(oldSetting.get());
|
|
895
|
-
removeSetting(oldSetting);
|
|
901
|
+
this.#removeSetting(oldSetting);
|
|
896
902
|
}
|
|
897
903
|
updateVersionFrom24To25() {
|
|
898
904
|
const defaultColumns = { status: true, type: true, initiator: true, size: true, time: true };
|
|
899
|
-
const networkLogColumnsSetting =
|
|
905
|
+
const networkLogColumnsSetting = this.#settings.createSetting('networkLogColumns', defaultColumns);
|
|
900
906
|
const columns = networkLogColumnsSetting.get();
|
|
901
907
|
delete columns.product;
|
|
902
908
|
networkLogColumnsSetting.set(columns);
|
|
903
909
|
}
|
|
904
910
|
updateVersionFrom25To26() {
|
|
905
|
-
const oldSetting =
|
|
911
|
+
const oldSetting = this.#settings.createSetting('messageURLFilters', {});
|
|
906
912
|
const urls = Object.keys(oldSetting.get());
|
|
907
913
|
const textFilter = urls.map(url => `-url:${url}`).join(' ');
|
|
908
914
|
if (textFilter) {
|
|
909
|
-
const textFilterSetting =
|
|
915
|
+
const textFilterSetting = this.#settings.createSetting('console.textFilter', '');
|
|
910
916
|
const suffix = textFilterSetting.get() ? ` ${textFilterSetting.get()}` : '';
|
|
911
917
|
textFilterSetting.set(`${textFilter}${suffix}`);
|
|
912
918
|
}
|
|
913
|
-
removeSetting(oldSetting);
|
|
919
|
+
this.#removeSetting(oldSetting);
|
|
914
920
|
}
|
|
915
921
|
updateVersionFrom26To27() {
|
|
922
|
+
const settings = this.#settings;
|
|
916
923
|
function renameKeyInObjectSetting(settingName, from, to) {
|
|
917
|
-
const setting =
|
|
924
|
+
const setting = settings.createSetting(settingName, {});
|
|
918
925
|
const value = setting.get();
|
|
919
926
|
if (from in value) {
|
|
920
927
|
value[to] = value[from];
|
|
@@ -923,7 +930,7 @@ export class VersionController {
|
|
|
923
930
|
}
|
|
924
931
|
}
|
|
925
932
|
function renameInStringSetting(settingName, from, to) {
|
|
926
|
-
const setting =
|
|
933
|
+
const setting = settings.createSetting(settingName, '');
|
|
927
934
|
const value = setting.get();
|
|
928
935
|
if (value === from) {
|
|
929
936
|
setting.set(to);
|
|
@@ -934,14 +941,15 @@ export class VersionController {
|
|
|
934
941
|
renameInStringSetting('panel-selectedTab', 'audits2', 'audits');
|
|
935
942
|
}
|
|
936
943
|
updateVersionFrom27To28() {
|
|
937
|
-
const setting =
|
|
944
|
+
const setting = this.#settings.createSetting('uiTheme', 'systemPreferred');
|
|
938
945
|
if (setting.get() === 'default') {
|
|
939
946
|
setting.set('systemPreferred');
|
|
940
947
|
}
|
|
941
948
|
}
|
|
942
949
|
updateVersionFrom28To29() {
|
|
950
|
+
const settings = this.#settings;
|
|
943
951
|
function renameKeyInObjectSetting(settingName, from, to) {
|
|
944
|
-
const setting =
|
|
952
|
+
const setting = settings.createSetting(settingName, {});
|
|
945
953
|
const value = setting.get();
|
|
946
954
|
if (from in value) {
|
|
947
955
|
value[to] = value[from];
|
|
@@ -950,7 +958,7 @@ export class VersionController {
|
|
|
950
958
|
}
|
|
951
959
|
}
|
|
952
960
|
function renameInStringSetting(settingName, from, to) {
|
|
953
|
-
const setting =
|
|
961
|
+
const setting = settings.createSetting(settingName, '');
|
|
954
962
|
const value = setting.get();
|
|
955
963
|
if (value === from) {
|
|
956
964
|
setting.set(to);
|
|
@@ -962,31 +970,31 @@ export class VersionController {
|
|
|
962
970
|
}
|
|
963
971
|
updateVersionFrom29To30() {
|
|
964
972
|
// Create new location agnostic setting
|
|
965
|
-
const closeableTabSetting =
|
|
973
|
+
const closeableTabSetting = this.#settings.createSetting('closeableTabs', {});
|
|
966
974
|
// Read current settings
|
|
967
|
-
const panelCloseableTabSetting =
|
|
968
|
-
const drawerCloseableTabSetting =
|
|
975
|
+
const panelCloseableTabSetting = this.#settings.createSetting('panel-closeableTabs', {});
|
|
976
|
+
const drawerCloseableTabSetting = this.#settings.createSetting('drawer-view-closeableTabs', {});
|
|
969
977
|
const openTabsInPanel = panelCloseableTabSetting.get();
|
|
970
978
|
const openTabsInDrawer = panelCloseableTabSetting.get();
|
|
971
979
|
// Set #value of new setting
|
|
972
980
|
const newValue = Object.assign(openTabsInDrawer, openTabsInPanel);
|
|
973
981
|
closeableTabSetting.set(newValue);
|
|
974
982
|
// Remove old settings
|
|
975
|
-
removeSetting(panelCloseableTabSetting);
|
|
976
|
-
removeSetting(drawerCloseableTabSetting);
|
|
983
|
+
this.#removeSetting(panelCloseableTabSetting);
|
|
984
|
+
this.#removeSetting(drawerCloseableTabSetting);
|
|
977
985
|
}
|
|
978
986
|
updateVersionFrom30To31() {
|
|
979
987
|
// Remove recorder_recordings setting that was used for storing recordings
|
|
980
988
|
// by an old recorder experiment.
|
|
981
|
-
const recordingsSetting =
|
|
982
|
-
removeSetting(recordingsSetting);
|
|
989
|
+
const recordingsSetting = this.#settings.createSetting('recorder_recordings', []);
|
|
990
|
+
this.#removeSetting(recordingsSetting);
|
|
983
991
|
}
|
|
984
992
|
updateVersionFrom31To32() {
|
|
985
993
|
// Introduce the new 'resourceTypeName' property on stored breakpoints. Prior to
|
|
986
994
|
// this change we synchronized the breakpoint only by URL, but since we don't
|
|
987
995
|
// know on which resource type the given breakpoint was set, we just assume
|
|
988
996
|
// 'script' here to keep things simple.
|
|
989
|
-
const breakpointsSetting =
|
|
997
|
+
const breakpointsSetting = this.#settings.createLocalSetting('breakpoints', []);
|
|
990
998
|
const breakpoints = breakpointsSetting.get();
|
|
991
999
|
for (const breakpoint of breakpoints) {
|
|
992
1000
|
breakpoint['resourceTypeName'] = 'script';
|
|
@@ -994,7 +1002,7 @@ export class VersionController {
|
|
|
994
1002
|
breakpointsSetting.set(breakpoints);
|
|
995
1003
|
}
|
|
996
1004
|
updateVersionFrom32To33() {
|
|
997
|
-
const previouslyViewedFilesSetting =
|
|
1005
|
+
const previouslyViewedFilesSetting = this.#settings.createLocalSetting('previouslyViewedFiles', []);
|
|
998
1006
|
let previouslyViewedFiles = previouslyViewedFilesSetting.get();
|
|
999
1007
|
// Discard old 'previouslyViewedFiles' items that don't have a 'url' property.
|
|
1000
1008
|
previouslyViewedFiles = previouslyViewedFiles.filter((previouslyViewedFile) => 'url' in previouslyViewedFile);
|
|
@@ -1018,7 +1026,7 @@ export class VersionController {
|
|
|
1018
1026
|
// the future.
|
|
1019
1027
|
const logpointPrefix = '/** DEVTOOLS_LOGPOINT */ console.log(';
|
|
1020
1028
|
const logpointSuffix = ')';
|
|
1021
|
-
const breakpointsSetting =
|
|
1029
|
+
const breakpointsSetting = this.#settings.createLocalSetting('breakpoints', []);
|
|
1022
1030
|
const breakpoints = breakpointsSetting.get();
|
|
1023
1031
|
for (const breakpoint of breakpoints) {
|
|
1024
1032
|
const isLogpoint = breakpoint.condition.startsWith(logpointPrefix) && breakpoint.condition.endsWith(logpointSuffix);
|
|
@@ -1034,7 +1042,7 @@ export class VersionController {
|
|
|
1034
1042
|
// the future.
|
|
1035
1043
|
const logpointPrefix = '/** DEVTOOLS_LOGPOINT */ console.log(';
|
|
1036
1044
|
const logpointSuffix = ')';
|
|
1037
|
-
const breakpointsSetting =
|
|
1045
|
+
const breakpointsSetting = this.#settings.createLocalSetting('breakpoints', []);
|
|
1038
1046
|
const breakpoints = breakpointsSetting.get();
|
|
1039
1047
|
for (const breakpoint of breakpoints) {
|
|
1040
1048
|
const { condition, isLogpoint } = breakpoint;
|
|
@@ -1046,7 +1054,7 @@ export class VersionController {
|
|
|
1046
1054
|
}
|
|
1047
1055
|
updateVersionFrom35To36() {
|
|
1048
1056
|
// We have changed the default from 'false' to 'true' and this updates the existing setting just for once.
|
|
1049
|
-
|
|
1057
|
+
this.#settings.createSetting('showThirdPartyIssues', true).set(true);
|
|
1050
1058
|
}
|
|
1051
1059
|
updateVersionFrom36To37() {
|
|
1052
1060
|
const updateStorage = (storage) => {
|
|
@@ -1054,22 +1062,22 @@ export class VersionController {
|
|
|
1054
1062
|
const normalizedKey = Settings.normalizeSettingName(key);
|
|
1055
1063
|
if (normalizedKey !== key) {
|
|
1056
1064
|
const value = storage.get(key);
|
|
1057
|
-
removeSetting({ name: key, storage });
|
|
1065
|
+
this.#removeSetting({ name: key, storage });
|
|
1058
1066
|
storage.set(normalizedKey, value);
|
|
1059
1067
|
}
|
|
1060
1068
|
}
|
|
1061
1069
|
};
|
|
1062
|
-
updateStorage(
|
|
1063
|
-
updateStorage(
|
|
1064
|
-
updateStorage(
|
|
1065
|
-
for (const key of
|
|
1070
|
+
updateStorage(this.#settings.globalStorage);
|
|
1071
|
+
updateStorage(this.#settings.syncedStorage);
|
|
1072
|
+
updateStorage(this.#settings.localStorage);
|
|
1073
|
+
for (const key of this.#settings.globalStorage.keys()) {
|
|
1066
1074
|
if ((key.startsWith('data-grid-') && key.endsWith('-column-weights')) || key.endsWith('-tab-order') ||
|
|
1067
1075
|
key === 'views-location-override' || key === 'closeable-tabs') {
|
|
1068
|
-
const setting =
|
|
1076
|
+
const setting = this.#settings.createSetting(key, {});
|
|
1069
1077
|
setting.set(Platform.StringUtilities.toKebabCaseKeys(setting.get()));
|
|
1070
1078
|
}
|
|
1071
1079
|
if (key.endsWith('-selected-tab')) {
|
|
1072
|
-
const setting =
|
|
1080
|
+
const setting = this.#settings.createSetting(key, '');
|
|
1073
1081
|
setting.set(Platform.StringUtilities.toKebabCase(setting.get()));
|
|
1074
1082
|
}
|
|
1075
1083
|
}
|
|
@@ -1077,14 +1085,14 @@ export class VersionController {
|
|
|
1077
1085
|
updateVersionFrom37To38() {
|
|
1078
1086
|
const getConsoleInsightsEnabledSetting = () => {
|
|
1079
1087
|
try {
|
|
1080
|
-
return moduleSetting('console-insights-enabled');
|
|
1088
|
+
return this.#settings.moduleSetting('console-insights-enabled');
|
|
1081
1089
|
}
|
|
1082
1090
|
catch {
|
|
1083
1091
|
return;
|
|
1084
1092
|
}
|
|
1085
1093
|
};
|
|
1086
1094
|
const consoleInsightsEnabled = getConsoleInsightsEnabledSetting();
|
|
1087
|
-
const onboardingFinished =
|
|
1095
|
+
const onboardingFinished = this.#settings.createLocalSetting('console-insights-onboarding-finished', false);
|
|
1088
1096
|
if (consoleInsightsEnabled && consoleInsightsEnabled.get() === true && onboardingFinished.get() === false) {
|
|
1089
1097
|
consoleInsightsEnabled.set(false);
|
|
1090
1098
|
}
|
|
@@ -1099,7 +1107,7 @@ export class VersionController {
|
|
|
1099
1107
|
// Note: we load the raw value via the globalStorage here because
|
|
1100
1108
|
// `createSetting` creates if it is not present, and we do not want that;
|
|
1101
1109
|
// we only want to update existing, old values.
|
|
1102
|
-
const setting =
|
|
1110
|
+
const setting = this.#settings.globalStorage.get(PREFERRED_NETWORK_COND);
|
|
1103
1111
|
if (!setting) {
|
|
1104
1112
|
return;
|
|
1105
1113
|
}
|
|
@@ -1108,17 +1116,17 @@ export class VersionController {
|
|
|
1108
1116
|
if (networkSetting.title === 'Slow 3G') {
|
|
1109
1117
|
networkSetting.title = '3G';
|
|
1110
1118
|
networkSetting.i18nTitleKey = '3G';
|
|
1111
|
-
|
|
1119
|
+
this.#settings.globalStorage.set(PREFERRED_NETWORK_COND, JSON.stringify(networkSetting));
|
|
1112
1120
|
}
|
|
1113
1121
|
else if (networkSetting.title === 'Fast 3G') {
|
|
1114
1122
|
networkSetting.title = 'Slow 4G';
|
|
1115
1123
|
networkSetting.i18nTitleKey = 'Slow 4G';
|
|
1116
|
-
|
|
1124
|
+
this.#settings.globalStorage.set(PREFERRED_NETWORK_COND, JSON.stringify(networkSetting));
|
|
1117
1125
|
}
|
|
1118
1126
|
}
|
|
1119
1127
|
catch {
|
|
1120
1128
|
// If parsing the setting threw, it's in some invalid state, so remove it.
|
|
1121
|
-
|
|
1129
|
+
this.#settings.globalStorage.remove(PREFERRED_NETWORK_COND);
|
|
1122
1130
|
}
|
|
1123
1131
|
}
|
|
1124
1132
|
/**
|
|
@@ -1133,7 +1141,7 @@ export class VersionController {
|
|
|
1133
1141
|
const hasCustomNetworkConditionsSetting = () => {
|
|
1134
1142
|
try {
|
|
1135
1143
|
// this will error if it does not exist
|
|
1136
|
-
moduleSetting('custom-network-conditions');
|
|
1144
|
+
this.#settings.moduleSetting('custom-network-conditions');
|
|
1137
1145
|
return true;
|
|
1138
1146
|
}
|
|
1139
1147
|
catch {
|
|
@@ -1150,7 +1158,7 @@ export class VersionController {
|
|
|
1150
1158
|
* objects, and we need to set the right key on each one. The actual keys &
|
|
1151
1159
|
* values in the object are not important.
|
|
1152
1160
|
*/
|
|
1153
|
-
const conditionsSetting = moduleSetting('custom-network-conditions');
|
|
1161
|
+
const conditionsSetting = this.#settings.moduleSetting('custom-network-conditions');
|
|
1154
1162
|
const customConditions = conditionsSetting.get();
|
|
1155
1163
|
if (customConditions?.length > 0) {
|
|
1156
1164
|
customConditions.forEach((condition, i) => {
|
|
@@ -1174,7 +1182,7 @@ export class VersionController {
|
|
|
1174
1182
|
// is more likely to change. This migration step tries to update the
|
|
1175
1183
|
// setting for users, or removes it if we fail, so they start fresh next
|
|
1176
1184
|
// time they load DevTools.
|
|
1177
|
-
const setting =
|
|
1185
|
+
const setting = this.#settings.globalStorage.get(PREFERRED_NETWORK_COND_SETTING);
|
|
1178
1186
|
if (!setting) {
|
|
1179
1187
|
return;
|
|
1180
1188
|
}
|
|
@@ -1194,13 +1202,13 @@ export class VersionController {
|
|
|
1194
1202
|
const key = UI_STRING_TO_NEW_KEY[networkSetting.i18nTitleKey];
|
|
1195
1203
|
// The second argument is the default value, so it's important that we
|
|
1196
1204
|
// set this to the default, and then update it to the new key.
|
|
1197
|
-
const newSetting =
|
|
1205
|
+
const newSetting = this.#settings.createSetting('active-network-condition-key', 'NO_THROTTLING');
|
|
1198
1206
|
newSetting.set(key);
|
|
1199
1207
|
}
|
|
1200
1208
|
}
|
|
1201
1209
|
finally {
|
|
1202
1210
|
// This setting is now not used, so we can remove it.
|
|
1203
|
-
|
|
1211
|
+
this.#settings.globalStorage.remove(PREFERRED_NETWORK_COND_SETTING);
|
|
1204
1212
|
}
|
|
1205
1213
|
}
|
|
1206
1214
|
/*
|
|
@@ -1235,7 +1243,7 @@ export class VersionController {
|
|
|
1235
1243
|
}
|
|
1236
1244
|
const value = window.localStorage[key];
|
|
1237
1245
|
window.localStorage.removeItem(key);
|
|
1238
|
-
|
|
1246
|
+
this.#settings.globalStorage.set(key, value);
|
|
1239
1247
|
}
|
|
1240
1248
|
}
|
|
1241
1249
|
clearBreakpointsWhenTooMany(breakpointsSetting, maxBreakpointsCount) {
|