chrome-devtools-frontend 1.0.1581708 → 1.0.1582745
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/front_end/core/sdk/RemoteObject.ts +7 -1
- package/front_end/entrypoint_template.html +5 -1
- package/front_end/entrypoints/greendev_floaty/FloatyEntrypoint.ts +9 -24
- package/front_end/entrypoints/greendev_floaty/floaty.css +1 -1
- package/front_end/entrypoints/greendev_floaty/greendev_floaty.ts +1 -1
- package/front_end/generated/InspectorBackendCommands.ts +1 -1
- package/front_end/generated/SupportedCSSProperties.js +2 -0
- package/front_end/generated/protocol.ts +0 -6
- package/front_end/models/ai_assistance/agents/ContextSelectionAgent.snapshot.txt +6 -6
- package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +17 -9
- package/front_end/models/ai_assistance/agents/NetworkAgent.ts +2 -6
- package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.ts +66 -2
- package/front_end/models/greendev/Prototypes.ts +1 -10
- package/front_end/models/issues_manager/ConnectionAllowlistIssue.ts +75 -0
- package/front_end/models/issues_manager/FederatedAuthRequestIssue.ts +0 -30
- package/front_end/models/issues_manager/IssuesManager.ts +5 -0
- package/front_end/models/issues_manager/descriptions/connectionAllowlistInvalidAllowlistItemType.md +12 -0
- package/front_end/models/issues_manager/descriptions/connectionAllowlistInvalidHeader.md +12 -0
- package/front_end/models/issues_manager/descriptions/connectionAllowlistInvalidUrlPattern.md +8 -0
- package/front_end/models/issues_manager/descriptions/connectionAllowlistItemNotInnerList.md +12 -0
- package/front_end/models/issues_manager/descriptions/connectionAllowlistMoreThanOneList.md +7 -0
- package/front_end/models/issues_manager/descriptions/connectionAllowlistReportingEndpointNotToken.md +10 -0
- package/front_end/models/issues_manager/issues_manager.ts +2 -0
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +7 -1
- package/front_end/panels/ai_assistance/components/ChatInput.ts +7 -3
- package/front_end/panels/application/preloading/PreloadingView.ts +8 -1
- package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +4 -1
- package/front_end/panels/application/preloading/components/PreloadingGrid.ts +2 -1
- package/front_end/panels/application/preloading/components/PreloadingString.ts +12 -3
- package/front_end/panels/application/preloading/helper/PreloadingForward.ts +14 -0
- package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +37 -3
- package/front_end/panels/changes/ChangesSidebar.ts +2 -6
- package/front_end/panels/console/ConsoleSidebar.ts +3 -11
- package/front_end/panels/lighthouse/LighthouseStartView.ts +3 -5
- package/front_end/panels/lighthouse/lighthouseStartView.css +6 -0
- package/front_end/panels/network/NetworkLogView.ts +6 -6
- package/front_end/panels/network/RequestInitiatorView.ts +19 -8
- package/front_end/panels/settings/AISettingsTab.ts +1 -5
- package/front_end/panels/settings/SettingsScreen.ts +0 -51
- package/front_end/panels/timeline/AnimationsTrackAppender.ts +4 -1
- package/front_end/panels/timeline/InteractionsTrackAppender.ts +1 -1
- package/front_end/panels/timeline/TimelineUIUtils.ts +13 -16
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/ui/components/markdown_view/MarkdownLinksMap.ts +5 -1
- package/front_end/ui/legacy/Toolbar.ts +4 -4
- package/front_end/ui/legacy/Treeoutline.ts +4 -4
- package/front_end/ui/legacy/UIUtils.ts +9 -3
- package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +6 -11
- package/front_end/ui/legacy/components/utils/Linkifier.ts +4 -7
- package/package.json +1 -1
- package/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataHttpNotFound.md +0 -1
- package/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataInvalidResponse.md +0 -1
- package/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataNoResponse.md +0 -1
|
@@ -2502,24 +2502,21 @@ export class TimelineDetailsContentHelper {
|
|
|
2502
2502
|
return null;
|
|
2503
2503
|
}
|
|
2504
2504
|
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
callFrameContents.stackTrace = stackTrace;
|
|
2512
|
-
} else {
|
|
2513
|
-
// I _think_ this only happens during tests.
|
|
2514
|
-
// See "TimelineFlameChartView > shows the details for a selected main thread event".
|
|
2515
|
-
// For now, just defer to the still-supported legacy runtime stack trace. When
|
|
2516
|
-
// that is removed, we could instead create a stub StackTrace ourselves, even
|
|
2517
|
-
// without a `target`.
|
|
2518
|
-
callFrameContents = new LegacyComponents.JSPresentationUtils.StackTracePreviewContent(
|
|
2519
|
-
undefined, this.target ?? undefined, this.#linkifier,
|
|
2520
|
-
{runtimeStackTrace, tabStops: true, showColumnNumber: true});
|
|
2505
|
+
// Fallback to the main page/root target. Maybe the main page has a source map we need.
|
|
2506
|
+
// Worst case the stack is identity mapped.
|
|
2507
|
+
const targetManager = SDK.TargetManager.TargetManager.instance();
|
|
2508
|
+
const target = this.target ?? targetManager.primaryPageTarget() ?? targetManager.rootTarget();
|
|
2509
|
+
if (!target) {
|
|
2510
|
+
return null;
|
|
2521
2511
|
}
|
|
2522
2512
|
|
|
2513
|
+
const stackTrace =
|
|
2514
|
+
await Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance().createStackTraceFromProtocolRuntime(
|
|
2515
|
+
runtimeStackTrace, target);
|
|
2516
|
+
const callFrameContents = new LegacyComponents.JSPresentationUtils.StackTracePreviewContent(
|
|
2517
|
+
undefined, target, this.#linkifier, {tabStops: true, showColumnNumber: true});
|
|
2518
|
+
callFrameContents.stackTrace = stackTrace;
|
|
2519
|
+
|
|
2523
2520
|
await callFrameContents.updateComplete;
|
|
2524
2521
|
if (!callFrameContents.hasContent()) {
|
|
2525
2522
|
return null;
|
|
@@ -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:
|
|
4
|
+
Revision: 294287c423bbeff3981714f04e193960f503e773
|
|
5
5
|
Update Mechanism: Manual (https://crbug.com/428069060)
|
|
6
6
|
License: BSD-3-Clause
|
|
7
7
|
License File: LICENSE
|
|
@@ -58,9 +58,12 @@ export const markdownLinks = new Map<string, string>([
|
|
|
58
58
|
['signatureHeader', 'https://www.rfc-editor.org/rfc/rfc9421.html#name-the-signature-http-field'],
|
|
59
59
|
['signatureInputHeader', 'https://www.rfc-editor.org/rfc/rfc9421.html#name-the-signature-input-http-fi'],
|
|
60
60
|
['signatureParameters', 'https://www.rfc-editor.org/rfc/rfc9421.html#name-signature-parameters'],
|
|
61
|
-
['sfDictionary', 'https://www.rfc-editor.org/rfc/rfc8941.html#name-dictionaries'],
|
|
62
61
|
['sfByteSequence', 'https://www.rfc-editor.org/rfc/rfc8941.html#name-byte-sequences'],
|
|
62
|
+
['sfDictionary', 'https://www.rfc-editor.org/rfc/rfc8941.html#name-dictionaries'],
|
|
63
63
|
['sfInnerList', 'https://www.rfc-editor.org/rfc/rfc8941.html#name-inner-lists'],
|
|
64
|
+
['sfList', 'https://www.rfc-editor.org/rfc/rfc8941.html#name-lists'],
|
|
65
|
+
['sfString', 'https://www.rfc-editor.org/rfc/rfc8941.html#name-strings'],
|
|
66
|
+
['sfToken', 'https://www.rfc-editor.org/rfc/rfc8941.html#name-tokens'],
|
|
64
67
|
['componentParameterSf', 'https://www.rfc-editor.org/rfc/rfc9421.html#name-strict-serialization-of-htt'],
|
|
65
68
|
['componentParameterReq', 'https://www.rfc-editor.org/rfc/rfc9421.html#content-request-response'],
|
|
66
69
|
[
|
|
@@ -74,6 +77,7 @@ export const markdownLinks = new Map<string, string>([
|
|
|
74
77
|
'https://privacysandbox.com/news/update-on-plans-for-privacy-sandbox-technologies/',
|
|
75
78
|
'https://privacysandbox.com/news/update-on-plans-for-privacy-sandbox-technologies/'
|
|
76
79
|
],
|
|
80
|
+
['urlPatternSpec', 'https://urlpattern.spec.whatwg.org/'],
|
|
77
81
|
]);
|
|
78
82
|
|
|
79
83
|
export const getMarkdownLink = (key: string): string => {
|
|
@@ -1321,11 +1321,11 @@ export class ToolbarCheckbox extends ToolbarItem<void> {
|
|
|
1321
1321
|
constructor(
|
|
1322
1322
|
text: Common.UIString.LocalizedString, tooltip?: Common.UIString.LocalizedString,
|
|
1323
1323
|
listener?: ((arg0: MouseEvent) => void), jslogContext?: string) {
|
|
1324
|
-
|
|
1324
|
+
// Pass tooltip to CheckboxLabel.create so it's set on the inner input/text elements,
|
|
1325
|
+
// rather than installing it on the wrapper element which causes screen readers to
|
|
1326
|
+
// incorrectly announce it as a group name.
|
|
1327
|
+
const checkboxLabel = CheckboxLabel.create(text, undefined, undefined, jslogContext, undefined, tooltip);
|
|
1325
1328
|
super(checkboxLabel);
|
|
1326
|
-
if (tooltip) {
|
|
1327
|
-
Tooltip.install(this.element, tooltip);
|
|
1328
|
-
}
|
|
1329
1329
|
if (listener) {
|
|
1330
1330
|
this.element.addEventListener('click', listener, false);
|
|
1331
1331
|
}
|
|
@@ -1704,7 +1704,7 @@ export class TreeViewElement extends HTMLElementWithLightDOMTemplate {
|
|
|
1704
1704
|
super();
|
|
1705
1705
|
this.#treeOutline.addEventListener(Events.ElementSelected, event => {
|
|
1706
1706
|
if (event.data instanceof TreeViewTreeElement) {
|
|
1707
|
-
|
|
1707
|
+
event.data.listItemElement.dispatchEvent(new TreeViewElement.SelectEvent());
|
|
1708
1708
|
}
|
|
1709
1709
|
});
|
|
1710
1710
|
this.#treeOutline.addEventListener(Events.ElementExpanded, event => {
|
|
@@ -1859,9 +1859,9 @@ export class TreeViewElement extends HTMLElementWithLightDOMTemplate {
|
|
|
1859
1859
|
}
|
|
1860
1860
|
|
|
1861
1861
|
export namespace TreeViewElement {
|
|
1862
|
-
export class SelectEvent extends CustomEvent<
|
|
1863
|
-
constructor(
|
|
1864
|
-
super('select'
|
|
1862
|
+
export class SelectEvent extends CustomEvent<void> {
|
|
1863
|
+
constructor() {
|
|
1864
|
+
super('select');
|
|
1865
1865
|
}
|
|
1866
1866
|
}
|
|
1867
1867
|
|
|
@@ -1173,7 +1173,7 @@ export class CheckboxLabel extends HTMLElement {
|
|
|
1173
1173
|
|
|
1174
1174
|
static create(
|
|
1175
1175
|
title?: Platform.UIString.LocalizedString, checked?: boolean, subtitle?: Platform.UIString.LocalizedString,
|
|
1176
|
-
jslogContext?: string, small?: boolean): CheckboxLabel {
|
|
1176
|
+
jslogContext?: string, small?: boolean, tooltip?: Platform.UIString.LocalizedString): CheckboxLabel {
|
|
1177
1177
|
const element = document.createElement('devtools-checkbox');
|
|
1178
1178
|
element.#checkboxElement.checked = Boolean(checked);
|
|
1179
1179
|
if (jslogContext) {
|
|
@@ -1182,11 +1182,17 @@ export class CheckboxLabel extends HTMLElement {
|
|
|
1182
1182
|
}
|
|
1183
1183
|
if (title !== undefined) {
|
|
1184
1184
|
element.#textElement.textContent = title;
|
|
1185
|
-
element.#checkboxElement.title = title;
|
|
1186
1185
|
if (subtitle !== undefined) {
|
|
1187
1186
|
element.#textElement.createChild('div', 'devtools-checkbox-subtitle').textContent = subtitle;
|
|
1188
1187
|
}
|
|
1189
1188
|
}
|
|
1189
|
+
// checkboxElement tooltip: tooltip first, then title (custom tooltip takes precedence for the input)
|
|
1190
|
+
const inputTooltip = tooltip ?? title;
|
|
1191
|
+
if (inputTooltip) {
|
|
1192
|
+
element.#checkboxElement.title = inputTooltip;
|
|
1193
|
+
// Set aria-description for screen reader announcement
|
|
1194
|
+
element.#checkboxElement.setAttribute('aria-description', inputTooltip);
|
|
1195
|
+
}
|
|
1190
1196
|
element.#checkboxElement.classList.toggle('small', small);
|
|
1191
1197
|
return element;
|
|
1192
1198
|
}
|
|
@@ -2069,7 +2075,7 @@ export class HTMLElementWithLightDOMTemplate extends HTMLElement {
|
|
|
2069
2075
|
HTMLElementWithLightDOMTemplate.patchLitTemplate(value);
|
|
2070
2076
|
return value;
|
|
2071
2077
|
}
|
|
2072
|
-
if (Array.isArray(value)) {
|
|
2078
|
+
if (Array.isArray(value) || value instanceof Iterator) {
|
|
2073
2079
|
return value.map(patchValue);
|
|
2074
2080
|
}
|
|
2075
2081
|
|
|
@@ -96,7 +96,7 @@ function populateContextMenu(link: Element, event: Event): void {
|
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
// TODO(crbug.com/456517732): remove when all usages of runtimeStackTrace are migrated.
|
|
99
|
-
|
|
99
|
+
function buildStackTraceRowsForLegacyRuntimeStackTrace(
|
|
100
100
|
stackTrace: Protocol.Runtime.StackTrace,
|
|
101
101
|
target: SDK.Target.Target|null,
|
|
102
102
|
linkifier: Linkifier,
|
|
@@ -159,7 +159,7 @@ export function buildStackTraceRowsForLegacyRuntimeStackTrace(
|
|
|
159
159
|
return stackTraceRows;
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
|
|
162
|
+
function buildStackTraceRows(
|
|
163
163
|
stackTrace: StackTrace.StackTrace.StackTrace,
|
|
164
164
|
target: SDK.Target.Target|null,
|
|
165
165
|
linkifier: Linkifier,
|
|
@@ -189,14 +189,9 @@ export function buildStackTraceRows(
|
|
|
189
189
|
inlineFrameIndex: 0,
|
|
190
190
|
revealBreakpoint: previousStackFrameWasBreakpointCondition,
|
|
191
191
|
});
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
link.addEventListener('contextmenu', populateContextMenu.bind(null, link));
|
|
192
|
+
link.setAttribute('jslog', `${VisualLogging.link('stack-trace').track({click: true})}`);
|
|
193
|
+
link.addEventListener('contextmenu', populateContextMenu.bind(null, link));
|
|
195
194
|
|
|
196
|
-
if (!link.textContent) {
|
|
197
|
-
link.textContent = i18nString(UIStrings.unknownSource);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
195
|
stackTraceRows.push({functionName, link});
|
|
201
196
|
previousStackFrameWasBreakpointCondition = [
|
|
202
197
|
SDK.DebuggerModel.COND_BREAKPOINT_SOURCE_URL,
|
|
@@ -306,12 +301,12 @@ export interface Options {
|
|
|
306
301
|
expandable?: boolean;
|
|
307
302
|
}
|
|
308
303
|
|
|
309
|
-
|
|
304
|
+
interface StackTraceRegularRow {
|
|
310
305
|
functionName: string;
|
|
311
306
|
link: HTMLElement|null;
|
|
312
307
|
}
|
|
313
308
|
|
|
314
|
-
|
|
309
|
+
interface StackTraceAsyncRow {
|
|
315
310
|
asyncDescription: string;
|
|
316
311
|
}
|
|
317
312
|
|
|
@@ -345,8 +345,7 @@ export class Linkifier extends Common.ObjectWrapper.ObjectWrapper<EventTypes> im
|
|
|
345
345
|
}
|
|
346
346
|
|
|
347
347
|
maybeLinkifyStackTraceFrame(
|
|
348
|
-
target: SDK.Target.Target|null, frame: StackTrace.StackTrace.Frame, options?: LinkifyOptions): HTMLElement
|
|
349
|
-
let fallbackAnchor: HTMLElement|null = null;
|
|
348
|
+
target: SDK.Target.Target|null, frame: StackTrace.StackTrace.Frame, options?: LinkifyOptions): HTMLElement {
|
|
350
349
|
const linkifyURLOptions: LinkifyURLOptions = {
|
|
351
350
|
...options,
|
|
352
351
|
lineNumber: frame.line,
|
|
@@ -361,10 +360,8 @@ export class Linkifier extends Common.ObjectWrapper.ObjectWrapper<EventTypes> im
|
|
|
361
360
|
omitOrigin: options?.omitOrigin,
|
|
362
361
|
};
|
|
363
362
|
const {className = ''} = linkifyURLOptions;
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
}
|
|
367
|
-
if (!target || target.isDisposed()) {
|
|
363
|
+
const fallbackAnchor = Linkifier.linkifyURL(frame.url as Platform.DevToolsPath.UrlString, linkifyURLOptions);
|
|
364
|
+
if (!target || target.isDisposed() || !frame.uiSourceCode) {
|
|
368
365
|
return fallbackAnchor;
|
|
369
366
|
}
|
|
370
367
|
|
|
@@ -383,7 +380,7 @@ export class Linkifier extends Common.ObjectWrapper.ObjectWrapper<EventTypes> im
|
|
|
383
380
|
revealBreakpoint: options?.revealBreakpoint,
|
|
384
381
|
};
|
|
385
382
|
|
|
386
|
-
const uiLocation = frame.uiSourceCode
|
|
383
|
+
const uiLocation = frame.uiSourceCode.uiLocation(frame.line, frame.column) ?? null;
|
|
387
384
|
this.updateAnchorFromUILocation(link, linkDisplayOptions, uiLocation);
|
|
388
385
|
|
|
389
386
|
const anchors = (this.anchorsByTarget.get(target) as Element[]);
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
# The provider's client metadata endpoint cannot be found.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
# Provider's client metadata is invalid.
|
package/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataNoResponse.md
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
# The response body is empty when fetching the provider's client metadata.
|