chrome-devtools-frontend 1.0.1538310 → 1.0.1539728
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/eslint.config.mjs +1 -1
- package/front_end/core/protocol_client/CDPConnection.ts +12 -10
- package/front_end/core/protocol_client/InspectorBackend.ts +74 -101
- package/front_end/core/protocol_client/NodeURL.ts +1 -3
- package/front_end/core/sdk/ChildTargetManager.ts +5 -41
- package/front_end/core/sdk/Connections.ts +9 -58
- package/front_end/core/sdk/DOMModel.ts +1 -0
- package/front_end/core/sdk/RehydratingConnection.ts +1 -1
- package/front_end/entrypoints/lighthouse_worker/LighthouseWorkerService.ts +15 -26
- package/front_end/entrypoints/node_app/{NodeConnectionsPanel.ts → app/NodeConnectionsPanel.ts} +8 -8
- package/front_end/entrypoints/node_app/{NodeMain.ts → app/NodeMain.ts} +11 -11
- package/front_end/entrypoints/node_app/app/app.ts +6 -0
- package/front_end/entrypoints/node_app/node_app.ts +4 -2
- package/front_end/generated/{InspectorBackendCommands.js → InspectorBackendCommands.ts} +16 -34
- package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +18 -3
- package/front_end/models/trace/types/TraceEvents.ts +19 -0
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +49 -26
- package/front_end/panels/ai_assistance/aiAssistancePanel.css +1 -1
- package/front_end/panels/ai_assistance/ai_assistance.ts +1 -0
- package/front_end/panels/ai_assistance/components/ChatView.ts +1 -134
- package/front_end/panels/ai_assistance/components/DisabledWidget.ts +170 -0
- package/front_end/panels/ai_assistance/components/ExploreWidget.ts +4 -4
- package/front_end/panels/ai_assistance/components/chatView.css +0 -31
- package/front_end/panels/ai_assistance/components/disabledWidget.css +45 -0
- package/front_end/panels/animation/AnimationTimeline.ts +1 -1
- package/front_end/panels/application/components/FrameDetailsView.ts +1 -1
- package/front_end/panels/console/ConsoleViewMessage.ts +1 -1
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +3 -3
- package/front_end/panels/elements/ElementsTreeElement.ts +123 -95
- package/front_end/panels/elements/ElementsTreeOutline.ts +2 -2
- package/front_end/panels/elements/NodeStackTraceWidget.ts +8 -2
- package/front_end/panels/explain/components/ConsoleInsight.ts +0 -1
- package/front_end/panels/lighthouse/LighthouseProtocolService.ts +57 -33
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +1 -1
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.ts +12 -5
- package/front_end/panels/network/RequestInitiatorView.ts +1 -1
- package/front_end/panels/network/components/EditableSpan.ts +1 -1
- package/front_end/panels/recorder/components/StepView.ts +1 -1
- package/front_end/panels/recorder/models/RecordingPlayer.ts +8 -7
- package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +4 -4
- package/front_end/panels/timeline/TimelineFlameChartView.ts +10 -10
- package/front_end/panels/timeline/TimelinePanel.ts +3 -3
- package/front_end/panels/timeline/TimelineUIUtils.ts +21 -24
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +3 -2
- package/front_end/panels/utils/utils.ts +4 -2
- package/front_end/services/puppeteer/PuppeteerConnection.ts +56 -53
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +3 -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 +4 -2
- 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 +3 -1
- 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/bidi/BidiOverCdp.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BidiOverCdp.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BidiOverCdp.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.js +4 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.d.ts +1 -1
- 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 +1 -1
- 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/Connection.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Connection.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Connection.js +3 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Connection.js.map +1 -1
- 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 +26 -9
- 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/BrowsingContext.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js +11 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
- 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 +9 -2
- 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/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js +4 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts +1 -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/CdpSession.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CdpSession.js +2 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CdpSession.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.d.ts +6 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.js +11 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.js +4 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts +7 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts.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/node/BrowserLauncher.d.ts +4 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +10 -4
- 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/util/Mutex.d.ts +2 -2
- 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 +9 -3
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +37 -18
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +3 -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 +4 -2
- 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 +3 -1
- 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/bidi/BidiOverCdp.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BidiOverCdp.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BidiOverCdp.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.js +4 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.d.ts +1 -1
- 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 +1 -1
- 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/Connection.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Connection.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Connection.js +3 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Connection.js.map +1 -1
- 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 +26 -9
- 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/BrowsingContext.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js +11 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
- 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 +9 -2
- 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/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js +4 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts +1 -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/CdpSession.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CdpSession.js +2 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CdpSession.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Connection.d.ts +6 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Connection.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Connection.js +11 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Connection.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.js +4 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts +7 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts +4 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js +10 -4
- 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/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 +9 -3
- package/front_end/third_party/puppeteer/package/package.json +3 -3
- package/front_end/third_party/puppeteer/package/src/api/Browser.ts +4 -2
- package/front_end/third_party/puppeteer/package/src/api/BrowserContext.ts +3 -1
- package/front_end/third_party/puppeteer/package/src/bidi/BidiOverCdp.ts +1 -0
- package/front_end/third_party/puppeteer/package/src/bidi/BrowserConnector.ts +8 -1
- package/front_end/third_party/puppeteer/package/src/bidi/BrowserContext.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/bidi/Connection.ts +4 -1
- package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +34 -10
- package/front_end/third_party/puppeteer/package/src/bidi/core/BrowsingContext.ts +13 -0
- package/front_end/third_party/puppeteer/package/src/cdp/Accessibility.ts +8 -2
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserConnector.ts +4 -0
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserContext.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/cdp/CdpSession.ts +2 -1
- package/front_end/third_party/puppeteer/package/src/cdp/Connection.ts +15 -1
- package/front_end/third_party/puppeteer/package/src/common/CallbackRegistry.ts +7 -5
- package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +8 -0
- package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +22 -1
- package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
- package/front_end/ui/components/panel_feedback/PreviewToggle.ts +1 -1
- package/front_end/ui/components/switch/Switch.docs.ts +38 -0
- package/front_end/ui/components/tooltips/Tooltip.ts +69 -45
- package/front_end/ui/legacy/Slider.docs.ts +49 -0
- package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +77 -5
- package/front_end/ui/legacy/components/utils/Linkifier.ts +62 -3
- package/front_end/ui/visual_logging/KnownContextValues.ts +8 -0
- package/package.json +1 -1
- package/front_end/third_party/puppeteer/package/src/templates/version.ts.tmpl +0 -4
- package/front_end/ui/components/docs/color_swatch/basic.html +0 -32
- package/front_end/ui/components/docs/color_swatch/basic.ts +0 -38
- package/front_end/ui/components/docs/color_swatch/change-color.html +0 -24
- package/front_end/ui/components/docs/color_swatch/change-color.ts +0 -28
- package/front_end/ui/components/docs/computed_style_property/basic.html +0 -25
- package/front_end/ui/components/docs/computed_style_property/basic.ts +0 -19
- package/front_end/ui/components/docs/computed_style_property/traceable.html +0 -25
- package/front_end/ui/components/docs/computed_style_property/traceable.ts +0 -16
- package/front_end/ui/components/docs/computed_style_trace/basic.html +0 -25
- package/front_end/ui/components/docs/computed_style_trace/basic.ts +0 -24
- package/front_end/ui/components/docs/console_insight/basic.html +0 -28
- package/front_end/ui/components/docs/console_insight/basic.ts +0 -103
- package/front_end/ui/components/docs/console_insight/error.html +0 -28
- package/front_end/ui/components/docs/console_insight/error.ts +0 -33
- package/front_end/ui/components/docs/console_insight/loading.html +0 -28
- package/front_end/ui/components/docs/console_insight/loading.ts +0 -47
- package/front_end/ui/components/docs/elements_breadcrumbs/basic.html +0 -43
- package/front_end/ui/components/docs/elements_breadcrumbs/basic.ts +0 -54
- package/front_end/ui/components/docs/elements_breadcrumbs/helpers.ts +0 -29
- package/front_end/ui/components/docs/elements_breadcrumbs/scroll-to-active-element.html +0 -38
- package/front_end/ui/components/docs/elements_breadcrumbs/scroll-to-active-element.ts +0 -90
- package/front_end/ui/components/docs/elements_breadcrumbs/scroll.html +0 -29
- package/front_end/ui/components/docs/elements_breadcrumbs/scroll.ts +0 -62
- package/front_end/ui/components/docs/icon_button/basic.html +0 -34
- package/front_end/ui/components/docs/icon_button/basic.ts +0 -67
- package/front_end/ui/components/docs/issue_counter/basic.html +0 -35
- package/front_end/ui/components/docs/issue_counter/basic.ts +0 -34
- package/front_end/ui/components/docs/issue_link_icon/basic.html +0 -31
- package/front_end/ui/components/docs/issue_link_icon/basic.ts +0 -26
- package/front_end/ui/components/docs/linear_memory_inspector/basic.html +0 -26
- package/front_end/ui/components/docs/linear_memory_inspector/basic.ts +0 -44
- package/front_end/ui/components/docs/menu/basic.html +0 -28
- package/front_end/ui/components/docs/menu/basic.ts +0 -66
- package/front_end/ui/components/docs/recorder_control_button/basic.html +0 -20
- package/front_end/ui/components/docs/recorder_control_button/basic.ts +0 -15
- package/front_end/ui/components/docs/recorder_recording_list_view/basic.html +0 -20
- package/front_end/ui/components/docs/recorder_recording_list_view/basic.ts +0 -26
- package/front_end/ui/components/docs/recorder_select_button/basic.html +0 -20
- package/front_end/ui/components/docs/recorder_select_button/basic.ts +0 -81
- package/front_end/ui/components/docs/recorder_split_view/basic.html +0 -17
- package/front_end/ui/components/docs/recorder_split_view/basic.ts +0 -22
- package/front_end/ui/components/docs/request_link_icon/basic.html +0 -31
- package/front_end/ui/components/docs/request_link_icon/basic.ts +0 -21
- package/front_end/ui/components/docs/slider/basic.ts +0 -62
- package/front_end/ui/components/docs/style_property_editor/flex.html +0 -21
- package/front_end/ui/components/docs/style_property_editor/flex.ts +0 -52
- package/front_end/ui/components/docs/style_property_editor/grid.html +0 -22
- package/front_end/ui/components/docs/style_property_editor/grid.ts +0 -50
- package/front_end/ui/components/docs/style_property_editor/masonry.html +0 -21
- package/front_end/ui/components/docs/style_property_editor/masonry.ts +0 -50
- package/front_end/ui/components/docs/switch/basic.ts +0 -51
- /package/front_end/entrypoints/node_app/{nodeConnectionsPanel.css → app/nodeConnectionsPanel.css} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Copyright 2024 The Chromium Authors
|
|
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
5
|
/* eslint-disable @devtools/no-lit-render-outside-of-view */
|
|
6
6
|
|
|
7
7
|
import '../../../ui/components/spinners/spinners.js';
|
|
@@ -9,7 +9,6 @@ import '../../../ui/components/spinners/spinners.js';
|
|
|
9
9
|
import * as Host from '../../../core/host/host.js';
|
|
10
10
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
11
11
|
import type * as Platform from '../../../core/platform/platform.js';
|
|
12
|
-
import * as Root from '../../../core/root/root.js';
|
|
13
12
|
import * as SDK from '../../../core/sdk/sdk.js';
|
|
14
13
|
import * as AiAssistanceModel from '../../../models/ai_assistance/ai_assistance.js';
|
|
15
14
|
import * as Workspace from '../../../models/workspace/workspace.js';
|
|
@@ -19,7 +18,6 @@ import * as Marked from '../../../third_party/marked/marked.js';
|
|
|
19
18
|
import * as Buttons from '../../../ui/components/buttons/buttons.js';
|
|
20
19
|
import type * as MarkdownView from '../../../ui/components/markdown_view/markdown_view.js';
|
|
21
20
|
import type {MarkdownLitRenderer} from '../../../ui/components/markdown_view/MarkdownView.js';
|
|
22
|
-
import * as uiI18n from '../../../ui/i18n/i18n.js';
|
|
23
21
|
import * as UI from '../../../ui/legacy/legacy.js';
|
|
24
22
|
import * as Lit from '../../../ui/lit/lit.js';
|
|
25
23
|
import * as VisualLogging from '../../../ui/visual_logging/visual_logging.js';
|
|
@@ -31,47 +29,10 @@ import {UserActionRow} from './UserActionRow.js';
|
|
|
31
29
|
const {html, Directives: {ifDefined, ref}} = Lit;
|
|
32
30
|
|
|
33
31
|
const UIStrings = {
|
|
34
|
-
/**
|
|
35
|
-
* @description The error message when the user is not logged in into Chrome.
|
|
36
|
-
*/
|
|
37
|
-
notLoggedIn: 'This feature is only available when you are signed into Chrome with your Google account',
|
|
38
|
-
/**
|
|
39
|
-
* @description Message shown when the user is offline.
|
|
40
|
-
*/
|
|
41
|
-
offline: 'Check your internet connection and try again',
|
|
42
|
-
/**
|
|
43
|
-
* @description Text for a link to Chrome DevTools Settings.
|
|
44
|
-
*/
|
|
45
|
-
settingsLink: 'AI assistance in Settings',
|
|
46
|
-
/**
|
|
47
|
-
* @description Text for asking the user to turn the AI assistance feature in settings first before they are able to use it.
|
|
48
|
-
* @example {AI assistance in Settings} PH1
|
|
49
|
-
*/
|
|
50
|
-
turnOnForStyles: 'Turn on {PH1} to get help with understanding CSS styles',
|
|
51
|
-
/**
|
|
52
|
-
* @description Text for asking the user to turn the AI assistance feature in settings first before they are able to use it.
|
|
53
|
-
* @example {AI assistance in Settings} PH1
|
|
54
|
-
*/
|
|
55
|
-
turnOnForStylesAndRequests: 'Turn on {PH1} to get help with styles and network requests',
|
|
56
|
-
/**
|
|
57
|
-
* @description Text for asking the user to turn the AI assistance feature in settings first before they are able to use it.
|
|
58
|
-
* @example {AI assistance in Settings} PH1
|
|
59
|
-
*/
|
|
60
|
-
turnOnForStylesRequestsAndFiles: 'Turn on {PH1} to get help with styles, network requests, and files',
|
|
61
|
-
/**
|
|
62
|
-
* @description Text for asking the user to turn the AI assistance feature in settings first before they are able to use it.
|
|
63
|
-
* @example {AI assistance in Settings} PH1
|
|
64
|
-
*/
|
|
65
|
-
turnOnForStylesRequestsPerformanceAndFiles:
|
|
66
|
-
'Turn on {PH1} to get help with styles, network requests, performance, and files',
|
|
67
32
|
/**
|
|
68
33
|
* @description The footer disclaimer that links to more information about the AI feature.
|
|
69
34
|
*/
|
|
70
35
|
learnAbout: 'Learn about AI in DevTools',
|
|
71
|
-
/**
|
|
72
|
-
* @description Text informing the user that AI assistance is not available in Incognito mode or Guest mode.
|
|
73
|
-
*/
|
|
74
|
-
notAvailableInIncognitoMode: 'AI assistance is not available in Incognito mode or Guest mode',
|
|
75
36
|
|
|
76
37
|
/**
|
|
77
38
|
* @description Label added to the text input to describe the context for screen readers. Not shown visibly on screen.
|
|
@@ -259,12 +220,6 @@ export interface ModelChatMessage {
|
|
|
259
220
|
|
|
260
221
|
export type ChatMessage = UserChatMessage|ModelChatMessage;
|
|
261
222
|
|
|
262
|
-
export const enum State {
|
|
263
|
-
DISABLED_VIEW = 'disabled-view',
|
|
264
|
-
CHAT_VIEW = 'chat-view',
|
|
265
|
-
EXPLORE_VIEW = 'explore-view'
|
|
266
|
-
}
|
|
267
|
-
|
|
268
223
|
export interface Props {
|
|
269
224
|
onTextSubmit:
|
|
270
225
|
(text: string, imageInput?: Host.AidaClient.Part,
|
|
@@ -281,7 +236,6 @@ export interface Props {
|
|
|
281
236
|
onLoadImage?: (file: File) => Promise<void>;
|
|
282
237
|
changeManager: AiAssistanceModel.ChangeManager.ChangeManager;
|
|
283
238
|
inspectElementToggled: boolean;
|
|
284
|
-
state: State;
|
|
285
239
|
aidaAvailability: Host.AidaClient.AidaAccessPreconditions;
|
|
286
240
|
messages: ChatMessage[];
|
|
287
241
|
selectedContext: AiAssistanceModel.AiAgent.ConversationContext<unknown>|null;
|
|
@@ -513,10 +467,6 @@ export class ChatView extends HTMLElement {
|
|
|
513
467
|
|
|
514
468
|
#render(): void {
|
|
515
469
|
const renderFooter = (): Lit.LitTemplate => {
|
|
516
|
-
if (this.#props.state !== State.CHAT_VIEW) {
|
|
517
|
-
return Lit.nothing;
|
|
518
|
-
}
|
|
519
|
-
|
|
520
470
|
const classes = Lit.Directives.classMap({
|
|
521
471
|
'chat-view-footer': true,
|
|
522
472
|
'has-conversation': !!this.#props.conversationType,
|
|
@@ -538,10 +488,6 @@ export class ChatView extends HTMLElement {
|
|
|
538
488
|
};
|
|
539
489
|
|
|
540
490
|
const renderInputOrReadOnlySection = (): Lit.LitTemplate => {
|
|
541
|
-
if (this.#props.state !== State.CHAT_VIEW) {
|
|
542
|
-
return Lit.nothing;
|
|
543
|
-
}
|
|
544
|
-
|
|
545
491
|
if (this.#props.conversationType && this.#props.isReadOnly) {
|
|
546
492
|
return renderReadOnlySection({
|
|
547
493
|
conversationType: this.#props.conversationType,
|
|
@@ -582,8 +528,6 @@ export class ChatView extends HTMLElement {
|
|
|
582
528
|
<div class="chat-ui">
|
|
583
529
|
<main @scroll=${this.#handleScroll} ${ref(this.#mainElementRef)}>
|
|
584
530
|
${renderMainContents({
|
|
585
|
-
state: this.#props.state,
|
|
586
|
-
aidaAvailability: this.#props.aidaAvailability,
|
|
587
531
|
messages: this.#props.messages,
|
|
588
532
|
isLoading: this.#props.isLoading,
|
|
589
533
|
isReadOnly: this.#props.isReadOnly,
|
|
@@ -1504,75 +1448,7 @@ function renderChatInput({
|
|
|
1504
1448
|
// clang-format on
|
|
1505
1449
|
}
|
|
1506
1450
|
|
|
1507
|
-
function renderAidaUnavailableContents(
|
|
1508
|
-
aidaAvailability:
|
|
1509
|
-
Exclude<Host.AidaClient.AidaAccessPreconditions, Host.AidaClient.AidaAccessPreconditions.AVAILABLE>):
|
|
1510
|
-
Lit.TemplateResult {
|
|
1511
|
-
switch (aidaAvailability) {
|
|
1512
|
-
case Host.AidaClient.AidaAccessPreconditions.NO_ACCOUNT_EMAIL:
|
|
1513
|
-
case Host.AidaClient.AidaAccessPreconditions.SYNC_IS_PAUSED: {
|
|
1514
|
-
return html`${i18nString(UIStrings.notLoggedIn)}`;
|
|
1515
|
-
}
|
|
1516
|
-
case Host.AidaClient.AidaAccessPreconditions.NO_INTERNET: {
|
|
1517
|
-
return html`${i18nString(UIStrings.offline)}`;
|
|
1518
|
-
}
|
|
1519
|
-
}
|
|
1520
|
-
}
|
|
1521
|
-
|
|
1522
|
-
function renderConsentViewContents(): Lit.TemplateResult {
|
|
1523
|
-
const settingsLink = document.createElement('span');
|
|
1524
|
-
settingsLink.textContent = i18nString(UIStrings.settingsLink);
|
|
1525
|
-
settingsLink.classList.add('link');
|
|
1526
|
-
UI.ARIAUtils.markAsLink(settingsLink);
|
|
1527
|
-
settingsLink.addEventListener('click', () => {
|
|
1528
|
-
void UI.ViewManager.ViewManager.instance().showView('chrome-ai');
|
|
1529
|
-
});
|
|
1530
|
-
settingsLink.setAttribute('jslog', `${VisualLogging.action('open-ai-settings').track({click: true})}`);
|
|
1531
|
-
|
|
1532
|
-
let consentViewContents: HTMLSpanElement;
|
|
1533
|
-
// TODO(ergunsh): Should this `view` access `hostConfig` at all?
|
|
1534
|
-
const config = Root.Runtime.hostConfig;
|
|
1535
|
-
if (config.isOffTheRecord) {
|
|
1536
|
-
return html`${i18nString(UIStrings.notAvailableInIncognitoMode)}`;
|
|
1537
|
-
}
|
|
1538
|
-
if (config.devToolsAiAssistancePerformanceAgent?.enabled) {
|
|
1539
|
-
consentViewContents = uiI18n.getFormatLocalizedString(
|
|
1540
|
-
str_, UIStrings.turnOnForStylesRequestsPerformanceAndFiles, {PH1: settingsLink});
|
|
1541
|
-
} else if (config.devToolsAiAssistanceFileAgent?.enabled) {
|
|
1542
|
-
consentViewContents =
|
|
1543
|
-
uiI18n.getFormatLocalizedString(str_, UIStrings.turnOnForStylesRequestsAndFiles, {PH1: settingsLink});
|
|
1544
|
-
} else if (config.devToolsAiAssistanceNetworkAgent?.enabled) {
|
|
1545
|
-
consentViewContents =
|
|
1546
|
-
uiI18n.getFormatLocalizedString(str_, UIStrings.turnOnForStylesAndRequests, {PH1: settingsLink});
|
|
1547
|
-
} else {
|
|
1548
|
-
consentViewContents = uiI18n.getFormatLocalizedString(str_, UIStrings.turnOnForStyles, {PH1: settingsLink});
|
|
1549
|
-
}
|
|
1550
|
-
|
|
1551
|
-
return html`${consentViewContents}`;
|
|
1552
|
-
}
|
|
1553
|
-
|
|
1554
|
-
function renderDisabledState(contents: Lit.TemplateResult): Lit.TemplateResult {
|
|
1555
|
-
// clang-format off
|
|
1556
|
-
return html`
|
|
1557
|
-
<div class="empty-state-container">
|
|
1558
|
-
<div class="disabled-view">
|
|
1559
|
-
<div class="disabled-view-icon-container">
|
|
1560
|
-
<devtools-icon
|
|
1561
|
-
name="smart-assistant"
|
|
1562
|
-
></devtools-icon>
|
|
1563
|
-
</div>
|
|
1564
|
-
<div>
|
|
1565
|
-
${contents}
|
|
1566
|
-
</div>
|
|
1567
|
-
</div>
|
|
1568
|
-
</div>
|
|
1569
|
-
`;
|
|
1570
|
-
// clang-format on
|
|
1571
|
-
}
|
|
1572
|
-
|
|
1573
1451
|
function renderMainContents({
|
|
1574
|
-
state,
|
|
1575
|
-
aidaAvailability,
|
|
1576
1452
|
messages,
|
|
1577
1453
|
isLoading,
|
|
1578
1454
|
isReadOnly,
|
|
@@ -1589,8 +1465,6 @@ function renderMainContents({
|
|
|
1589
1465
|
onCopyResponseClick,
|
|
1590
1466
|
onMessageContainerRef,
|
|
1591
1467
|
}: {
|
|
1592
|
-
state: State,
|
|
1593
|
-
aidaAvailability: Host.AidaClient.AidaAccessPreconditions,
|
|
1594
1468
|
messages: ChatMessage[],
|
|
1595
1469
|
isLoading: boolean,
|
|
1596
1470
|
isReadOnly: boolean,
|
|
@@ -1607,13 +1481,6 @@ function renderMainContents({
|
|
|
1607
1481
|
conversationType?: AiAssistanceModel.AiHistoryStorage.ConversationType,
|
|
1608
1482
|
changeSummary?: string,
|
|
1609
1483
|
}): Lit.LitTemplate {
|
|
1610
|
-
if (state === State.DISABLED_VIEW) {
|
|
1611
|
-
if (aidaAvailability === Host.AidaClient.AidaAccessPreconditions.AVAILABLE) {
|
|
1612
|
-
return renderDisabledState(renderConsentViewContents());
|
|
1613
|
-
}
|
|
1614
|
-
return renderDisabledState(renderAidaUnavailableContents(aidaAvailability));
|
|
1615
|
-
}
|
|
1616
|
-
|
|
1617
1484
|
if (!conversationType) {
|
|
1618
1485
|
return Lit.nothing;
|
|
1619
1486
|
}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
|
|
2
|
+
// Copyright 2025 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
|
+
import * as Host from '../../../core/host/host.js';
|
|
7
|
+
import * as i18n from '../../../core/i18n/i18n.js';
|
|
8
|
+
import * as Root from '../../../core/root/root.js';
|
|
9
|
+
import * as uiI18n from '../../../ui/i18n/i18n.js';
|
|
10
|
+
import * as UI from '../../../ui/legacy/legacy.js';
|
|
11
|
+
import {html, type LitTemplate, render} from '../../../ui/lit/lit.js';
|
|
12
|
+
import * as VisualLogging from '../../../ui/visual_logging/visual_logging.js';
|
|
13
|
+
|
|
14
|
+
import disabledWidgetStyles from './disabledWidget.css.js';
|
|
15
|
+
|
|
16
|
+
const UIStrings = {
|
|
17
|
+
/**
|
|
18
|
+
* @description The error message when the user is not logged in into Chrome.
|
|
19
|
+
*/
|
|
20
|
+
notLoggedIn: 'This feature is only available when you are signed into Chrome with your Google account',
|
|
21
|
+
/**
|
|
22
|
+
* @description Message shown when the user is offline.
|
|
23
|
+
*/
|
|
24
|
+
offline: 'Check your internet connection and try again',
|
|
25
|
+
/**
|
|
26
|
+
* @description Text for a link to Chrome DevTools Settings.
|
|
27
|
+
*/
|
|
28
|
+
settingsLink: 'AI assistance in Settings',
|
|
29
|
+
/**
|
|
30
|
+
* @description Text for asking the user to turn the AI assistance feature in settings first before they are able to use it.
|
|
31
|
+
* @example {AI assistance in Settings} PH1
|
|
32
|
+
*/
|
|
33
|
+
turnOnForStyles: 'Turn on {PH1} to get help with understanding CSS styles',
|
|
34
|
+
/**
|
|
35
|
+
* @description Text for asking the user to turn the AI assistance feature in settings first before they are able to use it.
|
|
36
|
+
* @example {AI assistance in Settings} PH1
|
|
37
|
+
*/
|
|
38
|
+
turnOnForStylesAndRequests: 'Turn on {PH1} to get help with styles and network requests',
|
|
39
|
+
/**
|
|
40
|
+
* @description Text for asking the user to turn the AI assistance feature in settings first before they are able to use it.
|
|
41
|
+
* @example {AI assistance in Settings} PH1
|
|
42
|
+
*/
|
|
43
|
+
turnOnForStylesRequestsAndFiles: 'Turn on {PH1} to get help with styles, network requests, and files',
|
|
44
|
+
/**
|
|
45
|
+
* @description Text for asking the user to turn the AI assistance feature in settings first before they are able to use it.
|
|
46
|
+
* @example {AI assistance in Settings} PH1
|
|
47
|
+
*/
|
|
48
|
+
turnOnForStylesRequestsPerformanceAndFiles:
|
|
49
|
+
'Turn on {PH1} to get help with styles, network requests, performance, and files',
|
|
50
|
+
/**
|
|
51
|
+
* @description Text informing the user that AI assistance is not available in Incognito mode or Guest mode.
|
|
52
|
+
*/
|
|
53
|
+
notAvailableInIncognitoMode: 'AI assistance is not available in Incognito mode or Guest mode',
|
|
54
|
+
|
|
55
|
+
} as const;
|
|
56
|
+
|
|
57
|
+
const str_ = i18n.i18n.registerUIStrings('panels/ai_assistance/components/DisabledWidget.ts', UIStrings);
|
|
58
|
+
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
59
|
+
|
|
60
|
+
interface ViewProps {
|
|
61
|
+
aidaAvailability: Host.AidaClient.AidaAccessPreconditions;
|
|
62
|
+
hostConfig: Root.Runtime.HostConfig;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function renderAidaUnavailableContents(
|
|
66
|
+
aidaAvailability:
|
|
67
|
+
Exclude<Host.AidaClient.AidaAccessPreconditions, Host.AidaClient.AidaAccessPreconditions.AVAILABLE>):
|
|
68
|
+
LitTemplate {
|
|
69
|
+
switch (aidaAvailability) {
|
|
70
|
+
case Host.AidaClient.AidaAccessPreconditions.NO_ACCOUNT_EMAIL:
|
|
71
|
+
case Host.AidaClient.AidaAccessPreconditions.SYNC_IS_PAUSED: {
|
|
72
|
+
return html`${i18nString(UIStrings.notLoggedIn)}`;
|
|
73
|
+
}
|
|
74
|
+
case Host.AidaClient.AidaAccessPreconditions.NO_INTERNET: {
|
|
75
|
+
return html`${i18nString(UIStrings.offline)}`;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function renderConsentViewContents(
|
|
81
|
+
hostConfig: Root.Runtime.HostConfig,
|
|
82
|
+
): LitTemplate {
|
|
83
|
+
if (hostConfig.isOffTheRecord) {
|
|
84
|
+
return html`${i18nString(UIStrings.notAvailableInIncognitoMode)}`;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// eslint-disable-next-line @devtools/no-imperative-dom-api
|
|
88
|
+
const settingsLink = document.createElement('span');
|
|
89
|
+
settingsLink.textContent = i18nString(UIStrings.settingsLink);
|
|
90
|
+
settingsLink.classList.add('link');
|
|
91
|
+
UI.ARIAUtils.markAsLink(settingsLink);
|
|
92
|
+
settingsLink.addEventListener('click', () => {
|
|
93
|
+
void UI.ViewManager.ViewManager.instance().showView('chrome-ai');
|
|
94
|
+
});
|
|
95
|
+
settingsLink.setAttribute('jslog', `${VisualLogging.action('open-ai-settings').track({click: true})}`);
|
|
96
|
+
|
|
97
|
+
let consentViewContents: HTMLSpanElement;
|
|
98
|
+
if (hostConfig.devToolsAiAssistancePerformanceAgent?.enabled) {
|
|
99
|
+
consentViewContents = uiI18n.getFormatLocalizedString(
|
|
100
|
+
str_, UIStrings.turnOnForStylesRequestsPerformanceAndFiles, {PH1: settingsLink});
|
|
101
|
+
} else if (hostConfig.devToolsAiAssistanceFileAgent?.enabled) {
|
|
102
|
+
consentViewContents =
|
|
103
|
+
uiI18n.getFormatLocalizedString(str_, UIStrings.turnOnForStylesRequestsAndFiles, {PH1: settingsLink});
|
|
104
|
+
} else if (hostConfig.devToolsAiAssistanceNetworkAgent?.enabled) {
|
|
105
|
+
consentViewContents =
|
|
106
|
+
uiI18n.getFormatLocalizedString(str_, UIStrings.turnOnForStylesAndRequests, {PH1: settingsLink});
|
|
107
|
+
} else {
|
|
108
|
+
consentViewContents = uiI18n.getFormatLocalizedString(str_, UIStrings.turnOnForStyles, {PH1: settingsLink});
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return html`${consentViewContents}`;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export const DEFAULT_VIEW = (
|
|
115
|
+
input: ViewProps,
|
|
116
|
+
_output: Record<string, unknown>,
|
|
117
|
+
target: HTMLElement,
|
|
118
|
+
): void => {
|
|
119
|
+
// clang-format off
|
|
120
|
+
render(
|
|
121
|
+
html`
|
|
122
|
+
<style>
|
|
123
|
+
${disabledWidgetStyles}
|
|
124
|
+
</style>
|
|
125
|
+
<div class="disabled-view">
|
|
126
|
+
<div class="disabled-view-icon-container">
|
|
127
|
+
<devtools-icon name="smart-assistant"></devtools-icon>
|
|
128
|
+
</div>
|
|
129
|
+
<div>
|
|
130
|
+
${input.aidaAvailability ===
|
|
131
|
+
Host.AidaClient.AidaAccessPreconditions.AVAILABLE
|
|
132
|
+
? renderConsentViewContents(input.hostConfig)
|
|
133
|
+
: renderAidaUnavailableContents(input.aidaAvailability)}
|
|
134
|
+
</div>
|
|
135
|
+
</div>
|
|
136
|
+
`,
|
|
137
|
+
target
|
|
138
|
+
);
|
|
139
|
+
// clang-format on
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
export type View = typeof DEFAULT_VIEW;
|
|
143
|
+
|
|
144
|
+
export class DisabledWidget extends UI.Widget.Widget {
|
|
145
|
+
aidaAvailability: Host.AidaClient.AidaAccessPreconditions = Host.AidaClient.AidaAccessPreconditions.NO_ACCOUNT_EMAIL;
|
|
146
|
+
|
|
147
|
+
#view: View;
|
|
148
|
+
constructor(element?: HTMLElement, view = DEFAULT_VIEW) {
|
|
149
|
+
super(element);
|
|
150
|
+
this.#view = view;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
override wasShown(): void {
|
|
154
|
+
super.wasShown();
|
|
155
|
+
void this.requestUpdate();
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
override performUpdate(): Promise<void>|void {
|
|
159
|
+
const hostConfig = Root.Runtime.hostConfig;
|
|
160
|
+
|
|
161
|
+
this.#view(
|
|
162
|
+
{
|
|
163
|
+
aidaAvailability: this.aidaAvailability,
|
|
164
|
+
hostConfig,
|
|
165
|
+
},
|
|
166
|
+
{},
|
|
167
|
+
this.contentElement,
|
|
168
|
+
);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
@@ -111,10 +111,10 @@ export const DEFAULT_VIEW = (
|
|
|
111
111
|
export type View = typeof DEFAULT_VIEW;
|
|
112
112
|
|
|
113
113
|
export class ExploreWidget extends UI.Widget.Widget {
|
|
114
|
-
view: View;
|
|
115
|
-
constructor(element?: HTMLElement, view
|
|
114
|
+
#view: View;
|
|
115
|
+
constructor(element?: HTMLElement, view = DEFAULT_VIEW) {
|
|
116
116
|
super(element);
|
|
117
|
-
this
|
|
117
|
+
this.#view = view;
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
override wasShown(): void {
|
|
@@ -183,7 +183,7 @@ export class ExploreWidget extends UI.Widget.Widget {
|
|
|
183
183
|
});
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
-
this
|
|
186
|
+
this.#view(
|
|
187
187
|
{
|
|
188
188
|
featureCards,
|
|
189
189
|
},
|
|
@@ -729,37 +729,6 @@ main {
|
|
|
729
729
|
}
|
|
730
730
|
}
|
|
731
731
|
|
|
732
|
-
.disabled-view {
|
|
733
|
-
display: flex;
|
|
734
|
-
max-width: var(--sys-size-34);
|
|
735
|
-
border-radius: var(--sys-shape-corner-small);
|
|
736
|
-
box-shadow: var(--sys-elevation-level3);
|
|
737
|
-
background-color: var(--app-color-card-background);
|
|
738
|
-
font: var(--sys-typescale-body4-regular);
|
|
739
|
-
text-wrap: pretty;
|
|
740
|
-
padding: var(--sys-size-6) var(--sys-size-8);
|
|
741
|
-
margin: var(--sys-size-4) 0;
|
|
742
|
-
line-height: var(--sys-size-9);
|
|
743
|
-
|
|
744
|
-
.disabled-view-icon-container {
|
|
745
|
-
border-radius: var(--sys-shape-corner-extra-small);
|
|
746
|
-
width: var(--sys-size-9);
|
|
747
|
-
height: var(--sys-size-9);
|
|
748
|
-
background: linear-gradient(
|
|
749
|
-
135deg,
|
|
750
|
-
var(--sys-color-gradient-primary),
|
|
751
|
-
var(--sys-color-gradient-tertiary)
|
|
752
|
-
);
|
|
753
|
-
margin-right: var(--sys-size-5);
|
|
754
|
-
|
|
755
|
-
devtools-icon {
|
|
756
|
-
margin: var(--sys-size-2);
|
|
757
|
-
width: var(--sys-size-8);
|
|
758
|
-
height: var(--sys-size-8);
|
|
759
|
-
}
|
|
760
|
-
}
|
|
761
|
-
}
|
|
762
|
-
|
|
763
732
|
.error-step {
|
|
764
733
|
color: var(--sys-color-error);
|
|
765
734
|
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 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
|
+
|
|
7
|
+
@scope to (devtools-widget > *) {
|
|
8
|
+
.disabled-view {
|
|
9
|
+
display: flex;
|
|
10
|
+
max-width: var(--sys-size-34);
|
|
11
|
+
border-radius: var(--sys-shape-corner-small);
|
|
12
|
+
box-shadow: var(--sys-elevation-level3);
|
|
13
|
+
background-color: var(--app-color-card-background);
|
|
14
|
+
font: var(--sys-typescale-body4-regular);
|
|
15
|
+
text-wrap: pretty;
|
|
16
|
+
padding: var(--sys-size-6) var(--sys-size-8);
|
|
17
|
+
margin: var(--sys-size-4);
|
|
18
|
+
line-height: var(--sys-size-9);
|
|
19
|
+
|
|
20
|
+
.disabled-view-icon-container {
|
|
21
|
+
flex-shrink: 0;
|
|
22
|
+
border-radius: var(--sys-shape-corner-extra-small);
|
|
23
|
+
width: var(--sys-size-9);
|
|
24
|
+
height: var(--sys-size-9);
|
|
25
|
+
background: linear-gradient(
|
|
26
|
+
135deg,
|
|
27
|
+
var(--sys-color-gradient-primary),
|
|
28
|
+
var(--sys-color-gradient-tertiary)
|
|
29
|
+
);
|
|
30
|
+
margin-right: var(--sys-size-5);
|
|
31
|
+
|
|
32
|
+
devtools-icon {
|
|
33
|
+
margin: var(--sys-size-2);
|
|
34
|
+
width: var(--sys-size-8);
|
|
35
|
+
height: var(--sys-size-8);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.link {
|
|
41
|
+
color: var(--text-link);
|
|
42
|
+
text-decoration: underline;
|
|
43
|
+
cursor: pointer;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -165,7 +165,7 @@ const DEFAULT_TOOLBAR_VIEW: ToolbarView = (input: ToolbarViewInput, output: unde
|
|
|
165
165
|
const isSelected = input.selectedPlaybackRate === playbackRate;
|
|
166
166
|
const textContent = playbackRate ? i18nString(UIStrings.playbackRatePlaceholder, {PH1: playbackRate * 100}) : i18nString(UIStrings.pause);
|
|
167
167
|
return html`
|
|
168
|
-
<button
|
|
168
|
+
<button jslog=${VisualLogging.action().context(`animations.playback-rate-${playbackRate * 100}`).track({
|
|
169
169
|
click: true,
|
|
170
170
|
keydown: 'ArrowUp|ArrowDown|ArrowLeft|ArrowRight',
|
|
171
171
|
})}
|
|
@@ -540,7 +540,7 @@ export class FrameDetailsReportView extends LegacyWrapper.LegacyWrapper.Wrappabl
|
|
|
540
540
|
>
|
|
541
541
|
<devtools-resources-stack-trace .data=${{
|
|
542
542
|
frame: this.#frame,
|
|
543
|
-
buildStackTraceRows: Components.JSPresentationUtils.
|
|
543
|
+
buildStackTraceRows: Components.JSPresentationUtils.buildStackTraceRowsForLegacyRuntimeStackTrace,
|
|
544
544
|
} as StackTraceData}>
|
|
545
545
|
</devtools-resources-stack-trace>
|
|
546
546
|
</devtools-report-value>
|
|
@@ -718,7 +718,7 @@ export class ConsoleViewMessage implements ConsoleViewportElement {
|
|
|
718
718
|
clickableElement.appendChild(messageElement);
|
|
719
719
|
const stackTraceElement = contentElement.createChild('div');
|
|
720
720
|
const stackTracePreview = new Components.JSPresentationUtils.StackTracePreviewContent(
|
|
721
|
-
undefined, target ?? undefined, this.linkifier, {stackTrace, widthConstrained: true});
|
|
721
|
+
undefined, target ?? undefined, this.linkifier, {runtimeStackTrace: stackTrace, widthConstrained: true});
|
|
722
722
|
stackTracePreview.markAsRoot();
|
|
723
723
|
stackTracePreview.show(stackTraceElement);
|
|
724
724
|
for (const linkElement of stackTracePreview.linkElements) {
|
|
@@ -502,7 +502,7 @@ function renderContrastIssue(key: string, issues: ContrastIssue[]): TemplateResu
|
|
|
502
502
|
</button>
|
|
503
503
|
<div class="block-title">
|
|
504
504
|
${showAPCA ? html`
|
|
505
|
-
<div class="contrast-warning hidden"
|
|
505
|
+
<div class="contrast-warning hidden">
|
|
506
506
|
<span class="threshold-label">${i18nString(UIStrings.apca)}</span>
|
|
507
507
|
${minContrastIssue.thresholdsViolated.apca ? createClearIcon() : createCheckIcon()}
|
|
508
508
|
</div>` : html`
|
|
@@ -510,7 +510,7 @@ function renderContrastIssue(key: string, issues: ContrastIssue[]): TemplateResu
|
|
|
510
510
|
<span class="threshold-label">${i18nString(UIStrings.aa)}</span>
|
|
511
511
|
${minContrastIssue.thresholdsViolated.aa ? createClearIcon() : createCheckIcon()}
|
|
512
512
|
</div>
|
|
513
|
-
<div class="contrast-warning hidden"
|
|
513
|
+
<div class="contrast-warning hidden">
|
|
514
514
|
<span class="threshold-label">${i18nString(UIStrings.aaa)}</span>
|
|
515
515
|
${minContrastIssue.thresholdsViolated.aaa ? createClearIcon() : createCheckIcon()}
|
|
516
516
|
</div>`}
|
|
@@ -1073,5 +1073,5 @@ function createClearIcon(): TemplateResult {
|
|
|
1073
1073
|
function createCheckIcon(): TemplateResult {
|
|
1074
1074
|
return html`
|
|
1075
1075
|
<devtools-icon name="checkmark" class="small"
|
|
1076
|
-
style="color:var(--icon-checkmark-green)
|
|
1076
|
+
style="color:var(--icon-checkmark-green);"></devtools-icon>`;
|
|
1077
1077
|
}
|