chrome-devtools-frontend 1.0.948916 → 1.0.949424
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/config/gni/all_devtools_files.gni +5 -0
- package/config/gni/devtools_grd_files.gni +5 -0
- package/front_end/core/i18n/locales/en-US.json +21 -0
- package/front_end/core/i18n/locales/en-XL.json +21 -0
- package/front_end/core/root/Runtime.ts +1 -0
- package/front_end/core/sdk/AccessibilityModel.ts +7 -7
- package/front_end/models/issues_manager/AttributionReportingIssue.ts +20 -5
- package/front_end/models/issues_manager/descriptions/arInvalidAttributionSourceExpiry.md +4 -0
- package/front_end/models/issues_manager/descriptions/arInvalidAttributionSourcePriority.md +4 -0
- package/front_end/models/issues_manager/descriptions/arInvalidEventSourceTriggerData.md +9 -0
- package/front_end/models/issues_manager/descriptions/arInvalidTriggerDedupKey.md +5 -0
- package/front_end/models/issues_manager/descriptions/arInvalidTriggerPriority.md +5 -0
- package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +45 -3
- package/front_end/panels/accessibility/AccessibilitySidebarView.ts +2 -4
- package/front_end/panels/accessibility/axBreadcrumbs.css +4 -0
- package/front_end/panels/elements/AccessibilityTreeView.ts +4 -6
- package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +44 -0
- package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +1 -0
- package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
- package/front_end/third_party/codemirror.next/codemirror.next.d.ts +8 -6
- package/front_end/third_party/codemirror.next/package.json +3 -3
- package/package.json +1 -1
- package/scripts/build/rjsmin.py +0 -484
|
@@ -50,6 +50,11 @@ all_devtools_files = [
|
|
|
50
50
|
"front_end/models/issues_manager/descriptions/arAttributionUntrustworthyOrigin.md",
|
|
51
51
|
"front_end/models/issues_manager/descriptions/arInvalidAttributionData.md",
|
|
52
52
|
"front_end/models/issues_manager/descriptions/arInvalidAttributionSourceEventId.md",
|
|
53
|
+
"front_end/models/issues_manager/descriptions/arInvalidAttributionSourceExpiry.md",
|
|
54
|
+
"front_end/models/issues_manager/descriptions/arInvalidAttributionSourcePriority.md",
|
|
55
|
+
"front_end/models/issues_manager/descriptions/arInvalidEventSourceTriggerData.md",
|
|
56
|
+
"front_end/models/issues_manager/descriptions/arInvalidTriggerDedupKey.md",
|
|
57
|
+
"front_end/models/issues_manager/descriptions/arInvalidTriggerPriority.md",
|
|
53
58
|
"front_end/models/issues_manager/descriptions/arMissingAttributionData.md",
|
|
54
59
|
"front_end/models/issues_manager/descriptions/arPermissionPolicyDisabled.md",
|
|
55
60
|
"front_end/models/issues_manager/descriptions/CoepCoopSandboxedIframeCannotNavigateToCoopPage.md",
|
|
@@ -274,6 +274,11 @@ grd_files_release_sources = [
|
|
|
274
274
|
"front_end/models/issues_manager/descriptions/arAttributionUntrustworthyOrigin.md",
|
|
275
275
|
"front_end/models/issues_manager/descriptions/arInvalidAttributionData.md",
|
|
276
276
|
"front_end/models/issues_manager/descriptions/arInvalidAttributionSourceEventId.md",
|
|
277
|
+
"front_end/models/issues_manager/descriptions/arInvalidAttributionSourceExpiry.md",
|
|
278
|
+
"front_end/models/issues_manager/descriptions/arInvalidAttributionSourcePriority.md",
|
|
279
|
+
"front_end/models/issues_manager/descriptions/arInvalidEventSourceTriggerData.md",
|
|
280
|
+
"front_end/models/issues_manager/descriptions/arInvalidTriggerDedupKey.md",
|
|
281
|
+
"front_end/models/issues_manager/descriptions/arInvalidTriggerPriority.md",
|
|
277
282
|
"front_end/models/issues_manager/descriptions/arMissingAttributionData.md",
|
|
278
283
|
"front_end/models/issues_manager/descriptions/arPermissionPolicyDisabled.md",
|
|
279
284
|
"front_end/models/issues_manager/descriptions/corsAllowCredentialsRequired.md",
|
|
@@ -1955,9 +1955,18 @@
|
|
|
1955
1955
|
"panels/accessibility/AXBreadcrumbsPane.ts | accessibilityTree": {
|
|
1956
1956
|
"message": "Accessibility Tree"
|
|
1957
1957
|
},
|
|
1958
|
+
"panels/accessibility/AXBreadcrumbsPane.ts | fullTreeExperimentDescription": {
|
|
1959
|
+
"message": "The accessibility tree moved to the top right corner of the DOM tree."
|
|
1960
|
+
},
|
|
1961
|
+
"panels/accessibility/AXBreadcrumbsPane.ts | fullTreeExperimentName": {
|
|
1962
|
+
"message": "Enable full-page accessibility tree"
|
|
1963
|
+
},
|
|
1958
1964
|
"panels/accessibility/AXBreadcrumbsPane.ts | ignored": {
|
|
1959
1965
|
"message": "Ignored"
|
|
1960
1966
|
},
|
|
1967
|
+
"panels/accessibility/AXBreadcrumbsPane.ts | reloadRequired": {
|
|
1968
|
+
"message": "Reload required before the change takes effect."
|
|
1969
|
+
},
|
|
1961
1970
|
"panels/accessibility/AXBreadcrumbsPane.ts | scrollIntoView": {
|
|
1962
1971
|
"message": "Scroll into view"
|
|
1963
1972
|
},
|
|
@@ -5189,9 +5198,21 @@
|
|
|
5189
5198
|
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourceEventId": {
|
|
5190
5199
|
"message": "Invalid attributionsourceeventid"
|
|
5191
5200
|
},
|
|
5201
|
+
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourceExpiry": {
|
|
5202
|
+
"message": "Invalid attributionexpiry"
|
|
5203
|
+
},
|
|
5204
|
+
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourcePriority": {
|
|
5205
|
+
"message": "Invalid attributionsourcepriority"
|
|
5206
|
+
},
|
|
5192
5207
|
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidTriggerData": {
|
|
5193
5208
|
"message": "Invalid trigger-data"
|
|
5194
5209
|
},
|
|
5210
|
+
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidTriggerDedupKey": {
|
|
5211
|
+
"message": "Invalid dedup-key"
|
|
5212
|
+
},
|
|
5213
|
+
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidTriggerPriority": {
|
|
5214
|
+
"message": "Invalid priority"
|
|
5215
|
+
},
|
|
5195
5216
|
"panels/issues/AttributionReportingIssueDetailsView.ts | nViolations": {
|
|
5196
5217
|
"message": "{n, plural, =1 {# violation} other {# violations}}"
|
|
5197
5218
|
},
|
|
@@ -1955,9 +1955,18 @@
|
|
|
1955
1955
|
"panels/accessibility/AXBreadcrumbsPane.ts | accessibilityTree": {
|
|
1956
1956
|
"message": "Âćĉéŝśîb́îĺît́ŷ T́r̂éê"
|
|
1957
1957
|
},
|
|
1958
|
+
"panels/accessibility/AXBreadcrumbsPane.ts | fullTreeExperimentDescription": {
|
|
1959
|
+
"message": "T̂h́ê áĉćêśŝíb̂íl̂ít̂ý t̂ŕêé m̂óv̂éd̂ t́ô t́ĥé t̂óp̂ ŕîǵĥt́ ĉór̂ńêŕ ôf́ t̂h́ê D́ÔḾ t̂ŕêé."
|
|
1960
|
+
},
|
|
1961
|
+
"panels/accessibility/AXBreadcrumbsPane.ts | fullTreeExperimentName": {
|
|
1962
|
+
"message": "Êńâb́l̂é f̂úl̂ĺ-p̂áĝé âćĉéŝśîb́îĺît́ŷ t́r̂éê"
|
|
1963
|
+
},
|
|
1958
1964
|
"panels/accessibility/AXBreadcrumbsPane.ts | ignored": {
|
|
1959
1965
|
"message": "Îǵn̂ór̂éd̂"
|
|
1960
1966
|
},
|
|
1967
|
+
"panels/accessibility/AXBreadcrumbsPane.ts | reloadRequired": {
|
|
1968
|
+
"message": "R̂él̂óâd́ r̂éq̂úîŕêd́ b̂éf̂ór̂é t̂h́ê ćĥán̂ǵê t́âḱêś êf́f̂éĉt́."
|
|
1969
|
+
},
|
|
1961
1970
|
"panels/accessibility/AXBreadcrumbsPane.ts | scrollIntoView": {
|
|
1962
1971
|
"message": "Ŝćr̂ól̂ĺ îńt̂ó v̂íêẃ"
|
|
1963
1972
|
},
|
|
@@ -5189,9 +5198,21 @@
|
|
|
5189
5198
|
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourceEventId": {
|
|
5190
5199
|
"message": "Îńv̂ál̂íd̂ attributionsourceeventid"
|
|
5191
5200
|
},
|
|
5201
|
+
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourceExpiry": {
|
|
5202
|
+
"message": "Îńv̂ál̂íd̂ attributionexpiry"
|
|
5203
|
+
},
|
|
5204
|
+
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidSourcePriority": {
|
|
5205
|
+
"message": "Îńv̂ál̂íd̂ attributionsourcepriority"
|
|
5206
|
+
},
|
|
5192
5207
|
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidTriggerData": {
|
|
5193
5208
|
"message": "Îńv̂ál̂íd̂ trigger-data"
|
|
5194
5209
|
},
|
|
5210
|
+
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidTriggerDedupKey": {
|
|
5211
|
+
"message": "Îńv̂ál̂íd̂ dedup-key"
|
|
5212
|
+
},
|
|
5213
|
+
"panels/issues/AttributionReportingIssueDetailsView.ts | invalidTriggerPriority": {
|
|
5214
|
+
"message": "Îńv̂ál̂íd̂ priority"
|
|
5215
|
+
},
|
|
5195
5216
|
"panels/issues/AttributionReportingIssueDetailsView.ts | nViolations": {
|
|
5196
5217
|
"message": "{n, plural, =1 {# v̂íôĺât́îón̂} other {# v́îól̂át̂íôńŝ}}"
|
|
5197
5218
|
},
|
|
@@ -351,6 +351,7 @@ export enum ExperimentName {
|
|
|
351
351
|
PROTOCOL_MONITOR = 'protocolMonitor',
|
|
352
352
|
WEBAUTHN_PANE = 'webauthnPane',
|
|
353
353
|
SYNC_SETTINGS = 'syncSettings',
|
|
354
|
+
FULL_ACCESSIBILITY_TREE = 'fullAccessibilityTree',
|
|
354
355
|
}
|
|
355
356
|
|
|
356
357
|
// TODO(crbug.com/1167717): Make this a const enum again
|
|
@@ -291,25 +291,25 @@ export class AccessibilityModel extends SDKModel<EventTypes> implements Protocol
|
|
|
291
291
|
async requestAXChildren(nodeId: Protocol.Accessibility.AXNodeId, frameId?: Protocol.Page.FrameId):
|
|
292
292
|
Promise<AccessibilityNode[]> {
|
|
293
293
|
const parent = this.#axIdToAXNode.get(nodeId);
|
|
294
|
-
if (
|
|
294
|
+
if (!parent) {
|
|
295
|
+
throw Error('Cannot request children before parent');
|
|
296
|
+
}
|
|
297
|
+
if (!parent.hasUnloadedChildren()) {
|
|
295
298
|
return parent.children();
|
|
296
299
|
}
|
|
297
300
|
|
|
298
301
|
let nodes;
|
|
299
302
|
const request = this.#pendingChildRequests.get(nodeId);
|
|
300
303
|
if (request) {
|
|
301
|
-
|
|
304
|
+
await request;
|
|
302
305
|
} else {
|
|
303
306
|
const req = this.agent.invoke_getChildAXNodes({id: nodeId, frameId});
|
|
304
307
|
this.#pendingChildRequests.set(nodeId, req);
|
|
305
308
|
nodes = (await req).nodes;
|
|
309
|
+
this.createNodesFromPayload(nodes);
|
|
306
310
|
this.#pendingChildRequests.delete(nodeId);
|
|
307
311
|
}
|
|
308
|
-
|
|
309
|
-
return [];
|
|
310
|
-
}
|
|
311
|
-
const axNodes = this.createNodesFromPayload(nodes);
|
|
312
|
-
return axNodes;
|
|
312
|
+
return parent.children();
|
|
313
313
|
}
|
|
314
314
|
|
|
315
315
|
async requestAndLoadSubTreeToNode(node: DOMNode): Promise<AccessibilityNode[]|null> {
|
|
@@ -124,15 +124,30 @@ export class AttributionReportingIssue extends Issue<IssueCode> {
|
|
|
124
124
|
links: [],
|
|
125
125
|
};
|
|
126
126
|
case IssueCode.InvalidAttributionSourceExpiry:
|
|
127
|
-
return
|
|
127
|
+
return {
|
|
128
|
+
file: 'arInvalidAttributionSourceExpiry.md',
|
|
129
|
+
links: [],
|
|
130
|
+
};
|
|
128
131
|
case IssueCode.InvalidAttributionSourcePriority:
|
|
129
|
-
return
|
|
132
|
+
return {
|
|
133
|
+
file: 'arInvalidAttributionSourcePriority.md',
|
|
134
|
+
links: [],
|
|
135
|
+
};
|
|
130
136
|
case IssueCode.InvalidEventSourceTriggerData:
|
|
131
|
-
return
|
|
137
|
+
return {
|
|
138
|
+
file: 'arInvalidEventSourceTriggerData.md',
|
|
139
|
+
links: [],
|
|
140
|
+
};
|
|
132
141
|
case IssueCode.InvalidTriggerPriority:
|
|
133
|
-
return
|
|
142
|
+
return {
|
|
143
|
+
file: 'arInvalidTriggerPriority.md',
|
|
144
|
+
links: [],
|
|
145
|
+
};
|
|
134
146
|
case IssueCode.InvalidTriggerDedupKey:
|
|
135
|
-
return
|
|
147
|
+
return {
|
|
148
|
+
file: 'arInvalidTriggerDedupKey.md',
|
|
149
|
+
links: [],
|
|
150
|
+
};
|
|
136
151
|
}
|
|
137
152
|
}
|
|
138
153
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Ensure the "event-source-trigger-data" query parameter for an attribution redirect is a valid number
|
|
2
|
+
|
|
3
|
+
The event-source trigger data associated with an attribution was defaulted to `0`.
|
|
4
|
+
This happens if the `event-source-trigger-data` query parameter provided in the `.well-known`
|
|
5
|
+
redirect is not a valid 64-bit unsigned integer.
|
|
6
|
+
|
|
7
|
+
Note that even if a valid integer is provided, only the lowest 1-bit of the
|
|
8
|
+
`event-source-trigger-data` query parameter is recorded, with a 5% chance of the 1 bit being
|
|
9
|
+
noised.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Ensure the "dedup-key" query parameter for an attribution redirect is a valid number
|
|
2
|
+
|
|
3
|
+
The dedup key associated with an attribution was defaulted to `null`.
|
|
4
|
+
This happens if the `dedup-key` query parameter provided in the `.well-known` redirect is not a
|
|
5
|
+
valid 64-bit signed integer.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Ensure the "priority" query parameter for an attribution redirect is a valid number
|
|
2
|
+
|
|
3
|
+
The priority associated with an attribution was defaulted to `0`.
|
|
4
|
+
This happens if the `priority` query parameter provided in the `.well-known` redirect is not a
|
|
5
|
+
valid 64-bit signed integer.
|
|
@@ -3,8 +3,11 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
5
|
import * as Common from '../../core/common/common.js';
|
|
6
|
+
import * as Host from '../../core/host/host.js';
|
|
6
7
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
8
|
+
import * as Root from '../../core/root/root.js';
|
|
7
9
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
10
|
+
import * as Feedback from '../../ui/components/panel_feedback/panel_feedback.js';
|
|
8
11
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
9
12
|
|
|
10
13
|
import axBreadcrumbsStyles from './axBreadcrumbs.css.js';
|
|
@@ -27,6 +30,18 @@ const UIStrings = {
|
|
|
27
30
|
*@description Ignored node element text content in AXBreadcrumbs Pane of the Accessibility panel
|
|
28
31
|
*/
|
|
29
32
|
ignored: 'Ignored',
|
|
33
|
+
/**
|
|
34
|
+
*@description Name for experimental tree toggle.
|
|
35
|
+
*/
|
|
36
|
+
fullTreeExperimentName: 'Enable full-page accessibility tree',
|
|
37
|
+
/**
|
|
38
|
+
*@description Description text for experimental tree toggle.
|
|
39
|
+
*/
|
|
40
|
+
fullTreeExperimentDescription: 'The accessibility tree moved to the top right corner of the DOM tree.',
|
|
41
|
+
/**
|
|
42
|
+
*@description Message saying that DevTools must be restarted before the experiment is enabled.
|
|
43
|
+
*/
|
|
44
|
+
reloadRequired: 'Reload required before the change takes effect.',
|
|
30
45
|
};
|
|
31
46
|
const str_ = i18n.i18n.registerUIStrings('panels/accessibility/AXBreadcrumbsPane.ts', UIStrings);
|
|
32
47
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
@@ -37,24 +52,48 @@ export class AXBreadcrumbsPane extends AccessibilitySubPane {
|
|
|
37
52
|
private collapsingBreadcrumbId: number;
|
|
38
53
|
private hoveredBreadcrumb: AXBreadcrumb|null;
|
|
39
54
|
private readonly rootElement: HTMLElement;
|
|
55
|
+
#legacyTreeDisabled = false;
|
|
40
56
|
|
|
41
57
|
constructor(axSidebarView: AccessibilitySidebarView) {
|
|
42
58
|
super(i18nString(UIStrings.accessibilityTree));
|
|
43
59
|
|
|
44
60
|
this.element.classList.add('ax-subpane');
|
|
45
|
-
UI.ARIAUtils.markAsTree(this.element);
|
|
46
61
|
this.element.tabIndex = -1;
|
|
47
62
|
|
|
48
63
|
this.axSidebarView = axSidebarView;
|
|
49
|
-
|
|
50
64
|
this.preselectedBreadcrumb = null;
|
|
51
65
|
this.inspectedNodeBreadcrumb = null;
|
|
52
66
|
|
|
53
67
|
this.collapsingBreadcrumbId = -1;
|
|
54
68
|
|
|
55
|
-
this.hoveredBreadcrumb = null;
|
|
56
69
|
this.rootElement = this.element.createChild('div', 'ax-breadcrumbs');
|
|
57
70
|
|
|
71
|
+
this.hoveredBreadcrumb = null;
|
|
72
|
+
const previewToggle = new Feedback.PreviewToggle.PreviewToggle();
|
|
73
|
+
const name = i18nString(UIStrings.fullTreeExperimentName);
|
|
74
|
+
const experiment = Root.Runtime.ExperimentName.FULL_ACCESSIBILITY_TREE;
|
|
75
|
+
const onChangeCallback: (checked: boolean) => void = checked => {
|
|
76
|
+
Host.userMetrics.experimentChanged(experiment, checked);
|
|
77
|
+
UI.InspectorView.InspectorView.instance().displayReloadRequiredWarning(i18nString(UIStrings.reloadRequired));
|
|
78
|
+
};
|
|
79
|
+
if (Root.Runtime.experiments.isEnabled(experiment)) {
|
|
80
|
+
this.#legacyTreeDisabled = true;
|
|
81
|
+
const feedbackURL = 'https://goo.gle/devtools-a11y-tree-feedback';
|
|
82
|
+
previewToggle.data = {
|
|
83
|
+
name,
|
|
84
|
+
helperText: i18nString(UIStrings.fullTreeExperimentDescription),
|
|
85
|
+
feedbackURL,
|
|
86
|
+
experiment,
|
|
87
|
+
onChangeCallback,
|
|
88
|
+
};
|
|
89
|
+
this.element.appendChild(previewToggle);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
previewToggle.data = {name, helperText: null, feedbackURL: null, experiment, onChangeCallback};
|
|
93
|
+
this.element.prepend(previewToggle);
|
|
94
|
+
|
|
95
|
+
UI.ARIAUtils.markAsTree(this.rootElement);
|
|
96
|
+
|
|
58
97
|
this.rootElement.addEventListener('keydown', this.onKeyDown.bind(this), true);
|
|
59
98
|
this.rootElement.addEventListener('mousemove', this.onMouseMove.bind(this), false);
|
|
60
99
|
this.rootElement.addEventListener('mouseleave', this.onMouseLeave.bind(this), false);
|
|
@@ -72,6 +111,9 @@ export class AXBreadcrumbsPane extends AccessibilitySubPane {
|
|
|
72
111
|
}
|
|
73
112
|
|
|
74
113
|
setAXNode(axNode: SDK.AccessibilityModel.AccessibilityNode|null): void {
|
|
114
|
+
if (this.#legacyTreeDisabled) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
75
117
|
const hadFocus = this.element.hasFocus();
|
|
76
118
|
super.setAXNode(axNode);
|
|
77
119
|
|
|
@@ -31,10 +31,8 @@ export class AccessibilitySidebarView extends UI.ThrottledWidget.ThrottledWidget
|
|
|
31
31
|
this.axNodeInternal = null;
|
|
32
32
|
this.skipNextPullNode = false;
|
|
33
33
|
this.sidebarPaneStack = UI.ViewManager.ViewManager.instance().createStackLocation();
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
this.sidebarPaneStack.showView(this.breadcrumbsSubPane);
|
|
37
|
-
}
|
|
34
|
+
this.breadcrumbsSubPane = new AXBreadcrumbsPane(this);
|
|
35
|
+
this.sidebarPaneStack.showView(this.breadcrumbsSubPane);
|
|
38
36
|
this.ariaSubPane = new ARIAAttributesPane();
|
|
39
37
|
this.sidebarPaneStack.showView(this.ariaSubPane);
|
|
40
38
|
this.axNodeSubPane = new AXNodeSubPane();
|
|
@@ -99,6 +99,10 @@
|
|
|
99
99
|
background-color: var(--color-background-elevation-0);
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
+
.ax-breadcrumbs .ax-node:not(.inspected):focus {
|
|
103
|
+
background-color: var(--color-background-elevation-1);
|
|
104
|
+
}
|
|
105
|
+
|
|
102
106
|
.ax-breadcrumbs .ax-node.inspected:focus * {
|
|
103
107
|
color: inherit;
|
|
104
108
|
}
|
|
@@ -120,16 +120,14 @@ export class AccessibilityTreeView extends UI.Widget.VBox implements
|
|
|
120
120
|
|
|
121
121
|
// Selected node in the DOM tree has changed.
|
|
122
122
|
async selectedNodeChanged(inspectedNode: SDK.DOMModel.DOMNode): Promise<void> {
|
|
123
|
-
if (this.isShowing()) {
|
|
123
|
+
if (this.isShowing() || (inspectedNode === this.inspectedDOMNode)) {
|
|
124
124
|
return;
|
|
125
125
|
}
|
|
126
126
|
if (inspectedNode.ownerDocument && (inspectedNode.nodeName() === 'HTML' || inspectedNode.nodeName() === 'BODY')) {
|
|
127
|
-
|
|
127
|
+
this.inspectedDOMNode = inspectedNode.ownerDocument;
|
|
128
|
+
} else {
|
|
129
|
+
this.inspectedDOMNode = inspectedNode;
|
|
128
130
|
}
|
|
129
|
-
if (inspectedNode === this.inspectedDOMNode) {
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
this.inspectedDOMNode = inspectedNode;
|
|
133
131
|
}
|
|
134
132
|
|
|
135
133
|
treeUpdated({data}: Common.EventTarget
|
|
@@ -32,6 +32,16 @@ const UIStrings = {
|
|
|
32
32
|
* on an anchor HTML element ("a link").
|
|
33
33
|
*/
|
|
34
34
|
invalidSourceEventId: 'Invalid `attributionsourceeventid`',
|
|
35
|
+
/**
|
|
36
|
+
* @description Label for the column showing the invalid value used as the 'attributionexpiry' attribute
|
|
37
|
+
* on an anchor HTML element ("a link").
|
|
38
|
+
*/
|
|
39
|
+
invalidSourceExpiry: 'Invalid `attributionexpiry`',
|
|
40
|
+
/**
|
|
41
|
+
* @description Label for the column showing the invalid value used as the 'attributionpriority' attribute
|
|
42
|
+
* on an anchor HTML element ("a link").
|
|
43
|
+
*/
|
|
44
|
+
invalidSourcePriority: 'Invalid `attributionsourcepriority`',
|
|
35
45
|
/**
|
|
36
46
|
* @description Label for the column showing the invalid URL used in an HTML anchor element ("a link").
|
|
37
47
|
* A origin is (roughly said) the front part of a URL.
|
|
@@ -47,6 +57,16 @@ const UIStrings = {
|
|
|
47
57
|
* 'event-source-trigger-data' query parameter.
|
|
48
58
|
*/
|
|
49
59
|
invalidEventSourceTriggerData: 'Invalid `event-source-trigger-data`',
|
|
60
|
+
/**
|
|
61
|
+
* @description Label for the column showing the invalid value used for the
|
|
62
|
+
* 'priority' query parameter.
|
|
63
|
+
*/
|
|
64
|
+
invalidTriggerPriority: 'Invalid `priority`',
|
|
65
|
+
/**
|
|
66
|
+
* @description Label for the column showing the invalid value used for the
|
|
67
|
+
* 'dedup-key' query parameter.
|
|
68
|
+
*/
|
|
69
|
+
invalidTriggerDedupKey: 'Invalid `dedup-key`',
|
|
50
70
|
};
|
|
51
71
|
const str_ = i18n.i18n.registerUIStrings('panels/issues/AttributionReportingIssueDetailsView.ts', UIStrings);
|
|
52
72
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
@@ -94,15 +114,34 @@ export class AttributionReportingIssueDetailsView extends AffectedResourcesView
|
|
|
94
114
|
this.appendColumnTitle(header, i18nString(UIStrings.request));
|
|
95
115
|
this.appendColumnTitle(header, i18nString(UIStrings.invalidTriggerData));
|
|
96
116
|
break;
|
|
117
|
+
case IssuesManager.AttributionReportingIssue.IssueCode.InvalidEventSourceTriggerData:
|
|
97
118
|
case IssuesManager.AttributionReportingIssue.IssueCode.AttributionEventSourceTriggerDataTooLarge:
|
|
98
119
|
this.appendColumnTitle(header, i18nString(UIStrings.request));
|
|
99
120
|
this.appendColumnTitle(header, i18nString(UIStrings.invalidEventSourceTriggerData));
|
|
100
121
|
break;
|
|
122
|
+
case IssuesManager.AttributionReportingIssue.IssueCode.InvalidTriggerPriority:
|
|
123
|
+
this.appendColumnTitle(header, i18nString(UIStrings.request));
|
|
124
|
+
this.appendColumnTitle(header, i18nString(UIStrings.invalidTriggerPriority));
|
|
125
|
+
break;
|
|
126
|
+
case IssuesManager.AttributionReportingIssue.IssueCode.InvalidTriggerDedupKey:
|
|
127
|
+
this.appendColumnTitle(header, i18nString(UIStrings.request));
|
|
128
|
+
this.appendColumnTitle(header, i18nString(UIStrings.invalidTriggerDedupKey));
|
|
129
|
+
break;
|
|
101
130
|
case IssuesManager.AttributionReportingIssue.IssueCode.InvalidAttributionSourceEventId:
|
|
102
131
|
this.appendColumnTitle(header, i18nString(UIStrings.frame));
|
|
103
132
|
this.appendColumnTitle(header, i18nString(UIStrings.element));
|
|
104
133
|
this.appendColumnTitle(header, i18nString(UIStrings.invalidSourceEventId));
|
|
105
134
|
break;
|
|
135
|
+
case IssuesManager.AttributionReportingIssue.IssueCode.InvalidAttributionSourceExpiry:
|
|
136
|
+
this.appendColumnTitle(header, i18nString(UIStrings.frame));
|
|
137
|
+
this.appendColumnTitle(header, i18nString(UIStrings.element));
|
|
138
|
+
this.appendColumnTitle(header, i18nString(UIStrings.invalidSourceExpiry));
|
|
139
|
+
break;
|
|
140
|
+
case IssuesManager.AttributionReportingIssue.IssueCode.InvalidAttributionSourcePriority:
|
|
141
|
+
this.appendColumnTitle(header, i18nString(UIStrings.frame));
|
|
142
|
+
this.appendColumnTitle(header, i18nString(UIStrings.element));
|
|
143
|
+
this.appendColumnTitle(header, i18nString(UIStrings.invalidSourcePriority));
|
|
144
|
+
break;
|
|
106
145
|
case IssuesManager.AttributionReportingIssue.IssueCode.MissingAttributionData:
|
|
107
146
|
this.appendColumnTitle(header, i18nString(UIStrings.request));
|
|
108
147
|
break;
|
|
@@ -144,11 +183,16 @@ export class AttributionReportingIssueDetailsView extends AffectedResourcesView
|
|
|
144
183
|
case IssuesManager.AttributionReportingIssue.IssueCode.AttributionEventSourceTriggerDataTooLarge:
|
|
145
184
|
case IssuesManager.AttributionReportingIssue.IssueCode.AttributionUntrustworthyOrigin:
|
|
146
185
|
case IssuesManager.AttributionReportingIssue.IssueCode.InvalidAttributionData:
|
|
186
|
+
case IssuesManager.AttributionReportingIssue.IssueCode.InvalidEventSourceTriggerData:
|
|
187
|
+
case IssuesManager.AttributionReportingIssue.IssueCode.InvalidTriggerPriority:
|
|
188
|
+
case IssuesManager.AttributionReportingIssue.IssueCode.InvalidTriggerDedupKey:
|
|
147
189
|
this.appendRequestOrEmptyCell(element, details.request);
|
|
148
190
|
this.appendIssueDetailCell(element, details.invalidParameter || '');
|
|
149
191
|
break;
|
|
150
192
|
case IssuesManager.AttributionReportingIssue.IssueCode.AttributionSourceUntrustworthyFrameOrigin:
|
|
151
193
|
case IssuesManager.AttributionReportingIssue.IssueCode.InvalidAttributionSourceEventId:
|
|
194
|
+
case IssuesManager.AttributionReportingIssue.IssueCode.InvalidAttributionSourceExpiry:
|
|
195
|
+
case IssuesManager.AttributionReportingIssue.IssueCode.InvalidAttributionSourcePriority:
|
|
152
196
|
this.appendFrameOrEmptyCell(element, issue);
|
|
153
197
|
await this.appendElementOrEmptyCell(element, issue);
|
|
154
198
|
this.appendIssueDetailCell(element, details.invalidParameter || '');
|
|
@@ -554,6 +554,7 @@ export class UserAgentClientHintsForm extends HTMLElement {
|
|
|
554
554
|
aria-controls="form-container"
|
|
555
555
|
@disabled=${this.isFormDisabled}
|
|
556
556
|
aria-disabled=${this.isFormDisabled}
|
|
557
|
+
aria-label=${i18nString(UIStrings.title)}
|
|
557
558
|
>
|
|
558
559
|
<${IconButton.Icon.Icon.litTagName}
|
|
559
560
|
class=${this.isFormOpened ? '' : 'rotate-icon'}
|