chrome-devtools-frontend 1.0.1672557 → 1.0.1675430

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 (177) hide show
  1. package/.agents/skills/devtools-ux-writing-refactor/SKILL.md +26 -9
  2. package/front_end/core/common/ParsedURL.ts +5 -1
  3. package/front_end/core/common/SettingRegistration.ts +30 -34
  4. package/front_end/core/common/Settings.ts +4 -64
  5. package/front_end/core/host/UserMetrics.ts +127 -117
  6. package/front_end/core/protocol_client/PuppeteerDevToolsConnection.ts +42 -9
  7. package/front_end/core/root/Runtime.ts +14 -0
  8. package/front_end/core/sdk/NetworkManager.ts +0 -35
  9. package/front_end/core/sdk/SourceMap.ts +1 -19
  10. package/front_end/core/sdk/SourceMapManager.ts +75 -48
  11. package/front_end/core/sdk/SourceMapScopesInfo.ts +0 -62
  12. package/front_end/core/sdk/TargetManager.ts +18 -0
  13. package/front_end/devtools_compatibility.js +1 -1
  14. package/front_end/entrypoints/main/MainImpl.ts +1 -0
  15. package/front_end/foundation/Universe.ts +44 -29
  16. package/front_end/generated/InspectorBackendCommands.ts +4 -3
  17. package/front_end/generated/SupportedCSSProperties.ts +16 -1
  18. package/front_end/generated/protocol-mapping.d.ts +8 -0
  19. package/front_end/generated/protocol-proxy-api.d.ts +6 -0
  20. package/front_end/generated/protocol.ts +16 -2
  21. package/front_end/models/ai_assistance/AiSetting.ts +66 -3
  22. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +15 -5
  23. package/front_end/models/bindings/CompilerScriptMapping.ts +1 -1
  24. package/front_end/models/emulation/DeviceModeModel.ts +82 -102
  25. package/front_end/models/emulation/EmulatedDevices.ts +18 -66
  26. package/front_end/models/javascript_metadata/NativeFunctions.js +4 -4
  27. package/front_end/models/persistence/AutomaticFileSystemManager.ts +2 -2
  28. package/front_end/models/persistence/IsolatedFileSystemManager.ts +20 -29
  29. package/front_end/models/trace/ModelImpl.ts +5 -0
  30. package/front_end/models/trace/Processor.ts +5 -0
  31. package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +7 -1
  32. package/front_end/models/trace/handlers/MetaHandler.ts +8 -4
  33. package/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +11 -0
  34. package/front_end/models/workspace/FileManager.ts +13 -6
  35. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +11 -10
  36. package/front_end/panels/ai_assistance/ai_assistance-meta.ts +3 -45
  37. package/front_end/panels/application/BackgroundServiceView.ts +42 -40
  38. package/front_end/panels/application/KeyValueStorageItemsView.ts +1 -0
  39. package/front_end/panels/application/WebMCPView.ts +13 -5
  40. package/front_end/panels/application/components/AdsView.ts +24 -1
  41. package/front_end/panels/application/components/adsView.css +27 -21
  42. package/front_end/panels/autofill/AutofillView.ts +12 -12
  43. package/front_end/panels/autofill/autofill-meta.ts +2 -2
  44. package/front_end/panels/common/ExtensionServer.ts +7 -1
  45. package/front_end/panels/common/common.ts +0 -1
  46. package/front_end/panels/console/ConsoleInsightTeaser.ts +7 -6
  47. package/front_end/panels/console/ConsoleViewMessage.ts +1 -1
  48. package/front_end/panels/elements/ClassesPaneWidget.ts +2 -2
  49. package/front_end/panels/elements/ElementsTreeElement.ts +602 -327
  50. package/front_end/panels/elements/ElementsTreeOutline.ts +1 -1
  51. package/front_end/panels/elements/StylesSidebarPane.ts +1 -1
  52. package/front_end/panels/elements/components/AdornerManager.ts +1 -0
  53. package/front_end/panels/emulation/AdvancedApp.ts +3 -3
  54. package/front_end/panels/emulation/DeviceModeToolbar.ts +2 -11
  55. package/front_end/panels/emulation/DeviceModeView.ts +234 -75
  56. package/front_end/panels/emulation/InspectedPagePlaceholder.ts +1 -1
  57. package/front_end/panels/emulation/deviceModeView.css +4 -21
  58. package/front_end/panels/emulation/emulation-meta.ts +4 -30
  59. package/front_end/panels/emulation/emulation.ts +0 -3
  60. package/front_end/panels/explain/components/ConsoleInsight.ts +11 -7
  61. package/front_end/panels/js_timeline/js_timeline-meta.ts +8 -8
  62. package/front_end/panels/layer_viewer/LayerDetailsView.ts +30 -30
  63. package/front_end/panels/layer_viewer/LayerTreeOutline.ts +6 -6
  64. package/front_end/panels/layer_viewer/LayerViewHost.ts +1 -1
  65. package/front_end/panels/layer_viewer/Layers3DView.ts +11 -11
  66. package/front_end/panels/layer_viewer/PaintProfilerView.ts +8 -8
  67. package/front_end/panels/layer_viewer/TransformController.ts +3 -3
  68. package/front_end/panels/layer_viewer/layer_viewer-meta.ts +11 -11
  69. package/front_end/panels/layers/LayersPanel.ts +2 -2
  70. package/front_end/panels/layers/layers-meta.ts +2 -2
  71. package/front_end/panels/lighthouse/LighthouseController.ts +3 -7
  72. package/front_end/panels/mobile_throttling/CPUThrottlingSelector.ts +313 -0
  73. package/front_end/panels/mobile_throttling/NetworkPanelIndicator.ts +0 -10
  74. package/front_end/panels/mobile_throttling/NetworkThrottlingSelector.ts +21 -10
  75. package/front_end/panels/mobile_throttling/ThrottlingManager.ts +1 -58
  76. package/front_end/panels/mobile_throttling/mobile_throttling.ts +2 -9
  77. package/front_end/panels/network/NetworkConfigView.ts +1 -71
  78. package/front_end/panels/network/networkConfigView.css +1 -2
  79. package/front_end/panels/profiler/HeapDetachedElementsDataGrid.ts +3 -3
  80. package/front_end/panels/profiler/HeapDetachedElementsView.ts +5 -5
  81. package/front_end/panels/profiler/HeapProfileView.ts +32 -32
  82. package/front_end/panels/profiler/HeapProfilerPanel.ts +2 -2
  83. package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +33 -37
  84. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +26 -27
  85. package/front_end/panels/profiler/HeapSnapshotView.ts +48 -48
  86. package/front_end/panels/profiler/IsolateSelector.ts +10 -10
  87. package/front_end/panels/profiler/ModuleUIStrings.ts +25 -25
  88. package/front_end/panels/profiler/ProfileLauncherView.ts +6 -6
  89. package/front_end/panels/profiler/ProfilesPanel.ts +6 -6
  90. package/front_end/panels/profiler/WritableProfileHeader.ts +6 -6
  91. package/front_end/panels/profiler/profiler-meta.ts +7 -7
  92. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +7 -0
  93. package/front_end/panels/recorder/RecorderPanel.ts +1 -1
  94. package/front_end/panels/settings/AISettingsTab.ts +27 -23
  95. package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +1 -2
  96. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +12 -17
  97. package/front_end/panels/timeline/TimelinePanel.ts +20 -35
  98. package/front_end/panels/timeline/components/LiveMetricsView.ts +27 -6
  99. package/front_end/panels/timeline/components/NetworkTrackWidget.ts +1 -1
  100. package/front_end/panels/timeline/components/components.ts +0 -4
  101. package/front_end/panels/timeline/components/liveMetricsView.css +7 -0
  102. package/front_end/third_party/chromium/README.chromium +1 -1
  103. package/front_end/third_party/source-map-scopes-codec/package/CONTRIBUTING.md +0 -0
  104. package/front_end/third_party/source-map-scopes-codec/package/LICENSE +0 -0
  105. package/front_end/third_party/source-map-scopes-codec/package/README.md +0 -0
  106. package/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/builder.d.ts +0 -0
  107. package/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/builder.d.ts.map +1 -1
  108. package/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/safe_builder.d.ts +0 -0
  109. package/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/safe_builder.d.ts.map +0 -0
  110. package/front_end/third_party/source-map-scopes-codec/package/_dist/src/decode/decode.d.ts +0 -0
  111. package/front_end/third_party/source-map-scopes-codec/package/_dist/src/decode/decode.d.ts.map +0 -0
  112. package/front_end/third_party/source-map-scopes-codec/package/_dist/src/encode/encode.d.ts +0 -0
  113. package/front_end/third_party/source-map-scopes-codec/package/_dist/src/encode/encode.d.ts.map +0 -0
  114. package/front_end/third_party/source-map-scopes-codec/package/_dist/src/mod.d.ts +0 -0
  115. package/front_end/third_party/source-map-scopes-codec/package/_dist/src/mod.d.ts.map +0 -0
  116. package/front_end/third_party/source-map-scopes-codec/package/_dist/src/scopes.d.ts +0 -0
  117. package/front_end/third_party/source-map-scopes-codec/package/_dist/src/scopes.d.ts.map +0 -0
  118. package/front_end/third_party/source-map-scopes-codec/package/deno.json +1 -1
  119. package/front_end/third_party/source-map-scopes-codec/package/package.json +1 -1
  120. package/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js +2 -0
  121. package/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js.map +1 -1
  122. package/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.ts +2 -0
  123. package/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js +0 -0
  124. package/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js.map +0 -0
  125. package/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.ts +0 -0
  126. package/front_end/third_party/source-map-scopes-codec/package/src/codec.js +0 -0
  127. package/front_end/third_party/source-map-scopes-codec/package/src/codec.js.map +0 -0
  128. package/front_end/third_party/source-map-scopes-codec/package/src/codec.ts +0 -0
  129. package/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js +0 -0
  130. package/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js.map +0 -0
  131. package/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.ts +0 -0
  132. package/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js +0 -0
  133. package/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js.map +0 -0
  134. package/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.ts +0 -0
  135. package/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js +0 -0
  136. package/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js.map +0 -0
  137. package/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.ts +0 -0
  138. package/front_end/third_party/source-map-scopes-codec/package/src/mod.js +0 -0
  139. package/front_end/third_party/source-map-scopes-codec/package/src/mod.js.map +0 -0
  140. package/front_end/third_party/source-map-scopes-codec/package/src/mod.ts +0 -0
  141. package/front_end/third_party/source-map-scopes-codec/package/src/scopes.js +0 -0
  142. package/front_end/third_party/source-map-scopes-codec/package/src/scopes.js.map +0 -0
  143. package/front_end/third_party/source-map-scopes-codec/package/src/scopes.ts +0 -0
  144. package/front_end/third_party/source-map-scopes-codec/package/src/util.js +0 -0
  145. package/front_end/third_party/source-map-scopes-codec/package/src/util.js.map +0 -0
  146. package/front_end/third_party/source-map-scopes-codec/package/src/util.ts +0 -0
  147. package/front_end/third_party/source-map-scopes-codec/package/src/vlq.js +0 -0
  148. package/front_end/third_party/source-map-scopes-codec/package/src/vlq.js.map +0 -0
  149. package/front_end/third_party/source-map-scopes-codec/package/src/vlq.ts +0 -0
  150. package/front_end/ui/comments/CommentAnchorResolver.ts +132 -0
  151. package/front_end/ui/comments/comments.ts +9 -0
  152. package/front_end/ui/components/dialogs/ShortcutDialog.ts +2 -0
  153. package/front_end/ui/components/settings/SettingCheckbox.ts +4 -12
  154. package/front_end/ui/components/settings/settingCheckbox.css +0 -7
  155. package/front_end/ui/legacy/Treeoutline.ts +14 -14
  156. package/front_end/ui/legacy/UIUtils.ts +2 -47
  157. package/front_end/ui/legacy/Widget.ts +10 -2
  158. package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +40 -0
  159. package/front_end/ui/legacy/components/settings_ui/SettingsUI.ts +1 -1
  160. package/front_end/ui/legacy/components/utils/Linkifier.ts +1 -0
  161. package/front_end/ui/lit/Directives.ts +80 -0
  162. package/front_end/ui/lit/lit.ts +1 -0
  163. package/front_end/ui/lit/render.ts +8 -0
  164. package/front_end/ui/settings/SettingUIRegistration.ts +4 -0
  165. package/front_end/ui/visual_logging/Debugging.ts +1 -5
  166. package/front_end/ui/visual_logging/KnownContextValues.ts +3 -0
  167. package/front_end/ui/visual_logging/LoggingConfig.ts +21 -0
  168. package/front_end/ui/visual_logging/visual_logging.ts +9 -0
  169. package/mcp/mcp.ts +1 -0
  170. package/package.json +1 -1
  171. package/front_end/panels/common/ThrottlingUtils.ts +0 -51
  172. package/front_end/panels/emulation/DeviceModeWrapper.ts +0 -248
  173. package/front_end/panels/mobile_throttling/MobileThrottlingSelector.ts +0 -92
  174. package/front_end/panels/timeline/components/CPUThrottlingSelector.ts +0 -235
  175. package/front_end/panels/timeline/components/NetworkThrottlingSelector.ts +0 -245
  176. package/front_end/panels/timeline/components/cpuThrottlingSelector.css +0 -30
  177. package/front_end/panels/timeline/components/networkThrottlingSelector.css +0 -24
