chrome-devtools-frontend 1.0.1002543 → 1.0.1003496

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 (34) hide show
  1. package/config/gni/devtools_grd_files.gni +1 -0
  2. package/front_end/core/host/InspectorFrontendHostAPI.ts +1 -0
  3. package/front_end/core/host/UserMetrics.ts +17 -1
  4. package/front_end/core/i18n/locales/en-US.json +20 -35
  5. package/front_end/core/i18n/locales/en-XL.json +20 -35
  6. package/front_end/core/sdk/TracingModel.ts +5 -4
  7. package/front_end/devtools_compatibility.js +1 -0
  8. package/front_end/entrypoints/main/MainImpl.ts +1 -0
  9. package/front_end/generated/InspectorBackendCommands.js +4 -2
  10. package/front_end/generated/SupportedCSSProperties.js +3 -5
  11. package/front_end/generated/protocol.ts +18 -4
  12. package/front_end/models/issues_manager/AttributionReportingIssue.ts +4 -1
  13. package/front_end/models/issues_manager/DeprecationIssue.ts +84 -103
  14. package/front_end/models/issues_manager/descriptions/arInvalidHeader.md +3 -0
  15. package/front_end/models/persistence/NetworkPersistenceManager.ts +20 -0
  16. package/front_end/models/timeline_model/TimelineModel.ts +2 -1
  17. package/front_end/panels/elements/StylesSidebarPane.ts +21 -5
  18. package/front_end/panels/elements/stylesSidebarPane.css +3 -0
  19. package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +14 -0
  20. package/front_end/panels/lighthouse/LighthouseController.ts +2 -1
  21. package/front_end/panels/network/NetworkLogView.ts +32 -0
  22. package/front_end/panels/sources/SourcesNavigator.ts +1 -1
  23. package/front_end/panels/sources/SourcesPanel.ts +1 -1
  24. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +4 -12
  25. package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +409 -409
  26. package/front_end/third_party/lighthouse/locales/en-US.json +3 -0
  27. package/front_end/third_party/lighthouse/locales/en-XL.json +3 -0
  28. package/front_end/third_party/lighthouse/report/bundle.d.ts +2 -22
  29. package/front_end/third_party/lighthouse/report/bundle.js +5 -354
  30. package/front_end/third_party/lighthouse/report-assets/report-generator.mjs +1 -1
  31. package/front_end/ui/components/text_editor/javascript.ts +6 -15
  32. package/front_end/ui/legacy/InspectorView.ts +29 -0
  33. package/package.json +1 -1
  34. package/scripts/whitespaces.txt +1 -0
@@ -42,8 +42,10 @@ import * as Bindings from '../../models/bindings/bindings.js';
42
42
  import * as HAR from '../../models/har/har.js';
43
43
  import * as IssuesManager from '../../models/issues_manager/issues_manager.js';
44
44
  import * as Logs from '../../models/logs/logs.js';
45
+ import * as Persistence from '../../models/persistence/persistence.js';
45
46
  import * as TextUtils from '../../models/text_utils/text_utils.js';
46
47
  import * as NetworkForward from '../../panels/network/forward/forward.js';
48
+ import * as Sources from '../../panels/sources/sources.js';
47
49
  import * as DataGrid from '../../ui/legacy/components/data_grid/data_grid.js';
48
50
  import * as PerfUI from '../../ui/legacy/components/perf_ui/perf_ui.js';
49
51
  import * as Components from '../../ui/legacy/components/utils/utils.js';
@@ -346,6 +348,11 @@ const UIStrings = {
346
348
  *@description Text in Network Log View of the Network panel
347
349
  */
348
350
  areYouSureYouWantToClearBrowserCookies: 'Are you sure you want to clear browser cookies?',
351
+ /**
352
+ *@description A context menu item in the Network Log View of the Network panel
353
+ * for creating a header override
354
+ */
355
+ createResponseHeaderOverride: 'Create response header override',
349
356
  };
350
357
  const str_ = i18n.i18n.registerUIStrings('panels/network/NetworkLogView.ts', UIStrings);
