chrome-devtools-frontend 1.0.1571573 → 1.0.1573331

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 (158) hide show
  1. package/front_end/Images/geminiInDevTools.png +0 -0
  2. package/front_end/Images/geminiInDevTools_2x.png +0 -0
  3. package/front_end/Images/src/database-off.svg +1 -0
  4. package/front_end/Images/src/lock-person.svg +1 -1
  5. package/front_end/core/common/Debouncer.ts +10 -1
  6. package/front_end/core/common/SettingRegistration.ts +1 -1
  7. package/front_end/core/host/AidaClient.ts +8 -0
  8. package/front_end/core/host/InspectorFrontendHostAPI.ts +0 -6
  9. package/front_end/core/host/UserMetrics.ts +0 -30
  10. package/front_end/core/root/ExperimentNames.ts +30 -0
  11. package/front_end/core/root/Runtime.ts +12 -27
  12. package/front_end/core/root/root.ts +2 -0
  13. package/front_end/core/sdk/CSSModel.ts +36 -13
  14. package/front_end/core/sdk/CSSProperty.ts +1 -1
  15. package/front_end/core/sdk/CSSPropertyParserMatchers.ts +9 -0
  16. package/front_end/core/sdk/CookieModel.ts +2 -1
  17. package/front_end/core/sdk/DOMModel.ts +1 -1
  18. package/front_end/core/sdk/DebuggerModel.ts +1 -1
  19. package/front_end/core/sdk/IsolateManager.ts +0 -7
  20. package/front_end/core/sdk/OverlayModel.ts +1 -1
  21. package/front_end/core/sdk/SourceMap.ts +1 -1
  22. package/front_end/devtools_compatibility.js +0 -6
  23. package/front_end/entrypoints/main/MainImpl.ts +34 -25
  24. package/front_end/entrypoints/main/main-meta.ts +1 -1
  25. package/front_end/generated/SupportedCSSProperties.js +4 -8
  26. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +0 -180
  27. package/front_end/models/ai_assistance/agents/StylingAgent.snapshot.txt +7 -7
  28. package/front_end/models/ai_assistance/agents/StylingAgent.ts +4 -4
  29. package/front_end/models/ai_assistance/ai_assistance.ts +0 -2
  30. package/front_end/models/breakpoints/BreakpointManager.ts +3 -3
  31. package/front_end/models/issues_manager/ContrastCheckTrigger.ts +2 -2
  32. package/front_end/models/source_map_scopes/NamesResolver.ts +1 -1
  33. package/front_end/models/trace/EventsSerializer.ts +5 -1
  34. package/front_end/models/trace/types/TraceEvents.ts +4 -0
  35. package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +1 -1
  36. package/front_end/panels/accessibility/AccessibilitySidebarView.ts +1 -1
  37. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +8 -63
  38. package/front_end/panels/ai_assistance/PatchWidget.ts +3 -4
  39. package/front_end/panels/ai_assistance/SelectWorkspaceDialog.ts +1 -1
  40. package/front_end/panels/ai_assistance/aiAssistancePanel.css +0 -16
  41. package/front_end/panels/ai_assistance/ai_assistance.ts +0 -1
  42. package/front_end/panels/ai_assistance/components/ChatView.ts +123 -108
  43. package/front_end/panels/ai_assistance/components/PerformanceAgentMarkdownRenderer.ts +1 -145
  44. package/front_end/panels/application/AppManifestView.ts +5 -5
  45. package/front_end/panels/application/DeviceBoundSessionsModel.ts +55 -4
  46. package/front_end/panels/application/DeviceBoundSessionsTreeElement.ts +46 -1
  47. package/front_end/panels/application/FrameDetailsView.ts +10 -10
  48. package/front_end/panels/application/components/BackForwardCacheView.ts +6 -8
  49. package/front_end/panels/application/components/BounceTrackingMitigationsView.ts +4 -3
  50. package/front_end/panels/application/components/ProtocolHandlersView.ts +5 -6
  51. package/front_end/panels/application/components/ReportsGrid.ts +8 -9
  52. package/front_end/panels/application/components/SharedStorageAccessGrid.ts +5 -4
  53. package/front_end/panels/application/components/TrustTokensView.ts +4 -6
  54. package/front_end/panels/application/preloading/PreloadingView.ts +9 -8
  55. package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +237 -230
  56. package/front_end/panels/application/preloading/components/PreloadingGrid.ts +3 -2
  57. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +6 -10
  58. package/front_end/panels/application/resourcesSidebar.css +8 -0
  59. package/front_end/panels/autofill/AutofillView.ts +4 -3
  60. package/front_end/panels/common/AiCodeCompletionSummaryToolbar.ts +1 -1
  61. package/front_end/panels/common/AiCodeCompletionTeaser.ts +1 -1
  62. package/front_end/panels/common/AiCodeGenerationTeaser.ts +35 -4
  63. package/front_end/panels/common/AiCodeGenerationUpgradeDialog.ts +2 -2
  64. package/front_end/panels/common/BadgeNotification.ts +18 -14
  65. package/front_end/panels/common/GdpSignUpDialog.ts +5 -6
  66. package/front_end/panels/common/GeminiRebrandPromoDialog.ts +192 -0
  67. package/front_end/panels/common/aiCodeGenerationTeaser.css +16 -1
  68. package/front_end/panels/common/common.ts +1 -0
  69. package/front_end/panels/common/geminiRebrandPromoDialog.css +47 -0
  70. package/front_end/panels/console/ConsoleInsightTeaser.ts +3 -3
  71. package/front_end/panels/console/ErrorStackParser.ts +11 -16
  72. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +2 -2
  73. package/front_end/panels/css_overview/CSSOverviewModel.ts +1 -1
  74. package/front_end/panels/elements/ComputedStyleModel.ts +7 -54
  75. package/front_end/panels/elements/ElementsPanel.ts +33 -6
  76. package/front_end/panels/elements/ElementsTreeOutline.ts +1 -1
  77. package/front_end/panels/elements/StylePropertiesSection.ts +16 -8
  78. package/front_end/panels/elements/StylePropertyTreeElement.ts +67 -32
  79. package/front_end/panels/elements/StylesSidebarPane.ts +28 -11
  80. package/front_end/panels/elements/components/CSSHintDetailsView.ts +3 -2
  81. package/front_end/panels/elements/components/CSSPropertyDocsView.ts +3 -2
  82. package/front_end/panels/elements/elements-meta.ts +1 -1
  83. package/front_end/panels/explain/components/ConsoleInsight.ts +7 -7
  84. package/front_end/panels/issues/IssueView.ts +6 -6
  85. package/front_end/panels/network/RequestConditionsDrawer.ts +8 -7
  86. package/front_end/panels/network/RequestCookiesView.ts +3 -4
  87. package/front_end/panels/network/RequestTimingView.ts +3 -8
  88. package/front_end/panels/network/components/HeaderSectionRow.ts +3 -2
  89. package/front_end/panels/network/components/RequestHeaderSection.ts +3 -1
  90. package/front_end/panels/network/components/RequestHeadersView.ts +2 -2
  91. package/front_end/panels/profiler/HeapProfileView.ts +3 -3
  92. package/front_end/panels/profiler/HeapSnapshotView.ts +1 -1
  93. package/front_end/panels/profiler/IsolateSelector.ts +1 -2
  94. package/front_end/panels/profiler/profiler-meta.ts +3 -3
  95. package/front_end/panels/protocol_monitor/protocol_monitor-meta.ts +1 -1
  96. package/front_end/panels/recorder/RecorderController.ts +4 -9
  97. package/front_end/panels/recorder/components/CreateRecordingView.ts +6 -6
  98. package/front_end/panels/recorder/components/RecordingView.ts +0 -38
  99. package/front_end/panels/recorder/components/ReplaySection.ts +0 -14
  100. package/front_end/panels/recorder/components/StepEditor.ts +2 -40
  101. package/front_end/panels/recorder/recorderController.css +3 -3
  102. package/front_end/panels/security/CookieReportView.ts +17 -17
  103. package/front_end/panels/security/cookieControlsView.css +1 -1
  104. package/front_end/panels/security/cookieReportView.css +1 -1
  105. package/front_end/panels/settings/AISettingsTab.ts +8 -10
  106. package/front_end/panels/settings/components/SyncSection.ts +1 -1
  107. package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +4 -12
  108. package/front_end/panels/settings/settings-meta.ts +1 -1
  109. package/front_end/panels/sources/BreakpointEditDialog.ts +4 -3
  110. package/front_end/panels/sources/FilteredUISourceCodeListProvider.ts +1 -1
  111. package/front_end/panels/sources/NavigatorView.ts +4 -4
  112. package/front_end/panels/sources/SourcesPanel.ts +5 -4
  113. package/front_end/panels/sources/components/HeadersView.ts +2 -2
  114. package/front_end/panels/timeline/CompatibilityTracksAppender.ts +3 -2
  115. package/front_end/panels/timeline/ThreadAppender.ts +2 -1
  116. package/front_end/panels/timeline/TimelineController.ts +3 -3
  117. package/front_end/panels/timeline/TimelinePanel.ts +6 -4
  118. package/front_end/panels/timeline/TimelineUIUtils.ts +2 -2
  119. package/front_end/panels/timeline/components/ExportTraceOptions.ts +4 -4
  120. package/front_end/panels/timeline/components/FieldSettingsDialog.ts +13 -6
  121. package/front_end/panels/timeline/components/LiveMetricsView.ts +13 -9
  122. package/front_end/panels/timeline/components/exportTraceOptions.css +1 -1
  123. package/front_end/panels/timeline/components/fieldSettingsDialog.css +1 -1
  124. package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +2 -19
  125. package/front_end/panels/timeline/components/insights/InsightRenderer.ts +3 -4
  126. package/front_end/panels/timeline/components/insights/baseInsightComponent.css +0 -5
  127. package/front_end/panels/timeline/components/liveMetricsView.css +1 -1
  128. package/front_end/panels/whats_new/ReleaseNoteView.ts +1 -1
  129. package/front_end/third_party/chromium/README.chromium +1 -1
  130. package/front_end/ui/components/buttons/button.css +4 -0
  131. package/front_end/ui/components/markdown_view/CodeBlock.ts +1 -1
  132. package/front_end/ui/components/panel_feedback/PanelFeedback.ts +1 -1
  133. package/front_end/ui/components/panel_feedback/PreviewToggle.ts +5 -5
  134. package/front_end/ui/components/panel_feedback/previewToggle.css +2 -2
  135. package/front_end/ui/components/text_editor/AiCodeGenerationParser.ts +27 -8
  136. package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +36 -6
  137. package/front_end/ui/components/text_editor/AutocompleteHistory.ts +33 -1
  138. package/front_end/ui/legacy/ActionRegistration.ts +1 -1
  139. package/front_end/ui/legacy/ContextMenu.ts +2 -2
  140. package/front_end/ui/legacy/EmptyWidget.ts +3 -3
  141. package/front_end/ui/legacy/LinkContextMenuProvider.ts +42 -0
  142. package/front_end/ui/legacy/ViewRegistration.ts +1 -1
  143. package/front_end/ui/legacy/XLink.ts +0 -27
  144. package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +1 -1
  145. package/front_end/ui/legacy/components/color_picker/ContrastOverlay.ts +4 -4
  146. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +2 -2
  147. package/front_end/ui/legacy/components/perf_ui/perf_ui-meta.ts +1 -1
  148. package/front_end/ui/legacy/inspectorCommon.css +2 -1
  149. package/front_end/ui/legacy/legacy.ts +3 -1
  150. package/front_end/ui/visual_logging/KnownContextValues.ts +2 -0
  151. package/front_end/ui/visual_logging/LoggingDriver.ts +3 -0
  152. package/package.json +1 -1
  153. package/front_end/models/ai_assistance/ArtifactsManager.ts +0 -67
  154. package/front_end/panels/ai_assistance/components/ArtifactsViewer.ts +0 -183
  155. package/front_end/panels/ai_assistance/components/CollapsibleAssistanceContentWidget.ts +0 -89
  156. package/front_end/panels/ai_assistance/components/PerformanceAgentFlameChart.ts +0 -133
  157. package/front_end/panels/ai_assistance/components/artifactsViewer.css +0 -15
  158. package/front_end/panels/ai_assistance/components/collapsibleAssistanceContentWidget.css +0 -32
