chrome-devtools-frontend 1.0.1027602 → 1.0.1029149

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 (46) hide show
  1. package/config/gni/devtools_grd_files.gni +5 -5
  2. package/config/gni/devtools_image_files.gni +1 -0
  3. package/front_end/Images/src/clear-warning_icon.svg +99 -0
  4. package/front_end/core/common/WasmDisassembly.ts +6 -1
  5. package/front_end/core/host/ResourceLoader.ts +17 -3
  6. package/front_end/core/i18n/locales/en-US.json +21 -3
  7. package/front_end/core/i18n/locales/en-XL.json +21 -3
  8. package/front_end/core/sdk/DebuggerModel.ts +9 -10
  9. package/front_end/core/sdk/NetworkManager.ts +3 -1
  10. package/front_end/core/sdk/Script.ts +43 -18
  11. package/front_end/core/sdk/SourceMapManager.ts +5 -4
  12. package/front_end/generated/InspectorBackendCommands.js +8 -7
  13. package/front_end/generated/SupportedCSSProperties.js +6 -0
  14. package/front_end/generated/protocol-mapping.d.ts +7 -0
  15. package/front_end/generated/protocol-proxy-api.d.ts +5 -0
  16. package/front_end/generated/protocol.ts +52 -6
  17. package/front_end/models/bindings/ContentProviderBasedProject.ts +7 -1
  18. package/front_end/models/issues_manager/AttributionReportingIssue.ts +26 -36
  19. package/front_end/models/issues_manager/DeprecationIssue.ts +16 -2
  20. package/front_end/models/issues_manager/descriptions/arInsecureContext.md +7 -0
  21. package/front_end/models/issues_manager/descriptions/arInvalidRegisterSourceHeader.md +5 -0
  22. package/front_end/models/issues_manager/descriptions/arInvalidRegisterTriggerHeader.md +5 -0
  23. package/front_end/models/issues_manager/descriptions/arPermissionPolicyDisabled.md +7 -4
  24. package/front_end/models/issues_manager/descriptions/arUntrustworthyReportingOrigin.md +10 -0
  25. package/front_end/models/javascript_metadata/NativeFunctions.js +7 -2
  26. package/front_end/models/text_utils/ContentProvider.ts +9 -1
  27. package/front_end/panels/application/StorageView.ts +2 -1
  28. package/front_end/panels/application/components/Prerender2.ts +12 -0
  29. package/front_end/panels/console/consoleView.css +0 -4
  30. package/front_end/panels/elements/StylePropertyTreeElement.ts +2 -1
  31. package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +11 -42
  32. package/front_end/panels/network/components/RequestHeadersView.css +7 -0
  33. package/front_end/panels/network/components/RequestHeadersView.ts +102 -21
  34. package/front_end/panels/network/network-meta.ts +16 -0
  35. package/front_end/panels/timeline/TimelineLoader.ts +2 -1
  36. package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorController.ts +25 -7
  37. package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorPane.ts +22 -30
  38. package/front_end/ui/legacy/SplitWidget.ts +1 -0
  39. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +1 -1
  40. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +9 -51
  41. package/package.json +1 -1
  42. package/front_end/models/issues_manager/descriptions/arAttributionSourceUntrustworthyFrameOrigin.md +0 -4
  43. package/front_end/models/issues_manager/descriptions/arAttributionSourceUntrustworthyOrigin.md +0 -5
  44. package/front_end/models/issues_manager/descriptions/arAttributionUntrustworthyFrameOrigin.md +0 -4
  45. package/front_end/models/issues_manager/descriptions/arAttributionUntrustworthyOrigin.md +0 -4
  46. package/front_end/models/issues_manager/descriptions/arInvalidHeader.md +0 -3
@@ -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,15 @@ 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',
1058
+ PersistentQuotaType = 'PersistentQuotaType',
1049
1059
  PictureSourceSrc = 'PictureSourceSrc',
1050
1060
  PrefixedCancelAnimationFrame = 'PrefixedCancelAnimationFrame',
1051
1061
  PrefixedRequestAnimationFrame = 'PrefixedRequestAnimationFrame',
