chrome-devtools-frontend 1.0.1649421 → 1.0.1650100

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 (25) hide show
  1. package/front_end/core/sdk/CSSMetadata.ts +38 -2
  2. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +15 -0
  3. package/front_end/generated/Deprecation.ts +8 -0
  4. package/front_end/generated/SupportedCSSProperties.js +342 -114
  5. package/front_end/models/ai_assistance/AiConversation.ts +2 -1
  6. package/front_end/models/ai_assistance/agents/AccessibilityAgent.ts +10 -57
  7. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +1 -1
  8. package/front_end/models/ai_assistance/ai_assistance.ts +2 -0
  9. package/front_end/models/ai_assistance/contexts/AccessibilityContext.snapshot.txt +26 -0
  10. package/front_end/models/ai_assistance/contexts/AccessibilityContext.ts +63 -0
  11. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +3 -2
  12. package/front_end/models/javascript_metadata/NativeFunctions.js +2 -2
  13. package/front_end/models/stack_trace/DetailedErrorStackParser.ts +18 -0
  14. package/front_end/models/stack_trace/stack_trace.ts +0 -4
  15. package/front_end/panels/accessibility/ARIAAttributesView.ts +1 -0
  16. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +5 -5
  17. package/front_end/panels/ai_assistance/components/ChatInput.ts +1 -1
  18. package/front_end/panels/console/ConsolePinPane.ts +1 -0
  19. package/front_end/panels/elements/ElementsTreeElement.ts +97 -57
  20. package/front_end/panels/profiler/HeapSnapshotView.ts +6 -0
  21. package/front_end/third_party/chromium/README.chromium +1 -1
  22. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +10 -10
  23. package/front_end/ui/legacy/components/utils/Linkifier.ts +12 -6
  24. package/package.json +1 -1
  25. package/front_end/models/stack_trace/ErrorStackParser.ts +0 -174
