chrome-devtools-frontend 1.0.948916 → 1.0.950768
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 -1
- package/docs/triage_guidelines.md +2 -2
- package/front_end/core/dom_extension/DOMExtension.ts +1 -1
- package/front_end/core/host/InspectorFrontendHostAPI.ts +0 -1
- package/front_end/core/host/UserMetrics.ts +0 -14
- package/front_end/core/i18n/locales/en-US.json +30 -0
- package/front_end/core/i18n/locales/en-XL.json +34 -4
- package/front_end/core/platform/platform.ts +1 -2
- package/front_end/core/platform/typescript-utilities.ts +4 -0
- package/front_end/core/root/Runtime.ts +1 -0
- package/front_end/core/sdk/AccessibilityModel.ts +7 -7
- package/front_end/devtools_compatibility.js +0 -1
- package/front_end/entrypoints/device_mode_emulation_frame/device_mode_emulation_frame.ts +2 -7
- package/front_end/entrypoints/main/MainImpl.ts +1 -3
- package/front_end/models/issues_manager/AttributionReportingIssue.ts +53 -7
- package/front_end/models/issues_manager/CorsIssue.ts +1 -4
- 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/models/issues_manager/descriptions/corsPreflightResponseInvalid.md +2 -2
- 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/animation/animationTimeline.css +2 -1
- package/front_end/panels/application/components/FrameDetailsView.ts +29 -15
- package/front_end/panels/console/ConsolePrompt.ts +14 -8
- package/front_end/panels/elements/AccessibilityTreeView.ts +4 -6
- package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +44 -0
- package/front_end/panels/issues/CorsIssueDetailsView.ts +6 -2
- package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +1 -0
- package/front_end/panels/sources/BreakpointEditDialog.ts +8 -5
- package/front_end/panels/timeline/TimelinePanel.ts +5 -4
- package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
- package/front_end/third_party/codemirror.next/codemirror.next.d.ts +23 -6
- package/front_end/third_party/codemirror.next/package.json +4 -4
- package/front_end/ui/components/markdown_view/MarkdownLinksMap.ts +16 -0
- package/front_end/ui/components/report_view/report.css +0 -1
- package/front_end/ui/components/text_editor/config.ts +7 -4
- package/front_end/ui/components/text_editor/javascript.ts +16 -7
- package/package.json +1 -1
- package/scripts/build/ninja/copy.gni +2 -2
- package/front_end/core/platform/utilities.ts +0 -49
- package/scripts/build/rjsmin.py +0 -484
|
@@ -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
|
}
|
|
@@ -47,6 +47,11 @@ const UIStrings = {
|
|
|
47
47
|
*/
|
|
48
48
|
document: 'Document',
|
|
49
49
|
/**
|
|
50
|
+
*@description A web URL (for a lot of languages this does not need to be translated, please translate only where necessary)
|
|
51
|
+
*/
|
|
52
|
+
url: 'URL',
|
|
53
|
+
/**
|
|
54
|
+
/**
|
|
50
55
|
*@description Title for a link to the Sources panel
|
|
51
56
|
*/
|
|
52
57
|
clickToRevealInSourcesPanel: 'Click to reveal in Sources panel',
|
|
@@ -63,6 +68,12 @@ const UIStrings = {
|
|
|
63
68
|
*/
|
|
64
69
|
clickToRevealInNetworkPanelMight: 'Click to reveal in Network panel (might require page reload)',
|
|
65
70
|
/**
|
|
71
|
+
*@description The origin of a URL (https://web.dev/same-site-same-origin/#origin)
|
|
72
|
+
*(for a lot of languages this does not need to be translated, please translate only where necessary)
|
|
73
|
+
*/
|
|
74
|
+
origin: 'Origin',
|
|
75
|
+
/**
|
|
76
|
+
/**
|
|
66
77
|
*@description Related node label in Timeline UIUtils of the Performance panel
|
|
67
78
|
*/
|
|
68
79
|
ownerElement: 'Owner Element',
|
|
@@ -107,9 +118,11 @@ const UIStrings = {
|
|
|
107
118
|
*/
|
|
108
119
|
no: 'No',
|
|
109
120
|
/**
|
|
110
|
-
*@description
|
|
121
|
+
*@description Label for whether a frame is cross-origin isolated
|
|
122
|
+
*(https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/)
|
|
123
|
+
*(for a lot of languages this does not need to be translated, please translate only where necessary)
|
|
111
124
|
*/
|
|
112
|
-
crossoriginIsolated: '
|
|
125
|
+
crossoriginIsolated: 'Cross-Origin Isolated',
|
|
113
126
|
/**
|
|
114
127
|
*@description Explanatory text in the Frame Details view
|
|
115
128
|
*/
|
|
@@ -132,10 +145,11 @@ const UIStrings = {
|
|
|
132
145
|
*/
|
|
133
146
|
apiAvailability: 'API availability',
|
|
134
147
|
/**
|
|
135
|
-
*@description
|
|
148
|
+
*@description Explanation of why cross-origin isolation is important
|
|
149
|
+
*(https://web.dev/why-coop-coep/)
|
|
150
|
+
*(for a lot of languages 'cross-origin isolation' does not need to be translated, please translate only where necessary)
|
|
136
151
|
*/
|
|
137
|
-
availabilityOfCertainApisDepends:
|
|
138
|
-
'Availability of certain APIs depends on the document being `cross-origin` isolated.',
|
|
152
|
+
availabilityOfCertainApisDepends: 'Availability of certain APIs depends on the document being cross-origin isolated.',
|
|
139
153
|
/**
|
|
140
154
|
*@description Description of the SharedArrayBuffer status
|
|
141
155
|
*/
|
|
@@ -159,13 +173,17 @@ const UIStrings = {
|
|
|
159
173
|
sharedarraybufferConstructorIsAvailable:
|
|
160
174
|
'`SharedArrayBuffer` constructor is available but `SABs` cannot be transferred via `postMessage`',
|
|
161
175
|
/**
|
|
162
|
-
*@description Explanation
|
|
176
|
+
*@description Explanation why SharedArrayBuffer will not be available in the future
|
|
177
|
+
*(https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/)
|
|
178
|
+
*(for a lot of languages 'cross-origin isolation' does not need to be translated, please translate only where necessary)
|
|
163
179
|
*/
|
|
164
|
-
willRequireCrossoriginIsolated: '⚠️ will require
|
|
180
|
+
willRequireCrossoriginIsolated: '⚠️ will require cross-origin isolated context in the future',
|
|
165
181
|
/**
|
|
166
|
-
*@description Explanation
|
|
182
|
+
*@description Explanation why SharedArrayBuffer is not available
|
|
183
|
+
*(https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/)
|
|
184
|
+
*(for a lot of languages 'cross-origin isolation' does not need to be translated, please translate only where necessary).
|
|
167
185
|
*/
|
|
168
|
-
requiresCrossoriginIsolated: 'requires
|
|
186
|
+
requiresCrossoriginIsolated: 'requires cross-origin isolated context',
|
|
169
187
|
/**
|
|
170
188
|
*@description Explanation for the SharedArrayBuffer availability status in case the transfer of a SAB requires the
|
|
171
189
|
* permission policy `cross-origin-isolated` to be enabled (e.g. because the message refers to the situation in an iframe).
|
|
@@ -218,10 +236,6 @@ const UIStrings = {
|
|
|
218
236
|
*/
|
|
219
237
|
createdByAdScriptExplanation:
|
|
220
238
|
'There was an ad script in the `(async) stack` when this frame was created. Examining the creation `stack trace` of this frame might provide more insight.',
|
|
221
|
-
/**
|
|
222
|
-
*@description Label for a list of origin trials that associated with at least one token.
|
|
223
|
-
*/
|
|
224
|
-
// originTrials: 'Origin Trials',
|
|
225
239
|
};
|
|
226
240
|
const str_ = i18n.i18n.registerUIStrings('panels/application/components/FrameDetailsView.ts', UIStrings);
|
|
227
241
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
@@ -343,7 +357,7 @@ export class FrameDetailsReportView extends HTMLElement {
|
|
|
343
357
|
return LitHtml.html`
|
|
344
358
|
<${ReportView.ReportView.ReportSectionHeader.litTagName}>${i18nString(UIStrings.document)}</${
|
|
345
359
|
ReportView.ReportView.ReportSectionHeader.litTagName}>
|
|
346
|
-
<${ReportView.ReportView.ReportKey.litTagName}>${
|
|
360
|
+
<${ReportView.ReportView.ReportKey.litTagName}>${i18nString(UIStrings.url)}</${
|
|
347
361
|
ReportView.ReportView.ReportKey.litTagName}>
|
|
348
362
|
<${ReportView.ReportView.ReportValue.litTagName}>
|
|
349
363
|
<div class="inline-items">
|
|
@@ -449,7 +463,7 @@ export class FrameDetailsReportView extends HTMLElement {
|
|
|
449
463
|
private maybeRenderOrigin(): LitHtml.TemplateResult|{} {
|
|
450
464
|
if (this.frame && this.frame.securityOrigin && this.frame.securityOrigin !== '://') {
|
|
451
465
|
return LitHtml.html`
|
|
452
|
-
<${ReportView.ReportView.ReportKey.litTagName}>${
|
|
466
|
+
<${ReportView.ReportView.ReportKey.litTagName}>${i18nString(UIStrings.origin)}</${
|
|
453
467
|
ReportView.ReportView.ReportKey.litTagName}>
|
|
454
468
|
<${ReportView.ReportView.ReportValue.litTagName}>
|
|
455
469
|
<div class="text-ellipsis" title=${this.frame.securityOrigin}>${this.frame.securityOrigin}</div>
|
|
@@ -207,7 +207,14 @@ export class ConsolePrompt extends Common.ObjectWrapper.eventMixin<EventTypes, t
|
|
|
207
207
|
{key: 'ArrowDown', run: (): boolean => this.moveHistory(1)},
|
|
208
208
|
{mac: 'Ctrl-p', run: (): boolean => this.moveHistory(-1, true)},
|
|
209
209
|
{mac: 'Ctrl-n', run: (): boolean => this.moveHistory(1, true)},
|
|
210
|
-
{
|
|
210
|
+
{
|
|
211
|
+
key: 'Enter',
|
|
212
|
+
run: (): boolean => {
|
|
213
|
+
this.handleEnter();
|
|
214
|
+
return true;
|
|
215
|
+
},
|
|
216
|
+
shift: CodeMirror.insertNewlineAndIndent,
|
|
217
|
+
},
|
|
211
218
|
];
|
|
212
219
|
}
|
|
213
220
|
|
|
@@ -242,29 +249,28 @@ export class ConsolePrompt extends Common.ObjectWrapper.eventMixin<EventTypes, t
|
|
|
242
249
|
return true;
|
|
243
250
|
}
|
|
244
251
|
|
|
245
|
-
private enterWillEvaluate(): boolean {
|
|
252
|
+
private async enterWillEvaluate(): Promise<boolean> {
|
|
246
253
|
const {state} = this.editor;
|
|
247
|
-
return state.doc.length > 0 && TextEditor.JavaScript.isExpressionComplete(state);
|
|
254
|
+
return state.doc.length > 0 && await TextEditor.JavaScript.isExpressionComplete(state.doc.toString());
|
|
248
255
|
}
|
|
249
256
|
|
|
250
|
-
private
|
|
251
|
-
if (this.enterWillEvaluate()) {
|
|
257
|
+
private async handleEnter(): Promise<void> {
|
|
258
|
+
if (await this.enterWillEvaluate()) {
|
|
252
259
|
this.appendCommand(this.text(), true);
|
|
253
260
|
this.editor.dispatch({
|
|
254
261
|
changes: {from: 0, to: this.editor.state.doc.length},
|
|
255
262
|
scrollIntoView: true,
|
|
256
263
|
});
|
|
257
264
|
} else if (this.editor.state.doc.length) {
|
|
258
|
-
|
|
265
|
+
CodeMirror.insertNewlineAndIndent(this.editor.editor);
|
|
259
266
|
} else {
|
|
260
267
|
this.editor.dispatch({scrollIntoView: true});
|
|
261
268
|
}
|
|
262
|
-
return true;
|
|
263
269
|
}
|
|
264
270
|
|
|
265
271
|
private updatePromptIcon(): void {
|
|
266
272
|
this.iconThrottler.schedule(async () => {
|
|
267
|
-
this.promptIcon.classList.toggle('console-prompt-incomplete', !this.enterWillEvaluate());
|
|
273
|
+
this.promptIcon.classList.toggle('console-prompt-incomplete', !(await this.enterWillEvaluate()));
|
|
268
274
|
});
|
|
269
275
|
}
|
|
270
276
|
|
|
@@ -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 || '');
|
|
@@ -119,6 +119,10 @@ const UIStrings = {
|
|
|
119
119
|
*@description Header for the column with the URL scheme that is not supported by fetch
|
|
120
120
|
*/
|
|
121
121
|
unsupportedScheme: 'Unsupported Scheme',
|
|
122
|
+
/**
|
|
123
|
+
*@description A failed network request.
|
|
124
|
+
*/
|
|
125
|
+
failedRequest: 'Failed Request',
|
|
122
126
|
};
|
|
123
127
|
const str_ = i18n.i18n.registerUIStrings('panels/issues/CorsIssueDetailsView.ts', UIStrings);
|
|
124
128
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
@@ -210,7 +214,6 @@ export class CorsIssueDetailsView extends AffectedResourcesView {
|
|
|
210
214
|
default:
|
|
211
215
|
Platform.assertUnhandled<IssuesManager.CorsIssue.IssueCode.PreflightMissingAllowExternal|
|
|
212
216
|
IssuesManager.CorsIssue.IssueCode.PreflightInvalidAllowExternal|
|
|
213
|
-
IssuesManager.CorsIssue.IssueCode.InvalidResponse|
|
|
214
217
|
IssuesManager.CorsIssue.IssueCode.InvalidPrivateNetworkAccess|
|
|
215
218
|
IssuesManager.CorsIssue.IssueCode.UnexpectedPrivateNetworkAccess>(issueCode);
|
|
216
219
|
}
|
|
@@ -283,6 +286,8 @@ export class CorsIssueDetailsView extends AffectedResourcesView {
|
|
|
283
286
|
return i18nString(UIStrings.preflightInvalidStatus);
|
|
284
287
|
case Protocol.Network.CorsError.PreflightDisallowedRedirect:
|
|
285
288
|
return i18nString(UIStrings.preflightDisallowedRedirect);
|
|
289
|
+
case Protocol.Network.CorsError.InvalidResponse:
|
|
290
|
+
return i18nString(UIStrings.failedRequest);
|
|
286
291
|
}
|
|
287
292
|
throw new Error('Invalid Argument');
|
|
288
293
|
}
|
|
@@ -447,7 +452,6 @@ export class CorsIssueDetailsView extends AffectedResourcesView {
|
|
|
447
452
|
this.appendStatus(element, details.isWarning);
|
|
448
453
|
Platform.assertUnhandled<IssuesManager.CorsIssue.IssueCode.PreflightMissingAllowExternal|
|
|
449
454
|
IssuesManager.CorsIssue.IssueCode.PreflightInvalidAllowExternal|
|
|
450
|
-
IssuesManager.CorsIssue.IssueCode.InvalidResponse|
|
|
451
455
|
IssuesManager.CorsIssue.IssueCode.InvalidPrivateNetworkAccess|
|
|
452
456
|
IssuesManager.CorsIssue.IssueCode.UnexpectedPrivateNetworkAccess>(issueCode);
|
|
453
457
|
break;
|
|
@@ -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'}
|
|
@@ -106,11 +106,14 @@ export class BreakpointEditDialog extends UI.Widget.Widget {
|
|
|
106
106
|
|
|
107
107
|
const content = oldCondition || '';
|
|
108
108
|
const finishIfComplete = (view: CodeMirror.EditorView): boolean => {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
109
|
+
TextEditor.JavaScript.isExpressionComplete(view.state.doc.toString()).then((complete): void => {
|
|
110
|
+
if (complete) {
|
|
111
|
+
this.finishEditing(true, this.editor.state.doc.toString());
|
|
112
|
+
} else {
|
|
113
|
+
CodeMirror.insertNewlineAndIndent(view);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
return true;
|
|
114
117
|
};
|
|
115
118
|
const keymap = [
|
|
116
119
|
{
|
|
@@ -842,7 +842,7 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
|
|
|
842
842
|
|
|
843
843
|
private recordingFailed(error: string): void {
|
|
844
844
|
if (this.statusPane) {
|
|
845
|
-
this.statusPane.
|
|
845
|
+
this.statusPane.remove();
|
|
846
846
|
}
|
|
847
847
|
this.statusPane = new StatusPane(
|
|
848
848
|
{
|
|
@@ -1036,7 +1036,7 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
|
|
|
1036
1036
|
this.hideLandingPage();
|
|
1037
1037
|
|
|
1038
1038
|
if (this.statusPane) {
|
|
1039
|
-
this.statusPane.
|
|
1039
|
+
this.statusPane.remove();
|
|
1040
1040
|
}
|
|
1041
1041
|
this.statusPane = new StatusPane(
|
|
1042
1042
|
{
|
|
@@ -1073,7 +1073,7 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
|
|
|
1073
1073
|
this.setState(State.Idle);
|
|
1074
1074
|
|
|
1075
1075
|
if (this.statusPane) {
|
|
1076
|
-
this.statusPane.
|
|
1076
|
+
this.statusPane.remove();
|
|
1077
1077
|
}
|
|
1078
1078
|
this.statusPane = null;
|
|
1079
1079
|
|
|
@@ -1405,9 +1405,10 @@ export class StatusPane extends UI.Widget.VBox {
|
|
|
1405
1405
|
this.button.disabled = true;
|
|
1406
1406
|
}
|
|
1407
1407
|
|
|
1408
|
-
|
|
1408
|
+
remove(): void {
|
|
1409
1409
|
(this.element.parentNode as HTMLElement).classList.remove('tinted');
|
|
1410
1410
|
this.arrangeDialog((this.element.parentNode as HTMLElement));
|
|
1411
|
+
this.stopTimer();
|
|
1411
1412
|
this.element.remove();
|
|
1412
1413
|
}
|
|
1413
1414
|
|