chrome-devtools-frontend 1.0.1682249 → 1.0.1684555

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 (103) hide show
  1. package/AUTHORS +1 -0
  2. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +0 -7
  3. package/front_end/core/sdk/StorageBucketsModel.ts +0 -6
  4. package/front_end/entrypoints/inspector_main/InspectorMain.ts +2 -1
  5. package/front_end/entrypoints/inspector_main/inspector_main-meta.ts +1 -5
  6. package/front_end/entrypoints/main/MainImpl.ts +6 -4
  7. package/front_end/entrypoints/main/main-meta.ts +9 -51
  8. package/front_end/foundation/Universe.ts +7 -0
  9. package/front_end/generated/InspectorBackendCommands.ts +12 -22
  10. package/front_end/generated/protocol-mapping.d.ts +9 -59
  11. package/front_end/generated/protocol-proxy-api.d.ts +7 -47
  12. package/front_end/generated/protocol.ts +105 -330
  13. package/front_end/models/ai_assistance/AiAgent2.ts +12 -4
  14. package/front_end/models/ai_assistance/AiConversation.ts +25 -7
  15. package/front_end/models/ai_assistance/agents/AiAgent.ts +11 -19
  16. package/front_end/models/ai_assistance/agents/StorageAgent.ts +6 -6
  17. package/front_end/models/ai_assistance/ai_assistance.ts +4 -0
  18. package/front_end/models/ai_assistance/tools/GetLighthouseAudits.ts +12 -6
  19. package/front_end/models/ai_assistance/tools/GetStorageValues.ts +1 -1
  20. package/front_end/models/ai_assistance/tools/ListStorageKeys.ts +1 -1
  21. package/front_end/models/ai_assistance/tools/RunLighthouse.ts +5 -8
  22. package/front_end/models/ai_assistance/tools/Tool.ts +19 -6
  23. package/front_end/models/issues_manager/DOMIssuesManager.ts +144 -0
  24. package/front_end/models/issues_manager/ElementAccessibilityIssue.ts +13 -1
  25. package/front_end/models/issues_manager/GenericIssue.ts +14 -2
  26. package/front_end/models/issues_manager/IssuesManager.ts +0 -1
  27. package/front_end/models/issues_manager/issues_manager.ts +2 -0
  28. package/front_end/models/javascript_metadata/NativeFunctions.js +8 -0
  29. package/front_end/models/trace/Processor.ts +1 -0
  30. package/front_end/panels/ai_assistance/ExternalHandler.ts +89 -0
  31. package/front_end/panels/ai_assistance/ai_assistance.ts +1 -0
  32. package/front_end/panels/application/BackgroundServiceModel.ts +4 -3
  33. package/front_end/panels/application/IndexedDBModel.ts +0 -7
  34. package/front_end/panels/console/ConsoleView.ts +17 -16
  35. package/front_end/panels/console/ConsoleViewMessage.ts +4 -1
  36. package/front_end/panels/console/console-meta.ts +4 -19
  37. package/front_end/panels/elements/ElementIssueUtils.ts +10 -2
  38. package/front_end/panels/elements/ElementsPanel.ts +8 -3
  39. package/front_end/panels/elements/ElementsTreeElement.ts +82 -161
  40. package/front_end/panels/elements/ElementsTreeOutline.ts +26 -105
  41. package/front_end/panels/elements/StandaloneStylesContainer.ts +5 -11
  42. package/front_end/panels/elements/StylePropertyTreeElement.ts +2 -0
  43. package/front_end/panels/elements/StylesContainer.ts +1 -0
  44. package/front_end/panels/elements/StylesSidebarPane.ts +174 -151
  45. package/front_end/panels/network/RequestPayloadView.ts +5 -2
  46. package/front_end/panels/security/SecurityPanelSidebar.ts +0 -32
  47. package/front_end/panels/settings/KeybindsSettingsTab.ts +5 -2
  48. package/front_end/panels/sources/SourcesPanel.ts +6 -3
  49. package/front_end/panels/timeline/components/BreadcrumbsUI.ts +2 -6
  50. package/front_end/panels/timeline/components/CWVMetrics.ts +9 -10
  51. package/front_end/panels/timeline/components/DetailsView.ts +12 -16
  52. package/front_end/panels/timeline/components/ExportTraceOptions.ts +13 -13
  53. package/front_end/panels/timeline/components/FieldSettingsDialog.ts +19 -19
  54. package/front_end/panels/timeline/components/IgnoreListSetting.ts +7 -9
  55. package/front_end/panels/timeline/components/InteractionBreakdown.ts +3 -3
  56. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +13 -13
  57. package/front_end/panels/timeline/components/LiveMetricsView.ts +64 -64
  58. package/front_end/panels/timeline/components/MetricCard.ts +25 -25
  59. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +22 -22
  60. package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +9 -9
  61. package/front_end/panels/timeline/components/OriginMap.ts +7 -7
  62. package/front_end/panels/timeline/components/RelatedInsightChips.ts +2 -2
  63. package/front_end/panels/timeline/components/SidebarAnnotationsTab.ts +19 -20
  64. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +1 -1
  65. package/front_end/panels/timeline/components/TimelineSummary.ts +2 -2
  66. package/front_end/panels/timeline/components/Utils.ts +2 -6
  67. package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +6 -9
  68. package/front_end/panels/timeline/components/insights/Checklist.ts +2 -2
  69. package/front_end/panels/timeline/components/insights/Table.ts +1 -1
  70. package/front_end/third_party/chromium/README.chromium +1 -1
  71. package/front_end/ui/comments/CommentAnchorResolver.ts +94 -0
  72. package/front_end/ui/comments/CommentOverlayManager.ts +16 -32
  73. package/front_end/ui/components/text_editor/config.ts +2 -1
  74. package/front_end/ui/legacy/DockController.ts +4 -1
  75. package/front_end/ui/legacy/InspectorView.ts +3 -1
  76. package/front_end/ui/legacy/KeyboardShortcut.ts +4 -7
  77. package/front_end/ui/legacy/SearchableView.ts +2 -1
  78. package/front_end/ui/legacy/ShortcutRegistry.ts +6 -3
  79. package/front_end/ui/legacy/UIUtils.ts +10 -6
  80. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +23 -24
  81. package/front_end/ui/legacy/components/perf_ui/BrickBreaker.ts +2 -2
  82. package/front_end/ui/legacy/components/perf_ui/FilmStripView.ts +6 -6
  83. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +14 -15
  84. package/front_end/ui/legacy/components/perf_ui/GCActionDelegate.ts +1 -1
  85. package/front_end/ui/legacy/components/perf_ui/NetworkPriorities.ts +5 -5
  86. package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +5 -5
  87. package/front_end/ui/legacy/components/perf_ui/PieChart.ts +1 -1
  88. package/front_end/ui/legacy/components/perf_ui/perf_ui-meta.ts +4 -6
  89. package/front_end/ui/legacy/components/source_frame/FontView.ts +2 -2
  90. package/front_end/ui/legacy/components/source_frame/ImageView.ts +13 -13
  91. package/front_end/ui/legacy/components/source_frame/JSONView.ts +1 -1
  92. package/front_end/ui/legacy/components/source_frame/PreviewFactory.ts +2 -2
  93. package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +1 -1
  94. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +15 -18
  95. package/front_end/ui/legacy/components/source_frame/XMLView.ts +1 -1
  96. package/front_end/ui/legacy/components/source_frame/source_frame-meta.ts +10 -10
  97. package/front_end/ui/legacy/theme_support/ThemeSupport.ts +5 -2
  98. package/front_end/ui/settings/ConsoleSettings.ts +32 -0
  99. package/front_end/ui/settings/InspectorMainSettings.ts +7 -0
  100. package/front_end/ui/settings/MainSettings.ts +80 -0
  101. package/front_end/ui/settings/settings.ts +4 -0
  102. package/front_end/ui/visual_logging/KnownContextValues.ts +8 -0
  103. package/package.json +1 -1
