chrome-devtools-frontend 1.0.1027585 → 1.0.1028626

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.
Files changed (24) hide show
  1. package/front_end/core/i18n/locales/en-US.json +18 -0
  2. package/front_end/core/i18n/locales/en-XL.json +18 -0
  3. package/front_end/core/sdk/DebuggerModel.ts +9 -10
  4. package/front_end/core/sdk/Script.ts +4 -5
  5. package/front_end/core/sdk/SourceMapManager.ts +5 -4
  6. package/front_end/generated/InspectorBackendCommands.js +6 -5
  7. package/front_end/generated/SupportedCSSProperties.js +6 -0
  8. package/front_end/generated/protocol-mapping.d.ts +7 -0
  9. package/front_end/generated/protocol-proxy-api.d.ts +5 -0
  10. package/front_end/generated/protocol.ts +36 -4
  11. package/front_end/models/issues_manager/AttributionReportingIssue.ts +15 -0
  12. package/front_end/models/issues_manager/DeprecationIssue.ts +9 -0
  13. package/front_end/models/javascript_metadata/NativeFunctions.js +7 -2
  14. package/front_end/panels/application/StorageView.ts +2 -1
  15. package/front_end/panels/application/components/Prerender2.ts +12 -0
  16. package/front_end/panels/console/consoleView.css +0 -4
  17. package/front_end/panels/elements/StylePropertyTreeElement.ts +2 -1
  18. package/front_end/panels/network/components/RequestHeadersView.css +7 -0
  19. package/front_end/panels/network/components/RequestHeadersView.ts +97 -18
  20. package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorController.ts +25 -7
  21. package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorPane.ts +22 -30
  22. package/front_end/ui/legacy/SplitWidget.ts +1 -0
  23. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +1 -1
  24. package/package.json +1 -1
@@ -1397,6 +1397,9 @@
1397
1397
  "models/issues_manager/DeprecationIssue.ts | eventPath": {
1398
1398
  "message": "Event.path is deprecated and will be removed. Please use Event.composedPath() instead."
1399
1399
  },
1400
+ "models/issues_manager/DeprecationIssue.ts | expectCTHeader": {
1401
+ "message": "The Expect-CT header is deprecated and will be removed. Chrome requires Certificate Transparency for all publicly trusted certificates issued after April 30, 2018."
1402
+ },
1400
1403
  "models/issues_manager/DeprecationIssue.ts | feature": {
1401
1404
  "message": "Check the feature status page for more details."
1402
1405
  },
@@ -3281,6 +3284,9 @@
3281
3284
  "panels/application/components/Prerender2.ts | EmbedderTriggeredAndSameOriginRedirected": {
3282
3285
  "message": "Prerendering triggered by Chrome internal (e.g., Omnibox prerendering) is canceled because the navigation is redirected to another same-origin page."
3283
3286
  },
3287
+ "panels/application/components/Prerender2.ts | FailToGetMemoryUsage": {
3288
+ "message": "Fail to get memory usage"
3289
+ },
3284
3290
  "panels/application/components/Prerender2.ts | InProgressNavigation": {
3285
3291
  "message": "InProgressNavigation."
3286
3292
  },
@@ -3302,6 +3308,9 @@
3302
3308
  "panels/application/components/Prerender2.ts | MaxNumOfRunningPrerendersExceeded": {
3303
3309
  "message": "Max number of prerendering exceeded."
3304
3310
  },
3311
+ "panels/application/components/Prerender2.ts | MemoryLimitExceeded": {
3312
+ "message": "Memory limit exceeded"
3313
+ },
3305
3314
  "panels/application/components/Prerender2.ts | MixedContent": {
3306
3315
  "message": "Prerendering is canceled by a mixed content frame."
3307
3316
  },
@@ -6818,9 +6827,18 @@
6818
6827
  "panels/network/BlockedURLsPane.ts | textPatternToBlockMatching": {
6819
6828
  "message": "Text pattern to block matching requests; use * for wildcard"
6820
6829
  },
6830
+ "panels/network/components/RequestHeadersView.ts | activeClientExperimentVariation": {
6831
+ "message": "Active client experiment variation IDs."
6832
+ },
6833
+ "panels/network/components/RequestHeadersView.ts | activeClientExperimentVariationIds": {
6834
+ "message": "Active client experiment variation IDs that trigger server-side behavior."
6835
+ },
6821
6836
  "panels/network/components/RequestHeadersView.ts | chooseThisOptionIfTheResourceAnd": {
6822
6837
  "message": "Choose this option if the resource and the document are served from the same site."
6823
6838
  },
6839
+ "panels/network/components/RequestHeadersView.ts | decoded": {
6840
+ "message": "Decoded:"
6841
+ },
6824
6842
  "panels/network/components/RequestHeadersView.ts | fromDiskCache": {
6825
6843
  "message": "(from disk cache)"
6826
6844
  },
@@ -1397,6 +1397,9 @@
1397
1397
  "models/issues_manager/DeprecationIssue.ts | eventPath": {
1398
1398
  "message": "Event.path îś d̂ép̂ŕêćât́êd́ âńd̂ ẃîĺl̂ b́ê ŕêḿôv́êd́. P̂ĺêáŝé ûśê Event.composedPath() ín̂śt̂éâd́."
1399
1399
  },
1400
+ "models/issues_manager/DeprecationIssue.ts | expectCTHeader": {
1401
+ "message": "T̂h́ê Expect-CT h́êád̂ér̂ íŝ d́êṕr̂éĉát̂éd̂ án̂d́ ŵíl̂ĺ b̂é r̂ém̂óv̂éd̂. Ćĥŕôḿê ŕêq́ûír̂éŝ Ćêŕt̂íf̂íĉát̂é T̂ŕâńŝṕâŕêńĉý f̂ór̂ ál̂ĺ p̂úb̂ĺîćl̂ý t̂ŕûśt̂éd̂ ćêŕt̂íf̂íĉát̂éŝ íŝśûéd̂ áf̂t́êŕ Âṕr̂íl̂ 30, 2018."
1402
+ },
1400
1403
  "models/issues_manager/DeprecationIssue.ts | feature": {
1401
1404
  "message": "Ĉh́êćk̂ t́ĥé f̂éât́ûŕê śt̂át̂úŝ ṕâǵê f́ôŕ m̂ór̂é d̂ét̂áîĺŝ."
1402
1405
  },
@@ -3281,6 +3284,9 @@
3281
3284
  "panels/application/components/Prerender2.ts | EmbedderTriggeredAndSameOriginRedirected": {
3282
3285
  "message": "P̂ŕêŕêńd̂ér̂ín̂ǵ t̂ŕîǵĝér̂éd̂ b́ŷ Ćĥŕôḿê ín̂t́êŕn̂ál̂ (é.ĝ., Óm̂ńîb́ôx́ p̂ŕêŕêńd̂ér̂ín̂ǵ) îś ĉán̂ćêĺêd́ b̂éĉáûśê t́ĥé n̂áv̂íĝát̂íôń îś r̂éd̂ír̂éĉt́êd́ t̂ó âńôt́ĥér̂ śâḿê-ór̂íĝín̂ ṕâǵê."
3283
3286
  },
3287
+ "panels/application/components/Prerender2.ts | FailToGetMemoryUsage": {
3288
+ "message": "F̂áîĺ t̂ó ĝét̂ ḿêḿôŕŷ úŝáĝé"
3289
+ },
3284
3290
  "panels/application/components/Prerender2.ts | InProgressNavigation": {
3285
3291
  "message": "ÎńP̂ŕôǵr̂éŝśN̂áv̂íĝát̂íôń."
3286
3292
  },
@@ -3302,6 +3308,9 @@
3302
3308
  "panels/application/components/Prerender2.ts | MaxNumOfRunningPrerendersExceeded": {
3303
3309
  "message": "M̂áx̂ ńûḿb̂ér̂ óf̂ ṕr̂ér̂én̂d́êŕîńĝ éx̂ćêéd̂éd̂."
3304
3310
  },
3311
+ "panels/application/components/Prerender2.ts | MemoryLimitExceeded": {
3312
+ "message": "M̂ém̂ór̂ý l̂ím̂ít̂ éx̂ćêéd̂éd̂"
3313
+ },
3305
3314
  "panels/application/components/Prerender2.ts | MixedContent": {
3306
3315
  "message": "P̂ŕêŕêńd̂ér̂ín̂ǵ îś ĉán̂ćêĺêd́ b̂ý â ḿîx́êd́ ĉón̂t́êńt̂ f́r̂ám̂é."
3307
3316
  },
@@ -6818,9 +6827,18 @@
6818
6827
  "panels/network/BlockedURLsPane.ts | textPatternToBlockMatching": {
6819
6828
  "message": "T̂éx̂t́ p̂át̂t́êŕn̂ t́ô b́l̂óĉḱ m̂át̂ćĥín̂ǵ r̂éq̂úêśt̂ś; ûśê * f́ôŕ ŵíl̂d́ĉár̂d́"
6820
6829
  },
6830
+ "panels/network/components/RequestHeadersView.ts | activeClientExperimentVariation": {
6831
+ "message": "Âćt̂ív̂é client experiment variation IDs."
6832
+ },
6833
+ "panels/network/components/RequestHeadersView.ts | activeClientExperimentVariationIds": {
6834
+ "message": "Âćt̂ív̂é client experiment variation IDs t̂h́ât́ t̂ŕîǵĝér̂ śêŕv̂ér̂-śîd́ê b́êh́âv́îór̂."
6835
+ },
6821
6836
  "panels/network/components/RequestHeadersView.ts | chooseThisOptionIfTheResourceAnd": {
6822
6837
  "message": "Ĉh́ôóŝé t̂h́îś ôṕt̂íôń îf́ t̂h́ê ŕêśôúr̂ćê án̂d́ t̂h́ê d́ôćûḿêńt̂ ár̂é ŝér̂v́êd́ f̂ŕôḿ t̂h́ê śâḿê śît́ê."
6823
6838
  },
6839
+ "panels/network/components/RequestHeadersView.ts | decoded": {
6840
+ "message": "D̂éĉód̂éd̂:"
6841
+ },
6824
6842
  "panels/network/components/RequestHeadersView.ts | fromDiskCache": {
6825
6843
  "message": "(f̂ŕôḿ d̂íŝḱ ĉáĉh́ê)"
6826
6844
  },