@@ -1,9 +1,7 @@
1
1
  // Copyright 2023 The Chromium Authors
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
- /* eslint-disable @devtools/no-lit-render-outside-of-view */
5
4
 
6
- import * as Host from '../../../core/host/host.js';
7
5
  import * as i18n from '../../../core/i18n/i18n.js';
8
6
  import * as Platform from '../../../core/platform/platform.js';
9
7
  import * as Buttons from '../../../ui/components/buttons/buttons.js';
@@ -66,13 +64,6 @@ const UIStrings = {
66
64
  extensionGroup: 'Extensions',
67
65
  } as const;
68
66
 
69
- const replaySpeedToMetricSpeedMap = {
70
- [PlayRecordingSpeed.NORMAL]: Host.UserMetrics.RecordingReplaySpeed.NORMAL,
71
- [PlayRecordingSpeed.SLOW]: Host.UserMetrics.RecordingReplaySpeed.SLOW,
72
- [PlayRecordingSpeed.VERY_SLOW]: Host.UserMetrics.RecordingReplaySpeed.VERY_SLOW,
73
- [PlayRecordingSpeed.EXTREMELY_SLOW]: Host.UserMetrics.RecordingReplaySpeed.EXTREMELY_SLOW,
74
- } as const;
75
-
76
67
  const str_ = i18n.i18n.registerUIStrings(
77
68
  'panels/recorder/components/ReplaySection.ts',
78
69
  UIStrings,
@@ -185,7 +176,6 @@ export const DEFAULT_VIEW = (input: ViewInput, _output: ViewOutput, target: HTML
185
176
  </devtools-button>
186
177
  </div>`,
187
178
  target,
188
- { host: target },
189
179
  );
190
180
  // clang-format on
191
181
  };
@@ -334,10 +324,6 @@ export class ReplaySection extends UI.Widget.Widget {
334
324
  this.#settings.speed = speed;
335
325
  this.#settings.replayExtension = '';
336
326
  }
337
-
338
- if (replaySpeedToMetricSpeedMap[speed]) {
339
- Host.userMetrics.recordingReplaySpeed(replaySpeedToMetricSpeedMap[speed]);
340
- }
341
327
  this.performUpdate();
342
328
  }
343
329
  }
@@ -2,7 +2,6 @@
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
4
 
5
- import * as Host from '../../../core/host/host.js';
6
5
  import * as i18n from '../../../core/i18n/i18n.js';
7
6
  import * as Platform from '../../../core/platform/platform.js';
8
7
  import type * as Puppeteer from '../../../third_party/puppeteer/puppeteer.js';
@@ -517,19 +516,14 @@ export class StepEditor extends LitElement {
517
516
  this.dispatchEvent(new RequestSelectorAttributeEvent(send));
518
517
  };
519
518
 
520
- #handleAddOrRemoveClick =
521
- (assignments: DeepImmutable<DeepPartial<Assignments<EditorState>>>, query: string,
522
- metric: Host.UserMetrics.RecordingEdited): ((event: Event) => void) => event => {
519
+ #handleAddOrRemoveClick = (assignments: DeepImmutable<DeepPartial<Assignments<EditorState>>>, query: string):
520
+ ((event: Event) => void) => event => {
523
521
  event.preventDefault();
524
522
  event.stopPropagation();
525
523
 
526
524
  this.#commit(immutableDeepAssign(this.state, assignments));
527
525
 
528
526
  this.#ensureFocus(query);
529
-
530
- if (metric) {
531
- Host.userMetrics.recordingEdited(metric);
532
- }
533
527
  };
534
528
 
535
529
  #handleKeyDownEvent = (event: Event): void => {
@@ -551,7 +545,6 @@ export class StepEditor extends LitElement {
551
545
  attribute: A,
552
546
  // If there are not assignments, then we should ignore the event.
553
547
  from(this: StepEditor, value: DataType<A>): DeepImmutable<DeepPartial<Assignments<EditorState>>>|undefined,
554
- metric: Host.UserMetrics.RecordingEdited,
555
548
  }): ((event: Event) => void) => event => {
556
549
  assert(event.target instanceof SuggestionInput.SuggestionInput.SuggestionInput);
557
550
  if (event.target.disabled) {
@@ -565,10 +558,6 @@ export class StepEditor extends LitElement {
565
558
  return;
566
559
  }
567
560
  this.#commit(immutableDeepAssign(this.state, assignments));
568
-
569
- if (opts.metric) {
570
- Host.userMetrics.recordingEdited(opts.metric);
571
- }
572
561
  };
573
562
 
574
563
  #handleTypeInputBlur = async(event: Event): Promise<void> => {
@@ -586,7 +575,6 @@ export class StepEditor extends LitElement {
586
575
  return;
587
576
  }
588
577
  this.#commit(await EditorState.default(value));
589
- Host.userMetrics.recordingEdited(Host.UserMetrics.RecordingEdited.TYPE_CHANGED);
590
578
  };
591
579
 
592
580
  #handleAddRowClickEvent = async(event: MouseEvent): Promise<void> => {
@@ -702,14 +690,8 @@ export class StepEditor extends LitElement {
702
690
  if (this.state[attribute] === undefined) {
703
691
  return;
704
692
  }
705
- switch (attribute) {
706
- case 'properties':
707
- Host.userMetrics.recordingAssertion(Host.UserMetrics.RecordingAssertion.PROPERTY_ASSERTION_EDITED);
708
- break;
709
- }
710
693
  return {[attribute]: value};
711
694
  },
712
- metric: Host.UserMetrics.RecordingEdited.OTHER_EDITING,
713
695
  })}
714
696
  ></devtools-suggestion-input>
715
697
  ${this.#renderDeleteButton(attribute)}
@@ -748,7 +730,6 @@ export class StepEditor extends LitElement {
748
730
  frame: new ArrayAssignments({ [index]: value }),
749
731
  };
750
732
  },
751
- metric: Host.UserMetrics.RecordingEdited.OTHER_EDITING,
752
733
  })}
753
734
  ></devtools-suggestion-input>
754
735
  ${this.#renderInlineButton({
@@ -764,7 +745,6 @@ export class StepEditor extends LitElement {
764
745
  }),
765
746
  },
766
747
  `devtools-suggestion-input[data-path="frame.${index + 1}"]`,
767
- Host.UserMetrics.RecordingEdited.OTHER_EDITING,
768
748
  ),
769
749
  })}
770
750
  ${this.#renderInlineButton({
@@ -779,7 +759,6 @@ export class StepEditor extends LitElement {
779
759
  index,
780
760
  frames.length - 2,
781
761
  )}"]`,
782
- Host.UserMetrics.RecordingEdited.OTHER_EDITING,
783
762
  ),
784
763
  })}
