chrome-devtools-frontend 1.0.1582745 → 1.0.1585538

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 (127) hide show
  1. package/front_end/core/host/InspectorFrontendHostAPI.ts +1 -0
  2. package/front_end/core/host/InspectorFrontendHostStub.ts +2 -0
  3. package/front_end/core/root/Runtime.ts +12 -11
  4. package/front_end/core/sdk/CSSMatchedStyles.ts +3 -0
  5. package/front_end/core/sdk/CSSMetadata.ts +3 -0
  6. package/front_end/core/sdk/NetworkManager.ts +63 -115
  7. package/front_end/entrypoint_template.html +1 -5
  8. package/front_end/entrypoints/main/MainImpl.ts +1 -0
  9. package/front_end/generated/Deprecation.ts +21 -0
  10. package/front_end/generated/InspectorBackendCommands.ts +5 -3
  11. package/front_end/generated/SupportedCSSProperties.js +6 -2
  12. package/front_end/generated/protocol-mapping.d.ts +2 -1
  13. package/front_end/generated/protocol-proxy-api.d.ts +2 -1
  14. package/front_end/generated/protocol.ts +14 -0
  15. package/front_end/models/ai_assistance/AiConversation.ts +34 -2
  16. package/front_end/models/ai_assistance/BuiltInAi.ts +1 -2
  17. package/front_end/models/ai_assistance/agents/AiAgent.ts +3 -10
  18. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.snapshot.txt +1 -1
  19. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +17 -9
  20. package/front_end/models/ai_assistance/agents/StylingAgent.snapshot.txt +0 -24
  21. package/front_end/models/ai_code_generation/AiCodeGeneration.ts +5 -0
  22. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +16 -8
  23. package/front_end/models/computed_style/ComputedStyleModel.ts +20 -15
  24. package/front_end/models/greendev/Prototypes.ts +1 -5
  25. package/front_end/models/issues_manager/CorsIssue.ts +2 -9
  26. package/front_end/models/issues_manager/descriptions/corsLocalNetworkAccessPermissionDenied.md +2 -2
  27. package/front_end/models/javascript_metadata/NativeFunctions.js +20 -0
  28. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +28 -39
  29. package/front_end/panels/ai_assistance/components/ChatInput.ts +73 -95
  30. package/front_end/panels/ai_assistance/components/ChatMessage.ts +4 -2
  31. package/front_end/panels/ai_assistance/components/ChatView.ts +0 -2
  32. package/front_end/panels/autofill/AutofillView.ts +4 -8
  33. package/front_end/panels/common/AiCodeGenerationTeaser.ts +37 -8
  34. package/front_end/panels/console/ConsoleView.ts +1 -2
  35. package/front_end/panels/console/ConsoleViewMessage.ts +18 -11
  36. package/front_end/panels/elements/ComputedStyleWidget.ts +80 -48
  37. package/front_end/panels/elements/ElementStatePaneWidget.ts +1 -1
  38. package/front_end/panels/elements/ElementsPanel.ts +18 -5
  39. package/front_end/panels/elements/ElementsTreeElement.ts +459 -435
  40. package/front_end/panels/elements/EventListenersWidget.ts +2 -4
  41. package/front_end/panels/elements/NodeStackTraceWidget.ts +1 -3
  42. package/front_end/panels/elements/PropertiesWidget.ts +1 -2
  43. package/front_end/panels/elements/StylePropertyTreeElement.ts +18 -2
  44. package/front_end/panels/elements/computedStyleWidget.css +25 -0
  45. package/front_end/panels/issues/AffectedResourcesView.ts +1 -2
  46. package/front_end/panels/network/NetworkDataGridNode.ts +0 -8
  47. package/front_end/panels/network/NetworkLogView.ts +64 -105
  48. package/front_end/panels/network/RequestConditionsDrawer.ts +168 -233
  49. package/front_end/panels/network/network-meta.ts +4 -27
  50. package/front_end/panels/settings/SettingsScreen.ts +12 -4
  51. package/front_end/panels/settings/WorkspaceSettingsTab.ts +1 -1
  52. package/front_end/panels/snippets/SnippetsQuickOpen.ts +6 -9
  53. package/front_end/panels/sources/CallStackSidebarPane.ts +6 -8
  54. package/front_end/panels/sources/DebuggerPlugin.ts +2 -1
  55. package/front_end/panels/sources/GoToLineQuickOpen.ts +0 -4
  56. package/front_end/panels/sources/OpenFileQuickOpen.ts +0 -4
  57. package/front_end/panels/sources/OutlineQuickOpen.ts +0 -4
  58. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +3 -1
  59. package/front_end/panels/sources/sources-meta.ts +9 -6
  60. package/front_end/panels/timeline/TimelineFlameChartView.ts +0 -12
  61. package/front_end/panels/timeline/TimelinePanel.ts +35 -15
  62. package/front_end/panels/timeline/components/Sidebar.ts +21 -0
  63. package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +1 -20
  64. package/front_end/panels/timeline/components/insights/InsightRenderer.ts +0 -1
  65. package/front_end/third_party/chromium/README.chromium +1 -1
  66. package/front_end/third_party/puppeteer/README.chromium +2 -2
  67. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts +1 -1
  68. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
  69. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js +1 -1
  70. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
  71. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
  72. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js +2 -3
  73. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js.map +1 -1
  74. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +2 -2
  75. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +2 -2
  76. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/encoding.d.ts.map +1 -1
  77. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/encoding.js +5 -3
  78. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/encoding.js.map +1 -1
  79. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
  80. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
  81. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +8 -6
  82. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts +1 -1
  83. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
  84. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js +1 -1
  85. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
  86. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
  87. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js +2 -3
  88. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js.map +1 -1
  89. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +2 -2
  90. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +2 -2
  91. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/encoding.d.ts.map +1 -1
  92. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/encoding.js +5 -3
  93. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/encoding.js.map +1 -1
  94. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
  95. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
  96. package/front_end/third_party/puppeteer/package/package.json +4 -4
  97. package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +1 -1
  98. package/front_end/third_party/puppeteer/package/src/bidi/core/BrowsingContext.ts +2 -2
  99. package/front_end/third_party/puppeteer/package/src/node/ChromeLauncher.ts +4 -3
  100. package/front_end/third_party/puppeteer/package/src/revisions.ts +2 -2
  101. package/front_end/third_party/puppeteer/package/src/util/encoding.ts +5 -3
  102. package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
  103. package/front_end/ui/components/linkifier/LinkifierImpl.ts +3 -0
  104. package/front_end/ui/components/linkifier/LinkifierUtils.ts +3 -0
  105. package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +8 -0
  106. package/front_end/ui/components/text_editor/AiCodeGenerationParser.ts +29 -7
  107. package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +42 -18
  108. package/front_end/ui/components/text_editor/config.ts +6 -0
  109. package/front_end/ui/legacy/InspectorView.ts +41 -15
  110. package/front_end/ui/legacy/Toolbar.ts +12 -4
  111. package/front_end/ui/legacy/UIUtils.ts +56 -7
  112. package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +4 -3
  113. package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +2 -1
  114. package/front_end/ui/legacy/components/quick_open/HelpQuickOpen.ts +8 -2
  115. package/front_end/ui/legacy/components/quick_open/QuickOpen.ts +8 -8
  116. package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +12 -9
  117. package/front_end/ui/legacy/components/utils/Linkifier.ts +116 -87
  118. package/front_end/ui/legacy/legacy.ts +0 -2
  119. package/front_end/ui/visual_logging/KnownContextValues.ts +4 -0
  120. package/mcp/HostBindings.ts +3 -0
  121. package/package.json +1 -1
  122. package/front_end/models/issues_manager/descriptions/corsInsecurePrivateNetwork.md +0 -10
  123. package/front_end/models/issues_manager/descriptions/corsPreflightAllowPrivateNetworkError.md +0 -10
  124. package/front_end/models/issues_manager/descriptions/corsPrivateNetworkPermissionDenied.md +0 -10
  125. package/front_end/panels/elements/computedStyleSidebarPane.css +0 -18
  126. package/front_end/ui/legacy/Floaty.ts +0 -438
  127. package/front_end/ui/legacy/floaty.css +0 -77