@@ -681,9 +681,9 @@ export class DebuggerModel extends SDKModel<EventTypes> {
681
681
  // TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration
682
682
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
683
683
  executionContextId: number, hash: string, executionContextAuxData: any, isLiveEdit: boolean,
684
- sourceMapURL: Platform.DevToolsPath.UrlString|undefined, hasSourceURLComment: boolean, hasSyntaxError: boolean,
685
- length: number, isModule: boolean|null, originStackTrace: Protocol.Runtime.StackTrace|null,
686
- codeOffset: number|null, scriptLanguage: string|null, debugSymbols: Protocol.Debugger.DebugSymbols|null,
684
+ sourceMapURL: string|undefined, hasSourceURLComment: boolean, hasSyntaxError: boolean, length: number,
685
+ isModule: boolean|null, originStackTrace: Protocol.Runtime.StackTrace|null, codeOffset: number|null,
686
+ scriptLanguage: string|null, debugSymbols: Protocol.Debugger.DebugSymbols|null,
687
687
  embedderName: Platform.DevToolsPath.UrlString|null): Script {
688
688
  const knownScript = this.#scriptsInternal.get(scriptId);
689
689
  if (knownScript) {
@@ -1045,10 +1045,9 @@ class DebuggerDispatcher implements ProtocolProxyApi.DebuggerDispatcher {
1045
1045
  }
1046
1046
  this.#debuggerModel.parsedScriptSource(
1047
1047
  scriptId, url as Platform.DevToolsPath.UrlString, startLine, startColumn, endLine, endColumn,
1048
- executionContextId, hash, executionContextAuxData, Boolean(isLiveEdit),
1049
- sourceMapURL as Platform.DevToolsPath.UrlString, Boolean(hasSourceURL), false, length || 0, isModule || null,
1050
- stackTrace || null, codeOffset || null, scriptLanguage || null, debugSymbols || null,
1051
- embedderName as Platform.DevToolsPath.UrlString || null);
1048
+ executionContextId, hash, executionContextAuxData, Boolean(isLiveEdit), sourceMapURL, Boolean(hasSourceURL),
1049
+ false, length || 0, isModule || null, stackTrace || null, codeOffset || null, scriptLanguage || null,
1050
+ debugSymbols || null, embedderName as Platform.DevToolsPath.UrlString || null);
1052
1051
  }
1053
1052
 
1054
1053
  scriptFailedToParse({
@@ -1075,9 +1074,9 @@ class DebuggerDispatcher implements ProtocolProxyApi.DebuggerDispatcher {
1075
1074
  }
1076
1075
  this.#debuggerModel.parsedScriptSource(
1077
1076
  scriptId, url as Platform.DevToolsPath.UrlString, startLine, startColumn, endLine, endColumn,
1078
- executionContextId, hash, executionContextAuxData, false, sourceMapURL as Platform.DevToolsPath.UrlString,
1079
- Boolean(hasSourceURL), true, length || 0, isModule || null, stackTrace || null, codeOffset || null,
1080
- scriptLanguage || null, null, embedderName as Platform.DevToolsPath.UrlString || null);
1077
+ executionContextId, hash, executionContextAuxData, false, sourceMapURL, Boolean(hasSourceURL), true,
1078
+ length || 0, isModule || null, stackTrace || null, codeOffset || null, scriptLanguage || null, null,
1079
+ embedderName as Platform.DevToolsPath.UrlString || null);
1081
1080
  }
1082
1081
 