@@ -203,7 +203,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
203
203
  });
204
204
  objectTree.expanded = true;
205
205
  return html`
206
- <li role=treeitem class="source-code object-properties-section-root-element object-properties-section" open>
206
+ <li role=treeitem class="source-code object-properties-section-root-element object-properties-section" toggle-on-click open>
207
207
  ${object.description}
208
208
  ${object.hasChildren ? ObjectUI.ObjectPropertiesSection.renderObjectTree(objectTree) : nothing}
209
209
  </li>
@@ -241,13 +241,14 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
241
241
 
242
242
  // clang-format off
243
243
  render(html`<style>${requestPayloadViewStyles}</style>
244
- <devtools-tree dense class=request-payload-tree .template=${html`
244
+ <devtools-tree dense show-selection-on-keyboard-focus class=request-payload-tree .template=${html`
245
245
  <style>${objectValueStyles}</style>
246
246
  <style>${objectPropertiesSectionStyles}</style>
247
247
  <style>${requestPayloadTreeStyles}</style>
248
248
  <ul role=tree>
249
249
  <li
250
250
  role=treeitem
251
+ toggle-on-click
251
252
  ?hidden=${!input.queryParameters}
252
253
  jslog=${VisualLogging.section().context('query-string')}
253
254
  @contextmenu=${onContextMenu(
@@ -280,6 +281,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
280
281
  </li>
281
282
  <li
282
283
  role=treeitem
284
+ toggle-on-click
283
285
  ?hidden=${!input.formData || !input.formParameters}
284
286
  jslog=${VisualLogging.section().context('form-data')}
285
287
  @contextmenu=${onContextMenu(
@@ -311,6 +313,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
311
313
  </li>
312
314
  <li
313
315
  role=treeitem
316
+ toggle-on-click
314
317
  ?hidden=${!input.formData || Boolean(input.formParameters) || Boolean(input.binaryPayloadContentData)}
315
318
  jslog=${VisualLogging.section().context('request-payload')}
316
319
  @contextmenu=${onContextMenu(
@@ -274,38 +274,6 @@ export class SecurityPanelSidebar extends UI.Widget.VBox {
274
274
  this.requestUpdate();
275
275
  }
276
276
 
277
- // Used in web tests
278
- elementsByOrigin(): Map<string, {
279
- select: (omitFocus?: boolean, selectedByUser?: boolean) => void,
280
- showElement: () => void,
281
- origin: () => string,
282
- securityState: () => Protocol.Security.SecurityState | undefined,
283
- }> {
284
- const map = new Map<string, {
285
- select: (omitFocus?: boolean, selectedByUser?: boolean) => void,
286
- showElement: () => void,
287
- origin: () => string,
288
- securityState: () => Protocol.Security.SecurityState | undefined,
289
- }>();
290
- for (const [origin, state] of this.#origins.entries()) {
291
- const element = {
292
- select: () => {
293
- this.#selectedElementId = origin;
294
- this.#securitySidebarLastItemSetting.set(origin);
295
- this.requestUpdate();
296
- this.#onShowOrigin?.(origin);
297
- },
298
- showElement: () => {
299
- this.#onShowOrigin?.(origin);
300
- },
301
- origin: () => origin,
302
- securityState: () => state,
303
- };
304
- map.set(origin, element);
305
- }
306
- return map;
307
- }
308
-
309
277
  set selectedOrigin(origin: Platform.DevToolsPath.UrlString|null) {
310
278
  this.#selectedElementId = origin ?? 'overview';
311
279
  this.#securitySidebarLastItemSetting.set(this.#selectedElementId);
@@ -11,6 +11,7 @@ import * as Buttons from '../../ui/components/buttons/buttons.js';
11
11
  import {createIcon, type Icon, Link} from '../../ui/kit/kit.js';
12
12
  import * as SettingsUI from '../../ui/legacy/components/settings_ui/settings_ui.js';
13
13
  import * as UI from '../../ui/legacy/legacy.js';
14
+ import * as Settings from '../../ui/settings/settings.js';
14
15
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
15
16
 
16
17
  import keybindsSettingsTabStyles from './keybindsSettingsTab.css.js';
@@ -121,8 +122,10 @@ export class KeybindsSettingsTab extends UI.Widget.VBox implements UI.ListContro
121
122
  this.contentElement.createChild('div', 'settings-card-container-wrapper').createChild('div');
122
123
  settingsContent.classList.add('settings-card-container');
123
124
 
124
- const keybindsSetSetting = Common.Settings.Settings.instance().moduleSetting('active-keybind-set');
125
- const userShortcutsSetting = Common.Settings.Settings.instance().moduleSetting('user-shortcuts');
125
+ const keybindsSetSetting =
126
+ Common.Settings.Settings.instance().resolve(Settings.MainSettings.activeKeybindSetSettingDescriptor);
127
+ const userShortcutsSetting =
128
+ Common.Settings.Settings.instance().resolve(Settings.MainSettings.userShortcutsSettingDescriptor);
126
129
  keybindsSetSetting.addChangeListener(this.update, this);
127
130
  const keybindsSetSelect = SettingsUI.SettingsUI.createControlForSetting(
128
131
  keybindsSetSetting, i18nString(UIStrings.matchShortcutsFromPreset));
@@ -48,6 +48,7 @@ import * as ObjectUI from '../../ui/legacy/components/object_ui/object_ui.js';
48
48
  import * as SettingsUI from '../../ui/legacy/components/settings_ui/settings_ui.js';
49
49
  import type * as SourceFrame from '../../ui/legacy/components/source_frame/source_frame.js';
50
50
  import * as UI from '../../ui/legacy/legacy.js';
51
+ import * as Settings from '../../ui/settings/settings.js';
51
52
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
52
53
  import * as Snippets from '../snippets/snippets.js';
53
54
 
@@ -281,7 +282,7 @@ export class SourcesPanel extends UI.Panel.Panel implements
281
282
  this.callstackPane = CallStackSidebarPane.instance();
282
283
 
283
284
  Common.Settings.Settings.instance()
284
- .moduleSetting('sidebar-position')
285
+ .resolve(Settings.MainSettings.sidebarPositionSettingDescriptor)
285
286
  .addChangeListener(this.updateSidebarPosition.bind(this));
286
287
  this.updateSidebarPosition();
287
288
 
@@ -414,7 +415,8 @@ export class SourcesPanel extends UI.Panel.Panel implements
414
415
  }
415
416
 
416
417
  override onResize(): void {
417
- if (Common.Settings.Settings.instance().moduleSetting('sidebar-position').get() === 'auto') {
418
+ if (Common.Settings.Settings.instance().resolve(Settings.MainSettings.sidebarPositionSettingDescriptor).get() ===
419
+ 'auto') {
418
420
  this.element.window().requestAnimationFrame(this.updateSidebarPosition.bind(this));
419
421
  } // Do not force layout.
420
422
  }
@@ -1111,7 +1113,8 @@ export class SourcesPanel extends UI.Panel.Panel implements
1111
1113
 
1112
1114
  private updateSidebarPosition(): void {
1113
1115
  let vertically;
1114
- const position = Common.Settings.Settings.instance().moduleSetting('sidebar-position').get();
1116
+ const position =
1117
+ Common.Settings.Settings.instance().resolve(Settings.MainSettings.sidebarPositionSettingDescriptor).get();
1115
1118
  if (position === 'right') {
1116
1119
  vertically = false;
1117
1120
  } else if (position === 'bottom') {
@@ -17,17 +17,13 @@ const {render, html} = Lit;
17
17
 
18
18
  const UIStrings = {
19
19
  /**
20
- * @description A context menu item in the Minimap Breadcrumb context menu.
21
- * This context menu option activates the breadcrumb that the context menu was opened on.
20
+ * @description Context menu item in the Performance panel to activate the selected breadcrumb.
22
21
  */
23
22
  activateBreadcrumb: 'Activate breadcrumb',
24
23
  /**
25
- * @description A context menu item in the Minimap Breadcrumb context menu.
26
- * This context menu option removed all the child breadcrumbs and activates
27
- * the breadcrumb that the context menu was opened on.
24
+ * @description Context menu item in the Performance panel to remove all child breadcrumbs and activate the selected breadcrumb.
28
25
  */
29
26
  removeChildBreadcrumbs: 'Remove child breadcrumbs',
30
-
31
27
  } as const;
32
28
 
33
29
  const str_ = i18n.i18n.registerUIStrings('panels/timeline/components/BreadcrumbsUI.ts', UIStrings);
@@ -20,44 +20,43 @@ const {html} = Lit.StaticHtml;
20
20
 
21
21
  const UIStrings = {
22
22
  /**
23
- * @description title used for a metric value to tell the user about its score classification
23
+ * @description Tooltip and aria label for a metric value indicating its score classification in the Performance panel.
24
24
  * @example {INP} PH1
25
25
  * @example {1.2s} PH2
26
26
  * @example {poor} PH3
27
27
  */
28
28
  metricScore: '{PH1}: {PH2} {PH3} score',
29
29
  /**
30
- * @description title used for a metric value to tell the user that the data is unavailable
30
+ * @description Tooltip and aria label for a metric value indicating that the data is unavailable in the Performance panel.
31
31
  * @example {INP} PH1
32
32
  */
33
33
  metricScoreUnavailable: '{PH1}: unavailable',
34
34
  /**
35
- * @description Label denoting that metrics were observed in the field, from real use data (CrUX). Also denotes if from URL or Origin dataset.
35
+ * @description Label denoting that metrics were observed in the field from real user data (CrUX), and whether the data is from the URL or origin dataset in the Performance panel.
36
36
  * @example {URL} PH1
37
37
  */
38
38
  fieldScoreLabel: 'Field ({PH1})',
39
39
  /**
40
- * @description Label for an option that selects the page's specific URL as opposed to it's entire origin/domain.
40
+ * @description Label for an option that selects the specific URL in the Performance panel.
41
41
  */
42
42
  urlOption: 'URL',
43
43
  /**
44
- * @description Label for an option that selects the page's entire origin/domain as opposed to it's specific URL.
44
+ * @description Label for an option that selects the entire origin in the Performance panel.
45
45
  */
46
46
  originOption: 'Origin',
47
47
  /**
48
- * @description Title for button that closes a warning popup.
48
+ * @description Tooltip text for the dismiss button that closes a warning popup in the Performance panel.
49
49
  */
50
50
  dismissTitle: 'Dismiss',
51
51
  /**
52
- * @description Title shown in a warning dialog when field metrics (collected from real users) is worse than the locally observed metrics.
52
+ * @description Title shown in a warning dialog when field metrics are worse than locally observed metrics in the Performance panel.
53
53
  */
54
54
  fieldMismatchTitle: 'Field & local metrics mismatch',
55
55
  /**
56
- * @description Text shown in a warning dialog when field metrics (collected from real users) is worse than the locally observed metrics.
57
- * Asks user to use features such as throttling and device emulation.
56
+ * @description Warning notice shown when field metrics are worse than locally observed metrics in the Performance panel.
58
57
  */
59
58
  fieldMismatchNotice:
60
- 'There are many reasons why local and field metrics [may not match](https://web.dev/articles/lab-and-field-data-differences). ' +
59
+ 'Local and field metrics [may not match](https://web.dev/articles/lab-and-field-data-differences) for several reasons. ' +
61
60
  'Adjust [throttling settings and device emulation](https://developer.chrome.com/docs/devtools/device-mode) to analyze traces more similar to the average user’s environment.',
62
61
  } as const;
63
62
 
@@ -18,53 +18,49 @@ import {Link} from '../../../ui/kit/kit.js';
18
18
 
19
19
  const UIStrings = {
20
20
  /**
21
- * @description Text in the Performance panel for a forced style and layout calculation of elements
22
- * in a page. See https://developer.mozilla.org/en-US/docs/Glossary/Reflow
21
+ * @description Text in the Performance panel for a forced style and layout calculation of elements in a page.
23
22
  */
24
23
  forcedReflow: 'Forced reflow',
25
24
  /**
26
- * @description Text in Timeline UIUtils of the Performance panel
25
+ * @description Warning message indicating that an event is likely a performance bottleneck in the Performance panel.
27
26
  * @example {Forced reflow} PH1
28
27
  */
29
28
  sIsALikelyPerformanceBottleneck: '{PH1} is a likely performance bottleneck.',
30
29
  /**
31
- * @description Text in the Performance panel for a function called during a time the browser was
32
- * idle (inactive), which to longer to execute than a predefined deadline.
30
+ * @description Warning message in the Performance panel for an idle callback function that took longer to execute than its predefined deadline.
33
31
  * @example {10ms} PH1
34
32
  */
35
33
  idleCallbackExecutionExtended: 'Idle callback execution extended beyond deadline by {PH1}',
36
34
  /**
37
- * @description Text in the Performance panel which describes how long a task took.
38
- * @example {task} PH1
35
+ * @description Warning message in the Performance panel describing how long a task took.
36
+ * @example {Task} PH1
39
37
  * @example {10ms} PH2
40
38
  */
41
39
  sTookS: '{PH1} took {PH2}.',
42
40
  /**
43
- * @description Text in the Performance panel for a task that took long. See
44
- * https://developer.mozilla.org/en-US/docs/Glossary/Long_task
41
+ * @description Label in the Performance panel for a task that took a long time.
45
42
  */
46
43
  longTask: 'Long task',
47
44
  /**
48
- * @description Text used to highlight a long interaction and link to web.dev/inp
45
+ * @description Label in the Performance panel for an interaction that took a long time.
49
46
  */
50
47
  longInteractionINP: 'Long interaction',
51
48
  /**
52
- * @description Text in Timeline UIUtils of the Performance panel when the
53
- * user clicks on a long interaction.
49
+ * @description Warning message in the Performance panel indicating that an interaction caused poor responsiveness.
54
50
  * @example {Long interaction} PH1
55
51
  */
56
- sIsLikelyPoorPageResponsiveness: '{PH1} is indicating poor page responsiveness.',
52
+ sIsLikelyPoorPageResponsiveness: '{PH1} indicates poor page responsiveness.',
57
53
  /**
58
- * @description Text in Timeline UIUtils of the Performance panel
54
+ * @description Label for the WebSocket sub-protocol in the event details view of the Performance panel.
59
55
  */
60
56
  websocketProtocol: 'WebSocket protocol',
61
57
  /**
62
- * @description Details text indicating how many bytes were received in a WebSocket message
58
+ * @description Details text indicating how many bytes were transferred in a WebSocket message in the Performance panel.
63
59
  * @example {1024} PH1
64
60
  */
65
61
  webSocketBytes: '{PH1} byte(s)',
66
62
  /**
67
- * @description Details text indicating how many bytes were sent in a WebSocket message
63
+ * @description Details label indicating the data length of a WebSocket message in the Performance panel.
68
64
  */
69
65
  webSocketDataLength: 'Data length',
70
66
  } as const;
@@ -22,49 +22,49 @@ const {html} = Lit;
22
22
 
23
23
  const UIStrings = {
24
24
  /**
25
- * @description Text title for the Save performance trace dialog.
25
+ * @description Dialog title for saving a performance trace in the Performance panel.
26
26
  */
27
- exportTraceOptionsDialogTitle: 'Save performance trace ',
27
+ exportTraceOptionsDialogTitle: 'Save performance trace',
28
28
  /**
29
- * @description Tooltip for the Save performance trace dialog.
29
+ * @description Tooltip text for the toolbar button that opens the save trace dialog in the Performance panel.
30
30
  */
31
31
  showExportTraceOptionsDialogTitle: 'Save trace…',
32
32
  /**
33
- * @description Text for the include script content option.
33
+ * @description Checkbox label to include resource content when saving a trace in the Performance panel.
34
34
  */
35
35
  includeResourceContent: 'Include resource content',
36
36
  /**
37
- * @description Text for the include script source maps option.
37
+ * @description Checkbox label to include script source maps when saving a trace in the Performance panel.
38
38
  */
39
39
  includeSourcemap: 'Include script source maps',
40
40
  /**
41
- * @description Text for the include annotations option.
41
+ * @description Checkbox label to include annotations when saving a trace in the Performance panel.
42
42
  */
43
43
  includeAnnotations: 'Include annotations',
44
44
  /**
45
- * @description Text for the compression option.
45
+ * @description Checkbox label to compress the saved trace with gzip in the Performance panel.
46
46
  */
47
47
  shouldCompress: 'Compress with gzip',
48
48
  /**
49
- * @description Text for the explanation link
49
+ * @description Link text to documentation explaining trace export options in the Performance panel.
50
50
  */
51
51
  explanation: 'Explanation',
52
52
  /**
53
- * @description Text for the save trace button
53
+ * @description Button label to save the trace in the Performance panel.
54
54
  */
55
55
  saveButtonTitle: 'Save',
56
56
  /**
57
- * @description Text shown in the information pop-up next to the "Include resource content" option.
57
+ * @description Tooltip text explaining the privacy implications of including resource content when saving a trace in the Performance panel.
58
58
  */
59
59
  resourceContentPrivacyInfo: 'Includes the full content of all loaded HTML, CSS, and scripts (except extensions).',
60
60
  /**
61
- * @description Text shown in the information pop-up next to the "Include script sourcemaps" option.
61
+ * @description Tooltip text explaining the privacy implications of including script source maps when saving a trace in the Performance panel.
62
62
  */
63
63
  sourceMapsContentPrivacyInfo: 'Includes available source maps, which may expose authored code.',
64
64
  /**
65
- * @description Text used as the start of the accessible label for the information button which shows additional context when the user focuses / hovers.
65
+ * @description Accessible label prefix for the information button in the Performance panel.
66
66
  */
67
- moreInfoLabel: 'Additional information:',
67
+ moreInfoLabel: 'More information:',
68
68
  } as const;
69
69
 
70
70
  const str_ = i18n.i18n.registerUIStrings('panels/timeline/components/ExportTraceOptions.ts', UIStrings);
@@ -21,74 +21,74 @@ import {OriginMap} from './OriginMap.js';
21
21
 
22
22
  const UIStrings = {
23
23
  /**
24
- * @description Text label for a button that opens a dialog to set up field metrics.
24
+ * @description Button label that opens a dialog to set up field metrics in the Performance panel.
25
25
  */
26
26
  setUp: 'Set up',
27
27
  /**
28
- * @description Text label for a button that opens a dialog to configure field metrics.
28
+ * @description Button label that opens a dialog to configure field metrics in the Performance panel.
29
29
  */
30
30
  configure: 'Configure',
31
31
  /**
32
- * @description Text label for a button that enables the collection of field metrics.
32
+ * @description Button label that enables the collection of field metrics in the Performance panel.
33
33
  */
34
34
  ok: 'Ok',
35
35
  /**
36
- * @description Text label for a button that opts out of the collection of field metrics.
36
+ * @description Button label that opts out of the collection of field metrics in the Performance panel.
37
37
  */
38
38
  optOut: 'Opt out',
39
39
  /**
40
- * @description Text label for a button that cancels the setup of field metrics collection.
40
+ * @description Button label that cancels the setup of field metrics collection in the Performance panel.
41
41
  */
42
42
  cancel: 'Cancel',
43
43
  /**
44
- * @description Text label for a checkbox that controls if a manual URL override is enabled for field metrics.
44
+ * @description Checkbox label that controls if a manual URL override is enabled for field metrics in the Performance panel.
45
45
  */
46
46
  onlyFetchFieldData: 'Always show field metrics for the below URL',
47
47
  /**
48
- * @description Text label for a text box that that contains the manual override URL for fetching field metrics.
48
+ * @description Label for a text input that contains the manual override URL for fetching field metrics in the Performance panel.
49
49
  */
50
50
  url: 'URL',
51
51
  /**
52
- * @description Warning message explaining that the Chrome UX Report could not find enough real world speed data for the page. "Chrome UX Report" is a product name and should not be translated.
52
+ * @description Warning message explaining that the Chrome UX Report could not find enough real-world speed data for the page in the Performance panel.
53
53
  */
54
- doesNotHaveSufficientData: 'The Chrome UX Report does not have sufficient real-world speed data for this page.',
54
+ doesNotHaveSufficientData: 'The Chrome UX Report doesn’t have enough real-world speed data for this page.',
55
55
  /**
56
- * @description Title for a dialog that contains information and settings related to fetching field metrics.
56
+ * @description Title for a dialog that contains settings related to fetching field metrics in the Performance panel.
57
57
  */
58
58
  configureFieldData: 'Configure field metrics fetching',
59
59
  /**
60
- * @description Paragraph explaining where field metrics comes from and and how it can be used. PH1 will be a link with text "Chrome UX Report" that is untranslated because it is a product name.
60
+ * @description Explanation of where field metrics come from and how they can be used in the Performance panel.
61
61
  * @example {Chrome UX Report} PH1
62
62
  */
63
63
  fetchAggregated:
64
64
  'Fetch aggregated field metrics from the {PH1} to help you contextualize local measurements with what real users experience on the site.',
65
65
  /**
66
- * @description Heading for a section that explains what user data needs to be collected to fetch field metrics.
66
+ * @description Heading for a section that explains what user data needs to be collected to fetch field metrics in the Performance panel.
67
67
  */
68
68
  privacyDisclosure: 'Privacy disclosure',
69
69
  /**
70
- * @description Paragraph explaining what data needs to be sent to Google to fetch field metrics, and when that data will be sent.
70
+ * @description Explanation of what data is sent to Google to fetch field metrics in the Performance panel.
71
71
  */
72
72
  whenPerformanceIsShown:
73
- 'When DevTools is open, the URLs you visit will be sent to Google to query field metrics. These requests are not tied to your Google account.',
73
+ 'When DevTools is open, the URLs you visit will be sent to Google to query field metrics. These requests aren’t tied to your Google account.',
74
74
  /**
75
- * @description Header for a section containing advanced settings
75
+ * @description Header for a section containing advanced settings in the Performance panel.
76
76
  */
77
77
  advanced: 'Advanced',
78
78
  /**
79
- * @description Paragraph explaining that the user can associate a development origin with a production origin for the purposes of fetching real user data.
79
+ * @description Explanation of how associating a development origin with a production origin works for fetching real user data in the Performance panel.
80
80
  */
81
81
  mapDevelopmentOrigins:
82
82
  'Set a development origin to automatically get relevant field metrics for its production origin.',
83
83
  /**
84
- * @description Text label for a button that adds a new editable row to a data table
84
+ * @description Button label to add a new editable row to the origin mapping table in the Performance panel.
85
85
  */
86
86
  new: 'New',
87
87
  /**
88
- * @description Warning message explaining that an input origin is not a valid origin or URL.
88
+ * @description Warning message explaining that an entered origin is not a valid origin or URL in the Performance panel.
89
89
  * @example {http//malformed.com} PH1
90
90
  */
91
- invalidOrigin: '"{PH1}" is not a valid origin or URL.',
91
+ invalidOrigin: '"{PH1}" isn’t a valid origin or URL.',
92
92
  } as const;
93
93
 
94
94
  const str_ = i18n.i18n.registerUIStrings('panels/timeline/components/FieldSettingsDialog.ts', UIStrings);
@@ -20,35 +20,33 @@ const {live} = Directives;
20
20
 
21
21
  const UIStrings = {
22
22
  /**
23
- * @description Text title for the button to open the ignore list setting.
23
+ * @description Tooltip text for the button to open the ignore list settings dialog in the Performance panel.
24
24
  */
25
25
  showIgnoreListSettingDialog: 'Show ignore list setting dialog',
26
26
  /**
27
- * @description Text title for ignore list setting.
27
+ * @description Header title for the ignore list settings dialog in the Performance panel.
28
28
  */
29
29
  ignoreList: 'Ignore list',
30
30
  /**
31
- * @description Text description for ignore list setting.
31
+ * @description Description text in the ignore list settings dialog of the Performance panel.
32
32
  */
33
33
  ignoreListDescription: 'Add regular expression rules to remove matching scripts from the flame chart.',
34
34
  /**
35
- * @description Pattern title in Framework Ignore List Settings Tab of the Settings
35
+ * @description Label for a pattern rule in the ignore list settings dialog of the Performance panel.
36
36
  * @example {ad.*?} regex
37
37
  */
38
38
  ignoreScriptsWhoseNamesMatchS: 'Ignore scripts whose names match \'\'{regex}\'\'',
39
39
  /**
40
- * @description Label for the button to remove an regex
40
+ * @description Accessible label for the button to remove a regular expression rule in the ignore list settings dialog of the Performance panel.
41
41
  * @example {ad.*?} regex
42
42
  */
43
43
  removeRegex: 'Remove the regex: \'\'{regex}\'\'',
44
44
  /**
45
- * @description Aria accessible name in Ignore List Settings Dialog in Performance panel. It labels the input
46
- * field used to add new or edit existing regular expressions that match file names to ignore in the debugger.
45
+ * @description Accessible label for the text input to add a regular expression rule in the ignore list settings dialog of the Performance panel.
47
46
  */
48
47
  addNewRegex: 'Add a regular expression rule for the script’s URL',
49
48
  /**
50
- * @description Aria accessible name in Ignore List Settings Dialog in Performance panel. It labels the checkbox of
51
- * the input field used to enable the new regular expressions that match file names to ignore in the debugger.
49
+ * @description Accessible label for the checkbox to enable a new regular expression rule in the ignore list settings dialog of the Performance panel.
52
50
  */
53
51
  ignoreScriptsWhoseNamesMatchNewRegex: 'Ignore scripts whose names match the new regex',
54
52
  } as const;
@@ -13,15 +13,15 @@ const {html} = Lit;
13
13
 
14
14
  const UIStrings = {
15
15
  /**
16
- * @description Text shown next to the interaction event's input delay time in the detail view.
16
+ * @description Label for the input delay phase of an interaction event in the event details view of the Performance panel.
17
17
  */
18
18
  inputDelay: 'Input delay',
19
19
  /**
20
- * @description Text shown next to the interaction event's thread processing duration in the detail view.
20
+ * @description Label for the processing duration phase of an interaction event in the event details view of the Performance panel.
21
21
  */
22
22
  processingDuration: 'Processing duration',
23
23
  /**
24
- * @description Text shown next to the interaction event's presentation delay time in the detail view.
24
+ * @description Label for the presentation delay phase of an interaction event in the event details view of the Performance panel.
25
25
  */
26
26
  presentationDelay: 'Presentation delay',
27
27
  } as const;
@@ -23,57 +23,57 @@ const MAX_URL_LENGTH = 20;
23
23
 
24
24
  const UIStrings = {
25
25
  /**
26
- * @description Text referring to the start time of a given event.
26
+ * @description Label for the start time of an event in the layout shift details view of the Performance panel.
27
27
  */
28
28
  startTime: 'Start time',
29
29
  /**
30
- * @description Text for a table header referring to the score of a Layout Shift event.
30
+ * @description Table column header for the score of a layout shift event in the layout shift details view of the Performance panel.
31
31
  */
32
32
  shiftScore: 'Shift score',
33
33
  /**
34
- * @description Text for a table header referring to the elements shifted for a Layout Shift event.
34
+ * @description Table column header for the shifted DOM elements in the layout shift details view of the Performance panel.
35
35
  */
36
36
  elementsShifted: 'Elements shifted',
37
37
  /**
38
- * @description Text for a table header referring to the culprit of a Layout Shift event.
38
+ * @description Table column header for the root cause/culprit of a layout shift event in the layout shift details view of the Performance panel.
39
39
  */
40
40
  culprit: 'Culprit',
41
41
  /**
42
- * @description Text for a culprit type of Injected iframe.
42
+ * @description Root cause culprit type indicating an injected iframe in the layout shift details view of the Performance panel.
43
43
  */
44
44
  injectedIframe: 'Injected iframe',
45
45
  /**
46
- * @description Text for a culprit type of Font request.
46
+ * @description Root cause culprit type indicating a web font request in the layout shift details view of the Performance panel.
47
47
  */
48
48
  fontRequest: 'Font request',
49
49
  /**
50
- * @description Text for a culprit type of non-composited animation.
50
+ * @description Root cause culprit type indicating a non-composited animation in the layout shift details view of the Performance panel.
51
51
  */
52
52
  nonCompositedAnimation: 'Non-composited animation',
53
53
  /**
54
- * @description Text referring to an animation.
54
+ * @description Label for an animation culprit in the layout shift details view of the Performance panel.
55
55
  */
56
56
  animation: 'Animation',
57
57
  /**
58
- * @description Text referring to a parent cluster.
58
+ * @description Link label to navigate to the parent cluster in the layout shift details view of the Performance panel.
59
59
  */
60
60
  parentCluster: 'Parent cluster',
61
61
  /**
62
- * @description Text referring to a layout shift cluster and its start time.
62
+ * @description Header title for a layout shift cluster and its start time in the layout shift details view of the Performance panel.
63
63
  * @example {32 ms} PH1
64
64
  */
65
65
  cluster: 'Layout shift cluster @ {PH1}',
66
66
  /**
67
- * @description Text referring to a layout shift and its start time.
67
+ * @description Title and table row label for an individual layout shift and its start time in the layout shift details view of the Performance panel.
68
68
  * @example {32 ms} PH1
69
69
  */
70
70
  layoutShift: 'Layout shift @ {PH1}',
71
71
  /**
72
- * @description Text referring to the total cumulative score of a layout shift cluster.
72
+ * @description Label for the total cumulative score row in the layout shift cluster table of the Performance panel.
73
73
  */
74
74
  total: 'Total',
75
75
  /**
76
- * @description Text for a culprit type of Unsized image.
76
+ * @description Root cause culprit type indicating an unsized image in the layout shift details view of the Performance panel.
77
77
  */
78
78
  unsizedImage: 'Unsized image',
79
79
  } as const;