@@ -60,6 +60,10 @@ const UIStrings = {
60
60
  * @description Message to display if a setting change requires a reload of DevTools
61
61
  */
62
62
  settingsChangedReloadDevTools: 'Settings changed. To apply, reload DevTools.',
63
+ /**
64
+ * @description Message to display if a setting change requires a reload of DevTools
65
+ */
66
+ settingsChangedRestartChrome: 'Settings changed. To apply, restart Chrome.',
63
67
  /**
64
68
  * @description Warning text shown when the user has entered text to filter the
65
69
  * list of experiments, but no experiments match the filter.
@@ -464,8 +468,13 @@ export class ExperimentsSettingsTab extends UI.Widget.VBox implements SettingsTa
464
468
  }
465
469
  experiment.setEnabled(checkbox.checked);
466
470
  Host.userMetrics.experimentChanged(experiment.name, experiment.isEnabled());
467
- UI.InspectorView.InspectorView.instance().displayReloadRequiredWarning(
468
- i18nString(UIStrings.settingsChangedReloadDevTools));
471
+ if (experiment instanceof Root.Runtime.HostExperiment && experiment.requiresChromeRestart) {
472
+ UI.InspectorView.InspectorView.instance().displayChromeRestartRequiredWarning(
473
+ i18nString(UIStrings.settingsChangedRestartChrome));
474
+ } else {
475
+ UI.InspectorView.InspectorView.instance().displayReloadRequiredWarning(
476
+ i18nString(UIStrings.settingsChangedReloadDevTools));
477
+ }
469
478
  }
470
479
  checkbox.addEventListener('click', listener, false);
471
480
 
@@ -628,7 +637,7 @@ const GREENDEV_VIEW: View = (input, _output, target) => {
628
637
  <span>${i18nString(UIStrings.greenDevUnstable)}</span>
629
638
  </div>
630
639
  <div class="settings-experiments-block">
631
- ${renderPrototypeCheckboxes(input.settings, ['aiAnnotations', 'inDevToolsFloaty', 'copyToGemini'])}
640
+ ${renderPrototypeCheckboxes(input.settings, ['aiAnnotations', 'copyToGemini'])}
632
641
  </div>
633
642
  </devtools-card>
634
643
  </div>
@@ -637,7 +646,6 @@ const GREENDEV_VIEW: View = (input, _output, target) => {
637
646
  };
638
647
 
639
648
  const GREENDEV_PROTOTYPE_NAMES: Record<keyof GreenDev.GreenDevSettings, string> = {
640
- inDevToolsFloaty: 'In DevTools context picker',
641
649
  aiAnnotations: 'AI auto-annotations',
642
650
  copyToGemini: 'Copy changes to AI Prompt'
643
651
  };
@@ -61,7 +61,7 @@ export const DEFAULT_VIEW: View = (input, _output, target) => {
61
61
  <input
62
62
  class="harmony-input"
63
63
  jslog=${VisualLogging.textField().track({keydown: 'Enter', change: true}).context(input.excludePatternSetting.name)}
64
- ${UI.UIUtils.bindToSetting(input.excludePatternSetting)}
64
+ ${UI.UIUtils.bindToSetting(input.excludePatternSetting, {jslog: false})}
65
65
  id="workspace-setting-folder-exclude-pattern"></input>
66
66
  </div>
67
67
  <div class="mappings-info">${i18nString(UIStrings.mappingsAreInferredAutomatically)}</div>
@@ -37,16 +37,12 @@ const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined
37
37
  let snippetsQuickOpenInstance: SnippetsQuickOpen;
38
38
 
39
39
  export class SnippetsQuickOpen extends QuickOpen.FilteredListWidget.Provider {
40
- private snippets: Workspace.UISourceCode.UISourceCode[];
41
- private constructor() {
42
- super('snippet');
43
- this.snippets = [];
44
- }
40
+ private snippets: Workspace.UISourceCode.UISourceCode[] = [];
45
41
 
46
- static instance(opts: {forceNew: boolean|null} = {forceNew: null}): SnippetsQuickOpen {
47
- const {forceNew} = opts;
42
+ static instance(opts: {forceNew: boolean|null, jslogContext: string}): SnippetsQuickOpen {
43
+ const {forceNew, jslogContext} = opts;
48
44
  if (!snippetsQuickOpenInstance || forceNew) {
49
- snippetsQuickOpenInstance = new SnippetsQuickOpen();
45
+ snippetsQuickOpenInstance = new SnippetsQuickOpen(jslogContext);
50
46
  }
51
47
 
52
48
  return snippetsQuickOpenInstance;
@@ -102,8 +98,9 @@ export class SnippetsQuickOpen extends QuickOpen.FilteredListWidget.Provider {
102
98
  QuickOpen.FilteredListWidget.registerProvider({
103
99
  prefix: '!',
104
100
  iconName: 'exclamation',
105
- provider: () => Promise.resolve(SnippetsQuickOpen.instance()),
101
+ provider: jslogContext => Promise.resolve(SnippetsQuickOpen.instance({forceNew: null, jslogContext})),
106
102
  helpTitle: i18nLazyString(UIStrings.runSnippet),
107
103
  titlePrefix: i18nLazyString(UIStrings.run),
108
104
  titleSuggestion: i18nLazyString(UIStrings.snippet),
105
+ jslogContext: 'snippet'
109
106
  });
@@ -33,7 +33,7 @@ import * as Common from '../../core/common/common.js';
33
33
  import * as Host from '../../core/host/host.js';
34
34
  import * as i18n from '../../core/i18n/i18n.js';
35
35
  import * as Platform from '../../core/platform/platform.js';
36
- import * as SDK from '../../core/sdk/sdk.js';
36
+ import type * as SDK from '../../core/sdk/sdk.js';
37
37
  import * as Bindings from '../../models/bindings/bindings.js';
38
38
  import * as Persistence from '../../models/persistence/persistence.js';
39
39
  import * as StackTrace from '../../models/stack_trace/stack_trace.js';
@@ -231,7 +231,6 @@ export class CallStackSidebarPane extends UI.View.SimpleView implements UI.Conte
231
231
  this.ignoreListMessageElement.classList.add('hidden');
232
232
  this.showMoreMessageElement.classList.add('hidden');
233
233
  this.items.replaceAll([]);
234
- UI.Context.Context.instance().setFlavor(SDK.DebuggerModel.CallFrame, null);
235
234
  UI.Context.Context.instance().setFlavor(StackTrace.StackTrace.DebuggableFrameFlavor, null);
236
235
  return;
237
236
  }
@@ -424,25 +423,24 @@ export class CallStackSidebarPane extends UI.View.SimpleView implements UI.Conte
424
423
  const oldItem = this.activeCallFrameItem();
425
424
  if (debuggerCallFrame) {
426
425
  debuggerCallFrame.sdkFrame.debuggerModel.setSelectedCallFrame(debuggerCallFrame.sdkFrame);
427
- UI.Context.Context.instance().setFlavor(SDK.DebuggerModel.CallFrame, debuggerCallFrame.sdkFrame);
428
426
  UI.Context.Context.instance().setFlavor(
429
427
  StackTrace.StackTrace.DebuggableFrameFlavor,
430
428
  StackTrace.StackTrace.DebuggableFrameFlavor.for(debuggerCallFrame));
429
+ } else {
430
+ void Common.Revealer.reveal(uiLocation);
431
431
  }
432
432
  if (oldItem !== item) {
433
433
  if (oldItem) {
434
434
  this.refreshItem(oldItem);
435
435
  }
436
436
  this.refreshItem(item);
437
- } else {
438
- void Common.Revealer.reveal(uiLocation);
439
437
  }
440
438
  }
441
439
 
442
440
  activeCallFrameItem(): Item|null {
443
- const callFrame = UI.Context.Context.instance().flavor(SDK.DebuggerModel.CallFrame);
444
- if (callFrame) {
445
- return this.items.find(callFrameItem => callFrameItem.frame?.sdkFrame === callFrame) || null;
441
+ const frameFlavor = UI.Context.Context.instance().flavor(StackTrace.StackTrace.DebuggableFrameFlavor);
442
+ if (frameFlavor) {
443
+ return this.items.find(callFrameItem => callFrameItem.frame === frameFlavor.frame) || null;
446
444
  }
447
445
  return null;
448
446
  }
@@ -1741,7 +1741,8 @@ export class DebuggerPlugin extends Plugin {
1741
1741
  // still running or scheduled will early return and not do any work.
1742
1742
  this.editor = undefined;
1743
1743
 
1744
- UI.Context.Context.instance().removeFlavorChangeListener(SDK.DebuggerModel.CallFrame, this.callFrameChanged, this);
1744
+ UI.Context.Context.instance().removeFlavorChangeListener(
1745
+ StackTrace.StackTrace.DebuggableFrameFlavor, this.callFrameChanged, this);
1745
1746
  }
1746
1747
 
1747
1748
  /**
@@ -59,10 +59,6 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
59
59
  export class GoToLineQuickOpen extends QuickOpen.FilteredListWidget.Provider {
60
60
  #goToLineStrings: string[] = [];
61
61
 
62
- constructor() {
63
- super('source-line');
64
- }
65
-
66
62
  override selectItem(_itemIndex: number|null, promptValue: string): void {
67
63
  const sourceFrame = this.currentSourceFrame();
68
64
  if (!sourceFrame) {
@@ -16,10 +16,6 @@ import {SourcesView} from './SourcesView.js';
16
16
  const {styleMap} = Directives;
17
17
 
18
18
  export class OpenFileQuickOpen extends FilteredUISourceCodeListProvider {
19
- constructor() {
20
- super('source-file');
21
- }
22
-
23
19
  override attach(): void {
24
20
  this.setDefaultScores(SourcesView.defaultUISourceCodeScores());
25
21
  super.attach();
@@ -298,10 +298,6 @@ export class OutlineQuickOpen extends QuickOpen.FilteredListWidget.Provider {
298
298
  private items: OutlineItem[] = [];
299
299
  private active = false;
300
300
 
301
- constructor() {
302
- super('source-symbol');
303
- }
304
-
305
301
  override attach(): void {
306
302
  const sourceFrame = this.currentSourceFrame();
307
303
  if (sourceFrame) {
@@ -41,6 +41,7 @@ import * as SDK from '../../core/sdk/sdk.js';
41
41
  import type * as Protocol from '../../generated/protocol.js';
42
42
  import * as Formatter from '../../models/formatter/formatter.js';
43
43
  import * as SourceMapScopes from '../../models/source_map_scopes/source_map_scopes.js';
44
+ import * as StackTrace from '../../models/stack_trace/stack_trace.js';
44
45
  import * as Buttons from '../../ui/components/buttons/buttons.js';
45
46
  import * as TextEditor from '../../ui/components/text_editor/text_editor.js';
46
47
  import * as ObjectUI from '../../ui/legacy/components/object_ui/object_ui.js';
@@ -140,7 +141,8 @@ export class WatchExpressionsSidebarPane extends UI.Widget.VBox implements
140
141
  new ObjectUI.ObjectPropertiesSection.ObjectPropertiesSectionsTreeExpandController(this.treeOutline);
141
142
 
142
143
  UI.Context.Context.instance().addFlavorChangeListener(SDK.RuntimeModel.ExecutionContext, this.requestUpdate, this);
143
- UI.Context.Context.instance().addFlavorChangeListener(SDK.DebuggerModel.CallFrame, this.requestUpdate, this);
144
+ UI.Context.Context.instance().addFlavorChangeListener(
145
+ StackTrace.StackTrace.DebuggableFrameFlavor, this.requestUpdate, this);
144
146
  this.linkifier = new Components.Linkifier.Linkifier();
145
147
  this.requestUpdate();
146
148
  }
@@ -2008,37 +2008,40 @@ UI.ContextMenu.registerItem({
2008
2008
  QuickOpen.FilteredListWidget.registerProvider({
2009
2009
  prefix: '@',
2010
2010
  iconName: 'symbol',
2011
- async provider() {
2011
+ async provider(jslogContext: string) {
2012
2012
  const Sources = await loadSourcesModule();
2013
- return new Sources.OutlineQuickOpen.OutlineQuickOpen();
2013
+ return new Sources.OutlineQuickOpen.OutlineQuickOpen(jslogContext);
2014
2014
  },
2015
2015
  helpTitle: i18nLazyString(UIStrings.goToSymbol),
2016
2016
  titlePrefix: i18nLazyString(UIStrings.goTo),
2017
2017
  titleSuggestion: i18nLazyString(UIStrings.symbol),
2018
+ jslogContext: 'source-symbol'
2018
2019
  });
2019
2020
 
2020
2021
  QuickOpen.FilteredListWidget.registerProvider({
2021
2022
  prefix: ':',
2022
2023
  iconName: 'colon',
2023
- async provider() {
2024
+ async provider(jslogContext: string) {
2024
2025
  const Sources = await loadSourcesModule();
2025
- return new Sources.GoToLineQuickOpen.GoToLineQuickOpen();
2026
+ return new Sources.GoToLineQuickOpen.GoToLineQuickOpen(jslogContext);
2026
2027
  },
2027
2028
  helpTitle: i18nLazyString(UIStrings.goToLine),
2028
2029
  titlePrefix: i18nLazyString(UIStrings.goTo),
2029
2030
  titleSuggestion: i18nLazyString(UIStrings.line),
2031
+ jslogContext: 'source-line',
2030
2032
  });
2031
2033
 
2032
2034
  QuickOpen.FilteredListWidget.registerProvider({
2033
2035
  prefix: '',
2034
2036
  iconName: 'document',
2035
- async provider() {
2037
+ async provider(jslogContext: string) {
2036
2038
  const Sources = await loadSourcesModule();
2037
- return new Sources.OpenFileQuickOpen.OpenFileQuickOpen();
2039
+ return new Sources.OpenFileQuickOpen.OpenFileQuickOpen(jslogContext);
2038
2040
  },
2039
2041
  helpTitle: i18nLazyString(UIStrings.openFile),
2040
2042
  titlePrefix: i18nLazyString(UIStrings.open),
2041
2043
  titleSuggestion: i18nLazyString(UIStrings.file),
2044
+ jslogContext: 'source-file',
2042
2045
  });
2043
2046
 
2044
2047
  UI.ContextMenu.registerProvider({
@@ -1708,18 +1708,6 @@ export class TimelineFlameChartView extends Common.ObjectWrapper.eventMixin<Even
1708
1708
  #onEntryInvoked(
1709
1709
  dataProvider: TimelineFlameChartDataProvider|TimelineFlameChartNetworkDataProvider,
1710
1710
  event: Common.EventTarget.EventTargetEvent<number>): void {
1711
- const selectedEvent = dataProvider.eventByIndex(event.data);
1712
- if (this.#parsedTrace && selectedEvent) {
1713
- const handledByFloaty = UI.Floaty.onFloatyClick({
1714
- type: UI.Floaty.FloatyContextTypes.PERFORMANCE_EVENT,
1715
- data: {event: selectedEvent, traceStartTime: this.#parsedTrace.data.Meta.traceBounds.min}
1716
- });
1717
- if (handledByFloaty) {
1718
- // If this was added to the Floaty context, we do not need to actually
1719
- // select the event.
1720
- return;
1721
- }
1722
- }
1723
1711
  this.#updateSelectedEntryStatus(dataProvider, event);
1724
1712
 
1725
1713
  const entryIndex = event.data;
@@ -335,7 +335,6 @@ type ViewMode = {
335
335
  }|{
336
336
  mode: 'VIEWING_TRACE',
337
337
  traceIndex: number,
338
- forceOpenSidebar: boolean,
339
338
  }|{
340
339
  mode: 'STATUS_PANE_OVERLAY',
341
340
  };
@@ -431,6 +430,19 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
431
430
  */
432
431
  #userHadShortcutsDialogOpenedOnce = Common.Settings.Settings.instance().createSetting<boolean>(
433
432
  'timeline.user-had-shortcuts-dialog-opened-once', false);