785
764
  </div>
@@ -824,7 +803,6 @@ export class StepEditor extends LitElement {
824
803
  }),
825
804
  },
826
805
  `devtools-suggestion-input[data-path="selectors.${index + 1}.0"]`,
827
- Host.UserMetrics.RecordingEdited.SELECTOR_ADDED,
828
806
  ),
829
807
  })}
830
808
  ${this.#renderInlineButton({
@@ -837,7 +815,6 @@ export class StepEditor extends LitElement {
837
815
  index,
838
816
  selectors.length - 2,
839
817
  )}.0"]`,
840
- Host.UserMetrics.RecordingEdited.SELECTOR_REMOVED,
841
818
  ),
842
819
  })}
843
820
  </div>
@@ -868,7 +845,6 @@ export class StepEditor extends LitElement {
868
845
  }),
869
846
  };
870
847
  },
871
- metric: Host.UserMetrics.RecordingEdited.SELECTOR_PART_EDITED,
872
848
  })}
873
849
  ></devtools-suggestion-input>
874
850
  ${this.#renderInlineButton({
@@ -888,7 +864,6 @@ export class StepEditor extends LitElement {
888
864
  `devtools-suggestion-input[data-path="selectors.${index}.${
889
865
  partIndex + 1
890
866
  }"]`,
891
- Host.UserMetrics.RecordingEdited.SELECTOR_PART_ADDED,
892
867
  ),
893
868
  })}
