@mcp-b/chrome-devtools-mcp 2.0.2 → 2.0.5
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 +120 -10
- package/build/src/McpContext.js +69 -5
- package/build/src/browser.js +157 -51
- package/build/src/cli.js +11 -5
- package/build/src/formatters/IssueFormatter.js +190 -0
- package/build/src/main.js +83 -2
- package/build/src/telemetry/clearcut-logger.js +102 -0
- package/build/src/telemetry/flag-utils.js +45 -0
- package/build/src/telemetry/metric-utils.js +14 -0
- package/build/src/telemetry/persistence.js +53 -0
- package/build/src/telemetry/types.js +33 -0
- package/build/src/telemetry/watchdog/clearcut-sender.js +201 -0
- package/build/src/telemetry/watchdog/main.js +127 -0
- package/build/src/telemetry/watchdog-client.js +60 -0
- package/build/src/third_party/devtools-formatter-worker.js +7 -0
- package/build/src/third_party/index.js +1 -1
- package/build/src/tools/browser.js +92 -0
- package/build/src/tools/extension.js +31 -0
- package/build/src/tools/extensions.js +79 -0
- package/build/src/tools/input.js +6 -1
- package/build/src/tools/pages.js +7 -1
- package/build/src/tools/script.js +31 -4
- package/build/src/tools/tools.js +4 -0
- package/build/src/transports/CDPClientTransport.js +184 -0
- package/build/src/transports/WebMCPBridgeScript.js +11 -2
- package/build/src/utils/ExtensionRegistry.js +35 -0
- package/build/src/utils/string.js +36 -0
- package/build/vendor/chrome-devtools-frontend/front_end/core/common/Base64.js +20 -2
- package/build/vendor/chrome-devtools-frontend/front_end/core/common/Debouncer.js +8 -1
- package/build/vendor/chrome-devtools-frontend/front_end/core/common/Gzip.js +11 -0
- package/build/vendor/chrome-devtools-frontend/front_end/core/common/Object.js +6 -1
- package/build/vendor/chrome-devtools-frontend/front_end/core/common/ParsedURL.js +3 -0
- package/build/vendor/chrome-devtools-frontend/front_end/core/common/ResourceType.js +6 -0
- package/build/vendor/chrome-devtools-frontend/front_end/core/common/Revealer.js +0 -5
- package/build/vendor/chrome-devtools-frontend/front_end/core/common/Settings.js +18 -8
- package/build/vendor/chrome-devtools-frontend/front_end/core/host/AidaClient.js +24 -0
- package/build/vendor/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHostStub.js +11 -3
- package/build/vendor/chrome-devtools-frontend/front_end/core/host/ResourceLoader.js +1 -1
- package/build/vendor/chrome-devtools-frontend/front_end/core/host/UserMetrics.js +27 -20
- package/build/vendor/chrome-devtools-frontend/front_end/core/i18n/collect-ui-strings.js +7 -8
- package/build/vendor/chrome-devtools-frontend/front_end/core/i18n/generate-locales-js.js +4 -5
- package/build/vendor/chrome-devtools-frontend/front_end/core/platform/ArrayUtilities.js +10 -0
- package/build/vendor/chrome-devtools-frontend/front_end/core/platform/StringUtilities.js +63 -12
- package/build/vendor/chrome-devtools-frontend/front_end/core/protocol_client/CDPConnection.js +1 -0
- package/build/vendor/chrome-devtools-frontend/front_end/core/protocol_client/InspectorBackend.js +4 -1
- package/build/vendor/chrome-devtools-frontend/front_end/core/root/ExperimentNames.js +30 -0
- package/build/vendor/chrome-devtools-frontend/front_end/core/root/root.js +2 -1
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/AnimationModel.js +0 -4
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSMatchedStyles.js +69 -9
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSMetadata.js +6 -6
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSModel.js +28 -13
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSProperty.js +1 -1
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CSSPropertyParserMatchers.js +6 -0
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/ConsoleModel.js +0 -2
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/CookieModel.js +1 -1
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/DOMModel.js +170 -13
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/DebuggerModel.js +5 -39
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/HeapProfilerModel.js +8 -1
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/NetworkManager.js +20 -5
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/NetworkRequest.js +12 -21
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/OverlayModel.js +19 -6
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/RehydratingConnection.js +5 -1
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/ResourceTreeModel.js +8 -5
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/SourceMap.js +15 -10
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/SourceMapManager.js +1 -1
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/SourceMapScopesInfo.js +13 -27
- package/build/vendor/chrome-devtools-frontend/front_end/core/sdk/Target.js +3 -1
- package/build/vendor/chrome-devtools-frontend/front_end/generated/ARIAProperties.js +1 -7
- package/build/vendor/chrome-devtools-frontend/front_end/generated/Deprecation.js +1 -16
- package/build/vendor/chrome-devtools-frontend/front_end/generated/InspectorBackendCommands.js +82 -22
- package/build/vendor/chrome-devtools-frontend/front_end/generated/SupportedCSSProperties.js +265 -123
- package/build/vendor/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.js +2 -1
- package/build/vendor/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.js +10 -16
- package/build/vendor/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.js +97 -26
- package/build/vendor/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AICallTree.js +35 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/annotations/AnnotationRepository.js +163 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/annotations/AnnotationType.js +10 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/annotations/annotations.js +5 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/CompilerScriptMapping.js +5 -3
- package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/DebuggerLanguagePlugins.js +29 -58
- package/build/vendor/chrome-devtools-frontend/front_end/models/bindings/DebuggerWorkspaceBinding.js +7 -45
- package/build/vendor/chrome-devtools-frontend/front_end/models/emulation/DeviceModeModel.js +1 -1
- package/build/vendor/chrome-devtools-frontend/front_end/models/emulation/EmulatedDevices.js +14 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/formatter/FormatterWorkerPool.js +8 -5
- package/build/vendor/chrome-devtools-frontend/front_end/models/greendev/Prototypes.js +33 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/greendev/greendev.js +4 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/ContrastCheckTrigger.js +2 -2
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/CookieIssue.js +0 -21
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/CorsIssue.js +1 -38
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/IssueAggregator.js +8 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/IssuesManager.js +6 -12
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/PermissionElementIssue.js +243 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementActivationDisabled.md +7 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementActivationDisabledWithOccluder.md +9 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementActivationDisabledWithOccluderParent.md +9 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementCspFrameAncestorsMissing.md +5 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementFencedFrameDisallowed.md +5 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementFontSizeTooLarge.md +5 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementFontSizeTooSmall.md +5 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementGeolocationDeprecated.md +5 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementInsetBoxShadowUnsupported.md +5 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementInvalidDisplayStyle.md +5 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementInvalidSizeValue.md +5 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementInvalidType.md +5 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementInvalidTypeActivation.md +5 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementLowContrast.md +5 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementNonOpaqueColor.md +5 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementPaddingBottomUnsupported.md +6 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementPaddingRightUnsupported.md +6 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementPermissionsPolicyBlocked.md +5 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementRegistrationFailed.md +5 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementRequestInProgress.md +5 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementSecurityChecksFailed.md +5 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementTypeNotSupported.md +5 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/permissionElementUntrustedEvent.md +7 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/issues_manager.js +2 -1
- package/build/vendor/chrome-devtools-frontend/front_end/models/logs/NetworkLog.js +0 -8
- package/build/vendor/chrome-devtools-frontend/front_end/models/source_map_scopes/NamesResolver.js +4 -8
- package/build/vendor/chrome-devtools-frontend/front_end/models/stack_trace/StackTrace.js +30 -1
- package/build/vendor/chrome-devtools-frontend/front_end/models/stack_trace/StackTraceImpl.js +70 -1
- package/build/vendor/chrome-devtools-frontend/front_end/models/stack_trace/StackTraceModel.js +82 -30
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/EventsSerializer.js +10 -2
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/LanternComputationData.js +2 -2
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/ModelImpl.js +0 -3
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/Processor.js +18 -19
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/Styles.js +12 -4
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/extras/Initiators.js +46 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/extras/TraceTree.js +4 -3
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/extras/extras.js +1 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/LargestImagePaintHandler.js +2 -2
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/LayoutShiftsHandler.js +1 -1
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/MetaHandler.js +6 -0
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/NetworkRequestsHandler.js +10 -1
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/handlers/PageLoadMetricsHandler.js +44 -27
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/helpers/Timing.js +9 -2
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/Common.js +1 -6
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/LCPBreakdown.js +2 -2
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/LCPDiscovery.js +2 -4
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/NetworkDependencyTree.js +3 -2
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/insights/RenderBlocking.js +1 -1
- package/build/vendor/chrome-devtools-frontend/front_end/models/trace/types/TraceEvents.js +33 -11
- package/build/vendor/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js +51 -18
- package/build/vendor/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js +1 -1
- package/build/vendor/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/scopes.js +4 -0
- package/build/vendor/chrome-devtools-frontend/mcp/HostBindings.js +4 -0
- package/build/vendor/chrome-devtools-frontend/mcp/mcp.js +4 -0
- package/package.json +28 -21
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteInvalidSameParty.md +0 -8
- package/build/vendor/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteSamePartyCrossPartyContextSet.md +0 -10
|
@@ -70,10 +70,6 @@ const UIStrings = {
|
|
|
70
70
|
* @description Tooltip to explain why a cookie was blocked due to Schemeful Same-Site
|
|
71
71
|
*/
|
|
72
72
|
schemefulSameSiteUnspecifiedTreatedAsLax: 'This cookie didn\'t specify a "`SameSite`" attribute when it was stored, was defaulted to "`SameSite=Lax"`, and was blocked because the request was cross-site and was not initiated by a top-level navigation. This request is considered cross-site because the URL has a different scheme than the current site.',
|
|
73
|
-
/**
|
|
74
|
-
* @description Tooltip to explain why a cookie was blocked due to SameParty
|
|
75
|
-
*/
|
|
76
|
-
samePartyFromCrossPartyContext: 'This cookie was blocked because it had the "`SameParty`" attribute but the request was cross-party. The request was considered cross-party because the domain of the resource\'s URL and the domains of the resource\'s enclosing frames/documents are neither owners nor members in the same First-Party Set.',
|
|
77
73
|
/**
|
|
78
74
|
* @description Tooltip to explain why a cookie was blocked due to exceeding the maximum size
|
|
79
75
|
*/
|
|
@@ -111,14 +107,6 @@ const UIStrings = {
|
|
|
111
107
|
* @description Tooltip to explain why a cookie was blocked due to Schemeful Same-Site
|
|
112
108
|
*/
|
|
113
109
|
thisSetcookieDidntSpecifyASamesite: 'This `Set-Cookie` header didn\'t specify a "`SameSite`" attribute, was defaulted to "`SameSite=Lax"`, and was blocked because it came from a cross-site response which was not the response to a top-level navigation. This response is considered cross-site because the URL has a different scheme than the current site.',
|
|
114
|
-
/**
|
|
115
|
-
* @description Tooltip to explain why a cookie was blocked due to SameParty
|
|
116
|
-
*/
|
|
117
|
-
thisSetcookieWasBlockedBecauseItHadTheSameparty: 'This attempt to set a cookie via a `Set-Cookie` header was blocked because it had the "`SameParty`" attribute but the request was cross-party. The request was considered cross-party because the domain of the resource\'s URL and the domains of the resource\'s enclosing frames/documents are neither owners nor members in the same First-Party Set.',
|
|
118
|
-
/**
|
|
119
|
-
* @description Tooltip to explain why a cookie was blocked due to SameParty
|
|
120
|
-
*/
|
|
121
|
-
thisSetcookieWasBlockedBecauseItHadTheSamepartyAttribute: 'This attempt to set a cookie via a `Set-Cookie` header was blocked because it had the "`SameParty`" attribute but also had other conflicting attributes. Chrome requires cookies that use the "`SameParty`" attribute to also have the "Secure" attribute, and to not be restricted to "`SameSite=Strict`".',
|
|
122
110
|
/**
|
|
123
111
|
* @description Tooltip to explain why an attempt to set a cookie via a `Set-Cookie` HTTP header on a request's response was blocked.
|
|
124
112
|
*/
|
|
@@ -214,6 +202,7 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
214
202
|
#startTime = -1;
|
|
215
203
|
#endTime = -1;
|
|
216
204
|
#blockedReason = undefined;
|
|
205
|
+
#renderBlockingBehavior;
|
|
217
206
|
#corsErrorStatus = undefined;
|
|
218
207
|
statusCode = 0;
|
|
219
208
|
statusText = '';
|
|
@@ -256,6 +245,7 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
256
245
|
#exemptedResponseCookies = [];
|
|
257
246
|
#responseCookiesPartitionKey = null;
|
|
258
247
|
#responseCookiesPartitionKeyOpaque = null;
|
|
248
|
+
#deviceBoundSessionUsages = [];
|
|
259
249
|
#siteHasCookieInOtherPartition = false;
|
|
260
250
|
localizedFailDescription = null;
|
|
261
251
|
#url;
|
|
@@ -533,6 +523,12 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
533
523
|
setBlockedReason(reason) {
|
|
534
524
|
this.#blockedReason = reason;
|
|
535
525
|
}
|
|
526
|
+
setRenderBlockingBehavior(renderBlocking) {
|
|
527
|
+
this.#renderBlockingBehavior = renderBlocking;
|
|
528
|
+
}
|
|
529
|
+
renderBlockingBehavior() {
|
|
530
|
+
return this.#renderBlockingBehavior;
|
|
531
|
+
}
|
|
536
532
|
corsErrorStatus() {
|
|
537
533
|
return this.#corsErrorStatus;
|
|
538
534
|
}
|
|
@@ -1252,6 +1248,7 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
1252
1248
|
this.setRequestHeaders(extraRequestInfo.requestHeaders);
|
|
1253
1249
|
this.#hasExtraRequestInfo = true;
|
|
1254
1250
|
this.setRequestHeadersText(''); // Mark request headers as non-provisional
|
|
1251
|
+
this.#deviceBoundSessionUsages = extraRequestInfo.deviceBoundSessionUsages || [];
|
|
1255
1252
|
this.#clientSecurityState = extraRequestInfo.clientSecurityState;
|
|
1256
1253
|
this.#appliedNetworkConditionsId = extraRequestInfo.appliedNetworkConditionsId;
|
|
1257
1254
|
if (extraRequestInfo.connectTiming) {
|
|
@@ -1263,6 +1260,9 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
1263
1260
|
setAppliedNetworkConditions(appliedNetworkConditionsId) {
|
|
1264
1261
|
this.#appliedNetworkConditionsId = appliedNetworkConditionsId;
|
|
1265
1262
|
}
|
|
1263
|
+
getDeviceBoundSessionUsages() {
|
|
1264
|
+
return this.#deviceBoundSessionUsages;
|
|
1265
|
+
}
|
|
1266
1266
|
hasExtraRequestInfo() {
|
|
1267
1267
|
return this.#hasExtraRequestInfo;
|
|
1268
1268
|
}
|
|
@@ -1521,8 +1521,6 @@ export const cookieBlockedReasonToUiString = function (blockedReason) {
|
|
|
1521
1521
|
return i18nString(UIStrings.schemefulSameSiteLax);
|
|
1522
1522
|
case "SchemefulSameSiteUnspecifiedTreatedAsLax" /* Protocol.Network.CookieBlockedReason.SchemefulSameSiteUnspecifiedTreatedAsLax */:
|
|
1523
1523
|
return i18nString(UIStrings.schemefulSameSiteUnspecifiedTreatedAsLax);
|
|
1524
|
-
case "SamePartyFromCrossPartyContext" /* Protocol.Network.CookieBlockedReason.SamePartyFromCrossPartyContext */:
|
|
1525
|
-
return i18nString(UIStrings.samePartyFromCrossPartyContext);
|
|
1526
1524
|
case "NameValuePairExceedsMaxSize" /* Protocol.Network.CookieBlockedReason.NameValuePairExceedsMaxSize */:
|
|
1527
1525
|
return i18nString(UIStrings.nameValuePairExceedsMaxSize);
|
|
1528
1526
|
case "ThirdPartyPhaseout" /* Protocol.Network.CookieBlockedReason.ThirdPartyPhaseout */:
|
|
@@ -1566,10 +1564,6 @@ export const setCookieBlockedReasonToUiString = function (blockedReason) {
|
|
|
1566
1564
|
return i18nString(UIStrings.thisSetcookieWasBlockedBecauseItHadTheSamesiteStrictLax, { PH1: 'SameSite=Lax' });
|
|
1567
1565
|
case "SchemefulSameSiteUnspecifiedTreatedAsLax" /* Protocol.Network.SetCookieBlockedReason.SchemefulSameSiteUnspecifiedTreatedAsLax */:
|
|
1568
1566
|
return i18nString(UIStrings.thisSetcookieDidntSpecifyASamesite);
|
|
1569
|
-
case "SamePartyFromCrossPartyContext" /* Protocol.Network.SetCookieBlockedReason.SamePartyFromCrossPartyContext */:
|
|
1570
|
-
return i18nString(UIStrings.thisSetcookieWasBlockedBecauseItHadTheSameparty);
|
|
1571
|
-
case "SamePartyConflictsWithOtherAttributes" /* Protocol.Network.SetCookieBlockedReason.SamePartyConflictsWithOtherAttributes */:
|
|
1572
|
-
return i18nString(UIStrings.thisSetcookieWasBlockedBecauseItHadTheSamepartyAttribute);
|
|
1573
1567
|
case "NameValuePairExceedsMaxSize" /* Protocol.Network.SetCookieBlockedReason.NameValuePairExceedsMaxSize */:
|
|
1574
1568
|
return i18nString(UIStrings.thisSetcookieWasBlockedBecauseTheNameValuePairExceedsMaxSize);
|
|
1575
1569
|
case "DisallowedCharacter" /* Protocol.Network.SetCookieBlockedReason.DisallowedCharacter */:
|
|
@@ -1595,7 +1589,6 @@ export const cookieBlockedReasonToAttribute = function (blockedReason) {
|
|
|
1595
1589
|
case "SchemefulSameSiteLax" /* Protocol.Network.CookieBlockedReason.SchemefulSameSiteLax */:
|
|
1596
1590
|
case "SchemefulSameSiteUnspecifiedTreatedAsLax" /* Protocol.Network.CookieBlockedReason.SchemefulSameSiteUnspecifiedTreatedAsLax */:
|
|
1597
1591
|
return "same-site" /* Attribute.SAME_SITE */;
|
|
1598
|
-
case "SamePartyFromCrossPartyContext" /* Protocol.Network.CookieBlockedReason.SamePartyFromCrossPartyContext */:
|
|
1599
1592
|
case "NameValuePairExceedsMaxSize" /* Protocol.Network.CookieBlockedReason.NameValuePairExceedsMaxSize */:
|
|
1600
1593
|
case "UserPreferences" /* Protocol.Network.CookieBlockedReason.UserPreferences */:
|
|
1601
1594
|
case "ThirdPartyPhaseout" /* Protocol.Network.CookieBlockedReason.ThirdPartyPhaseout */:
|
|
@@ -1621,8 +1614,6 @@ export const setCookieBlockedReasonToAttribute = function (blockedReason) {
|
|
|
1621
1614
|
return "domain" /* Attribute.DOMAIN */;
|
|
1622
1615
|
case "InvalidPrefix" /* Protocol.Network.SetCookieBlockedReason.InvalidPrefix */:
|
|
1623
1616
|
return "name" /* Attribute.NAME */;
|
|
1624
|
-
case "SamePartyConflictsWithOtherAttributes" /* Protocol.Network.SetCookieBlockedReason.SamePartyConflictsWithOtherAttributes */:
|
|
1625
|
-
case "SamePartyFromCrossPartyContext" /* Protocol.Network.SetCookieBlockedReason.SamePartyFromCrossPartyContext */:
|
|
1626
1617
|
case "NameValuePairExceedsMaxSize" /* Protocol.Network.SetCookieBlockedReason.NameValuePairExceedsMaxSize */:
|
|
1627
1618
|
case "UserPreferences" /* Protocol.Network.SetCookieBlockedReason.UserPreferences */:
|
|
1628
1619
|
case "ThirdPartyPhaseout" /* Protocol.Network.SetCookieBlockedReason.ThirdPartyPhaseout */:
|
|
@@ -5,7 +5,7 @@ import * as Common from '../common/common.js';
|
|
|
5
5
|
import * as i18n from '../i18n/i18n.js';
|
|
6
6
|
import * as Root from '../root/root.js';
|
|
7
7
|
import { DebuggerModel, Events as DebuggerModelEvents } from './DebuggerModel.js';
|
|
8
|
-
import { DeferredDOMNode, DOMModel, Events as DOMModelEvents } from './DOMModel.js';
|
|
8
|
+
import { DeferredDOMNode, DOMModel, DOMNodeEvents, Events as DOMModelEvents } from './DOMModel.js';
|
|
9
9
|
import { OverlayPersistentHighlighter } from './OverlayPersistentHighlighter.js';
|
|
10
10
|
import { SDKModel } from './SDKModel.js';
|
|
11
11
|
import { TargetManager } from './TargetManager.js';
|
|
@@ -72,10 +72,22 @@ export class OverlayModel extends SDKModel {
|
|
|
72
72
|
void this.wireAgentToSettings();
|
|
73
73
|
}
|
|
74
74
|
this.#persistentHighlighter = new OverlayPersistentHighlighter(this, {
|
|
75
|
-
onGridOverlayStateChanged: ({ nodeId, enabled }) =>
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
onGridOverlayStateChanged: ({ nodeId, enabled }) => {
|
|
76
|
+
this.#domModel.nodeForId(nodeId)?.dispatchEventToListeners(DOMNodeEvents.GRID_OVERLAY_STATE_CHANGED, { enabled });
|
|
77
|
+
this.dispatchEventToListeners("PersistentGridOverlayStateChanged" /* Events.PERSISTENT_GRID_OVERLAY_STATE_CHANGED */, { nodeId, enabled });
|
|
78
|
+
},
|
|
79
|
+
onFlexOverlayStateChanged: ({ nodeId, enabled }) => {
|
|
80
|
+
this.#domModel.nodeForId(nodeId)?.dispatchEventToListeners(DOMNodeEvents.FLEX_CONTAINER_OVERLAY_STATE_CHANGED, { enabled });
|
|
81
|
+
this.dispatchEventToListeners("PersistentFlexContainerOverlayStateChanged" /* Events.PERSISTENT_FLEX_CONTAINER_OVERLAY_STATE_CHANGED */, { nodeId, enabled });
|
|
82
|
+
},
|
|
83
|
+
onContainerQueryOverlayStateChanged: ({ nodeId, enabled }) => {
|
|
84
|
+
this.#domModel.nodeForId(nodeId)?.dispatchEventToListeners(DOMNodeEvents.CONTAINER_QUERY_OVERLAY_STATE_CHANGED, { enabled });
|
|
85
|
+
this.dispatchEventToListeners("PersistentContainerQueryOverlayStateChanged" /* Events.PERSISTENT_CONTAINER_QUERY_OVERLAY_STATE_CHANGED */, { nodeId, enabled });
|
|
86
|
+
},
|
|
87
|
+
onScrollSnapOverlayStateChanged: ({ nodeId, enabled }) => {
|
|
88
|
+
this.#domModel.nodeForId(nodeId)?.dispatchEventToListeners(DOMNodeEvents.SCROLL_SNAP_OVERLAY_STATE_CHANGED, { enabled });
|
|
89
|
+
this.dispatchEventToListeners("PersistentScrollSnapOverlayStateChanged" /* Events.PERSISTENT_SCROLL_SNAP_OVERLAY_STATE_CHANGED */, { nodeId, enabled });
|
|
90
|
+
},
|
|
79
91
|
});
|
|
80
92
|
this.#domModel.addEventListener(DOMModelEvents.NodeRemoved, () => {
|
|
81
93
|
if (!this.#persistentHighlighter) {
|
|
@@ -395,7 +407,8 @@ export class OverlayModel extends SDKModel {
|
|
|
395
407
|
gridHighlightConfig: {},
|
|
396
408
|
flexContainerHighlightConfig: {},
|
|
397
409
|
flexItemHighlightConfig: {},
|
|
398
|
-
contrastAlgorithm: Root.Runtime.experiments.isEnabled(
|
|
410
|
+
contrastAlgorithm: Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.APCA) ?
|
|
411
|
+
"apca" /* Protocol.Overlay.ContrastAlgorithm.Apca */ :
|
|
399
412
|
"aa" /* Protocol.Overlay.ContrastAlgorithm.Aa */,
|
|
400
413
|
};
|
|
401
414
|
if (mode === 'all' || mode === 'content') {
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
import * as Common from '../common/common.js';
|
|
5
5
|
import * as i18n from '../i18n/i18n.js';
|
|
6
|
+
import * as ProtocolClient from '../protocol_client/protocol_client.js';
|
|
6
7
|
import * as Root from '../root/root.js';
|
|
7
8
|
import * as EnhancedTraces from './EnhancedTracesParser.js';
|
|
8
9
|
import { TraceObject } from './TraceObject.js';
|
|
@@ -261,7 +262,10 @@ export class RehydratingSession extends RehydratingSessionBase {
|
|
|
261
262
|
default:
|
|
262
263
|
this.sendMessageToFrontend({
|
|
263
264
|
id: data.id,
|
|
264
|
-
|
|
265
|
+
error: {
|
|
266
|
+
message: `Command ${data.method} not implemented in RehydratingSession.`,
|
|
267
|
+
code: ProtocolClient.CDPConnection.CDPErrorStatus.DEVTOOLS_STUB_ERROR,
|
|
268
|
+
}
|
|
265
269
|
});
|
|
266
270
|
break;
|
|
267
271
|
}
|
|
@@ -86,7 +86,6 @@ export class ResourceTreeModel extends SDKModel {
|
|
|
86
86
|
if (!this.framesInternal.has(frameId)) {
|
|
87
87
|
return null;
|
|
88
88
|
}
|
|
89
|
-
// TODO(crbug.com/445966299): Refactor to use `storageAgent().invoke_getStorageKey()` instead.
|
|
90
89
|
const response = await this.storageAgent.invoke_getStorageKey({ frameId });
|
|
91
90
|
if (response.getError() === 'Frame tree node for given frame not found') {
|
|
92
91
|
return null;
|
|
@@ -198,10 +197,13 @@ export class ResourceTreeModel extends SDKModel {
|
|
|
198
197
|
documentOpened(framePayload) {
|
|
199
198
|
this.frameNavigated(framePayload, undefined);
|
|
200
199
|
const frame = this.framesInternal.get(framePayload.id);
|
|
201
|
-
if (frame
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
200
|
+
if (frame) {
|
|
201
|
+
this.dispatchEventToListeners(Events.DocumentOpened, frame);
|
|
202
|
+
if (!frame.getResourcesMap().get(framePayload.url)) {
|
|
203
|
+
const frameResource = this.createResourceFromFramePayload(framePayload, framePayload.url, Common.ResourceType.resourceTypes.Document, framePayload.mimeType, null, null);
|
|
204
|
+
frameResource.isGenerated = true;
|
|
205
|
+
frame.addResource(frameResource);
|
|
206
|
+
}
|
|
205
207
|
}
|
|
206
208
|
}
|
|
207
209
|
frameDetached(frameId, isSwap) {
|
|
@@ -480,6 +482,7 @@ export var Events;
|
|
|
480
482
|
Events["FrameDetached"] = "FrameDetached";
|
|
481
483
|
Events["FrameResized"] = "FrameResized";
|
|
482
484
|
Events["FrameWillNavigate"] = "FrameWillNavigate";
|
|
485
|
+
Events["DocumentOpened"] = "DocumentOpened";
|
|
483
486
|
Events["PrimaryPageChanged"] = "PrimaryPageChanged";
|
|
484
487
|
Events["ResourceAdded"] = "ResourceAdded";
|
|
485
488
|
Events["WillLoadCachedResources"] = "WillLoadCachedResources";
|
|
@@ -63,7 +63,7 @@ export class SourceMap {
|
|
|
63
63
|
#script;
|
|
64
64
|
#scopesInfo = null;
|
|
65
65
|
#debugId;
|
|
66
|
-
|
|
66
|
+
#scopesFallbackPromise;
|
|
67
67
|
/**
|
|
68
68
|
* Implements Source Map V3 model. See https://github.com/google/closure-compiler/wiki/Source-Maps
|
|
69
69
|
* for format description.
|
|
@@ -135,6 +135,10 @@ export class SourceMap {
|
|
|
135
135
|
this.#ensureSourceMapProcessed();
|
|
136
136
|
return this.#scopesInfo !== null && !this.#scopesInfo.isEmpty();
|
|
137
137
|
}
|
|
138
|
+
waitForScopeInfo() {
|
|
139
|
+
this.#ensureSourceMapProcessed();
|
|
140
|
+
return this.#scopesFallbackPromise ?? Promise.resolve();
|
|
141
|
+
}
|
|
138
142
|
findEntry(lineNumber, columnNumber, inlineFrameIndex) {
|
|
139
143
|
this.#ensureSourceMapProcessed();
|
|
140
144
|
if (inlineFrameIndex && this.#scopesInfo !== null) {
|
|
@@ -160,6 +164,14 @@ export class SourceMap {
|
|
|
160
164
|
const index = Platform.ArrayUtilities.upperBound(mappings, undefined, (_, entry) => lineNumber - entry.lineNumber || columnNumber - entry.columnNumber);
|
|
161
165
|
return index ? mappings[index - 1] : null;
|
|
162
166
|
}
|
|
167
|
+
/** Returns the entry at the given position but only if an entry exists for that exact position */
|
|
168
|
+
findEntryExact(lineNumber, columnNumber) {
|
|
169
|
+
const entry = this.findEntry(lineNumber, columnNumber);
|
|
170
|
+
if (entry?.lineNumber === lineNumber && entry.columnNumber === columnNumber) {
|
|
171
|
+
return entry;
|
|
172
|
+
}
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
163
175
|
findEntryRanges(lineNumber, columnNumber) {
|
|
164
176
|
const mappings = this.mappings();
|
|
165
177
|
const endIndex = Platform.ArrayUtilities.upperBound(mappings, undefined, (_, entry) => lineNumber - entry.lineNumber || columnNumber - entry.columnNumber);
|
|
@@ -285,7 +297,7 @@ export class SourceMap {
|
|
|
285
297
|
try {
|
|
286
298
|
this.eachSection(this.parseMap.bind(this));
|
|
287
299
|
if (!this.hasScopeInfo()) {
|
|
288
|
-
this
|
|
300
|
+
this.#scopesFallbackPromise = this.#buildScopesFallback().then(info => {
|
|
289
301
|
this.#scopesInfo = info;
|
|
290
302
|
});
|
|
291
303
|
}
|
|
@@ -423,7 +435,7 @@ export class SourceMap {
|
|
|
423
435
|
nameIndex += tokenIter.nextVLQ();
|
|
424
436
|
this.mappings().push(new SourceMapEntry(lineNumber, columnNumber, sourceIndex, sourceURL, sourceLineNumber, sourceColumnNumber, names[nameIndex]));
|
|
425
437
|
}
|
|
426
|
-
if (Root.Runtime.experiments.isEnabled(
|
|
438
|
+
if (Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.USE_SOURCE_MAP_SCOPES)) {
|
|
427
439
|
if (!this.#scopesInfo) {
|
|
428
440
|
this.#scopesInfo = new SourceMapScopesInfo(this, { scopes: [], ranges: [] });
|
|
429
441
|
}
|
|
@@ -591,13 +603,6 @@ export class SourceMap {
|
|
|
591
603
|
return this.embeddedContentByURL(sourceURL) === other.embeddedContentByURL(sourceURL) &&
|
|
592
604
|
this.hasIgnoreListHint(sourceURL) === other.hasIgnoreListHint(sourceURL);
|
|
593
605
|
}
|
|
594
|
-
expandCallFrame(frame) {
|
|
595
|
-
this.#ensureSourceMapProcessed();
|
|
596
|
-
if (this.#scopesInfo === null) {
|
|
597
|
-
return [frame];
|
|
598
|
-
}
|
|
599
|
-
return this.#scopesInfo.expandCallFrame(frame);
|
|
600
|
-
}
|
|
601
606
|
resolveScopeChain(frame) {
|
|
602
607
|
this.#ensureSourceMapProcessed();
|
|
603
608
|
if (this.#scopesInfo === null) {
|
|
@@ -158,7 +158,7 @@ export class SourceMapManager extends Common.ObjectWrapper.ObjectWrapper {
|
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
waitForSourceMapsProcessedForTest() {
|
|
161
|
-
return Promise.all(this.#sourceMaps.keys().map(sourceMap => sourceMap.
|
|
161
|
+
return Promise.all(this.#sourceMaps.keys().map(sourceMap => sourceMap.waitForScopeInfo()));
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
164
|
async function loadSourceMap(resourceLoader, url, debugId, initiator) {
|
|
@@ -100,15 +100,22 @@ export class SourceMapScopesInfo {
|
|
|
100
100
|
sourceIndex < numSourceUrls;
|
|
101
101
|
const isStackFrame = node.kind === 2 /* Formatter.FormatterWorkerPool.ScopeKind.FUNCTION */ ||
|
|
102
102
|
node.kind === 4 /* Formatter.FormatterWorkerPool.ScopeKind.ARROW_FUNCTION */;
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
103
|
+
let name = undefined;
|
|
104
|
+
for (const offset of node.nameMappingLocations ?? []) {
|
|
105
|
+
const position = positionFromOffset(offset);
|
|
106
|
+
const entry = sourceMap.findEntryExact(position.line, position.column);
|
|
107
|
+
if (entry?.name !== undefined) {
|
|
108
|
+
// Only consider named mappings.
|
|
109
|
+
name = entry.name;
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
106
113
|
let scope;
|
|
107
114
|
if (canMapOriginalPosition) {
|
|
108
115
|
scope = {
|
|
109
116
|
start: { line: startEntry.sourceLineNumber, column: startEntry.sourceColumnNumber },
|
|
110
117
|
end: { line: endEntry.sourceLineNumber, column: endEntry.sourceColumnNumber },
|
|
111
|
-
name,
|
|
118
|
+
name: name ?? node.name,
|
|
112
119
|
isStackFrame,
|
|
113
120
|
variables: [],
|
|
114
121
|
children: [],
|
|
@@ -150,7 +157,8 @@ export class SourceMapScopesInfo {
|
|
|
150
157
|
return Boolean(this.#originalScopes[sourceIdx]);
|
|
151
158
|
}
|
|
152
159
|
isEmpty() {
|
|
153
|
-
|
|
160
|
+
const noScopes = this.#originalScopes.every(scope => scope === null);
|
|
161
|
+
return noScopes && !this.#generatedRanges.length;
|
|
154
162
|
}
|
|
155
163
|
addOriginalScopesAtIndex(sourceIdx, scope) {
|
|
156
164
|
if (!this.#originalScopes[sourceIdx]) {
|
|
@@ -228,28 +236,6 @@ export class SourceMapScopesInfo {
|
|
|
228
236
|
}
|
|
229
237
|
return result;
|
|
230
238
|
}
|
|
231
|
-
/**
|
|
232
|
-
* Takes a V8 provided call frame and expands any inlined frames into virtual call frames.
|
|
233
|
-
*
|
|
234
|
-
* For call frames where nothing was inlined, the result contains only a single element,
|
|
235
|
-
* the provided frame but with the original name.
|
|
236
|
-
*
|
|
237
|
-
* For call frames where we are paused in inlined code, this function returns a list of
|
|
238
|
-
* call frames from "inner to outer". This is the call frame at index 0
|
|
239
|
-
* signifies the top of this stack trace fragment.
|
|
240
|
-
*
|
|
241
|
-
* The rest are "virtual" call frames and will have an "inlineFrameIndex" set in ascending
|
|
242
|
-
* order, so the condition `result[index] === result[index].inlineFrameIndex` always holds.
|
|
243
|
-
*/
|
|
244
|
-
expandCallFrame(callFrame) {
|
|
245
|
-
const { originalFunctionName, inlinedFunctions } = this.findInlinedFunctions(callFrame.location().lineNumber, callFrame.location().columnNumber);
|
|
246
|
-
const result = [];
|
|
247
|
-
for (const [index, fn] of inlinedFunctions.entries()) {
|
|
248
|
-
result.push(callFrame.createVirtualCallFrame(index, fn.name));
|
|
249
|
-
}
|
|
250
|
-
result.push(callFrame.createVirtualCallFrame(result.length, originalFunctionName));
|
|
251
|
-
return result;
|
|
252
|
-
}
|
|
253
239
|
/**
|
|
254
240
|
* Given a generated position, this returns all the surrounding generated ranges from outer
|
|
255
241
|
* to inner.
|
|
@@ -56,7 +56,9 @@ export class Target extends ProtocolClient.InspectorBackend.TargetBase {
|
|
|
56
56
|
this.#capabilitiesMask = 4 /* Capability.JS */ | 8 /* Capability.LOG */ | 16 /* Capability.NETWORK */ | 32 /* Capability.TARGET */ |
|
|
57
57
|
2048 /* Capability.INSPECTOR */ | 131072 /* Capability.IO */ | 524288 /* Capability.EVENT_BREAKPOINTS */;
|
|
58
58
|
if (parentTarget?.type() !== Type.FRAME) {
|
|
59
|
-
|
|
59
|
+
// TODO(crbug.com/406991275): This should also grant the `STORAGE` capability, but first the
|
|
60
|
+
// crashers in https://crbug.com/466134219 have to be resolved.
|
|
61
|
+
this.#capabilitiesMask |= 1 /* Capability.BROWSER */;
|
|
60
62
|
}
|
|
61
63
|
break;
|
|
62
64
|
case Type.SHARED_WORKER:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright
|
|
1
|
+
// Copyright 2026 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
4
|
export const config = {
|
|
@@ -1313,9 +1313,6 @@ export const config = {
|
|
|
1313
1313
|
]
|
|
1314
1314
|
},
|
|
1315
1315
|
{
|
|
1316
|
-
"implicitValues": {
|
|
1317
|
-
"aria-live": "off"
|
|
1318
|
-
},
|
|
1319
1316
|
"name": "marquee",
|
|
1320
1317
|
"nameFrom": [
|
|
1321
1318
|
"author"
|
|
@@ -1974,9 +1971,6 @@ export const config = {
|
|
|
1974
1971
|
]
|
|
1975
1972
|
},
|
|
1976
1973
|
{
|
|
1977
|
-
"implicitValues": {
|
|
1978
|
-
"aria-live": "off"
|
|
1979
|
-
},
|
|
1980
1974
|
"name": "timer",
|
|
1981
1975
|
"nameFrom": [
|
|
1982
1976
|
"author"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright
|
|
1
|
+
// Copyright 2026 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
4
|
// This file is auto-generated, do not edit manually.
|
|
@@ -28,10 +28,6 @@ export const UIStrings = {
|
|
|
28
28
|
* @description This warning occurs when the website attempts to invoke the deprecated `chrome.loadTimes().wasAlternateProtocolAvailable` API.
|
|
29
29
|
*/
|
|
30
30
|
ChromeLoadTimesWasAlternateProtocolAvailable: "`chrome.loadTimes()` is deprecated, instead use standardized API: `nextHopProtocol` in Navigation Timing 2.",
|
|
31
|
-
/**
|
|
32
|
-
* @description This warning occurs when the browser attempts to store a cookie containing a banned character. Rather than the cookie string being truncated at the banned character, the entire cookie will be rejected now.
|
|
33
|
-
*/
|
|
34
|
-
CookieWithTruncatingChar: "Cookies containing a `\\(0|r|n)` character will be rejected instead of truncated.",
|
|
35
31
|
/**
|
|
36
32
|
* @description This warning occurs when a frame accesses another frame's data after having set `document.domain` without having set the `Origin-Agent-Cluster` http header. This is a companion warning to `documentDomainSettingWithoutOriginAgentClusterHeader`, where that warning occurs when `document.domain` is set, and this warning occurs when an access has been made, based on that previous `document.domain` setting.
|
|
37
33
|
*/
|
|
@@ -244,10 +240,6 @@ export const UIStrings = {
|
|
|
244
240
|
* @description Warning displayed to developers. It is shown when the `XMLHttpRequest` API is used in a way that it slows down the page load of the next page. The `main thread` refers to an operating systems thread used to run most of the processing of HTML documents, so please use a consistent wording.
|
|
245
241
|
*/
|
|
246
242
|
XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload: "Synchronous `XMLHttpRequest` on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.",
|
|
247
|
-
/**
|
|
248
|
-
* @description Warning displayed to developers that they are using externally loaded entities in an XML document that constitutes a part of the web page. Externally loaded entities are a technical concept of XML document processing.
|
|
249
|
-
*/
|
|
250
|
-
XMLNoExternalEntities: "Externally loaded entities in XML parsing have been deprecated and will be removed from this browser soon.",
|
|
251
243
|
/**
|
|
252
244
|
* @description Warning displayed to developers that they are using either the XSLTProcessor API, or XSLT processing instructions, both of which have been deprecated and are scheduled to be removed.
|
|
253
245
|
*/
|
|
@@ -278,9 +270,6 @@ export const DEPRECATIONS_METADATA = {
|
|
|
278
270
|
"ChromeLoadTimesWasAlternateProtocolAvailable": {
|
|
279
271
|
"chromeStatusFeature": 5637885046816768
|
|
280
272
|
},
|
|
281
|
-
"CookieWithTruncatingChar": {
|
|
282
|
-
"milestone": 103
|
|
283
|
-
},
|
|
284
273
|
"CrossOriginAccessBasedOnDocumentDomain": {
|
|
285
274
|
"milestone": 115
|
|
286
275
|
},
|
|
@@ -373,10 +362,6 @@ export const DEPRECATIONS_METADATA = {
|
|
|
373
362
|
"XHRJSONEncodingDetection": {
|
|
374
363
|
"milestone": 93
|
|
375
364
|
},
|
|
376
|
-
"XMLNoExternalEntities": {
|
|
377
|
-
"chromeStatusFeature": 6734457763659776,
|
|
378
|
-
"milestone": 144
|
|
379
|
-
},
|
|
380
365
|
"XSLT": {
|
|
381
366
|
"chromeStatusFeature": 4709671889534976,
|
|
382
367
|
"milestone": 143
|