433
+ /**
434
+ * Rather than auto-pop the sidebar every time the user records a trace,
435
+ * which could get annoying, we instead persist the state of the sidebar
436
+ * visibility to a setting so it's restored across sessions.
437
+ * However, sometimes we have to automatically hide the sidebar, like when a
438
+ * trace recording is happening, or the user is on the landing page. In those
439
+ * times, we toggle this flag to true. Then, when we enter the VIEWING_TRACE
440
+ * mode, we check this flag and pop the sidebar open if it's set to true.
441
+ * Longer term a better fix here would be to divide the 3 UI screens
442
+ * (status pane, landing page, trace view) into distinct components /
443
+ * widgets, to avoid this complexity.
444
+ */
445
+ #restoreSidebarVisibilityOnTraceLoad = false;
434
446
  /**
435
447
  * Navigation radio buttons located in the shortcuts dialog.
436
448
  */
@@ -928,9 +940,7 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
928
940
  this.#hideLandingPage();
929
941
  this.#setModelForActiveTrace();
930
942
  this.#removeStatusPane();
931
- if (newMode.forceOpenSidebar) {
932
- this.#showSidebar();
933
- }
943
+ this.#showSidebarIfRequired();
934
944
  this.flameChart.dimThirdPartiesIfRequired();
935
945
  this.dispatchEventToListeners(Events.IS_VIEWING_TRACE, true);
