chrome-devtools-mcp 0.10.1 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +77 -9
- 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 -4
- package/build/node_modules/chrome-devtools-frontend/front_end/core/host/AidaClient.js +3 -3
- 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 +31 -452
- package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHostStub.js +430 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/host/ResourceLoader.js +10 -22
- package/build/node_modules/chrome-devtools-frontend/front_end/core/host/UserMetrics.js +5 -5
- 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/platform/HostRuntime.js +19 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/StringUtilities.js +1 -1
- package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/api/HostRuntime.js +4 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/api/api.js +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/{common/Worker.js → platform/browser/HostRuntime.js} +18 -7
- package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/browser/browser.js +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/node/HostRuntime.js +72 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/node/node.js +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/platform.js +2 -2
- 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 +54 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/root/Runtime.js +7 -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/AnimationModel.js +1 -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 +8 -9
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMetadata.js +17 -5
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSModel.js +4 -4
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSProperty.js +1 -1
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSPropertyParserMatchers.js +10 -10
- 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/ConsoleModel.js +1 -1
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Cookie.js +1 -1
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DOMModel.js +5 -2
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DebuggerModel.js +2 -17
- 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 +64 -43
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/NetworkRequest.js +3 -8
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PageResourceLoader.js +43 -33
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PreloadingModel.js +1 -1
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RemoteObject.js +4 -1
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ResourceTreeModel.js +1 -1
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Script.js +26 -1
- 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/SourceMap.js +4 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapCache.js +16 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapManager.js +11 -5
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapScopesInfo.js +129 -20
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Target.js +5 -16
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/TargetManager.js +38 -8
- package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/sdk-meta.js +72 -30
- package/build/node_modules/chrome-devtools-frontend/front_end/foundation/Universe.js +34 -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 +56 -18
- package/build/node_modules/chrome-devtools-frontend/front_end/generated/InspectorBackendCommands.js +50 -44
- package/build/node_modules/chrome-devtools-frontend/front_end/generated/SupportedCSSProperties.js +117 -84
- package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.js +107 -57
- package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AICallTree.js +9 -3
- 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 +10 -8
- package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/CompilerScriptMapping.js +37 -1
- package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DebuggerWorkspaceBinding.js +32 -14
- package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceMapping.js +105 -14
- package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceScriptMapping.js +38 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/SASSSourceMapping.js +5 -4
- package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/CPUProfileDataModel.js +9 -7
- package/build/node_modules/chrome-devtools-frontend/front_end/models/crux-manager/CrUXManager.js +5 -3
- package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/FormatterWorkerPool.js +2 -2
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/AttributionReportingIssue.js +201 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/BounceTrackingIssue.js +49 -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 +71 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ContentSecurityPolicyIssue.js +135 -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 +58 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CookieIssue.js +514 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CorsIssue.js +244 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.js +110 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/DeprecationIssue.js +90 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ElementAccessibilityIssue.js +95 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/FederatedAuthRequestIssue.js +231 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.js +141 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/GenericIssue.js +212 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/HeavyAdIssue.js +52 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/Issue.js +152 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssueAggregator.js +314 -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 +48 -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 +55 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/PartitioningBlobURLIssue.js +58 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/PropertyRuleIssue.js +58 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/QuirksModeIssue.js +48 -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 +87 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SharedArrayBufferIssue.js +49 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SharedDictionaryIssue.js +292 -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 +59 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/UnencodedDigestIssue.js +62 -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/genericFormAriaLabelledByToNonExistingIdError.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/genericFormLabelHasNeitherForNorNestedInputError.md +5 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericNavigationEntryMarkedSkippable.md +7 -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/source_map_scopes/FunctionCodeResolver.js +192 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/source_map_scopes.js +2 -1
- 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 +59 -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/helpers/Trace.js +10 -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/trace_source_maps_resolver/SourceMapsResolver.js +23 -0
- package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/IgnoreListManager.js +41 -48
- package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/UISourceCode.js +38 -0
- 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/HostBindings.js +222 -0
- package/build/node_modules/chrome-devtools-frontend/mcp/mcp.js +21 -0
- package/build/src/DevToolsConnectionAdapter.js +56 -20
- package/build/src/DevtoolsUtils.js +162 -0
- package/build/src/McpContext.js +42 -13
- package/build/src/McpResponse.js +34 -6
- package/build/src/PageCollector.js +131 -23
- package/build/src/browser.js +4 -0
- package/build/src/cli.js +11 -3
- package/build/src/formatters/consoleFormatter.js +84 -3
- package/build/src/formatters/snapshotFormatter.js +18 -4
- package/build/src/issue-descriptions.js +39 -0
- package/build/src/main.js +21 -45
- package/build/src/third_party/THIRD_PARTY_NOTICES +1974 -28
- package/build/src/third_party/index.js +58935 -19367
- package/build/src/tools/console.js +1 -0
- package/build/src/tools/emulation.js +29 -6
- package/build/src/tools/screenshot.js +4 -2
- package/build/src/tools/snapshot.js +1 -1
- package/build/src/tools/tools.js +29 -0
- package/build/src/utils/keyboard.js +5 -0
- package/package.json +7 -7
- package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Linkifier.js +0 -34
- package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/DOMUtilities.js +0 -122
- 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/core/sdk/PageResourceLoader.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import * as Common from '../common/common.js';
|
|
5
5
|
import * as Host from '../host/host.js';
|
|
6
6
|
import * as i18n from '../i18n/i18n.js';
|
|
7
|
-
import
|
|
7
|
+
import * as Root from '../root/root.js';
|
|
8
8
|
import { IOModel } from './IOModel.js';
|
|
9
9
|
import { MultitargetNetworkManager, NetworkManager } from './NetworkManager.js';
|
|
10
10
|
import { Events as ResourceTreeModelEvents, ResourceTreeModel, } from './ResourceTreeModel.js';
|
|
@@ -27,37 +27,41 @@ export class ResourceKey {
|
|
|
27
27
|
this.key = key;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
let pageResourceLoader = null;
|
|
31
30
|
/**
|
|
32
31
|
* The page resource loader is a bottleneck for all DevTools-initiated resource loads. For each such load, it keeps a
|
|
33
32
|
* `PageResource` object around that holds meta information. This can be as the basis for reporting to the user which
|
|
34
33
|
* resources were loaded, and whether there was a load error.
|
|
35
34
|
*/
|
|
36
35
|
export class PageResourceLoader extends Common.ObjectWrapper.ObjectWrapper {
|
|
36
|
+
#targetManager;
|
|
37
|
+
#settings;
|
|
38
|
+
#userAgentProvider;
|
|
37
39
|
#currentlyLoading = 0;
|
|
38
40
|
#currentlyLoadingPerTarget = new Map();
|
|
39
41
|
#maxConcurrentLoads;
|
|
40
42
|
#pageResources = new Map();
|
|
41
43
|
#queuedLoads = [];
|
|
42
44
|
#loadOverride;
|
|
43
|
-
constructor(loadOverride, maxConcurrentLoads) {
|
|
45
|
+
constructor(targetManager, settings, userAgentProvider, loadOverride, maxConcurrentLoads = 500) {
|
|
44
46
|
super();
|
|
47
|
+
this.#targetManager = targetManager;
|
|
48
|
+
this.#settings = settings;
|
|
49
|
+
this.#userAgentProvider = userAgentProvider;
|
|
45
50
|
this.#maxConcurrentLoads = maxConcurrentLoads;
|
|
46
|
-
|
|
51
|
+
this.#targetManager.addModelListener(ResourceTreeModel, ResourceTreeModelEvents.PrimaryPageChanged, this.onPrimaryPageChanged, this);
|
|
47
52
|
this.#loadOverride = loadOverride;
|
|
48
53
|
}
|
|
49
|
-
static instance({ forceNew, loadOverride, maxConcurrentLoads } = {
|
|
54
|
+
static instance({ forceNew, targetManager, settings, userAgentProvider, loadOverride, maxConcurrentLoads } = {
|
|
50
55
|
forceNew: false,
|
|
51
56
|
loadOverride: null,
|
|
52
|
-
maxConcurrentLoads: 500,
|
|
53
57
|
}) {
|
|
54
|
-
if (
|
|
55
|
-
|
|
58
|
+
if (forceNew) {
|
|
59
|
+
Root.DevToolsContext.globalInstance().set(PageResourceLoader, new PageResourceLoader(targetManager ?? TargetManager.instance(), settings ?? Common.Settings.Settings.instance(), userAgentProvider ?? MultitargetNetworkManager.instance(), loadOverride, maxConcurrentLoads));
|
|
56
60
|
}
|
|
57
|
-
return
|
|
61
|
+
return Root.DevToolsContext.globalInstance().get(PageResourceLoader);
|
|
58
62
|
}
|
|
59
63
|
static removeInstance() {
|
|
60
|
-
|
|
64
|
+
Root.DevToolsContext.globalInstance().delete(PageResourceLoader);
|
|
61
65
|
}
|
|
62
66
|
onPrimaryPageChanged(event) {
|
|
63
67
|
const { frame: mainFrame, type } = event.data;
|
|
@@ -85,7 +89,7 @@ export class PageResourceLoader extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
85
89
|
return this.#pageResources;
|
|
86
90
|
}
|
|
87
91
|
getScopedResourcesLoaded() {
|
|
88
|
-
return new Map([...this.#pageResources].filter(([_, pageResource]) =>
|
|
92
|
+
return new Map([...this.#pageResources].filter(([_, pageResource]) => this.#targetManager.isInScope(pageResource.initiator.target) ||
|
|
89
93
|
isExtensionInitiator(pageResource.initiator)));
|
|
90
94
|
}
|
|
91
95
|
/**
|
|
@@ -97,11 +101,10 @@ export class PageResourceLoader extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
97
101
|
return { loading: this.#currentlyLoading, queued: this.#queuedLoads.length, resources: this.#pageResources.size };
|
|
98
102
|
}
|
|
99
103
|
getScopedNumberOfResources() {
|
|
100
|
-
const targetManager = TargetManager.instance();
|
|
101
104
|
let loadingCount = 0;
|
|
102
105
|
for (const [targetId, count] of this.#currentlyLoadingPerTarget) {
|
|
103
|
-
const target = targetManager.targetById(targetId);
|
|
104
|
-
if (targetManager.isInScope(target)) {
|
|
106
|
+
const target = this.#targetManager.targetById(targetId);
|
|
107
|
+
if (this.#targetManager.isInScope(target)) {
|
|
105
108
|
loadingCount += count;
|
|
106
109
|
}
|
|
107
110
|
}
|
|
@@ -197,22 +200,15 @@ export class PageResourceLoader extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
197
200
|
return await this.#loadOverride(url);
|
|
198
201
|
}
|
|
199
202
|
const parsedURL = new Common.ParsedURL.ParsedURL(url);
|
|
200
|
-
const eligibleForLoadFromTarget = getLoadThroughTargetSetting().get() && parsedURL &&
|
|
201
|
-
parsedURL.scheme !== 'data' && parsedURL.scheme !== 'devtools'
|
|
203
|
+
const eligibleForLoadFromTarget = this.getLoadThroughTargetSetting().get() && parsedURL &&
|
|
204
|
+
parsedURL.scheme !== 'file' && parsedURL.scheme !== 'data' && parsedURL.scheme !== 'devtools' &&
|
|
205
|
+
initiator.target;
|
|
202
206
|
Host.userMetrics.developerResourceScheme(this.getDeveloperResourceScheme(parsedURL));
|
|
203
207
|
if (eligibleForLoadFromTarget) {
|
|
204
208
|
try {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
return result;
|
|
209
|
-
}
|
|
210
|
-
const frame = FrameManager.instance().getFrame(initiator.frameId);
|
|
211
|
-
if (frame) {
|
|
212
|
-
Host.userMetrics.developerResourceLoaded(1 /* Host.UserMetrics.DeveloperResourceLoaded.LOAD_THROUGH_PAGE_VIA_FRAME */);
|
|
213
|
-
const result = await this.loadFromTarget(frame.resourceTreeModel().target(), initiator.frameId, url, isBinary);
|
|
214
|
-
return result;
|
|
215
|
-
}
|
|
209
|
+
Host.userMetrics.developerResourceLoaded(0 /* Host.UserMetrics.DeveloperResourceLoaded.LOAD_THROUGH_PAGE_VIA_TARGET */);
|
|
210
|
+
const result = await this.loadFromTarget(initiator.target, initiator.frameId, url, isBinary);
|
|
211
|
+
return result;
|
|
216
212
|
}
|
|
217
213
|
catch (e) {
|
|
218
214
|
if (e instanceof Error) {
|
|
@@ -229,12 +225,12 @@ export class PageResourceLoader extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
229
225
|
Host.userMetrics.developerResourceLoaded(3 /* Host.UserMetrics.DeveloperResourceLoaded.LOAD_THROUGH_PAGE_FALLBACK */);
|
|
230
226
|
}
|
|
231
227
|
else {
|
|
232
|
-
const code = getLoadThroughTargetSetting().get() ?
|
|
228
|
+
const code = this.getLoadThroughTargetSetting().get() ?
|
|
233
229
|
6 /* Host.UserMetrics.DeveloperResourceLoaded.FALLBACK_PER_PROTOCOL */ :
|
|
234
230
|
5 /* Host.UserMetrics.DeveloperResourceLoaded.FALLBACK_PER_OVERRIDE */;
|
|
235
231
|
Host.userMetrics.developerResourceLoaded(code);
|
|
236
232
|
}
|
|
237
|
-
const result = await
|
|
233
|
+
const result = await this.loadFromHostBindings(url);
|
|
238
234
|
if (eligibleForLoadFromTarget && !result.success) {
|
|
239
235
|
Host.userMetrics.developerResourceLoaded(7 /* Host.UserMetrics.DeveloperResourceLoaded.FALLBACK_FAILURE */);
|
|
240
236
|
}
|
|
@@ -269,7 +265,7 @@ export class PageResourceLoader extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
269
265
|
async loadFromTarget(target, frameId, url, isBinary) {
|
|
270
266
|
const networkManager = target.model(NetworkManager);
|
|
271
267
|
const ioModel = target.model(IOModel);
|
|
272
|
-
const disableCache =
|
|
268
|
+
const disableCache = this.#settings.moduleSetting('cache-disabled').get();
|
|
273
269
|
const resource = await networkManager.loadNetworkResource(frameId, url, { disableCache, includeCredentials: true });
|
|
274
270
|
try {
|
|
275
271
|
const content = resource.stream ?
|
|
@@ -294,7 +290,21 @@ export class PageResourceLoader extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
294
290
|
}
|
|
295
291
|
}
|
|
296
292
|
}
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
293
|
+
async loadFromHostBindings(url) {
|
|
294
|
+
const headers = {};
|
|
295
|
+
const currentUserAgent = this.#userAgentProvider.currentUserAgent();
|
|
296
|
+
if (currentUserAgent) {
|
|
297
|
+
headers['User-Agent'] = currentUserAgent;
|
|
298
|
+
}
|
|
299
|
+
if (this.#settings.moduleSetting('cache-disabled').get()) {
|
|
300
|
+
headers['Cache-Control'] = 'no-cache';
|
|
301
|
+
}
|
|
302
|
+
const allowRemoteFilePaths = this.#settings.moduleSetting('network.enable-remote-file-loading').get();
|
|
303
|
+
return await new Promise(resolve => Host.ResourceLoader.load(url, headers, (success, _responseHeaders, content, errorDescription) => {
|
|
304
|
+
resolve({ success, content, errorDescription });
|
|
305
|
+
}, allowRemoteFilePaths));
|
|
306
|
+
}
|
|
307
|
+
getLoadThroughTargetSetting() {
|
|
308
|
+
return this.#settings.createSetting('load-through-target', true);
|
|
309
|
+
}
|
|
300
310
|
}
|
|
@@ -25,7 +25,7 @@ export class PreloadingModel extends SDKModel {
|
|
|
25
25
|
this.agent = target.preloadAgent();
|
|
26
26
|
void this.agent.invoke_enable();
|
|
27
27
|
const targetInfo = target.targetInfo();
|
|
28
|
-
if (targetInfo
|
|
28
|
+
if (targetInfo?.subtype === 'prerender') {
|
|
29
29
|
this.lastPrimaryPageModel = TargetManager.instance().primaryPageTarget()?.model(PreloadingModel) || null;
|
|
30
30
|
}
|
|
31
31
|
TargetManager.instance().addModelListener(ResourceTreeModel, ResourceTreeModelEvents.PrimaryPageChanged, this.onPrimaryPageChanged, this);
|
|
@@ -665,6 +665,9 @@ export class LocalJSONObject extends RemoteObject {
|
|
|
665
665
|
if (this.#value instanceof Date) {
|
|
666
666
|
return 'date';
|
|
667
667
|
}
|
|
668
|
+
if (this.#value instanceof Error) {
|
|
669
|
+
return 'error';
|
|
670
|
+
}
|
|
668
671
|
return undefined;
|
|
669
672
|
}
|
|
670
673
|
get hasChildren() {
|
|
@@ -764,7 +767,7 @@ export class RemoteArray {
|
|
|
764
767
|
this.#object = object;
|
|
765
768
|
}
|
|
766
769
|
static objectAsArray(object) {
|
|
767
|
-
if (
|
|
770
|
+
if (object?.type !== 'object' || (object.subtype !== 'array' && object.subtype !== 'typedarray')) {
|
|
768
771
|
throw new Error('Object is empty or not an array');
|
|
769
772
|
}
|
|
770
773
|
return new RemoteArray(object);
|
|
@@ -722,7 +722,7 @@ export class ResourceTreeFrame {
|
|
|
722
722
|
}
|
|
723
723
|
addRequest(request) {
|
|
724
724
|
let resource = this.resourcesMap.get(request.url());
|
|
725
|
-
if (resource
|
|
725
|
+
if (resource?.request === request) {
|
|
726
726
|
// Already in the tree, we just got an extra update.
|
|
727
727
|
return;
|
|
728
728
|
}
|
|
@@ -1,6 +1,31 @@
|
|
|
1
1
|
// Copyright 2021 The Chromium Authors
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (C) 2008 Apple Inc. All Rights Reserved.
|
|
6
|
+
*
|
|
7
|
+
* Redistribution and use in source and binary forms, with or without
|
|
8
|
+
* modification, are permitted provided that the following conditions
|
|
9
|
+
* are met:
|
|
10
|
+
* 1. Redistributions of source code must retain the above copyright
|
|
11
|
+
* notice, this list of conditions and the following disclaimer.
|
|
12
|
+
* 2. Redistributions in binary form must reproduce the above copyright
|
|
13
|
+
* notice, this list of conditions and the following disclaimer in the
|
|
14
|
+
* documentation and/or other materials provided with the distribution.
|
|
15
|
+
*
|
|
16
|
+
* THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
|
|
17
|
+
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
18
|
+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
19
|
+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
|
|
20
|
+
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
21
|
+
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
22
|
+
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
23
|
+
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
|
24
|
+
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
25
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
26
|
+
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
27
|
+
*/
|
|
28
|
+
import * as Platform from '../../core/platform/platform.js';
|
|
4
29
|
import * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
5
30
|
import * as Common from '../common/common.js';
|
|
6
31
|
import * as i18n from '../i18n/i18n.js';
|
|
@@ -366,7 +391,7 @@ function frameIdForScript(script) {
|
|
|
366
391
|
}
|
|
367
392
|
export const sourceURLRegex = /^[\x20\t]*\/\/[@#] sourceURL=\s*(\S*?)\s*$/;
|
|
368
393
|
export async function disassembleWasm(content) {
|
|
369
|
-
const worker =
|
|
394
|
+
const worker = Platform.HostRuntime.HOST_RUNTIME.createWorker(new URL('../../entrypoints/wasmparser_worker/wasmparser_worker-entrypoint.js', import.meta.url).toString());
|
|
370
395
|
const promise = new Promise((resolve, reject) => {
|
|
371
396
|
worker.onmessage = ({ data }) => {
|
|
372
397
|
if ('method' in data) {
|
package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerSentEventsProtocol.js
CHANGED
|
@@ -28,6 +28,9 @@ export class ServerSentEventsParser {
|
|
|
28
28
|
async addBase64Chunk(raw) {
|
|
29
29
|
await this.#decoder.addBase64Chunk(raw);
|
|
30
30
|
}
|
|
31
|
+
addTextChunk(chunk) {
|
|
32
|
+
this.#onTextChunk(chunk);
|
|
33
|
+
}
|
|
31
34
|
#onTextChunk(chunk) {
|
|
32
35
|
// A line consists of "this.#line" plus a slice of "chunk[start:<next new cr/lf>]".
|
|
33
36
|
let start = 0;
|
|
@@ -609,6 +609,10 @@ export class SourceMap {
|
|
|
609
609
|
this.#ensureSourceMapProcessed();
|
|
610
610
|
return this.#scopesInfo?.findOriginalFunctionName(position) ?? null;
|
|
611
611
|
}
|
|
612
|
+
findOriginalFunctionScope(position) {
|
|
613
|
+
this.#ensureSourceMapProcessed();
|
|
614
|
+
return this.#scopesInfo?.findOriginalFunctionScope(position) ?? null;
|
|
615
|
+
}
|
|
612
616
|
isOutlinedFrame(generatedLine, generatedColumn) {
|
|
613
617
|
this.#ensureSourceMapProcessed();
|
|
614
618
|
return this.#scopesInfo?.isOutlinedFrame(generatedLine, generatedColumn) ?? false;
|
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
export class SourceMapCache {
|
|
6
6
|
static #INSTANCE = new SourceMapCache('devtools-source-map-cache');
|
|
7
7
|
static instance() {
|
|
8
|
+
if (typeof window === 'undefined') {
|
|
9
|
+
// TODO(crbug.com/451502260): Move this behind a `HostRuntime` interface.
|
|
10
|
+
return IN_MEMORY_INSTANCE; // TS doesn't like that our in-memory class doesn't have the same private fields.
|
|
11
|
+
}
|
|
8
12
|
return this.#INSTANCE;
|
|
9
13
|
}
|
|
10
14
|
static createForTest(name) {
|
|
@@ -39,3 +43,15 @@ export class SourceMapCache {
|
|
|
39
43
|
await window.caches.delete(this.#name);
|
|
40
44
|
}
|
|
41
45
|
}
|
|
46
|
+
const IN_MEMORY_INSTANCE = new (class {
|
|
47
|
+
#cache = new Map();
|
|
48
|
+
async set(debugId, sourceMap) {
|
|
49
|
+
this.#cache.set(debugId, sourceMap);
|
|
50
|
+
}
|
|
51
|
+
async get(debugId) {
|
|
52
|
+
return this.#cache.get(debugId) ?? null;
|
|
53
|
+
}
|
|
54
|
+
async disposeForTest() {
|
|
55
|
+
// Do nothing.
|
|
56
|
+
}
|
|
57
|
+
})();
|
|
@@ -89,8 +89,14 @@ export class SourceMapManager extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
89
89
|
if (this.#attachingClient === client) {
|
|
90
90
|
this.#attachingClient = null;
|
|
91
91
|
const initiator = client.createPageResourceLoadInitiator();
|
|
92
|
+
// TODO(crbug.com/458180550): Pass PageResourceLoader via constructor.
|
|
93
|
+
// The reason we grab it here lazily from the context is that otherwise every
|
|
94
|
+
// unit test using `createTarget` would need to set up a `PageResourceLoader`, as
|
|
95
|
+
// CSSModel and DebuggerModel are autostarted by default, and they create a
|
|
96
|
+
// SourceMapManager in their respective constructors.
|
|
97
|
+
const resourceLoader = this.#target.targetManager().context.get(PageResourceLoader);
|
|
92
98
|
clientData.sourceMapPromise =
|
|
93
|
-
loadSourceMap(sourceMapURL, client.debugId(), initiator)
|
|
99
|
+
loadSourceMap(resourceLoader, sourceMapURL, client.debugId(), initiator)
|
|
94
100
|
.then(payload => {
|
|
95
101
|
const sourceMap = this.#factory(sourceURL, sourceMapURL, payload, client);
|
|
96
102
|
if (this.#clientData.get(client) === clientData) {
|
|
@@ -155,7 +161,7 @@ export class SourceMapManager extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
155
161
|
return Promise.all(this.#sourceMaps.keys().map(sourceMap => sourceMap.scopesFallbackPromiseForTest));
|
|
156
162
|
}
|
|
157
163
|
}
|
|
158
|
-
|
|
164
|
+
async function loadSourceMap(resourceLoader, url, debugId, initiator) {
|
|
159
165
|
try {
|
|
160
166
|
if (debugId) {
|
|
161
167
|
const cachedSourceMap = await SourceMapCache.instance().get(debugId);
|
|
@@ -163,7 +169,7 @@ export async function loadSourceMap(url, debugId, initiator) {
|
|
|
163
169
|
return cachedSourceMap;
|
|
164
170
|
}
|
|
165
171
|
}
|
|
166
|
-
const { content } = await
|
|
172
|
+
const { content } = await resourceLoader.loadResource(url, initiator);
|
|
167
173
|
const sourceMap = parseSourceMap(content);
|
|
168
174
|
if ('debugId' in sourceMap && sourceMap.debugId) {
|
|
169
175
|
// In case something goes wrong with updating the cache, we still want to use the source map.
|
|
@@ -175,9 +181,9 @@ export async function loadSourceMap(url, debugId, initiator) {
|
|
|
175
181
|
throw new Error(`Could not load content for ${url}: ${cause.message}`, { cause });
|
|
176
182
|
}
|
|
177
183
|
}
|
|
178
|
-
export async function tryLoadSourceMap(url, initiator) {
|
|
184
|
+
export async function tryLoadSourceMap(resourceLoader, url, initiator) {
|
|
179
185
|
try {
|
|
180
|
-
return await loadSourceMap(url, null, initiator);
|
|
186
|
+
return await loadSourceMap(resourceLoader, url, null, initiator);
|
|
181
187
|
}
|
|
182
188
|
catch (cause) {
|
|
183
189
|
console.error(cause);
|
package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapScopesInfo.js
CHANGED
|
@@ -14,28 +14,106 @@ export class SourceMapScopesInfo {
|
|
|
14
14
|
this.#generatedRanges = scopeInfo.ranges;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
|
-
* If the source map does not contain any scopes information, this factory function attempts to create
|
|
17
|
+
* If the source map does not contain any scopes information, this factory function attempts to create scope information
|
|
18
18
|
* via the script's AST combined with the mappings.
|
|
19
19
|
*
|
|
20
20
|
* We create the generated ranges from the scope tree and for each range we create an original scope that matches the bounds 1:1.
|
|
21
|
-
* We don't map the bounds via mappings as mappings are often iffy and it's not strictly required to translate stack traces where we
|
|
22
|
-
* map call-sites separately.
|
|
23
21
|
*/
|
|
24
22
|
static createFromAst(sourceMap, scopeTree, text) {
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const start = positionFromOffset(node.start);
|
|
29
|
-
const end = positionFromOffset(node.end);
|
|
30
|
-
const isStackFrame = node.kind === 2 /* Formatter.FormatterWorkerPool.ScopeKind.FUNCTION */;
|
|
23
|
+
const numSourceUrls = sourceMap.sourceURLs().length;
|
|
24
|
+
const scopeBySourceUrl = [];
|
|
25
|
+
for (let i = 0; i < numSourceUrls; i++) {
|
|
31
26
|
const scope = {
|
|
32
|
-
start,
|
|
33
|
-
end,
|
|
34
|
-
|
|
35
|
-
isStackFrame,
|
|
27
|
+
start: { line: 0, column: 0 },
|
|
28
|
+
end: { line: Number.POSITIVE_INFINITY, column: Number.POSITIVE_INFINITY },
|
|
29
|
+
isStackFrame: false,
|
|
36
30
|
variables: [],
|
|
37
31
|
children: [],
|
|
38
32
|
};
|
|
33
|
+
scopeBySourceUrl.push(scope);
|
|
34
|
+
}
|
|
35
|
+
// Convert the entire scopeTree. Returns a root range that encompasses everything,
|
|
36
|
+
// and inserts scopes by sourceIndex into the above scopeBySourceUrl.
|
|
37
|
+
const { range } = convertScope(scopeTree, undefined);
|
|
38
|
+
return new SourceMapScopesInfo(sourceMap, { scopes: scopeBySourceUrl, ranges: [range] });
|
|
39
|
+
/**
|
|
40
|
+
* Recursively finds the correct place in the tree to insert the new scope.
|
|
41
|
+
* Maintains the invariant that children are sorted and contained by their parent.
|
|
42
|
+
*/
|
|
43
|
+
function insertInScope(parent, newScope) {
|
|
44
|
+
// Check if the newScope fits strictly inside any of the existing children.
|
|
45
|
+
for (const child of parent.children) {
|
|
46
|
+
if (contains(child, newScope)) {
|
|
47
|
+
insertInScope(child, newScope);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// When here, newScope belongs directly in parent.
|
|
52
|
+
// However, newScope might encompass some of parent's existing children (due
|
|
53
|
+
// to compiler transform quirks or arbitrary insertion order). We must move
|
|
54
|
+
// those children inside newScope.
|
|
55
|
+
const childrenToKeep = [];
|
|
56
|
+
for (const child of parent.children) {
|
|
57
|
+
if (contains(newScope, child)) {
|
|
58
|
+
// child is actually inside newScope, so re-parent it.
|
|
59
|
+
newScope.children.push(child);
|
|
60
|
+
child.parent = newScope;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
childrenToKeep.push(child);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// Find the correct index in the remaining children to insert newScope.
|
|
67
|
+
// We look for the first child that starts after the new scope.
|
|
68
|
+
const insertIndex = childrenToKeep.findIndex(child => compareScopes(newScope, child) < 0);
|
|
69
|
+
if (insertIndex === -1) {
|
|
70
|
+
// If no child starts after, it goes at the end.
|
|
71
|
+
childrenToKeep.push(newScope);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
childrenToKeep.splice(insertIndex, 0, newScope);
|
|
75
|
+
}
|
|
76
|
+
// Update parent's children to only be the ones that don't belong to newScope.
|
|
77
|
+
parent.children = childrenToKeep;
|
|
78
|
+
newScope.parent = parent;
|
|
79
|
+
}
|
|
80
|
+
function contains(outer, inner) {
|
|
81
|
+
return comparePositions(outer.start, inner.start) <= 0 && comparePositions(outer.end, inner.end) >= 0;
|
|
82
|
+
}
|
|
83
|
+
function compareScopes(a, b) {
|
|
84
|
+
return comparePositions(a.start, b.start);
|
|
85
|
+
}
|
|
86
|
+
function comparePositions(a, b) {
|
|
87
|
+
if (a.line !== b.line) {
|
|
88
|
+
return a.line - b.line;
|
|
89
|
+
}
|
|
90
|
+
return a.column - b.column;
|
|
91
|
+
}
|
|
92
|
+
function convertScope(node, parentRange) {
|
|
93
|
+
const start = positionFromOffset(node.start);
|
|
94
|
+
const end = positionFromOffset(node.end);
|
|
95
|
+
const startEntry = sourceMap.findEntry(start.line, start.column);
|
|
96
|
+
const endEntry = sourceMap.findEntry(end.line, end.column);
|
|
97
|
+
const sourceIndex = startEntry?.sourceIndex;
|
|
98
|
+
const canMapOriginalPosition = startEntry && endEntry && sourceIndex !== undefined &&
|
|
99
|
+
startEntry.sourceIndex === endEntry.sourceIndex && startEntry.sourceIndex !== undefined && sourceIndex >= 0 &&
|
|
100
|
+
sourceIndex < numSourceUrls;
|
|
101
|
+
const isStackFrame = node.kind === 2 /* Formatter.FormatterWorkerPool.ScopeKind.FUNCTION */ ||
|
|
102
|
+
node.kind === 4 /* Formatter.FormatterWorkerPool.ScopeKind.ARROW_FUNCTION */;
|
|
103
|
+
// TODO(crbug.com/368222773): Instead of mapping `start`, we should report a number of candidates. e.g. for arrow functions we should
|
|
104
|
+
// follow the spec and map the `=>` as the spec says that is where the original name (if any) for arrow functions can be found.
|
|
105
|
+
const name = node.kind === 2 /* Formatter.FormatterWorkerPool.ScopeKind.FUNCTION */ ? startEntry?.name : undefined;
|
|
106
|
+
let scope;
|
|
107
|
+
if (canMapOriginalPosition) {
|
|
108
|
+
scope = {
|
|
109
|
+
start: { line: startEntry.sourceLineNumber, column: startEntry.sourceColumnNumber },
|
|
110
|
+
end: { line: endEntry.sourceLineNumber, column: endEntry.sourceColumnNumber },
|
|
111
|
+
name,
|
|
112
|
+
isStackFrame,
|
|
113
|
+
variables: [],
|
|
114
|
+
children: [],
|
|
115
|
+
};
|
|
116
|
+
}
|
|
39
117
|
const range = {
|
|
40
118
|
start,
|
|
41
119
|
end,
|
|
@@ -46,9 +124,12 @@ export class SourceMapScopesInfo {
|
|
|
46
124
|
children: [],
|
|
47
125
|
};
|
|
48
126
|
parentRange?.children.push(range);
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
127
|
+
if (canMapOriginalPosition && scope) {
|
|
128
|
+
const rootScope = scopeBySourceUrl[sourceIndex];
|
|
129
|
+
insertInScope(rootScope, scope);
|
|
130
|
+
}
|
|
131
|
+
node.children.forEach(child => convertScope(child, range));
|
|
132
|
+
return { range };
|
|
52
133
|
}
|
|
53
134
|
function positionFromOffset(offset) {
|
|
54
135
|
const location = text.positionFromOffset(offset);
|
|
@@ -290,7 +371,14 @@ export class SourceMapScopesInfo {
|
|
|
290
371
|
/**
|
|
291
372
|
* Returns the authored function name of the function containing the provided generated position.
|
|
292
373
|
*/
|
|
293
|
-
findOriginalFunctionName(
|
|
374
|
+
findOriginalFunctionName(position) {
|
|
375
|
+
const originalInnerMostScope = this.findOriginalFunctionScope(position)?.scope ?? undefined;
|
|
376
|
+
return this.#findFunctionNameInOriginalScopeChain(originalInnerMostScope);
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Returns the authored function scope of the function containing the provided generated position.
|
|
380
|
+
*/
|
|
381
|
+
findOriginalFunctionScope({ line, column }) {
|
|
294
382
|
// There are 2 approaches:
|
|
295
383
|
// 1) Find the inner-most generated range containing the provided generated position
|
|
296
384
|
// and use it's OriginalScope (then walk it outwards until we hit a function).
|
|
@@ -316,7 +404,21 @@ export class SourceMapScopesInfo {
|
|
|
316
404
|
this.#findOriginalScopeChain({ sourceIndex: entry.sourceIndex, line: entry.sourceLineNumber, column: entry.sourceColumnNumber })
|
|
317
405
|
.at(-1);
|
|
318
406
|
}
|
|
319
|
-
|
|
407
|
+
if (!originalInnerMostScope) {
|
|
408
|
+
return null;
|
|
409
|
+
}
|
|
410
|
+
const functionScope = this.#findFunctionScopeInOriginalScopeChain(originalInnerMostScope);
|
|
411
|
+
if (!functionScope) {
|
|
412
|
+
return null;
|
|
413
|
+
}
|
|
414
|
+
// Find the root scope for some given original source, to get the source url.
|
|
415
|
+
let rootScope = functionScope;
|
|
416
|
+
while (rootScope.parent) {
|
|
417
|
+
rootScope = rootScope.parent;
|
|
418
|
+
}
|
|
419
|
+
const sourceIndex = this.#originalScopes.indexOf(rootScope);
|
|
420
|
+
const url = sourceIndex !== -1 ? this.#sourceMap.sourceURLForSourceIndex(sourceIndex) : undefined;
|
|
421
|
+
return functionScope ? { scope: functionScope, url } : null;
|
|
320
422
|
}
|
|
321
423
|
/**
|
|
322
424
|
* Given an original position, this returns all the surrounding original scopes from outer
|
|
@@ -339,14 +441,21 @@ export class SourceMapScopesInfo {
|
|
|
339
441
|
})([scope]);
|
|
340
442
|
return result;
|
|
341
443
|
}
|
|
342
|
-
#
|
|
444
|
+
#findFunctionScopeInOriginalScopeChain(innerOriginalScope) {
|
|
343
445
|
for (let originalScope = innerOriginalScope; originalScope; originalScope = originalScope.parent) {
|
|
344
446
|
if (originalScope.isStackFrame) {
|
|
345
|
-
return originalScope
|
|
447
|
+
return originalScope;
|
|
346
448
|
}
|
|
347
449
|
}
|
|
348
450
|
return null;
|
|
349
451
|
}
|
|
452
|
+
#findFunctionNameInOriginalScopeChain(innerOriginalScope) {
|
|
453
|
+
const functionScope = this.#findFunctionScopeInOriginalScopeChain(innerOriginalScope);
|
|
454
|
+
if (!functionScope) {
|
|
455
|
+
return null;
|
|
456
|
+
}
|
|
457
|
+
return functionScope.name ?? '';
|
|
458
|
+
}
|
|
350
459
|
/**
|
|
351
460
|
* Returns one or more original stack frames for this single "raw frame" or call-site.
|
|
352
461
|
*
|
|
@@ -31,8 +31,7 @@ export class Target extends ProtocolClient.InspectorBackend.TargetBase {
|
|
|
31
31
|
#targetInfo;
|
|
32
32
|
#creatingModels;
|
|
33
33
|
constructor(targetManager, id, name, type, parentTarget, sessionId, suspended, connection, targetInfo) {
|
|
34
|
-
|
|
35
|
-
super(needsNodeJSPatching, parentTarget, sessionId, connection);
|
|
34
|
+
super(parentTarget, sessionId, connection);
|
|
36
35
|
this.#targetManager = targetManager;
|
|
37
36
|
this.#name = name;
|
|
38
37
|
this.#capabilitiesMask = 0;
|
|
@@ -101,20 +100,11 @@ export class Target extends ProtocolClient.InspectorBackend.TargetBase {
|
|
|
101
100
|
this.#isSuspended = suspended;
|
|
102
101
|
this.#targetInfo = targetInfo;
|
|
103
102
|
}
|
|
104
|
-
|
|
103
|
+
/** Creates the models in the order in which they are provided */
|
|
104
|
+
createModels(models) {
|
|
105
105
|
this.#creatingModels = true;
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
for (const [modelClass, info] of registeredModels) {
|
|
109
|
-
if (info.early) {
|
|
110
|
-
this.model(modelClass);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
// Create autostart and required models.
|
|
114
|
-
for (const [modelClass, info] of registeredModels) {
|
|
115
|
-
if (info.autostart || required.has(modelClass)) {
|
|
116
|
-
this.model(modelClass);
|
|
117
|
-
}
|
|
106
|
+
for (const model of models) {
|
|
107
|
+
this.model(model);
|
|
118
108
|
}
|
|
119
109
|
this.#creatingModels = false;
|
|
120
110
|
}
|
|
@@ -135,7 +125,6 @@ export class Target extends ProtocolClient.InspectorBackend.TargetBase {
|
|
|
135
125
|
return this.#type;
|
|
136
126
|
}
|
|
137
127
|
markAsNodeJSForTest() {
|
|
138
|
-
super.markAsNodeJSForTest();
|
|
139
128
|
this.#type = Type.NODE;
|
|
140
129
|
}
|
|
141
130
|
targetManager() {
|