1083
1082
  breakpointResolved({breakpointId, location}: Protocol.Debugger.BreakpointResolvedEvent): void {
@@ -65,7 +65,7 @@ export class Script implements TextUtils.ContentProvider.ContentProvider, FrameA
65
65
  hash: string;
66
66
  readonly #isContentScriptInternal: boolean;
67
67
  readonly #isLiveEditInternal: boolean;
68
- sourceMapURL: Platform.DevToolsPath.UrlString|undefined;
68
+ sourceMapURL?: string;
69
69
  debugSymbols: Protocol.Debugger.DebugSymbols|null;
70
70
  hasSourceURL: boolean;
71
71
  contentLength: number;
@@ -79,10 +79,9 @@ export class Script implements TextUtils.ContentProvider.ContentProvider, FrameA
79
79
  constructor(
80
80
  debuggerModel: DebuggerModel, scriptId: Protocol.Runtime.ScriptId, sourceURL: Platform.DevToolsPath.UrlString,
81
81
  startLine: number, startColumn: number, endLine: number, endColumn: number, executionContextId: number,
82
- hash: string, isContentScript: boolean, isLiveEdit: boolean,
83
- sourceMapURL: Platform.DevToolsPath.UrlString|undefined, hasSourceURL: boolean, length: number,
84
- isModule: boolean|null, originStackTrace: Protocol.Runtime.StackTrace|null, codeOffset: number|null,
85
- scriptLanguage: string|null, debugSymbols: Protocol.Debugger.DebugSymbols|null,
82
+ hash: string, isContentScript: boolean, isLiveEdit: boolean, sourceMapURL: string|undefined,
83
+ hasSourceURL: boolean, length: number, isModule: boolean|null, originStackTrace: Protocol.Runtime.StackTrace|null,
84
+ codeOffset: number|null, scriptLanguage: string|null, debugSymbols: Protocol.Debugger.DebugSymbols|null,
86
85
  embedderName: Platform.DevToolsPath.UrlString|null) {
87
86
  this.debuggerModel = debuggerModel;
88
87
  this.scriptId = scriptId;
@@ -27,7 +27,9 @@ export class SourceMapManager<T extends FrameAssociated> extends Common.ObjectWr
27
27
  readonly #target: Target;
28
28
  #isEnabled: boolean;
29
29
  readonly #relativeSourceURL: Map<T, Platform.DevToolsPath.UrlString>;
30
- readonly #relativeSourceMapURL: Map<T, Platform.DevToolsPath.UrlString>;
30
+ // Stores the raw sourceMappingURL as provided by V8. These are not guaranteed to
31
+ // be valid URLs and will be checked and resolved once `attachSourceMap` is called.
32
+ readonly #relativeSourceMapURL: Map<T, string>;
31
33
  #resolvedSourceMapId: Map<T, string>;
32
34
  readonly #sourceMapById: Map<string, SourceMap>;
33
35
  #sourceMapIdToLoadingClients: Platform.MapUtilities.Multimap<string, T>;
@@ -157,8 +159,7 @@ export class SourceMapManager<T extends FrameAssociated> extends Common.ObjectWr
157
159
  return `${sourceURL}:${sourceMapURL}`;
158
160
  }
159
161
 
160
- private resolveRelativeURLs(
161
- sourceURL: Platform.DevToolsPath.UrlString, sourceMapURL: Platform.DevToolsPath.UrlString): {
162
+ private resolveRelativeURLs(sourceURL: Platform.DevToolsPath.UrlString, sourceMapURL: string): {
162
163
  sourceURL: Platform.DevToolsPath.UrlString,
163
164
  sourceMapURL: Platform.DevToolsPath.UrlString,
164
165
  sourceMapId: string,
@@ -182,7 +183,7 @@ export class SourceMapManager<T extends FrameAssociated> extends Common.ObjectWr
182
183
 
183
184
  attachSourceMap(
184
185
  client: T, relativeSourceURL: Platform.DevToolsPath.UrlString|undefined,
185
- relativeSourceMapURL: Platform.DevToolsPath.UrlString|undefined): void {
186
+ relativeSourceMapURL: string|undefined): void {
186
187
  // TODO(chromium:1011811): Strengthen the type to obsolte the undefined check once core/sdk/ is fully typescriptified.
187
188
  if (relativeSourceURL === undefined || !relativeSourceMapURL) {
188
189
  return;
@@ -63,9 +63,9 @@ inspectorBackend.registerEnum("Audits.HeavyAdReason", {NetworkTotalLimit: "Netwo
63
63
  inspectorBackend.registerEnum("Audits.ContentSecurityPolicyViolationType", {KInlineViolation: "kInlineViolation", KEvalViolation: "kEvalViolation", KURLViolation: "kURLViolation", KTrustedTypesSinkViolation: "kTrustedTypesSinkViolation", KTrustedTypesPolicyViolation: "kTrustedTypesPolicyViolation", KWasmEvalViolation: "kWasmEvalViolation"});
64
64
  inspectorBackend.registerEnum("Audits.SharedArrayBufferIssueType", {TransferIssue: "TransferIssue", CreationIssue: "CreationIssue"});
65
65
  inspectorBackend.registerEnum("Audits.TwaQualityEnforcementViolationType", {KHttpError: "kHttpError", KUnavailableOffline: "kUnavailableOffline", KDigitalAssetLinks: "kDigitalAssetLinks"});
66
- inspectorBackend.registerEnum("Audits.AttributionReportingIssueType", {PermissionPolicyDisabled: "PermissionPolicyDisabled", AttributionSourceUntrustworthyOrigin: "AttributionSourceUntrustworthyOrigin", AttributionUntrustworthyOrigin: "AttributionUntrustworthyOrigin", InvalidHeader: "InvalidHeader"});
66
+ inspectorBackend.registerEnum("Audits.AttributionReportingIssueType", {PermissionPolicyDisabled: "PermissionPolicyDisabled", AttributionSourceUntrustworthyOrigin: "AttributionSourceUntrustworthyOrigin", AttributionUntrustworthyOrigin: "AttributionUntrustworthyOrigin", UntrustworthyReportingOrigin: "UntrustworthyReportingOrigin", InsecureContext: "InsecureContext", InvalidHeader: "InvalidHeader", InvalidRegisterTriggerHeader: "InvalidRegisterTriggerHeader"});
67
67
  inspectorBackend.registerEnum("Audits.GenericIssueErrorType", {CrossOriginPortalPostMessageError: "CrossOriginPortalPostMessageError"});
68
- inspectorBackend.registerEnum("Audits.DeprecationIssueType", {AuthorizationCoveredByWildcard: "AuthorizationCoveredByWildcard", CanRequestURLHTTPContainingNewline: "CanRequestURLHTTPContainingNewline", ChromeLoadTimesConnectionInfo: "ChromeLoadTimesConnectionInfo", ChromeLoadTimesFirstPaintAfterLoadTime: "ChromeLoadTimesFirstPaintAfterLoadTime", ChromeLoadTimesWasAlternateProtocolAvailable: "ChromeLoadTimesWasAlternateProtocolAvailable", CookieWithTruncatingChar: "CookieWithTruncatingChar", CrossOriginAccessBasedOnDocumentDomain: "CrossOriginAccessBasedOnDocumentDomain", CrossOriginWindowAlert: "CrossOriginWindowAlert", CrossOriginWindowConfirm: "CrossOriginWindowConfirm", CSSSelectorInternalMediaControlsOverlayCastButton: "CSSSelectorInternalMediaControlsOverlayCastButton", DeprecationExample: "DeprecationExample", DocumentDomainSettingWithoutOriginAgentClusterHeader: "DocumentDomainSettingWithoutOriginAgentClusterHeader", EventPath: "EventPath", ExpectCTHeader: "ExpectCTHeader", GeolocationInsecureOrigin: "GeolocationInsecureOrigin", GeolocationInsecureOriginDeprecatedNotRemoved: "GeolocationInsecureOriginDeprecatedNotRemoved", GetUserMediaInsecureOrigin: "GetUserMediaInsecureOrigin", HostCandidateAttributeGetter: "HostCandidateAttributeGetter", IdentityInCanMakePaymentEvent: "IdentityInCanMakePaymentEvent", InsecurePrivateNetworkSubresourceRequest: "InsecurePrivateNetworkSubresourceRequest", LegacyConstraintGoogIPv6: "LegacyConstraintGoogIPv6", LocalCSSFileExtensionRejected: "LocalCSSFileExtensionRejected", MediaSourceAbortRemove: "MediaSourceAbortRemove", MediaSourceDurationTruncatingBuffered: "MediaSourceDurationTruncatingBuffered", NoSysexWebMIDIWithoutPermission: "NoSysexWebMIDIWithoutPermission", NotificationInsecureOrigin: "NotificationInsecureOrigin", NotificationPermissionRequestedIframe: "NotificationPermissionRequestedIframe", ObsoleteWebRtcCipherSuite: "ObsoleteWebRtcCipherSuite", OpenWebDatabaseInsecureContext: "OpenWebDatabaseInsecureContext", PictureSourceSrc: "PictureSourceSrc", PrefixedCancelAnimationFrame: "PrefixedCancelAnimationFrame", PrefixedRequestAnimationFrame: "PrefixedRequestAnimationFrame", PrefixedStorageInfo: "PrefixedStorageInfo", PrefixedVideoDisplayingFullscreen: "PrefixedVideoDisplayingFullscreen", PrefixedVideoEnterFullscreen: "PrefixedVideoEnterFullscreen", PrefixedVideoEnterFullScreen: "PrefixedVideoEnterFullScreen", PrefixedVideoExitFullscreen: "PrefixedVideoExitFullscreen", PrefixedVideoExitFullScreen: "PrefixedVideoExitFullScreen", PrefixedVideoSupportsFullscreen: "PrefixedVideoSupportsFullscreen", RangeExpand: "RangeExpand", RequestedSubresourceWithEmbeddedCredentials: "RequestedSubresourceWithEmbeddedCredentials", RTCConstraintEnableDtlsSrtpFalse: "RTCConstraintEnableDtlsSrtpFalse", RTCConstraintEnableDtlsSrtpTrue: "RTCConstraintEnableDtlsSrtpTrue", RTCPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics: "RTCPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics", RTCPeerConnectionSdpSemanticsPlanB: "RTCPeerConnectionSdpSemanticsPlanB", RtcpMuxPolicyNegotiate: "RtcpMuxPolicyNegotiate", SharedArrayBufferConstructedWithoutIsolation: "SharedArrayBufferConstructedWithoutIsolation", TextToSpeech_DisallowedByAutoplay: "TextToSpeech_DisallowedByAutoplay", V8SharedArrayBufferConstructedInExtensionWithoutIsolation: "V8SharedArrayBufferConstructedInExtensionWithoutIsolation", XHRJSONEncodingDetection: "XHRJSONEncodingDetection", XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload: "XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload", XRSupportsSession: "XRSupportsSession"});
68
+ inspectorBackend.registerEnum("Audits.DeprecationIssueType", {AuthorizationCoveredByWildcard: "AuthorizationCoveredByWildcard", CanRequestURLHTTPContainingNewline: "CanRequestURLHTTPContainingNewline", ChromeLoadTimesConnectionInfo: "ChromeLoadTimesConnectionInfo", ChromeLoadTimesFirstPaintAfterLoadTime: "ChromeLoadTimesFirstPaintAfterLoadTime", ChromeLoadTimesWasAlternateProtocolAvailable: "ChromeLoadTimesWasAlternateProtocolAvailable", CookieWithTruncatingChar: "CookieWithTruncatingChar", CrossOriginAccessBasedOnDocumentDomain: "CrossOriginAccessBasedOnDocumentDomain", CrossOriginWindowAlert: "CrossOriginWindowAlert", CrossOriginWindowConfirm: "CrossOriginWindowConfirm", CSSSelectorInternalMediaControlsOverlayCastButton: "CSSSelectorInternalMediaControlsOverlayCastButton", DeprecationExample: "DeprecationExample", DocumentDomainSettingWithoutOriginAgentClusterHeader: "DocumentDomainSettingWithoutOriginAgentClusterHeader", EventPath: "EventPath", ExpectCTHeader: "ExpectCTHeader", GeolocationInsecureOrigin: "GeolocationInsecureOrigin", GeolocationInsecureOriginDeprecatedNotRemoved: "GeolocationInsecureOriginDeprecatedNotRemoved", GetUserMediaInsecureOrigin: "GetUserMediaInsecureOrigin", HostCandidateAttributeGetter: "HostCandidateAttributeGetter", IdentityInCanMakePaymentEvent: "IdentityInCanMakePaymentEvent", InsecurePrivateNetworkSubresourceRequest: "InsecurePrivateNetworkSubresourceRequest", LegacyConstraintGoogIPv6: "LegacyConstraintGoogIPv6", LocalCSSFileExtensionRejected: "LocalCSSFileExtensionRejected", MediaSourceAbortRemove: "MediaSourceAbortRemove", MediaSourceDurationTruncatingBuffered: "MediaSourceDurationTruncatingBuffered", NavigateEventRestoreScroll: "NavigateEventRestoreScroll", NavigateEventTransitionWhile: "NavigateEventTransitionWhile", NoSysexWebMIDIWithoutPermission: "NoSysexWebMIDIWithoutPermission", NotificationInsecureOrigin: "NotificationInsecureOrigin", NotificationPermissionRequestedIframe: "NotificationPermissionRequestedIframe", ObsoleteWebRtcCipherSuite: "ObsoleteWebRtcCipherSuite", OpenWebDatabaseInsecureContext: "OpenWebDatabaseInsecureContext", OverflowVisibleOnReplacedElement: "OverflowVisibleOnReplacedElement", PictureSourceSrc: "PictureSourceSrc", PrefixedCancelAnimationFrame: "PrefixedCancelAnimationFrame", PrefixedRequestAnimationFrame: "PrefixedRequestAnimationFrame", PrefixedStorageInfo: "PrefixedStorageInfo", PrefixedVideoDisplayingFullscreen: "PrefixedVideoDisplayingFullscreen", PrefixedVideoEnterFullscreen: "PrefixedVideoEnterFullscreen", PrefixedVideoEnterFullScreen: "PrefixedVideoEnterFullScreen", PrefixedVideoExitFullscreen: "PrefixedVideoExitFullscreen", PrefixedVideoExitFullScreen: "PrefixedVideoExitFullScreen", PrefixedVideoSupportsFullscreen: "PrefixedVideoSupportsFullscreen", RangeExpand: "RangeExpand", RequestedSubresourceWithEmbeddedCredentials: "RequestedSubresourceWithEmbeddedCredentials", RTCConstraintEnableDtlsSrtpFalse: "RTCConstraintEnableDtlsSrtpFalse", RTCConstraintEnableDtlsSrtpTrue: "RTCConstraintEnableDtlsSrtpTrue", RTCPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics: "RTCPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics", RTCPeerConnectionSdpSemanticsPlanB: "RTCPeerConnectionSdpSemanticsPlanB", RtcpMuxPolicyNegotiate: "RtcpMuxPolicyNegotiate", SharedArrayBufferConstructedWithoutIsolation: "SharedArrayBufferConstructedWithoutIsolation", TextToSpeech_DisallowedByAutoplay: "TextToSpeech_DisallowedByAutoplay", V8SharedArrayBufferConstructedInExtensionWithoutIsolation: "V8SharedArrayBufferConstructedInExtensionWithoutIsolation", XHRJSONEncodingDetection: "XHRJSONEncodingDetection", XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload: "XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload", XRSupportsSession: "XRSupportsSession"});
69
69
  inspectorBackend.registerEnum("Audits.ClientHintIssueReason", {MetaTagAllowListInvalidOrigin: "MetaTagAllowListInvalidOrigin", MetaTagModifiedHTML: "MetaTagModifiedHTML"});
70
70
  inspectorBackend.registerEnum("Audits.FederatedAuthRequestIssueReason", {ApprovalDeclined: "ApprovalDeclined", TooManyRequests: "TooManyRequests", ManifestListHttpNotFound: "ManifestListHttpNotFound", ManifestListNoResponse: "ManifestListNoResponse", ManifestListInvalidResponse: "ManifestListInvalidResponse", ManifestNotInManifestList: "ManifestNotInManifestList", ManifestListTooBig: "ManifestListTooBig", ManifestHttpNotFound: "ManifestHttpNotFound", ManifestNoResponse: "ManifestNoResponse", ManifestInvalidResponse: "ManifestInvalidResponse", ClientMetadataHttpNotFound: "ClientMetadataHttpNotFound", ClientMetadataNoResponse: "ClientMetadataNoResponse", ClientMetadataInvalidResponse: "ClientMetadataInvalidResponse", ClientMetadataMissingPrivacyPolicyUrl: "ClientMetadataMissingPrivacyPolicyUrl", DisabledInSettings: "DisabledInSettings", ErrorFetchingSignin: "ErrorFetchingSignin", InvalidSigninResponse: "InvalidSigninResponse", AccountsHttpNotFound: "AccountsHttpNotFound", AccountsNoResponse: "AccountsNoResponse", AccountsInvalidResponse: "AccountsInvalidResponse", IdTokenHttpNotFound: "IdTokenHttpNotFound", IdTokenNoResponse: "IdTokenNoResponse", IdTokenInvalidResponse: "IdTokenInvalidResponse", IdTokenInvalidRequest: "IdTokenInvalidRequest", ErrorIdToken: "ErrorIdToken", Canceled: "Canceled"});
71
71
  inspectorBackend.registerEnum("Audits.InspectorIssueCode", {CookieIssue: "CookieIssue", MixedContentIssue: "MixedContentIssue", BlockedByResponseIssue: "BlockedByResponseIssue", HeavyAdIssue: "HeavyAdIssue", ContentSecurityPolicyIssue: "ContentSecurityPolicyIssue", SharedArrayBufferIssue: "SharedArrayBufferIssue", TrustedWebActivityIssue: "TrustedWebActivityIssue", LowTextContrastIssue: "LowTextContrastIssue", CorsIssue: "CorsIssue", AttributionReportingIssue: "AttributionReportingIssue", QuirksModeIssue: "QuirksModeIssue", NavigatorUserAgentIssue: "NavigatorUserAgentIssue", GenericIssue: "GenericIssue", DeprecationIssue: "DeprecationIssue", ClientHintIssue: "ClientHintIssue", FederatedAuthRequestIssue: "FederatedAuthRequestIssue"});
@@ -338,8 +338,8 @@ inspectorBackend.registerCommand("IO.resolveBlob", [{"name": "objectId", "type":
338
338
  // IndexedDB.
339
339
  inspectorBackend.registerEnum("IndexedDB.KeyType", {Number: "number", String: "string", Date: "date", Array: "array"});
340
340
  inspectorBackend.registerEnum("IndexedDB.KeyPathType", {Null: "null", String: "string", Array: "array"});
341
- inspectorBackend.registerCommand("IndexedDB.clearObjectStore", [{"name": "securityOrigin", "type": "string", "optional": false}, {"name": "databaseName", "type": "string", "optional": false}, {"name": "objectStoreName", "type": "string", "optional": false}], []);
342
- inspectorBackend.registerCommand("IndexedDB.deleteDatabase", [{"name": "securityOrigin", "type": "string", "optional": false}, {"name": "databaseName", "type": "string", "optional": false}], []);
341
+ inspectorBackend.registerCommand("IndexedDB.clearObjectStore", [{"name": "securityOrigin", "type": "string", "optional": true}, {"name": "storageKey", "type": "string", "optional": true}, {"name": "databaseName", "type": "string", "optional": false}, {"name": "objectStoreName", "type": "string", "optional": false}], []);
342
+ inspectorBackend.registerCommand("IndexedDB.deleteDatabase", [{"name": "securityOrigin", "type": "string", "optional": true}, {"name": "storageKey", "type": "string", "optional": true}, {"name": "databaseName", "type": "string", "optional": false}], []);
343
343
  inspectorBackend.registerCommand("IndexedDB.deleteObjectStoreEntries", [{"name": "securityOrigin", "type": "string", "optional": false}, {"name": "databaseName", "type": "string", "optional": false}, {"name": "objectStoreName", "type": "string", "optional": false}, {"name": "keyRange", "type": "object", "optional": false}], []);
344
344
  inspectorBackend.registerCommand("IndexedDB.disable", [], []);
345
345
  inspectorBackend.registerCommand("IndexedDB.enable", [], []);
@@ -567,7 +567,7 @@ inspectorBackend.registerEnum("Page.ReferrerPolicy", {NoReferrer: "noReferrer",
567
567
  inspectorBackend.registerEnum("Page.NavigationType", {Navigation: "Navigation", BackForwardCacheRestore: "BackForwardCacheRestore"});
568
568
  inspectorBackend.registerEnum("Page.BackForwardCacheNotRestoredReason", {NotPrimaryMainFrame: "NotPrimaryMainFrame", BackForwardCacheDisabled: "BackForwardCacheDisabled", RelatedActiveContentsExist: "RelatedActiveContentsExist", HTTPStatusNotOK: "HTTPStatusNotOK", SchemeNotHTTPOrHTTPS: "SchemeNotHTTPOrHTTPS", Loading: "Loading", WasGrantedMediaAccess: "WasGrantedMediaAccess", DisableForRenderFrameHostCalled: "DisableForRenderFrameHostCalled", DomainNotAllowed: "DomainNotAllowed", HTTPMethodNotGET: "HTTPMethodNotGET", SubframeIsNavigating: "SubframeIsNavigating", Timeout: "Timeout", CacheLimit: "CacheLimit", JavaScriptExecution: "JavaScriptExecution", RendererProcessKilled: "RendererProcessKilled", RendererProcessCrashed: "RendererProcessCrashed", SchedulerTrackedFeatureUsed: "SchedulerTrackedFeatureUsed", ConflictingBrowsingInstance: "ConflictingBrowsingInstance", CacheFlushed: "CacheFlushed", ServiceWorkerVersionActivation: "ServiceWorkerVersionActivation", SessionRestored: "SessionRestored", ServiceWorkerPostMessage: "ServiceWorkerPostMessage", EnteredBackForwardCacheBeforeServiceWorkerHostAdded: "EnteredBackForwardCacheBeforeServiceWorkerHostAdded", RenderFrameHostReused_SameSite: "RenderFrameHostReused_SameSite", RenderFrameHostReused_CrossSite: "RenderFrameHostReused_CrossSite", ServiceWorkerClaim: "ServiceWorkerClaim", IgnoreEventAndEvict: "IgnoreEventAndEvict", HaveInnerContents: "HaveInnerContents", TimeoutPuttingInCache: "TimeoutPuttingInCache", BackForwardCacheDisabledByLowMemory: "BackForwardCacheDisabledByLowMemory", BackForwardCacheDisabledByCommandLine: "BackForwardCacheDisabledByCommandLine", NetworkRequestDatAPIpeDrainedAsBytesConsumer: "NetworkRequestDatapipeDrainedAsBytesConsumer", NetworkRequestRedirected: "NetworkRequestRedirected", NetworkRequestTimeout: "NetworkRequestTimeout", NetworkExceedsBufferLimit: "NetworkExceedsBufferLimit", NavigationCancelledWhileRestoring: "NavigationCancelledWhileRestoring", NotMostRecentNavigationEntry: "NotMostRecentNavigationEntry", BackForwardCacheDisabledForPrerender: "BackForwardCacheDisabledForPrerender", UserAgentOverrideDiffers: "UserAgentOverrideDiffers", ForegroundCacheLimit: "ForegroundCacheLimit", BrowsingInstanceNotSwapped: "BrowsingInstanceNotSwapped", BackForwardCacheDisabledForDelegate: "BackForwardCacheDisabledForDelegate", UnloadHandlerExistsInMainFrame: "UnloadHandlerExistsInMainFrame", UnloadHandlerExistsInSubFrame: "UnloadHandlerExistsInSubFrame", ServiceWorkerUnregistration: "ServiceWorkerUnregistration", CacheControlNoStore: "CacheControlNoStore", CacheControlNoStoreCookieModified: "CacheControlNoStoreCookieModified", CacheControlNoStoreHTTPOnlyCookieModified: "CacheControlNoStoreHTTPOnlyCookieModified", NoResponseHead: "NoResponseHead", Unknown: "Unknown", ActivationNavigationsDisallowedForBug1234857: "ActivationNavigationsDisallowedForBug1234857", ErrorDocument: "ErrorDocument", FencedFramesEmbedder: "FencedFramesEmbedder", WebSocket: "WebSocket", WebTransport: "WebTransport", WebRTC: "WebRTC", MainResourceHasCacheControlNoStore: "MainResourceHasCacheControlNoStore", MainResourceHasCacheControlNoCache: "MainResourceHasCacheControlNoCache", SubresourceHasCacheControlNoStore: "SubresourceHasCacheControlNoStore", SubresourceHasCacheControlNoCache: "SubresourceHasCacheControlNoCache", ContainsPlugins: "ContainsPlugins", DocumentLoaded: "DocumentLoaded", DedicatedWorkerOrWorklet: "DedicatedWorkerOrWorklet", OutstandingNetworkRequestOthers: "OutstandingNetworkRequestOthers", OutstandingIndexedDBTransaction: "OutstandingIndexedDBTransaction", RequestedNotificationsPermission: "RequestedNotificationsPermission", RequestedMIDIPermission: "RequestedMIDIPermission", RequestedAudioCapturePermission: "RequestedAudioCapturePermission", RequestedVideoCapturePermission: "RequestedVideoCapturePermission", RequestedBackForwardCacheBlockedSensors: "RequestedBackForwardCacheBlockedSensors", RequestedBackgroundWorkPermission: "RequestedBackgroundWorkPermission", BroadcastChannel: "BroadcastChannel", IndexedDBConnection: "IndexedDBConnection", WebXR: "WebXR", SharedWorker: "SharedWorker", WebLocks: "WebLocks", WebHID: "WebHID", WebShare: "WebShare", RequestedStorageAccessGrant: "RequestedStorageAccessGrant", WebNfc: "WebNfc", OutstandingNetworkRequestFetch: "OutstandingNetworkRequestFetch", OutstandingNetworkRequestXHR: "OutstandingNetworkRequestXHR", AppBanner: "AppBanner", Printing: "Printing", WebDatabase: "WebDatabase", PictureInPicture: "PictureInPicture", Portal: "Portal", SpeechRecognizer: "SpeechRecognizer", IdleManager: "IdleManager", PaymentManager: "PaymentManager", SpeechSynthesis: "SpeechSynthesis", KeyboardLock: "KeyboardLock", WebOTPService: "WebOTPService", OutstandingNetworkRequestDirectSocket: "OutstandingNetworkRequestDirectSocket", InjectedJavascript: "InjectedJavascript", InjectedStyleSheet: "InjectedStyleSheet", Dummy: "Dummy", ContentSecurityHandler: "ContentSecurityHandler", ContentWebAuthenticationAPI: "ContentWebAuthenticationAPI", ContentFileChooser: "ContentFileChooser", ContentSerial: "ContentSerial", ContentFileSystemAccess: "ContentFileSystemAccess", ContentMediaDevicesDispatcherHost: "ContentMediaDevicesDispatcherHost", ContentWebBluetooth: "ContentWebBluetooth", ContentWebUSB: "ContentWebUSB", ContentMediaSessionService: "ContentMediaSessionService", ContentScreenReader: "ContentScreenReader", EmbedderPopupBlockerTabHelper: "EmbedderPopupBlockerTabHelper", EmbedderSafeBrowsingTriggeredPopupBlocker: "EmbedderSafeBrowsingTriggeredPopupBlocker", EmbedderSafeBrowsingThreatDetails: "EmbedderSafeBrowsingThreatDetails", EmbedderAppBannerManager: "EmbedderAppBannerManager", EmbedderDomDistillerViewerSource: "EmbedderDomDistillerViewerSource", EmbedderDomDistillerSelfDeletingRequestDelegate: "EmbedderDomDistillerSelfDeletingRequestDelegate", EmbedderOomInterventionTabHelper: "EmbedderOomInterventionTabHelper", EmbedderOfflinePage: "EmbedderOfflinePage", EmbedderChromePasswordManagerClientBindCredentialManager: "EmbedderChromePasswordManagerClientBindCredentialManager", EmbedderPermissionRequestManager: "EmbedderPermissionRequestManager", EmbedderModalDialog: "EmbedderModalDialog", EmbedderExtensions: "EmbedderExtensions", EmbedderExtensionMessaging: "EmbedderExtensionMessaging", EmbedderExtensionMessagingForOpenPort: "EmbedderExtensionMessagingForOpenPort", EmbedderExtensionSentMessageToCachedFrame: "EmbedderExtensionSentMessageToCachedFrame"});
569
569
  inspectorBackend.registerEnum("Page.BackForwardCacheNotRestoredReasonType", {SupportPending: "SupportPending", PageSupportNeeded: "PageSupportNeeded", Circumstantial: "Circumstantial"});
570
- inspectorBackend.registerEnum("Page.PrerenderFinalStatus", {Activated: "Activated", Destroyed: "Destroyed", LowEndDevice: "LowEndDevice", CrossOriginRedirect: "CrossOriginRedirect", CrossOriginNavigation: "CrossOriginNavigation", InvalidSchemeRedirect: "InvalidSchemeRedirect", InvalidSchemeNavigation: "InvalidSchemeNavigation", InProgressNavigation: "InProgressNavigation", NavigationRequestBlockedByCsp: "NavigationRequestBlockedByCsp", MainFrameNavigation: "MainFrameNavigation", MojoBinderPolicy: "MojoBinderPolicy", RendererProcessCrashed: "RendererProcessCrashed", RendererProcessKilled: "RendererProcessKilled", Download: "Download", TriggerDestroyed: "TriggerDestroyed", NavigationNotCommitted: "NavigationNotCommitted", NavigationBadHttpStatus: "NavigationBadHttpStatus", ClientCertRequested: "ClientCertRequested", NavigationRequestNetworkError: "NavigationRequestNetworkError", MaxNumOfRunningPrerendersExceeded: "MaxNumOfRunningPrerendersExceeded", CancelAllHostsForTesting: "CancelAllHostsForTesting", DidFailLoad: "DidFailLoad", Stop: "Stop", SslCertificateError: "SslCertificateError", LoginAuthRequested: "LoginAuthRequested", UaChangeRequiresReload: "UaChangeRequiresReload", BlockedByClient: "BlockedByClient", AudioOutputDeviceRequested: "AudioOutputDeviceRequested", MixedContent: "MixedContent", TriggerBackgrounded: "TriggerBackgrounded", EmbedderTriggeredAndSameOriginRedirected: "EmbedderTriggeredAndSameOriginRedirected", EmbedderTriggeredAndCrossOriginRedirected: "EmbedderTriggeredAndCrossOriginRedirected", EmbedderTriggeredAndDestroyed: "EmbedderTriggeredAndDestroyed"});
570
+ inspectorBackend.registerEnum("Page.PrerenderFinalStatus", {Activated: "Activated", Destroyed: "Destroyed", LowEndDevice: "LowEndDevice", CrossOriginRedirect: "CrossOriginRedirect", CrossOriginNavigation: "CrossOriginNavigation", InvalidSchemeRedirect: "InvalidSchemeRedirect", InvalidSchemeNavigation: "InvalidSchemeNavigation", InProgressNavigation: "InProgressNavigation", NavigationRequestBlockedByCsp: "NavigationRequestBlockedByCsp", MainFrameNavigation: "MainFrameNavigation", MojoBinderPolicy: "MojoBinderPolicy", RendererProcessCrashed: "RendererProcessCrashed", RendererProcessKilled: "RendererProcessKilled", Download: "Download", TriggerDestroyed: "TriggerDestroyed", NavigationNotCommitted: "NavigationNotCommitted", NavigationBadHttpStatus: "NavigationBadHttpStatus", ClientCertRequested: "ClientCertRequested", NavigationRequestNetworkError: "NavigationRequestNetworkError", MaxNumOfRunningPrerendersExceeded: "MaxNumOfRunningPrerendersExceeded", CancelAllHostsForTesting: "CancelAllHostsForTesting", DidFailLoad: "DidFailLoad", Stop: "Stop", SslCertificateError: "SslCertificateError", LoginAuthRequested: "LoginAuthRequested", UaChangeRequiresReload: "UaChangeRequiresReload", BlockedByClient: "BlockedByClient", AudioOutputDeviceRequested: "AudioOutputDeviceRequested", MixedContent: "MixedContent", TriggerBackgrounded: "TriggerBackgrounded", EmbedderTriggeredAndSameOriginRedirected: "EmbedderTriggeredAndSameOriginRedirected", EmbedderTriggeredAndCrossOriginRedirected: "EmbedderTriggeredAndCrossOriginRedirected", EmbedderTriggeredAndDestroyed: "EmbedderTriggeredAndDestroyed", MemoryLimitExceeded: "MemoryLimitExceeded", FailToGetMemoryUsage: "FailToGetMemoryUsage"});
571
571
  inspectorBackend.registerEvent("Page.domContentEventFired", ["timestamp"]);
572
572
  inspectorBackend.registerEnum("Page.FileChooserOpenedEventMode", {SelectSingle: "selectSingle", SelectMultiple: "selectMultiple"});
573
573
  inspectorBackend.registerEvent("Page.fileChooserOpened", ["frameId", "mode", "backendNodeId"]);
@@ -722,6 +722,7 @@ inspectorBackend.registerEvent("Storage.indexedDBListUpdated", ["origin"]);
722
722
  inspectorBackend.registerEvent("Storage.interestGroupAccessed", ["accessTime", "type", "ownerOrigin", "name"]);
723
723
  inspectorBackend.registerCommand("Storage.getStorageKeyForFrame", [{"name": "frameId", "type": "string", "optional": false}], ["storageKey"]);
724
724
  inspectorBackend.registerCommand("Storage.clearDataForOrigin", [{"name": "origin", "type": "string", "optional": false}, {"name": "storageTypes", "type": "string", "optional": false}], []);
725
+ inspectorBackend.registerCommand("Storage.clearDataForStorageKey", [{"name": "storageKey", "type": "string", "optional": false}, {"name": "storageTypes", "type": "string", "optional": false}], []);
725
726
  inspectorBackend.registerCommand("Storage.getCookies", [{"name": "browserContextId", "type": "string", "optional": true}], ["cookies"]);
726
727
  inspectorBackend.registerCommand("Storage.setCookies", [{"name": "cookies", "type": "object", "optional": false}, {"name": "browserContextId", "type": "string", "optional": true}], []);
727
728
  inspectorBackend.registerCommand("Storage.clearCookies", [{"name": "browserContextId", "type": "string", "optional": true}], []);
@@ -1914,6 +1914,12 @@ export const generatedProperties = [
1914
1914
  ],
1915
1915
  "name": "height"
1916
1916
  },
1917
+ {
1918
+ "name": "hover-pop-up-delay"
1919
+ },
1920
+ {
1921
+ "name": "hover-pop-up-hide-delay"
1922
+ },
1917
1923
  {
1918
1924
  "inherited": true,
1919
1925
  "keywords": [
@@ -3416,6 +3416,13 @@ export namespace ProtocolMapping {
3416
3416
  paramsType: [Protocol.Storage.ClearDataForOriginRequest];
3417
3417
  returnType: void;
3418
3418
  };
3419
+ /**
3420
+ * Clears storage for storage key.
3421
+ */
3422
+ 'Storage.clearDataForStorageKey': {
3423
+ paramsType: [Protocol.Storage.ClearDataForStorageKeyRequest];
3424
+ returnType: void;
3425
+ };
3419
3426
  /**
3420
3427
  * Returns all browser cookies.
3421
3428
  */
@@ -2877,6 +2877,11 @@ declare namespace ProtocolProxyApi {
2877
2877
  */
2878
2878
  invoke_clearDataForOrigin(params: Protocol.Storage.ClearDataForOriginRequest): Promise<Protocol.ProtocolResponseWithError>;
2879
2879
 
2880
+ /**
2881
+ * Clears storage for storage key.
2882
+ */
2883
+ invoke_clearDataForStorageKey(params: Protocol.Storage.ClearDataForStorageKeyRequest): Promise<Protocol.ProtocolResponseWithError>;
2884
+
2880
2885
  /**
2881
2886
  * Returns all browser cookies.
2882
2887
  */
@@ -965,7 +965,10 @@ export namespace Audits {
965
965
  PermissionPolicyDisabled = 'PermissionPolicyDisabled',
966
966
  AttributionSourceUntrustworthyOrigin = 'AttributionSourceUntrustworthyOrigin',
967
967
  AttributionUntrustworthyOrigin = 'AttributionUntrustworthyOrigin',
968
+ UntrustworthyReportingOrigin = 'UntrustworthyReportingOrigin',
969
+ InsecureContext = 'InsecureContext',
968
970
  InvalidHeader = 'InvalidHeader',
971
+ InvalidRegisterTriggerHeader = 'InvalidRegisterTriggerHeader',
969
972
  }
970
973
 
971
974
  /**
@@ -974,6 +977,9 @@ export namespace Audits {
974
977
  */
975
978
  export interface AttributionReportingIssueDetails {
976
979
  violationType: AttributionReportingIssueType;
980
+ /**
981
+ * TODO(apaseltiner): Remove this once it is no longer referenced by the frontend.
982
+ */
977
983
  frame?: AffectedFrame;
978
984
  request?: AffectedRequest;
979
985
  violatingNodeId?: DOM.BackendNodeId;
@@ -1041,11 +1047,14 @@ export namespace Audits {
1041
1047
  LocalCSSFileExtensionRejected = 'LocalCSSFileExtensionRejected',
1042
1048
  MediaSourceAbortRemove = 'MediaSourceAbortRemove',
1043
1049
  MediaSourceDurationTruncatingBuffered = 'MediaSourceDurationTruncatingBuffered',
1050
+ NavigateEventRestoreScroll = 'NavigateEventRestoreScroll',
1051
+ NavigateEventTransitionWhile = 'NavigateEventTransitionWhile',
1044
1052
  NoSysexWebMIDIWithoutPermission = 'NoSysexWebMIDIWithoutPermission',
1045
1053
  NotificationInsecureOrigin = 'NotificationInsecureOrigin',
1046
1054
  NotificationPermissionRequestedIframe = 'NotificationPermissionRequestedIframe',
1047
1055
  ObsoleteWebRtcCipherSuite = 'ObsoleteWebRtcCipherSuite',
1048
1056
  OpenWebDatabaseInsecureContext = 'OpenWebDatabaseInsecureContext',
1057
+ OverflowVisibleOnReplacedElement = 'OverflowVisibleOnReplacedElement',
1049
1058
  PictureSourceSrc = 'PictureSourceSrc',
1050
1059
  PrefixedCancelAnimationFrame = 'PrefixedCancelAnimationFrame',
1051
1060
  PrefixedRequestAnimationFrame = 'PrefixedRequestAnimationFrame',
@@ -5855,9 +5864,14 @@ export namespace IndexedDB {
5855
5864
 
5856
5865
  export interface ClearObjectStoreRequest {
5857
5866
  /**
5867
+ * At least and at most one of securityOrigin, storageKey must be specified.
5858
5868
  * Security origin.
5859
5869
  */
5860
- securityOrigin: string;
5870
+ securityOrigin?: string;
5871
+ /**
5872
+ * Storage key.
5873
+ */
5874
+ storageKey?: string;
5861
5875
  /**
5862
5876
  * Database name.
5863
5877
  */
@@ -5870,9 +5884,14 @@ export namespace IndexedDB {
5870
5884
 
5871
5885
  export interface DeleteDatabaseRequest {
5872
5886
  /**
5887
+ * At least and at most one of securityOrigin, storageKey must be specified.
5873
5888
  * Security origin.
5874
5889
  */
5875
- securityOrigin: string;
5890
+ securityOrigin?: string;
5891
+ /**
5892
+ * Storage key.
5893
+ */
5894
+ storageKey?: string;
5876
5895
  /**
5877
5896
  * Database name.
5878
5897
  */
@@ -11107,6 +11126,8 @@ export namespace Page {
11107
11126
  EmbedderTriggeredAndSameOriginRedirected = 'EmbedderTriggeredAndSameOriginRedirected',
11108
11127
  EmbedderTriggeredAndCrossOriginRedirected = 'EmbedderTriggeredAndCrossOriginRedirected',
11109
11128
  EmbedderTriggeredAndDestroyed = 'EmbedderTriggeredAndDestroyed',
11129
+ MemoryLimitExceeded = 'MemoryLimitExceeded',
11130
+ FailToGetMemoryUsage = 'FailToGetMemoryUsage',
11110
11131
  }
11111
11132
 
11112
11133
  export interface AddScriptToEvaluateOnLoadRequest {
@@ -12895,6 +12916,17 @@ export namespace Storage {
12895
12916
  storageTypes: string;
12896
12917
  }
12897
12918
 
12919
+ export interface ClearDataForStorageKeyRequest {
12920
+ /**
12921
+ * Storage key.
12922
+ */
12923
+ storageKey: string;
12924
+ /**
12925
+ * Comma separated list of StorageType to clear.
12926
+ */
12927
+ storageTypes: string;
12928
+ }
12929
+
12898
12930
  export interface GetCookiesRequest {
12899
12931
  /**
12900
12932
  * Browser context to use when called on the browser endpoint.
@@ -15140,8 +15172,8 @@ export namespace Debugger {
15140
15172
  */
15141
15173
  totalNumberOfLines: integer;
15142
15174
  /**
15143
- * The offsets of all function bodies plus one additional entry pointing
15144
- * one by past the end of the last function.
15175
+ * The offsets of all function bodies, in the format [start1, end1,
15176
+ * start2, end2, ...] where all ends are exclusive.
15145
15177
  */
15146
15178
  functionBodyOffsets: integer[];
15147
15179
  /**
@@ -14,7 +14,10 @@ export const enum IssueCode {
14
14
  AttributionSourceUntrustworthyOrigin = 'AttributionReportingIssue::AttributionSourceUntrustworthyOrigin',
15
15
  AttributionUntrustworthyFrameOrigin = 'AttributionReportingIssue::AttributionUntrustworthyFrameOrigin',
16
16
  AttributionUntrustworthyOrigin = 'AttributionReportingIssue::AttributionUntrustworthyOrigin',
17
+ UntrustworthyReportingOrigin = 'AttributionReportingIssue::UntrustworthyReportingOrigin',
18
+ InsecureContext = 'AttributionReportingIssue::InsecureContext',
17
19
  InvalidHeader = 'AttributionReportingIssue::InvalidHeader',
20
+ InvalidRegisterTriggerHeader = 'AttributionReportingIssue::InvalidRegisterTriggerHeader',
18
21
  }
19
22
 
20
23
  function getIssueCode(details: Protocol.Audits.AttributionReportingIssueDetails): IssueCode {
@@ -27,8 +30,14 @@ function getIssueCode(details: Protocol.Audits.AttributionReportingIssueDetails)
27
30
  case Protocol.Audits.AttributionReportingIssueType.AttributionUntrustworthyOrigin:
28
31
  return details.frame !== undefined ? IssueCode.AttributionUntrustworthyFrameOrigin :
29
32
  IssueCode.AttributionUntrustworthyOrigin;
33
+ case Protocol.Audits.AttributionReportingIssueType.UntrustworthyReportingOrigin:
34
+ return IssueCode.UntrustworthyReportingOrigin;
35
+ case Protocol.Audits.AttributionReportingIssueType.InsecureContext:
36
+ return IssueCode.InsecureContext;
30
37
  case Protocol.Audits.AttributionReportingIssueType.InvalidHeader:
31
38
  return IssueCode.InvalidHeader;
39
+ case Protocol.Audits.AttributionReportingIssueType.InvalidRegisterTriggerHeader:
40
+ return IssueCode.InvalidRegisterTriggerHeader;
32
41
  }
33
42
  }
34
43
 
@@ -83,11 +92,17 @@ export class AttributionReportingIssue extends Issue<IssueCode> {
83
92
  file: 'arAttributionUntrustworthyOrigin.md',
84
93
  links: [],
85
94
  };
95
+ case IssueCode.UntrustworthyReportingOrigin:
96
+ return null;
97
+ case IssueCode.InsecureContext:
98
+ return null;
86
99
  case IssueCode.InvalidHeader:
87
100
  return {
88
101
  file: 'arInvalidHeader.md',
89
102
  links: [],
90
103
  };
104
+ case IssueCode.InvalidRegisterTriggerHeader:
105
+ return null;
91
106
  }
92
107
  }
93
108
 
@@ -99,6 +99,10 @@ const UIStrings = {
99
99
  * @description Warning displayed to developers when the non-standard `Event.path` API is used to notify them that this API is deprecated.
100
100
  */
101
101
  eventPath: '`Event.path` is deprecated and will be removed. Please use `Event.composedPath()` instead.',
102
+ /**
103
+ * @description This message is shown when the deprecated Expect-CT header is present.
104
+ */
105
+ expectCTHeader: 'The `Expect-CT` header is deprecated and will be removed. Chrome requires Certificate Transparency for all publicly trusted certificates issued after April 30, 2018.',
102
106
  /**
103
107
  * @description Warning displayed to developers when the Geolocation API is used from an insecure origin (one that isn't localhost or doesn't use HTTPS) to notify them that this use is no longer supported.
104
108
  */
@@ -374,6 +378,11 @@ export class DeprecationIssue extends Issue {
374
378
  feature = 5726124632965120;
375
379
  milestone = 109;
376
380
  break;
381
+ case Protocol.Audits.DeprecationIssueType.ExpectCTHeader:
382
+ messageFunction = i18nLazyString(UIStrings.expectCTHeader);
383
+ feature = 6244547273687040;
384
+ milestone = 107;
385
+ break;
377
386
  case Protocol.Audits.DeprecationIssueType.GeolocationInsecureOrigin:
378
387
  messageFunction = i18nLazyString(UIStrings.geolocationInsecureOrigin);
379
388
  break;
@@ -2239,7 +2239,8 @@ export const NativeFunctions = [
2239
2239
  },
2240
2240
  {
2241
2241
  name: 'scroll',
2242
- signatures: [['?options'],['x','y']]
2242
+ signatures: [['?options'],['x','y']],
2243
+ receivers: ['Element','Window']
2243
2244
  },
2244
2245
  {
2245
2246
  name: 'scrollBy',
@@ -6395,6 +6396,10 @@ export const NativeFunctions = [
6395
6396
  name: 'transitionWhile',
6396
6397
  signatures: [['newNavigationAction','?options']]
6397
6398
  },
6399
+ {
6400
+ name: 'intercept',
6401
+ signatures: [['?options']]
6402
+ },
6398
6403
  {
6399
6404
  name: 'NavigationCurrentEntryChangeEvent',
6400
6405
  signatures: [['type','eventInit']]
@@ -6803,7 +6808,7 @@ export const NativeFunctions = [
6803
6808
  signatures: [['data']]
6804
6809
  },
6805
6810
  {
6806
- name: 'logoutRps',
6811
+ name: 'logoutRPs',
6807
6812
  signatures: [['?logout_requests']]
6808
6813
  },
6809
6814
  {
@@ -473,7 +473,8 @@ export class StorageView extends UI.ThrottledWidget.ThrottledWidget {
473
473
  }
474
474
 
475
475
  static clearByStorageKey(target: SDK.Target.Target, storageKey: string, selectedStorageTypes: string[]): void {
476
- // TODO(crbug.com/1313434) Invoke protocol `clear` once it ready for storageKey
476
+ void target.storageAgent().invoke_clearDataForStorageKey(
477
+ {storageKey, storageTypes: selectedStorageTypes.join(',')});
477
478
 
478
479
  const set = new Set(selectedStorageTypes);
479
480
  const hasAll = set.has(Protocol.Storage.StorageType.All);
@@ -144,6 +144,16 @@ const UIStrings = {
144
144
  */
145
145
  EmbedderTriggeredAndDestroyed:
146
146
  'Prerendering triggered by Chrome internal (e.g., Omnibox prerendering) is is destroyed in the destructor.',
147
+
148
+ /**
149
+ *@description Description text for Prerender2 cancellation status MemoryLimitExceeded.
150
+ */
151
+ MemoryLimitExceeded: 'Memory limit exceeded',
152
+
153
+ /**
154
+ *@description Description text for Prerender2 cancellation status FailToGetMemoryUsage.
155
+ */
156
+ FailToGetMemoryUsage: 'Fail to get memory usage',
147
157
  };
148
158
 
149
159
  const str_ = i18n.i18n.registerUIStrings('panels/application/components/Prerender2.ts', UIStrings);
@@ -185,4 +195,6 @@ export const Prerender2ReasonDescription = {
185
195
  'EmbedderTriggeredAndCrossOriginRedirected':
186
196
  {name: i18nLazyString(UIStrings.EmbedderTriggeredAndCrossOriginRedirected)},
187
197
  'EmbedderTriggeredAndDestroyed': {name: i18nLazyString(UIStrings.EmbedderTriggeredAndDestroyed)},
198
+ 'MemoryLimitExceeded': {name: i18nLazyString(UIStrings.MemoryLimitExceeded)},
199
+ 'FailToGetMemoryUsage': {name: i18nLazyString(UIStrings.FailToGetMemoryUsage)},
188
200
  };
@@ -546,7 +546,3 @@
546
546
  --override-error-text-color: HighlightText;
547
547
  }
548
548
  }
549
-
550
- [slot="insertion-point-sidebar"] {
551
- contain: layout style;
552
- }
@@ -716,7 +716,8 @@ export class StylePropertyTreeElement extends UI.TreeOutline.TreeElement {
716
716
  }
717
717
 
718
718
  const authoringHint = this.getAuthoringHint(this.computedStyles, this.parentsComputedStyles);
719
- if (authoringHint !== null) {
719
+ const showAuthoringHint = authoringHint !== null && this.property.parsedOk;
720
+ if (showAuthoringHint) {
720
721
  const hintIcon = UI.Icon.Icon.create('mediumicon-info', 'hint');
721
722
  const hintPopover =
722
723
  new UI.PopoverHelper.PopoverHelper(hintIcon, event => this.handleHintPopoverRequest(authoringHint, event));
@@ -168,3 +168,10 @@ div.raw-headers-row {
168
168
  .inline-icon {
169
169
  vertical-align: middle;
170
170
  }
171
+
172
+ .header-value code {
173
+ display: block;
174
+ white-space: pre-wrap;
175
+ font-size: 90%;
176
+ color: var(--color-text-secondary);
177
+ }
@@ -10,6 +10,7 @@ import {assertNotNullOrUndefined} from '../../../core/platform/platform.js';
10
10
  import * as SDK from '../../../core/sdk/sdk.js';
11
11
  import * as Protocol from '../../../generated/protocol.js';
12
12
  import * as IssuesManager from '../../../models/issues_manager/issues_manager.js';
13
+ import * as ClientVariations from '../../../third_party/chromium/client-variations/client-variations.js';
13
14
  import * as Buttons from '../../../ui/components/buttons/buttons.js';
14
15
  import * as ComponentHelpers from '../../../ui/components/helpers/helpers.js';
15
16
  import * as IconButton from '../../../ui/components/icon_button/icon_button.js';
@@ -23,12 +24,24 @@ const RAW_HEADER_CUTOFF = 3000;
23
24
  const {render, html} = LitHtml;
24
25
 
25
26
  const UIStrings = {
27
+ /**
28
+ *@description Comment used in decoded X-Client-Data HTTP header output in Headers View of the Network panel
29
+ */
30
+ activeClientExperimentVariation: 'Active `client experiment variation IDs`.',
31
+ /**
32
+ *@description Comment used in decoded X-Client-Data HTTP header output in Headers View of the Network panel
33
+ */
34
+ activeClientExperimentVariationIds: 'Active `client experiment variation IDs` that trigger server-side behavior.',
26
35
  /**
27
36
  *@description Text in Headers View of the Network panel
28
37
  */
29
38
  chooseThisOptionIfTheResourceAnd:
30
39
  'Choose this option if the resource and the document are served from the same site.',
31
40
  /**
41
+ *@description Text in Headers View of the Network panel for X-Client-Data HTTP headers
42
+ */
43
+ decoded: 'Decoded:',
44
+ /**
32
45
  *@description Text in Request Headers View of the Network panel
33
46
  */
34
47
  fromDiskCache: '(from disk cache)',
@@ -247,6 +260,18 @@ export class RequestHeadersComponent extends HTMLElement {
247
260
 
248
261
  const mergedHeaders = mergeHeadersWithIssues(this.#request.sortedResponseHeaders.slice(), headersWithIssues);
249
262
 
263
+ const blockedResponseCookies = this.#request.blockedResponseCookies();
264
+ const blockedCookieLineToReasons = new Map<string, Protocol.Network.SetCookieBlockedReason[]>(
265
+ blockedResponseCookies?.map(c => [c.cookieLine, c.blockedReasons]));
266
+ for (const header of mergedHeaders) {
267
+ if (header.name.toLowerCase() === 'set-cookie' && header.value) {
268
+ const matchingBlockedReasons = blockedCookieLineToReasons.get(header.value.toString());
269
+ if (matchingBlockedReasons) {
270
+ header.setCookieBlockedReasons = matchingBlockedReasons;
271
+ }
272
+ }
273
+ }
274
+
250
275
  const toggleShowRaw = (): void => {
251
276
  this.#showResponseHeadersText = !this.#showResponseHeadersText;
252
277
  this.#render();
@@ -271,6 +296,7 @@ export class RequestHeadersComponent extends HTMLElement {
271
296
  `}
272
297
  </${Category.litTagName}>
273
298
  `;
299
+ // clang-format on
274
300
  }
275
301
 
276
302
  #renderRequestHeaders(): LitHtml.TemplateResult {
@@ -307,6 +333,7 @@ export class RequestHeadersComponent extends HTMLElement {
307
333
  `}
308
334
  </${Category.litTagName}>
309
335
  `;
336
+ // clang-format on
310
337
  }
311
338
 
312
339
  #maybeRenderProvisionalHeadersWarning(): LitHtml.LitTemplate {
@@ -341,24 +368,71 @@ export class RequestHeadersComponent extends HTMLElement {
341
368
  }
342
369
 
343
370
  #renderHeader(header: HeaderDescriptor): LitHtml.TemplateResult {
371
+ // Disabled until https://crbug.com/1079231 is fixed.
372
+ // clang-format off
344
373
  return html`
345
374
  <div class="row">
346
- <div class="header-name">${header.headerNotSet ? html`<div class="header-badge header-badge-text">not-set</div>` : ''}${header.name}:</div>
347
- <div class="header-value ${header.headerValueIncorrect ? 'header-warning' : ''}">${header.value?.toString()||''}</div>
375
+ <div class="header-name">
376
+ ${header.headerNotSet ? html`
377
+ <div class="header-badge header-badge-text">
378
+ ${i18n.i18n.lockedString('not-set')}
379
+ </div>
380
+ ` : ''}${header.name}:
381
+ </div>
382
+ <div class="header-value ${header.headerValueIncorrect ? 'header-warning' : ''}">
383
+ ${header.value?.toString() || ''}
384
+ ${this.#maybeRenderHeaderValueSuffix(header)}
385
+ </div>
348
386
  </div>
349
- ${this.#maybeRenderHeaderDetails(header.details)}
387
+ ${this.#maybeRenderBlockedDetails(header.blockedDetails)}
350
388
  `;
389
+ // clang-format on
390
+ }
391
+
392
+ #maybeRenderHeaderValueSuffix(header: HeaderDescriptor): LitHtml.LitTemplate {
393
+ const headerId = header.name.toLowerCase();
394
+
395
+ if (headerId === 'set-cookie' && header.setCookieBlockedReasons) {
396
+ const titleText =
397
+ header.setCookieBlockedReasons.map(SDK.NetworkRequest.setCookieBlockedReasonToUiString).join('\n');
398
+ // Disabled until https://crbug.com/1079231 is fixed.
399
+ // clang-format off
400
+ return html`
401
+ <${IconButton.Icon.Icon.litTagName} class="inline-icon" title=${titleText} .data=${{
402
+ iconName: 'warning_icon',
403
+ width: '12px',
404
+ height: '12px',
405
+ } as IconButton.Icon.IconData}>
406
+ </${IconButton.Icon.Icon.litTagName}>
407
+ `;
408
+ // clang-format on
409
+ }
410
+
411
+ if (headerId === 'x-client-data') {
412
+ const data = ClientVariations.parseClientVariations(header.value?.toString() || '');
413
+ const output = ClientVariations.formatClientVariations(
414
+ data, i18nString(UIStrings.activeClientExperimentVariation),
415
+ i18nString(UIStrings.activeClientExperimentVariationIds));
416
+ return html`
417
+ <div>${i18nString(UIStrings.decoded)}</div>
418
+ <code>${output}</code>
419
+ `;
420
+ }
421
+
422
+ return LitHtml.nothing;
351
423
  }
352
424
 
353
- #maybeRenderHeaderDetails(headerDetails?: HeaderDetailsDescriptor): LitHtml.LitTemplate {
354
- if (!headerDetails) {
425
+ #maybeRenderBlockedDetails(blockedDetails?: BlockedDetailsDescriptor): LitHtml.LitTemplate {
426
+ if (!blockedDetails) {
355
427
  return LitHtml.nothing;
356
428
  }
429
+ // Disabled until https://crbug.com/1079231 is fixed.
430
+ // clang-format off
357
431
  return html`
358
432
  <div class="call-to-action">
359
433
  <div class="call-to-action-body">
360
- <div class="explanation">${headerDetails.explanation()}</div>
361
- ${headerDetails.examples.map(example => html`
434
+ <div class="explanation">${blockedDetails.explanation()}</div>
435
+ ${blockedDetails.examples.map(example => html`
362
436
  <div class="example">
363
437
  <code>${example.codeSnippet}</code>
364
438
  ${example.comment ? html`
@@ -366,13 +440,14 @@ export class RequestHeadersComponent extends HTMLElement {
366
440
  ` : ''}
367
441
  </div>
368
442
  `)}
369
- ${this.#maybeRenderHeaderDetailsLink(headerDetails)}
443
+ ${this.#maybeRenderBlockedDetailsLink(blockedDetails)}
370
444
  </div>
371
445
  </div>
372
446
  `;
447
+ // clang-format on
373
448
  }
374
449
 
375
- #maybeRenderHeaderDetailsLink(headerDetails?: HeaderDetailsDescriptor): LitHtml.LitTemplate {
450
+ #maybeRenderBlockedDetailsLink(blockedDetails?: BlockedDetailsDescriptor): LitHtml.LitTemplate {
376
451
  if (this.#request && IssuesManager.RelatedIssue.hasIssueOfCategory(this.#request, IssuesManager.Issue.IssueCategory.CrossOriginEmbedderPolicy)) {
377
452
  const followLink = (): void => {
378
453
  Host.userMetrics.issuesPanelOpenedFrom(Host.UserMetrics.IssueOpener.LearnMoreLinkCOEP);
@@ -394,9 +469,11 @@ export class RequestHeadersComponent extends HTMLElement {
394
469
  </div>
395
470
  `;
396
471
  }
397
- if (headerDetails?.link) {
472
+ if (blockedDetails?.link) {
473
+ // Disabled until https://crbug.com/1079231 is fixed.
474
+ // clang-format off
398
475
  return html`
399
- <x-link href=${headerDetails.link.url} class="link">
476
+ <x-link href=${blockedDetails.link.url} class="link">
400
477
  <${IconButton.Icon.Icon.litTagName} class="inline-icon" .data=${{
401
478
  iconName: 'link_icon',
402
479
  color: 'var(--color-link)',
@@ -407,6 +484,7 @@ export class RequestHeadersComponent extends HTMLElement {
407
484
  >${i18nString(UIStrings.learnMore)}
408
485
  </x-link>
409
486
  `;
487
+ // clang-format on
410
488
  }
411
489
  return LitHtml.nothing;
412
490
  }
@@ -627,7 +705,7 @@ declare global {
627
705
  }
628
706
  }
629
707
 
630
- interface HeaderDetailsDescriptor {
708
+ interface BlockedDetailsDescriptor {
631
709
  explanation: () => string;
632
710
  examples: Array<{
633
711
  codeSnippet: string,
@@ -642,8 +720,9 @@ interface HeaderDescriptor {
642
720
  name: string;
643
721
  value: Object|null;
644
722
  headerValueIncorrect?: boolean|null;
645
- details?: HeaderDetailsDescriptor;
723
+ blockedDetails?: BlockedDetailsDescriptor;
646
724
  headerNotSet: boolean|null;
725
+ setCookieBlockedReasons?: Protocol.Network.SetCookieBlockedReason[];
647
726
  }
648
727
 
649
728
  const BlockedReasonDetails = new Map<Protocol.Network.BlockedReason, HeaderDescriptor>([
@@ -653,7 +732,7 @@ const BlockedReasonDetails = new Map<Protocol.Network.BlockedReason, HeaderDescr
653
732
  name: 'cross-origin-embedder-policy',
654
733
  value: null,
655
734
  headerValueIncorrect: null,
656
- details: {
735
+ blockedDetails: {
657
736
  explanation: i18nLazyString(UIStrings.toEmbedThisFrameInYourDocument),
658
737
  examples: [{codeSnippet: 'Cross-Origin-Embedder-Policy: require-corp', comment: undefined}],
659
738
  link: {url: 'https://web.dev/coop-coep/'},
@@ -667,7 +746,7 @@ const BlockedReasonDetails = new Map<Protocol.Network.BlockedReason, HeaderDescr
667
746
  name: 'cross-origin-resource-policy',
668
747
  value: null,
669
748
  headerValueIncorrect: null,
670
- details: {
749
+ blockedDetails: {
671
750
  explanation: i18nLazyString(UIStrings.toUseThisResourceFromADifferent),
672
751
  examples: [
673
752
  {
@@ -690,7 +769,7 @@ const BlockedReasonDetails = new Map<Protocol.Network.BlockedReason, HeaderDescr
690
769
  name: 'cross-origin-opener-policy',
691
770
  value: null,
692
771
  headerValueIncorrect: false,
693
- details: {
772
+ blockedDetails: {
694
773
  explanation: i18nLazyString(UIStrings.thisDocumentWasBlockedFrom),
695
774
  examples: [],
696
775
  link: {url: 'https://web.dev/coop-coep/'},
@@ -704,7 +783,7 @@ const BlockedReasonDetails = new Map<Protocol.Network.BlockedReason, HeaderDescr
704
783
  name: 'cross-origin-resource-policy',
705
784
  value: null,
706
785
  headerValueIncorrect: true,
707
- details: {
786
+ blockedDetails: {
708
787
  explanation: i18nLazyString(UIStrings.toUseThisResourceFromADifferentSite),
709
788
  examples: [
710
789
  {
@@ -723,7 +802,7 @@ const BlockedReasonDetails = new Map<Protocol.Network.BlockedReason, HeaderDescr
723
802
  name: 'cross-origin-resource-policy',
724
803
  value: null,
725
804
  headerValueIncorrect: true,
726
- details: {
805
+ blockedDetails: {
727
806
  explanation: i18nLazyString(UIStrings.toUseThisResourceFromADifferentOrigin),
728
807
  examples: [
729
808
  {
@@ -111,6 +111,7 @@ type SerializableSettings = {
111
111
  export class LinearMemoryInspectorController extends SDK.TargetManager.SDKModelObserver<SDK.RuntimeModel.RuntimeModel> {
112
112
  #paneInstance = LinearMemoryInspectorPaneImpl.instance();
113
113
  #bufferIdToRemoteObject: Map<string, SDK.RemoteObject.RemoteObject> = new Map();
114
+ #bufferIdToHighlightInfo: Map<string, HighlightInfo> = new Map();
114
115
  #settings: Common.Settings.Setting<SerializableSettings>;
115
116
 
116
117
  private constructor() {
@@ -178,6 +179,18 @@ export class LinearMemoryInspectorController extends SDK.TargetManager.SDKModelO
178
179
  };
179
180
  }
180
181
 
182
+ getHighlightInfo(bufferId: string): HighlightInfo|undefined {
183
+ return this.#bufferIdToHighlightInfo.get(bufferId);
184
+ }
185
+
186
+ #setHighlightInfo(bufferId: string, highlightInfo: HighlightInfo): void {
187
+ this.#bufferIdToHighlightInfo.set(bufferId, highlightInfo);
188
+ }
189
+
190
+ #resetHighlightInfo(bufferId: string): void {
191
+ this.#bufferIdToHighlightInfo.delete(bufferId);
192
+ }
193
+
181
194
  static async retrieveDWARFMemoryObjectAndAddress(obj: SDK.RemoteObject.RemoteObject):
182
195
  Promise<{obj: SDK.RemoteObject.RemoteObject, address: number}|undefined> {
183
196
  if (obj instanceof Bindings.DebuggerLanguagePlugins.ExtensionRemoteObject) {
@@ -253,8 +266,6 @@ export class LinearMemoryInspectorController extends SDK.TargetManager.SDKModelO
253
266
  memoryObj = response.obj;
254
267
  }
255
268
 
256
- const highlightInfo = this.#extractHighlightInfo(obj, memoryAddress);
257
-
258
269
  if (memoryAddress !== undefined) {
259
270
  Host.userMetrics.linearMemoryInspectorTarget(
260
271
  Host.UserMetrics.LinearMemoryInspectorTarget.DWARFInspectableAddress);
@@ -277,9 +288,14 @@ export class LinearMemoryInspectorController extends SDK.TargetManager.SDKModelO
277
288
  }
278
289
  const memoryProperty = internalProperties?.find(({name}) => name === '[[WebAssemblyMemory]]');
279
290
  const memory = memoryProperty?.value;
280
-
291
+ const highlightInfo = LinearMemoryInspectorController.extractHighlightInfo(obj, memoryAddress);
292
+ if (highlightInfo !== undefined) {
293
+ this.#setHighlightInfo(id, highlightInfo);
294
+ } else {
295
+ this.#resetHighlightInfo(id);
296
+ }
281
297
  if (this.#bufferIdToRemoteObject.has(id)) {
282
- this.#paneInstance.reveal(id, memoryAddress, highlightInfo);
298
+ this.#paneInstance.reveal(id, memoryAddress);
283
299
  void UI.ViewManager.ViewManager.instance().showView('linear-memory-inspector');
284
300
  return;
285
301
  }
@@ -288,11 +304,11 @@ export class LinearMemoryInspectorController extends SDK.TargetManager.SDKModelO
288
304
  this.#bufferIdToRemoteObject.set(id, buffer.object());
289
305
  const arrayBufferWrapper = new RemoteArrayBufferWrapper(buffer);
290
306
 
291
- this.#paneInstance.create(id, title, arrayBufferWrapper, memoryAddress, highlightInfo);
307
+ this.#paneInstance.create(id, title, arrayBufferWrapper, memoryAddress);
292
308
  void UI.ViewManager.ViewManager.instance().showView('linear-memory-inspector');
293
309
  }
294
310
 
295
- #extractHighlightInfo(obj: SDK.RemoteObject.RemoteObject, memoryAddress?: number): HighlightInfo|undefined {
311
+ static extractHighlightInfo(obj: SDK.RemoteObject.RemoteObject, memoryAddress?: number): HighlightInfo|undefined {
296
312
  let highlightInfo;
297
313
  if (obj instanceof Bindings.DebuggerLanguagePlugins.ValueNode) {
298
314
  try {
@@ -311,6 +327,7 @@ export class LinearMemoryInspectorController extends SDK.TargetManager.SDKModelO
311
327
  for (const [bufferId, remoteObject] of this.#bufferIdToRemoteObject) {
312
328
  if (model === remoteObject.runtimeModel()) {
313
329
  this.#bufferIdToRemoteObject.delete(bufferId);
330
+ this.#resetHighlightInfo(bufferId);
314
331
  this.#paneInstance.close(bufferId);
315
332
  }
316
333
  }
@@ -320,7 +337,7 @@ export class LinearMemoryInspectorController extends SDK.TargetManager.SDKModelO
320
337
  const debuggerModel = event.data;
321
338
  for (const [bufferId, remoteObject] of this.#bufferIdToRemoteObject) {
322
339
  if (debuggerModel.runtimeModel() === remoteObject.runtimeModel()) {
323
- this.#paneInstance.resetHighlightInfo(bufferId);
340
+ this.#resetHighlightInfo(bufferId);
324
341
  this.#paneInstance.refreshView(bufferId);
325
342
  }
326
343
  }
@@ -336,5 +353,6 @@ export class LinearMemoryInspectorController extends SDK.TargetManager.SDKModelO
336
353
  remoteObj.release();
337
354
  }
338
355
  this.#bufferIdToRemoteObject.delete(bufferId);
356
+ this.#resetHighlightInfo(bufferId);
339
357
  }
340
358
  }
@@ -84,14 +84,13 @@ export class LinearMemoryInspectorPaneImpl extends Common.ObjectWrapper.eventMix
84
84
  getViewForTabId(tabId: string): LinearMemoryInspectorView {
85
85
  const view = this.#tabIdToInspectorView.get(tabId);
86
86
  if (!view) {
87
- throw new Error(`No linear memory inspector view for given tab id: ${tabId}`);
87
+ throw new Error(`No linear memory inspector view for the given tab id: ${tabId}`);
88
88
  }
89
89
  return view;
90
90
  }
91
91
 
92
- create(tabId: string, title: string, arrayWrapper: LazyUint8Array, address?: number, highlightInfo?: HighlightInfo):
93
- void {
94
- const inspectorView = new LinearMemoryInspectorView(arrayWrapper, address, highlightInfo);
92
+ create(tabId: string, title: string, arrayWrapper: LazyUint8Array, address?: number): void {
93
+ const inspectorView = new LinearMemoryInspectorView(arrayWrapper, address, tabId);
95
94
  this.#tabIdToInspectorView.set(tabId, inspectorView);
96
95
  this.#tabbedPane.appendTab(tabId, title, inspectorView, undefined, false, true);
97
96
  this.#tabbedPane.selectTab(tabId);
@@ -101,15 +100,12 @@ export class LinearMemoryInspectorPaneImpl extends Common.ObjectWrapper.eventMix
101
100
  this.#tabbedPane.closeTab(tabId, false);
102
101
  }
103
102
 
104
- reveal(tabId: string, address?: number, highlightInfo?: HighlightInfo): void {
103
+ reveal(tabId: string, address?: number): void {
105
104
  const view = this.getViewForTabId(tabId);
106
105
 
107
106
  if (address !== undefined) {
108
107
  view.updateAddress(address);
109
108
  }
110
- if (highlightInfo !== undefined) {
111
- view.updateHighlightInfo(highlightInfo);
112
- }
113
109
  this.refreshView(tabId);
114
110
  this.#tabbedPane.selectTab(tabId);
115
111
  }
@@ -119,11 +115,6 @@ export class LinearMemoryInspectorPaneImpl extends Common.ObjectWrapper.eventMix
119
115
  view.refreshData();
120
116
  }
121
117
 
122
- resetHighlightInfo(tabId: string): void {
123
- const view = this.getViewForTabId(tabId);
124
- view.updateHighlightInfo(undefined);
125
- }
126
-
127
118
  #tabClosed(event: Common.EventTarget.EventTargetEvent<UI.TabbedPane.EventData>): void {
128
119
  const {tabId} = event.data;
129
120
  this.#tabIdToInspectorView.delete(tabId);
@@ -142,10 +133,10 @@ export type EventTypes = {
142
133
  class LinearMemoryInspectorView extends UI.Widget.VBox {
143
134
  #memoryWrapper: LazyUint8Array;
144
135
  #address: number;
145
- #highlightInfo?: HighlightInfo;
136
+ #tabId: string;
146
137
  #inspector: LinearMemoryInspector;
147
138
  firstTimeOpen: boolean;
148
- constructor(memoryWrapper: LazyUint8Array, address: number|undefined = 0, highlightInfo?: HighlightInfo) {
139
+ constructor(memoryWrapper: LazyUint8Array, address: number|undefined = 0, tabId: string) {
149
140
  super(false);
150
141
 
151
142
  if (address < 0 || address >= memoryWrapper.length()) {
@@ -154,7 +145,7 @@ class LinearMemoryInspectorView extends UI.Widget.VBox {
154
145
 
155
146
  this.#memoryWrapper = memoryWrapper;
156
147
  this.#address = address;
157
- this.#highlightInfo = highlightInfo;
148
+ this.#tabId = tabId;
158
149
  this.#inspector = new LinearMemoryInspector();
159
150
  this.#inspector.addEventListener('memoryrequest', (event: MemoryRequestEvent) => {
160
151
  this.#memoryRequested(event);
@@ -186,18 +177,6 @@ class LinearMemoryInspectorView extends UI.Widget.VBox {
186
177
  this.#address = address;
187
178
  }
188
179
 
189
- updateHighlightInfo(highlightInfo?: HighlightInfo): void {
190
- if (highlightInfo !== undefined) {
191
- if (highlightInfo.startAddress < 0 || highlightInfo.startAddress >= this.#memoryWrapper.length()) {
192
- throw new Error('Highlight info start address is out of bounds.');
193
- }
194
- if (highlightInfo.size < 0) {
195
- throw new Error('Highlight size cannot be negative.');
196
- }
197
- }
198
- this.#highlightInfo = highlightInfo;
199
- }
200
-
201
180
  refreshData(): void {
202
181
  void LinearMemoryInspectorController.getMemoryForAddress(this.#memoryWrapper, this.#address).then(({
203
182
  memory,
@@ -221,7 +200,7 @@ class LinearMemoryInspectorView extends UI.Widget.VBox {
221
200
  valueTypes,
222
201
  valueTypeModes,
223
202
  endianness,
224
- highlightInfo: this.#highlightInfo,
203
+ highlightInfo: this.#getHighlightInfo(),
225
204
  };
226
205
  });
227
206
  }
@@ -238,8 +217,21 @@ class LinearMemoryInspectorView extends UI.Widget.VBox {
238
217
  address: address,
239
218
  memoryOffset: start,
240
219
  outerMemoryLength: this.#memoryWrapper.length(),
241
- highlightInfo: this.#highlightInfo,
220
+ highlightInfo: this.#getHighlightInfo(),
242
221
  };
243
222
  });
244
223
  }
224
+
225
+ #getHighlightInfo(): HighlightInfo|undefined {
226
+ const highlightInfo = LinearMemoryInspectorController.instance().getHighlightInfo(this.#tabId);
227
+ if (highlightInfo !== undefined) {
228
+ if (highlightInfo.startAddress < 0 || highlightInfo.startAddress >= this.#memoryWrapper.length()) {
229
+ throw new Error('Highlight info start address is out of bounds.');
230
+ }
231
+ if (highlightInfo.size <= 0) {
232
+ throw new Error('Highlight size must be a positive number.');
233
+ }
234
+ }
235
+ return highlightInfo;
236
+ }
245
237
  }
@@ -719,6 +719,7 @@ export class SplitWidget extends Common.ObjectWrapper.eventMixin<EventTypes, typ
719
719
  }
720
720
 
721
721
  hideDefaultResizer(noSplitter?: boolean): void {
722
+ this.resizerElementInternal.classList.toggle('hidden', Boolean(noSplitter));
722
723
  this.uninstallResizer(this.resizerElementInternal);
723
724
  this.sidebarElementInternal.classList.toggle('no-default-splitter', Boolean(noSplitter));
724
725
  }
@@ -224,7 +224,7 @@ export class ObjectPropertiesSection extends UI.TreeOutline.TreeOutlineInShadow
224
224
  }
225
225
 
226
226
  const includedWebIdlTypes = webIdlType.includes?.map(className => domPinnedProperties[className]) ?? [];
227
- const includedWebIdlProps = includedWebIdlTypes.flatMap(webIdlType => Object.entries(webIdlType.props ?? {}));
227
+ const includedWebIdlProps = includedWebIdlTypes.flatMap(webIdlType => Object.entries(webIdlType?.props ?? {}));
228
228
  const webIdlProps = {...webIdlType.props, ...Object.fromEntries(includedWebIdlProps)};
229
229
 
230
230
  for (const property of properties) {
package/package.json CHANGED
@@ -55,5 +55,5 @@
55
55
  "unittest": "scripts/test/run_unittests.py --no-text-coverage",
56
56
  "watch": "vpython third_party/node/node.py --output scripts/watch_build.js"
57
57
  },
58
- "version": "1.0.1027585"
58
+ "version": "1.0.1028626"
59
59
  }