chrome-devtools-frontend 1.0.937775 → 1.0.939144
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/.stylelintrc.json +15 -11
- package/config/gni/all_devtools_files.gni +0 -5
- package/config/gni/devtools_grd_files.gni +2 -4
- package/front_end/Images/whatsnew.avif +0 -0
- package/front_end/Tests.js +30 -30
- package/front_end/core/host/InspectorFrontendHost.ts +16 -30
- package/front_end/core/host/InspectorFrontendHostAPI.ts +1 -0
- package/front_end/core/host/UserMetrics.ts +25 -0
- package/front_end/core/i18n/locales/en-US.json +4 -1
- package/front_end/core/i18n/locales/en-XL.json +4 -1
- package/front_end/core/sdk/DOMModel.ts +1 -1
- package/front_end/core/sdk/EmulationModel.ts +11 -0
- package/front_end/core/sdk/NetworkManager.ts +1 -0
- package/front_end/core/sdk/sdk-meta.ts +30 -1
- package/front_end/entrypoints/devtools_app/devtools_app.json +0 -2
- package/front_end/entrypoints/inspector_main/RenderingOptions.ts +9 -2
- package/front_end/entrypoints/inspector_main/renderingOptions.css +2 -2
- package/front_end/entrypoints/main/MainImpl.ts +14 -0
- package/front_end/entrypoints/main/main-meta.ts +0 -2
- package/front_end/entrypoints/node_app/node_app-meta.ts +0 -3
- package/front_end/entrypoints/node_app/node_app.js +3 -0
- package/front_end/entrypoints/node_main/nodeConnectionsPanel.css +2 -2
- package/front_end/entrypoints/shell/shell.json +1 -3
- package/front_end/entrypoints/worker_app/worker_app.json +0 -2
- package/front_end/generated/InspectorBackendCommands.js +14 -5
- package/front_end/generated/SupportedCSSProperties.js +8 -4
- package/front_end/generated/protocol-mapping.d.ts +10 -0
- package/front_end/generated/protocol-proxy-api.d.ts +19 -0
- package/front_end/generated/protocol.d.ts +56 -1
- package/front_end/legacy_test_runner/test_runner/test_runner.js +2 -4
- package/front_end/models/issues_manager/DeprecationIssue.ts +67 -0
- package/front_end/models/issues_manager/IssuesManager.ts +5 -0
- package/front_end/models/issues_manager/descriptions/deprecation.md +3 -0
- package/front_end/models/issues_manager/issues_manager.ts +2 -0
- package/front_end/models/persistence/editFileSystemView.css +1 -1
- package/front_end/models/persistence/workspaceSettingsTab.css +1 -1
- package/front_end/panels/accessibility/accessibilityNode.css +2 -2
- package/front_end/panels/accessibility/axBreadcrumbs.css +1 -1
- package/front_end/panels/animation/animationTimeline.css +5 -5
- package/front_end/panels/application/components/frameDetailsReportView.css +1 -1
- package/front_end/panels/application/module.json +1 -2
- package/front_end/panels/application/resourcesPanel.css +1 -1
- package/front_end/panels/application/resourcesSidebar.css +1 -1
- package/front_end/panels/browser_debugger/browser_debugger-meta.ts +0 -5
- package/front_end/panels/browser_debugger/xhrBreakpointsSidebarPane.css +2 -5
- package/front_end/panels/changes/changesSidebar.css +1 -1
- package/front_end/panels/changes/changesView.css +2 -2
- package/front_end/panels/console/consolePrompt.css +1 -1
- package/front_end/panels/console/consoleSidebar.css +4 -4
- package/front_end/panels/console/consoleView.css +2 -2
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +18 -17
- package/front_end/panels/css_overview/CSSOverviewPanel.ts +31 -10
- package/front_end/panels/css_overview/components/cssOverviewStartView.css +1 -1
- package/front_end/panels/css_overview/cssOverviewCompletedView.css +8 -8
- package/front_end/panels/elements/classesPaneWidget.css +1 -1
- package/front_end/panels/elements/components/adornerSettingsPane.css +1 -1
- package/front_end/panels/elements/computedStyleWidgetTree.css +1 -1
- package/front_end/panels/elements/elements-meta.ts +0 -2
- package/front_end/panels/elements/elementsPanel.css +1 -1
- package/front_end/panels/elements/elementsTreeOutline.css +1 -1
- package/front_end/panels/elements/layoutPane.css +1 -1
- package/front_end/panels/elements/platformFontsWidget.css +1 -1
- package/front_end/panels/elements/stylesSectionTree.css +1 -1
- package/front_end/panels/elements/stylesSidebarPane.css +8 -0
- package/front_end/panels/event_listeners/EventListenersView.ts +5 -4
- package/front_end/panels/event_listeners/eventListenersView.css +3 -2
- package/front_end/panels/help/ReleaseNoteText.ts +28 -0
- package/front_end/panels/issues/IssueKindView.ts +0 -6
- package/front_end/panels/issues/IssueView.ts +19 -27
- package/front_end/panels/issues/components/HideIssuesMenu.ts +7 -11
- package/front_end/panels/issues/components/hideIssuesMenu.css +8 -0
- package/front_end/panels/issues/issuesTree.css +28 -5
- package/front_end/panels/lighthouse/lighthouseStartView.css +2 -2
- package/front_end/panels/media/playerListView.css +1 -1
- package/front_end/panels/mobile_throttling/throttlingSettingsTab.css +1 -1
- package/front_end/panels/network/NetworkSearchScope.ts +3 -1
- package/front_end/panels/network/blockedURLsPane.css +1 -1
- package/front_end/panels/network/networkConfigView.css +1 -1
- package/front_end/panels/network/networkLogView.css +3 -3
- package/front_end/panels/profiler/profileLauncherView.css +3 -3
- package/front_end/panels/protocol_monitor/protocol_monitor-meta.ts +0 -2
- package/front_end/panels/security/mainView.css +2 -2
- package/front_end/panels/security/originView.css +1 -1
- package/front_end/panels/sensors/sensors.css +2 -2
- package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +1 -1
- package/front_end/panels/settings/emulation/devicesSettingsTab.css +4 -4
- package/front_end/panels/settings/frameworkIgnoreListSettingsTab.css +1 -1
- package/front_end/panels/settings/settingsScreen.css +2 -2
- package/front_end/panels/sources/CoveragePlugin.ts +7 -2
- package/front_end/panels/sources/JavaScriptBreakpointsSidebarPane.ts +14 -17
- package/front_end/panels/sources/callStackSidebarPane.css +1 -1
- package/front_end/panels/sources/dialog.css +1 -1
- package/front_end/panels/sources/javaScriptBreakpointsSidebarPane.css +19 -45
- package/front_end/panels/sources/navigatorTree.css +4 -4
- package/front_end/panels/sources/sources-meta.ts +0 -2
- package/front_end/panels/sources/sourcesPanel.css +2 -2
- package/front_end/panels/sources/threadsSidebarPane.css +1 -1
- package/front_end/panels/timeline/components/WebVitalsTooltip.css +1 -1
- package/front_end/panels/timeline/historyToolbarButton.css +1 -1
- package/front_end/panels/timeline/timelineStatusDialog.css +1 -1
- package/front_end/panels/webauthn/webauthnPane.css +2 -2
- package/front_end/third_party/puppeteer/package/CHANGELOG.md +29 -0
- package/front_end/third_party/puppeteer/package/README.md +12 -14
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.js +13 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.d.ts +10 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.js +25 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Coverage.js +6 -6
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Coverage.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.d.ts +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.js +16 -12
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Dialog.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Dialog.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.d.ts +10 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.js +9 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EventEmitter.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EventEmitter.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ExecutionContext.js +8 -8
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ExecutionContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FileChooser.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FileChooser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.d.ts +21 -9
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js +155 -72
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js +32 -29
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.js +14 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.d.ts +2 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.js +3 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js +13 -12
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.js +2 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.d.ts +33 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.js +92 -46
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Puppeteer.js +5 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Puppeteer.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.d.ts +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.js +3 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TaskQueue.d.ts +21 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TaskQueue.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TaskQueue.js +30 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TaskQueue.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Tracing.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Tracing.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.js +5 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js +14 -14
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js +11 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.d.ts +4 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js +30 -15
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/install.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/install.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node-puppeteer-core.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node-puppeteer-core.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/web.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/web.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js +9 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts +10 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.js +22 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.js +6 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts +10 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js +7 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts +21 -9
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js +150 -68
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js +22 -19
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.js +15 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts +2 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.js +2 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js +2 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js +1 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts +33 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js +69 -23
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.js +3 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TaskQueue.d.ts +21 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TaskQueue.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TaskQueue.js +26 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TaskQueue.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js +7 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts +4 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js +27 -12
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +3862 -3771
- package/front_end/third_party/puppeteer/package/package.json +33 -40
- package/front_end/ui/components/adorners/adorner.css +1 -1
- package/front_end/ui/components/expandable_list/expandableList.css +1 -1
- package/front_end/ui/components/icon_button/iconButton.css +1 -0
- package/front_end/ui/components/linear_memory_inspector/valueInterpreterDisplay.css +1 -2
- package/front_end/ui/components/linear_memory_inspector/valueInterpreterSettings.css +1 -1
- package/front_end/ui/components/report_view/reportKey.css +1 -1
- package/front_end/ui/components/report_view/reportValue.css +1 -1
- package/front_end/ui/components/settings/settingCheckbox.css +5 -0
- package/front_end/ui/legacy/ContextMenu.ts +10 -3
- package/front_end/ui/legacy/SoftContextMenu.ts +9 -2
- package/front_end/ui/legacy/XLink.ts +3 -6
- package/front_end/ui/legacy/checkboxTextLabel.css +5 -1
- package/front_end/ui/legacy/components/color_picker/spectrum.css +9 -9
- package/front_end/ui/legacy/components/data_grid/dataGrid.css +2 -2
- package/front_end/ui/legacy/components/inline_editor/cssAngleEditor.css +3 -3
- package/front_end/ui/legacy/components/inline_editor/cssLength.css +1 -1
- package/front_end/ui/legacy/components/inline_editor/cssShadowEditor.css +1 -1
- package/front_end/ui/legacy/components/inline_editor/fontEditor.css +1 -1
- package/front_end/ui/legacy/components/object_ui/objectPropertiesSection.css +2 -2
- package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +13 -7
- package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +2 -2
- package/front_end/ui/legacy/components/source_frame/imageView.css +1 -1
- package/front_end/ui/legacy/components/text_editor/cmdevtools.css +6 -14
- package/front_end/ui/legacy/emptyWidget.css +1 -1
- package/front_end/ui/legacy/filter.css +1 -1
- package/front_end/ui/legacy/infobar.css +2 -2
- package/front_end/ui/legacy/inspectorCommon.css +49 -45
- package/front_end/ui/legacy/inspectorSyntaxHighlight.css +4 -4
- package/front_end/ui/legacy/inspectorSyntaxHighlightDark.css +1 -1
- package/front_end/ui/legacy/inspectorViewTabbedPane.css +1 -1
- package/front_end/ui/legacy/searchableView.css +1 -1
- package/front_end/ui/legacy/softContextMenu.css +11 -1
- package/front_end/ui/legacy/tabbedPane.css +5 -0
- package/front_end/ui/legacy/textPrompt.css +1 -1
- package/front_end/ui/legacy/themeColors.css +1 -0
- package/front_end/ui/legacy/toolbar.css +8 -8
- package/front_end/ui/legacy/treeoutline.css +20 -4
- package/front_end/ui/legacy/viewContainers.css +6 -1
- package/inspector_overlay/common.css +2 -2
- package/inspector_overlay/tool_highlight.css +1 -1
- package/inspector_overlay/tool_paused.css +2 -2
- package/package.json +1 -1
- package/scripts/eslint_rules/lib/check_test_definitions.js +2 -1
- package/scripts/eslint_rules/lib/es_modules_import.js +21 -20
- package/scripts/eslint_rules/lib/l10n_filename_matches.js +4 -3
- package/scripts/eslint_rules/lib/migrate_create_shadow_root_with_styles.js +2 -2
- package/scripts/eslint_rules/lib/migrate_register_required_css.js +1 -1
- package/scripts/eslint_rules/tests/check_test_definitions_test.js +34 -0
- package/scripts/eslint_rules/tests/es_modules_import_test.js +3 -2
- package/scripts/eslint_rules/tests/migrate_create_shadow_root_with_styles_test.js +1 -1
- package/scripts/eslint_rules/tests/migrate_register_required_css_test.js +1 -1
- package/front_end/panels/browser_debugger/module.json +0 -6
- package/front_end/panels/elements/module.json +0 -5
- package/front_end/panels/protocol_monitor/module.json +0 -5
- package/front_end/panels/sources/module.json +0 -5
|
@@ -11,12 +11,9 @@ import * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
|
11
11
|
import * as DataGrid from '../../ui/legacy/components/data_grid/data_grid.js';
|
|
12
12
|
import * as Components from '../../ui/legacy/components/utils/utils.js';
|
|
13
13
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
14
|
-
|
|
15
|
-
import cssOverviewCompletedViewStyles from './cssOverviewCompletedView.css.js';
|
|
16
|
-
|
|
17
|
-
import type * as ProtocolProxyApi from '../../generated/protocol-proxy-api.js';
|
|
18
14
|
import type * as Protocol from '../../generated/protocol.js';
|
|
19
15
|
|
|
16
|
+
import cssOverviewCompletedViewStyles from './cssOverviewCompletedView.css.js';
|
|
20
17
|
import type {OverviewController, PopulateNodesEvent, PopulateNodesEventNodes, PopulateNodesEventNodeTypes} from './CSSOverviewController.js';
|
|
21
18
|
import {Events as CSSOverViewControllerEvents} from './CSSOverviewController.js';
|
|
22
19
|
import {CSSOverviewSidebarPanel, SidebarEvents} from './CSSOverviewSidebarPanel.js';
|
|
@@ -227,15 +224,14 @@ export class CSSOverviewCompletedView extends UI.Panel.PanelWithSidebar {
|
|
|
227
224
|
readonly #resultsContainer: UI.Widget.VBox;
|
|
228
225
|
readonly #elementContainer: DetailsView;
|
|
229
226
|
readonly #sideBar: CSSOverviewSidebarPanel;
|
|
230
|
-
#cssModel
|
|
231
|
-
#domModel
|
|
232
|
-
readonly #domAgent: ProtocolProxyApi.DOMApi;
|
|
227
|
+
#cssModel?: SDK.CSSModel.CSSModel;
|
|
228
|
+
#domModel?: SDK.DOMModel.DOMModel;
|
|
233
229
|
#linkifier: Components.Linkifier.Linkifier;
|
|
234
230
|
#viewMap: Map<string, ElementDetailsView>;
|
|
235
231
|
#data: OverviewData|null;
|
|
236
232
|
#fragment?: UI.Fragment.Fragment;
|
|
237
233
|
|
|
238
|
-
constructor(controller: OverviewController
|
|
234
|
+
constructor(controller: OverviewController) {
|
|
239
235
|
super('css_overview_completed_view');
|
|
240
236
|
|
|
241
237
|
this.#controller = controller;
|
|
@@ -264,14 +260,6 @@ export class CSSOverviewCompletedView extends UI.Panel.PanelWithSidebar {
|
|
|
264
260
|
this.splitWidget().setSidebarWidget(this.#sideBar);
|
|
265
261
|
this.splitWidget().setMainWidget(this.#mainContainer);
|
|
266
262
|
|
|
267
|
-
const cssModel = target.model(SDK.CSSModel.CSSModel);
|
|
268
|
-
const domModel = target.model(SDK.DOMModel.DOMModel);
|
|
269
|
-
if (!cssModel || !domModel) {
|
|
270
|
-
throw new Error('Target must provide CSS and DOM models');
|
|
271
|
-
}
|
|
272
|
-
this.#cssModel = cssModel;
|
|
273
|
-
this.#domModel = domModel;
|
|
274
|
-
this.#domAgent = target.domAgent();
|
|
275
263
|
this.#linkifier = new Components.Linkifier.Linkifier(/* maxLinkLength */ 20, /* useLinkDecorator */ true);
|
|
276
264
|
|
|
277
265
|
this.#viewMap = new Map();
|
|
@@ -300,6 +288,16 @@ export class CSSOverviewCompletedView extends UI.Panel.PanelWithSidebar {
|
|
|
300
288
|
// TODO(paullewis): update the links in the panels in case source has been .
|
|
301
289
|
}
|
|
302
290
|
|
|
291
|
+
initializeModels(target: SDK.Target.Target): void {
|
|
292
|
+
const cssModel = target.model(SDK.CSSModel.CSSModel);
|
|
293
|
+
const domModel = target.model(SDK.DOMModel.DOMModel);
|
|
294
|
+
if (!cssModel || !domModel) {
|
|
295
|
+
throw new Error('Target must provide CSS and DOM models');
|
|
296
|
+
}
|
|
297
|
+
this.#cssModel = cssModel;
|
|
298
|
+
this.#domModel = domModel;
|
|
299
|
+
}
|
|
300
|
+
|
|
303
301
|
private sideBarItemSelected(event: Common.EventTarget.EventTargetEvent<string>): void {
|
|
304
302
|
const {data} = event;
|
|
305
303
|
const section = (this.#fragment as UI.Fragment.Fragment).$(data);
|
|
@@ -650,6 +648,9 @@ export class CSSOverviewCompletedView extends UI.Panel.PanelWithSidebar {
|
|
|
650
648
|
|
|
651
649
|
let view = this.#viewMap.get(id);
|
|
652
650
|
if (!view) {
|
|
651
|
+
if (!this.#domModel || !this.#cssModel) {
|
|
652
|
+
throw new Error('Unable to initialize CSS Overview, missing models');
|
|
653
|
+
}
|
|
653
654
|
view = new ElementDetailsView(this.#controller, this.#domModel, this.#cssModel, this.#linkifier);
|
|
654
655
|
view.populateNodes(payload.nodes);
|
|
655
656
|
this.#viewMap.set(id, view);
|
|
@@ -970,7 +971,7 @@ export class ElementDetailsView extends UI.Widget.Widget {
|
|
|
970
971
|
this.#elementGrid.setStriped(true);
|
|
971
972
|
this.#elementGrid.addEventListener(DataGrid.DataGrid.Events.SortingChanged, this.sortMediaQueryDataGrid.bind(this));
|
|
972
973
|
|
|
973
|
-
this.
|
|
974
|
+
this.#elementGrid.asWidget().show(this.element);
|
|
974
975
|
}
|
|
975
976
|
|
|
976
977
|
private sortMediaQueryDataGrid(): void {
|
|
@@ -21,12 +21,13 @@ import type {UnusedDeclaration} from './CSSOverviewUnusedDeclarations.js';
|
|
|
21
21
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
22
22
|
let CSSOverviewPanelInstance: CSSOverviewPanel;
|
|
23
23
|
|
|
24
|
-
export class CSSOverviewPanel extends UI.Panel.Panel {
|
|
25
|
-
readonly #model: CSSOverviewModel;
|
|
24
|
+
export class CSSOverviewPanel extends UI.Panel.Panel implements SDK.TargetManager.Observer {
|
|
26
25
|
readonly #controller: OverviewController;
|
|
27
26
|
readonly #startView: CSSOverviewComponents.CSSOverviewStartView.CSSOverviewStartView;
|
|
28
27
|
readonly #processingView: CSSOverviewProcessingView;
|
|
29
28
|
readonly #completedView: CSSOverviewCompletedView;
|
|
29
|
+
#model?: CSSOverviewModel;
|
|
30
|
+
#target?: SDK.Target.Target;
|
|
30
31
|
#backgroundColors!: Map<string, Set<Protocol.DOM.BackendNodeId>>;
|
|
31
32
|
#textColors!: Map<string, Set<Protocol.DOM.BackendNodeId>>;
|
|
32
33
|
#fillColors!: Map<string, Set<Protocol.DOM.BackendNodeId>>;
|
|
@@ -44,15 +45,14 @@ export class CSSOverviewPanel extends UI.Panel.Panel {
|
|
|
44
45
|
|
|
45
46
|
this.element.classList.add('css-overview-panel');
|
|
46
47
|
|
|
47
|
-
const [model] = SDK.TargetManager.TargetManager.instance().models(CSSOverviewModel);
|
|
48
|
-
this.#model = (model as CSSOverviewModel);
|
|
49
|
-
|
|
50
48
|
this.#controller = new OverviewController();
|
|
51
49
|
this.#startView = new CSSOverviewComponents.CSSOverviewStartView.CSSOverviewStartView();
|
|
52
50
|
this.#startView.addEventListener(
|
|
53
51
|
'overviewstartrequested', () => this.#controller.dispatchEventToListeners(Events.RequestOverviewStart));
|
|
54
52
|
this.#processingView = new CSSOverviewProcessingView(this.#controller);
|
|
55
|
-
this.#completedView = new CSSOverviewCompletedView(this.#controller
|
|
53
|
+
this.#completedView = new CSSOverviewCompletedView(this.#controller);
|
|
54
|
+
|
|
55
|
+
SDK.TargetManager.TargetManager.instance().observeTargets(this);
|
|
56
56
|
|
|
57
57
|
this.#controller.addEventListener(Events.RequestOverviewStart, _event => {
|
|
58
58
|
Host.userMetrics.actionTaken(Host.UserMetrics.Action.CaptureCssOverviewClicked);
|
|
@@ -73,6 +73,26 @@ export class CSSOverviewPanel extends UI.Panel.Panel {
|
|
|
73
73
|
return CSSOverviewPanelInstance;
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
+
targetAdded(target: SDK.Target.Target): void {
|
|
77
|
+
if (this.#target) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
this.#target = target;
|
|
81
|
+
this.#completedView.initializeModels(target);
|
|
82
|
+
const [model] = SDK.TargetManager.TargetManager.instance().models(CSSOverviewModel);
|
|
83
|
+
this.#model = (model as CSSOverviewModel);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
targetRemoved(): void {
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
private getModel(): CSSOverviewModel {
|
|
90
|
+
if (!this.#model) {
|
|
91
|
+
throw new Error('Did not retrieve model information yet.');
|
|
92
|
+
}
|
|
93
|
+
return this.#model;
|
|
94
|
+
}
|
|
95
|
+
|
|
76
96
|
private reset(): void {
|
|
77
97
|
this.#backgroundColors = new Map();
|
|
78
98
|
this.#textColors = new Map();
|
|
@@ -104,7 +124,7 @@ export class CSSOverviewPanel extends UI.Panel.Panel {
|
|
|
104
124
|
}
|
|
105
125
|
|
|
106
126
|
private requestNodeHighlight(evt: Common.EventTarget.EventTargetEvent<number>): void {
|
|
107
|
-
this
|
|
127
|
+
this.getModel().highlightNode((evt.data as Protocol.DOM.BackendNodeId));
|
|
108
128
|
}
|
|
109
129
|
|
|
110
130
|
private renderInitialView(): void {
|
|
@@ -144,10 +164,11 @@ export class CSSOverviewPanel extends UI.Panel.Panel {
|
|
|
144
164
|
private async startOverview(): Promise<void> {
|
|
145
165
|
this.renderOverviewStartedView();
|
|
146
166
|
|
|
167
|
+
const model = this.getModel();
|
|
147
168
|
const [globalStyleStats, { elementCount, backgroundColors, textColors, textColorContrastIssues, fillColors, borderColors, fontInfo, unusedDeclarations }, mediaQueries] = await Promise.all([
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
169
|
+
model.getGlobalStylesheetStats(),
|
|
170
|
+
model.getNodeStyleStats(),
|
|
171
|
+
model.getMediaQueries(),
|
|
151
172
|
]);
|
|
152
173
|
|
|
153
174
|
if (elementCount) {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
|
|
29
29
|
.overview-completed-view .colors ul li {
|
|
30
30
|
display: inline-block;
|
|
31
|
-
margin: 0 0 16px
|
|
31
|
+
margin: 0 0 16px;
|
|
32
32
|
padding: 0 8px 0 0;
|
|
33
33
|
}
|
|
34
34
|
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
font-size: 15px;
|
|
112
112
|
font-weight: normal;
|
|
113
113
|
padding: 0;
|
|
114
|
-
margin: 0 0 20px
|
|
114
|
+
margin: 0 0 20px;
|
|
115
115
|
padding-left: calc(var(--overview-default-padding) + var(--overview-icon-padding));
|
|
116
116
|
position: relative;
|
|
117
117
|
height: 26px;
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
.results-section h1::before {
|
|
122
|
-
content:
|
|
122
|
+
content: "";
|
|
123
123
|
display: block;
|
|
124
124
|
position: absolute;
|
|
125
125
|
left: var(--overview-default-padding);
|
|
@@ -264,14 +264,14 @@
|
|
|
264
264
|
.overview-completed-view .font-info h2 {
|
|
265
265
|
font-size: 14px;
|
|
266
266
|
font-weight: bold;
|
|
267
|
-
margin: 0 0 1em
|
|
267
|
+
margin: 0 0 1em;
|
|
268
268
|
}
|
|
269
269
|
|
|
270
270
|
.overview-completed-view .font-info h3 {
|
|
271
271
|
font-size: 13px;
|
|
272
272
|
font-weight: normal;
|
|
273
273
|
font-style: italic;
|
|
274
|
-
margin: 0 0 0.5em
|
|
274
|
+
margin: 0 0 0.5em;
|
|
275
275
|
}
|
|
276
276
|
|
|
277
277
|
.overview-completed-view .font-info {
|
|
@@ -300,7 +300,7 @@
|
|
|
300
300
|
width: 30px;
|
|
301
301
|
}
|
|
302
302
|
|
|
303
|
-
.contrast-warning [is=ui-icon] {
|
|
303
|
+
.contrast-warning [is="ui-icon"] {
|
|
304
304
|
margin-left: 5px;
|
|
305
305
|
}
|
|
306
306
|
|
|
@@ -318,11 +318,11 @@
|
|
|
318
318
|
min-width: initial;
|
|
319
319
|
}
|
|
320
320
|
|
|
321
|
-
[is=ui-icon].smallicon-checkmark-square {
|
|
321
|
+
[is="ui-icon"].smallicon-checkmark-square {
|
|
322
322
|
background-color: var(--color-green);
|
|
323
323
|
}
|
|
324
324
|
|
|
325
|
-
[is=ui-icon].smallicon-no {
|
|
325
|
+
[is="ui-icon"].smallicon-no {
|
|
326
326
|
background-color: var(--color-red);
|
|
327
327
|
}
|
|
328
328
|
|
|
@@ -140,8 +140,6 @@ let loadedElementsModule: (typeof Elements|undefined);
|
|
|
140
140
|
|
|
141
141
|
async function loadElementsModule(): Promise<typeof Elements> {
|
|
142
142
|
if (!loadedElementsModule) {
|
|
143
|
-
// Side-effect import resources in module.json
|
|
144
|
-
await Root.Runtime.Runtime.instance().loadModulePromise('panels/elements');
|
|
145
143
|
loadedElementsModule = await import('./elements.js');
|
|
146
144
|
}
|
|
147
145
|
return loadedElementsModule;
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
}
|
|
161
161
|
/* We set dimensions for the invisible input to support quick highlight a11y feature
|
|
162
162
|
that uses the dimensions to draw an outline around the element. */
|
|
163
|
-
.color-picker-label input[type=color] {
|
|
163
|
+
.color-picker-label input[type="color"] {
|
|
164
164
|
width: 100%;
|
|
165
165
|
height: 100%;
|
|
166
166
|
position: absolute;
|
|
@@ -260,6 +260,10 @@
|
|
|
260
260
|
text-decoration-color: linktext;
|
|
261
261
|
}
|
|
262
262
|
|
|
263
|
+
.styles-section .styles-section-subtitle .devtools-link:focus-visible {
|
|
264
|
+
color: HighlightText;
|
|
265
|
+
}
|
|
266
|
+
|
|
263
267
|
.styles-section:focus-visible *,
|
|
264
268
|
.styles-section.read-only:focus-visible *,
|
|
265
269
|
.styles-section:focus-visible .styles-section-subtitle .devtools-link {
|
|
@@ -276,6 +280,10 @@
|
|
|
276
280
|
.styles-section:focus-visible .sidebar-pane-section-toolbar {
|
|
277
281
|
background-color: ButtonFace;
|
|
278
282
|
}
|
|
283
|
+
|
|
284
|
+
.styles-section:focus-visible {
|
|
285
|
+
--webkit-css-property-color: HighlightText;
|
|
286
|
+
}
|
|
279
287
|
}
|
|
280
288
|
|
|
281
289
|
.spinner::before {
|
|
@@ -301,10 +301,6 @@ export class ObjectEventListenerBar extends UI.TreeOutline.TreeElement {
|
|
|
301
301
|
|
|
302
302
|
private setTitle(object: SDK.RemoteObject.RemoteObject, linkifier: Components.Linkifier.Linkifier): void {
|
|
303
303
|
const title = this.listItemElement.createChild('span', 'event-listener-details');
|
|
304
|
-
const subtitle = this.listItemElement.createChild('span', 'event-listener-tree-subtitle');
|
|
305
|
-
const linkElement =
|
|
306
|
-
linkifier.linkifyRawLocation(this.eventListenerInternal.location(), this.eventListenerInternal.sourceURL());
|
|
307
|
-
subtitle.appendChild(linkElement);
|
|
308
304
|
|
|
309
305
|
const propertyValue = ObjectUI.ObjectPropertiesSection.ObjectPropertiesSection.createPropertyValue(
|
|
310
306
|
object, /* wasThrown */ false, /* showPreview */ false);
|
|
@@ -333,6 +329,11 @@ export class ObjectEventListenerBar extends UI.TreeOutline.TreeElement {
|
|
|
333
329
|
title.appendChild(passiveButton);
|
|
334
330
|
}
|
|
335
331
|
|
|
332
|
+
const subtitle = title.createChild('span', 'event-listener-tree-subtitle');
|
|
333
|
+
const linkElement =
|
|
334
|
+
linkifier.linkifyRawLocation(this.eventListenerInternal.location(), this.eventListenerInternal.sourceURL());
|
|
335
|
+
subtitle.appendChild(linkElement);
|
|
336
|
+
|
|
336
337
|
this.listItemElement.addEventListener('contextmenu', event => {
|
|
337
338
|
const menu = new UI.ContextMenu.ContextMenu(event);
|
|
338
339
|
if (event.target !== linkElement) {
|
|
@@ -33,7 +33,8 @@
|
|
|
33
33
|
color: var(--color-syntax-2);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
.tree-outline-disclosure .object-value-node
|
|
36
|
+
.tree-outline-disclosure .object-value-node,
|
|
37
|
+
.tree-outline-disclosure .object-value-object {
|
|
37
38
|
overflow: hidden;
|
|
38
39
|
text-overflow: ellipsis;
|
|
39
40
|
}
|
|
@@ -53,7 +54,7 @@
|
|
|
53
54
|
background-color: var(--color-background-elevation-1);
|
|
54
55
|
border-radius: 3px;
|
|
55
56
|
border: 1px solid var(--color-details-hairline);
|
|
56
|
-
margin-left:
|
|
57
|
+
margin-left: 5px;
|
|
57
58
|
display: block;
|
|
58
59
|
cursor: pointer;
|
|
59
60
|
opacity: 80%;
|
|
@@ -35,6 +35,34 @@ function getLocalizedReleaseNoteURL(url: string): string {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
export const releaseNoteText: ReleaseNote[] = [
|
|
38
|
+
{
|
|
39
|
+
version: 39,
|
|
40
|
+
header: 'Highlights from the Chrome 97 update',
|
|
41
|
+
highlights: [
|
|
42
|
+
{
|
|
43
|
+
title: 'New preview feature: Recorder panel',
|
|
44
|
+
subtitle: 'Record, replay and measure user flows with options to export to Puppeteer script and more.',
|
|
45
|
+
link: getLocalizedReleaseNoteURL('https://developer.chrome.com/blog/new-in-devtools-97/#recorder'),
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
title: 'Enhanced "Edit as HTML" with code completion',
|
|
49
|
+
subtitle: 'Edit as HTML in the Elements panel now supports code completion, syntax highlights and more.',
|
|
50
|
+
link: getLocalizedReleaseNoteURL('https://developer.chrome.com/blog/new-in-devtools-97/#code-completion'),
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
title: 'Refresh device list in Device Mode',
|
|
54
|
+
subtitle: 'New devices are added in the device list.',
|
|
55
|
+
link: getLocalizedReleaseNoteURL('https://developer.chrome.com/blog/new-in-devtools-97/#device'),
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
title: 'Improved code debugging experience',
|
|
59
|
+
subtitle:
|
|
60
|
+
'Include column number in the Console stack trace, improved breakpoints display in the Sources panel and more.',
|
|
61
|
+
link: getLocalizedReleaseNoteURL('https://developer.chrome.com/blog/new-in-devtools-97/#debugging'),
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
link: getLocalizedReleaseNoteURL('https://developer.chrome.com/blog/new-in-devtools-97'),
|
|
65
|
+
},
|
|
38
66
|
{
|
|
39
67
|
version: 38,
|
|
40
68
|
header: 'Highlights from the Chrome 96 update',
|
|
@@ -110,12 +110,6 @@ export class IssueKindView extends UI.TreeOutline.TreeElement {
|
|
|
110
110
|
header.appendChild(countAdorner);
|
|
111
111
|
header.appendChild(title);
|
|
112
112
|
header.appendChild(hideAvailableIssuesBtn);
|
|
113
|
-
header.addEventListener('mouseenter', () => {
|
|
114
|
-
hideAvailableIssuesBtn.setVisible(true);
|
|
115
|
-
});
|
|
116
|
-
header.addEventListener('mouseleave', () => {
|
|
117
|
-
hideAvailableIssuesBtn.setVisible(false);
|
|
118
|
-
});
|
|
119
113
|
|
|
120
114
|
this.listItemElement.appendChild(header);
|
|
121
115
|
}
|
|
@@ -222,7 +222,7 @@ export class IssueView extends UI.TreeOutline.TreeElement {
|
|
|
222
222
|
private hasBeenExpandedBefore: boolean;
|
|
223
223
|
private throttle: Common.Throttler.Throttler;
|
|
224
224
|
private needsUpdateOnExpand = true;
|
|
225
|
-
private hiddenIssuesMenu
|
|
225
|
+
private hiddenIssuesMenu?: Components.HideIssuesMenu.HideIssuesMenu;
|
|
226
226
|
private contentCreated: boolean = false;
|
|
227
227
|
|
|
228
228
|
constructor(issue: AggregatedIssue, description: IssuesManager.MarkdownIssueDescription.IssueDescription) {
|
|
@@ -256,8 +256,9 @@ export class IssueView extends UI.TreeOutline.TreeElement {
|
|
|
256
256
|
new WasmCrossOriginModuleSharingAffectedResourcesView(this, this.issue),
|
|
257
257
|
new AffectedRawCookieLinesView(this, this.issue),
|
|
258
258
|
];
|
|
259
|
-
|
|
260
|
-
|
|
259
|
+
if (Root.Runtime.experiments.isEnabled('hideIssuesFeature')) {
|
|
260
|
+
this.hiddenIssuesMenu = new Components.HideIssuesMenu.HideIssuesMenu();
|
|
261
|
+
}
|
|
261
262
|
this.aggregatedIssuesCount = null;
|
|
262
263
|
this.hasBeenExpandedBefore = false;
|
|
263
264
|
}
|
|
@@ -318,10 +319,6 @@ export class IssueView extends UI.TreeOutline.TreeElement {
|
|
|
318
319
|
|
|
319
320
|
private appendHeader(): void {
|
|
320
321
|
const header = document.createElement('div');
|
|
321
|
-
if (Root.Runtime.experiments.isEnabled('hideIssuesFeature')) {
|
|
322
|
-
header.addEventListener('mouseenter', this.showHiddenIssuesMenu.bind(this));
|
|
323
|
-
header.addEventListener('mouseleave', this.hideHiddenIssuesMenu.bind(this));
|
|
324
|
-
}
|
|
325
322
|
header.classList.add('header');
|
|
326
323
|
this.issueKindIcon = new IconButton.Icon.Icon();
|
|
327
324
|
this.issueKindIcon.classList.add('leading-issue-icon');
|
|
@@ -339,19 +336,12 @@ export class IssueView extends UI.TreeOutline.TreeElement {
|
|
|
339
336
|
title.classList.add('title');
|
|
340
337
|
title.textContent = this.description.title;
|
|
341
338
|
header.appendChild(title);
|
|
342
|
-
if (
|
|
339
|
+
if (this.hiddenIssuesMenu) {
|
|
343
340
|
header.appendChild(this.hiddenIssuesMenu);
|
|
344
341
|
}
|
|
345
342
|
this.updateFromIssue();
|
|
346
343
|
this.listItemElement.appendChild(header);
|
|
347
344
|
}
|
|
348
|
-
private showHiddenIssuesMenu(): void {
|
|
349
|
-
this.hiddenIssuesMenu?.setVisible(true);
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
private hideHiddenIssuesMenu(): void {
|
|
353
|
-
this.hiddenIssuesMenu?.setVisible(false);
|
|
354
|
-
}
|
|
355
345
|
|
|
356
346
|
onexpand(): void {
|
|
357
347
|
Host.userMetrics.issuesPanelIssueExpanded(this.issue.getCategory());
|
|
@@ -378,18 +368,20 @@ export class IssueView extends UI.TreeOutline.TreeElement {
|
|
|
378
368
|
this.aggregatedIssuesCount.textContent = `${this.issue.getAggregatedIssuesCount()}`;
|
|
379
369
|
}
|
|
380
370
|
this.listItemElement.classList.toggle('hidden-issue', this.issue.isHidden());
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
371
|
+
if (this.hiddenIssuesMenu) {
|
|
372
|
+
const data: HiddenIssuesMenuData = {
|
|
373
|
+
menuItemLabel: this.issue.isHidden() ? i18nString(UIStrings.unhideIssuesLikeThis) :
|
|
374
|
+
i18nString(UIStrings.hideIssuesLikeThis),
|
|
375
|
+
menuItemAction: () => {
|
|
376
|
+
const setting = IssuesManager.IssuesManager.getHideIssueByCodeSetting();
|
|
377
|
+
const values = setting.get();
|
|
378
|
+
values[this.issue.code()] = this.issue.isHidden() ? IssuesManager.IssuesManager.IssueStatus.Unhidden :
|
|
379
|
+
IssuesManager.IssuesManager.IssueStatus.Hidden;
|
|
380
|
+
setting.set(values);
|
|
381
|
+
},
|
|
382
|
+
};
|
|
383
|
+
this.hiddenIssuesMenu.data = data;
|
|
384
|
+
}
|
|
393
385
|
}
|
|
394
386
|
|
|
395
387
|
updateAffectedResourceVisibility(): void {
|
|
@@ -30,7 +30,6 @@ export interface HiddenIssuesMenuData {
|
|
|
30
30
|
export class HideIssuesMenu extends HTMLElement {
|
|
31
31
|
static readonly litTagName = LitHtml.literal`devtools-hide-issues-menu`;
|
|
32
32
|
private readonly shadow: ShadowRoot = this.attachShadow({mode: 'open'});
|
|
33
|
-
private visible: boolean = false;
|
|
34
33
|
private menuItemLabel: Common.UIString.LocalizedString = Common.UIString.LocalizedEmptyString;
|
|
35
34
|
private menuItemAction: () => void = () => {};
|
|
36
35
|
|
|
@@ -44,23 +43,20 @@ export class HideIssuesMenu extends HTMLElement {
|
|
|
44
43
|
this.shadow.adoptedStyleSheets = [hideIssuesMenuStyles];
|
|
45
44
|
}
|
|
46
45
|
|
|
47
|
-
setVisible(x: boolean): void {
|
|
48
|
-
if (this.visible === x) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
this.visible = x;
|
|
52
|
-
this.render();
|
|
53
|
-
}
|
|
54
|
-
|
|
55
46
|
onMenuOpen(event: Event): void {
|
|
56
47
|
event.stopPropagation();
|
|
57
|
-
const contextMenu = new UI.ContextMenu.ContextMenu(event, {
|
|
48
|
+
const contextMenu = new UI.ContextMenu.ContextMenu(event, {
|
|
49
|
+
useSoftMenu: true,
|
|
50
|
+
onSoftMenuClosed: (): void => {
|
|
51
|
+
this.classList.toggle('has-context-menu-opened', false);
|
|
52
|
+
},
|
|
53
|
+
});
|
|
58
54
|
contextMenu.headerSection().appendItem(this.menuItemLabel, () => this.menuItemAction());
|
|
59
55
|
contextMenu.show();
|
|
56
|
+
this.classList.toggle('has-context-menu-opened', true);
|
|
60
57
|
}
|
|
61
58
|
|
|
62
59
|
private render(): void {
|
|
63
|
-
this.classList.toggle('hidden', !this.visible);
|
|
64
60
|
// Disabled until https://crbug.com/1079231 is fixed.
|
|
65
61
|
// clang-format off
|
|
66
62
|
LitHtml.render(LitHtml.html`
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
|
|
52
52
|
.issue-category.hidden-issues.parent.expanded,
|
|
53
53
|
.issue-kind.parent.expanded {
|
|
54
|
-
border-width: 0 0 1px
|
|
54
|
+
border-width: 0 0 1px;
|
|
55
55
|
background-color: var(--color-background-elevation-1);
|
|
56
56
|
}
|
|
57
57
|
|
|
@@ -95,6 +95,18 @@ p {
|
|
|
95
95
|
width: 100%;
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
+
.header devtools-hide-issues-menu {
|
|
99
|
+
display: none;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.header:hover devtools-hide-issues-menu {
|
|
103
|
+
display: block;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.header devtools-hide-issues-menu.has-context-menu-opened {
|
|
107
|
+
display: block;
|
|
108
|
+
}
|
|
109
|
+
|
|
98
110
|
.issue-category .header,
|
|
99
111
|
.issue-kind .header {
|
|
100
112
|
line-height: 24px;
|
|
@@ -131,7 +143,7 @@ p {
|
|
|
131
143
|
|
|
132
144
|
/* Show a colored border on the left side of opened issues. */
|
|
133
145
|
.body::before {
|
|
134
|
-
content:
|
|
146
|
+
content: "";
|
|
135
147
|
display: block;
|
|
136
148
|
position: absolute;
|
|
137
149
|
left: calc(var(--issue-indent) + 23px);
|
|
@@ -181,7 +193,7 @@ devtools-icon.leading-issue-icon {
|
|
|
181
193
|
}
|
|
182
194
|
|
|
183
195
|
.separator::before {
|
|
184
|
-
content:
|
|
196
|
+
content: "·";
|
|
185
197
|
padding-left: 1ex;
|
|
186
198
|
padding-right: 1ex;
|
|
187
199
|
}
|
|
@@ -250,7 +262,7 @@ ul > li.plain-enum::before {
|
|
|
250
262
|
}
|
|
251
263
|
|
|
252
264
|
.affected-resources-label + .affected-resources {
|
|
253
|
-
padding: 3px 0 0
|
|
265
|
+
padding: 3px 0 0;
|
|
254
266
|
position: relative;
|
|
255
267
|
user-select: text;
|
|
256
268
|
}
|
|
@@ -382,7 +394,7 @@ ul > li.plain-enum::before {
|
|
|
382
394
|
|
|
383
395
|
.affected-resources > .parent {
|
|
384
396
|
margin-top: 0;
|
|
385
|
-
padding: 2px 5px 0
|
|
397
|
+
padding: 2px 5px 0;
|
|
386
398
|
}
|
|
387
399
|
|
|
388
400
|
.affected-resources > .parent.expanded {
|
|
@@ -431,3 +443,14 @@ devtools-icon.network-panel {
|
|
|
431
443
|
vertical-align: baseline;
|
|
432
444
|
height: 14px;
|
|
433
445
|
}
|
|
446
|
+
|
|
447
|
+
@media (forced-colors: active) {
|
|
448
|
+
.title {
|
|
449
|
+
color: ButtonText;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
.tree-outline:not(.hide-selection-when-blurred) .selected .header .title,
|
|
453
|
+
.tree-outline.hide-selection-when-blurred .selected:focus-visible .header .title {
|
|
454
|
+
color: HighlightText;
|
|
455
|
+
}
|
|
456
|
+
}
|