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.
- package/front_end/core/sdk/CSSMetadata.ts +38 -2
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +15 -0
- package/front_end/generated/Deprecation.ts +8 -0
- package/front_end/generated/SupportedCSSProperties.js +342 -114
- package/front_end/models/ai_assistance/AiConversation.ts +2 -1
- package/front_end/models/ai_assistance/agents/AccessibilityAgent.ts +10 -57
- package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +1 -1
- package/front_end/models/ai_assistance/ai_assistance.ts +2 -0
- package/front_end/models/ai_assistance/contexts/AccessibilityContext.snapshot.txt +26 -0
- package/front_end/models/ai_assistance/contexts/AccessibilityContext.ts +63 -0
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +3 -2
- package/front_end/models/javascript_metadata/NativeFunctions.js +2 -2
- package/front_end/models/stack_trace/DetailedErrorStackParser.ts +18 -0
- package/front_end/models/stack_trace/stack_trace.ts +0 -4
- package/front_end/panels/accessibility/ARIAAttributesView.ts +1 -0
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +5 -5
- package/front_end/panels/ai_assistance/components/ChatInput.ts +1 -1
- package/front_end/panels/console/ConsolePinPane.ts +1 -0
- package/front_end/panels/elements/ElementsTreeElement.ts +97 -57
- package/front_end/panels/profiler/HeapSnapshotView.ts +6 -0
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +10 -10
- package/front_end/ui/legacy/components/utils/Linkifier.ts +12 -6
- package/package.json +1 -1
- 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 =>
|
|
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
|