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.
- package/config/owner/COMMON_OWNERS +1 -2
- package/config/typescript/tsconfig.eslint.json +12 -1
- package/docs/ui_engineering.md +1011 -0
- package/front_end/core/host/GdpClient.ts +12 -3
- package/front_end/core/sdk/NetworkManager.ts +1 -0
- package/front_end/core/sdk/NetworkRequest.ts +10 -0
- package/front_end/entrypoints/main/MainImpl.ts +6 -1
- package/front_end/entrypoints/main/main-meta.ts +3 -3
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +60 -34
- package/front_end/models/ai_assistance/agents/PerformanceAnnotationsAgent.ts +4 -4
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +127 -29
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +100 -55
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +317 -640
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +23 -19
- package/front_end/models/ai_assistance/performance/AICallTree.snapshot.txt +75 -0
- package/front_end/models/ai_assistance/performance/AICallTree.ts +14 -6
- package/front_end/models/ai_assistance/performance/AIContext.ts +62 -7
- package/front_end/models/ai_code_completion/AiCodeCompletion.ts +5 -5
- package/front_end/models/badges/Badge.ts +6 -1
- package/front_end/models/badges/StarterBadge.ts +5 -0
- package/front_end/models/javascript_metadata/NativeFunctions.js +5 -1
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +14 -7
- package/front_end/panels/ai_assistance/PatchWidget.ts +17 -55
- package/front_end/panels/ai_assistance/components/ChatView.ts +44 -68
- package/front_end/panels/ai_assistance/components/PerformanceAgentMarkdownRenderer.ts +47 -1
- package/front_end/panels/ai_assistance/components/chatView.css +12 -0
- package/front_end/panels/animation/AnimationTimeline.ts +1 -1
- package/front_end/panels/animation/animationTimeline.css +4 -0
- package/front_end/panels/application/preloading/components/PreloadingString.ts +2 -5
- package/front_end/panels/common/AiCodeCompletionTeaser.ts +5 -0
- package/front_end/panels/common/aiCodeCompletionTeaser.css +6 -1
- package/front_end/panels/console/ConsolePrompt.ts +6 -0
- package/front_end/panels/console/ConsoleView.ts +4 -2
- package/front_end/panels/coverage/CoverageListView.ts +133 -158
- package/front_end/panels/coverage/CoverageView.ts +39 -16
- package/front_end/panels/mobile_throttling/NetworkThrottlingSelector.ts +2 -0
- package/front_end/panels/network/NetworkDataGridNode.ts +22 -0
- package/front_end/panels/network/NetworkLogViewColumns.ts +9 -0
- package/front_end/panels/recorder/components/CreateRecordingView.ts +2 -0
- package/front_end/panels/search/SearchResultsPane.ts +48 -15
- package/front_end/panels/search/SearchView.ts +33 -30
- package/front_end/panels/search/searchView.css +0 -2
- package/front_end/panels/settings/components/SyncSection.ts +3 -3
- package/front_end/panels/sources/AiCodeCompletionPlugin.ts +1 -4
- package/front_end/panels/sources/DebuggerPlugin.ts +4 -0
- package/front_end/panels/timeline/ThirdPartyTreeView.ts +1 -1
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +0 -8
- package/front_end/panels/timeline/TimelineFlameChartView.ts +5 -5
- package/front_end/panels/timeline/TimelinePanel.ts +2 -0
- package/front_end/panels/timeline/TimelineTreeView.ts +1 -1
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.js +15 -16
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Function.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Function.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +4 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.js +15 -16
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Function.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Function.js.map +1 -1
- package/front_end/third_party/puppeteer/package/package.json +3 -2
- package/front_end/third_party/puppeteer/package/src/generated/version.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/node/PipeTransport.ts +15 -17
- package/front_end/third_party/puppeteer/package/src/revisions.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/util/Function.ts +1 -1
- package/front_end/tsconfig.json +12 -1
- package/front_end/ui/legacy/InspectorView.ts +86 -13
- package/front_end/ui/legacy/TabbedPane.ts +2 -1
- package/front_end/ui/visual_logging/KnownContextValues.ts +6 -0
- package/front_end/ui/visual_logging/LoggingEvents.ts +1 -1
- 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
|
-
|
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(
|
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
|
157
|
-
|
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
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
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
|
-
|
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
|
-
|
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 (!
|
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
|
-
${
|
244
|
-
? html`<devtools-widget .widgetConfig=${widgetConfig(
|
245
|
-
|
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
|
-
|
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
|
-
|
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.#
|
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.
|
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
|
-
// "
|
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.#
|
604
|
+
this.#showAllMatches();
|
602
605
|
void VisualLogging.logKeyDown(event.currentTarget, event, 'show-all-matches');
|
603
606
|
} else if (shouldCollapseAllForMac || shouldCollapseAllForOtherPlatforms) {
|
604
|
-
this.#
|
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.
|
35
|
-
* to
|
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: '
|
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
|
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
|
1520
|
-
|
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.
|
1524
|
-
} else if (
|
1525
|
-
focus = AIAssistance.AgentFocus.
|
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
|
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:
|
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.
|
4
|
+
Version: 24.22.3
|
5
5
|
License: Apache-2.0
|
6
6
|
License File: LICENSE
|
7
|
-
Revision:
|
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
|
-
"__#
|
38
|
-
"__#
|
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;
|
@@ -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
|
-
"__#
|
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'
|
124
|
+
if (this.#browser === 'firefox') {
|
125
125
|
browser = await this.createBiDiBrowser(browserProcess, browserCloseCallback, {
|
126
126
|
timeout,
|
127
127
|
protocolTimeout,
|
package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BrowserLauncher.js","sourceRoot":"","sources":["../../../../src/node/BrowserLauncher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,qCAAmC;AACnC,qCAA+B;AAC/B,yCAA+B;AAE/B,kDAO6B;AAE7B,4DAMwC;AAExC,kDAA6C;AAC7C,wDAAgD;AAChD,mDAAiD;AAEjD,+CAA+D;AAI/D,2EAAyF;AACzF,yDAAiD;AAajD;;;;GAIG;AACH,MAAsB,eAAe;IACnC,QAAQ,CAAmB;IAE3B;;OAEG;IACH,SAAS,CAAgB;IAEzB;;OAEG;IACH,YAAY,SAAwB,EAAE,OAAyB;QAC7D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAyB,EAAE;QACtC,MAAM,EACJ,MAAM,GAAG,KAAK,EACd,gBAAgB,GAAG,KAAK,EACxB,GAAG,GAAG,OAAO,CAAC,GAAG,EACjB,YAAY,GAAG,IAAI,EACnB,aAAa,GAAG,IAAI,EACpB,YAAY,GAAG,IAAI,EACnB,mBAAmB,GAAG,KAAK,EAC3B,cAAc,GAAG,IAAI,EACrB,eAAe,GAAG,0BAAgB,EAClC,gBAAgB,EAChB,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,KAAK,EACf,kBAAkB,GAAG,IAAI,EACzB,eAAe,GAChB,GAAG,OAAO,CAAC;QAEZ,IAAI,EAAC,QAAQ,EAAC,GAAG,OAAO,CAAC;QAEzB,0CAA0C;QAC1C,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC1D,QAAQ,GAAG,eAAe,CAAC;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;YACnD,GAAG,OAAO;YACV,QAAQ;SACT,CAAC,CAAC;QAEH,IAAI,CAAC,IAAA,oBAAU,EAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACb,2DAA2D,UAAU,CAAC,cAAc,GAAG,CACxF,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QAEpE,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;YAC/B,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,WAAW,EAAE;gBAClD,MAAM,EAAE,UAAU,CAAC,iBAAiB;aACrC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,IACE,IAAI,CAAC,QAAQ,KAAK,SAAS;YAC3B,QAAQ,KAAK,eAAe;YAC5B,OAAO,EACP,CAAC;YACD,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,IAAA,iBAAM,EAAC;YAC5B,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,YAAY;YACZ,aAAa;YACb,YAAY;YACZ,MAAM;YACN,GAAG;YACH,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QAEH,IAAI,OAAgB,CAAC;QACrB,IAAI,aAAyB,CAAC;QAC9B,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,oBAAoB,GAAyB,KAAK,IAAI,EAAE;YAC5D,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,
|
1
|
+
{"version":3,"file":"BrowserLauncher.js","sourceRoot":"","sources":["../../../../src/node/BrowserLauncher.ts"],"names":[],"mappings":"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"}
|
package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.d.ts.map
CHANGED
@@ -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;
|
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',
|
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
|
-
|
47
|
-
if (
|
48
|
-
this.#pendingMessage += buffer.toString();
|
46
|
+
this.#pendingMessage.push(buffer);
|
47
|
+
if (buffer.indexOf('\0') === -1) {
|
49
48
|
return;
|
50
49
|
}
|
51
|
-
const
|
52
|
-
|
53
|
-
|
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 =
|
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 =
|
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;
|