351
358
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
@@ -1576,6 +1583,10 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
1576
1583
 
1577
1584
  contextMenu.saveSection().appendItem(i18nString(UIStrings.saveAllAsHarWithContent), this.exportAll.bind(this));
1578
1585
 
1586
+ contextMenu.editSection().appendItem(
1587
+ i18nString(UIStrings.createResponseHeaderOverride),
1588
+ this.#handleCreateResponseHeaderOverrideClick.bind(this, request));
1589
+ contextMenu.editSection().appendSeparator();
1579
1590
  contextMenu.editSection().appendItem(i18nString(UIStrings.clearBrowserCache), this.clearBrowserCache.bind(this));
1580
1591
  contextMenu.editSection().appendItem(
1581
1592
  i18nString(UIStrings.clearBrowserCookies), this.clearBrowserCookies.bind(this));
@@ -1691,6 +1702,27 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
1691
1702
  void stream.close();
1692
1703
  }
1693
1704
 
1705
+ async #handleCreateResponseHeaderOverrideClick(request: SDK.NetworkRequest.NetworkRequest): Promise<void> {
1706
+ if (Persistence.NetworkPersistenceManager.NetworkPersistenceManager.instance().project()) {
1707
+ await this.#revealHeaderOverrideEditor(request);
1708
+ } else { // If folder for local overrides has not been provided yet
1709
+ UI.InspectorView.InspectorView.instance().displaySelectOverrideFolderInfobar(async(): Promise<void> => {
1710
+ await Sources.SourcesNavigator.OverridesNavigatorView.instance().setupNewWorkspace();
1711
+ await this.#revealHeaderOverrideEditor(request);
1712
+ });
1713
+ }
1714
+ }
1715
+
1716
+ async #revealHeaderOverrideEditor(request: SDK.NetworkRequest.NetworkRequest): Promise<void> {
1717
+ const networkPersistanceManager = Persistence.NetworkPersistenceManager.NetworkPersistenceManager.instance();
1718
+ const uiSourceCode = await networkPersistanceManager.getOrCreateHeadersUISourceCodeFromUrl(request.url());
1719
+ if (uiSourceCode) {
1720
+ const sourcesPanel = Sources.SourcesPanel.SourcesPanel.instance();
1721
+ sourcesPanel.showUISourceCode(uiSourceCode);
1722
+ sourcesPanel.revealInNavigator(uiSourceCode);
1723
+ }
1724
+ }
1725
+
1694
1726
  private clearBrowserCache(): void {
1695
1727
  if (confirm(i18nString(UIStrings.areYouSureYouWantToClearBrowser))) {
1696
1728
  SDK.NetworkManager.MultitargetNetworkManager.instance().clearBrowserCache();
@@ -278,7 +278,7 @@ export class OverridesNavigatorView extends NavigatorView {
278
278
  this.toolbar.appendToolbarItem(setupButton);
279
279
  }
280
280
 
281
- private async setupNewWorkspace(): Promise<void> {
281
+ async setupNewWorkspace(): Promise<void> {
282
282
  const fileSystem =
283
283
  await Persistence.IsolatedFileSystemManager.IsolatedFileSystemManager.instance().addFileSystem('overrides');
284
284
  if (!fileSystem) {
@@ -528,7 +528,7 @@ export class SourcesPanel extends UI.Panel.Panel implements UI.ContextMenu.Provi
528
528
  this.showUISourceCode(uiLocation.uiSourceCode, uiLocation.lineNumber, uiLocation.columnNumber, omitFocus);
529
529
  }
530
530
 
531
- private revealInNavigator(uiSourceCode: Workspace.UISourceCode.UISourceCode, skipReveal?: boolean): void {
531
+ revealInNavigator(uiSourceCode: Workspace.UISourceCode.UISourceCode, skipReveal?: boolean): void {
532
532
  for (const navigator of registeredNavigatorViews) {
533
533
  const navigatorView = navigator.navigatorView();
534
534
  const viewId = navigator.viewId;
@@ -105,10 +105,6 @@ const UIStrings = {
105
105
  */
106
106
  experience: 'Experience',
107
107
  /**
108
- *@description Text in Timeline Flame Chart Data Provider of the Performance panel
109
- */
110
- interactions: 'Interactions',
111
- /**
112
108
  *@description Text for rendering frames
113
109
  */
114
110
  frames: 'Frames',
@@ -178,8 +174,7 @@ export class TimelineFlameChartDataProvider extends Common.ObjectWrapper.ObjectW
178
174
  private readonly collapsibleTimingsHeader: PerfUI.FlameChart.GroupStyle;
179
175
  private readonly timingsHeader: PerfUI.FlameChart.GroupStyle;
180
176
  private readonly screenshotsHeader: PerfUI.FlameChart.GroupStyle;
181
- private readonly interactionsHeaderLevel1: PerfUI.FlameChart.GroupStyle;
182
- private readonly interactionsHeaderLevel2: PerfUI.FlameChart.GroupStyle;
177
+ private readonly animationsHeader: PerfUI.FlameChart.GroupStyle;
183
178
  private readonly experienceHeader: PerfUI.FlameChart.GroupStyle;
184
179
  private readonly flowEventIndexById: Map<string, number>;
185
180
  private entryData!: TimelineFlameChartEntry[];
@@ -239,8 +234,7 @@ export class TimelineFlameChartDataProvider extends Common.ObjectWrapper.ObjectW
239
234
  this.buildGroupStyle({shareHeaderLine: true, useFirstLineForOverview: true, collapsible: false});
240
235
  this.screenshotsHeader =
241
236
  this.buildGroupStyle({useFirstLineForOverview: true, nestingLevel: 1, collapsible: false, itemsHeight: 150});
242
- this.interactionsHeaderLevel1 = this.buildGroupStyle({useFirstLineForOverview: true});
243
- this.interactionsHeaderLevel2 = this.buildGroupStyle({padding: 2, nestingLevel: 1});
237
+ this.animationsHeader = this.buildGroupStyle({useFirstLineForOverview: false});
244
238
  this.experienceHeader = this.buildGroupStyle({collapsible: false});
245
239
 
246
240
  ThemeSupport.ThemeSupport.instance().addEventListener(ThemeSupport.ThemeChangeEvent.eventName, () => {
@@ -252,8 +246,7 @@ export class TimelineFlameChartDataProvider extends Common.ObjectWrapper.ObjectW
252
246
  this.collapsibleTimingsHeader,
253
247
  this.timingsHeader,
254
248
  this.screenshotsHeader,
255
- this.interactionsHeaderLevel1,
256
- this.interactionsHeaderLevel2,
249
+ this.animationsHeader,
257
250
  this.experienceHeader,
258
251
  ];
259
252
  for (const header of headers) {
@@ -460,7 +453,7 @@ export class TimelineFlameChartDataProvider extends Common.ObjectWrapper.ObjectW
460
453
  switch (track.type) {
461
454
  case TimelineModel.TimelineModel.TrackType.Animation: {
462
455
  this.appendAsyncEventsGroup(
463
- track, i18nString(UIStrings.animation), track.asyncEvents, this.interactionsHeaderLevel2, eventEntryType,
456
+ track, i18nString(UIStrings.animation), track.asyncEvents, this.animationsHeader, eventEntryType,
464
457
  false /* selectable */);
465
458
  break;
466
459
  }
@@ -752,7 +745,6 @@ export class TimelineFlameChartDataProvider extends Common.ObjectWrapper.ObjectW
752
745
  if (!interactionRecords.length) {
753
746
  return;
754
747
  }
755
- this.appendHeader(i18nString(UIStrings.interactions), this.interactionsHeaderLevel1, false /* selectable */);
756
748
  for (const segment of interactionRecords) {
757
749
  const index = this.entryData.length;
758
750
  this.entryData.push((segment.data as TimelineModel.TimelineIRModel.Phases));