894
869
  ${this.#renderInlineButton({
@@ -907,7 +882,6 @@ export class StepEditor extends LitElement {
907
882
  partIndex,
908
883
  parts.length - 2,
909
884
  )}"]`,
910
- Host.UserMetrics.RecordingEdited.SELECTOR_PART_REMOVED,
911
885
  ),
912
886
  })}
913
887
  </div>`;
@@ -952,7 +926,6 @@ export class StepEditor extends LitElement {
952
926
  }),
953
927
  };
954
928
  },
955
- metric: Host.UserMetrics.RecordingEdited.OTHER_EDITING,
956
929
  })}
957
930
  ></devtools-suggestion-input>
958
931
  </div>
@@ -975,7 +948,6 @@ export class StepEditor extends LitElement {
975
948
  }),
976
949
  };
977
950
  },
978
- metric: Host.UserMetrics.RecordingEdited.OTHER_EDITING,
979
951
  })}
980
952
  ></devtools-suggestion-input>
981
953
  </div>`;
@@ -1009,14 +981,10 @@ export class StepEditor extends LitElement {
1009
981
  if (this.state.attributes?.[index]?.name === undefined) {
1010
982
  return;
1011
983
  }
1012
- Host.userMetrics.recordingAssertion(
1013
- Host.UserMetrics.RecordingAssertion.ATTRIBUTE_ASSERTION_EDITED,
1014
- );
1015
984
  return {
1016
985
  attributes: new ArrayAssignments({ [index]: { name } }),
1017
986
  };
1018
987
  },
1019
- metric: Host.UserMetrics.RecordingEdited.OTHER_EDITING,
1020
988
  })}
1021
989
  ></devtools-suggestion-input>
1022
990
  <span class="separator">:</span>
@@ -1031,14 +999,10 @@ export class StepEditor extends LitElement {
1031
999
  if (this.state.attributes?.[index]?.value === undefined) {
1032
1000
  return;
1033
1001
  }
1034
- Host.userMetrics.recordingAssertion(
1035
- Host.UserMetrics.RecordingAssertion.ATTRIBUTE_ASSERTION_EDITED,
1036
- );
1037
1002
  return {
1038
1003
  attributes: new ArrayAssignments({ [index]: { value } }),
1039
1004
  };
1040
1005
  },
1041
- metric: Host.UserMetrics.RecordingEdited.OTHER_EDITING,
1042
1006
  })}
1043
1007
  ></devtools-suggestion-input>
1044
1008
  ${this.#renderInlineButton({
@@ -1071,7 +1035,6 @@ export class StepEditor extends LitElement {
1071
1035
  `devtools-suggestion-input[data-path="attributes.${
1072
1036
  index + 1
1073
1037
  }.name"]`,
1074
- Host.UserMetrics.RecordingEdited.OTHER_EDITING,
1075
1038
  ),
1076
1039
  })}
1077
1040
  ${this.#renderInlineButton({
@@ -1084,7 +1047,6 @@ export class StepEditor extends LitElement {
1084
1047
  index,
1085
1048
  attributes.length - 2,
1086
1049
  )}.value"]`,
1087
- Host.UserMetrics.RecordingEdited.OTHER_EDITING,
1088
1050
  ),
1089
1051
  })}
