chrome-devtools-frontend 1.0.954845 → 1.0.956401
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/.eslintrc.js +1 -0
- package/AUTHORS +1 -0
- package/config/gni/devtools_grd_files.gni +0 -1
- package/config/owner/COMMON_OWNERS +2 -2
- package/front_end/.eslintrc.js +1 -11
- package/front_end/core/common/Console.ts +1 -1
- package/front_end/core/common/ResolverBase.ts +1 -1
- package/front_end/core/common/Throttler.ts +1 -1
- package/front_end/core/common/Worker.ts +4 -4
- package/front_end/core/host/InspectorFrontendHost.ts +1 -1
- package/front_end/core/host/ResourceLoader.ts +2 -2
- package/front_end/core/i18n/DevToolsLocale.ts +0 -2
- package/front_end/core/i18n/i18nImpl.ts +0 -2
- package/front_end/core/i18n/locales/en-US.json +3 -3
- package/front_end/core/i18n/locales/en-XL.json +3 -3
- package/front_end/core/sdk/AccessibilityModel.ts +1 -1
- package/front_end/core/sdk/CPUProfilerModel.ts +2 -2
- package/front_end/core/sdk/CPUThrottlingManager.ts +2 -2
- package/front_end/core/sdk/CSSModel.ts +7 -7
- package/front_end/core/sdk/CSSProperty.ts +1 -1
- package/front_end/core/sdk/CSSStyleDeclaration.ts +1 -1
- package/front_end/core/sdk/ChildTargetManager.ts +6 -6
- package/front_end/core/sdk/Connections.ts +2 -2
- package/front_end/core/sdk/ConsoleModel.ts +1 -1
- package/front_end/core/sdk/DOMDebuggerModel.ts +16 -15
- package/front_end/core/sdk/DOMModel.ts +17 -17
- package/front_end/core/sdk/DebuggerModel.ts +24 -24
- package/front_end/core/sdk/EmulationModel.ts +16 -16
- package/front_end/core/sdk/EventBreakpointsModel.ts +2 -2
- package/front_end/core/sdk/IsolateManager.ts +2 -2
- package/front_end/core/sdk/IssuesModel.ts +1 -1
- package/front_end/core/sdk/LogModel.ts +3 -3
- package/front_end/core/sdk/NetworkManager.ts +25 -25
- package/front_end/core/sdk/OverlayModel.ts +23 -23
- package/front_end/core/sdk/PageResourceLoader.ts +1 -1
- package/front_end/core/sdk/PaintProfiler.ts +1 -1
- package/front_end/core/sdk/RemoteObject.ts +2 -2
- package/front_end/core/sdk/Resource.ts +2 -2
- package/front_end/core/sdk/ResourceTreeModel.ts +5 -5
- package/front_end/core/sdk/RuntimeModel.ts +11 -11
- package/front_end/core/sdk/ScreenCaptureModel.ts +3 -3
- package/front_end/core/sdk/ServiceWorkerCacheModel.ts +7 -7
- package/front_end/core/sdk/ServiceWorkerManager.ts +4 -4
- package/front_end/core/sdk/SourceMapManager.ts +1 -1
- package/front_end/core/sdk/TargetManager.ts +2 -2
- package/front_end/core/sdk/TracingManager.ts +1 -1
- package/front_end/entrypoints/formatter_worker/FormatterActions.ts +10 -0
- package/front_end/entrypoints/formatter_worker/FormatterWorker.ts +3 -4
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshotLoader.ts +1 -1
- package/front_end/entrypoints/inspector_main/InspectorMain.ts +4 -4
- package/front_end/entrypoints/inspector_main/RenderingOptions.ts +1 -1
- package/front_end/entrypoints/js_app/js_app.ts +2 -2
- package/front_end/entrypoints/main/MainImpl.ts +31 -23
- package/front_end/entrypoints/main/main-meta.ts +1 -1
- package/front_end/entrypoints/node_app/NodeMain.ts +6 -6
- package/front_end/entrypoints/worker_app/WorkerMain.ts +1 -1
- package/front_end/generated/ARIAProperties.js +1 -1
- package/front_end/generated/InspectorBackendCommands.js +5 -1
- package/front_end/generated/SupportedCSSProperties.js +15 -15
- package/front_end/generated/protocol.d.ts +13 -0
- package/front_end/global_typings/global_defs.d.ts +0 -1
- package/front_end/models/bindings/BreakpointManager.ts +21 -23
- package/front_end/models/bindings/CSSWorkspaceBinding.ts +3 -3
- package/front_end/models/bindings/CompilerScriptMapping.ts +1 -1
- package/front_end/models/bindings/ContentProviderBasedProject.ts +1 -1
- package/front_end/models/bindings/DebuggerLanguagePlugins.ts +2 -2
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +3 -3
- package/front_end/models/bindings/DefaultScriptMapping.ts +1 -1
- package/front_end/models/bindings/FileUtils.ts +5 -5
- package/front_end/models/bindings/IgnoreListManager.ts +4 -4
- package/front_end/models/bindings/LiveLocation.ts +9 -0
- package/front_end/models/bindings/PresentationConsoleMessageHelper.ts +2 -1
- package/front_end/models/bindings/ResourceMapping.ts +1 -1
- package/front_end/models/bindings/ResourceScriptMapping.ts +9 -9
- package/front_end/models/bindings/StylesSourceMapping.ts +3 -3
- package/front_end/models/bindings/TempFile.ts +1 -1
- package/front_end/models/emulation/DeviceModeModel.ts +5 -5
- package/front_end/models/emulation/EmulatedDevices.ts +1 -1
- package/front_end/models/extensions/ExtensionPanel.ts +1 -1
- package/front_end/models/extensions/ExtensionServer.ts +8 -8
- package/front_end/models/formatter/FormatterWorkerPool.ts +2 -12
- package/front_end/models/formatter/ScriptFormatter.ts +3 -3
- package/front_end/models/formatter/SourceFormatter.ts +2 -2
- package/front_end/models/issues_manager/ContrastCheckTrigger.ts +1 -1
- package/front_end/models/issues_manager/DeprecationIssue.ts +7 -7
- package/front_end/models/issues_manager/SourceFrameIssuesManager.ts +3 -3
- package/front_end/models/persistence/Automapping.ts +3 -3
- package/front_end/models/persistence/FileSystemWorkspaceBinding.ts +3 -3
- package/front_end/models/persistence/IsolatedFileSystem.ts +1 -1
- package/front_end/models/persistence/IsolatedFileSystemManager.ts +2 -2
- package/front_end/models/persistence/NetworkPersistenceManager.ts +11 -11
- package/front_end/models/persistence/PersistenceActions.ts +3 -3
- package/front_end/models/persistence/PersistenceImpl.ts +2 -2
- package/front_end/models/persistence/WorkspaceSettingsTab.ts +1 -1
- package/front_end/models/workspace/UISourceCode.ts +2 -2
- package/front_end/models/workspace_diff/WorkspaceDiff.ts +2 -2
- package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +4 -4
- package/front_end/panels/accessibility/AccessibilityNodeView.ts +3 -3
- package/front_end/panels/accessibility/AccessibilitySidebarView.ts +7 -7
- package/front_end/panels/animation/AnimationModel.ts +6 -6
- package/front_end/panels/animation/AnimationTimeline.ts +3 -3
- package/front_end/panels/animation/AnimationUI.ts +3 -3
- package/front_end/panels/application/AppManifestView.ts +4 -4
- package/front_end/panels/application/ApplicationPanelCacheSection.ts +3 -3
- package/front_end/panels/application/ApplicationPanelSidebar.ts +15 -15
- package/front_end/panels/application/BackgroundServiceModel.ts +3 -3
- package/front_end/panels/application/BackgroundServiceView.ts +3 -3
- package/front_end/panels/application/CookieItemsView.ts +5 -5
- package/front_end/panels/application/DOMStorageItemsView.ts +4 -4
- package/front_end/panels/application/DOMStorageModel.ts +4 -4
- package/front_end/panels/application/DatabaseModel.ts +2 -2
- package/front_end/panels/application/DatabaseQueryView.ts +2 -2
- package/front_end/panels/application/DatabaseTableView.ts +1 -1
- package/front_end/panels/application/IndexedDBModel.ts +11 -11
- package/front_end/panels/application/IndexedDBViews.ts +5 -5
- package/front_end/panels/application/OpenedWindowDetailsView.ts +4 -4
- package/front_end/panels/application/ReportingApiView.ts +1 -1
- package/front_end/panels/application/ResourcesPanel.ts +2 -2
- package/front_end/panels/application/ServiceWorkerCacheViews.ts +7 -7
- package/front_end/panels/application/ServiceWorkersView.ts +15 -15
- package/front_end/panels/application/StorageView.ts +5 -5
- package/front_end/panels/application/TrustTokensTreeElement.ts +1 -1
- package/front_end/panels/application/components/BackForwardCacheStrings.ts +5 -1
- package/front_end/panels/application/components/BackForwardCacheView.ts +4 -4
- package/front_end/panels/application/components/FrameDetailsView.ts +3 -3
- package/front_end/panels/application/components/PermissionsPolicySection.ts +2 -2
- package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +1 -1
- package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.ts +8 -7
- package/front_end/panels/browser_debugger/ObjectEventListenersSidebarPane.ts +1 -1
- package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +4 -4
- package/front_end/panels/changes/ChangesView.ts +4 -4
- package/front_end/panels/console/ConsoleContextSelector.ts +1 -1
- package/front_end/panels/console/ConsoleFilter.ts +17 -2
- package/front_end/panels/console/ConsoleFormat.ts +5 -4
- package/front_end/panels/console/ConsolePinPane.ts +4 -4
- package/front_end/panels/console/ConsolePrompt.ts +4 -4
- package/front_end/panels/console/ConsoleView.ts +96 -71
- package/front_end/panels/console/ConsoleViewMessage.ts +61 -19
- package/front_end/panels/console/consoleView.css +36 -0
- package/front_end/panels/console_counters/WarningErrorCounter.ts +2 -2
- package/front_end/panels/coverage/CoverageListView.ts +3 -3
- package/front_end/panels/coverage/CoverageModel.ts +3 -3
- package/front_end/panels/coverage/CoverageView.ts +6 -6
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +3 -3
- package/front_end/panels/css_overview/CSSOverviewModel.ts +2 -2
- package/front_end/panels/css_overview/CSSOverviewPanel.ts +1 -1
- package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +1 -1
- package/front_end/panels/developer_resources/DeveloperResourcesView.ts +1 -1
- package/front_end/panels/elements/AccessibilityTreeView.ts +5 -5
- package/front_end/panels/elements/ClassesPaneWidget.ts +1 -1
- package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +10 -10
- package/front_end/panels/elements/ComputedStyleWidget.ts +2 -2
- package/front_end/panels/elements/DOMLinkifier.ts +2 -2
- package/front_end/panels/elements/ElementsPanel.ts +19 -19
- package/front_end/panels/elements/ElementsSidebarPane.ts +1 -1
- package/front_end/panels/elements/ElementsTreeElement.ts +26 -25
- package/front_end/panels/elements/ElementsTreeElementHighlighter.ts +1 -1
- package/front_end/panels/elements/ElementsTreeOutline.ts +4 -4
- package/front_end/panels/elements/InspectElementModeController.ts +3 -3
- package/front_end/panels/elements/LayoutSidebarPane.ts +2 -2
- package/front_end/panels/elements/MetricsSidebarPane.ts +2 -2
- package/front_end/panels/elements/StylePropertyHighlighter.ts +1 -1
- package/front_end/panels/elements/StylePropertyTreeElement.ts +16 -16
- package/front_end/panels/elements/StylesSidebarPane.ts +15 -15
- package/front_end/panels/elements/components/AccessibilityTreeNode.ts +1 -1
- package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +8 -8
- package/front_end/panels/elements/elementsPanel.css +1 -0
- package/front_end/panels/elements/elementsTreeOutline.css +6 -1
- package/front_end/panels/emulation/AdvancedApp.ts +2 -2
- package/front_end/panels/emulation/DeviceModeToolbar.ts +1 -1
- package/front_end/panels/emulation/DeviceModeView.ts +2 -2
- package/front_end/panels/emulation/DeviceModeWrapper.ts +4 -4
- package/front_end/panels/emulation/MediaQueryInspector.ts +3 -3
- package/front_end/panels/event_listeners/EventListenersView.ts +3 -3
- package/front_end/panels/input/InputModel.ts +2 -2
- package/front_end/panels/input/InputTimeline.ts +6 -6
- package/front_end/panels/issues/AffectedCookiesView.ts +2 -2
- package/front_end/panels/issues/AffectedDirectivesView.ts +1 -1
- package/front_end/panels/issues/AffectedElementsView.ts +1 -1
- package/front_end/panels/issues/AffectedResourcesView.ts +2 -2
- package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +1 -1
- package/front_end/panels/issues/ComboBoxOfCheckBoxes.ts +1 -1
- package/front_end/panels/issues/IssueView.ts +1 -1
- package/front_end/panels/issues/components/HideIssuesMenu.ts +1 -1
- package/front_end/panels/layer_viewer/LayerDetailsView.ts +1 -1
- package/front_end/panels/layer_viewer/LayerViewHost.ts +1 -1
- package/front_end/panels/layer_viewer/Layers3DView.ts +7 -7
- package/front_end/panels/layer_viewer/PaintProfilerView.ts +1 -1
- package/front_end/panels/layers/LayerPaintProfilerView.ts +3 -3
- package/front_end/panels/layers/LayerTreeModel.ts +4 -4
- package/front_end/panels/layers/LayersPanel.ts +4 -4
- package/front_end/panels/lighthouse/LighthouseController.ts +1 -1
- package/front_end/panels/lighthouse/LighthousePanel.ts +5 -5
- package/front_end/panels/lighthouse/LighthouseProtocolService.ts +1 -1
- package/front_end/panels/lighthouse/LighthouseReportRenderer.ts +1 -1
- package/front_end/panels/media/MediaModel.ts +1 -1
- package/front_end/panels/media/PlayerListView.ts +1 -1
- package/front_end/panels/mobile_throttling/NetworkThrottlingSelector.ts +1 -1
- package/front_end/panels/network/BinaryResourceView.ts +1 -1
- package/front_end/panels/network/BlockedURLsPane.ts +5 -5
- package/front_end/panels/network/NetworkDataGridNode.ts +1 -1
- package/front_end/panels/network/NetworkItemView.ts +2 -2
- package/front_end/panels/network/NetworkLogView.ts +4 -4
- package/front_end/panels/network/NetworkLogViewColumns.ts +1 -1
- package/front_end/panels/network/NetworkPanel.ts +8 -8
- package/front_end/panels/network/NetworkTimeCalculator.ts +1 -1
- package/front_end/panels/network/RequestHeadersView.ts +4 -3
- package/front_end/panels/network/RequestPayloadView.ts +8 -8
- package/front_end/panels/network/RequestPreviewView.ts +1 -1
- package/front_end/panels/network/RequestResponseView.ts +2 -2
- package/front_end/panels/network/ResourceWebSocketFrameView.ts +1 -1
- package/front_end/panels/performance_monitor/PerformanceMonitor.ts +2 -2
- package/front_end/panels/profiler/CPUProfileView.ts +4 -4
- package/front_end/panels/profiler/HeapProfileView.ts +6 -6
- package/front_end/panels/profiler/HeapProfilerPanel.ts +2 -2
- package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +10 -10
- package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +9 -8
- package/front_end/panels/profiler/HeapSnapshotView.ts +24 -24
- package/front_end/panels/profiler/LiveHeapProfileView.ts +4 -4
- package/front_end/panels/profiler/ProfileSidebarTreeElement.ts +1 -1
- package/front_end/panels/profiler/ProfileView.ts +3 -3
- package/front_end/panels/profiler/ProfilesPanel.ts +3 -3
- package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +3 -3
- package/front_end/panels/screencast/InputModel.ts +3 -3
- package/front_end/panels/screencast/ScreencastView.ts +10 -10
- package/front_end/panels/search/SearchResultsPane.ts +1 -1
- package/front_end/panels/search/SearchView.ts +2 -2
- package/front_end/panels/security/SecurityModel.ts +1 -1
- package/front_end/panels/security/SecurityPanel.ts +2 -2
- package/front_end/panels/sensors/SensorsView.ts +3 -2
- package/front_end/panels/settings/SettingsScreen.ts +5 -5
- package/front_end/panels/settings/components/SyncSection.ts +1 -1
- package/front_end/panels/snippets/SnippetsQuickOpen.ts +1 -1
- package/front_end/panels/sources/BreakpointEditDialog.ts +2 -2
- package/front_end/panels/sources/CallStackSidebarPane.ts +4 -4
- package/front_end/panels/sources/CoveragePlugin.ts +3 -3
- package/front_end/panels/sources/DebuggerPlugin.ts +12 -12
- package/front_end/panels/sources/GoToLineQuickOpen.ts +1 -1
- package/front_end/panels/sources/InplaceFormatterEditorAction.ts +3 -3
- package/front_end/panels/sources/JavaScriptBreakpointsSidebarPane.ts +3 -3
- package/front_end/panels/sources/NavigatorView.ts +6 -6
- package/front_end/panels/sources/OpenFileQuickOpen.ts +2 -2
- package/front_end/panels/sources/OutlineQuickOpen.ts +1 -1
- package/front_end/panels/sources/ScopeChainSidebarPane.ts +3 -3
- package/front_end/panels/sources/ScriptFormatterEditorAction.ts +3 -3
- package/front_end/panels/sources/SearchSourcesView.ts +2 -2
- package/front_end/panels/sources/SourcesNavigator.ts +9 -9
- package/front_end/panels/sources/SourcesPanel.ts +28 -25
- package/front_end/panels/sources/SourcesSearchScope.ts +2 -2
- package/front_end/panels/sources/SourcesView.ts +4 -4
- package/front_end/panels/sources/TabbedEditorContainer.ts +1 -1
- package/front_end/panels/sources/UISourceCodeFrame.ts +2 -2
- package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +4 -4
- package/front_end/panels/timeline/EventsTimelineTreeView.ts +1 -1
- package/front_end/panels/timeline/TimelineController.ts +1 -1
- package/front_end/panels/timeline/TimelineDetailsView.ts +2 -2
- package/front_end/panels/timeline/TimelineEventOverview.ts +2 -2
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +22 -5
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +9 -6
- package/front_end/panels/timeline/TimelineHistoryManager.ts +1 -1
- package/front_end/panels/timeline/TimelineLayersView.ts +1 -1
- package/front_end/panels/timeline/TimelineLoader.ts +2 -2
- package/front_end/panels/timeline/TimelinePaintProfilerView.ts +4 -4
- package/front_end/panels/timeline/TimelinePanel.ts +10 -10
- package/front_end/panels/timeline/TimelineUIUtils.ts +2 -2
- package/front_end/panels/timeline/components/WebVitalsTimeline.ts +2 -2
- package/front_end/panels/web_audio/WebAudioModel.ts +1 -1
- package/front_end/panels/web_audio/WebAudioView.ts +1 -1
- package/front_end/panels/webauthn/WebauthnPane.ts +7 -7
- package/front_end/ui/components/buttons/Button.ts +10 -10
- package/front_end/ui/components/data_grid/DataGrid.ts +14 -14
- package/front_end/ui/components/docs/tree_outline/basic.ts +2 -2
- package/front_end/ui/components/docs/tree_outline/custom-renderers.ts +1 -1
- package/front_end/ui/components/docs/tree_outline/lazy-children.ts +1 -1
- package/front_end/ui/components/helpers/scheduled-render.ts +1 -1
- package/front_end/ui/components/icon_button/Icon.ts +1 -1
- package/front_end/ui/components/issue_counter/IssueCounter.ts +1 -1
- package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +2 -2
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorController.ts +2 -2
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorPane.ts +5 -2
- package/front_end/ui/components/linkifier/LinkifierImpl.ts +1 -1
- package/front_end/ui/components/panel_feedback/FeedbackButton.ts +1 -1
- package/front_end/ui/components/panel_feedback/PanelFeedback.ts +1 -1
- package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +3 -3
- package/front_end/ui/components/text_editor/cursor_tooltip.ts +1 -1
- package/front_end/ui/components/text_editor/javascript.ts +2 -2
- package/front_end/ui/components/tree_outline/TreeOutline.ts +8 -8
- package/front_end/ui/legacy/Context.ts +1 -1
- package/front_end/ui/legacy/ContextMenu.ts +1 -1
- package/front_end/ui/legacy/GlassPane.ts +0 -1
- package/front_end/ui/legacy/InspectorView.ts +2 -3
- package/front_end/ui/legacy/PopoverHelper.ts +1 -1
- package/front_end/ui/legacy/ShortcutRegistry.ts +1 -1
- package/front_end/ui/legacy/TabbedPane.ts +2 -2
- package/front_end/ui/legacy/ThrottledWidget.ts +1 -1
- package/front_end/ui/legacy/Toolbar.ts +3 -3
- package/front_end/ui/legacy/Treeoutline.ts +6 -6
- package/front_end/ui/legacy/UIUtils.ts +17 -24
- package/front_end/ui/legacy/ViewManager.ts +9 -9
- package/front_end/ui/legacy/components/color_picker/ContrastOverlay.ts +1 -1
- package/front_end/ui/legacy/components/color_picker/Spectrum.ts +7 -7
- package/front_end/ui/legacy/components/color_picker/spectrum.css +5 -2
- package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +3 -3
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +2 -2
- package/front_end/ui/legacy/components/data_grid/ShowMoreDataGridNode.ts +3 -3
- package/front_end/ui/legacy/components/inline_editor/CSSAngleEditor.ts +1 -1
- package/front_end/ui/legacy/components/inline_editor/FontEditor.ts +4 -4
- package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +3 -3
- package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +1 -1
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +11 -11
- package/front_end/ui/legacy/components/perf_ui/FilmStripView.ts +8 -8
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +13 -18
- package/front_end/ui/legacy/components/perf_ui/GCActionDelegate.ts +1 -1
- package/front_end/ui/legacy/components/perf_ui/LineLevelProfile.ts +1 -1
- package/front_end/ui/legacy/components/perf_ui/LiveHeapProfile.ts +3 -3
- package/front_end/ui/legacy/components/perf_ui/TimelineGrid.ts +2 -4
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +2 -2
- package/front_end/ui/legacy/components/perf_ui/flameChart.css +8 -0
- package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +5 -5
- package/front_end/ui/legacy/components/source_frame/FontView.ts +1 -2
- package/front_end/ui/legacy/components/source_frame/ImageView.ts +3 -4
- package/front_end/ui/legacy/components/source_frame/JSONView.ts +0 -1
- package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +1 -2
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +5 -5
- package/front_end/ui/legacy/components/source_frame/XMLView.ts +0 -2
- package/front_end/ui/legacy/components/utils/ImagePreview.ts +1 -1
- package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +1 -1
- package/front_end/ui/legacy/components/utils/Linkifier.ts +5 -5
- package/front_end/ui/legacy/components/utils/TargetDetachedDialog.ts +2 -2
- package/front_end/ui/legacy/inspectorSyntaxHighlight.css +8 -11
- package/front_end/ui/legacy/tabbedPane.css +1 -0
- package/front_end/ui/legacy/themeColors.css +3 -1
- package/front_end/ui/legacy/theme_support/theme_support_impl.ts +23 -229
- package/front_end/ui/legacy/toolbar.css +1 -0
- package/package.json +1 -1
- package/scripts/component_server/server.js +2 -2
- package/scripts/eslint_rules/lib/no_bound_component_methods.js +116 -0
- package/scripts/eslint_rules/tests/check_license_header_test.js +10 -8
- package/scripts/eslint_rules/tests/no_bound_component_methods_test.js +85 -0
- package/front_end/global_typings/intl_display_names.d.ts +0 -111
- package/front_end/ui/legacy/inspectorSyntaxHighlightDark.css +0 -270
|
@@ -6,7 +6,7 @@ import * as SDK from '../../core/sdk/sdk.js';
|
|
|
6
6
|
import * as Protocol from '../../generated/protocol.js';
|
|
7
7
|
import * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
8
8
|
|
|
9
|
-
import type {ConsoleViewMessage} from './ConsoleViewMessage.js';
|
|
9
|
+
import type {ConsoleGroupViewMessage, ConsoleViewMessage} from './ConsoleViewMessage.js';
|
|
10
10
|
|
|
11
11
|
export type LevelsMask = {
|
|
12
12
|
[x: string]: boolean,
|
|
@@ -68,13 +68,28 @@ export class ConsoleFilter {
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
if (message.type === SDK.ConsoleModel.FrontendMessageType.Command ||
|
|
71
|
-
message.type === SDK.ConsoleModel.FrontendMessageType.Result ||
|
|
71
|
+
message.type === SDK.ConsoleModel.FrontendMessageType.Result ||
|
|
72
|
+
message.type === Protocol.Runtime.ConsoleAPICalledEventType.EndGroup) {
|
|
72
73
|
return true;
|
|
73
74
|
}
|
|
75
|
+
|
|
74
76
|
if (message.level && !this.levelsMask[message.level as string]) {
|
|
75
77
|
return false;
|
|
76
78
|
}
|
|
77
79
|
|
|
80
|
+
return this.applyFilter(viewMessage) || this.parentGroupHasMatch(viewMessage.consoleGroup());
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// A message is visible if there is a match in any of the parent groups' titles.
|
|
84
|
+
parentGroupHasMatch(viewMessage: ConsoleGroupViewMessage|null): boolean {
|
|
85
|
+
if (viewMessage === null) {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
return this.applyFilter(viewMessage) || this.parentGroupHasMatch(viewMessage.consoleGroup());
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
applyFilter(viewMessage: ConsoleViewMessage): boolean {
|
|
92
|
+
const message = viewMessage.consoleMessage();
|
|
78
93
|
for (const filter of this.parsedFilters) {
|
|
79
94
|
if (!filter.key) {
|
|
80
95
|
if (filter.regex && viewMessage.matchesFilterRegex(filter.regex) === filter.negative) {
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
import type * as SDK from '../../core/sdk/sdk.js';
|
|
6
6
|
|
|
7
7
|
// VGA color palette
|
|
8
|
-
const ANSI_COLORS = ['
|
|
9
|
-
const ANSI_BRIGHT_COLORS =
|
|
8
|
+
const ANSI_COLORS = ['black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'gray'];
|
|
9
|
+
const ANSI_BRIGHT_COLORS =
|
|
10
|
+
['darkgray', 'lightred', 'lightgreen', 'lightyellow', 'lightblue', 'lightmagenta', 'lightcyan', 'white'];
|
|
10
11
|
|
|
11
12
|
export type FormatToken = {
|
|
12
13
|
type: 'generic'|'optimal',
|
|
@@ -167,11 +168,11 @@ export const format = (fmt: string, args: SDK.RemoteObject.RemoteObject[]): {
|
|
|
167
168
|
default: {
|
|
168
169
|
const color = ANSI_COLORS[code - 30] ?? ANSI_BRIGHT_COLORS[code - 90];
|
|
169
170
|
if (color !== undefined) {
|
|
170
|
-
currentStyle.set('color', color);
|
|
171
|
+
currentStyle.set('color', `var(--console-color-${color})`);
|
|
171
172
|
} else {
|
|
172
173
|
const background = ANSI_COLORS[code - 40] ?? ANSI_BRIGHT_COLORS[code - 100];
|
|
173
174
|
if (background !== undefined) {
|
|
174
|
-
currentStyle.set('background', background);
|
|
175
|
+
currentStyle.set('background-color', `var(--console-color-${background})`);
|
|
175
176
|
}
|
|
176
177
|
}
|
|
177
178
|
break;
|
|
@@ -100,7 +100,7 @@ export class ConsolePinPane extends UI.ThrottledWidget.ThrottledWidget {
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
contextMenu.editSection().appendItem(i18nString(UIStrings.removeAllExpressions), this.removeAllPins.bind(this));
|
|
103
|
-
contextMenu.show();
|
|
103
|
+
void contextMenu.show();
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
private removeAllPins(): void {
|
|
@@ -115,7 +115,7 @@ export class ConsolePinPane extends UI.ThrottledWidget.ThrottledWidget {
|
|
|
115
115
|
this.pins.delete(pin);
|
|
116
116
|
this.savePins();
|
|
117
117
|
if (newFocusedPin) {
|
|
118
|
-
newFocusedPin.focus();
|
|
118
|
+
void newFocusedPin.focus();
|
|
119
119
|
} else {
|
|
120
120
|
this.liveExpressionButton.focus();
|
|
121
121
|
}
|
|
@@ -127,7 +127,7 @@ export class ConsolePinPane extends UI.ThrottledWidget.ThrottledWidget {
|
|
|
127
127
|
this.pins.add(pin);
|
|
128
128
|
this.savePins();
|
|
129
129
|
if (userGesture) {
|
|
130
|
-
pin.focus();
|
|
130
|
+
void pin.focus();
|
|
131
131
|
}
|
|
132
132
|
this.update();
|
|
133
133
|
}
|
|
@@ -213,7 +213,7 @@ export class ConsolePin {
|
|
|
213
213
|
this.pinPreview.addEventListener('mouseleave', this.setHovered.bind(this, false), false);
|
|
214
214
|
this.pinPreview.addEventListener('click', (event: Event) => {
|
|
215
215
|
if (this.lastNode) {
|
|
216
|
-
Common.Revealer.reveal(this.lastNode);
|
|
216
|
+
void Common.Revealer.reveal(this.lastNode);
|
|
217
217
|
event.consume();
|
|
218
218
|
}
|
|
219
219
|
}, false);
|
|
@@ -113,7 +113,7 @@ export class ConsolePrompt extends Common.ObjectWrapper.eventMixin<EventTypes, t
|
|
|
113
113
|
const enabled = this.eagerEvalSetting.get();
|
|
114
114
|
this.eagerPreviewElement.classList.toggle('hidden', !enabled);
|
|
115
115
|
if (enabled) {
|
|
116
|
-
this.requestPreview();
|
|
116
|
+
void this.requestPreview();
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
|
|
@@ -210,7 +210,7 @@ export class ConsolePrompt extends Common.ObjectWrapper.eventMixin<EventTypes, t
|
|
|
210
210
|
{
|
|
211
211
|
key: 'Enter',
|
|
212
212
|
run: (): boolean => {
|
|
213
|
-
this.handleEnter();
|
|
213
|
+
void this.handleEnter();
|
|
214
214
|
return true;
|
|
215
215
|
},
|
|
216
216
|
shift: CodeMirror.insertNewlineAndIndent,
|
|
@@ -269,7 +269,7 @@ export class ConsolePrompt extends Common.ObjectWrapper.eventMixin<EventTypes, t
|
|
|
269
269
|
}
|
|
270
270
|
|
|
271
271
|
private updatePromptIcon(): void {
|
|
272
|
-
this.iconThrottler.schedule(async () => {
|
|
272
|
+
void this.iconThrottler.schedule(async () => {
|
|
273
273
|
this.promptIcon.classList.toggle('console-prompt-incomplete', !(await this.enterWillEvaluate()));
|
|
274
274
|
});
|
|
275
275
|
}
|
|
@@ -280,7 +280,7 @@ export class ConsolePrompt extends Common.ObjectWrapper.eventMixin<EventTypes, t
|
|
|
280
280
|
const executionContext = currentExecutionContext;
|
|
281
281
|
const message = SDK.ConsoleModel.ConsoleModel.instance().addCommandMessage(executionContext, text);
|
|
282
282
|
const expression = ObjectUI.JavaScriptREPL.JavaScriptREPL.preprocessExpression(text);
|
|
283
|
-
SDK.ConsoleModel.ConsoleModel.instance().evaluateCommandInConsole(
|
|
283
|
+
void SDK.ConsoleModel.ConsoleModel.instance().evaluateCommandInConsole(
|
|
284
284
|
executionContext, message, expression, useCommandLineAPI);
|
|
285
285
|
if (ConsolePanel.instance().isShowing()) {
|
|
286
286
|
Host.userMetrics.actionTaken(Host.UserMetrics.Action.CommandEvaluatedInConsolePanel);
|
|
@@ -274,12 +274,10 @@ export class ConsoleView extends UI.Widget.VBox implements UI.SearchableView.Sea
|
|
|
274
274
|
private viewportThrottler: Common.Throttler.Throttler;
|
|
275
275
|
private pendingBatchResize: boolean;
|
|
276
276
|
private readonly onMessageResizedBound: (e: Common.EventTarget.EventTargetEvent<UI.TreeOutline.TreeElement>) => void;
|
|
277
|
-
private topGroup: ConsoleGroup;
|
|
278
|
-
private currentGroup: ConsoleGroup;
|
|
279
277
|
private readonly promptElement: HTMLElement;
|
|
280
278
|
private readonly linkifier: Components.Linkifier.Linkifier;
|
|
281
279
|
private consoleMessages: ConsoleViewMessage[];
|
|
282
|
-
private
|
|
280
|
+
private consoleGroupStarts: ConsoleGroupViewMessage[];
|
|
283
281
|
private readonly consoleHistorySetting: Common.Settings.Setting<string[]>;
|
|
284
282
|
private prompt: ConsolePrompt;
|
|
285
283
|
private immediatelyFilterMessagesForTest?: boolean;
|
|
@@ -404,7 +402,7 @@ export class ConsoleView extends UI.Widget.VBox implements UI.SearchableView.Sea
|
|
|
404
402
|
this.issueCounter.data = {
|
|
405
403
|
clickHandler: (): void => {
|
|
406
404
|
Host.userMetrics.issuesPanelOpenedFrom(Host.UserMetrics.IssueOpener.StatusBarIssuesCounter);
|
|
407
|
-
UI.ViewManager.ViewManager.instance().showView('issues-pane');
|
|
405
|
+
void UI.ViewManager.ViewManager.instance().showView('issues-pane');
|
|
408
406
|
},
|
|
409
407
|
issuesManager: IssuesManager.IssuesManager.IssuesManager.instance(),
|
|
410
408
|
accessibleName: i18nString(UIStrings.issueToolbarTooltipGeneral),
|
|
@@ -482,12 +480,9 @@ export class ConsoleView extends UI.Widget.VBox implements UI.SearchableView.Sea
|
|
|
482
480
|
this.viewportThrottler = new Common.Throttler.Throttler(50);
|
|
483
481
|
this.pendingBatchResize = false;
|
|
484
482
|
this.onMessageResizedBound = (e: Common.EventTarget.EventTargetEvent<UI.TreeOutline.TreeElement>): void => {
|
|
485
|
-
this.onMessageResized(e);
|
|
483
|
+
void this.onMessageResized(e);
|
|
486
484
|
};
|
|
487
485
|
|
|
488
|
-
this.topGroup = ConsoleGroup.createTopGroup();
|
|
489
|
-
this.currentGroup = this.topGroup;
|
|
490
|
-
|
|
491
486
|
this.promptElement = this.messagesElement.createChild('div', 'source-code');
|
|
492
487
|
this.promptElement.id = 'console-prompt';
|
|
493
488
|
|
|
@@ -509,7 +504,7 @@ export class ConsoleView extends UI.Widget.VBox implements UI.SearchableView.Sea
|
|
|
509
504
|
new Components.Linkifier.Linkifier(MaxLengthForLinks, /* useLinkDecorator */ undefined, refilterMessages);
|
|
510
505
|
|
|
511
506
|
this.consoleMessages = [];
|
|
512
|
-
this.
|
|
507
|
+
this.consoleGroupStarts = [];
|
|
513
508
|
|
|
514
509
|
this.consoleHistorySetting = Common.Settings.Settings.instance().createLocalSetting('consoleHistory', []);
|
|
515
510
|
|
|
@@ -801,6 +796,23 @@ export class ConsoleView extends UI.Widget.VBox implements UI.SearchableView.Sea
|
|
|
801
796
|
const insertedInMiddle = insertAt < this.consoleMessages.length;
|
|
802
797
|
this.consoleMessages.splice(insertAt, 0, viewMessage);
|
|
803
798
|
|
|
799
|
+
if (message.type !== SDK.ConsoleModel.FrontendMessageType.Command &&
|
|
800
|
+
message.type !== SDK.ConsoleModel.FrontendMessageType.Result) {
|
|
801
|
+
// Maintain group tree.
|
|
802
|
+
// Find parent group.
|
|
803
|
+
const consoleGroupStartIndex =
|
|
804
|
+
Platform.ArrayUtilities.upperBound(this.consoleGroupStarts, viewMessage, timeComparator) - 1;
|
|
805
|
+
if (consoleGroupStartIndex >= 0) {
|
|
806
|
+
const currentGroup = this.consoleGroupStarts[consoleGroupStartIndex];
|
|
807
|
+
addToGroup(viewMessage, currentGroup);
|
|
808
|
+
}
|
|
809
|
+
// Add new group.
|
|
810
|
+
if (message.isGroupStartMessage()) {
|
|
811
|
+
insertAt = Platform.ArrayUtilities.upperBound(this.consoleGroupStarts, viewMessage, timeComparator);
|
|
812
|
+
this.consoleGroupStarts.splice(insertAt, 0, viewMessage as ConsoleGroupViewMessage);
|
|
813
|
+
}
|
|
814
|
+
}
|
|
815
|
+
|
|
804
816
|
this.filter.onMessageAdded(message);
|
|
805
817
|
if (this.isSidebarOpen) {
|
|
806
818
|
this.sidebar.onMessageAdded(viewMessage);
|
|
@@ -836,6 +848,29 @@ export class ConsoleView extends UI.Widget.VBox implements UI.SearchableView.Sea
|
|
|
836
848
|
this.scheduleViewportRefresh();
|
|
837
849
|
this.consoleMessageAddedForTest(viewMessage);
|
|
838
850
|
|
|
851
|
+
// Figure out whether the message should belong into this group or the parent group based on group end timestamp.
|
|
852
|
+
function addToGroup(viewMessage: ConsoleViewMessage, currentGroup: ConsoleGroupViewMessage): void {
|
|
853
|
+
const currentEnd = currentGroup.groupEnd();
|
|
854
|
+
if (currentEnd !== null) {
|
|
855
|
+
// Exceeds this group's end. It should belong into parent group.
|
|
856
|
+
if (timeComparator(viewMessage, currentEnd) > 0) {
|
|
857
|
+
const parent = currentGroup.consoleGroup();
|
|
858
|
+
// No parent group. We reached ungrouped messages. Don't establish group links.
|
|
859
|
+
if (parent === null) {
|
|
860
|
+
return;
|
|
861
|
+
} // Add to parent group.
|
|
862
|
+
addToGroup(viewMessage, parent);
|
|
863
|
+
return;
|
|
864
|
+
}
|
|
865
|
+
}
|
|
866
|
+
// Add message to this group, and set group of the message.
|
|
867
|
+
if (viewMessage.consoleMessage().type === Protocol.Runtime.ConsoleAPICalledEventType.EndGroup) {
|
|
868
|
+
currentGroup.setGroupEnd(viewMessage);
|
|
869
|
+
} else {
|
|
870
|
+
viewMessage.setConsoleGroup(currentGroup);
|
|
871
|
+
}
|
|
872
|
+
}
|
|
873
|
+
|
|
839
874
|
function timeComparator(viewMessage1: ConsoleViewMessage, viewMessage2: ConsoleViewMessage): number {
|
|
840
875
|
return (messagesSortedBySymbol.get(viewMessage1) || 0) - (messagesSortedBySymbol.get(viewMessage2) || 0);
|
|
841
876
|
}
|
|
@@ -872,6 +907,18 @@ export class ConsoleView extends UI.Widget.VBox implements UI.SearchableView.Sea
|
|
|
872
907
|
!this.showCorsErrorsSetting.get()) {
|
|
873
908
|
return;
|
|
874
909
|
}
|
|
910
|
+
|
|
911
|
+
const lastMessage = this.visibleViewMessages[this.visibleViewMessages.length - 1];
|
|
912
|
+
if (viewMessage.consoleMessage().type === Protocol.Runtime.ConsoleAPICalledEventType.EndGroup) {
|
|
913
|
+
if (lastMessage) {
|
|
914
|
+
const group = lastMessage.consoleGroup();
|
|
915
|
+
if (group && !group.messagesHidden()) {
|
|
916
|
+
lastMessage.incrementCloseGroupDecorationCount();
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
return;
|
|
920
|
+
}
|
|
921
|
+
|
|
875
922
|
if (!this.shouldMessageBeVisible(viewMessage)) {
|
|
876
923
|
this.hiddenByFilterCount++;
|
|
877
924
|
return;
|
|
@@ -882,29 +929,36 @@ export class ConsoleView extends UI.Widget.VBox implements UI.SearchableView.Sea
|
|
|
882
929
|
return;
|
|
883
930
|
}
|
|
884
931
|
|
|
885
|
-
const
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
lastMessage.incrementCloseGroupDecorationCount();
|
|
889
|
-
}
|
|
890
|
-
this.currentGroup = this.currentGroup.parentGroup() || this.currentGroup;
|
|
891
|
-
return;
|
|
892
|
-
}
|
|
893
|
-
if (!this.currentGroup.messagesHidden()) {
|
|
932
|
+
const currentGroup = viewMessage.consoleGroup();
|
|
933
|
+
|
|
934
|
+
if (!currentGroup || !currentGroup.messagesHidden()) {
|
|
894
935
|
const originatingMessage = viewMessage.consoleMessage().originatingMessage();
|
|
895
936
|
if (lastMessage && originatingMessage && lastMessage.consoleMessage() === originatingMessage) {
|
|
896
937
|
viewMessage.toMessageElement().classList.add('console-adjacent-user-command-result');
|
|
897
938
|
}
|
|
898
|
-
|
|
939
|
+
showGroup(currentGroup, this.visibleViewMessages);
|
|
899
940
|
this.visibleViewMessages.push(viewMessage);
|
|
900
941
|
this.searchMessage(this.visibleViewMessages.length - 1);
|
|
901
942
|
}
|
|
902
943
|
|
|
903
|
-
if (viewMessage.consoleMessage().isGroupStartMessage()) {
|
|
904
|
-
this.currentGroup = new ConsoleGroup(this.currentGroup, (viewMessage as ConsoleGroupViewMessage));
|
|
905
|
-
}
|
|
906
|
-
|
|
907
944
|
this.messageAppendedForTests();
|
|
945
|
+
|
|
946
|
+
// Show the group the message belongs to, and also show parent groups.
|
|
947
|
+
function showGroup(currentGroup: ConsoleGroupViewMessage|null, visibleViewMessages: ConsoleViewMessage[]): void {
|
|
948
|
+
if (currentGroup === null) {
|
|
949
|
+
return;
|
|
950
|
+
}
|
|
951
|
+
// Group is already being shown, no need to traverse to
|
|
952
|
+
// parent groups since they are also already being shown.
|
|
953
|
+
if (visibleViewMessages.includes(currentGroup)) {
|
|
954
|
+
return;
|
|
955
|
+
}
|
|
956
|
+
const parentGroup = currentGroup.consoleGroup();
|
|
957
|
+
if (parentGroup) {
|
|
958
|
+
showGroup(parentGroup, visibleViewMessages);
|
|
959
|
+
}
|
|
960
|
+
visibleViewMessages.push(currentGroup);
|
|
961
|
+
}
|
|
908
962
|
}
|
|
909
963
|
|
|
910
964
|
private messageAppendedForTests(): void {
|
|
@@ -912,29 +966,24 @@ export class ConsoleView extends UI.Widget.VBox implements UI.SearchableView.Sea
|
|
|
912
966
|
}
|
|
913
967
|
|
|
914
968
|
private createViewMessage(message: SDK.ConsoleModel.ConsoleMessage): ConsoleViewMessage {
|
|
915
|
-
const nestingLevel = this.currentGroup.nestingLevel();
|
|
916
969
|
switch (message.type) {
|
|
917
970
|
case SDK.ConsoleModel.FrontendMessageType.Command:
|
|
918
971
|
return new ConsoleCommand(
|
|
919
|
-
message, this.linkifier, this.requestResolver, this.issueResolver,
|
|
920
|
-
this.onMessageResizedBound);
|
|
972
|
+
message, this.linkifier, this.requestResolver, this.issueResolver, this.onMessageResizedBound);
|
|
921
973
|
case SDK.ConsoleModel.FrontendMessageType.Result:
|
|
922
974
|
return new ConsoleCommandResult(
|
|
923
|
-
message, this.linkifier, this.requestResolver, this.issueResolver,
|
|
924
|
-
this.onMessageResizedBound);
|
|
975
|
+
message, this.linkifier, this.requestResolver, this.issueResolver, this.onMessageResizedBound);
|
|
925
976
|
case Protocol.Runtime.ConsoleAPICalledEventType.StartGroupCollapsed:
|
|
926
977
|
case Protocol.Runtime.ConsoleAPICalledEventType.StartGroup:
|
|
927
978
|
return new ConsoleGroupViewMessage(
|
|
928
|
-
message, this.linkifier, this.requestResolver, this.issueResolver,
|
|
929
|
-
this.
|
|
979
|
+
message, this.linkifier, this.requestResolver, this.issueResolver, this.updateMessageList.bind(this),
|
|
980
|
+
this.onMessageResizedBound);
|
|
930
981
|
case Protocol.Runtime.ConsoleAPICalledEventType.Table:
|
|
931
982
|
return new ConsoleTableMessageView(
|
|
932
|
-
message, this.linkifier, this.requestResolver, this.issueResolver,
|
|
933
|
-
this.onMessageResizedBound);
|
|
983
|
+
message, this.linkifier, this.requestResolver, this.issueResolver, this.onMessageResizedBound);
|
|
934
984
|
default:
|
|
935
985
|
return new ConsoleViewMessage(
|
|
936
|
-
message, this.linkifier, this.requestResolver, this.issueResolver,
|
|
937
|
-
this.onMessageResizedBound);
|
|
986
|
+
message, this.linkifier, this.requestResolver, this.issueResolver, this.onMessageResizedBound);
|
|
938
987
|
}
|
|
939
988
|
}
|
|
940
989
|
|
|
@@ -970,6 +1019,7 @@ export class ConsoleView extends UI.Widget.VBox implements UI.SearchableView.Sea
|
|
|
970
1019
|
this.linkifier.reset();
|
|
971
1020
|
this.filter.clear();
|
|
972
1021
|
this.requestResolver.clear();
|
|
1022
|
+
this.consoleGroupStarts = [];
|
|
973
1023
|
if (hadFocus) {
|
|
974
1024
|
this.prompt.focus();
|
|
975
1025
|
}
|
|
@@ -980,7 +1030,7 @@ export class ConsoleView extends UI.Widget.VBox implements UI.SearchableView.Sea
|
|
|
980
1030
|
const contextMenu = new UI.ContextMenu.ContextMenu(event);
|
|
981
1031
|
const eventTarget = (event.target as Node);
|
|
982
1032
|
if (eventTarget.isSelfOrDescendant(this.promptElement)) {
|
|
983
|
-
contextMenu.show();
|
|
1033
|
+
void contextMenu.show();
|
|
984
1034
|
return;
|
|
985
1035
|
}
|
|
986
1036
|
|
|
@@ -1011,7 +1061,7 @@ export class ConsoleView extends UI.Widget.VBox implements UI.SearchableView.Sea
|
|
|
1011
1061
|
}
|
|
1012
1062
|
}
|
|
1013
1063
|
|
|
1014
|
-
contextMenu.show();
|
|
1064
|
+
void contextMenu.show();
|
|
1015
1065
|
}
|
|
1016
1066
|
|
|
1017
1067
|
private async saveConsole(): Promise<void> {
|
|
@@ -1044,7 +1094,7 @@ export class ConsoleView extends UI.Widget.VBox implements UI.SearchableView.Sea
|
|
|
1044
1094
|
progressIndicator.setWorked(messageIndex);
|
|
1045
1095
|
}
|
|
1046
1096
|
|
|
1047
|
-
stream.close();
|
|
1097
|
+
void stream.close();
|
|
1048
1098
|
progressIndicator.done();
|
|
1049
1099
|
}
|
|
1050
1100
|
|
|
@@ -1079,7 +1129,7 @@ export class ConsoleView extends UI.Widget.VBox implements UI.SearchableView.Sea
|
|
|
1079
1129
|
return;
|
|
1080
1130
|
}
|
|
1081
1131
|
this.buildHiddenCacheTimeout =
|
|
1082
|
-
this.element.window().requestAnimationFrame(this.buildHiddenCache.bind(this, i, viewMessages));
|
|
1132
|
+
this.element.window().requestAnimationFrame(this.buildHiddenCache.bind(this, i + 1, viewMessages));
|
|
1083
1133
|
}
|
|
1084
1134
|
|
|
1085
1135
|
private cancelBuildHiddenCache(): void {
|
|
@@ -1091,8 +1141,6 @@ export class ConsoleView extends UI.Widget.VBox implements UI.SearchableView.Sea
|
|
|
1091
1141
|
}
|
|
1092
1142
|
|
|
1093
1143
|
private updateMessageList(): void {
|
|
1094
|
-
this.topGroup = ConsoleGroup.createTopGroup();
|
|
1095
|
-
this.currentGroup = this.topGroup;
|
|
1096
1144
|
this.regexMatchRanges = [];
|
|
1097
1145
|
this.hiddenByFilterCount = 0;
|
|
1098
1146
|
for (const visibleViewMessage of this.visibleViewMessages) {
|
|
@@ -1105,9 +1153,14 @@ export class ConsoleView extends UI.Widget.VBox implements UI.SearchableView.Sea
|
|
|
1105
1153
|
} else {
|
|
1106
1154
|
for (const consoleMessage of this.consoleMessages) {
|
|
1107
1155
|
consoleMessage.setInSimilarGroup(false);
|
|
1156
|
+
if (consoleMessage.consoleMessage().isGroupable()) {
|
|
1157
|
+
// Since grouping similar messages is disabled, we need clear the
|
|
1158
|
+
// reference to the artificial console group start.
|
|
1159
|
+
consoleMessage.clearConsoleGroup();
|
|
1160
|
+
}
|
|
1108
1161
|
this.appendMessageToEnd(
|
|
1109
1162
|
consoleMessage,
|
|
1110
|
-
true /* crbug.com/1082963: prevent
|
|
1163
|
+
true /* crbug.com/1082963: prevent collaps`e of same messages when "Group similar" is false */);
|
|
1111
1164
|
}
|
|
1112
1165
|
}
|
|
1113
1166
|
this.updateFilterStatus();
|
|
@@ -1169,6 +1222,7 @@ export class ConsoleView extends UI.Widget.VBox implements UI.SearchableView.Sea
|
|
|
1169
1222
|
for (const viewMessageInGroup of viewMessagesInGroup) {
|
|
1170
1223
|
viewMessageInGroup.setInSimilarGroup(
|
|
1171
1224
|
true, viewMessagesInGroup[viewMessagesInGroup.length - 1] === viewMessageInGroup);
|
|
1225
|
+
viewMessageInGroup.setConsoleGroup(startGroupViewMessage as ConsoleGroupViewMessage);
|
|
1172
1226
|
this.appendMessageToEnd(viewMessageInGroup, true);
|
|
1173
1227
|
alreadyAdded.add(viewMessageInGroup.consoleMessage());
|
|
1174
1228
|
}
|
|
@@ -1621,7 +1675,7 @@ export class ConsoleViewFilter {
|
|
|
1621
1675
|
for (const [level, levelText] of this.levelLabels.entries()) {
|
|
1622
1676
|
contextMenu.defaultSection().appendCheckboxItem(levelText, toggleShowLevel.bind(null, level), levels[level]);
|
|
1623
1677
|
}
|
|
1624
|
-
contextMenu.show();
|
|
1678
|
+
void contextMenu.show();
|
|
1625
1679
|
|
|
1626
1680
|
function toggleShowLevel(level: string): void {
|
|
1627
1681
|
levels[level] = !levels[level];
|
|
@@ -1656,35 +1710,6 @@ export class ConsoleViewFilter {
|
|
|
1656
1710
|
}
|
|
1657
1711
|
}
|
|
1658
1712
|
|
|
1659
|
-
export class ConsoleGroup {
|
|
1660
|
-
private readonly parentGroupInternal: ConsoleGroup|null;
|
|
1661
|
-
private readonly nestingLevelInternal: number;
|
|
1662
|
-
private readonly messagesHiddenInternal: boolean;
|
|
1663
|
-
|
|
1664
|
-
constructor(parentGroup: ConsoleGroup|null, groupMessage: ConsoleGroupViewMessage|null) {
|
|
1665
|
-
this.parentGroupInternal = parentGroup;
|
|
1666
|
-
this.nestingLevelInternal = parentGroup ? parentGroup.nestingLevel() + 1 : 0;
|
|
1667
|
-
this.messagesHiddenInternal = groupMessage && groupMessage.collapsed() ||
|
|
1668
|
-
this.parentGroupInternal && this.parentGroupInternal.messagesHidden() || false;
|
|
1669
|
-
}
|
|
1670
|
-
|
|
1671
|
-
static createTopGroup(): ConsoleGroup {
|
|
1672
|
-
return new ConsoleGroup(null, null);
|
|
1673
|
-
}
|
|
1674
|
-
|
|
1675
|
-
messagesHidden(): boolean {
|
|
1676
|
-
return this.messagesHiddenInternal;
|
|
1677
|
-
}
|
|
1678
|
-
|
|
1679
|
-
nestingLevel(): number {
|
|
1680
|
-
return this.nestingLevelInternal;
|
|
1681
|
-
}
|
|
1682
|
-
|
|
1683
|
-
parentGroup(): ConsoleGroup|null {
|
|
1684
|
-
return this.parentGroupInternal;
|
|
1685
|
-
}
|
|
1686
|
-
}
|
|
1687
|
-
|
|
1688
1713
|
let actionDelegateInstance: ActionDelegate;
|
|
1689
1714
|
|
|
1690
1715
|
export class ActionDelegate implements UI.ActionRegistration.ActionDelegate {
|
|
@@ -206,7 +206,7 @@ export class ConsoleViewMessage implements ConsoleViewportElement {
|
|
|
206
206
|
private readonly linkifier: Components.Linkifier.Linkifier;
|
|
207
207
|
private repeatCountInternal: number;
|
|
208
208
|
private closeGroupDecorationCount: number;
|
|
209
|
-
private
|
|
209
|
+
private consoleGroupInternal: ConsoleGroupViewMessage|null;
|
|
210
210
|
private selectableChildren: {
|
|
211
211
|
element: HTMLElement,
|
|
212
212
|
forceSelect: () => void,
|
|
@@ -238,14 +238,13 @@ export class ConsoleViewMessage implements ConsoleViewportElement {
|
|
|
238
238
|
constructor(
|
|
239
239
|
consoleMessage: SDK.ConsoleModel.ConsoleMessage, linkifier: Components.Linkifier.Linkifier,
|
|
240
240
|
requestResolver: Logs.RequestResolver.RequestResolver, issueResolver: IssuesManager.IssueResolver.IssueResolver,
|
|
241
|
-
|
|
241
|
+
onResize: (arg0: Common.EventTarget.EventTargetEvent<UI.TreeOutline.TreeElement>) => void) {
|
|
242
242
|
this.message = consoleMessage;
|
|
243
243
|
this.linkifier = linkifier;
|
|
244
244
|
this.requestResolver = requestResolver;
|
|
245
245
|
this.issueResolver = issueResolver;
|
|
246
246
|
this.repeatCountInternal = 1;
|
|
247
247
|
this.closeGroupDecorationCount = 0;
|
|
248
|
-
this.nestingLevelInternal = nestingLevel;
|
|
249
248
|
this.selectableChildren = [];
|
|
250
249
|
this.messageResized = onResize;
|
|
251
250
|
this.elementInternal = null;
|
|
@@ -269,6 +268,7 @@ export class ConsoleViewMessage implements ConsoleViewportElement {
|
|
|
269
268
|
this.lastInSimilarGroup = false;
|
|
270
269
|
this.groupKeyInternal = '';
|
|
271
270
|
this.repeatCountElement = null;
|
|
271
|
+
this.consoleGroupInternal = null;
|
|
272
272
|
}
|
|
273
273
|
|
|
274
274
|
element(): HTMLElement {
|
|
@@ -702,7 +702,7 @@ export class ConsoleViewMessage implements ConsoleViewportElement {
|
|
|
702
702
|
this.previewFormatter.appendObjectPreview(titleElement, obj.preview, false /* isEntry */);
|
|
703
703
|
} else if (obj.type === 'function') {
|
|
704
704
|
const functionElement = titleElement.createChild('span');
|
|
705
|
-
ObjectUI.ObjectPropertiesSection.ObjectPropertiesSection.formatObjectAsFunction(obj, functionElement, false);
|
|
705
|
+
void ObjectUI.ObjectPropertiesSection.ObjectPropertiesSection.formatObjectAsFunction(obj, functionElement, false);
|
|
706
706
|
titleElement.classList.add('object-value-function');
|
|
707
707
|
} else if (obj.subtype === 'trustedtype') {
|
|
708
708
|
titleElement.appendChild(this.formatParameterAsTrustedType(obj));
|
|
@@ -734,7 +734,7 @@ export class ConsoleViewMessage implements ConsoleViewportElement {
|
|
|
734
734
|
|
|
735
735
|
private formatParameterAsFunction(func: SDK.RemoteObject.RemoteObject, includePreview?: boolean): HTMLElement {
|
|
736
736
|
const result = document.createElement('span');
|
|
737
|
-
SDK.RemoteObject.RemoteFunction.objectAsFunction(func).targetFunction().then(formatTargetFunction.bind(this));
|
|
737
|
+
void SDK.RemoteObject.RemoteFunction.objectAsFunction(func).targetFunction().then(formatTargetFunction.bind(this));
|
|
738
738
|
return result;
|
|
739
739
|
|
|
740
740
|
function formatTargetFunction(this: ConsoleViewMessage, targetFunction: SDK.RemoteObject.RemoteObject): void {
|
|
@@ -747,7 +747,7 @@ export class ConsoleViewMessage implements ConsoleViewportElement {
|
|
|
747
747
|
UI.Tooltip.Tooltip.install(note, i18nString(UIStrings.functionWasResolvedFromBound));
|
|
748
748
|
}
|
|
749
749
|
result.addEventListener('contextmenu', this.contextMenuEventFired.bind(this, targetFunction), false);
|
|
750
|
-
promise.then(() => this.formattedParameterAsFunctionForTest());
|
|
750
|
+
void promise.then(() => this.formattedParameterAsFunctionForTest());
|
|
751
751
|
}
|
|
752
752
|
}
|
|
753
753
|
|
|
@@ -757,7 +757,7 @@ export class ConsoleViewMessage implements ConsoleViewportElement {
|
|
|
757
757
|
private contextMenuEventFired(obj: SDK.RemoteObject.RemoteObject, event: Event): void {
|
|
758
758
|
const contextMenu = new UI.ContextMenu.ContextMenu(event);
|
|
759
759
|
contextMenu.appendApplicableItems(obj);
|
|
760
|
-
contextMenu.show();
|
|
760
|
+
void contextMenu.show();
|
|
761
761
|
}
|
|
762
762
|
|
|
763
763
|
protected renderPropertyPreviewOrAccessor(
|
|
@@ -778,7 +778,7 @@ export class ConsoleViewMessage implements ConsoleViewportElement {
|
|
|
778
778
|
if (!domModel) {
|
|
779
779
|
return result;
|
|
780
780
|
}
|
|
781
|
-
domModel.pushObjectAsNodeToFrontend(remoteObject).then(async (node: SDK.DOMModel.DOMNode|null) => {
|
|
781
|
+
void domModel.pushObjectAsNodeToFrontend(remoteObject).then(async (node: SDK.DOMModel.DOMNode|null) => {
|
|
782
782
|
if (!node) {
|
|
783
783
|
result.appendChild(this.formatParameterAsObject(remoteObject, false));
|
|
784
784
|
return;
|
|
@@ -906,6 +906,7 @@ export class ConsoleViewMessage implements ConsoleViewportElement {
|
|
|
906
906
|
// Make sure that allowed properties do not interfere with link visibility.
|
|
907
907
|
const ALLOWED_PROPERTY_PREFIXES =
|
|
908
908
|
['background', 'border', 'color', 'font', 'line', 'margin', 'padding', 'text'];
|
|
909
|
+
|
|
909
910
|
currentStyle.clear();
|
|
910
911
|
const buffer = document.createElement('span');
|
|
911
912
|
buffer.setAttribute('style', token.value);
|
|
@@ -959,7 +960,24 @@ export class ConsoleViewMessage implements ConsoleViewportElement {
|
|
|
959
960
|
}
|
|
960
961
|
|
|
961
962
|
nestingLevel(): number {
|
|
962
|
-
|
|
963
|
+
let nestingLevel = 0;
|
|
964
|
+
for (let group = this.consoleGroup(); group !== null; group = group.consoleGroup()) {
|
|
965
|
+
nestingLevel++;
|
|
966
|
+
}
|
|
967
|
+
return nestingLevel;
|
|
968
|
+
}
|
|
969
|
+
|
|
970
|
+
setConsoleGroup(group: ConsoleGroupViewMessage): void {
|
|
971
|
+
console.assert(this.consoleGroupInternal === null);
|
|
972
|
+
this.consoleGroupInternal = group;
|
|
973
|
+
}
|
|
974
|
+
|
|
975
|
+
clearConsoleGroup(): void {
|
|
976
|
+
this.consoleGroupInternal = null;
|
|
977
|
+
}
|
|
978
|
+
|
|
979
|
+
consoleGroup(): ConsoleGroupViewMessage|null {
|
|
980
|
+
return this.consoleGroupInternal;
|
|
963
981
|
}
|
|
964
982
|
|
|
965
983
|
setInSimilarGroup(inSimilarGroup: boolean, isLast?: boolean): void {
|
|
@@ -1170,7 +1188,7 @@ export class ConsoleViewMessage implements ConsoleViewportElement {
|
|
|
1170
1188
|
}
|
|
1171
1189
|
|
|
1172
1190
|
this.nestingLevelMarkers = [];
|
|
1173
|
-
for (let i = 0; i < this.
|
|
1191
|
+
for (let i = 0; i < this.nestingLevel(); ++i) {
|
|
1174
1192
|
this.nestingLevelMarkers.push(this.elementInternal.createChild('div', 'nesting-level-marker'));
|
|
1175
1193
|
}
|
|
1176
1194
|
this.updateCloseGroupDecorations();
|
|
@@ -1534,7 +1552,8 @@ export class ConsoleViewMessage implements ConsoleViewportElement {
|
|
|
1534
1552
|
// If we were able to parse the function name from the stack trace line, try to replace it with an expansion of
|
|
1535
1553
|
// any inline frames.
|
|
1536
1554
|
const selectableChildIndex = this.selectableChildren.length - 1;
|
|
1537
|
-
this
|
|
1555
|
+
void this
|
|
1556
|
+
.expandInlineStackFrames(
|
|
1538
1557
|
debuggerModel, prefixWithoutFunction, suffix, link.url, link.lineNumber, link.columnNumber,
|
|
1539
1558
|
formattedResult, formattedLine)
|
|
1540
1559
|
.then(modified => {
|
|
@@ -1699,17 +1718,18 @@ export class ConsoleGroupViewMessage extends ConsoleViewMessage {
|
|
|
1699
1718
|
private collapsedInternal: boolean;
|
|
1700
1719
|
private expandGroupIcon: UI.Icon.Icon|null;
|
|
1701
1720
|
private readonly onToggle: () => void;
|
|
1721
|
+
private groupEndMessageInternal: ConsoleViewMessage|null;
|
|
1702
1722
|
|
|
1703
1723
|
constructor(
|
|
1704
1724
|
consoleMessage: SDK.ConsoleModel.ConsoleMessage, linkifier: Components.Linkifier.Linkifier,
|
|
1705
1725
|
requestResolver: Logs.RequestResolver.RequestResolver, issueResolver: IssuesManager.IssueResolver.IssueResolver,
|
|
1706
|
-
|
|
1707
|
-
onResize: (arg0: Common.EventTarget.EventTargetEvent<UI.TreeOutline.TreeElement>) => void) {
|
|
1726
|
+
onToggle: () => void, onResize: (arg0: Common.EventTarget.EventTargetEvent<UI.TreeOutline.TreeElement>) => void) {
|
|
1708
1727
|
console.assert(consoleMessage.isGroupStartMessage());
|
|
1709
|
-
super(consoleMessage, linkifier, requestResolver, issueResolver,
|
|
1728
|
+
super(consoleMessage, linkifier, requestResolver, issueResolver, onResize);
|
|
1710
1729
|
this.collapsedInternal = consoleMessage.type === Protocol.Runtime.ConsoleAPICalledEventType.StartGroupCollapsed;
|
|
1711
1730
|
this.expandGroupIcon = null;
|
|
1712
1731
|
this.onToggle = onToggle;
|
|
1732
|
+
this.groupEndMessageInternal = null;
|
|
1713
1733
|
}
|
|
1714
1734
|
|
|
1715
1735
|
private setCollapsed(collapsed: boolean): void {
|
|
@@ -1760,6 +1780,28 @@ export class ConsoleGroupViewMessage extends ConsoleViewMessage {
|
|
|
1760
1780
|
this.repeatCountElement.insertBefore(this.expandGroupIcon, this.repeatCountElement.firstChild);
|
|
1761
1781
|
}
|
|
1762
1782
|
}
|
|
1783
|
+
|
|
1784
|
+
messagesHidden(): boolean {
|
|
1785
|
+
if (this.collapsed()) {
|
|
1786
|
+
return true;
|
|
1787
|
+
}
|
|
1788
|
+
const parent = this.consoleGroup();
|
|
1789
|
+
return Boolean(parent && parent.messagesHidden());
|
|
1790
|
+
}
|
|
1791
|
+
|
|
1792
|
+
setGroupEnd(viewMessage: ConsoleViewMessage): void {
|
|
1793
|
+
if (viewMessage.consoleMessage().type !== Protocol.Runtime.ConsoleAPICalledEventType.EndGroup) {
|
|
1794
|
+
throw new Error('Invalid console message as group end');
|
|
1795
|
+
}
|
|
1796
|
+
if (this.groupEndMessageInternal !== null) {
|
|
1797
|
+
throw new Error('Console group already has an end');
|
|
1798
|
+
}
|
|
1799
|
+
this.groupEndMessageInternal = viewMessage;
|
|
1800
|
+
}
|
|
1801
|
+
|
|
1802
|
+
groupEnd(): ConsoleViewMessage|null {
|
|
1803
|
+
return this.groupEndMessageInternal;
|
|
1804
|
+
}
|
|
1763
1805
|
}
|
|
1764
1806
|
|
|
1765
1807
|
export class ConsoleCommand extends ConsoleViewMessage {
|
|
@@ -1768,8 +1810,8 @@ export class ConsoleCommand extends ConsoleViewMessage {
|
|
|
1768
1810
|
constructor(
|
|
1769
1811
|
consoleMessage: SDK.ConsoleModel.ConsoleMessage, linkifier: Components.Linkifier.Linkifier,
|
|
1770
1812
|
requestResolver: Logs.RequestResolver.RequestResolver, issueResolver: IssuesManager.IssueResolver.IssueResolver,
|
|
1771
|
-
|
|
1772
|
-
super(consoleMessage, linkifier, requestResolver, issueResolver,
|
|
1813
|
+
onResize: (arg0: Common.EventTarget.EventTargetEvent<UI.TreeOutline.TreeElement>) => void) {
|
|
1814
|
+
super(consoleMessage, linkifier, requestResolver, issueResolver, onResize);
|
|
1773
1815
|
this.formattedCommand = null;
|
|
1774
1816
|
}
|
|
1775
1817
|
|
|
@@ -1791,7 +1833,7 @@ export class ConsoleCommand extends ConsoleViewMessage {
|
|
|
1791
1833
|
newContentElement.appendChild(this.formattedCommand);
|
|
1792
1834
|
|
|
1793
1835
|
if (this.formattedCommand.textContent.length < MaxLengthToIgnoreHighlighter) {
|
|
1794
|
-
CodeHighlighter.CodeHighlighter.highlightNode(this.formattedCommand, 'text/javascript')
|
|
1836
|
+
void CodeHighlighter.CodeHighlighter.highlightNode(this.formattedCommand, 'text/javascript')
|
|
1795
1837
|
.then(this.updateSearch.bind(this));
|
|
1796
1838
|
} else {
|
|
1797
1839
|
this.updateSearch();
|
|
@@ -1826,8 +1868,8 @@ export class ConsoleTableMessageView extends ConsoleViewMessage {
|
|
|
1826
1868
|
constructor(
|
|
1827
1869
|
consoleMessage: SDK.ConsoleModel.ConsoleMessage, linkifier: Components.Linkifier.Linkifier,
|
|
1828
1870
|
requestResolver: Logs.RequestResolver.RequestResolver, issueResolver: IssuesManager.IssueResolver.IssueResolver,
|
|
1829
|
-
|
|
1830
|
-
super(consoleMessage, linkifier, requestResolver, issueResolver,
|
|
1871
|
+
onResize: (arg0: Common.EventTarget.EventTargetEvent<UI.TreeOutline.TreeElement>) => void) {
|
|
1872
|
+
super(consoleMessage, linkifier, requestResolver, issueResolver, onResize);
|
|
1831
1873
|
console.assert(consoleMessage.type === Protocol.Runtime.ConsoleAPICalledEventType.Table);
|
|
1832
1874
|
this.dataGrid = null;
|
|
1833
1875
|
}
|