chrome-devtools-frontend 1.0.1519267 → 1.0.1520139

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 (90) hide show
  1. package/config/owner/COMMON_OWNERS +1 -2
  2. package/config/typescript/tsconfig.eslint.json +12 -1
  3. package/docs/ui_engineering.md +1011 -0
  4. package/front_end/core/host/GdpClient.ts +12 -3
  5. package/front_end/core/sdk/NetworkManager.ts +1 -0
  6. package/front_end/core/sdk/NetworkRequest.ts +10 -0
  7. package/front_end/entrypoints/main/MainImpl.ts +6 -1
  8. package/front_end/entrypoints/main/main-meta.ts +3 -3
  9. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +60 -34
  10. package/front_end/models/ai_assistance/agents/PerformanceAnnotationsAgent.ts +4 -4
  11. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +127 -29
  12. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +100 -55
  13. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +317 -640
  14. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +23 -19
  15. package/front_end/models/ai_assistance/performance/AICallTree.snapshot.txt +75 -0
  16. package/front_end/models/ai_assistance/performance/AICallTree.ts +14 -6
  17. package/front_end/models/ai_assistance/performance/AIContext.ts +62 -7
  18. package/front_end/models/ai_code_completion/AiCodeCompletion.ts +5 -5
  19. package/front_end/models/badges/Badge.ts +6 -1
  20. package/front_end/models/badges/StarterBadge.ts +5 -0
  21. package/front_end/models/javascript_metadata/NativeFunctions.js +5 -1
  22. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +14 -7
  23. package/front_end/panels/ai_assistance/PatchWidget.ts +17 -55
  24. package/front_end/panels/ai_assistance/components/ChatView.ts +44 -68
  25. package/front_end/panels/ai_assistance/components/PerformanceAgentMarkdownRenderer.ts +47 -1
  26. package/front_end/panels/ai_assistance/components/chatView.css +12 -0
  27. package/front_end/panels/animation/AnimationTimeline.ts +1 -1
  28. package/front_end/panels/animation/animationTimeline.css +4 -0
  29. package/front_end/panels/application/preloading/components/PreloadingString.ts +2 -5
  30. package/front_end/panels/common/AiCodeCompletionTeaser.ts +5 -0
  31. package/front_end/panels/common/aiCodeCompletionTeaser.css +6 -1
  32. package/front_end/panels/console/ConsolePrompt.ts +6 -0
  33. package/front_end/panels/console/ConsoleView.ts +4 -2
  34. package/front_end/panels/coverage/CoverageListView.ts +133 -158
  35. package/front_end/panels/coverage/CoverageView.ts +39 -16
  36. package/front_end/panels/mobile_throttling/NetworkThrottlingSelector.ts +2 -0
  37. package/front_end/panels/network/NetworkDataGridNode.ts +22 -0
  38. package/front_end/panels/network/NetworkLogViewColumns.ts +9 -0
  39. package/front_end/panels/recorder/components/CreateRecordingView.ts +2 -0
  40. package/front_end/panels/search/SearchResultsPane.ts +48 -15
  41. package/front_end/panels/search/SearchView.ts +33 -30
  42. package/front_end/panels/search/searchView.css +0 -2
  43. package/front_end/panels/settings/components/SyncSection.ts +3 -3
  44. package/front_end/panels/sources/AiCodeCompletionPlugin.ts +1 -4
  45. package/front_end/panels/sources/DebuggerPlugin.ts +4 -0
  46. package/front_end/panels/timeline/ThirdPartyTreeView.ts +1 -1
  47. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +0 -8
  48. package/front_end/panels/timeline/TimelineFlameChartView.ts +5 -5
  49. package/front_end/panels/timeline/TimelinePanel.ts +2 -0
  50. package/front_end/panels/timeline/TimelineTreeView.ts +1 -1
  51. package/front_end/third_party/chromium/README.chromium +1 -1
  52. package/front_end/third_party/puppeteer/README.chromium +2 -2
  53. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts +2 -2
  54. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
  55. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
  56. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
  57. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +1 -1
  58. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
  59. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.d.ts.map +1 -1
  60. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.js +15 -16
  61. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.js.map +1 -1
  62. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +2 -2
  63. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +2 -2
  64. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Function.js +1 -1
  65. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Function.js.map +1 -1
  66. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
  67. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +4 -4
  68. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +1 -1
  69. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +1 -1
  70. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js +1 -1
  71. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
  72. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts.map +1 -1
  73. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.js +15 -16
  74. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.js.map +1 -1
  75. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +2 -2
  76. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +2 -2
  77. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Function.js +1 -1
  78. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Function.js.map +1 -1
  79. package/front_end/third_party/puppeteer/package/package.json +3 -2
  80. package/front_end/third_party/puppeteer/package/src/generated/version.ts +1 -1
  81. package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +1 -1
  82. package/front_end/third_party/puppeteer/package/src/node/PipeTransport.ts +15 -17
  83. package/front_end/third_party/puppeteer/package/src/revisions.ts +2 -2
  84. package/front_end/third_party/puppeteer/package/src/util/Function.ts +1 -1
  85. package/front_end/tsconfig.json +12 -1
  86. package/front_end/ui/legacy/InspectorView.ts +86 -13
  87. package/front_end/ui/legacy/TabbedPane.ts +2 -1
  88. package/front_end/ui/visual_logging/KnownContextValues.ts +6 -0
  89. package/front_end/ui/visual_logging/LoggingEvents.ts +1 -1
  90. package/package.json +1 -1