1090
1052
  </div>`;
@@ -129,7 +129,7 @@ devtools-recording-list-view {
129
129
  margin-right: 4px;
130
130
  }
131
131
 
132
- .feedback .x-link {
132
+ .feedback .devtools-link {
133
133
  letter-spacing: 0.03em;
134
134
  text-decoration-line: underline;
135
135
  font-size: var(--sys-typescale-body4-size);
@@ -138,8 +138,8 @@ devtools-recording-list-view {
138
138
  outline-offset: 3px;
139
139
  }
140
140
 
141
- .feedback .x-link:focus-visible,
142
- .empty-state-description .x-link:focus-visible {
141
+ .feedback .devtools-link:focus-visible,
142
+ .empty-state-description .devtools-link:focus-visible {
143
143
  outline: -webkit-focus-ring-color auto 1px;
144
144
  }
145
145
 
@@ -224,8 +224,8 @@ const DEFAULT_VIEW: View = (input, output, target) => {
224
224
  </devtools-icon>
225
225
  ${i18nFormatStringTemplate(UIStrings.upperDeprecationWarning, {
226
226
  PH1:
227
- html`<devtools-link class="devtools-link" href="https://privacysandbox.com/news/privacy-sandbox-update/" .jslogContext=${
228
- 'privacy-sandbox-update'}>${i18nString(UIStrings.blogPostLink)}</devtools-link>`,
227
+ html`<devtools-link class="devtools-link" href="https://privacysandbox.com/news/privacy-sandbox-update/" jslogcontext="privacy-sandbox-update">${
228
+ i18nString(UIStrings.blogPostLink)}</devtools-link>`,
229
229
  })}
230
230
  </div>
231
231
  <div class="body">
@@ -239,7 +239,7 @@ const DEFAULT_VIEW: View = (input, output, target) => {
239
239
  <div class="report overflow-auto">
240
240
  <div class="header">
241
241
  <h1>${i18nString(UIStrings.title)}</h1>
242
- <div class="body">${i18nString(UIStrings.body)} <devtools-link class="devtools-link" href="https://developers.google.com/privacy-sandbox/cookies/prepare/audit-cookies" .jslogContext=${'learn-more'}>${i18nString(UIStrings.learnMoreLink)}</devtools-link></div>
242
+ <div class="body">${i18nString(UIStrings.body)} <devtools-link class="devtools-link" href="https://developers.google.com/privacy-sandbox/cookies/prepare/audit-cookies" jslogcontext="learn-more">${i18nString(UIStrings.learnMoreLink)}</devtools-link></div>
243
243
  </div>
244
244
  ${input.cookieRows.length > 0 ?
245
245
  html`