936
946
 
@@ -1663,7 +1673,6 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
1663
1673
  this.#changeView({
1664
1674
  mode: 'VIEWING_TRACE',
1665
1675
  traceIndex: recordingData.parsedTraceIndex,
1666
- forceOpenSidebar: false,
1667
1676
  });
1668
1677
  }
1669
1678
  }
@@ -1677,7 +1686,6 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
1677
1686
  this.#changeView({
1678
1687
  mode: 'VIEWING_TRACE',
1679
1688
  traceIndex: recordingData.parsedTraceIndex,
1680
- forceOpenSidebar: false,
1681
1689
  });
1682
1690
  }
1683
1691
  return true;
@@ -2303,18 +2311,32 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
2303
2311
  }
2304
2312
 
2305
2313
  /**
2306
- * After the user imports / records a trace, we auto-show the sidebar.
2314
+ * After the user imports / records a trace, we auto-show the sidebar if:
2315
+ * 1. The user has never seen it before, so we show it once to aid discovery
2316
+ * 2. The user had it open, and we hid it (for example, during recording), so now we need to bring it back.
2307
2317
  */
2308
- #showSidebar(): void {
2309
- const disabledByLocalStorageForTests =
2310
- window.localStorage.getItem('disable-auto-show-rpp-sidebar-for-test') === 'true';
2311
- if (disabledByLocalStorageForTests) {
2318
+ #showSidebarIfRequired(): void {
2319
+ const disabledByLocalStorage = window.localStorage.getItem('disable-auto-show-rpp-sidebar-for-test') === 'true';
2320
+
2321
+ if (Root.Runtime.Runtime.queryParam('disable-auto-performance-sidebar-reveal') !== null || disabledByLocalStorage) {
2322
+ // Used in interaction tests & screenshot tests.
2312
2323
  return;
2313
2324
  }
2314
2325
 
2315
- if (!this.#splitWidget.sidebarIsShowing()) {
2326
+ const needToRestore = this.#restoreSidebarVisibilityOnTraceLoad;
2327
+ const userHasSeenSidebar = this.#sideBar.sidebarHasBeenOpened();
2328
+
2329
+ if ((!userHasSeenSidebar || needToRestore) && !this.#splitWidget.sidebarIsShowing()) {
2316
2330
  this.#splitWidget.showBoth();
2317
2331
  }
2332
+ this.#restoreSidebarVisibilityOnTraceLoad = false;
2333
+ }
2334
+
2335
+ /**
2336
+ * Exposed for testing.
2337
+ */
2338
+ splitWidget(): UI.SplitWidget.SplitWidget {
2339
+ return this.#splitWidget;
2318
2340
  }
2319
2341
 
2320
2342
  // Build a map mapping annotated entries to the colours that are used to display them in the FlameChart.
@@ -2414,6 +2436,7 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
2414
2436
  */
2415
2437
  #hideSidebar(): void {
2416
2438
  if (this.#splitWidget.sidebarIsShowing()) {
2439
+ this.#restoreSidebarVisibilityOnTraceLoad = true;
2417
2440
  this.#splitWidget.hideSidebar();
2418
2441
  }
2419
2442
  }