@@ -5855,9 +5865,14 @@ export namespace IndexedDB {
5855
5865
 
5856
5866
  export interface ClearObjectStoreRequest {
5857
5867
  /**
5868
+ * At least and at most one of securityOrigin, storageKey must be specified.
5858
5869
  * Security origin.
5859
5870
  */
5860
- securityOrigin: string;
5871
+ securityOrigin?: string;
5872
+ /**
5873
+ * Storage key.
5874
+ */
5875
+ storageKey?: string;
5861
5876
  /**
5862
5877
  * Database name.
5863
5878
  */
@@ -5870,9 +5885,14 @@ export namespace IndexedDB {
5870
5885
 
5871
5886
  export interface DeleteDatabaseRequest {
5872
5887
  /**
5888
+ * At least and at most one of securityOrigin, storageKey must be specified.
5873
5889
  * Security origin.
5874
5890
  */
5875
- securityOrigin: string;
5891
+ securityOrigin?: string;
5892
+ /**
5893
+ * Storage key.
5894
+ */
5895
+ storageKey?: string;
5876
5896
  /**
5877
5897
  * Database name.
5878
5898
  */
@@ -5880,7 +5900,15 @@ export namespace IndexedDB {
5880
5900
  }
5881
5901
 
5882
5902
  export interface DeleteObjectStoreEntriesRequest {
5883
- securityOrigin: string;
5903
+ /**
5904
+ * At least and at most one of securityOrigin, storageKey must be specified.
5905
+ * Security origin.
5906
+ */
5907
+ securityOrigin?: string;
5908
+ /**
5909
+ * Storage key.
5910
+ */
5911
+ storageKey?: string;
5884
5912
  databaseName: string;
5885
5913
  objectStoreName: string;
5886
5914
  /**
@@ -5933,9 +5961,14 @@ export namespace IndexedDB {
5933
5961
 
5934
5962
  export interface GetMetadataRequest {
5935
5963
  /**
5964
+ * At least and at most one of securityOrigin, storageKey must be specified.
5936
5965
  * Security origin.
5937
5966
  */
5938
- securityOrigin: string;
5967
+ securityOrigin?: string;
5968
+ /**
5969
+ * Storage key.
5970
+ */
5971
+ storageKey?: string;
5939
5972
  /**
5940
5973
  * Database name.
5941
5974
  */
@@ -11107,6 +11140,8 @@ export namespace Page {
11107
11140
  EmbedderTriggeredAndSameOriginRedirected = 'EmbedderTriggeredAndSameOriginRedirected',
11108
11141
  EmbedderTriggeredAndCrossOriginRedirected = 'EmbedderTriggeredAndCrossOriginRedirected',
11109
11142
  EmbedderTriggeredAndDestroyed = 'EmbedderTriggeredAndDestroyed',
11143
+ MemoryLimitExceeded = 'MemoryLimitExceeded',
11144
+ FailToGetMemoryUsage = 'FailToGetMemoryUsage',
11110
11145
  }
11111
11146
 
11112
11147
  export interface AddScriptToEvaluateOnLoadRequest {
@@ -12895,6 +12930,17 @@ export namespace Storage {
12895
12930
  storageTypes: string;
12896
12931
  }
12897
12932
 
12933
+ export interface ClearDataForStorageKeyRequest {
12934
+ /**
12935
+ * Storage key.
12936
+ */
12937
+ storageKey: string;
12938
+ /**
12939
+ * Comma separated list of StorageType to clear.
12940
+ */
12941
+ storageTypes: string;
12942
+ }
12943
+
12898
12944
  export interface GetCookiesRequest {
12899
12945
  /**
12900
12946
  * Browser context to use when called on the browser endpoint.
@@ -15140,8 +15186,8 @@ export namespace Debugger {
15140
15186
  */
15141
15187
  totalNumberOfLines: integer;
15142
15188
  /**
15143
- * The offsets of all function bodies plus one additional entry pointing
15144
- * one by past the end of the last function.
15189
+ * The offsets of all function bodies, in the format [start1, end1,
15190
+ * start2, end2, ...] where all ends are exclusive.
15145
15191
  */
15146
15192
  functionBodyOffsets: integer[];
15147
15193
  /**
@@ -68,7 +68,13 @@ export class ContentProviderBasedProject extends Workspace.Workspace.ProjectStor
68
68
  try {
69
69
  const [content, isEncoded] =
70
70
  await Promise.all([contentProvider.requestContent(), contentProvider.contentEncoded()]);
71
- return {content: content.content, isEncoded, error: 'error' in content && content.error || ''};
71
+ const wasmDisassemblyInfo = 'wasmDisassemblyInfo' in content ? content.wasmDisassemblyInfo : undefined;
72
+ return {
73
+ content: content.content,
74
+ wasmDisassemblyInfo,
75
+ isEncoded,
76
+ error: 'error' in content && content.error || '',
77
+ };
72
78
  } catch (err) {
73
79
  // TODO(rob.paveza): CRBug 1013683 - Consider propagating exceptions full-stack
74
80
  return {
@@ -10,25 +10,29 @@ import {type MarkdownIssueDescription} from './MarkdownIssueDescription.js';
10
10
 
11
11
  export const enum IssueCode {
12
12
  PermissionPolicyDisabled = 'AttributionReportingIssue::PermissionPolicyDisabled',
13
- AttributionSourceUntrustworthyFrameOrigin = 'AttributionReportingIssue::AttributionSourceUntrustworthyFrameOrigin',
14
- AttributionSourceUntrustworthyOrigin = 'AttributionReportingIssue::AttributionSourceUntrustworthyOrigin',
15
- AttributionUntrustworthyFrameOrigin = 'AttributionReportingIssue::AttributionUntrustworthyFrameOrigin',
16
- AttributionUntrustworthyOrigin = 'AttributionReportingIssue::AttributionUntrustworthyOrigin',
17
- InvalidHeader = 'AttributionReportingIssue::InvalidHeader',
13
+ UntrustworthyReportingOrigin = 'AttributionReportingIssue::UntrustworthyReportingOrigin',
14
+ InsecureContext = 'AttributionReportingIssue::InsecureContext',
15
+ InvalidRegisterSourceHeader = 'AttributionReportingIssue::InvalidRegisterSourceHeader',
16
+ InvalidRegisterTriggerHeader = 'AttributionReportingIssue::InvalidRegisterTriggerHeader',
17
+ // TODO(apaseltiner): Remove this once old issue types are removed from
18
+ // protocol.
19
+ Unknown = 'AttributionReportingIssue::Unknown',
18
20
  }
19
21
 
20
22
  function getIssueCode(details: Protocol.Audits.AttributionReportingIssueDetails): IssueCode {
21
23
  switch (details.violationType) {
22
24
  case Protocol.Audits.AttributionReportingIssueType.PermissionPolicyDisabled:
23
25
  return IssueCode.PermissionPolicyDisabled;
24
- case Protocol.Audits.AttributionReportingIssueType.AttributionSourceUntrustworthyOrigin:
25
- return details.frame !== undefined ? IssueCode.AttributionSourceUntrustworthyFrameOrigin :
26
- IssueCode.AttributionSourceUntrustworthyOrigin;
27
- case Protocol.Audits.AttributionReportingIssueType.AttributionUntrustworthyOrigin:
28
- return details.frame !== undefined ? IssueCode.AttributionUntrustworthyFrameOrigin :
29
- IssueCode.AttributionUntrustworthyOrigin;
26
+ case Protocol.Audits.AttributionReportingIssueType.UntrustworthyReportingOrigin:
27
+ return IssueCode.UntrustworthyReportingOrigin;
28
+ case Protocol.Audits.AttributionReportingIssueType.InsecureContext:
29
+ return IssueCode.InsecureContext;
30
30
  case Protocol.Audits.AttributionReportingIssueType.InvalidHeader:
31
- return IssueCode.InvalidHeader;
31
+ return IssueCode.InvalidRegisterSourceHeader;
32
+ case Protocol.Audits.AttributionReportingIssueType.InvalidRegisterTriggerHeader:
33
+ return IssueCode.InvalidRegisterTriggerHeader;
34
+ default:
35
+ return IssueCode.Unknown;
32
36
  }
33
37
  }
34
38
 
@@ -52,42 +56,28 @@ export class AttributionReportingIssue extends Issue<IssueCode> {
52
56
  file: 'arPermissionPolicyDisabled.md',
53
57
  links: [],
54
58
  };
55
- case IssueCode.AttributionSourceUntrustworthyFrameOrigin:
59
+ case IssueCode.UntrustworthyReportingOrigin:
56
60
  return {
57
- file: 'arAttributionSourceUntrustworthyFrameOrigin.md',
61
+ file: 'arUntrustworthyReportingOrigin.md',
58
62
  links: [],
59
63
  };
60
- case IssueCode.AttributionSourceUntrustworthyOrigin:
64
+ case IssueCode.InsecureContext:
61
65
  return {
62
- file: 'arAttributionSourceUntrustworthyOrigin.md',
63
- links: [
64
- {
65
- link:
66
- 'https://developer.chrome.com/docs/privacy-sandbox/attribution-reporting-event-guide/#html-attribute-attributiondestination-required',
67
- linkTitle: 'attributiondestination attribute',
68
- },
69
- {
70
- link:
71
- 'https://developer.chrome.com/docs/privacy-sandbox/attribution-reporting-event-guide/#html-attribute-attributionreportto',
72
- linkTitle: 'attributionreportto attribute',
73
- },
74
- ],
75
- };
76
- case IssueCode.AttributionUntrustworthyFrameOrigin:
77
- return {
78
- file: 'arAttributionUntrustworthyFrameOrigin.md',
66
+ file: 'arInsecureContext.md',
79
67
  links: [],
80
68
  };
81
- case IssueCode.AttributionUntrustworthyOrigin:
69
+ case IssueCode.InvalidRegisterSourceHeader:
82
70
  return {
83
- file: 'arAttributionUntrustworthyOrigin.md',
71
+ file: 'arInvalidRegisterSourceHeader.md',
84
72
  links: [],
85
73
  };
86
- case IssueCode.InvalidHeader:
74
+ case IssueCode.InvalidRegisterTriggerHeader:
87
75
  return {
88
- file: 'arInvalidHeader.md',
76
+ file: 'arInvalidRegisterTriggerHeader.md',
89
77
  links: [],
90
78
  };
79
+ case IssueCode.Unknown:
80
+ return null;
91
81
  }
92
82
  }
93
83
 
@@ -27,9 +27,14 @@ const UIStrings = {
27
27
  */
28
28
  title: 'Deprecated Feature Used',
29
29
 
30
- // Store alphabetized messages per DeprecationIssueType in this block.
31
30
  /**
32
- * @description TODO(crbug.com/1318846): Description needed for translation
31
+ * @description We show this warning when 1) an "authorization" header is
32
+ * attached to the request by scripts, 2) there is no "authorization" in
33
+ * the "access-control-allow-headers" header in the response, and 3) there
34
+ * is a wildcard symbol ("*") in the "access-control-allow-header" header
35
+ * in the response. This is allowed now, but we're planning to reject such
36
+ * responses and require responses to have an "access-control-allow-headers"
37
+ * containing "authorization".
33
38
  */
34
39
  authorizationCoveredByWildcard:
35
40
  'Authorization will not be covered by the wildcard symbol (*) in CORS `Access-Control-Allow-Headers` handling.',
@@ -99,6 +104,10 @@ const UIStrings = {
99
104
  * @description Warning displayed to developers when the non-standard `Event.path` API is used to notify them that this API is deprecated.
100
105
  */
101
106
  eventPath: '`Event.path` is deprecated and will be removed. Please use `Event.composedPath()` instead.',
107
+ /**
108
+ * @description This message is shown when the deprecated Expect-CT header is present.
109
+ */
110
+ 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
111
  /**
103
112
  * @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
113
  */
@@ -374,6 +383,11 @@ export class DeprecationIssue extends Issue {
374
383
  feature = 5726124632965120;
375
384
  milestone = 109;
376
385
  break;
386
+ case Protocol.Audits.DeprecationIssueType.ExpectCTHeader:
387
+ messageFunction = i18nLazyString(UIStrings.expectCTHeader);
388
+ feature = 6244547273687040;
389
+ milestone = 107;
390
+ break;
377
391
  case Protocol.Audits.DeprecationIssueType.GeolocationInsecureOrigin:
378
392
  messageFunction = i18nLazyString(UIStrings.geolocationInsecureOrigin);
379
393
  break;
@@ -0,0 +1,7 @@
1
+ # Ensure that the attribution registration context is secure
2
+
3
+ This page tried to register a source or trigger using the Attribution Reporting
4
+ API but failed because the page that initiated the registration was not secure.
5
+
6
+ The registration context must use HTTPS unless it is `localhost` or
7
+ `127.0.0.1`.
@@ -0,0 +1,5 @@
1
+ # Ensure that the `Attribution-Reporting-Register-Source` header is valid
2
+
3
+ This page tried to register a source using the Attribution Reporting API but
4
+ failed because an `Attribution-Reporting-Register-Source` response header was
5
+ invalid.
@@ -0,0 +1,5 @@
1
+ # Ensure that the `Attribution-Reporting-Register-Trigger` header is valid
2
+
3
+ This page tried to register a trigger using the Attribution Reporting API but
4
+ failed because an `Attribution-Reporting-Register-Trigger` response header was
5
+ invalid.
@@ -1,6 +1,9 @@
1
- # Ensure the "attribution-reporting" Permission Policy is enabled when using the Attribution Reporting API
1
+ # Ensure that the `attribution-reporting` permission policy is enabled
2
2
 
3
- This page tries to use the Attribution Reporting API but this was aborted, because the `attribution-reporting` policy is not enabled.
3
+ This page tried to use the Attribution Reporting API but failed because the
4
+ `attribution-reporting` permission policy is not enabled.
4
5
 
5
- This API is enabled by default in the top-level context and in same-origin child frames, but must
6
- be explicitly opted-in for cross-origin frames. Add the permission policy as follows: `<iframe src="..." allow="attribution-reporting">`.
6
+ This API is enabled by default in the top-level context and in same-origin
7
+ child frames, but must be explicitly opted-in for cross-origin frames. Add the
8
+ permission policy as follows:
9
+ `<iframe src="..." allow="attribution-reporting">`.
@@ -0,0 +1,10 @@
1
+ # Ensure that attribution reporting origins are trustworthy
2
+
3
+ This page tried to register a source or trigger using the Attribution Reporting
4
+ API but failed because the reporting origin was not potentially trustworthy.
5
+
6
+ The reporting origin is typically the server that sets the
7
+ `Attribution-Reporting-Register-Source` or
8
+ `Attribution-Reporting-Register-Trigger` header.
9
+
10
+ The reporting origin must use HTTPS unless it is `localhost` or `127.0.0.1`.
@@ -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
  {
@@ -59,4 +59,12 @@ export const contentAsDataURL = function(
59
59
  export type DeferredContent = {
60
60
  content: string,
61
61
  isEncoded: boolean,
62
- }|{content: null, error: string, isEncoded: boolean};
62
+ }|{
63
+ content: '',
64
+ isEncoded: false,
65
+ wasmDisassemblyInfo: Common.WasmDisassembly.WasmDisassembly,
66
+ }|{
67
+ content: null,
68
+ error: string,
69
+ isEncoded: boolean,
70
+ };
@@ -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));
@@ -14,11 +14,6 @@ const UIStrings = {
14
14
  * @description Label for number of rows in the issue details table.
15
15
  */
16
16
  nViolations: '{n, plural, =1 {# violation} other {# violations}}',
17
- /**
18
- * @description Noun, label for the column showing the associated frame in the issue details table.
19
- * The associated frame can either be the "main frame" (or main window), or an HTML iframe.
20
- */
21
- frame: 'Frame',
22
17
  /**
23
18
  * @description Noun, label for the column showing the associated HTML element in the issue details table.
24
19
  */
@@ -60,31 +55,18 @@ export class AttributionReportingIssueDetailsView extends AffectedResourcesView
60
55
  issues: Iterable<IssuesManager.AttributionReportingIssue.AttributionReportingIssue>): void {
61
56
  const header = document.createElement('tr');
62
57
  switch (issueCode) {
63
- case IssuesManager.AttributionReportingIssue.IssueCode.AttributionUntrustworthyFrameOrigin:
64
- this.appendColumnTitle(header, i18nString(UIStrings.frame));
65
- this.appendColumnTitle(header, i18nString(UIStrings.request));
66
- this.appendColumnTitle(header, i18nString(UIStrings.untrustworthyOrigin));
67
- break;
68
- case IssuesManager.AttributionReportingIssue.IssueCode.AttributionUntrustworthyOrigin:
58
+ case IssuesManager.AttributionReportingIssue.IssueCode.InvalidRegisterSourceHeader:
59
+ case IssuesManager.AttributionReportingIssue.IssueCode.InvalidRegisterTriggerHeader:
69
60
  this.appendColumnTitle(header, i18nString(UIStrings.request));
70
- this.appendColumnTitle(header, i18nString(UIStrings.untrustworthyOrigin));
71
- break;
72
- case IssuesManager.AttributionReportingIssue.IssueCode.AttributionSourceUntrustworthyFrameOrigin:
73
- this.appendColumnTitle(header, i18nString(UIStrings.frame));
74
- this.appendColumnTitle(header, i18nString(UIStrings.element));
75
- this.appendColumnTitle(header, i18nString(UIStrings.untrustworthyOrigin));
61
+ this.appendColumnTitle(header, i18nString(UIStrings.invalidHeaderValue));
76
62
  break;
77
- case IssuesManager.AttributionReportingIssue.IssueCode.AttributionSourceUntrustworthyOrigin:
63
+ case IssuesManager.AttributionReportingIssue.IssueCode.InsecureContext:
64
+ case IssuesManager.AttributionReportingIssue.IssueCode.UntrustworthyReportingOrigin:
78
65
  this.appendColumnTitle(header, i18nString(UIStrings.element));
79
- this.appendColumnTitle(header, i18nString(UIStrings.untrustworthyOrigin));
80
- break;
81
- case IssuesManager.AttributionReportingIssue.IssueCode.InvalidHeader:
82
- this.appendColumnTitle(header, i18nString(UIStrings.frame));
83
66
  this.appendColumnTitle(header, i18nString(UIStrings.request));
84
- this.appendColumnTitle(header, i18nString(UIStrings.invalidHeaderValue));
67
+ this.appendColumnTitle(header, i18nString(UIStrings.untrustworthyOrigin));
85
68
  break;
86
69
  case IssuesManager.AttributionReportingIssue.IssueCode.PermissionPolicyDisabled:
87
- this.appendColumnTitle(header, i18nString(UIStrings.frame));
88
70
  this.appendColumnTitle(header, i18nString(UIStrings.element));
89
71
  this.appendColumnTitle(header, i18nString(UIStrings.request));
90
72
  break;
@@ -108,21 +90,18 @@ export class AttributionReportingIssueDetailsView extends AffectedResourcesView
108
90
  const details = issue.issueDetails;
109
91
 
110
92
  switch (issueCode) {
111
- case IssuesManager.AttributionReportingIssue.IssueCode.AttributionSourceUntrustworthyOrigin:
112
- await this.#appendElementOrEmptyCell(element, issue);
113
- this.appendIssueDetailCell(element, details.invalidParameter || '');
114
- break;
115
- case IssuesManager.AttributionReportingIssue.IssueCode.AttributionUntrustworthyOrigin:
93
+ case IssuesManager.AttributionReportingIssue.IssueCode.InvalidRegisterSourceHeader:
94
+ case IssuesManager.AttributionReportingIssue.IssueCode.InvalidRegisterTriggerHeader:
116
95
  this.#appendRequestOrEmptyCell(element, details.request);
117
96
  this.appendIssueDetailCell(element, details.invalidParameter || '');
118
97
  break;
119
- case IssuesManager.AttributionReportingIssue.IssueCode.InvalidHeader:
120
- this.#appendFrameOrEmptyCell(element, issue);
98
+ case IssuesManager.AttributionReportingIssue.IssueCode.InsecureContext:
99
+ case IssuesManager.AttributionReportingIssue.IssueCode.UntrustworthyReportingOrigin:
100
+ await this.#appendElementOrEmptyCell(element, issue);
121
101
  this.#appendRequestOrEmptyCell(element, details.request);
122
102
  this.appendIssueDetailCell(element, details.invalidParameter || '');
123
103
  break;
124
104
  case IssuesManager.AttributionReportingIssue.IssueCode.PermissionPolicyDisabled:
125
- this.#appendFrameOrEmptyCell(element, issue);
126
105
  await this.#appendElementOrEmptyCell(element, issue);
127
106
  this.#appendRequestOrEmptyCell(element, details.request);
128
107
  break;
@@ -131,16 +110,6 @@ export class AttributionReportingIssueDetailsView extends AffectedResourcesView
131
110
  this.affectedResources.appendChild(element);
132
111
  }
133
112
 
134
- #appendFrameOrEmptyCell(
135
- parent: HTMLElement, issue: IssuesManager.AttributionReportingIssue.AttributionReportingIssue): void {
136
- const details = issue.issueDetails;
137
- if (details.frame) {
138
- parent.appendChild(this.createFrameCell(details.frame.frameId, issue.getCategory()));
139
- } else {
140
- this.appendIssueDetailCell(parent, '');
141
- }
142
- }
143
-
144
113
  async #appendElementOrEmptyCell(
145
114
  parent: HTMLElement, issue: IssuesManager.AttributionReportingIssue.AttributionReportingIssue): Promise<void> {
146
115
  const details = issue.issueDetails;
@@ -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
+ }