chrome-devtools-frontend 1.0.948445 → 1.0.950484

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 (62) hide show
  1. package/config/gni/all_devtools_files.gni +5 -0
  2. package/config/gni/devtools_grd_files.gni +5 -6
  3. package/front_end/core/i18n/locales/en-US.json +45 -30
  4. package/front_end/core/i18n/locales/en-XL.json +49 -34
  5. package/front_end/core/root/Runtime.ts +1 -0
  6. package/front_end/core/sdk/AccessibilityModel.ts +7 -7
  7. package/front_end/core/sdk/RemoteObject.ts +15 -1
  8. package/front_end/entrypoints/devtools_app/devtools_app.ts +0 -1
  9. package/front_end/entrypoints/visibility.gni +3 -1
  10. package/front_end/entrypoints/worker_app/worker_app.ts +0 -1
  11. package/front_end/generated/InspectorBackendCommands.js +8 -1
  12. package/front_end/generated/protocol-mapping.d.ts +4 -0
  13. package/front_end/generated/protocol-proxy-api.d.ts +6 -0
  14. package/front_end/generated/protocol.d.ts +9 -0
  15. package/front_end/models/issues_manager/AttributionReportingIssue.ts +75 -4
  16. package/front_end/models/issues_manager/CorsIssue.ts +1 -4
  17. package/front_end/models/issues_manager/descriptions/arInvalidAttributionSourceExpiry.md +4 -0
  18. package/front_end/models/issues_manager/descriptions/arInvalidAttributionSourcePriority.md +4 -0
  19. package/front_end/models/issues_manager/descriptions/arInvalidEventSourceTriggerData.md +9 -0
  20. package/front_end/models/issues_manager/descriptions/arInvalidTriggerDedupKey.md +5 -0
  21. package/front_end/models/issues_manager/descriptions/arInvalidTriggerPriority.md +5 -0
  22. package/front_end/models/issues_manager/descriptions/corsPreflightResponseInvalid.md +2 -2
  23. package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +45 -3
  24. package/front_end/panels/accessibility/AccessibilitySidebarView.ts +2 -4
  25. package/front_end/panels/accessibility/axBreadcrumbs.css +4 -0
  26. package/front_end/panels/animation/animationTimeline.css +2 -1
  27. package/front_end/panels/application/components/FrameDetailsView.ts +29 -15
  28. package/front_end/panels/console/ConsolePrompt.ts +14 -12
  29. package/front_end/panels/elements/AccessibilityTreeUtils.ts +1 -7
  30. package/front_end/panels/elements/AccessibilityTreeView.ts +4 -6
  31. package/front_end/panels/elements/PropertiesWidget.ts +109 -4
  32. package/front_end/panels/elements/propertiesWidget.css +34 -0
  33. package/front_end/panels/emulation/DeviceModeToolbar.ts +5 -1
  34. package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +44 -0
  35. package/front_end/panels/issues/CorsIssueDetailsView.ts +6 -2
  36. package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +1 -0
  37. package/front_end/panels/sources/BreakpointEditDialog.ts +8 -5
  38. package/front_end/panels/timeline/TimelinePanel.ts +5 -4
  39. package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
  40. package/front_end/third_party/codemirror.next/codemirror.next.d.ts +8 -6
  41. package/front_end/third_party/codemirror.next/package.json +3 -3
  42. package/front_end/ui/components/markdown_view/MarkdownLinksMap.ts +16 -0
  43. package/front_end/ui/components/text_editor/javascript.ts +16 -7
  44. package/package.json +1 -1
  45. package/scripts/eslint_rules/lib/ban_a_tags_in_lit_html.js +2 -11
  46. package/scripts/eslint_rules/lib/ban_literal_devtools_component_tag_names.js +2 -11
  47. package/scripts/eslint_rules/lib/ban_self_closing_custom_element_tagnames.js +2 -11
  48. package/scripts/eslint_rules/lib/ban_style_tags_in_lit_html.js +2 -11
  49. package/scripts/eslint_rules/lib/lit_html_data_as_type.js +2 -11
  50. package/scripts/eslint_rules/lib/lit_html_no_attribute_quotes.js +1 -13
  51. package/scripts/eslint_rules/lib/lit_no_style_interpolation.js +2 -11
  52. package/scripts/eslint_rules/lib/static_tag_must_be_static_property.js +2 -11
  53. package/scripts/eslint_rules/lib/utils.js +29 -0
  54. package/scripts/eslint_rules/tests/.eslintrc.js +4 -0
  55. package/scripts/eslint_rules/tests/utils_test.js +40 -0
  56. package/front_end/panels/help/HelpImpl.ts +0 -141
  57. package/front_end/panels/help/ReleaseNoteText.ts +0 -1496
  58. package/front_end/panels/help/ReleaseNoteView.ts +0 -107
  59. package/front_end/panels/help/help-meta.ts +0 -145
  60. package/front_end/panels/help/help.ts +0 -13
  61. package/front_end/panels/help/releaseNote.css +0 -115
  62. package/scripts/build/rjsmin.py +0 -484
@@ -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
- if (TextEditor.JavaScript.isExpressionComplete(view.state)) {
110
- this.finishEditing(true, this.editor.state.doc.toString());
111
- return true;
112
- }
113
- return false;
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.hide();
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.hide();
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.hide();
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
- hide(): void {
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