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
|
@@ -53,6 +53,7 @@ import * as IconButton from '../../ui/components/icon_button/icon_button.js';
|
|
|
53
53
|
import * as TextEditor from '../../ui/components/text_editor/text_editor.js';
|
|
54
54
|
import * as Components from '../../ui/legacy/components/utils/utils.js';
|
|
55
55
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
56
|
+
import * as Lit from '../../ui/lit/lit.js';
|
|
56
57
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
57
58
|
import * as Emulation from '../emulation/emulation.js';
|
|
58
59
|
import * as Media from '../media/media.js';
|
|
@@ -64,6 +65,7 @@ import {ElementsPanel} from './ElementsPanel.js';
|
|
|
64
65
|
import {type ElementsTreeOutline, MappedCharToEntity} from './ElementsTreeOutline.js';
|
|
65
66
|
import {ImagePreviewPopover} from './ImagePreviewPopover.js';
|
|
66
67
|
import {getRegisteredDecorators, type MarkerDecorator, type MarkerDecoratorRegistration} from './MarkerDecorator.js';
|
|
68
|
+
const {html, nothing, render, Directives: {ref, repeat}} = Lit;
|
|
67
69
|
|
|
68
70
|
const UIStrings = {
|
|
69
71
|
/**
|
|
@@ -335,12 +337,7 @@ const enum TagType {
|
|
|
335
337
|
|
|
336
338
|
interface OpeningTagContext {
|
|
337
339
|
tagType: TagType.OPENING;
|
|
338
|
-
readonly adornerContainer: HTMLElement;
|
|
339
|
-
adorners: Set<Adorners.Adorner.Adorner>;
|
|
340
|
-
styleAdorners: Set<Adorners.Adorner.Adorner>;
|
|
341
|
-
readonly adornersThrottler: Common.Throttler.Throttler;
|
|
342
340
|
canAddAttributes: boolean;
|
|
343
|
-
slot?: Adorners.Adorner.Adorner;
|
|
344
341
|
}
|
|
345
342
|
|
|
346
343
|
interface ClosingTagContext {
|
|
@@ -353,11 +350,47 @@ export function isOpeningTag(context: TagTypeContext): context is OpeningTagCont
|
|
|
353
350
|
return context.tagType === TagType.OPENING;
|
|
354
351
|
}
|
|
355
352
|
|
|
353
|
+
export interface ViewInput {
|
|
354
|
+
adorners?: Set<Adorners.Adorner.Adorner>;
|
|
355
|
+
nodeInfo?: DocumentFragment;
|
|
356
|
+
|
|
357
|
+
onGutterClick: (e: Event) => void;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
export interface ViewOutput {
|
|
361
|
+
gutterContainer?: HTMLElement;
|
|
362
|
+
decorationsElement?: HTMLElement;
|
|
363
|
+
contentElement?: HTMLElement;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
export const DEFAULT_VIEW = (input: ViewInput, output: ViewOutput, target: HTMLElement): void => {
|
|
367
|
+
// clang-format off
|
|
368
|
+
render(html`
|
|
369
|
+
<div ${ref(el => { output.contentElement = el as HTMLElement; })}>
|
|
370
|
+
${input.nodeInfo ? html`<span class="highlight">${input.nodeInfo}</span>` : nothing}
|
|
371
|
+
<div class="gutter-container" @click=${input.onGutterClick} ${ref(el => { output.gutterContainer = el as HTMLElement; })}>
|
|
372
|
+
<devtools-icon name="dots-horizontal"></devtools-icon>
|
|
373
|
+
<div class="hidden" ${ref(el => { output.decorationsElement = el as HTMLElement; })}></div>
|
|
374
|
+
</div>
|
|
375
|
+
${input.adorners ? html`<div class="adorner-container ${input.adorners.size === 0 ? 'hidden': ''}">
|
|
376
|
+
${repeat(Array.from(input.adorners.values()).sort(adornerComparator), adorner => {
|
|
377
|
+
return adorner;
|
|
378
|
+
})}
|
|
379
|
+
</div>`: nothing}
|
|
380
|
+
</div>
|
|
381
|
+
`, target);
|
|
382
|
+
// clang-format on
|
|
383
|
+
};
|
|
384
|
+
|
|
356
385
|
export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
357
386
|
nodeInternal: SDK.DOMModel.DOMNode;
|
|
358
387
|
override treeOutline: ElementsTreeOutline|null;
|
|
359
|
-
|
|
360
|
-
|
|
388
|
+
|
|
389
|
+
// Handled by the view output for now.
|
|
390
|
+
gutterContainer!: HTMLElement;
|
|
391
|
+
decorationsElement!: HTMLElement;
|
|
392
|
+
contentElement!: HTMLElement;
|
|
393
|
+
|
|
361
394
|
private searchQuery: string|null;
|
|
362
395
|
#expandedChildrenLimit: number;
|
|
363
396
|
private readonly decorationsThrottler: Common.Throttler.Throttler;
|
|
@@ -369,13 +402,16 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
369
402
|
selectionElement?: HTMLDivElement;
|
|
370
403
|
private hintElement?: HTMLElement;
|
|
371
404
|
private aiButtonContainer?: HTMLElement;
|
|
372
|
-
private contentElement: HTMLElement;
|
|
373
405
|
#elementIssues = new Map<string, IssuesManager.Issue.Issue>();
|
|
374
406
|
#nodeElementToIssue = new Map<Element, IssuesManager.Issue.Issue[]>();
|
|
375
407
|
#highlights: Range[] = [];
|
|
376
408
|
|
|
377
409
|
readonly tagTypeContext: TagTypeContext;
|
|
378
410
|
|
|
411
|
+
#adornersThrottler = new Common.Throttler.Throttler(100);
|
|
412
|
+
#adorners = new Set<Adorners.Adorner.Adorner>();
|
|
413
|
+
#nodeInfo?: DocumentFragment;
|
|
414
|
+
|
|
379
415
|
constructor(node: SDK.DOMModel.DOMNode, isClosingTag?: boolean) {
|
|
380
416
|
// The title will be updated in onattach.
|
|
381
417
|
super();
|
|
@@ -387,13 +423,6 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
387
423
|
drag: true,
|
|
388
424
|
click: true,
|
|
389
425
|
})}`);
|
|
390
|
-
this.contentElement = this.listItemElement.createChild('div');
|
|
391
|
-
this.gutterContainer = this.contentElement.createChild('div', 'gutter-container');
|
|
392
|
-
this.gutterContainer.addEventListener('click', this.showContextMenu.bind(this));
|
|
393
|
-
const gutterMenuIcon = new IconButton.Icon.Icon();
|
|
394
|
-
gutterMenuIcon.name = 'dots-horizontal';
|
|
395
|
-
this.gutterContainer.append(gutterMenuIcon);
|
|
396
|
-
this.decorationsElement = this.gutterContainer.createChild('div', 'hidden');
|
|
397
426
|
|
|
398
427
|
this.searchQuery = null;
|
|
399
428
|
this.#expandedChildrenLimit = InitialChildrenLimit;
|
|
@@ -409,10 +438,6 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
409
438
|
} else {
|
|
410
439
|
this.tagTypeContext = {
|
|
411
440
|
tagType: TagType.OPENING,
|
|
412
|
-
adornerContainer: this.contentElement.createChild('div', 'adorner-container hidden'),
|
|
413
|
-
adorners: new Set(),
|
|
414
|
-
styleAdorners: new Set(),
|
|
415
|
-
adornersThrottler: new Common.Throttler.Throttler(100),
|
|
416
441
|
canAddAttributes: this.nodeInternal.nodeType() === Node.ELEMENT_NODE,
|
|
417
442
|
};
|
|
418
443
|
void this.updateStyleAdorners();
|
|
@@ -428,6 +453,8 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
428
453
|
}
|
|
429
454
|
this.expandAllButtonElement = null;
|
|
430
455
|
|
|
456
|
+
this.performUpdate();
|
|
457
|
+
|
|
431
458
|
if (this.nodeInternal.retained && !this.isClosingTag()) {
|
|
432
459
|
const icon = new IconButton.Icon.Icon();
|
|
433
460
|
icon.name = 'small-status-dot';
|
|
@@ -498,6 +525,20 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
498
525
|
}
|
|
499
526
|
}
|
|
500
527
|
|
|
528
|
+
get adorners(): Adorners.Adorner.Adorner[] {
|
|
529
|
+
return Array.from(this.#adorners);
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
performUpdate(): void {
|
|
533
|
+
DEFAULT_VIEW(
|
|
534
|
+
{
|
|
535
|
+
adorners: !this.isClosingTag() ? this.#adorners : undefined,
|
|
536
|
+
nodeInfo: this.#nodeInfo,
|
|
537
|
+
onGutterClick: this.showContextMenu.bind(this),
|
|
538
|
+
},
|
|
539
|
+
this, this.listItemElement);
|
|
540
|
+
}
|
|
541
|
+
|
|
501
542
|
highlightAttribute(attributeName: string): void {
|
|
502
543
|
// If the attribute is not found, we highlight the tag name instead.
|
|
503
544
|
let animationElement = this.listItemElement.querySelector('.webkit-html-tag-name') ?? this.listItemElement;
|
|
@@ -645,14 +686,15 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
645
686
|
if (nodeShortcut) {
|
|
646
687
|
const config = ElementsComponents.AdornerManager.getRegisteredAdorner(
|
|
647
688
|
ElementsComponents.AdornerManager.RegisteredAdorners.SLOT);
|
|
648
|
-
|
|
689
|
+
const adorner = this.adornSlot(config);
|
|
690
|
+
this.#adorners.add(adorner);
|
|
649
691
|
const deferredNode = nodeShortcut.deferredNode;
|
|
650
|
-
|
|
692
|
+
adorner.addEventListener('click', () => {
|
|
651
693
|
deferredNode.resolve(node => {
|
|
652
694
|
void Common.Revealer.reveal(node);
|
|
653
695
|
});
|
|
654
696
|
});
|
|
655
|
-
|
|
697
|
+
adorner.addEventListener('mousedown', e => e.consume(), false);
|
|
656
698
|
}
|
|
657
699
|
}
|
|
658
700
|
|
|
@@ -735,7 +777,7 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
735
777
|
}
|
|
736
778
|
|
|
737
779
|
override async expandRecursively(): Promise<void> {
|
|
738
|
-
await this.nodeInternal.getSubtree(
|
|
780
|
+
await this.nodeInternal.getSubtree(100, true);
|
|
739
781
|
await super.expandRecursively(Number.MAX_VALUE);
|
|
740
782
|
}
|
|
741
783
|
|
|
@@ -1740,7 +1782,7 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
1740
1782
|
return;
|
|
1741
1783
|
}
|
|
1742
1784
|
|
|
1743
|
-
|
|
1785
|
+
this.#nodeInfo = this.nodeTitleInfo(updateRecord || null);
|
|
1744
1786
|
if (this.nodeInternal.nodeType() === Node.DOCUMENT_FRAGMENT_NODE && this.nodeInternal.isInShadowTree() &&
|
|
1745
1787
|
this.nodeInternal.shadowRootType()) {
|
|
1746
1788
|
this.childrenListElement.classList.add('shadow-root');
|
|
@@ -1757,19 +1799,10 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
1757
1799
|
this.childrenListElement.classList.add('shadow-root-depth-' + depth);
|
|
1758
1800
|
}
|
|
1759
1801
|
}
|
|
1760
|
-
this.
|
|
1761
|
-
const highlightElement = this.contentElement.createChild('span', 'highlight');
|
|
1762
|
-
highlightElement.append(nodeInfo);
|
|
1802
|
+
this.performUpdate();
|
|
1763
1803
|
// fixme: make it clear that `this.title = x` is a setter with significant side effects
|
|
1764
1804
|
this.title = this.contentElement;
|
|
1765
1805
|
this.updateDecorations();
|
|
1766
|
-
this.contentElement.prepend(this.gutterContainer);
|
|
1767
|
-
if (isOpeningTag(this.tagTypeContext)) {
|
|
1768
|
-
this.contentElement.append(this.tagTypeContext.adornerContainer);
|
|
1769
|
-
}
|
|
1770
|
-
delete this.selectionElement;
|
|
1771
|
-
delete this.hintElement;
|
|
1772
|
-
delete this.aiButtonContainer;
|
|
1773
1806
|
if (this.selected) {
|
|
1774
1807
|
this.createSelection();
|
|
1775
1808
|
this.createHint();
|
|
@@ -2463,14 +2496,14 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
2463
2496
|
jslogContext: name,
|
|
2464
2497
|
};
|
|
2465
2498
|
if (isOpeningTag(this.tagTypeContext)) {
|
|
2466
|
-
this
|
|
2499
|
+
this.#adorners.add(adorner);
|
|
2467
2500
|
ElementsPanel.instance().registerAdorner(adorner);
|
|
2468
|
-
this.updateAdorners(
|
|
2501
|
+
this.updateAdorners();
|
|
2469
2502
|
}
|
|
2470
2503
|
return adorner;
|
|
2471
2504
|
}
|
|
2472
2505
|
|
|
2473
|
-
adornSlot({name}: {name: string}
|
|
2506
|
+
adornSlot({name}: {name: string}): Adorners.Adorner.Adorner {
|
|
2474
2507
|
const linkIcon = IconButton.Icon.create('select-element');
|
|
2475
2508
|
const slotText = document.createElement('span');
|
|
2476
2509
|
slotText.textContent = name;
|
|
@@ -2484,9 +2517,9 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
2484
2517
|
content: adornerContent,
|
|
2485
2518
|
jslogContext: 'slot',
|
|
2486
2519
|
};
|
|
2487
|
-
|
|
2520
|
+
this.#adorners.add(adorner);
|
|
2488
2521
|
ElementsPanel.instance().registerAdorner(adorner);
|
|
2489
|
-
this.updateAdorners(
|
|
2522
|
+
this.updateAdorners();
|
|
2490
2523
|
return adorner;
|
|
2491
2524
|
}
|
|
2492
2525
|
|
|
@@ -2506,19 +2539,18 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
2506
2539
|
jslogContext: 'media',
|
|
2507
2540
|
};
|
|
2508
2541
|
if (isOpeningTag(this.tagTypeContext)) {
|
|
2509
|
-
this
|
|
2542
|
+
this.#adorners.add(adorner);
|
|
2510
2543
|
ElementsPanel.instance().registerAdorner(adorner);
|
|
2511
|
-
this.updateAdorners(
|
|
2544
|
+
this.updateAdorners();
|
|
2512
2545
|
}
|
|
2513
2546
|
return adorner;
|
|
2514
2547
|
}
|
|
2515
2548
|
|
|
2516
|
-
removeAdorner(adornerToRemove: Adorners.Adorner.Adorner
|
|
2549
|
+
removeAdorner(adornerToRemove: Adorners.Adorner.Adorner): void {
|
|
2517
2550
|
ElementsPanel.instance().deregisterAdorner(adornerToRemove);
|
|
2518
2551
|
adornerToRemove.remove();
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
this.updateAdorners(context);
|
|
2552
|
+
this.#adorners.delete(adornerToRemove);
|
|
2553
|
+
this.updateAdorners();
|
|
2522
2554
|
}
|
|
2523
2555
|
|
|
2524
2556
|
/**
|
|
@@ -2529,32 +2561,21 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
2529
2561
|
return;
|
|
2530
2562
|
}
|
|
2531
2563
|
|
|
2532
|
-
for (const adorner of this
|
|
2564
|
+
for (const adorner of this.#adorners) {
|
|
2533
2565
|
if (adorner.name === adornerType || !adornerType) {
|
|
2534
|
-
this.removeAdorner(adorner
|
|
2566
|
+
this.removeAdorner(adorner);
|
|
2535
2567
|
}
|
|
2536
2568
|
}
|
|
2537
2569
|
}
|
|
2538
2570
|
|
|
2539
|
-
private updateAdorners(
|
|
2540
|
-
|
|
2571
|
+
private updateAdorners(): void {
|
|
2572
|
+
// TODO: remove adornersThrottler in favour of throttled updated (requestUpdate/performUpdate).
|
|
2573
|
+
void this.#adornersThrottler.schedule(this.#updateAdorners.bind(this));
|
|
2541
2574
|
}
|
|
2542
2575
|
|
|
2543
|
-
#updateAdorners(
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
return Promise.resolve();
|
|
2547
|
-
}
|
|
2548
|
-
const adorners = [...context.adorners].sort(adornerComparator);
|
|
2549
|
-
if (context.slot) {
|
|
2550
|
-
adorners.push(context.slot);
|
|
2551
|
-
}
|
|
2552
|
-
|
|
2553
|
-
adornerContainer.removeChildren();
|
|
2554
|
-
for (const adorner of adorners) {
|
|
2555
|
-
adornerContainer.appendChild(adorner);
|
|
2556
|
-
}
|
|
2557
|
-
adornerContainer.classList.toggle('hidden', adorners.length === 0);
|
|
2576
|
+
#updateAdorners(): Promise<void> {
|
|
2577
|
+
// TODO: remove in favour of throttled updated (requestUpdate/performUpdate).
|
|
2578
|
+
this.performUpdate();
|
|
2558
2579
|
return Promise.resolve();
|
|
2559
2580
|
}
|
|
2560
2581
|
|
|
@@ -2571,44 +2592,51 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
2571
2592
|
}
|
|
2572
2593
|
|
|
2573
2594
|
const layout = await node.domModel().cssModel().getLayoutPropertiesFromComputedStyle(nodeId);
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2595
|
+
// TODO: move this to the template.
|
|
2596
|
+
this.removeAdornersByType(ElementsComponents.AdornerManager.RegisteredAdorners.SUBGRID);
|
|
2597
|
+
this.removeAdornersByType(ElementsComponents.AdornerManager.RegisteredAdorners.GRID);
|
|
2598
|
+
this.removeAdornersByType(ElementsComponents.AdornerManager.RegisteredAdorners.MASONRY);
|
|
2599
|
+
this.removeAdornersByType(ElementsComponents.AdornerManager.RegisteredAdorners.FLEX);
|
|
2600
|
+
this.removeAdornersByType(ElementsComponents.AdornerManager.RegisteredAdorners.SCROLL_SNAP);
|
|
2601
|
+
this.removeAdornersByType(ElementsComponents.AdornerManager.RegisteredAdorners.CONTAINER);
|
|
2602
|
+
this.removeAdornersByType(ElementsComponents.AdornerManager.RegisteredAdorners.MEDIA);
|
|
2603
|
+
this.removeAdornersByType(ElementsComponents.AdornerManager.RegisteredAdorners.STARTING_STYLE);
|
|
2604
|
+
this.removeAdornersByType(ElementsComponents.AdornerManager.RegisteredAdorners.POPOVER);
|
|
2577
2605
|
if (layout) {
|
|
2578
2606
|
if (layout.isGrid) {
|
|
2579
|
-
this.pushGridAdorner(
|
|
2607
|
+
this.pushGridAdorner(layout.isSubgrid);
|
|
2580
2608
|
}
|
|
2581
2609
|
if (layout.isMasonry) {
|
|
2582
|
-
this.pushMasonryAdorner(
|
|
2610
|
+
this.pushMasonryAdorner();
|
|
2583
2611
|
}
|
|
2584
2612
|
if (layout.isFlex) {
|
|
2585
|
-
this.pushFlexAdorner(
|
|
2613
|
+
this.pushFlexAdorner();
|
|
2586
2614
|
}
|
|
2587
2615
|
if (layout.hasScroll) {
|
|
2588
|
-
this.pushScrollSnapAdorner(
|
|
2616
|
+
this.pushScrollSnapAdorner();
|
|
2589
2617
|
}
|
|
2590
2618
|
if (layout.isContainer) {
|
|
2591
|
-
this.pushContainerAdorner(
|
|
2619
|
+
this.pushContainerAdorner();
|
|
2592
2620
|
}
|
|
2593
2621
|
}
|
|
2594
2622
|
|
|
2595
2623
|
if (node.isMediaNode()) {
|
|
2596
|
-
this.pushMediaAdorner(
|
|
2624
|
+
this.pushMediaAdorner();
|
|
2597
2625
|
}
|
|
2598
2626
|
|
|
2599
2627
|
if (Root.Runtime.hostConfig.devToolsStartingStyleDebugging?.enabled) {
|
|
2600
2628
|
const affectedByStartingStyles = node.affectedByStartingStyles();
|
|
2601
2629
|
if (affectedByStartingStyles) {
|
|
2602
|
-
this.pushStartingStyleAdorner(
|
|
2630
|
+
this.pushStartingStyleAdorner();
|
|
2603
2631
|
}
|
|
2604
2632
|
}
|
|
2605
2633
|
|
|
2606
2634
|
if (node.attributes().find(attr => attr.name === 'popover')) {
|
|
2607
|
-
this.pushPopoverAdorner(
|
|
2635
|
+
this.pushPopoverAdorner();
|
|
2608
2636
|
}
|
|
2609
2637
|
}
|
|
2610
2638
|
|
|
2611
|
-
pushPopoverAdorner(
|
|
2639
|
+
pushPopoverAdorner(): void {
|
|
2612
2640
|
if (!Root.Runtime.hostConfig.devToolsAllowPopoverForcing?.enabled) {
|
|
2613
2641
|
return;
|
|
2614
2642
|
}
|
|
@@ -2629,7 +2657,7 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
2629
2657
|
if (!treeElement || !isOpeningTag(treeElement.tagTypeContext)) {
|
|
2630
2658
|
return;
|
|
2631
2659
|
}
|
|
2632
|
-
const adorner =
|
|
2660
|
+
const adorner = this.#adorners.values().find(adorner => adorner.name === config.name);
|
|
2633
2661
|
adorner?.toggle(false);
|
|
2634
2662
|
}
|
|
2635
2663
|
};
|
|
@@ -2640,10 +2668,10 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
2640
2668
|
ariaLabelActive: i18nString(UIStrings.stopForceOpenPopover),
|
|
2641
2669
|
});
|
|
2642
2670
|
|
|
2643
|
-
|
|
2671
|
+
this.#adorners.add(adorner);
|
|
2644
2672
|
}
|
|
2645
2673
|
|
|
2646
|
-
pushGridAdorner(
|
|
2674
|
+
pushGridAdorner(isSubgrid: boolean): void {
|
|
2647
2675
|
const node = this.node();
|
|
2648
2676
|
const nodeId = node.id;
|
|
2649
2677
|
if (!nodeId) {
|
|
@@ -2682,13 +2710,13 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
2682
2710
|
adorner.toggle(enabled);
|
|
2683
2711
|
});
|
|
2684
2712
|
|
|
2685
|
-
|
|
2713
|
+
this.#adorners.add(adorner);
|
|
2686
2714
|
if (node.domModel().overlayModel().isHighlightedGridInPersistentOverlay(nodeId)) {
|
|
2687
2715
|
adorner.toggle(true);
|
|
2688
2716
|
}
|
|
2689
2717
|
}
|
|
2690
2718
|
|
|
2691
|
-
pushMasonryAdorner(
|
|
2719
|
+
pushMasonryAdorner(): void {
|
|
2692
2720
|
const node = this.node();
|
|
2693
2721
|
const nodeId = node.id;
|
|
2694
2722
|
if (!nodeId) {
|
|
@@ -2724,13 +2752,13 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
2724
2752
|
adorner.toggle(enabled);
|
|
2725
2753
|
});
|
|
2726
2754
|
|
|
2727
|
-
|
|
2755
|
+
this.#adorners.add(adorner);
|
|
2728
2756
|
if (node.domModel().overlayModel().isHighlightedGridInPersistentOverlay(nodeId)) {
|
|
2729
2757
|
adorner.toggle(true);
|
|
2730
2758
|
}
|
|
2731
2759
|
}
|
|
2732
2760
|
|
|
2733
|
-
pushScrollSnapAdorner(
|
|
2761
|
+
pushScrollSnapAdorner(): void {
|
|
2734
2762
|
const node = this.node();
|
|
2735
2763
|
const nodeId = node.id;
|
|
2736
2764
|
if (!nodeId) {
|
|
@@ -2766,14 +2794,14 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
2766
2794
|
adorner.toggle(enabled);
|
|
2767
2795
|
});
|
|
2768
2796
|
|
|
2769
|
-
|
|
2797
|
+
this.#adorners.add(adorner);
|
|
2770
2798
|
|
|
2771
2799
|
if (node.domModel().overlayModel().isHighlightedScrollSnapInPersistentOverlay(nodeId)) {
|
|
2772
2800
|
adorner.toggle(true);
|
|
2773
2801
|
}
|
|
2774
2802
|
}
|
|
2775
2803
|
|
|
2776
|
-
pushStartingStyleAdorner(
|
|
2804
|
+
pushStartingStyleAdorner(): void {
|
|
2777
2805
|
const node = this.node();
|
|
2778
2806
|
const nodeId = node.id;
|
|
2779
2807
|
if (!nodeId) {
|
|
@@ -2800,10 +2828,10 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
2800
2828
|
ariaLabelActive: i18nString(UIStrings.disableStartingStyle),
|
|
2801
2829
|
});
|
|
2802
2830
|
|
|
2803
|
-
|
|
2831
|
+
this.#adorners.add(adorner);
|
|
2804
2832
|
}
|
|
2805
2833
|
|
|
2806
|
-
pushFlexAdorner(
|
|
2834
|
+
pushFlexAdorner(): void {
|
|
2807
2835
|
const node = this.node();
|
|
2808
2836
|
const nodeId = node.id;
|
|
2809
2837
|
if (!nodeId) {
|
|
@@ -2840,14 +2868,14 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
2840
2868
|
adorner.toggle(enabled);
|
|
2841
2869
|
});
|
|
2842
2870
|
|
|
2843
|
-
|
|
2871
|
+
this.#adorners.add(adorner);
|
|
2844
2872
|
|
|
2845
2873
|
if (node.domModel().overlayModel().isHighlightedFlexContainerInPersistentOverlay(nodeId)) {
|
|
2846
2874
|
adorner.toggle(true);
|
|
2847
2875
|
}
|
|
2848
2876
|
}
|
|
2849
2877
|
|
|
2850
|
-
pushContainerAdorner(
|
|
2878
|
+
pushContainerAdorner(): void {
|
|
2851
2879
|
const node = this.node();
|
|
2852
2880
|
const nodeId = node.id;
|
|
2853
2881
|
if (!nodeId) {
|
|
@@ -2884,13 +2912,13 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
2884
2912
|
adorner.toggle(enabled);
|
|
2885
2913
|
});
|
|
2886
2914
|
|
|
2887
|
-
|
|
2915
|
+
this.#adorners.add(adorner);
|
|
2888
2916
|
if (node.domModel().overlayModel().isHighlightedContainerQueryInPersistentOverlay(nodeId)) {
|
|
2889
2917
|
adorner.toggle(true);
|
|
2890
2918
|
}
|
|
2891
2919
|
}
|
|
2892
2920
|
|
|
2893
|
-
pushMediaAdorner(
|
|
2921
|
+
pushMediaAdorner(): void {
|
|
2894
2922
|
const node = this.node();
|
|
2895
2923
|
const nodeId = node.id;
|
|
2896
2924
|
if (!nodeId) {
|
|
@@ -2919,15 +2947,15 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
2919
2947
|
ariaLabelActive: i18nString(UIStrings.openMediaPanel),
|
|
2920
2948
|
});
|
|
2921
2949
|
|
|
2922
|
-
|
|
2950
|
+
this.#adorners.add(adorner);
|
|
2923
2951
|
}
|
|
2924
2952
|
|
|
2925
2953
|
updateScrollAdorner(): void {
|
|
2926
2954
|
if (!isOpeningTag(this.tagTypeContext)) {
|
|
2927
2955
|
return;
|
|
2928
2956
|
}
|
|
2929
|
-
const scrollAdorner =
|
|
2930
|
-
x => x.name === ElementsComponents.AdornerManager.RegisteredAdorners.SCROLL);
|
|
2957
|
+
const scrollAdorner =
|
|
2958
|
+
this.#adorners.values().find(x => x.name === ElementsComponents.AdornerManager.RegisteredAdorners.SCROLL);
|
|
2931
2959
|
// Check if the node is scrollable, or if it's the <html> element and the document is scrollable
|
|
2932
2960
|
// because the top-level document (#document) doesn't have a corresponding tree element.
|
|
2933
2961
|
const needsAScrollAdorner = (this.node().nodeName() === 'HTML' && this.node().ownerDocument?.isScrollable()) ||
|
|
@@ -2935,7 +2963,7 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
2935
2963
|
if (needsAScrollAdorner && !scrollAdorner) {
|
|
2936
2964
|
this.pushScrollAdorner();
|
|
2937
2965
|
} else if (!needsAScrollAdorner && scrollAdorner) {
|
|
2938
|
-
this.removeAdorner(scrollAdorner
|
|
2966
|
+
this.removeAdorner(scrollAdorner);
|
|
2939
2967
|
}
|
|
2940
2968
|
}
|
|
2941
2969
|
|
|
@@ -1986,7 +1986,7 @@ export class ElementsTreeOutline extends
|
|
|
1986
1986
|
}
|
|
1987
1987
|
const treeElement = this.treeElementByNode.get(node);
|
|
1988
1988
|
if (treeElement && isOpeningTag(treeElement.tagTypeContext)) {
|
|
1989
|
-
void treeElement.
|
|
1989
|
+
void treeElement.updateScrollAdorner();
|
|
1990
1990
|
}
|
|
1991
1991
|
}
|
|
1992
1992
|
|
|
@@ -1995,7 +1995,7 @@ export class ElementsTreeOutline extends
|
|
|
1995
1995
|
const {node} = event.data;
|
|
1996
1996
|
const treeElement = this.treeElementByNode.get(node);
|
|
1997
1997
|
if (treeElement && isOpeningTag(treeElement.tagTypeContext)) {
|
|
1998
|
-
void treeElement.
|
|
1998
|
+
void treeElement.updateStyleAdorners();
|
|
1999
1999
|
}
|
|
2000
2000
|
}
|
|
2001
2001
|
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
6
6
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
7
|
+
import * as Bindings from '../../models/bindings/bindings.js';
|
|
7
8
|
import * as Components from '../../ui/legacy/components/utils/utils.js';
|
|
8
9
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
9
10
|
import {html, render} from '../../ui/lit/lit.js';
|
|
@@ -65,9 +66,14 @@ export class NodeStackTraceWidget extends UI.Widget.VBox {
|
|
|
65
66
|
override async performUpdate(): Promise<void> {
|
|
66
67
|
const node = UI.Context.Context.instance().flavor(SDK.DOMModel.DOMNode);
|
|
67
68
|
|
|
68
|
-
const
|
|
69
|
+
const target = node?.domModel().target();
|
|
70
|
+
const runtimeStackTrace = await node?.creationStackTrace() ?? undefined;
|
|
71
|
+
const stackTrace = runtimeStackTrace && target ?
|
|
72
|
+
await Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance().createStackTraceFromProtocolRuntime(
|
|
73
|
+
runtimeStackTrace, target) :
|
|
74
|
+
undefined;
|
|
69
75
|
const input: ViewInput = {
|
|
70
|
-
target
|
|
76
|
+
target,
|
|
71
77
|
linkifier: this.#linkifier,
|
|
72
78
|
options: {stackTrace},
|
|
73
79
|
};
|
|
@@ -374,7 +374,6 @@ export class ConsoleInsight extends HTMLElement {
|
|
|
374
374
|
}
|
|
375
375
|
|
|
376
376
|
connectedCallback(): void {
|
|
377
|
-
this.classList.add('opening');
|
|
378
377
|
this.#consoleInsightsEnabledSetting?.addChangeListener(this.#onConsoleInsightsSettingChanged, this);
|
|
379
378
|
const blockedByAge = Root.Runtime.hostConfig.aidaAvailability?.blockedByAge === true;
|
|
380
379
|
if (this.#state.type === State.LOADING && this.#consoleInsightsEnabledSetting?.getIfNotDisabled() === true &&
|