@@ -55,6 +55,15 @@ export class CSSMetadata {
55
55
  for (let i = 0; i < properties.length; ++i) {
56
56
  const property = properties[i];
57
57
  const propertyName = property.name;
58
+ if ('is_descriptor' in property && 'is_property' in property) {
59
+ if (property.is_descriptor && !property.is_property) {
60
+ continue;
61
+ }
62
+ }
63
+ const runtimeFlagStatus = property.runtime_flag_status;
64
+ if (Boolean(runtimeFlagStatus) && runtimeFlagStatus !== 'stable') {
65
+ continue;
66
+ }
58
67
  if (!CSS.supports(propertyName, 'initial')) {
59
68
  continue;
60
69
  }
@@ -99,9 +108,18 @@ export class CSSMetadata {
99
108
  propertyValueSets.set(propertyName, extraValues);
100
109
  }
101
110
  }
102
- // finally add common keywords to value sets and convert property #values
111
+ // finally add keywords from alias property, common keywords to value sets and convert property #values
103
112
  // into arrays since callers expect arrays
104
113
  for (const [propertyName, values] of propertyValueSets) {
114
+ const aliasFor = this.#aliasesFor.get(propertyName);
115
+ if (aliasFor) {
116
+ const aliasForValues = propertyValueSets.get(aliasFor);
117
+ if (aliasForValues) {
118
+ for (const val of aliasForValues) {
119
+ values.add(val);
120
+ }
121
+ }
122
+ }
105
123
  for (const commonKeyword of CommonKeywords) {
106
124
  if (!values.has(commonKeyword) && CSS.supports(propertyName, commonKeyword)) {
107
125
  values.add(commonKeyword);
@@ -113,7 +131,15 @@ export class CSSMetadata {
113
131
 
114
132
  for (const name of this.#valuesSet) {
115
133
  const values = this.specificPropertyValues(name)
116
- .filter(value => CSS.supports(name, value))
134
+ .filter(value => {
135
+ // Filter out values which are just the function name (e.g. 'url', 'radial-gradient', etc.)
136
+ // The 'preset' is the full function (e.g. 'url(||)').
137
+ const preset = valuePresets.get(name)?.get(value);
138
+ if (preset && preset !== value) {
139
+ return false;
140
+ }
141
+ return CSS.supports(name, value);
142
+ })
117
143
  .sort(CSSMetadata.sortPrefixesAndCSSWideKeywordsToEnd);
118
144
  const presets = values.map(value => `${name}: ${value}`);
119
145
  if (!this.isSVGProperty(name)) {
@@ -1410,6 +1436,10 @@ const extraPropertyValues = new Map<string, Set<string>>([
1410
1436
  ]),
1411
1437
  ],
1412
1438
  ['outline-style', new Set(['auto'])],
1439
+ ['overflow-block', new Set(['auto', 'hidden', 'visible', 'overlay', 'scroll', 'clip'])],
1440
+ ['overflow-inline', new Set(['auto', 'hidden', 'visible', 'overlay', 'scroll', 'clip'])],
1441
+ ['overscroll-behavior-block', new Set(['auto', 'none', 'contain'])],
1442
+ ['overscroll-behavior-inline', new Set(['auto', 'none', 'contain'])],
1413
1443
  ]);
1414
1444
 
1415
1445
  // Weight of CSS properties based on their usage from https://www.chromestatus.com/metrics/css/popularity
@@ -1675,4 +1705,10 @@ export interface CSSPropertyDefinition {
1675
1705
  longhands: string[]|null;
1676
1706
  inherited: boolean|null;
1677
1707
  svg: boolean|null;
1708
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1709
+ is_descriptor?: boolean;
1710
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1711
+ is_property?: boolean;
1712
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1713
+ runtime_flag_status?: string;
1678
1714
  }
@@ -1382,6 +1382,12 @@ export abstract class HeapSnapshot {
1382
1382
  };
1383
1383
 
1384
1384
  switch (filterName) {
1385
+ case 'objectsRetainedByContexts':
1386
+ traverse((_node: HeapSnapshotNode, edge: HeapSnapshotEdge) => {
1387
+ return !this.isContextObject(edge.node());
1388
+ });
1389
+ markUnreachableNodes();
1390
+ return (node: HeapSnapshotNode) => !getBit(node);
1385
1391
  case 'objectsRetainedByDetachedDomNodes':
1386
1392
  // Traverse the graph, avoiding detached nodes.
1387
1393
  traverse((_node: HeapSnapshotNode, edge: HeapSnapshotEdge) => {
@@ -1581,6 +1587,10 @@ export abstract class HeapSnapshot {
1581
1587
  return true;
1582
1588
  }
1583
1589
 
1590
+ isContextObject(_node: HeapSnapshotNode): boolean {
1591
+ return false;
1592
+ }
1593
+
1584
1594
  calculateShallowSizes(): void {
1585
1595
  }
1586
1596
 
@@ -3684,6 +3694,11 @@ export class JSHeapSnapshot extends HeapSnapshot {
3684
3694
  return node.isUserRoot() || node.isDocumentDOMTreesRoot();
3685
3695
  }
3686
3696
 
3697
+ override isContextObject(node: HeapSnapshotNode): boolean {
3698
+ const name = node.rawName();
3699
+ return name === 'system / Context' || name.startsWith('system / Context / ');
3700
+ }
3701
+
3687
3702
  override userObjectsMapAndFlag(): {map: Uint8Array, flag: number}|null {
3688
3703
  return {map: this.flags, flag: this.nodeFlags.pageObject};
3689
3704
  }
@@ -54,6 +54,10 @@ export const UIStrings = {
54
54
  * @description Warning displayed to developers when a data: URL is assigned to SVGUseElement to let them know that the support is deprecated.
55
55
  */
56
56
  DataUrlInSvgUse: "Support for data: URLs in SVGUseElement is deprecated and it will be removed in the future.",
57
+ /**
58
+ * @description Warning displayed to developers when an unknown protocol string is used in a call to navigator.credentials.get() or create() with the 'digital' option.
59
+ */
60
+ DigitalCredentialsUnknownProtocol: "An unknown Digital Credentials protocol was requested in navigator.credentials.get() or create(). In a future release, unrecognized protocols will be blocked.",
57
61
  /**
58
62
  * @description Warning displayed to developers when document.createEvent() is called with 'KeyboardEvents', which is a non-standard event interface that will be removed.
59
63
  */
@@ -333,6 +337,10 @@ export const DEPRECATIONS_METADATA: Partial<Record<string, DeprecationDescriptor
333
337
  "chromeStatusFeature": 5128825141198848,
334
338
  "milestone": 119
335
339
  },
340
+ "DigitalCredentialsUnknownProtocol": {
341
+ "chromeStatusFeature": 6492906882990080,
342
+ "milestone": 160
343
+ },
336
344
  "DocumentCreateEventKeyboardEvents": {
337
345
  "chromeStatusFeature": 5095987863486464,
338
346
  "milestone": 151