@@ -2520,7 +2543,6 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
2520
2543
  this.#changeView({
2521
2544
  mode: 'VIEWING_TRACE',
2522
2545
  traceIndex: this.#traceEngineModel.lastTraceIndex(),
2523
- forceOpenSidebar: false,
2524
2546
  });
2525
2547
  } else {
2526
2548
  this.#changeView({mode: 'LANDING_PAGE'});
@@ -2537,8 +2559,6 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
2537
2559
  this.#changeView({
2538
2560
  mode: 'VIEWING_TRACE',
2539
2561
  traceIndex,
2540
- // This is a new trace, so we want to open the insights sidebar automatically.
2541
- forceOpenSidebar: true,
2542
2562
  });
2543
2563
 
2544
2564
  const parsedTrace = this.#traceEngineModel.parsedTrace(traceIndex);
@@ -3,6 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
  /* eslint-disable @devtools/no-imperative-dom-api */
5
5
 
6
+ import * as Common from '../../../core/common/common.js';
6
7
  import type * as Trace from '../../../models/trace/trace.js';
7
8
  import * as UI from '../../../ui/legacy/legacy.js';
8
9
 
@@ -75,6 +76,14 @@ export class SidebarWidget extends UI.Widget.VBox {
75
76
  * user pops the sidebar open, we want to re-activate it.
76
77
  */
77
78
  #insightToRestoreOnOpen: ActiveInsight|null = null;
79
+ /**
80
+ * We track if the user has opened the sidebar once. This is used to
81
+ * automatically show the sidebar for new users when they first record or
82
+ * import a trace, but then persist its state (so if they close it, it stays
83
+ * closed).
84
+ */
85
+ #hasOpenedOnce =
86
+ Common.Settings.Settings.instance().createSetting<boolean>('timeline-sidebar-opened-at-least-once', false);
78
87
 
79
88
  constructor() {
80
89
  super();
@@ -93,6 +102,7 @@ export class SidebarWidget extends UI.Widget.VBox {
93
102
 
94
103
  override wasShown(): void {
95
104
  super.wasShown();
105
+ this.#hasOpenedOnce.set(true);
96
106
  this.#tabbedPane.show(this.element);
97
107
  this.#updateAnnotationsCountBadge();
98
108
 
@@ -152,6 +162,17 @@ export class SidebarWidget extends UI.Widget.VBox {
152
162
  this.#tabbedPane.selectTab(SidebarTabs.INSIGHTS);
153
163
  }
154
164
  }
165
+
166
+ /**
167
+ * True if the sidebar has been visible at least one time. This is persisted
168
+ * to the user settings so it persists across sessions. This is used because
169
+ * we do not force the RPP sidebar open by default; if a user has seen it &
170
+ * then closed it, we will not re-open it automatically. But if a user
171
+ * has never seen it, we want them to see it once to know it exists.
172
+ */
173
+ sidebarHasBeenOpened(): boolean {
174
+ return this.#hasOpenedOnce.get();
175
+ }
155
176
  }
156
177
 
157
178
  class InsightsView extends UI.Widget.VBox {
@@ -8,7 +8,6 @@ import * as i18n from '../../../../core/i18n/i18n.js';
8
8
  import * as Root from '../../../../core/root/root.js';
9
9
  import * as AIAssistance from '../../../../models/ai_assistance/ai_assistance.js';
10
10
  import * as Badges from '../../../../models/badges/badges.js';
11
- import * as GreenDev from '../../../../models/greendev/greendev.js';
12
11
  import type {InsightModel} from '../../../../models/trace/insights/types.js';
13
12
  import type * as Trace from '../../../../models/trace/trace.js';
14
13
  import * as Buttons from '../../../../ui/components/buttons/buttons.js';
@@ -80,7 +79,7 @@ interface ViewInput {
80
79
 
81
80
  type View = (input: ViewInput, output: undefined, target: HTMLElement) => void;
82
81
 
83
- const DEFAULT_VIEW: View = (input, output, target) => {
82
+ const DEFAULT_VIEW: View = (input, _output, target) => {
84
83
  const {
85
84
  internalName,
86
85
  model,
@@ -203,7 +202,6 @@ export abstract class BaseInsightComponent<T extends InsightModel> extends UI.Wi
203
202
  #model: T|null = null;
204
203
  #agentFocus: AIAssistance.AIContext.AgentFocus|null = null;
205
204
  #fieldMetrics: Trace.Insights.Common.CrUXFieldMetricResults|null = null;
206
- #parsedTrace: Trace.TraceModel.ParsedTrace|null = null;
207
205
  #initialOverlays: Trace.Types.Overlays.Overlay[]|null = null;
208
206
 
209
207
  constructor(element?: HTMLElement, view: View = DEFAULT_VIEW) {
@@ -249,10 +247,6 @@ export abstract class BaseInsightComponent<T extends InsightModel> extends UI.Wi
249
247
  return this.#selected;
250
248
  }
251
249
 
252
- set parsedTrace(trace: Trace.TraceModel.ParsedTrace|null) {
253
- this.#parsedTrace = trace;
254
- }
255
-
256
250
  set model(model: T) {
257
251
  this.#model = model;
258
252
  this.requestUpdate();
@@ -294,19 +288,6 @@ export abstract class BaseInsightComponent<T extends InsightModel> extends UI.Wi
294
288
  return;
295
289
  }
296
290
 
297
- if (this.#parsedTrace && GreenDev.Prototypes.instance().isEnabled('inDevToolsFloaty')) {
298
- const floatyHandled = UI.Floaty.onFloatyClick({
299
- type: UI.Floaty.FloatyContextTypes.PERFORMANCE_INSIGHT,
300
- data: {
301
- insight: this.#model,
302
- trace: this.#parsedTrace,
303
- }
304
- });
305
- if (floatyHandled) {
306
- return;
307
- }
308
- }
309
-
310
291
  const focus = UI.Context.Context.instance().flavor(AIAssistance.AIContext.AgentFocus);
311
292
  if (this.#selected) {
312
293
  this.element.dispatchEvent(new SidebarInsight.InsightDeactivated());
@@ -74,7 +74,6 @@ export class InsightRenderer {
74
74
  const componentClass = INSIGHT_NAME_TO_COMPONENT[insightName as keyof typeof INSIGHT_NAME_TO_COMPONENT];
75
75
  widgetElement.widgetConfig = widgetConfig(componentClass, {
76
76
  selected: options.selected ?? false,
77
- parsedTrace,
78
77
  // The `model` passed in as a parameter is the base type, but since
79
78
  // `componentClass` is the union of every derived insight component, the
80
79
  // `model` for the widget config is the union of every model. That can't be
@@ -1,7 +1,7 @@
1
1
  Name: Dependencies sourced from the upstream `chromium` repository
2
2
  URL: https://chromium.googlesource.com/chromium/src
3
3
  Version: N/A
4
- Revision: 294287c423bbeff3981714f04e193960f503e773
4
+ Revision: 1b64dcefe38cd6a1d49f95075bd448eae1c3cd57
5
5
  Update Mechanism: Manual (https://crbug.com/428069060)
6
6
  License: BSD-3-Clause
7
7
  License File: LICENSE
@@ -1,10 +1,10 @@
1
1
  Name: Puppeteer Core
2
2
  Short Name: Puppeteer Core
3
3
  URL: https://github.com/puppeteer/puppeteer/tree/main/packages/puppeteer-core
4
- Version: 24.37.2
4
+ Version: 24.37.3
5
5
  License: Apache-2.0
6
6
  License File: LICENSE
7
- Revision: b163ce4593a8f014b86d67d53825fbeb679045ca
7
+ Revision: eee111bedbbf719ce27f356f4f5307646b13b0eb
8
8
  Security Critical: no
9
9
  Shipped: yes
10
10
  Update Mechanism: Autoroll
@@ -142,7 +142,7 @@ export declare class BrowsingContext extends EventEmitter<{
142
142
  setJavaScriptEnabled(enabled: boolean): Promise<void>;
143
143
  isJavaScriptEnabled(): boolean;
144
144
  setUserAgent(userAgent: string | null): Promise<void>;
145
- setClientHintsOverride(clientHints: Bidi.BidiUaClientHints.Emulation.ClientHintsMetadata | null): Promise<void>;
145
+ setClientHintsOverride(clientHints: Bidi.BidiUaClientHints.UserAgentClientHints.ClientHintsMetadata | null): Promise<void>;
146
146
  setOfflineMode(enabled: boolean): Promise<void>;
147
147
  get bluetooth(): BluetoothEmulation;
148
148
  waitForDevicePrompt(timeout: number, signal?: AbortSignal): Promise<DeviceRequestPrompt>;
@@ -1 +1 @@
1
- {"version":3,"file":"BrowsingContext.d.ts","sourceRoot":"","sources":["../../../../../src/bidi/core/BrowsingContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrowsingContext.d.ts","sourceRoot":"","sources":["../../../../../src/bidi/core/BrowsingContext.ts"],"names":[],"mappings":"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"}
@@ -599,7 +599,7 @@ let BrowsingContext = (() => {
599
599
  return;
600
600
  }
601
601
  this.#clientHintsAreSet = true;
602
- await this.#session.send('emulation.setClientHintsOverride', {
602
+ await this.#session.send('userAgentClientHints.setClientHintsOverride', {
603
603
  clientHints,
604
604
  contexts: [this.id],
605
605
  });