@@ -51,14 +51,6 @@ const UIStrings = {
51
51
  * @description Command that hides measuring rulers next to the emulated device.
52
52
  */
53
53
  hideRulers: 'Hide rulers in the device mode toolbar',
54
- /**
55
- * @description Command that shows a frame around the emulated device.
56
- */
57
- showDeviceFrame: 'Show device frame',
58
- /**
59
- * @description Command that hides a frame around the emulated device.
60
- */
61
- hideDeviceFrame: 'Hide device frame',
62
54
 
63
55
  } as const;
64
56
  const str_ = i18n.i18n.registerUIStrings('panels/emulation/emulation-meta.ts', UIStrings);
@@ -79,7 +71,7 @@ UI.ActionRegistration.registerActionExtension({
79
71
  toggleable: true,
80
72
  async loadActionDelegate() {
81
73
  const Emulation = await loadEmulationModule();
82
- return new Emulation.DeviceModeWrapper.ActionDelegate();
74
+ return new Emulation.DeviceModeView.ActionDelegate();
83
75
  },
84
76
  condition: Root.Runtime.conditions.canDock,
85
77
  title: i18nLazyString(UIStrings.toggleDeviceToolbar),
@@ -101,7 +93,7 @@ UI.ActionRegistration.registerActionExtension({
101
93
  category: UI.ActionRegistration.ActionCategory.SCREENSHOT,
102
94
  async loadActionDelegate() {
103
95
  const Emulation = await loadEmulationModule();
104
- return new Emulation.DeviceModeWrapper.ActionDelegate();
96
+ return new Emulation.DeviceModeView.ActionDelegate();
105
97
  },
106
98
  condition: Root.Runtime.conditions.canDock,
107
99
  title: i18nLazyString(UIStrings.captureScreenshot),
@@ -112,7 +104,7 @@ UI.ActionRegistration.registerActionExtension({
112
104
  category: UI.ActionRegistration.ActionCategory.SCREENSHOT,
113
105
  async loadActionDelegate() {
114
106
  const Emulation = await loadEmulationModule();
115
- return new Emulation.DeviceModeWrapper.ActionDelegate();
107
+ return new Emulation.DeviceModeView.ActionDelegate();
116
108
  },
117
109
  condition: Root.Runtime.conditions.canDock,
118
110
  title: i18nLazyString(UIStrings.captureFullSizeScreenshot),
@@ -123,7 +115,7 @@ UI.ActionRegistration.registerActionExtension({
123
115
  category: UI.ActionRegistration.ActionCategory.SCREENSHOT,
124
116
  async loadActionDelegate() {
125
117
  const Emulation = await loadEmulationModule();
126
- return new Emulation.DeviceModeWrapper.ActionDelegate();
118
+ return new Emulation.DeviceModeView.ActionDelegate();
127
119
  },
128
120
  condition: Root.Runtime.conditions.canDock,
129
121
  title: i18nLazyString(UIStrings.captureNodeScreenshot),
@@ -165,24 +157,6 @@ Common.Settings.registerSettingExtension({
165
157
  tags: [i18nLazyString(UIStrings.device)],
166
158
  });
167
159
 
168
- Common.Settings.registerSettingExtension({
169
- category: Common.Settings.SettingCategory.MOBILE,
170
- settingName: 'emulation.show-device-outline',
171
- settingType: Common.Settings.SettingType.BOOLEAN,
172
- defaultValue: false,
173
- options: [
174
- {
175
- value: true,
176
- title: i18nLazyString(UIStrings.showDeviceFrame),
177
- },
178
- {
179
- value: false,
180
- title: i18nLazyString(UIStrings.hideDeviceFrame),
181
- },
182
- ],
183
- tags: [i18nLazyString(UIStrings.device)],
184
- });
185
-
186
160
  UI.Toolbar.registerToolbarItem({
187
161
  actionId: 'emulation.toggle-device-mode',
188
162
  condition: Root.Runtime.conditions.canDock,
@@ -7,12 +7,10 @@ import './InspectedPagePlaceholder.js';
7
7
  import './MediaQueryInspector.js';
8
8
  import './DeviceModeToolbar.js';
9
9
  import './DeviceModeView.js';
10
- import './DeviceModeWrapper.js';
11
10
 
12
11
  import * as AdvancedApp from './AdvancedApp.js';
13
12
  import * as DeviceModeToolbar from './DeviceModeToolbar.js';
14
13
  import * as DeviceModeView from './DeviceModeView.js';
15
- import * as DeviceModeWrapper from './DeviceModeWrapper.js';
16
14
  import * as InspectedPagePlaceholder from './InspectedPagePlaceholder.js';
17
15
  import * as MediaQueryInspector from './MediaQueryInspector.js';
18
16
 
@@ -20,7 +18,6 @@ export {
20
18
  AdvancedApp,
21
19
  DeviceModeToolbar,
22
20
  DeviceModeView,
23
- DeviceModeWrapper,
24
21
  InspectedPagePlaceholder,
25
22
  MediaQueryInspector,
26
23
  };
@@ -780,7 +780,7 @@ export class ConsoleInsight extends UI.Widget.Widget {
780
780
  // Rating sub-form state.
781
781
  #selectedRating?: boolean;
782
782
 
783
- #consoleInsightsEnabledSetting: Common.Settings.Setting<boolean>|undefined;
783
+ #consoleInsightsEnabledSetting: AiAssistanceModel.AiSetting.AiSetting<boolean>;
784
784
  #aidaPreconditions: Host.AidaClient.AidaAccessPreconditions;
785
785
  #boundOnAidaAvailabilityChange:
786
786
  (ev: Common.EventTarget.EventTargetEvent<Host.AidaClient.AidaAccessPreconditions>) => void;
@@ -861,10 +861,12 @@ export class ConsoleInsight extends UI.Widget.Widget {
861
861
 
862
862
  // off -> entrypoints are shown, and point to the AI setting panel where the setting can be turned on
863
863
  // on -> entrypoints are shown, and console insights can be generated
864
- #getConsoleInsightsEnabledSetting(): Common.Settings.Setting<boolean>|undefined {
865
- const result = Common.Settings.Settings.instance().maybeResolve(
866
- AiAssistanceModel.AiUtils.consoleInsightsEnabledSettingDescriptor);
867
- return 'setting' in result ? (result.setting as Common.Settings.Setting<boolean>) : undefined;
864
+ #getConsoleInsightsEnabledSetting(): AiAssistanceModel.AiSetting.AiSetting<boolean> {
865
+ return new AiAssistanceModel.AiSetting.AiSetting(
866
+ AiAssistanceModel.AiUtils.consoleInsightsEnabledSettingDescriptor,
867
+ Host.AidaClient.HostConfigTracker.instance(),
868
+ Common.Settings.Settings.instance(),
869
+ );
868
870
  }
869
871
 
870
872
  // off -> consent reminder is shown, unless the 'console-insights-enabled'-setting has been enabled in the current DevTools session
@@ -876,7 +878,8 @@ export class ConsoleInsight extends UI.Widget.Widget {
876
878
  override wasShown(): void {
877
879
  super.wasShown();
878
880
  this.focus();
879
- this.#consoleInsightsEnabledSetting?.addChangeListener(this.#onConsoleInsightsSettingChanged, this);
881
+ this.#consoleInsightsEnabledSetting.addEventListener(AiAssistanceModel.AiSetting.Events.CHANGED,
882
+ this.#onConsoleInsightsSettingChanged, this);
880
883
  const blockedByAge = Root.Runtime.hostConfig.aidaAvailability?.blockedByAge === true;
881
884
  if (this.#state.type === State.LOADING && this.#consoleInsightsEnabledSetting?.getIfNotDisabled() === true &&
882
885
  !blockedByAge && this.#state.consentOnboardingCompleted) {
@@ -899,7 +902,8 @@ export class ConsoleInsight extends UI.Widget.Widget {
899
902
 
900
903
  override willHide(): void {
901
904
  super.willHide();
902
- this.#consoleInsightsEnabledSetting?.removeChangeListener(this.#onConsoleInsightsSettingChanged, this);
905
+ this.#consoleInsightsEnabledSetting.removeEventListener(AiAssistanceModel.AiSetting.Events.CHANGED,
906
+ this.#onConsoleInsightsSettingChanged, this);
903
907
  Host.AidaClient.HostConfigTracker.instance().removeEventListener(
904
908
  Host.AidaClient.Events.AIDA_AVAILABILITY_CHANGED, this.#boundOnAidaAvailabilityChange);
905
909
  }
@@ -9,35 +9,35 @@ import type * as Timeline from '../timeline/timeline.js';
9
9
 
10
10
  const UIStrings = {
11
11
  /**
12
- * @description Text for the performance of something
12
+ * @description Title of the Performance panel.
13
13
  */
14
14
  performance: 'Performance',
15
15
  /**
16
- * @description Command for showing the 'Performance' tool
16
+ * @description Command for showing the Performance panel.
17
17
  */
18
18
  showPerformance: 'Show Performance',
19
19
  /**
20
- * @description Title of an action in the timeline tool to show history
20
+ * @description Title of an action in the Performance panel to show history.
21
21
  */
22
22
  showRecentTimelineSessions: 'Show recent timeline sessions',
23
23
  /**
24
- * @description Text to record a series of actions for analysis
24
+ * @description Text to record a series of actions for analysis.
25
25
  */
26
26
  record: 'Record',
27
27
  /**
28
- * @description Text of an item that stops the running task
28
+ * @description Text of an item that stops the running task.
29
29
  */
30
30
  stop: 'Stop',
31
31
  /**
32
- * @description Title of an action in the timeline tool to record a reload of the current page
32
+ * @description Title of an action in the Performance panel to record a reload of the current page.
33
33
  */
34
34
  recordAndReload: 'Record and reload',
35
35
  /**
36
- * @description Title of a setting under the Performance category in Settings
36
+ * @description Title of a setting under the Performance category in Settings.
37
37
  */
38
38
  timelineShowAllEvents: 'Show all events',
39
39
  /**
40
- * @description Title of a setting under the Performance category in Settings
40
+ * @description Title of a setting under the Performance category in Settings.
41
41
  */
42
42
  timelineDebugMode: 'Timeline debug mode (trace event details, etc.)',
43
43
  } as const;
@@ -24,15 +24,15 @@ const {widget} = UI.Widget;
24
24
 
25
25
  const UIStrings = {
26
26
  /**
27
- * @description Text in Layer Details View of the Layers panel
27
+ * @description Text in layer details view of the Layers panel.
28
28
  */
29
29
  selectALayerToSeeItsDetails: 'Select a layer to see its details',
30
30
  /**
31
- * @description Text in Layer Details View of the Layers panel if no layer is selected for viewing its content
31
+ * @description Text in layer details view of the Layers panel if no layer is selected for viewing its content.
32
32
  */
33
33
  noLayerSelected: 'No layer selected',
34
34
  /**
35
- * @description Element text content in Layer Details View of the Layers panel
35
+ * @description Element text content in layer details view of the Layers panel.
36
36
  * @example {Touch event handler} PH1
37
37
  * @example {10} PH2
38
38
  * @example {10} PH3
@@ -41,46 +41,46 @@ const UIStrings = {
41
41
  */
42
42
  scrollRectangleDimensions: '{PH1} {PH2} × {PH3} (at {PH4}, {PH5})',
43
43
  /**
44
- * @description Text in Layer Details View of the Layers panel. Used to indicate that a particular
44
+ * @description Text in layer details view of the Layers panel. Used to indicate that a particular
45
45
  * layer of the website is unnamed (was not given a name/doesn't have one).
46
46
  */
47
47
  unnamed: '<unnamed>',
48
48
  /**
49
- * @description Text in Layer Details View of the Layers panel
50
- * @example {Nearest Layer Shifting Sticky Box} PH1
49
+ * @description Text in layer details view of the Layers panel.
50
+ * @example {Nearest layer shifting sticky box} PH1
51
51
  * @example {&lt;unnamed&gt;} PH2
52
52
  * @example {5} PH3
53
53
  */
54
54
  stickyAncestorLayersS: '{PH1}: {PH2} ({PH3})',
55
55
  /**
56
- * @description Sticky box rect element text content in Layer Details View of the Layers panel
56
+ * @description Sticky box rect element text content in layer details view of the Layers panel.
57
57
  * @example {10} PH1
58
58
  * @example {10} PH2
59
59
  * @example {10} PH3
60
60
  * @example {10} PH4
61
61
  */
62
- stickyBoxRectangleDimensions: 'Sticky Box {PH1} × {PH2} (at {PH3}, {PH4})',
62
+ stickyBoxRectangleDimensions: 'Sticky box {PH1} × {PH2} (at {PH3}, {PH4})',
63
63
  /**
64
- * @description Containing block rect element text content in Layer Details View of the Layers panel.
65
- * The placeholder are width, height, x position, and y position respectively.
64
+ * @description Containing block rect element text content in layer details view of the Layers panel.
65
+ * The placeholders are width, height, x position, and y position respectively.
66
66
  * @example {10} PH1
67
67
  * @example {10} PH2
68
68
  * @example {10} PH3
69
69
  * @example {10} PH4
70
70
  */
71
- containingBlocRectangleDimensions: 'Containing Block {PH1} × {PH2} (at {PH3}, {PH4})',
71
+ containingBlocRectangleDimensions: 'Containing block {PH1} × {PH2} (at {PH3}, {PH4})',
72
72
  /**
73
- * @description Text in Layer Details View of the Layers panel. This also means "The nearest sticky
73
+ * @description Text in layer details view of the Layers panel. This also means "The nearest sticky
74
74
  * box that causes a layer shift".
75
75
  */
76
- nearestLayerShiftingStickyBox: 'Nearest Layer Shifting Sticky Box',
76
+ nearestLayerShiftingStickyBox: 'Nearest layer shifting sticky box',
77
77
  /**
78
- * @description Text in Layer Details View of the Layers panel. This also means "The nearest block
78
+ * @description Text in layer details view of the Layers panel. This also means "The nearest block
79
79
  * that causes a layer shift".
80
80
  */
81
- nearestLayerShiftingContaining: 'Nearest Layer Shifting Containing Block',
81
+ nearestLayerShiftingContaining: 'Nearest layer shifting containing block',
82
82
  /**
83
- * @description Size cell text content in Layer Details View of the Layers panel
83
+ * @description Size cell text content in layer details view of the Layers panel.
84
84
  * @example {10} PH1
85
85
  * @example {10} PH2
86
86
  * @example {10} PH3
@@ -88,53 +88,53 @@ const UIStrings = {
88
88
  */
89
89
  updateRectangleDimensions: '{PH1} × {PH2} (at {PH3}, {PH4})',
90
90
  /**
91
- * @description Text for the size of something
91
+ * @description Text for the size of something.
92
92
  */
93
93
  size: 'Size',
94
94
  /**
95
- * @description Text in Layer Details View of the Layers panel
95
+ * @description Text in layer details view of the Layers panel.
96
96
  */
97
- compositingReasons: 'Compositing Reasons',
97
+ compositingReasons: 'Compositing reasons',
98
98
  /**
99
- * @description Text in Layer Details View of the Layers panel
99
+ * @description Text in layer details view of the Layers panel.
100
100
  */
101
101
  memoryEstimate: 'Memory estimate',
102
102
  /**
103
- * @description Text in Layer Details View of the Layers panel
103
+ * @description Text in layer details view of the Layers panel.
104
104
  */
105
105
  paintCount: 'Paint count',
106
106
  /**
107
- * @description Text in Layer Details View of the Layers panel
107
+ * @description Text in layer details view of the Layers panel.
108
108
  */
109
109
  slowScrollRegions: 'Slow scroll regions',
110
110
  /**
111
- * @description Text in Layer Details View of the Layers panel
111
+ * @description Text in layer details view of the Layers panel.
112
112
  */
113
113
  stickyPositionConstraint: 'Sticky position constraint',
114
114
  /**
115
- * @description Title of the paint profiler, old name of the performance pane
115
+ * @description Label for button to open the paint profiler in the layer details view of the Layers panel.
116
116
  */
117
- paintProfiler: 'Paint Profiler',
117
+ paintProfiler: 'Paint profiler',
118
118
  /**
119
- * @description Text in Layer Details View of the Layers panel
119
+ * @description Text in layer details view of the Layers panel.
120
120
  */
121
121
  nonFastScrollable: 'Non fast scrollable',
122
122
  /**
123
- * @description Text in Layer Details View of the Layers panel
123
+ * @description Text in layer details view of the Layers panel.
124
124
  */
125
125
  touchEventHandler: 'Touch event handler',
126
126
  /**
127
- * @description Text in Layer Details View of the Layers panel
127
+ * @description Text in layer details view of the Layers panel.
128
128
  */
129
129
  wheelEventHandler: 'Wheel event handler',
130
130
  /**
131
- * @description Text in Layer Details View of the Layers panel. Means that this rectangle needs to
131
+ * @description Text in layer details view of the Layers panel. Means that this rectangle needs to
132
132
  * be repainted when the webpage is scrolled. 'repaints' means that the browser engine needs to
133
133
  * draw the pixels for this rectangle to the user's monitor again.
134
134
  */
135
135
  repaintsOnScroll: 'Repaints on scroll',
136
136
  /**
137
- * @description Text in Layer Details View of the Layers panel
137
+ * @description Text in layer details view of the Layers panel.
138
138
  */
139
139
  mainThreadScrollingReason: 'Main thread scrolling reason',
140
140
  } as const;
@@ -20,20 +20,20 @@ import {
20
20
 
21
21
  const UIStrings = {
22
22
  /**
23
- * @description A count of the number of rendering layers in Layer Tree Outline of the Layers panel
23
+ * @description A count of the number of rendering layers in layer tree outline of the Layers panel.
24
24
  * @example {10} PH1
25
25
  */
26
26
  layerCount: '{PH1} layers',
27
27
  /**
28
- * @description Label for layers sidepanel tree
28
+ * @description Label for layers sidebar tree.
29
29
  */
30
- layersTreePane: 'Layers Tree Pane',
30
+ layersTreePane: 'Layers tree',
31
31
  /**
32
- * @description A context menu item in the DView of the Layers panel
32
+ * @description Context menu item in the 3D view of the Layers panel.
33
33
  */
34
- showPaintProfiler: 'Show Paint Profiler',
34
+ showPaintProfiler: 'Show paint profiler',
35
35
  /**
36
- * @description Details text content in Layer Tree Outline of the Layers panel
36
+ * @description Details text content in layer tree outline of the Layers panel.
37
37
  * @example {10} PH1
38
38
  * @example {10} PH2
39
39
  */
@@ -9,7 +9,7 @@ import type * as UI from '../../ui/legacy/legacy.js';
9
9
 
10
10
  const UIStrings = {
11
11
  /**
12
- * @description Text in Layer View Host of the Layers panel
12
+ * @description Text in layer view host of the Layers panel.
13
13
  */
14
14
  showInternalLayers: 'Show internal layers',
15
15
  } as const;
@@ -31,38 +31,38 @@ const {widget} = UI.Widget;
31
31
 
32
32
  const UIStrings = {
33
33
  /**
34
- * @description Text of a DOM element in DView of the Layers panel
34
+ * @description Text of a DOM element in 3D view of the Layers panel.
35
35
  */
36
36
  noLayerInformation: 'No layers detected yet',
37
37
  /**
38
- * @description Text of a DOM element in DView of the Layers panel that explains the panel
38
+ * @description Text of a DOM element in 3D view of the Layers panel that explains the panel.
39
39
  */
40
40
  layerExplanation: 'On this page you will be able to view and inspect document layers.',
41
41
  /**
42
- * @description Accessibility label for canvas view in Layers tool
42
+ * @description Accessibility label for canvas view in Layers panel.
43
43
  */
44
- dLayersView: '3D Layers View',
44
+ dLayersView: '3D layers view',
45
45
  /**
46
- * @description Text in DView of the Layers panel
46
+ * @description Text in 3D view of the Layers panel.
47
47
  */
48
48
  cantDisplayLayers: 'Can’t display layers',
49
49
  /**
50
- * @description Text in DView of the Layers panel
50
+ * @description Text in 3D view of the Layers panel.
51
51
  */
52
52
  webglSupportIsDisabledInYour: 'WebGL support is disabled in your browser.',
53
53
  /**
54
- * @description Text in DView of the Layers panel
54
+ * @description Text in 3D view of the Layers panel.
55
55
  * @example {about:gpu} PH1
56
56
  */
57
57
  checkSForPossibleReasons: 'Check {PH1} for possible reasons.',
58
58
  /**
59
- * @description A context menu item in the DView of the Layers panel
59
+ * @description Context menu item in the 3D view of the Layers panel.
60
60
  */
61
- resetView: 'Reset View',
61
+ resetView: 'Reset view',
62
62
  /**
63
- * @description A context menu item in the DView of the Layers panel
63
+ * @description Context menu item in the 3D view of the Layers panel.
64
64
  */
65
- showPaintProfiler: 'Show Paint Profiler',
65
+ showPaintProfiler: 'Show paint profiler',
66
66
  } as const;
67
67
  const str_ = i18n.i18n.registerUIStrings('panels/layer_viewer/Layers3DView.ts', UIStrings);
68
68
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
@@ -18,33 +18,33 @@ const {ref} = Lit.Directives;
18
18
 
19
19
  const UIStrings = {
20
20
  /**
21
- * @description Text to indicate the progress of a profile
21
+ * @description Text to indicate the progress of a profile.
22
22
  */
23
23
  profiling: 'Profiling…',
24
24
  /**
25
- * @description Text in Paint Profiler View of the Layers panel
25
+ * @description Text in paint profiler view of the Layers panel.
26
26
  */
27
27
  shapes: 'Shapes',
28
28
  /**
29
- * @description Text in Paint Profiler View of the Layers panel
29
+ * @description Text in paint profiler view of the Layers panel.
30
30
  */
31
31
  bitmap: 'Bitmap',
32
32
  /**
33
- * @description Generic label for any text
33
+ * @description Generic label for any text.
34
34
  */
35
35
  text: 'Text',
36
36
  /**
37
- * @description Text in Paint Profiler View of the Layers panel
37
+ * @description Text in paint profiler view of the Layers panel.
38
38
  */
39
39
  misc: 'Misc',
40
40
  /**
41
- * @description ARIA label for a pie chart that shows the results of the paint profiler
41
+ * @description ARIA label for a pie chart that shows the results of the paint profiler.
42
42
  */
43
43
  profilingResults: 'Profiling results',
44
44
  /**
45
- * @description Label for command log tree in the Profiler tab
45
+ * @description Label for command log tree in the paint profiler.
46
46
  */
47
- commandLog: 'Command Log',
47
+ commandLog: 'Command log',
48
48
  } as const;
49
49
  const str_ = i18n.i18n.registerUIStrings('panels/layer_viewer/PaintProfilerView.ts', UIStrings);
50
50
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
@@ -13,15 +13,15 @@ import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
13
13
 
14
14
  const UIStrings = {
15
15
  /**
16
- * @description Tooltip text that appears when hovering over largeicon pan button in Transform Controller of the Layers panel
16
+ * @description Tooltip text that appears when hovering over largeicon pan button in transform controller of the Layers panel.
17
17
  */
18
18
  panModeX: 'Pan mode (X)',
19
19
  /**
20
- * @description Tooltip text that appears when hovering over largeicon rotate button in Transform Controller of the Layers panel
20
+ * @description Tooltip text that appears when hovering over largeicon rotate button in transform controller of the Layers panel.
21
21
  */
22
22
  rotateModeV: 'Rotate mode (V)',
23
23
  /**
24
- * @description Tooltip text that appears when hovering over the largeicon center button in the Transform Controller of the Layers panel
24
+ * @description Tooltip text that appears when hovering over the largeicon center button in the transform controller of the Layers panel.
25
25
  */
26
26
  resetTransform: 'Reset transform (0)',
27
27
  } as const;
@@ -8,47 +8,47 @@ import * as UI from '../../ui/legacy/legacy.js';
8
8
 
9
9
  const UIStrings = {
10
10
  /**
11
- * @description Title of a setting in Layer Viewer.
11
+ * @description Title of a setting in layer viewer.
12
12
  */
13
13
  paints: 'Paints',
14
14
  /**
15
- * @description Title of a setting in Layer Viewer.
15
+ * @description Title of a setting in layer viewer.
16
16
  */
17
17
  slowScrollRects: 'Slow scroll rects',
18
18
  /**
19
- * @description Text in the Shortcuts page to explain a keyboard shortcut (reset view in Layers Panel)
19
+ * @description Text in the Shortcuts page to explain a keyboard shortcut (reset view in Layers panel).
20
20
  */
21
21
  resetView: 'Reset view',
22
22
  /**
23
- * @description Text in the Shortcuts page to explain a keyboard shortcut (switch to pan in Layers Panel)
23
+ * @description Text in the Shortcuts page to explain a keyboard shortcut (switch to pan in Layers panel).
24
24
  */
25
25
  switchToPanMode: 'Switch to pan mode',
26
26
  /**
27
- * @description Text in the Shortcuts page to explain a keyboard shortcut (switch to rotate mode in Layers Panel)
27
+ * @description Text in the Shortcuts page to explain a keyboard shortcut (switch to rotate mode in Layers panel).
28
28
  */
29
29
  switchToRotateMode: 'Switch to rotate mode',
30
30
  /**
31
- * @description Text in the Shortcuts page to explain a keyboard shortcut (zoom in)
31
+ * @description Text in the Shortcuts page to explain a keyboard shortcut (zoom in).
32
32
  */
33
33
  zoomIn: 'Zoom in',
34
34
  /**
35
- * @description Text in the Shortcuts page to explain a keyboard shortcut (zoom out)
35
+ * @description Text in the Shortcuts page to explain a keyboard shortcut (zoom out).
36
36
  */
37
37
  zoomOut: 'Zoom out',
38
38
  /**
39
- * @description Description of a shortcut that pans or rotates the layer viewer up
39
+ * @description Description of a shortcut that pans or rotates the layer viewer up.
40
40
  */
41
41
  panOrRotateUp: 'Pan or rotate up',
42
42
  /**
43
- * @description Description of a shortcut that pans or rotates the layer viewer down
43
+ * @description Description of a shortcut that pans or rotates the layer viewer down.
44
44
  */
45
45
  panOrRotateDown: 'Pan or rotate down',
46
46
  /**
47
- * @description Description of a shortcut that pans or rotates the layer viewer left
47
+ * @description Description of a shortcut that pans or rotates the layer viewer left.
48
48
  */
49
49
  panOrRotateLeft: 'Pan or rotate left',
50
50
  /**
51
- * @description Description of a shortcut that pans or rotates the layer viewer right
51
+ * @description Description of a shortcut that pans or rotates the layer viewer right.
52
52
  */
53
53
  panOrRotateRight: 'Pan or rotate right',
54
54
  } as const;
@@ -14,11 +14,11 @@ import {Events, LayerTreeModel} from './LayerTreeModel.js';
14
14
 
15
15
  const UIStrings = {
16
16
  /**
17
- * @description Text for the details of something
17
+ * @description Title of the details tab in the Layers panel.
18
18
  */
19
19
  details: 'Details',
20
20
  /**
21
- * @description Title of the Profiler tool
21
+ * @description Title of the profiler tab in the Layers panel.
22
22
  */
23
23
  profiler: 'Profiler',
24
24
  } as const;
@@ -9,11 +9,11 @@ import type * as Layers from './layers.js';
9
9
 
10
10
  const UIStrings = {
11
11
  /**
12
- * @description Title of the Layers tool
12
+ * @description Title of the Layers panel.
13
13
  */
14
14
  layers: 'Layers',
15
15
  /**
16
- * @description Command for showing the Layers tool
16
+ * @description Command for showing the Layers panel.
17
17
  */
18
18
  showLayers: 'Show Layers',
19
19
  } as const;
@@ -201,7 +201,7 @@ class LighthouseRun {
201
201
  emulation: {
202
202
  type: EmulationModel.DeviceModeModel.Type,
203
203
  enabled: boolean,
204
- outlineEnabled: boolean,
204
+
205
205
  toolbarControlsEnabled: boolean,
206
206
  scale: number,
207
207
  device: EmulationModel.EmulatedDevices.EmulatedDevice|null,
@@ -274,7 +274,6 @@ class LighthouseRun {
274
274
  /**
275
275
  * We set the device emulation on the DevTools-side for two reasons:
276
276
  * 1. To workaround some odd device metrics emulation bugs like occuluding viewports
277
- * 2. To get the attractive device outline
278
277
  */
279
278
  private async setupEmulationAndProtocolConnection(): Promise<void> {
280
279
  const emulationModel = EmulationModel.DeviceModeModel.DeviceModeModel.instance();
@@ -282,7 +281,6 @@ class LighthouseRun {
282
281
  emulation: {
283
282
  type: emulationModel.type(),
284
283
  enabled: emulationModel.enabledSetting().get(),
285
- outlineEnabled: emulationModel.deviceOutlineSetting().get(),
286
284
  toolbarControlsEnabled: emulationModel.toolbarControlsEnabledSetting().get(),
287
285
  scale: emulationModel.scaleSetting().get(),
288
286
  device: emulationModel.device(),
@@ -297,7 +295,6 @@ class LighthouseRun {
297
295
  emulationModel.emulate(EmulationModel.DeviceModeModel.Type.None, null, null);
298
296
  } else if (this.flags.formFactor === 'mobile') {
299
297
  emulationModel.enabledSetting().set(true);
300
- emulationModel.deviceOutlineSetting().set(true);
301
298
 
302
299
  // The emulation model is currently coupled to the UI.
303
300
  // We must wait for the device mode view to render so that it can
@@ -325,10 +322,9 @@ class LighthouseRun {
325
322
  // https://bugs.chromium.org/p/chromium/issues/detail?id=1337089
326
323
  emulationModel.emulate(EmulationModel.DeviceModeModel.Type.None, null, null);
327
324
 
328
- const {type, enabled, outlineEnabled, toolbarControlsEnabled, scale, device, mode} =
329
- this.emulationStateBefore.emulation;
325
+ const {type, enabled, toolbarControlsEnabled, scale, device, mode} = this.emulationStateBefore.emulation;
330
326
  emulationModel.enabledSetting().set(enabled);
331
- emulationModel.deviceOutlineSetting().set(outlineEnabled);
327
+
332
328
  emulationModel.toolbarControlsEnabledSetting().set(toolbarControlsEnabled);
333
329
 
334
330
  // `emulate` will ignore the `scale` parameter for responsive emulation.