@@ -8,6 +8,7 @@ import '../../../ui/components/icon_button/icon_button.js';
8
8
  import './ControlButton.js';
9
9
 
10
10
  import * as i18n from '../../../core/i18n/i18n.js';
11
+ import * as Badges from '../../../models/badges/badges.js';
11
12
  import * as Buttons from '../../../ui/components/buttons/buttons.js';
12
13
  import * as Input from '../../../ui/components/input/input.js';
13
14
  import * as Lit from '../../../ui/lit/lit.js';
@@ -231,6 +232,7 @@ export class CreateRecordingView extends HTMLElement {
231
232
  selectorAttribute,
232
233
  ),
233
234
  );
235
+ Badges.UserBadges.instance().recordAction(Badges.BadgeAction.RECORDER_RECORDING_STARTED);
234
236
  }
235
237
 
236
238
  #dispatchRecordingCancelled(): void {
@@ -136,16 +136,16 @@ const renderSearchMatches =
136
136
  };
137
137
 
138
138
  export class SearchResultsPane extends UI.Widget.VBox {
139
- readonly #searchConfig: Workspace.SearchConfig.SearchConfig;
139
+ #searchConfig: Workspace.SearchConfig.SearchConfig|null = null;
140
140
  #searchResults: SearchResult[] = [];
141
+ #resultsUpdated = false;
141
142
  #expandedResults = new WeakSet<SearchResult>();
142
143
  readonly #searchMatches = new WeakMap<SearchResult, SearchMatch[]>();
143
144
  #view: View;
144
145
 
145
- constructor(searchConfig: Workspace.SearchConfig.SearchConfig, view: View = DEFAULT_VIEW) {
146
- super({useShadowDom: true});
146
+ constructor(element: HTMLElement|undefined, view: View = DEFAULT_VIEW) {
147
+ super(element, {useShadowDom: true});
147
148
  this.#view = view;
148
- this.#searchConfig = searchConfig;
149
149
  }
150
150
 
151
151
  get searchResults(): SearchResult[] {
@@ -153,20 +153,33 @@ export class SearchResultsPane extends UI.Widget.VBox {
153
153
  }
154
154
 
155
155
  set searchResults(searchResults: SearchResult[]) {
156
- this.#searchResults = searchResults;
157
- let matchesExpandedCount = 0;
158
- for (const searchResult of searchResults) {
159
- if (this.#expandedResults.has(searchResult)) {
160
- matchesExpandedCount += this.#searchMatches.get(searchResult)?.length ?? 0;
161
- }
156
+ if (this.#searchResults === searchResults) {
157
+ return;
162
158
  }
163
- for (const searchResult of searchResults) {
164
- if (matchesExpandedCount < matchesExpandedByDefault && !this.#expandedResults.has(searchResult)) {
165
- this.#expandedResults.add(searchResult);
166
- this.#onExpandSearchResult(searchResult);
167
- matchesExpandedCount += this.#searchMatches.get(searchResult)?.length ?? 0;
159
+ if (this.#searchResults.length !== searchResults.length) {
160
+ this.#resultsUpdated = true;
161
+ } else if (this.#searchResults.length === searchResults.length) {
162
+ for (let i = 0; i < this.#searchResults.length; ++i) {
163
+ if (this.#searchResults[i] === searchResults[i]) {
164
+ continue;
165
+ }
166
+ this.#resultsUpdated = true;
167
+ break;
168
168
  }
169
169
  }
170
+ if (!this.#resultsUpdated) {
171
+ return;
172
+ }
173
+ this.#searchResults = searchResults;
174
+ this.requestUpdate();
175
+ }
176
+
177
+ get searchConfig(): Workspace.SearchConfig.SearchConfig|null {
178
+ return this.#searchConfig;
179
+ }
180
+
181
+ set searchConfig(searchConfig: Workspace.SearchConfig.SearchConfig|null) {
182
+ this.#searchConfig = searchConfig;
170
183
  this.requestUpdate();
171
184
  }
172
185
 
@@ -174,6 +187,7 @@ export class SearchResultsPane extends UI.Widget.VBox {
174
187
  for (const searchResult of this.#searchResults) {
175
188
  const startMatchIndex = this.#searchMatches.get(searchResult)?.length ?? 0;
176
189
  this.#appendSearchMatches(searchResult, startMatchIndex, searchResult.matchesCount());
190
+ this.#expandedResults.add(searchResult);
177
191
  }
178
192
  this.requestUpdate();
179
193
  }
@@ -190,6 +204,9 @@ export class SearchResultsPane extends UI.Widget.VBox {
190
204
  }
191
205
 
192
206
  #appendSearchMatches(searchResult: SearchResult, fromIndex: number, toIndex: number): void {
207
+ if (!this.#searchConfig) {
208
+ return;
209
+ }
193
210
  const queries = this.#searchConfig.queries();
194
211
  const regexes = [];
195
212
  for (let i = 0; i < queries.length; ++i) {
@@ -230,6 +247,22 @@ export class SearchResultsPane extends UI.Widget.VBox {
230
247
  }
231
248
 
232
249
  override performUpdate(): void {
250
+ if (this.#resultsUpdated) {
251
+ let matchesExpandedCount = 0;
252
+ for (const searchResult of this.#searchResults) {
253
+ if (this.#expandedResults.has(searchResult)) {
254
+ matchesExpandedCount += this.#searchMatches.get(searchResult)?.length ?? 0;
255
+ }
256
+ }
257
+ for (const searchResult of this.#searchResults) {
258
+ if (matchesExpandedCount < matchesExpandedByDefault && !this.#expandedResults.has(searchResult)) {
259
+ this.#expandedResults.add(searchResult);
260
+ this.#onExpandSearchResult(searchResult);
261
+ matchesExpandedCount += this.#searchMatches.get(searchResult)?.length ?? 0;
262
+ }
263
+ }
264
+ this.#resultsUpdated = false;
265
+ }
233
266
  this.#view(
234
267
  {
235
268
  results: this.#searchResults,
@@ -107,15 +107,16 @@ const UIStrings = {
107
107
  const str_ = i18n.i18n.registerUIStrings('panels/search/SearchView.ts', UIStrings);
108
108
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
109
109
  const {ref, live} = Directives;
110
- const {widgetConfig} = UI.Widget;
110
+ const {widgetConfig, widgetRef} = UI.Widget;
111
111
 
112
- interface SearchViewInput {
112
+ export interface SearchViewInput {
113
113
  query: string;
114
114
  matchCase: boolean;
115
115
  isRegex: boolean;
116
+ searchConfig: Workspace.SearchConfig.SearchConfig|null;
116
117
  searchMessage: string;
117
118
  searchResultsMessage: string;
118
- searchResultsPane: SearchResultsPane|null;
119
+ searchResults: SearchResult[];
119
120
  progress: Common.Progress.Progress|null;
120
121
  onQueryChange: (query: string) => void;
121
122
  onQueryKeyDown: (evt: KeyboardEvent) => void;
@@ -127,19 +128,22 @@ interface SearchViewInput {
127
128
  onClearSearch: () => void;
128
129
  }
129
130
 
130
- interface SearchViewOutput {
131
+ export interface SearchViewOutput {
131
132
  focusSearchInput: () => void;
133
+ showAllMatches: () => void;
134
+ collapseAllResults: () => void;
132
135
  }
133
136
 
134
- type View = (input: SearchViewInput, output: SearchViewOutput, target: HTMLElement) => void;
137
+ export type View = (input: SearchViewInput, output: SearchViewOutput, target: HTMLElement) => void;
135
138
 
136
139
  export const DEFAULT_VIEW: View = (input, output, target) => {
137
140
  const {
138
141
  query,
139
142
  matchCase,
140
143
  isRegex,
144
+ searchConfig,
141
145
  searchMessage,
142
- searchResultsPane,
146
+ searchResults,
143
147
  searchResultsMessage,
144
148
  progress,
145
149
  onQueryChange,
@@ -159,12 +163,13 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
159
163
  {PH1: UI.KeyboardShortcut.KeyboardShortcut.shortcutToString(UI.KeyboardShortcut.Keys.Enter)});
160
164
  } else if (progress) {
161
165
  header = i18nString(UIStrings.searching);
162
- } else if (!searchResultsPane) {
166
+ } else if (!searchResults.length) {
163
167
  header = i18nString(UIStrings.noMatchesFound);
164
168
  text = i18nString(UIStrings.nothingMatchedTheQuery);
165
169
  }
166
170
  // clang-format off
167
171
  render(html`
172
+ <style>${UI.inspectorCommonStyles}</style>
168
173
  <style>${searchViewStyles}</style>
169
174
  <div class="search-drawer-header" @keydown=${onPanelKeyDown}>
170
175
  <div class="search-container">
@@ -240,9 +245,11 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
240
245
  </devtools-toolbar>
241
246
  </div>
242
247
  <div class="search-results" @keydown=${onPanelKeyDown}>
243
- ${searchResultsPane
244
- ? html`<devtools-widget .widgetConfig=${widgetConfig(UI.Widget.VBox)}>
245
- ${searchResultsPane.element}
248
+ ${searchResults.length
249
+ ? html`<devtools-widget .widgetConfig=${widgetConfig(SearchResultsPane, {searchResults, searchConfig})}
250
+ ${widgetRef(SearchResultsPane, w => {
251
+ output.showAllMatches = () => void w.showAllMatches();
252
+ output.collapseAllResults = () => void w.collapseAllResults(); })}>
246
253
  </devtools-widget>`
247
254
  : html`<devtools-widget .widgetConfig=${widgetConfig(UI.EmptyWidget.EmptyWidget, {header, text})}>
248
255
  </devtools-widget>`}
@@ -263,6 +270,8 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
263
270
  export class SearchView extends UI.Widget.VBox {
264
271
  readonly #view: View;
265
272
  #focusSearchInput = (): void => {};
273
+ #showAllMatches = (): void => {};
274
+ #collapseAllResults = (): void => {};
266
275
  #isIndexing: boolean;
267
276
  #searchId: number;
268
277
  #searchMatchesCount: number;
@@ -271,7 +280,6 @@ export class SearchView extends UI.Widget.VBox {
271
280
  #searchingView: UI.Widget.Widget|null;
272
281
  #searchConfig: Workspace.SearchConfig.SearchConfig|null;
273
282
  #pendingSearchConfig: Workspace.SearchConfig.SearchConfig|null;
274
- #searchResultsPane: SearchResultsPane|null;
275
283
  #progress: Common.Progress.Progress|null;
276
284
  #query: string;
277
285
  #matchCase = false;
@@ -307,7 +315,6 @@ export class SearchView extends UI.Widget.VBox {
307
315
  this.#searchingView = null;
308
316
  this.#searchConfig = null;
309
317
  this.#pendingSearchConfig = null;
310
- this.#searchResultsPane = null;
311
318
  this.#progress = null;
312
319
  this.#throttler = throttler;
313
320
 
@@ -325,8 +332,9 @@ export class SearchView extends UI.Widget.VBox {
325
332
  query: this.#query,
326
333
  matchCase: this.#matchCase,
327
334
  isRegex: this.#isRegex,
335
+ searchConfig: this.#searchConfig,
328
336
  searchMessage: this.#searchMessage,
329
- searchResultsPane: this.#searchResultsPane,
337
+ searchResults: this.#searchResults.filter(searchResult => searchResult.matchesCount()),
330
338
  searchResultsMessage: this.#searchResultsMessage,
331
339
  progress: this.#progress,
332
340
  onQueryChange: (query: string) => {
@@ -344,6 +352,12 @@ export class SearchView extends UI.Widget.VBox {
344
352
  const output: SearchViewOutput = {
345
353
  set focusSearchInput(value: () => void) {
346
354
  that.#focusSearchInput = value;
355
+ },
356
+ set showAllMatches(value: () => void) {
357
+ that.#showAllMatches = value;
358
+ },
359
+ set collapseAllResults(value: () => void) {
360
+ that.#collapseAllResults = value;
347
361
  }
348
362
  };
349
363
  this.#view(input, output, this.contentElement);
@@ -436,17 +450,10 @@ export class SearchView extends UI.Widget.VBox {
436
450
  this.#onIndexingFinished();
437
451
  return;
438
452
  }
439
- if (!this.#searchResultsPane) {
440
- this.#searchResultsPane = this.createSearchResultsPane();
441
- }
442
453
  this.#searchResults.push(searchResult);
443
454
  void this.#throttler.schedule(async () => this.#setSearchResults());
444
455
  }
445
456
 
446
- protected createSearchResultsPane(): SearchResultsPane {
447
- return new SearchResultsPane((this.#searchConfig as Workspace.SearchConfig.SearchConfig));
448
- }
449
-
450
457
  #setSearchResults(): void {
451
458
  this.#searchMatchesCount = 0;
452
459
  this.#searchResultsCount = 0;
@@ -454,9 +461,7 @@ export class SearchView extends UI.Widget.VBox {
454
461
  for (const searchResult of this.#searchResults) {
455
462
  this.#addSearchResult(searchResult);
456
463
  }
457
- if (this.#searchResultsPane) {
458
- this.#searchResultsPane.searchResults = this.#searchResults.filter(searchResult => searchResult.matchesCount());
459
- }
464
+ this.performUpdate();
460
465
  }
461
466
 
462
467
  #onSearchFinished(searchId: number, finished: boolean): void {
@@ -465,7 +470,6 @@ export class SearchView extends UI.Widget.VBox {
465
470
  }
466
471
  this.#progress = null;
467
472
  this.#searchFinished(finished);
468
- this.#searchConfig = null;
469
473
  UI.ARIAUtils.LiveAnnouncer.alert(this.#searchMessage + ' ' + this.#searchResultsMessage);
470
474
  }
471
475
 
@@ -486,7 +490,7 @@ export class SearchView extends UI.Widget.VBox {
486
490
 
487
491
  #resetSearch(): void {
488
492
  this.#stopSearch();
489
- this.#searchResultsPane = null;
493
+ this.#searchResults = [];
490
494
  this.#searchMessage = '';
491
495
  this.#searchResultsMessage = '';
492
496
  this.performUpdate();
@@ -499,7 +503,6 @@ export class SearchView extends UI.Widget.VBox {
499
503
  if (this.#searchScope) {
500
504
  this.#searchScope.stopSearch();
501
505
  }
502
- this.#searchConfig = null;
503
506
  }
504
507
 
505
508
  #searchStarted(): void {
@@ -544,7 +547,7 @@ export class SearchView extends UI.Widget.VBox {
544
547
 
545
548
  #searchFinished(finished: boolean): void {
546
549
  this.#searchMessage = finished ? i18nString(UIStrings.searchFinished) : i18nString(UIStrings.searchInterrupted);
547
- this.performUpdate();
550
+ this.requestUpdate();
548
551
  }
549
552
 
550
553
  override focus(): void {
@@ -593,15 +596,15 @@ export class SearchView extends UI.Widget.VBox {
593
596
  // "Command + Alt + [" for Mac
594
597
  const shouldCollapseAllForMac =
595
598
  isMac && event.metaKey && !event.ctrlKey && event.altKey && event.code === 'BracketLeft';
596
- // "Command + Alt + {" for other platforms
599
+ // "Ctrl + Alt + {" for other platforms
597
600
  const shouldCollapseAllForOtherPlatforms =
598
601
  !isMac && event.ctrlKey && !event.metaKey && event.shiftKey && event.code === 'BracketLeft';
599
602
 
600
603
  if (shouldShowAllForMac || shouldShowAllForOtherPlatforms) {
601
- this.#searchResultsPane?.showAllMatches();
604
+ this.#showAllMatches();
602
605
  void VisualLogging.logKeyDown(event.currentTarget, event, 'show-all-matches');
603
606
  } else if (shouldCollapseAllForMac || shouldCollapseAllForOtherPlatforms) {
604
- this.#searchResultsPane?.collapseAllResults();
607
+ this.#collapseAllResults();
605
608
  void VisualLogging.logKeyDown(event.currentTarget, event, 'collapse-all-results');
606
609
  }
607
610
  }
@@ -5,7 +5,6 @@
5
5
  */
6
6
 
7
7
  .search-drawer-header {
8
- align-items: center;
9
8
  flex-shrink: 0;
10
9
  overflow: hidden;
11
10
  display: inline-flex;
@@ -14,7 +13,6 @@
14
13
  .search-container {
15
14
  border-bottom: 1px solid var(--sys-color-divider);
16
15
  display: flex;
17
- height: 100%;
18
16
  align-items: center;
19
17
  flex-grow: 1;
20
18
  }
@@ -31,10 +31,10 @@ const UIStrings = {
31
31
  */
32
32
  syncDisabled: 'To turn this setting on, you must enable Chrome sync.',
33
33
  /**
34
- * @description Text shown to the user in the Settings UI. 'This setting' refers
35
- * to a checkbox that is disabled.
34
+ * @description Text shown to the user in the Settings UI. Explains why the checkbox
35
+ * for saving DevTools settings to the user's Google account is inactive.
36
36
  */
37
- preferencesSyncDisabled: 'To turn this setting on, you must first enable settings sync in Chrome.',
37
+ preferencesSyncDisabled: 'You need to first enable saving `Chrome` settings in your `Google` account.',
38
38
  /**
39
39
  * @description Label for the account email address. Shown in the DevTools Settings UI in
40
40
  * front of the email address currently used for Chrome Sync.
@@ -103,6 +103,7 @@ export class AiCodeCompletionPlugin extends Plugin {
103
103
  if (this.#teaser) {
104
104
  if (update.docChanged) {
105
105
  update.view.dispatch({effects: this.#teaserCompartment.reconfigure([])});
106
+ window.clearTimeout(this.#teaserDisplayTimeout);
106
107
  this.#addTeaserPluginToCompartment(update.view);
107
108
  } else if (update.selectionSet && update.state.doc.length > 0) {
108
109
  update.view.dispatch({effects: this.#teaserCompartment.reconfigure([])});
@@ -187,10 +188,6 @@ export class AiCodeCompletionPlugin extends Plugin {
187
188
  }
188
189
 
189
190
  #addTeaserPluginToCompartment = Common.Debouncer.debounce((view: CodeMirror.EditorView) => {
190
- if (this.#teaserDisplayTimeout) {
191
- window.clearTimeout(this.#teaserDisplayTimeout);
192
- this.#teaserDisplayTimeout = undefined;
193
- }
194
191
  this.#teaserDisplayTimeout = window.setTimeout(() => {
195
192
  this.#addTeaserPluginToCompartmentImmediate(view);
196
193
  }, AiCodeCompletion.AiCodeCompletion.DELAY_BEFORE_SHOWING_RESPONSE_MS);
@@ -10,6 +10,7 @@ import * as i18n from '../../core/i18n/i18n.js';
10
10
  import * as Platform from '../../core/platform/platform.js';
11
11
  import * as SDK from '../../core/sdk/sdk.js';
12
12
  import * as Protocol from '../../generated/protocol.js';
13
+ import * as Badges from '../../models/badges/badges.js';
13
14
  import * as Bindings from '../../models/bindings/bindings.js';
14
15
  import * as Breakpoints from '../../models/breakpoints/breakpoints.js';
15
16
  import * as Formatter from '../../models/formatter/formatter.js';
@@ -1628,6 +1629,9 @@ export class DebuggerPlugin extends Plugin {
1628
1629
  this.uiSourceCode, lineNumber, columnNumber, condition, enabled, isLogpoint,
1629
1630
  Breakpoints.BreakpointManager.BreakpointOrigin.USER_ACTION);
1630
1631
  this.breakpointWasSetForTest(lineNumber, columnNumber, condition, enabled);
1632
+ if (bp) {
1633
+ Badges.UserBadges.instance().recordAction(Badges.BadgeAction.BREAKPOINT_ADDED);
1634
+ }
1631
1635
  return bp;
1632
1636
  }
1633
1637
 
@@ -226,7 +226,7 @@ export class ThirdPartyTreeViewWidget extends TimelineTreeView.TimelineTreeView
226
226
  const unattributed = i18nString(UIStrings.unattributed);
227
227
  const id = typeof node.id === 'symbol' ? undefined : node.id;
228
228
  // This `undefined` is [unattributed]
229
- // TODO(paulirish,aixba): Improve attribution to reduce amount of items in [unattributed].
229
+ // TODO(paulirish): Improve attribution to reduce amount of items in [unattributed].
230
230
  const domainName = id ? this.entityMapper()?.entityForEvent(node.event)?.name || id : undefined;
231
231
  return {name: domainName || unattributed, color, icon: undefined};
232
232
  }
@@ -254,14 +254,6 @@ export class TimelineFlameChartDataProvider extends Common.ObjectWrapper.ObjectW
254
254
  if (perfAIEntryPointEnabled && this.parsedTrace) {
255
255
  const callTree = AIAssistance.AICallTree.fromEvent(entry, this.parsedTrace);
256
256
  if (callTree) {
257
- let focus = UI.Context.Context.instance().flavor(AIAssistance.AgentFocus);
258
- if (focus) {
259
- focus = focus.withCallTree(callTree);
260
- } else {
261
- focus = AIAssistance.AgentFocus.fromCallTree(callTree);
262
- }
263
- UI.Context.Context.instance().setFlavor(AIAssistance.AgentFocus, focus);
264
-
265
257
  const action = UI.ActionRegistry.ActionRegistry.instance().getAction(PERF_AI_ACTION_ID);
266
258
 
267
259
  if (Root.Runtime.hostConfig.devToolsAiSubmenuPrompts?.enabled) {
@@ -1516,13 +1516,13 @@ export class TimelineFlameChartView extends Common.ObjectWrapper.eventMixin<Even
1516
1516
  return;
1517
1517
  }
1518
1518
 
1519
- const callTree =
1520
- selectionIsEvent(selection) ? AIAssistance.AICallTree.fromEvent(selection.event, this.#parsedTrace) : null;
1519
+ const event = selectionIsEvent(selection) ? selection.event : null;
1520
+
1521
1521
  let focus = UI.Context.Context.instance().flavor(AIAssistance.AgentFocus);
1522
1522
  if (focus) {
1523
- focus = focus.withCallTree(callTree);
1524
- } else if (callTree) {
1525
- focus = AIAssistance.AgentFocus.fromCallTree(callTree);
1523
+ focus = focus.withEvent(event);
1524
+ } else if (event) {
1525
+ focus = AIAssistance.AgentFocus.fromEvent(this.#parsedTrace, event);
1526
1526
  } else {
1527
1527
  focus = null;
1528
1528
  }
@@ -44,6 +44,7 @@ import * as Root from '../../core/root/root.js';
44
44
  import * as SDK from '../../core/sdk/sdk.js';
45
45
  import type * as Protocol from '../../generated/protocol.js';
46
46
  import * as AiAssistanceModel from '../../models/ai_assistance/ai_assistance.js';
47
+ import * as Badges from '../../models/badges/badges.js';
47
48
  import * as CrUXManager from '../../models/crux-manager/crux-manager.js';
48
49
  import * as TextUtils from '../../models/text_utils/text_utils.js';
49
50
  import * as Trace from '../../models/trace/trace.js';
@@ -1924,6 +1925,7 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
1924
1925
  } else {
1925
1926
  await this.#startTraceRecording();
1926
1927
  }
1928
+ Badges.UserBadges.instance().recordAction(Badges.BadgeAction.PERFORMANCE_RECORDING_STARTED);
1927
1929
  }
1928
1930
 
1929
1931
  private async stopRecording(): Promise<void> {
@@ -1005,7 +1005,7 @@ export class AggregatedTimelineTreeView extends TimelineTreeView {
1005
1005
  case AggregatedTimelineTreeView.GroupBy.Subdomain:
1006
1006
  case AggregatedTimelineTreeView.GroupBy.ThirdParties: {
1007
1007
  // This `undefined` is [unattributed]
1008
- // TODO(paulirish,aixba): Improve attribution to reduce amount of items in [unattributed].
1008
+ // TODO(paulirish): Improve attribution to reduce amount of items in [unattributed].
1009
1009
  const domainName = id ? this.beautifyDomainName(id, node) : undefined;
1010
1010
  return {name: domainName || unattributed, color, icon: undefined};
1011
1011
  }
@@ -1,7 +1,7 @@
1
1
  Name: Dependencies sourced from the upstream `chromium` repository
2
2
  URL: https://source.chromium.org/chromium/chromium/src/+/main:components/variations/proto/devtools/
3
3
  Version: N/A
4
- Revision: 0b46aaf7af942d8ed35500074840aba1ef6d6303
4
+ Revision: c0cd408650a942d836b07c15facd3f4fede1d578
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.22.1
4
+ Version: 24.22.3
5
5
  License: Apache-2.0
6
6
  License File: LICENSE
7
- Revision: 6480e2548977ea43c962cb8043357cfb6524e50c
7
+ Revision: cb4342d28e3450852cbf3c21e16bbe2dc40747df
8
8
  Security Critical: no
9
9
  Shipped: yes
10
10
  Update Mechanism: Autoroll
@@ -34,8 +34,8 @@ export declare abstract class Realm extends EventEmitter<{
34
34
  }> {
35
35
  #private;
36
36
  protected readonly disposables: {
37
- "__#59154@#disposed": boolean;
38
- "__#59154@#stack": Disposable[];
37
+ "__#59155@#disposed": boolean;
38
+ "__#59155@#stack": Disposable[];
39
39
  readonly disposed: boolean;
40
40
  dispose(): void;
41
41
  use<T extends Disposable | null | undefined>(value: T): T;
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * @internal
3
3
  */
4
- export declare const packageVersion = "24.22.1";
4
+ export declare const packageVersion = "24.22.3";
5
5
  //# sourceMappingURL=version.d.ts.map
@@ -4,5 +4,5 @@ exports.packageVersion = void 0;
4
4
  /**
5
5
  * @internal
6
6
  */
7
- exports.packageVersion = '24.22.1';
7
+ exports.packageVersion = '24.22.3';
8
8
  //# sourceMappingURL=version.js.map
@@ -31,7 +31,7 @@ declare const PuppeteerUtil: Readonly<{
31
31
  pierceQuerySelector: (root: Node, selector: string) => Element | null;
32
32
  pierceQuerySelectorAll: (element: Node, selector: string) => Element[];
33
33
  customQuerySelectors: {
34
- "__#59169@#selectors": Map<string, CustomQuerySelectors.CustomQuerySelector>;
34
+ "__#59170@#selectors": Map<string, CustomQuerySelectors.CustomQuerySelector>;
35
35
  register(name: string, handler: import("../index.js").CustomQueryHandler): void;
36
36
  unregister(name: string): void;
37
37
  get(name: string): CustomQuerySelectors.CustomQuerySelector | undefined;
@@ -121,7 +121,7 @@ class BrowserLauncher {
121
121
  await this.closeBrowser(browserProcess, cdpConnection);
122
122
  };
123
123
  try {
124
- if (this.#browser === 'firefox' && protocol === 'webDriverBiDi') {
124
+ if (this.#browser === 'firefox') {
125
125
  browser = await this.createBiDiBrowser(browserProcess, browserCloseCallback, {
126
126
  timeout,
127
127
  protocolTimeout,
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserLauncher.js","sourceRoot":"","sources":["../../../../src/node/BrowserLauncher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrowserLauncher.js","sourceRoot":"","sources":["../../../../src/node/BrowserLauncher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PipeTransport.d.ts","sourceRoot":"","sources":["../../../../src/node/PipeTransport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AAM1E;;GAEG;AACH,qBAAa,aAAc,YAAW,mBAAmB;;IAOvD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;gBAGlC,SAAS,EAAE,MAAM,CAAC,cAAc,EAChC,QAAQ,EAAE,MAAM,CAAC,cAAc;IA6BjC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAqC3B,KAAK,IAAI,IAAI;CAId"}
1
+ {"version":3,"file":"PipeTransport.d.ts","sourceRoot":"","sources":["../../../../src/node/PipeTransport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AAM1E;;GAEG;AACH,qBAAa,aAAc,YAAW,mBAAmB;;IAOvD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;gBAGlC,SAAS,EAAE,MAAM,CAAC,cAAc,EAChC,QAAQ,EAAE,MAAM,CAAC,cAAc;IA6BjC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAmC3B,KAAK,IAAI,IAAI;CAId"}
@@ -12,7 +12,7 @@ class PipeTransport {
12
12
  #pipeWrite;
13
13
  #subscriptions = new disposable_js_1.DisposableStack();
14
14
  #isClosed = false;
15
- #pendingMessage = '';
15
+ #pendingMessage = [];
16
16
  onclose;
17
17
  onmessage;
18
18
  constructor(pipeWrite, pipeRead) {
@@ -21,7 +21,7 @@ class PipeTransport {
21
21
  // NodeJS event emitters don't support `*` so we need to typecast
22
22
  // As long as we don't use it we should be OK.
23
23
  new EventEmitter_js_1.EventEmitter(pipeRead));
24
- pipeReadEmitter.on('data', (buffer) => {
24
+ pipeReadEmitter.on('data', buffer => {
25
25
  return this.#dispatch(buffer);
26
26
  });
27
27
  pipeReadEmitter.on('close', () => {
@@ -43,30 +43,29 @@ class PipeTransport {
43
43
  }
44
44
  #dispatch(buffer) {
45
45
  (0, assert_js_1.assert)(!this.#isClosed, '`PipeTransport` is closed.');
46
- let end = buffer.indexOf('\0');
47
- if (end === -1) {
48
- this.#pendingMessage += buffer.toString();
46
+ this.#pendingMessage.push(buffer);
47
+ if (buffer.indexOf('\0') === -1) {
49
48
  return;
50
49
  }
51
- const message = this.#pendingMessage + buffer.toString(undefined, 0, end);
52
- setImmediate(() => {
53
- if (this.onmessage) {
54
- this.onmessage.call(null, message);
55
- }
56
- });
57
- let start = end + 1;
58
- end = buffer.indexOf('\0', start);
50
+ const concatBuffer = Buffer.concat(this.#pendingMessage);
51
+ let start = 0;
52
+ let end = concatBuffer.indexOf('\0');
59
53
  while (end !== -1) {
60
- const message = buffer.toString(undefined, start, end);
54
+ const message = concatBuffer.toString(undefined, start, end);
61
55
  setImmediate(() => {
62
56
  if (this.onmessage) {
63
57
  this.onmessage.call(null, message);
64
58
  }
65
59
  });
66
60
  start = end + 1;
67
- end = buffer.indexOf('\0', start);
61
+ end = concatBuffer.indexOf('\0', start);
62
+ }
63
+ if (start >= concatBuffer.length) {
64
+ this.#pendingMessage = [];
65
+ }
66
+ else {
67
+ this.#pendingMessage = [concatBuffer.subarray(start)];
68
68
  }
69
- this.#pendingMessage = buffer.toString(undefined, start);
70
69
  }
71
70
  close() {
72
71
  this.#isClosed = true;