chrome-devtools-frontend 1.0.1535712 → 1.0.1537268
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/docs/contributing/images/issues-nearestslo.png +0 -0
- package/docs/contributing/issues.md +17 -21
- package/front_end/core/common/Console.ts +1 -8
- package/front_end/core/common/ParsedURL.ts +10 -20
- package/front_end/core/common/SegmentedRange.ts +1 -2
- package/front_end/core/common/StringOutputStream.ts +1 -4
- package/front_end/core/host/AidaClient.ts +64 -5
- package/front_end/core/host/DispatchHttpRequestClient.ts +62 -0
- package/front_end/core/host/GdpClient.ts +8 -57
- package/front_end/core/host/host.ts +2 -0
- package/front_end/core/i18n/i18nImpl.ts +0 -24
- package/front_end/core/protocol_client/CDPConnection.ts +10 -8
- package/front_end/core/protocol_client/InspectorBackend.ts +36 -42
- package/front_end/core/sdk/AnimationModel.ts +1 -2
- package/front_end/core/sdk/CSSMatchedStyles.ts +2 -2
- package/front_end/core/sdk/CSSModel.ts +1 -1
- package/front_end/core/sdk/CSSProperty.ts +3 -6
- package/front_end/core/sdk/CSSStyleDeclaration.ts +4 -4
- package/front_end/core/sdk/DebuggerModel.ts +1 -2
- package/front_end/core/sdk/EnhancedTracesParser.ts +24 -5
- package/front_end/core/sdk/RehydratingConnection.ts +112 -4
- package/front_end/core/sdk/RehydratingObject.ts +8 -0
- package/front_end/core/sdk/SourceMap.ts +2 -3
- package/front_end/core/sdk/TraceObject.ts +5 -1
- package/front_end/entrypoints/node_app/NodeConnectionsPanel.ts +2 -1
- package/front_end/generated/InspectorBackendCommands.js +1 -2
- package/front_end/generated/SupportedCSSProperties.js +19 -0
- package/front_end/generated/protocol.ts +0 -27
- package/front_end/models/javascript_metadata/NativeFunctions.js +1 -1
- package/front_end/models/trace/types/File.ts +9 -0
- package/front_end/panels/accessibility/AccessibilityNodeView.ts +18 -17
- package/front_end/panels/accessibility/AccessibilitySidebarView.ts +9 -12
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +5 -9
- package/front_end/panels/ai_assistance/components/ChatView.ts +63 -74
- package/front_end/panels/application/AppManifestView.ts +7 -6
- package/front_end/panels/application/ApplicationPanelSidebar.ts +4 -4
- package/front_end/panels/application/BackForwardCacheTreeElement.ts +2 -6
- package/front_end/panels/application/OpenedWindowDetailsView.ts +6 -6
- package/front_end/panels/application/StorageView.ts +9 -8
- package/front_end/panels/application/components/BackForwardCacheView.ts +366 -342
- package/front_end/panels/application/components/FrameDetailsView.ts +8 -11
- package/front_end/panels/application/components/OriginTrialTreeView.ts +65 -69
- package/front_end/panels/application/components/ProtocolHandlersView.ts +3 -2
- package/front_end/panels/application/components/backForwardCacheView.css +4 -0
- package/front_end/panels/application/components/badge.css +1 -1
- package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +2 -1
- package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +44 -53
- package/front_end/panels/browser_debugger/ObjectEventListenersSidebarPane.ts +8 -8
- package/front_end/panels/common/BadgeNotification.ts +2 -1
- package/front_end/panels/common/GdpSignUpDialog.ts +2 -1
- package/front_end/panels/console/ConsoleInsightTeaser.ts +8 -2
- package/front_end/panels/console/ConsolePinPane.ts +12 -7
- package/front_end/panels/developer_resources/DeveloperResourcesView.ts +9 -9
- package/front_end/panels/elements/ComputedStyleWidget.ts +7 -7
- package/front_end/panels/elements/EventListenersWidget.ts +9 -9
- package/front_end/panels/elements/NodeStackTraceWidget.ts +6 -6
- package/front_end/panels/elements/PlatformFontsWidget.ts +5 -5
- package/front_end/panels/elements/PropertiesWidget.ts +8 -8
- package/front_end/panels/layer_viewer/Layers3DView.ts +2 -1
- package/front_end/panels/layer_viewer/PaintProfilerView.ts +3 -3
- package/front_end/panels/network/RequestCookiesView.ts +2 -1
- package/front_end/panels/network/RequestTimingView.ts +2 -1
- package/front_end/panels/recorder/RecorderController.ts +33 -23
- package/front_end/panels/recorder/components/CreateRecordingView.ts +259 -226
- package/front_end/panels/security/CookieControlsView.ts +2 -1
- package/front_end/panels/security/CookieReportView.ts +3 -2
- package/front_end/panels/settings/AISettingsTab.ts +164 -172
- package/front_end/panels/settings/KeybindsSettingsTab.ts +6 -0
- package/front_end/panels/settings/SettingsScreen.ts +3 -7
- package/front_end/panels/settings/aiSettingsTab.css +151 -148
- package/front_end/panels/settings/components/SyncSection.ts +2 -1
- package/front_end/panels/settings/settings-meta.ts +1 -2
- package/front_end/panels/sources/AddSourceMapURLDialog.ts +23 -26
- package/front_end/panels/sources/DebuggerPausedMessage.ts +4 -3
- package/front_end/panels/sources/ResourceOriginPlugin.ts +3 -2
- package/front_end/panels/sources/SourcesNavigator.ts +2 -1
- package/front_end/panels/sources/TabbedEditorContainer.ts +3 -2
- package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +9 -9
- package/front_end/panels/timeline/TimelinePanel.ts +60 -11
- package/front_end/panels/timeline/TimelineUIUtils.ts +3 -2
- package/front_end/panels/timeline/components/DetailsView.ts +5 -4
- package/front_end/panels/timeline/components/ExportTraceOptions.ts +33 -34
- package/front_end/panels/timeline/components/FieldSettingsDialog.ts +2 -1
- package/front_end/panels/timeline/components/LiveMetricsView.ts +5 -4
- package/front_end/panels/timeline/components/MetricCompareStrings.ts +25 -24
- package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +2 -1
- package/front_end/third_party/chromium/README.chromium +2 -2
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +9 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +13 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js +5 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts +1 -12
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.d.ts +6 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js +6 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +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/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.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/cjs/puppeteer/util/disposable.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/disposable.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/disposable.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/disposable.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +28 -3
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +21 -10
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +9 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +13 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js +5 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.d.ts +1 -12
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.d.ts +6 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js +6 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/disposable.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/disposable.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/disposable.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/disposable.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +28 -3
- package/front_end/third_party/puppeteer/package/package.json +2 -2
- package/front_end/third_party/puppeteer/package/src/api/Browser.ts +13 -1
- package/front_end/third_party/puppeteer/package/src/api/BrowserContext.ts +7 -2
- package/front_end/third_party/puppeteer/package/src/api/Page.ts +14 -1
- package/front_end/third_party/puppeteer/package/src/bidi/BrowserContext.ts +8 -5
- package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +5 -2
- package/front_end/third_party/puppeteer/package/src/cdp/Accessibility.ts +8 -0
- package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +11 -2
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserContext.ts +3 -2
- package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +5 -5
- package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/util/disposable.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/util/util.ts +1 -0
- package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
- package/front_end/ui/components/docs/tooltip/basic.ts +1 -1
- package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +280 -0
- package/front_end/ui/components/text_editor/text_editor.ts +1 -0
- package/front_end/ui/components/tooltips/Tooltip.ts +33 -18
- package/front_end/ui/i18n/i18n.ts +31 -0
- package/front_end/ui/legacy/Dialog.ts +0 -1
- package/front_end/ui/legacy/SettingsUI.ts +0 -14
- package/front_end/ui/legacy/SoftDropDown.ts +1 -12
- package/front_end/ui/legacy/ViewManager.ts +2 -4
- package/front_end/ui/legacy/Widget.ts +33 -17
- package/front_end/ui/legacy/XLink.ts +0 -3
- package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +9 -0
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +2 -1
- package/front_end/ui/legacy/components/utils/Linkifier.ts +9 -3
- package/front_end/ui/legacy/legacy.ts +0 -2
- package/front_end/ui/visual_logging/KnownContextValues.ts +4 -1
- package/mcp/mcp.ts +6 -0
- package/package.json +1 -1
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatterBounds.snapshot.txt +0 -4
- package/front_end/ui/components/docs/breadcrumbs_perf/initial-breadcrumb-perf.html +0 -20
- package/front_end/ui/components/docs/breadcrumbs_perf/initial-breadcrumb-perf.ts +0 -25
- package/front_end/ui/components/docs/breadcrumbs_perf/nested-breadcrumbs-perf.html +0 -20
- package/front_end/ui/components/docs/breadcrumbs_perf/nested-breadcrumbs-perf.ts +0 -36
- package/front_end/ui/components/docs/recorder_create_recording_view/basic.html +0 -20
- package/front_end/ui/components/docs/recorder_create_recording_view/basic.ts +0 -27
- package/front_end/ui/legacy/ThrottledWidget.ts +0 -48
|
@@ -125,6 +125,14 @@ export class WidgetElement<WidgetT extends Widget> extends HTMLElement {
|
|
|
125
125
|
widget.show(this.parentElement as HTMLElement, undefined, /* suppressOrphanWidgetError= */ true);
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
+
disconnectedCallback(): void {
|
|
129
|
+
const widget = Widget.get(this);
|
|
130
|
+
if (widget) {
|
|
131
|
+
widget.setHideOnDetach();
|
|
132
|
+
widget.detach();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
128
136
|
override appendChild<T extends Node>(child: T): T {
|
|
129
137
|
if (child instanceof HTMLElement && child.tagName !== 'STYLE') {
|
|
130
138
|
Widget.getOrCreateWidget(child).show(this);
|
|
@@ -264,7 +272,6 @@ export class Widget {
|
|
|
264
272
|
#notificationDepth = 0;
|
|
265
273
|
#invalidationsSuspended = 0;
|
|
266
274
|
#parentWidget: Widget|null = null;
|
|
267
|
-
#defaultFocusedElement?: Element|null;
|
|
268
275
|
#cachedConstraints?: Geometry.Constraints;
|
|
269
276
|
#constraints?: Geometry.Constraints;
|
|
270
277
|
#invalidationsRequested?: boolean;
|
|
@@ -724,7 +731,13 @@ export class Widget {
|
|
|
724
731
|
}
|
|
725
732
|
|
|
726
733
|
setDefaultFocusedElement(element: Element|null): void {
|
|
727
|
-
|
|
734
|
+
const defaultFocusedElement = this.getDefaultFocusedElement();
|
|
735
|
+
if (defaultFocusedElement) {
|
|
736
|
+
defaultFocusedElement.removeAttribute('autofocus');
|
|
737
|
+
}
|
|
738
|
+
if (element) {
|
|
739
|
+
element.setAttribute('autofocus', '');
|
|
740
|
+
}
|
|
728
741
|
}
|
|
729
742
|
|
|
730
743
|
setDefaultFocusedChild(child: Widget): void {
|
|
@@ -732,21 +745,28 @@ export class Widget {
|
|
|
732
745
|
this.defaultFocusedChild = child;
|
|
733
746
|
}
|
|
734
747
|
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
748
|
+
getDefaultFocusedElement(): HTMLElement|null {
|
|
749
|
+
const autofocusElement = this.contentElement.hasAttribute('autofocus') ?
|
|
750
|
+
this.contentElement :
|
|
751
|
+
this.contentElement.querySelector<HTMLElement>('[autofocus]');
|
|
752
|
+
let widgetElement: Element|null = autofocusElement;
|
|
753
|
+
while (widgetElement) {
|
|
754
|
+
const widget = Widget.get(widgetElement);
|
|
755
|
+
if (widget) {
|
|
756
|
+
return widget === this ? autofocusElement : null;
|
|
757
|
+
}
|
|
758
|
+
widgetElement = widgetElement.parentElementOrShadowHost();
|
|
738
759
|
}
|
|
760
|
+
return null;
|
|
761
|
+
}
|
|
739
762
|
|
|
740
|
-
|
|
741
|
-
|
|
763
|
+
focus(): void {
|
|
764
|
+
if (!this.isShowing()) {
|
|
742
765
|
return;
|
|
743
766
|
}
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
if (!element.hasFocus()) {
|
|
748
|
-
element.focus();
|
|
749
|
-
}
|
|
767
|
+
const autofocusElement = this.getDefaultFocusedElement();
|
|
768
|
+
if (autofocusElement) {
|
|
769
|
+
autofocusElement.focus();
|
|
750
770
|
return;
|
|
751
771
|
}
|
|
752
772
|
|
|
@@ -759,10 +779,6 @@ export class Widget {
|
|
|
759
779
|
return;
|
|
760
780
|
}
|
|
761
781
|
}
|
|
762
|
-
let child = this.contentElement.traverseNextNode(this.contentElement);
|
|
763
|
-
while (child) {
|
|
764
|
-
child = child.traverseNextNode(this.contentElement);
|
|
765
|
-
}
|
|
766
782
|
}
|
|
767
783
|
}
|
|
768
784
|
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
import * as Host from '../../core/host/host.js';
|
|
6
6
|
import * as Platform from '../../core/platform/platform.js';
|
|
7
|
-
import {html} from '../lit/lit.js';
|
|
8
7
|
import * as VisualLogging from '../visual_logging/visual_logging.js';
|
|
9
8
|
|
|
10
9
|
import * as ARIAUtils from './ARIAUtils.js';
|
|
@@ -155,5 +154,3 @@ export class ContextMenuProvider implements Provider<Node> {
|
|
|
155
154
|
}
|
|
156
155
|
|
|
157
156
|
customElements.define('x-link', XLink);
|
|
158
|
-
|
|
159
|
-
export const sample = html`<p>Hello, <x-link>world!</x-link></p>`;
|
|
@@ -372,6 +372,15 @@ class DataGridElement extends UI.UIUtils.HTMLElementWithLightDOMTemplate {
|
|
|
372
372
|
this.#updateColumns();
|
|
373
373
|
}
|
|
374
374
|
this.#updateCreationNode();
|
|
375
|
+
|
|
376
|
+
const hadAddedNodes = mutationList.some(m => m.addedNodes.length > 0);
|
|
377
|
+
// If we got an update, and the data grid is sorted, we need to update the
|
|
378
|
+
// columns to maintain the sort order as the data within has changed.
|
|
379
|
+
// However, if we have nodes added, that will trigger a sort anyway so we
|
|
380
|
+
// don't need to re-sort again.
|
|
381
|
+
if (this.#dataGrid.sortColumnId() !== null && !hadAddedNodes) {
|
|
382
|
+
this.#dataGrid.dispatchEventToListeners(DataGridEvents.SORTING_CHANGED);
|
|
383
|
+
}
|
|
375
384
|
}
|
|
376
385
|
|
|
377
386
|
#editCallback(
|
|
@@ -35,6 +35,7 @@ import * as i18n from '../../../../core/i18n/i18n.js';
|
|
|
35
35
|
import * as Platform from '../../../../core/platform/platform.js';
|
|
36
36
|
import * as SDK from '../../../../core/sdk/sdk.js';
|
|
37
37
|
import * as TextUtils from '../../../../models/text_utils/text_utils.js';
|
|
38
|
+
import * as uiI18n from '../../../../ui/i18n/i18n.js';
|
|
38
39
|
import * as IconButton from '../../../components/icon_button/icon_button.js';
|
|
39
40
|
import * as TextEditor from '../../../components/text_editor/text_editor.js';
|
|
40
41
|
import * as VisualLogging from '../../../visual_logging/visual_logging.js';
|
|
@@ -438,7 +439,7 @@ export class ObjectPropertiesSection extends UI.TreeOutline.TreeOutlineInShadow
|
|
|
438
439
|
wrapperElement.classList.add('error');
|
|
439
440
|
wrapperElement.classList.add('value');
|
|
440
441
|
wrapperElement.appendChild(
|
|
441
|
-
|
|
442
|
+
uiI18n.getFormatLocalizedString(str_, UIStrings.exceptionS, {PH1: propertyValue.element}));
|
|
442
443
|
propertyValue.element = wrapperElement;
|
|
443
444
|
}
|
|
444
445
|
propertyValue.element.classList.add('value');
|
|
@@ -919,7 +919,7 @@ export class LinkContextMenuProvider implements UI.ContextMenu.Provider<Node> {
|
|
|
919
919
|
|
|
920
920
|
let linkHandlerSettingUIInstance: LinkHandlerSettingUI;
|
|
921
921
|
|
|
922
|
-
export class LinkHandlerSettingUI
|
|
922
|
+
export class LinkHandlerSettingUI {
|
|
923
923
|
private element: HTMLSelectElement;
|
|
924
924
|
|
|
925
925
|
private constructor() {
|
|
@@ -960,8 +960,14 @@ export class LinkHandlerSettingUI implements UI.SettingsUI.SettingUI {
|
|
|
960
960
|
Linkifier.linkHandlerSetting().set(value);
|
|
961
961
|
}
|
|
962
962
|
|
|
963
|
-
settingElement(): Element
|
|
964
|
-
|
|
963
|
+
settingElement(): Element {
|
|
964
|
+
const p = document.createElement('p');
|
|
965
|
+
p.classList.add('settings-select');
|
|
966
|
+
const label = p.createChild('label');
|
|
967
|
+
label.textContent = i18nString(UIStrings.linkHandling);
|
|
968
|
+
UI.ARIAUtils.bindLabelToControl(label, this.element);
|
|
969
|
+
p.appendChild(this.element);
|
|
970
|
+
return p;
|
|
965
971
|
}
|
|
966
972
|
}
|
|
967
973
|
|
|
@@ -42,7 +42,6 @@ import * as SuggestBox from './SuggestBox.js';
|
|
|
42
42
|
import * as TabbedPane from './TabbedPane.js';
|
|
43
43
|
import * as TargetCrashedScreen from './TargetCrashedScreen.js';
|
|
44
44
|
import * as TextPrompt from './TextPrompt.js';
|
|
45
|
-
import * as ThrottledWidget from './ThrottledWidget.js';
|
|
46
45
|
import * as Toolbar from './Toolbar.js';
|
|
47
46
|
import * as Tooltip from './Tooltip.js';
|
|
48
47
|
import * as TreeOutline from './Treeoutline.js';
|
|
@@ -95,7 +94,6 @@ export {
|
|
|
95
94
|
TabbedPane,
|
|
96
95
|
TargetCrashedScreen,
|
|
97
96
|
TextPrompt,
|
|
98
|
-
ThrottledWidget,
|
|
99
97
|
Toolbar,
|
|
100
98
|
Tooltip,
|
|
101
99
|
TreeOutline,
|
|
@@ -849,6 +849,7 @@ export const knownContextValues = new Set([
|
|
|
849
849
|
'console-group-similar-false',
|
|
850
850
|
'console-history-autocomplete',
|
|
851
851
|
'console-history-autocomplete-false',
|
|
852
|
+
'console-insight-teaser',
|
|
852
853
|
'console-insight-teasers-enabled',
|
|
853
854
|
'console-insights',
|
|
854
855
|
'console-insights-enabled',
|
|
@@ -3162,6 +3163,7 @@ export const knownContextValues = new Set([
|
|
|
3162
3163
|
'row-rule-color',
|
|
3163
3164
|
'row-rule-outset',
|
|
3164
3165
|
'row-rule-style',
|
|
3166
|
+
'row-rule-visibility-items',
|
|
3165
3167
|
'row-rule-width',
|
|
3166
3168
|
'rp-id',
|
|
3167
3169
|
'rpId',
|
|
@@ -3686,6 +3688,7 @@ export const knownContextValues = new Set([
|
|
|
3686
3688
|
'targets',
|
|
3687
3689
|
'task-duration',
|
|
3688
3690
|
'te',
|
|
3691
|
+
'teaser-info-tooltip',
|
|
3689
3692
|
'terms-of-service',
|
|
3690
3693
|
'terms-of-service-accepted',
|
|
3691
3694
|
'terms-of-service.console-insights',
|
|
@@ -3836,7 +3839,7 @@ export const knownContextValues = new Set([
|
|
|
3836
3839
|
'timeline.enable',
|
|
3837
3840
|
'timeline.export-trace-options',
|
|
3838
3841
|
'timeline.export-trace-options.annotations-checkbox',
|
|
3839
|
-
'timeline.export-trace-options.
|
|
3842
|
+
'timeline.export-trace-options.resource-content-checkbox',
|
|
3840
3843
|
'timeline.export-trace-options.should-compress-checkbox',
|
|
3841
3844
|
'timeline.export-trace-options.source-maps-checkbox',
|
|
3842
3845
|
'timeline.extension',
|
package/mcp/mcp.ts
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* IMPORTANT! Make sure that any class that is exported here has related unit
|
|
7
|
+
* tests added to foundation_unittests. See front_end/core/i18n/BUILD.gn as an
|
|
8
|
+
* example.
|
|
9
|
+
*/
|
|
10
|
+
export * as I18n from '../front_end/core/i18n/i18n.js';
|
|
5
11
|
export {ConnectionTransport} from '../front_end/core/protocol_client/ConnectionTransport.js';
|
|
6
12
|
export {
|
|
7
13
|
PerformanceInsightFormatter
|
package/package.json
CHANGED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
Copyright 2020 The Chromium Authors
|
|
3
|
-
Use of this source code is governed by a BSD-style license that can be
|
|
4
|
-
found in the LICENSE file.
|
|
5
|
-
-->
|
|
6
|
-
<!DOCTYPE html>
|
|
7
|
-
<html>
|
|
8
|
-
<head>
|
|
9
|
-
<meta charset="UTF-8" />
|
|
10
|
-
<meta name="viewport" content="width=device-width" />
|
|
11
|
-
<title>Breadcrumb example</title>
|
|
12
|
-
</head>
|
|
13
|
-
<body>
|
|
14
|
-
|
|
15
|
-
<div id="container">
|
|
16
|
-
</div>
|
|
17
|
-
|
|
18
|
-
<script type="module" src="./initial-breadcrumb-perf.js"></script>
|
|
19
|
-
</body>
|
|
20
|
-
</html>
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
// Copyright 2023 The Chromium Authors
|
|
2
|
-
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
-
// found in the LICENSE file.
|
|
4
|
-
|
|
5
|
-
import * as Trace from '../../../../../front_end/models/trace/trace.js';
|
|
6
|
-
import * as TimelineComponents from '../../../../../front_end/panels/timeline/components/components.js';
|
|
7
|
-
|
|
8
|
-
const breadcrumbsUI = new TimelineComponents.BreadcrumbsUI.BreadcrumbsUI();
|
|
9
|
-
document.getElementById('container')?.appendChild(breadcrumbsUI);
|
|
10
|
-
|
|
11
|
-
const traceWindow: Trace.Types.Timing.TraceWindowMicro = {
|
|
12
|
-
min: Trace.Types.Timing.Micro(3),
|
|
13
|
-
max: Trace.Types.Timing.Micro(9),
|
|
14
|
-
range: Trace.Types.Timing.Micro(6),
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const breadcrumb: Trace.Types.File.Breadcrumb = {
|
|
18
|
-
window: traceWindow,
|
|
19
|
-
child: null,
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
breadcrumbsUI.data = {
|
|
23
|
-
initialBreadcrumb: breadcrumb,
|
|
24
|
-
activeBreadcrumb: breadcrumb,
|
|
25
|
-
};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
Copyright 2020 The Chromium Authors
|
|
3
|
-
Use of this source code is governed by a BSD-style license that can be
|
|
4
|
-
found in the LICENSE file.
|
|
5
|
-
-->
|
|
6
|
-
<!DOCTYPE html>
|
|
7
|
-
<html>
|
|
8
|
-
<head>
|
|
9
|
-
<meta charset="UTF-8" />
|
|
10
|
-
<meta name="viewport" content="width=device-width" />
|
|
11
|
-
<title>Breadcrumb example</title>
|
|
12
|
-
</head>
|
|
13
|
-
<body>
|
|
14
|
-
|
|
15
|
-
<div id="container">
|
|
16
|
-
</div>
|
|
17
|
-
|
|
18
|
-
<script type="module" src="./nested-breadcrumbs-perf.js"></script>
|
|
19
|
-
</body>
|
|
20
|
-
</html>
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
// Copyright 2023 The Chromium Authors
|
|
2
|
-
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
-
// found in the LICENSE file.
|
|
4
|
-
|
|
5
|
-
import * as Trace from '../../../../../front_end/models/trace/trace.js';
|
|
6
|
-
import * as TimelineComponents from '../../../../../front_end/panels/timeline/components/components.js';
|
|
7
|
-
|
|
8
|
-
const breadcrumbsUI = new TimelineComponents.BreadcrumbsUI.BreadcrumbsUI();
|
|
9
|
-
document.getElementById('container')?.appendChild(breadcrumbsUI);
|
|
10
|
-
|
|
11
|
-
const traceWindow2: Trace.Types.Timing.TraceWindowMicro = {
|
|
12
|
-
min: Trace.Types.Timing.Micro(4),
|
|
13
|
-
max: Trace.Types.Timing.Micro(8),
|
|
14
|
-
range: Trace.Types.Timing.Micro(4),
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const traceWindow: Trace.Types.Timing.TraceWindowMicro = {
|
|
18
|
-
min: Trace.Types.Timing.Micro(3),
|
|
19
|
-
max: Trace.Types.Timing.Micro(9),
|
|
20
|
-
range: Trace.Types.Timing.Micro(6),
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const breadcrumb2: Trace.Types.File.Breadcrumb = {
|
|
24
|
-
window: traceWindow2,
|
|
25
|
-
child: null,
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
const breadcrumb: Trace.Types.File.Breadcrumb = {
|
|
29
|
-
window: traceWindow,
|
|
30
|
-
child: breadcrumb2,
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
breadcrumbsUI.data = {
|
|
34
|
-
initialBreadcrumb: breadcrumb,
|
|
35
|
-
activeBreadcrumb: breadcrumb,
|
|
36
|
-
};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
Copyright 2023 The Chromium Authors
|
|
3
|
-
Use of this source code is governed by a BSD-style license that can be
|
|
4
|
-
found in the LICENSE file.
|
|
5
|
-
-->
|
|
6
|
-
<!DOCTYPE html>
|
|
7
|
-
<html>
|
|
8
|
-
|
|
9
|
-
<head>
|
|
10
|
-
<meta charset="UTF-8" />
|
|
11
|
-
<meta name="viewport" content="width=device-width" />
|
|
12
|
-
<title>Recorder: CreateRecordingView</title>
|
|
13
|
-
</head>
|
|
14
|
-
|
|
15
|
-
<body>
|
|
16
|
-
<div id="container"></div>
|
|
17
|
-
<script src="./basic.js" type="module"></script>
|
|
18
|
-
</body>
|
|
19
|
-
|
|
20
|
-
</html>
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
// Copyright 2023 The Chromium Authors
|
|
2
|
-
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
-
// found in the LICENSE file.
|
|
4
|
-
|
|
5
|
-
import * as ComponentHelpers from '../../../../../front_end/ui/components/helpers/helpers.js';
|
|
6
|
-
import * as RecorderComponents from '../../../../panels/recorder/components/components.js';
|
|
7
|
-
import * as FrontendHelpers from '../../../../testing/EnvironmentHelpers.js';
|
|
8
|
-
|
|
9
|
-
await ComponentHelpers.ComponentServerSetup.setup();
|
|
10
|
-
await FrontendHelpers.initializeGlobalVars();
|
|
11
|
-
async function initializeGlobalActions(): Promise<void> {
|
|
12
|
-
const UI = await import('../../../../../front_end/ui/legacy/legacy.js');
|
|
13
|
-
const actionRegistry = UI.ActionRegistry.ActionRegistry.instance();
|
|
14
|
-
UI.ShortcutRegistry.ShortcutRegistry.instance({
|
|
15
|
-
forceNew: true,
|
|
16
|
-
actionRegistry,
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
await initializeGlobalActions();
|
|
21
|
-
|
|
22
|
-
const component1 = new RecorderComponents.CreateRecordingView.CreateRecordingView();
|
|
23
|
-
document.getElementById('container')?.appendChild(component1);
|
|
24
|
-
|
|
25
|
-
const component2 = new RecorderComponents.CreateRecordingView.CreateRecordingView();
|
|
26
|
-
document.getElementById('container')?.appendChild(component2);
|
|
27
|
-
component2.shadowRoot?.querySelector('devtools-control-button')?.click();
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
// Copyright 2014 The Chromium Authors
|
|
2
|
-
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
-
// found in the LICENSE file.
|
|
4
|
-
|
|
5
|
-
import * as Common from '../../core/common/common.js';
|
|
6
|
-
|
|
7
|
-
import {VBox} from './Widget.js';
|
|
8
|
-
|
|
9
|
-
export class ThrottledWidget extends VBox {
|
|
10
|
-
private readonly updateThrottler: Common.Throttler.Throttler;
|
|
11
|
-
private updateWhenVisible: boolean;
|
|
12
|
-
protected lastUpdatePromise: Promise<void> = Promise.resolve();
|
|
13
|
-
|
|
14
|
-
constructor(useShadowDom?: boolean, timeout?: number) {
|
|
15
|
-
super({useShadowDom});
|
|
16
|
-
this.updateThrottler = new Common.Throttler.Throttler(timeout === undefined ? 100 : timeout);
|
|
17
|
-
this.updateWhenVisible = false;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
protected doUpdate(): Promise<void> {
|
|
21
|
-
return Promise.resolve();
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
update(): void {
|
|
25
|
-
this.updateWhenVisible = !this.isShowing();
|
|
26
|
-
if (this.updateWhenVisible) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
this.lastUpdatePromise = this.updateThrottler.schedule(() => {
|
|
30
|
-
if (this.isShowing()) {
|
|
31
|
-
return this.doUpdate();
|
|
32
|
-
}
|
|
33
|
-
this.updateWhenVisible = true;
|
|
34
|
-
return Promise.resolve();
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
override get updateComplete(): Promise<boolean> {
|
|
39
|
-
return this.updateThrottler.processCompleted?.then(result => Boolean(result)) || Promise.resolve(false);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
override wasShown(): void {
|
|
43
|
-
super.wasShown();
|
|
44
|
-
if (this.updateWhenVisible) {
|
|
45
|
-
this.update();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|