@@ -482,26 +482,26 @@ export class CookieReportView extends UI.Widget.VBox {
482
482
 
483
483
  switch (insight.type) {
484
484
  case Protocol.Audits.InsightType.GitHubResource: {
485
- const githubLink = UI.XLink.XLink.create(
486
- insight.tableEntryUrl ?
487
- insight.tableEntryUrl :
488
- 'https://github.com/privacysandbox/privacy-sandbox-dev-support/blob/main/3pc-migration-readiness.md',
489
- i18nString(UIStrings.guidance), undefined, undefined, 'readiness-list-link');
485
+ const githubLink = html`<devtools-link href=${
486
+ insight.tableEntryUrl ??
487
+ 'https://github.com/privacysandbox/privacy-sandbox-dev-support/blob/main/3pc-migration-readiness.md'} jslogcontext="readiness-list-link">${
488
+ i18nString(UIStrings.guidance)}</devtools-link>`;
490
489
 
491
- return html`${uiI18n.getFormatLocalizedString(str_, UIStrings.gitHubResource, {
490
+ return html`${uiI18n.getFormatLocalizedStringTemplate(str_, UIStrings.gitHubResource, {
492
491
  PH1: githubLink,
493
492
  })}`;
494
493
  }
495
494
  case Protocol.Audits.InsightType.GracePeriod: {
496
495
  const url = SDK.TargetManager.TargetManager.instance().primaryPageTarget()?.inspectedURL();
497
- const gracePeriodLink = UI.XLink.XLink.create(
498
- 'https://developers.google.com/privacy-sandbox/cookies/dashboard?url=' +
499
- // The order of the URLs matters - needs to be 1P + 3P.
500
- (url ? Common.ParsedURL.ParsedURL.fromString(url)?.host + '+' : '') +
501
- (domain.charAt(0) === '.' ? domain.substring(1) : domain),
502
- i18nString(UIStrings.reportedIssues), undefined, undefined, 'compatibility-lookup-link');
503
-
504
- return html`${uiI18n.getFormatLocalizedString(str_, UIStrings.gracePeriod, {
496
+ const gracePeriodLink = html`<devtools-link
497
+ href=${
498
+ 'https://developers.google.com/privacy-sandbox/cookies/dashboard?url=' +
499
+ // The order of the URLs matters - needs to be 1P + 3P.
500
+ (url ? Common.ParsedURL.ParsedURL.fromString(url)?.host + '+' : '') +
501
+ (domain.charAt(0) === '.' ? domain.substring(1) : domain)}
502
+ jslogcontext="compatibility-lookup-link">${i18nString(UIStrings.reportedIssues)}</devtools-link>`;
503
+
504
+ return html`${uiI18n.getFormatLocalizedStringTemplate(str_, UIStrings.gracePeriod, {
505
505
  PH1: gracePeriodLink,
506
506
  })}`;
507
507
  }
@@ -92,7 +92,7 @@ h3 {
92
92
  margin: 0;
93
93
  }
94
94
 
95
- .x-link {
95
+ .devtools-link {
96
96
  color: var(--sys-color-primary);
97
97
  text-decoration-line: underline;
98
98
  cursor: pointer;
@@ -33,7 +33,7 @@
33
33
  font: var(--sys-typescale-body4-regular);
34
34
  }
35
35
 
36
- .x-link {
36
+ .devtools-link {
37
37
  color: var(--sys-color-primary);
38
38
  text-decoration-line: underline;
39
39
  cursor: pointer;
@@ -249,7 +249,7 @@ interface AiSettingParams {
249
249
 
250
250
  interface ViewInput {
251
251
  disabledReasons: string[];
252
- sharedDisclaimerBulletPoints: Array<{icon: string, text: Common.UIString.LocalizedString|Lit.TemplateResult}>;
252
+ sharedDisclaimerBulletPoints: Array<{icon: string, text: Common.UIString.LocalizedString|Lit.LitTemplate}>;
253
253
  settingToParams: Map<Common.Settings.Setting<boolean>, AiSettingParams>;
254
254
  expandSetting(setting: Common.Settings.Setting<boolean>): void;
255
255
  toggleSetting(setting: Common.Settings.Setting<boolean>, ev: Event): void;
@@ -658,13 +658,11 @@ export class AISettingsTab extends UI.Widget.VBox {
658
658
  this.requestUpdate();
659
659
  }
660
660
 
661
- #getSharedDisclaimerBulletPoints(): Array<{icon: string, text: Common.UIString.LocalizedString|Lit.TemplateResult}> {
662
- const tosLink = UI.XLink.XLink.create(
663
- 'https://policies.google.com/terms', i18nString(UIStrings.termsOfService), undefined, undefined,
664
- 'terms-of-service');
665
- const privacyNoticeLink = UI.XLink.XLink.create(
666
- 'https://policies.google.com/privacy', i18nString(UIStrings.privacyNotice), undefined, undefined,
667
- 'privacy-notice');
661
+ #getSharedDisclaimerBulletPoints(): Array<{icon: string, text: Common.UIString.LocalizedString|Lit.LitTemplate}> {
662
+ const tosLink = html`<devtools-link href="https://policies.google.com/terms" .jslogContext=${'terms-of-service'}>${
663
+ i18nString(UIStrings.termsOfService)}</devtools-link>`;
664
+ const privacyNoticeLink = html`<devtools-link href="https://policies.google.com/privacy" .jslogContext=${
665
+ 'privacy-notice'}>${i18nString(UIStrings.privacyNotice)}</devtools-link>`;
668
666
  const noLogging = Root.Runtime.hostConfig.aidaAvailability?.enterprisePolicyValue ===
669
667
  Root.Runtime.GenAiEnterprisePolicyValue.ALLOW_WITHOUT_LOGGING;
670
668
 
@@ -680,10 +678,10 @@ export class AISettingsTab extends UI.Widget.VBox {
680
678
  },
681
679
  {
682
680
  icon: 'policy',
683
- text: html`${uiI18n.getFormatLocalizedString(str_, UIStrings.termsOfServicePrivacyNotice, {
681
+ text: uiI18n.getFormatLocalizedStringTemplate(str_, UIStrings.termsOfServicePrivacyNotice, {
684
682
  PH1: tosLink,
685
683
  PH2: privacyNoticeLink,
686
- })}`,
684
+ }),
687
685
  },
688
686
  ];
689
687
  }
@@ -181,7 +181,7 @@ const DEFAULT_VIEW = (input: ViewInput, output: ViewOutput, target: HTMLElement)
181
181
  ${getGdpSubscriptionText(input.gdpProfile)}
182
182
  &nbsp;·&nbsp;
183
183
  <devtools-link
184
- .jslogContext=${'view-profile'}
184
+ jslogcontext="view-profile"
185
185
  class="link"
186
186
  href=${Host.GdpClient.GOOGLE_DEVELOPER_PROGRAM_PROFILE_LINK}>
187
187
  ${i18nString(UIStrings.viewProfile)}
@@ -3,6 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
  /* eslint-disable @devtools/no-lit-render-outside-of-view*/
5
5
 
6
+ import '../../../../ui/kit/kit.js';
6
7
  import '../../../../ui/legacy/legacy.js';
7
8
 
8
9
  import * as i18n from '../../../../core/i18n/i18n.js';
@@ -488,13 +489,6 @@ export class UserAgentClientHintsForm extends HTMLElement {
488
489
  this.dispatchEvent(new ClientHintsChangeEvent());
489
490
  };
490
491
 
491
- #handleLinkPress = (event: KeyboardEvent): void => {
492
- if (event.code === 'Space' || event.code === 'Enter') {
493
- event.preventDefault();
494
- (event.target as HTMLAnchorElement).click();
495
- }
496
- };
497
-
498
492
  #handleSubmit = (event: Event): void => {
499
493
  event.preventDefault();
500
494
  if (this.#showSubmitButton) {
@@ -869,17 +863,15 @@ export class UserAgentClientHintsForm extends HTMLElement {
869
863
  ${i18nString(UIStrings.title)}
870
864
  </div>
871
865
  <devtools-icon tabindex=${this.#isFormDisabled ? '-1' : '0'} class=info-icon name=info aria-label=${i18nString(UIStrings.userAgentClientHintsInfo)} title=${i18nString(UIStrings.userAgentClientHintsInfo)}></devtools-icon>
872
- <x-link
866
+ <devtools-link
873
867
  tabindex=${this.#isFormDisabled ? '-1' : '0'}
874
868
  href="https://web.dev/user-agent-client-hints/"
875
- target="_blank"
876
869
  class="link"
877
- @keypress=${this.#handleLinkPress}
878
870
  aria-label=${i18nString(UIStrings.learnMore)}
879
- jslog=${VisualLogging.link('learn-more').track({click: true})}
871
+ jslogcontext="learn-more"
880
872
  >
881
873
  ${i18nString(UIStrings.learnMore)}
882
- </x-link>
874
+ </devtools-link>
883
875
  </div>
884
876
  <form
885
877
  id="form-container"
@@ -141,7 +141,7 @@ UI.ViewManager.registerViewExtension({
141
141
  title: i18nLazyString(UIStrings.experiments),
142
142
  commandPrompt: i18nLazyString(UIStrings.showExperiments),
143
143
  order: 3,
144
- experiment: Root.Runtime.ExperimentName.ALL,
144
+ experiment: Root.ExperimentNames.ExperimentName.ALL,
145
145
  async loadView() {
146
146
  const Settings = await loadSettingsModule();
147
147
  return new Settings.SettingsScreen.ExperimentsSettingsTab();
@@ -3,6 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
  /* eslint-disable @devtools/no-imperative-dom-api */
5
5
 
6
+ import '../../ui/kit/kit.js';
6
7
  import '../../ui/legacy/legacy.js';
7
8
 
8
9
  import * as Common from '../../core/common/common.js';
@@ -141,9 +142,9 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
141
142
  </div>
142
143
  <div class=link-wrapper>
143
144
  <devtools-icon name=open-externally class=link-icon></devtools-icon>
144
- <x-link class="link devtools-link" tabindex="0" href="https://goo.gle/devtools-loc"
145
- jslog=${VisualLogging.link('learn-more')}>${
146
- i18nString(UIStrings.learnMoreOnBreakpointTypes)}</x-link>
145
+ <devtools-link class="devtools-link" href="https://goo.gle/devtools-loc"
146
+ jslogcontext="learn-more">${
147
+ i18nString(UIStrings.learnMoreOnBreakpointTypes)}</devtools-link>
147
148
  </div>
148
149
  `,
149
150
  // clang-format on
@@ -74,7 +74,7 @@ export class FilteredUISourceCodeListProvider extends QuickOpen.FilteredListWidg
74
74
  if (this.uiSourceCodeIds.has(uiSourceCode.canonicalScriptId())) {
75
75
  return false;
76
76
  }
77
- if (Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.JUST_MY_CODE) &&
77
+ if (Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.JUST_MY_CODE) &&
78
78
  Workspace.IgnoreListManager.IgnoreListManager.instance().isUserOrSourceMapIgnoreListedUISourceCode(
79
79
  uiSourceCode)) {
80
80
  return false;
@@ -179,7 +179,7 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
179
179
  private authoredNode?: NavigatorGroupTreeNode;
180
180
  private deployedNode?: NavigatorGroupTreeNode;
181
181
  private navigatorGroupByFolderSetting: Common.Settings.Setting<boolean>;
182
- private navigatorGroupByAuthoredExperiment?: Root.Runtime.ExperimentName;
182
+ private navigatorGroupByAuthoredExperiment?: Root.ExperimentNames.ExperimentName;
183
183
  #workspace!: Workspace.Workspace.WorkspaceImpl;
184
184
  private groupByFrame?: boolean;
185
185
  private groupByAuthored?: boolean;
@@ -217,7 +217,7 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
217
217
  this.navigatorGroupByFolderSetting = Common.Settings.Settings.instance().moduleSetting('navigator-group-by-folder');
218
218
  this.navigatorGroupByFolderSetting.addChangeListener(this.groupingChanged.bind(this));
219
219
  if (enableAuthoredGrouping) {
220
- this.navigatorGroupByAuthoredExperiment = Root.Runtime.ExperimentName.AUTHORED_DEPLOYED_GROUPING;
220
+ this.navigatorGroupByAuthoredExperiment = Root.ExperimentNames.ExperimentName.AUTHORED_DEPLOYED_GROUPING;
221
221
  }
222
222
 
223
223
  Workspace.IgnoreListManager.IgnoreListManager.instance().addChangeListener(this.ignoreListChanged.bind(this));
@@ -457,7 +457,7 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
457
457
  }
458
458
 
459
459
  private addUISourceCode(uiSourceCode: Workspace.UISourceCode.UISourceCode): void {
460
- if (Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.JUST_MY_CODE) &&
460
+ if (Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.JUST_MY_CODE) &&
461
461
  Workspace.IgnoreListManager.IgnoreListManager.instance().isUserOrSourceMapIgnoreListedUISourceCode(
462
462
  uiSourceCode)) {
463
463
  return;
@@ -1188,7 +1188,7 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
1188
1188
  }
1189
1189
 
1190
1190
  private ignoreListChanged(): void {
1191
- if (Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.JUST_MY_CODE)) {
1191
+ if (Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.JUST_MY_CODE)) {
1192
1192
  this.groupingChanged();
1193
1193
  } else {
1194
1194
  this.rootNode.updateTitleRecursive();
@@ -639,7 +639,7 @@ export class SourcesPanel extends UI.Panel.Panel implements
639
639
  }
640
640
 
641
641
  private addExperimentMenuItem(
642
- menuSection: UI.ContextMenu.Section, experiment: Root.Runtime.ExperimentName,
642
+ menuSection: UI.ContextMenu.Section, experiment: Root.ExperimentNames.ExperimentName,
643
643
  menuItem: Common.UIString.LocalizedString): void {
644
644
  /** menu handler **/
645
645
  function toggleExperiment(): void {
@@ -670,10 +670,11 @@ export class SourcesPanel extends UI.Panel.Panel implements
670
670
  {checked: groupByFolderSetting.get(), jslogContext: groupByFolderSetting.name});
671
671
 
672
672
  this.addExperimentMenuItem(
673
- contextMenu.viewSection(), Root.Runtime.ExperimentName.AUTHORED_DEPLOYED_GROUPING,
673
+ contextMenu.viewSection(), Root.ExperimentNames.ExperimentName.AUTHORED_DEPLOYED_GROUPING,
674
674
  i18nString(UIStrings.groupByAuthored));
675
675
  this.addExperimentMenuItem(
676
- contextMenu.viewSection(), Root.Runtime.ExperimentName.JUST_MY_CODE, i18nString(UIStrings.hideIgnoreListed));
676
+ contextMenu.viewSection(), Root.ExperimentNames.ExperimentName.JUST_MY_CODE,
677
+ i18nString(UIStrings.hideIgnoreListed));
677
678
  }
678
679
 
679
680
  updateLastModificationTime(): void {
@@ -968,7 +969,7 @@ export class SourcesPanel extends UI.Panel.Panel implements
968
969
  const eventTarget = (event.target as Node);
969
970
  if (!uiSourceCode.project().isServiceProject() &&
970
971
  !eventTarget.isSelfOrDescendant(this.navigatorTabbedLocation.widget().element) &&
971
- !(Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.JUST_MY_CODE) &&
972
+ !(Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.JUST_MY_CODE) &&
972
973
  Workspace.IgnoreListManager.IgnoreListManager.instance().isUserOrSourceMapIgnoreListedUISourceCode(
973
974
  uiSourceCode))) {
974
975
  contextMenu.revealSection().appendItem(
@@ -377,10 +377,10 @@ export class HeadersViewComponent extends HTMLElement {
377
377
  ${i18nString(UIStrings.addOverrideRule)}
378
378
  </devtools-button>
379
379
  <div class="learn-more-row">
380
- <x-link
380
+ <devtools-link
381
381
  href="https://goo.gle/devtools-override"
382
382
  class="link"
383
- jslog=${VisualLogging.link('learn-more').track({click: true})}>${i18nString(UIStrings.learnMore)}</x-link>
383
+ jslogContext=${'learn-more'}>${i18nString(UIStrings.learnMore)}</devtools-link>
384
384
  </div>
385
385
  `, this.#shadow, {host: this});
386
386
  // clang-format on
@@ -42,7 +42,7 @@ function isShowPostMessageEventsEnabled(): boolean {
42
42
  // cache is updated automatically.
43
43
  if (showPostMessageEvents === undefined) {
44
44
  showPostMessageEvents =
45
- Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.TIMELINE_SHOW_POST_MESSAGE_EVENTS);
45
+ Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.TIMELINE_SHOW_POST_MESSAGE_EVENTS);
46
46
  }
47
47
  return showPostMessageEvents;
48
48
  }
@@ -327,7 +327,8 @@ export class CompatibilityTracksAppender {
327
327
  }
328
328
  };
329
329
  const threads = Trace.Handlers.Threads.threadsInTrace(this.#parsedTrace.data);
330
- const showAllEvents = Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.TIMELINE_SHOW_ALL_EVENTS);
330
+ const showAllEvents =
331
+ Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.TIMELINE_SHOW_ALL_EVENTS);
331
332
 
332
333
  for (const {pid, tid, name, type, entries, tree} of threads) {
333
334
  if (this.#parsedTrace.data.Meta.traceIsGeneric) {
@@ -151,7 +151,8 @@ export class ThreadAppender implements TrackAppender {
151
151
  #headerAppended = false;
152
152
  readonly threadType: Trace.Handlers.Threads.ThreadType = Trace.Handlers.Threads.ThreadType.MAIN_THREAD;
153
153
  readonly isOnMainFrame: boolean;
154
- #showAllEventsEnabled = Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.TIMELINE_SHOW_ALL_EVENTS);
154
+ #showAllEventsEnabled =
155
+ Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.TIMELINE_SHOW_ALL_EVENTS);
155
156
  #url = '';
156
157
  #headerNestingLevel: number|null = null;
157
158
  constructor(
@@ -229,7 +229,7 @@ export class TimelineController implements Tracing.TracingManager.TracingManager
229
229
  // 'disabled-by-default-v8.cpu_profiler'
230
230
  // └ default: on, option: enableJSSampling
231
231
  const categoriesArray = [
232
- Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.TIMELINE_SHOW_ALL_EVENTS) ? '*' : '-*',
232
+ Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.TIMELINE_SHOW_ALL_EVENTS) ? '*' : '-*',
233
233
  Trace.Types.Events.Categories.Console,
234
234
  Trace.Types.Events.Categories.Loading,
235
235
  Trace.Types.Events.Categories.UserTiming,
@@ -251,14 +251,14 @@ export class TimelineController implements Tracing.TracingManager.TracingManager
251
251
  'navigation,rail',
252
252
  ];
253
253
 
254
- if (Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.TIMELINE_V8_RUNTIME_CALL_STATS) &&
254
+ if (Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.TIMELINE_V8_RUNTIME_CALL_STATS) &&
255
255
  options.enableJSSampling) {
256
256
  categoriesArray.push(disabledByDefault('v8.runtime_stats_sampling'));
257
257
  }
258
258
  if (options.enableJSSampling) {
259
259
  categoriesArray.push(disabledByDefault('v8.cpu_profiler'));
260
260
  }
261
- if (Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.TIMELINE_INVALIDATION_TRACKING)) {
261
+ if (Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.TIMELINE_INVALIDATION_TRACKING)) {
262
262
  categoriesArray.push(disabledByDefault('devtools.timeline.invalidationTracking'));
263
263
  }
264
264
  if (options.capturePictures) {
@@ -732,10 +732,11 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
732
732
 
733
733
  #instantiateNewModel(): Trace.TraceModel.Model {
734
734
  const config = Trace.Types.Configuration.defaults();
735
- config.showAllEvents = Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.TIMELINE_SHOW_ALL_EVENTS);
735
+ config.showAllEvents =
736
+ Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.TIMELINE_SHOW_ALL_EVENTS);
736
737
  config.includeRuntimeCallStats =
737
- Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.TIMELINE_V8_RUNTIME_CALL_STATS);
738
- config.debugMode = Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.TIMELINE_DEBUG_MODE);
738
+ Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.TIMELINE_V8_RUNTIME_CALL_STATS);
739
+ config.debugMode = Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.TIMELINE_DEBUG_MODE);
739
740
 
740
741
  const traceEngineModel = Trace.TraceModel.Model.createWithAllHandlers(config);
741
742
 
@@ -2090,7 +2091,8 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
2090
2091
 
2091
2092
  #applyActiveFilters(traceIsGeneric: boolean, exclusiveFilter: Trace.Extras.TraceFilter.TraceFilter|null = null):
2092
2093
  void {
2093
- if (traceIsGeneric || Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.TIMELINE_SHOW_ALL_EVENTS)) {
2094
+ if (traceIsGeneric ||
2095
+ Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.TIMELINE_SHOW_ALL_EVENTS)) {
2094
2096
  return;
2095
2097
  }
2096
2098