chrome-devtools-frontend 1.0.1657110 → 1.0.1660788
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/.agents/skills/devtools-ux-writing-refactor/SKILL.md +125 -0
- package/.agents/skills/migrate-chromium-test/SKILL.md +15 -70
- package/.agents/skills/repro-flaky-tests/SKILL.md +53 -0
- package/.agents/skills/ui-eng-vision-orchestrator/SKILL.md +37 -18
- package/.agents/skills/version-control/SKILL.md +8 -1
- package/AUTHORS +1 -0
- package/SECURITY.md +3 -0
- package/docs/get_the_code.md +6 -0
- package/front_end/Images/src/ads.svg +1 -0
- package/front_end/Tests.js +6 -6
- package/front_end/core/common/Gzip.ts +12 -5
- package/front_end/core/common/ResourceType.ts +19 -19
- package/front_end/core/common/Revealer.ts +15 -15
- package/front_end/core/common/SettingRegistration.ts +19 -19
- package/front_end/core/host/AidaClient.ts +35 -9
- package/front_end/core/host/GdpClient.ts +10 -7
- package/front_end/core/platform/StringUtilities.ts +35 -0
- package/front_end/core/sdk/AccessibilityModel.snapshot.txt +17 -0
- package/front_end/core/sdk/AccessibilityModel.ts +132 -2
- package/front_end/core/sdk/CPUThrottlingManager.ts +8 -5
- package/front_end/core/sdk/CSSMetadata.ts +110 -16
- package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +2 -5
- package/front_end/core/sdk/ConsoleModel.ts +5 -5
- package/front_end/core/sdk/DOMDebuggerModel.ts +5 -1
- package/front_end/core/sdk/DOMModel.ts +32 -18
- package/front_end/core/sdk/NetworkManager.ts +58 -14
- package/front_end/core/sdk/NetworkRequest.ts +37 -1
- package/front_end/core/sdk/OverlayModel.ts +45 -6
- package/front_end/core/sdk/ResourceTreeModel.ts +6 -7
- package/front_end/core/sdk/ScreenCaptureModel.ts +2 -2
- package/front_end/core/sdk/ServerTiming.ts +17 -13
- package/front_end/core/sdk/ServiceWorkerCacheModel.ts +4 -2
- package/front_end/core/sdk/ServiceWorkerManager.ts +19 -5
- package/front_end/core/sdk/TargetManager.ts +10 -1
- package/front_end/core/sdk/TraceObject.ts +4 -2
- package/front_end/core/sdk/sdk-meta.ts +170 -0
- package/front_end/design_system_tokens.css +0 -5
- package/front_end/entrypoints/devtools_app/devtools_app.ts +1 -1
- package/front_end/entrypoints/formatter_worker/CSSFormatter.ts +13 -4
- package/front_end/entrypoints/formatter_worker/FormattedContentBuilder.ts +5 -2
- package/front_end/entrypoints/formatter_worker/FormatterWorker.ts +23 -4
- package/front_end/entrypoints/formatter_worker/HTMLFormatter.ts +33 -10
- package/front_end/entrypoints/formatter_worker/JavaScriptFormatter.ts +8 -3
- package/front_end/entrypoints/inspector_main/InspectorMain.ts +4 -4
- package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +2 -2
- package/front_end/entrypoints/inspector_main/RenderingOptions.ts +36 -37
- package/front_end/entrypoints/inspector_main/inspector_main-meta.ts +15 -33
- package/front_end/entrypoints/js_app/js_app.ts +6 -5
- package/front_end/entrypoints/main/GlobalAiButton.ts +4 -4
- package/front_end/entrypoints/main/MainImpl.ts +25 -55
- package/front_end/entrypoints/main/main-meta.ts +50 -50
- package/front_end/entrypoints/node_app/app/NodeConnectionsPanel.ts +5 -5
- package/front_end/entrypoints/node_app/app/NodeMain.ts +3 -3
- package/front_end/entrypoints/node_app/node_app.ts +10 -9
- package/front_end/entrypoints/worker_app/WorkerMain.ts +1 -1
- package/front_end/foundation/Universe.ts +76 -6
- package/front_end/generated/InspectorBackendCommands.ts +3 -3
- package/front_end/generated/SupportedCSSProperties.js +19 -12
- package/front_end/generated/protocol.ts +7 -1
- package/front_end/models/ai_assistance/AiConversation.ts +19 -17
- package/front_end/models/ai_assistance/AiHistoryStorage.ts +37 -14
- package/front_end/models/ai_assistance/AiUtils.ts +38 -42
- package/front_end/models/ai_assistance/agents/AiAgent.ts +5 -1
- package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +3 -2
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +2 -1
- package/front_end/models/ai_assistance/agents/StorageAgent.ts +7 -5
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +270 -286
- package/front_end/models/ai_assistance/data_formatters/UnitFormatters.ts +20 -0
- package/front_end/models/ai_assistance/performance/AICallTree.ts +3 -1
- package/front_end/models/ai_assistance/tools/ListNetworkRequests.ts +3 -2
- package/front_end/models/autofill_manager/AutofillManager.ts +3 -1
- package/front_end/models/bindings/CSSWorkspaceBinding.ts +8 -5
- package/front_end/models/bindings/CompilerScriptMapping.ts +2 -1
- package/front_end/models/bindings/DebuggerLanguagePlugins.ts +15 -16
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +6 -4
- package/front_end/models/bindings/FileUtils.ts +11 -12
- package/front_end/models/bindings/NetworkProject.ts +4 -0
- package/front_end/models/bindings/PresentationConsoleMessageHelper.ts +2 -1
- package/front_end/models/bindings/ResourceUtils.ts +1 -1
- package/front_end/models/bindings/SASSSourceMapping.ts +8 -5
- package/front_end/models/emulation/DeviceModeModel.ts +14 -14
- package/front_end/models/emulation/EmulatedDevices.ts +392 -11
- package/front_end/models/extensions/ExtensionAPI.ts +6 -6
- package/front_end/models/extensions/LanguageExtensionEndpoint.ts +13 -12
- package/front_end/models/issues_manager/BounceTrackingIssue.ts +1 -1
- package/front_end/models/issues_manager/ClientHintIssue.ts +1 -1
- package/front_end/models/issues_manager/ConnectionAllowlistIssue.ts +1 -1
- package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +7 -7
- package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +2 -2
- package/front_end/models/issues_manager/CookieIssue.ts +6 -7
- package/front_end/models/issues_manager/CorsIssue.ts +3 -3
- package/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.ts +2 -2
- package/front_end/models/issues_manager/DeprecationIssue.ts +3 -3
- package/front_end/models/issues_manager/EmailVerificationRequestIssue.ts +1 -1
- package/front_end/models/issues_manager/FederatedAuthRequestIssue.ts +1 -1
- package/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.ts +1 -1
- package/front_end/models/issues_manager/GenericIssue.ts +7 -7
- package/front_end/models/issues_manager/HeavyAdIssue.ts +3 -3
- package/front_end/models/issues_manager/Issue.ts +8 -8
- package/front_end/models/issues_manager/MixedContentIssue.ts +1 -1
- package/front_end/models/issues_manager/PartitioningBlobURLIssue.ts +3 -3
- package/front_end/models/issues_manager/QuirksModeIssue.ts +1 -1
- package/front_end/models/issues_manager/SRIMessageSignatureIssue.ts +2 -2
- package/front_end/models/issues_manager/SelectivePermissionsInterventionIssue.ts +2 -2
- package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +2 -2
- package/front_end/models/issues_manager/SharedDictionaryIssue.ts +1 -1
- package/front_end/models/issues_manager/UnencodedDigestIssue.ts +3 -3
- package/front_end/models/javascript_metadata/NativeFunctions.js +5 -1
- package/front_end/models/stack_trace/StackTraceModel.ts +3 -3
- package/front_end/models/text_utils/ContentData.ts +27 -0
- package/front_end/models/trace/helpers/SamplesIntegrator.ts +21 -5
- package/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +29 -14
- package/front_end/models/web_mcp/WebMCPModel.ts +24 -6
- package/front_end/models/workspace/IgnoreListManager.ts +6 -6
- package/front_end/models/workspace/UISourceCode.ts +3 -3
- package/front_end/models/workspace_diff/WorkspaceDiff.ts +23 -12
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +25 -22
- package/front_end/panels/ai_assistance/ExportConversation.ts +3 -4
- package/front_end/panels/ai_assistance/ai_assistance-meta.ts +3 -3
- package/front_end/panels/ai_assistance/components/ChatInput.ts +2 -2
- package/front_end/panels/ai_assistance/components/ChatMessage.ts +7 -0
- package/front_end/panels/ai_assistance/components/DisabledWidget.ts +2 -2
- package/front_end/panels/animation/AnimationTimeline.ts +17 -19
- package/front_end/panels/animation/AnimationUI.ts +5 -5
- package/front_end/panels/animation/animation-meta.ts +2 -2
- package/front_end/panels/application/ApplicationPanelSidebar.ts +13 -4
- package/front_end/panels/application/BackgroundServiceView.ts +2 -1
- package/front_end/panels/application/DeviceBoundSessionsView.ts +2 -6
- package/front_end/panels/application/IndexedDBViews.ts +245 -262
- package/front_end/panels/application/OpenedWindowDetailsView.ts +1 -1
- package/front_end/panels/application/ResourcesPanel.ts +9 -2
- package/front_end/panels/application/ServiceWorkersView.ts +252 -211
- package/front_end/panels/application/StorageView.ts +97 -33
- package/front_end/panels/application/WebMCPView.ts +15 -1
- package/front_end/panels/application/components/AdsView.ts +1 -1
- package/front_end/panels/application/indexedDBViews.css +38 -9
- package/front_end/panels/application/preloading/helper/PreloadingForward.ts +2 -1
- package/front_end/panels/application/resourcesSidebar.css +5 -0
- package/front_end/panels/application/storageView.css +26 -9
- package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +5 -1
- package/front_end/panels/browser_debugger/browser_debugger-meta.ts +8 -6
- package/front_end/panels/common/DOMLinkifier.ts +1 -1
- package/front_end/panels/common/ExtensionServer.ts +119 -14
- package/front_end/panels/console/ConsoleContextSelector.ts +4 -4
- package/front_end/panels/console/ConsolePinPane.ts +12 -12
- package/front_end/panels/console/ConsolePrompt.ts +6 -6
- package/front_end/panels/console/ConsoleSidebar.ts +7 -7
- package/front_end/panels/console/ConsoleView.ts +45 -44
- package/front_end/panels/console/ConsoleViewMessage.ts +40 -40
- package/front_end/panels/console/SymbolizedErrorWidget.ts +2 -1
- package/front_end/panels/console/console-meta.ts +34 -34
- package/front_end/panels/console_counters/WarningErrorCounter.ts +2 -2
- package/front_end/panels/coverage/CoverageListView.ts +28 -28
- package/front_end/panels/coverage/CoverageModel.ts +2 -1
- package/front_end/panels/coverage/CoverageView.ts +23 -23
- package/front_end/panels/coverage/coverage-meta.ts +5 -5
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +36 -36
- package/front_end/panels/css_overview/CSSOverviewProcessingView.ts +1 -1
- package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +2 -2
- package/front_end/panels/css_overview/CSSOverviewStartView.ts +6 -6
- package/front_end/panels/css_overview/CSSOverviewUnusedDeclarations.ts +6 -6
- package/front_end/panels/css_overview/css_overview-meta.ts +2 -2
- package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +20 -21
- package/front_end/panels/developer_resources/DeveloperResourcesView.ts +6 -8
- package/front_end/panels/developer_resources/developer_resources-meta.ts +2 -2
- package/front_end/panels/elements/AccessibilityTreeUtils.ts +8 -102
- package/front_end/panels/elements/AccessibilityTreeView.ts +163 -70
- package/front_end/panels/elements/ElementsPanel.ts +17 -11
- package/front_end/panels/elements/ElementsTreeElement.ts +49 -2
- package/front_end/panels/elements/ElementsTreeOutline.ts +4 -4
- package/front_end/panels/elements/LayoutPane.ts +1 -1
- package/front_end/panels/elements/MetricsSidebarPane.ts +100 -34
- package/front_end/panels/elements/StylePropertiesSection.ts +2 -2
- package/front_end/panels/elements/StylePropertyTreeElement.ts +8 -2
- package/front_end/panels/elements/StylesSidebarPane.ts +1 -1
- package/front_end/panels/elements/components/AccessibilityTreeNode.ts +7 -18
- package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +2 -2
- package/front_end/panels/elements/components/QueryContainer.ts +1 -1
- package/front_end/panels/issues/AffectedDirectivesView.ts +1 -1
- package/front_end/panels/issues/AffectedResourcesView.ts +2 -1
- package/front_end/panels/layer_viewer/LayerViewHost.ts +1 -1
- package/front_end/panels/media/EventDisplayTable.ts +2 -2
- package/front_end/panels/media/EventTimelineView.ts +4 -4
- package/front_end/panels/media/MainView.ts +4 -4
- package/front_end/panels/media/PlayerDetailView.ts +5 -5
- package/front_end/panels/media/PlayerListView.ts +1 -1
- package/front_end/panels/media/PlayerMessagesView.ts +12 -12
- package/front_end/panels/media/PlayerPropertiesView.ts +17 -17
- package/front_end/panels/network/NetworkDataGridNode.ts +124 -36
- package/front_end/panels/network/NetworkLogView.ts +11 -2
- package/front_end/panels/network/NetworkLogViewColumns.ts +18 -0
- package/front_end/panels/network/NetworkPanel.ts +2 -1
- package/front_end/panels/network/NetworkWaterfallColumn.ts +1 -3
- package/front_end/panels/network/RequestConditionsDrawer.ts +2 -2
- package/front_end/panels/network/RequestPayloadView.ts +53 -7
- package/front_end/panels/network/RequestPreviewView.ts +7 -1
- package/front_end/panels/network/components/ResponseHeaderSection.ts +1 -1
- package/front_end/panels/network/forward/UIFilter.ts +1 -0
- package/front_end/panels/network/networkPanel.css +1 -0
- package/front_end/panels/network/networkTimingTable.css +1 -1
- package/front_end/panels/network/requestPayloadView.css +10 -0
- package/front_end/panels/performance_monitor/PerformanceMonitor.ts +12 -12
- package/front_end/panels/performance_monitor/performance_monitor-meta.ts +7 -7
- package/front_end/panels/profiler/HeapDetachedElementsView.ts +2 -2
- package/front_end/panels/profiler/HeapProfileView.ts +563 -51
- package/front_end/panels/profiler/HeapSnapshotView.ts +15 -9
- package/front_end/panels/profiler/ProfilesPanel.ts +13 -7
- package/front_end/panels/profiler/WritableProfileHeader.ts +152 -0
- package/front_end/panels/profiler/profiler.ts +2 -2
- package/front_end/panels/protocol_monitor/JSONEditor.ts +10 -10
- package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +28 -32
- package/front_end/panels/protocol_monitor/protocol_monitor-meta.ts +1 -1
- package/front_end/panels/recorder/RecorderController.ts +15 -15
- package/front_end/panels/recorder/RecorderEvents.ts +8 -0
- package/front_end/panels/recorder/components/CreateRecordingView.ts +11 -11
- package/front_end/panels/recorder/components/ExtensionView.ts +74 -83
- package/front_end/panels/recorder/components/RecordingListView.ts +3 -3
- package/front_end/panels/recorder/components/RecordingView.ts +13 -10
- package/front_end/panels/recorder/components/ReplaySection.ts +9 -9
- package/front_end/panels/recorder/components/StepEditor.ts +352 -321
- package/front_end/panels/recorder/components/StepView.ts +36 -37
- package/front_end/panels/recorder/components/recordingView.css +1 -1
- package/front_end/panels/recorder/models/RecorderSettings.ts +2 -2
- package/front_end/panels/recorder/recorder-meta.ts +7 -7
- package/front_end/panels/screencast/ScreencastApp.ts +1 -1
- package/front_end/panels/screencast/ScreencastView.ts +12 -12
- package/front_end/panels/search/SearchResultsPane.ts +4 -4
- package/front_end/panels/search/SearchView.ts +20 -20
- package/front_end/panels/security/SecurityModel.ts +7 -7
- package/front_end/panels/security/SecurityPanel.ts +99 -107
- package/front_end/panels/security/SecurityPanelSidebar.ts +7 -7
- package/front_end/panels/security/security-meta.ts +2 -2
- package/front_end/panels/sensors/LocationsSettingsTab.ts +19 -19
- package/front_end/panels/sensors/SensorsView.ts +27 -27
- package/front_end/panels/sensors/sensors-meta.ts +13 -167
- package/front_end/panels/settings/AISettingsTab.ts +98 -56
- package/front_end/panels/settings/EditFileSystemView.ts +2 -2
- package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +20 -20
- package/front_end/panels/settings/KeybindsSettingsTab.ts +20 -21
- package/front_end/panels/settings/SettingsScreen.ts +11 -11
- package/front_end/panels/settings/WorkspaceSettingsTab.ts +5 -5
- package/front_end/panels/settings/components/SyncSection.ts +12 -12
- package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +13 -13
- package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +31 -31
- package/front_end/panels/settings/emulation/emulation-meta.ts +1 -1
- package/front_end/panels/settings/settings-meta.ts +14 -14
- package/front_end/panels/sources/NavigatorView.ts +7 -6
- package/front_end/panels/sources/ScopeChainSidebarPane.ts +83 -37
- package/front_end/panels/sources/SourcesNavigator.ts +20 -18
- package/front_end/panels/sources/SourcesView.ts +10 -1
- package/front_end/panels/sources/scopeChainSidebarPane.css +12 -4
- package/front_end/panels/sources/sources-meta.ts +4 -4
- package/front_end/panels/timeline/CompatibilityTracksAppender.ts +5 -2
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +2 -1
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +2 -1
- package/front_end/panels/timeline/TimelineFlameChartView.ts +1 -1
- package/front_end/panels/timeline/TimelinePanel.ts +2 -1
- package/front_end/panels/timeline/TimelineUIUtils.ts +5 -2
- package/front_end/panels/timeline/components/NetworkRequestDetails.ts +4 -2
- package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +4 -2
- package/front_end/panels/timeline/components/insights/ImageRef.ts +2 -1
- package/front_end/panels/utils/utils.ts +7 -3
- package/front_end/panels/web_audio/WebAudioView.ts +17 -18
- package/front_end/panels/web_audio/web_audio-meta.ts +3 -3
- package/front_end/panels/webauthn/WebauthnPane.ts +10 -10
- package/front_end/panels/whats_new/ReleaseNoteView.ts +1 -1
- package/front_end/panels/whats_new/whats_new-meta.ts +11 -11
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/lit/lib/async-directive.d.ts +2 -1
- package/front_end/third_party/lit/lib/async-directive.js +1 -1
- package/front_end/third_party/lit/lib/async-directive.js.map +1 -1
- package/front_end/third_party/lit/lib/decorators.d.ts +2 -1
- package/front_end/third_party/lit/lib/decorators.js.map +1 -1
- package/front_end/third_party/lit/lib/directive.d.ts +2 -1
- package/front_end/third_party/lit/lib/directive.js.map +1 -1
- package/front_end/third_party/lit/lib/directives.d.ts +2 -1
- package/front_end/third_party/lit/lib/directives.js +8 -8
- package/front_end/third_party/lit/lib/directives.js.map +1 -1
- package/front_end/third_party/lit/lib/lit.d.ts +2 -1
- package/front_end/third_party/lit/lib/lit.js +1 -1
- package/front_end/third_party/lit/lib/lit.js.map +1 -1
- package/front_end/third_party/lit/lib/static-html.d.ts +2 -1
- package/front_end/third_party/lit/lib/static-html.js +1 -1
- package/front_end/third_party/lit/lib/static-html.js.map +1 -1
- package/front_end/third_party/lit/package.json +2 -2
- package/front_end/third_party/lit/rebuild.sh +1 -1
- package/front_end/third_party/lit/src/async-directive.ts +5 -0
- package/front_end/ui/components/dialogs/Dialog.ts +1 -1
- package/front_end/ui/components/dialogs/ShortcutDialog.ts +1 -1
- package/front_end/ui/components/dialogs/shortcutDialog.css +15 -12
- package/front_end/ui/components/diff_view/DiffView.ts +2 -2
- package/front_end/ui/components/issue_counter/IssueCounter.ts +3 -3
- package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +5 -5
- package/front_end/ui/components/lists/List.ts +2 -2
- package/front_end/ui/components/panel_feedback/PreviewToggle.ts +1 -1
- package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +5 -5
- package/front_end/ui/components/settings/SettingCheckbox.ts +1 -1
- package/front_end/ui/components/snackbars/Snackbar.ts +1 -1
- package/front_end/ui/components/survey_link/SurveyLink.ts +3 -3
- package/front_end/ui/components/text_editor/config.ts +2 -2
- package/front_end/ui/components/tree_outline/TreeOutline.ts +34 -1
- package/front_end/ui/legacy/ReportView.ts +5 -0
- package/front_end/ui/legacy/Treeoutline.ts +18 -0
- package/front_end/ui/legacy/View.ts +1 -1
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +2 -0
- package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +8 -3
- package/front_end/ui/legacy/components/data_grid/data_grid.ts +1 -0
- package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +1 -1
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +100 -36
- package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +7 -1
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +5 -0
- package/front_end/ui/legacy/components/utils/ImagePreview.ts +4 -2
- package/front_end/ui/legacy/inspectorCommon.css +5 -0
- package/front_end/ui/visual_logging/KnownContextValues.ts +4 -0
- package/mcp/mcp.ts +2 -0
- package/package.json +4 -4
- package/front_end/panels/profiler/ProfileView.ts +0 -610
|
@@ -52,7 +52,7 @@ import {RemoteObjectPreviewFormatter, renderNodeTitle} from './RemoteObjectPrevi
|
|
|
52
52
|
|
|
53
53
|
export {objectPropertiesSectionStyles, objectValueStyles};
|
|
54
54
|
const {widget} = UI.Widget;
|
|
55
|
-
const {ref, repeat, ifDefined, classMap} = Directives;
|
|
55
|
+
const {ref, repeat, ifDefined, classMap, until} = Directives;
|
|
56
56
|
const UIStrings = {
|
|
57
57
|
/**
|
|
58
58
|
* @description Text in Object Properties Section
|
|
@@ -92,6 +92,10 @@ const UIStrings = {
|
|
|
92
92
|
* @example {50} PH1
|
|
93
93
|
*/
|
|
94
94
|
showAllD: 'Show all {PH1}',
|
|
95
|
+
/**
|
|
96
|
+
* @description Show all properties including those with null or undefined values
|
|
97
|
+
*/
|
|
98
|
+
showAll: 'Show all',
|
|
95
99
|
/**
|
|
96
100
|
* @description Value element text content in Object Properties Section. Shown when the developer is
|
|
97
101
|
* viewing a variable in the Scope view, whose value is not available (i.e. because it was optimized
|
|
@@ -145,6 +149,13 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
|
145
149
|
export const EXPANDABLE_MAX_DEPTH = 100;
|
|
146
150
|
|
|
147
151
|
const objectPropertiesSectionMap = new WeakMap<Element, ObjectPropertiesSection>();
|
|
152
|
+
// TODO(crbug.com/457388389): This cache is a temporary workaround for the <devtools-tree> migration.
|
|
153
|
+
// It can be removed once the entire ObjectPropertiesSection is fully migrated to Lit and
|
|
154
|
+
// the legacy TreeOutline/TreeElement dependencies are removed.
|
|
155
|
+
const topLevelNodesCache = new WeakMap<ObjectTreeNodeBase, {
|
|
156
|
+
nodes: UI.TreeOutline.TreeElement[],
|
|
157
|
+
linkifier?: Components.Linkifier.Linkifier,
|
|
158
|
+
}>();
|
|
148
159
|
|
|
149
160
|
interface NodeChildren {
|
|
150
161
|
properties?: ObjectTreeNode[];
|
|
@@ -431,7 +442,6 @@ export abstract class ObjectTreeNodeBase extends Common.ObjectWrapper.ObjectWrap
|
|
|
431
442
|
get canExpandRecursively(): boolean {
|
|
432
443
|
return true;
|
|
433
444
|
}
|
|
434
|
-
|
|
435
445
|
get sortPropertiesAlphabetically(): boolean {
|
|
436
446
|
if (this.isWasm) {
|
|
437
447
|
return false;
|
|
@@ -447,6 +457,7 @@ export abstract class ObjectTreeNodeBase extends Common.ObjectWrapper.ObjectWrap
|
|
|
447
457
|
setting.set(value);
|
|
448
458
|
this.removeChildren();
|
|
449
459
|
}
|
|
460
|
+
|
|
450
461
|
// Performs a pre-order tree traversal over the populated children. If any children need to be populated, callers must
|
|
451
462
|
// do that while walking (pre-order visitation enables that).
|
|
452
463
|
* #walk(maxDepth = -1, filter?: (node: ObjectTreeNodeBase) => boolean): Generator<ObjectTreeNodeBase> {
|
|
@@ -772,7 +783,6 @@ export class ObjectTreeNode extends ObjectTreeNodeBase {
|
|
|
772
783
|
override get canExpandRecursively(): boolean {
|
|
773
784
|
return this.property.name !== '[[Prototype]]';
|
|
774
785
|
}
|
|
775
|
-
|
|
776
786
|
get name(): string {
|
|
777
787
|
return this.property.name;
|
|
778
788
|
}
|
|
@@ -1164,7 +1174,8 @@ export class ObjectPropertiesSection extends UI.TreeOutline.TreeOutlineInShadow
|
|
|
1164
1174
|
event.consume(true);
|
|
1165
1175
|
}}
|
|
1166
1176
|
@mousemove=${() => SDK.OverlayModel.OverlayModel.highlightObjectAsDOMNode(value)}
|
|
1167
|
-
@mouseleave=${
|
|
1177
|
+
@mouseleave=${
|
|
1178
|
+
() => SDK.OverlayModel.OverlayModel.hideDOMNodeHighlight(SDK.TargetManager.TargetManager.instance())}
|
|
1168
1179
|
>${renderNodeTitle(description)}</span>`;
|
|
1169
1180
|
}
|
|
1170
1181
|
if (description.length > maxRenderableStringLength) {
|
|
@@ -1297,6 +1308,77 @@ export const enum ObjectPropertiesMode {
|
|
|
1297
1308
|
OWN_AND_INTERNAL_AND_INHERITED = 1, // Own, internal, and inherited properties
|
|
1298
1309
|
}
|
|
1299
1310
|
|
|
1311
|
+
export function populateObjectTreeContextMenu(
|
|
1312
|
+
contextMenu: UI.ContextMenu.ContextMenu,
|
|
1313
|
+
object: ObjectTree,
|
|
1314
|
+
expandRecursively: () => void,
|
|
1315
|
+
collapseChildren: () => void,
|
|
1316
|
+
sortPropertiesAlphabetically: () => void,
|
|
1317
|
+
onShowAllToggled: () => void,
|
|
1318
|
+
): void {
|
|
1319
|
+
contextMenu.appendApplicableItems(object.object);
|
|
1320
|
+
|
|
1321
|
+
if (object.object instanceof SDK.RemoteObject.LocalJSONObject) {
|
|
1322
|
+
const {value} = object.object;
|
|
1323
|
+
const propertyValue = typeof value === 'object' ? JSON.stringify(value, null, 2) : value;
|
|
1324
|
+
const copyValueHandler = (): void => {
|
|
1325
|
+
Host.userMetrics.actionTaken(Host.UserMetrics.Action.NetworkPanelCopyValue);
|
|
1326
|
+
Host.InspectorFrontendHost.InspectorFrontendHostInstance.copyText((propertyValue as string | undefined));
|
|
1327
|
+
};
|
|
1328
|
+
contextMenu.clipboardSection().appendItem(i18nString(UIStrings.copyValue), copyValueHandler,
|
|
1329
|
+
{jslogContext: 'copy-value'});
|
|
1330
|
+
}
|
|
1331
|
+
|
|
1332
|
+
contextMenu.viewSection().appendItem(i18nString(UIStrings.expandRecursively), expandRecursively,
|
|
1333
|
+
{jslogContext: 'expand-recursively'});
|
|
1334
|
+
contextMenu.viewSection().appendItem(i18nString(UIStrings.collapseChildren), collapseChildren,
|
|
1335
|
+
{jslogContext: 'collapse-children'});
|
|
1336
|
+
if (!object.isWasm) {
|
|
1337
|
+
contextMenu.viewSection().appendCheckboxItem(i18nString(UIStrings.sortPropertiesAlphabetically),
|
|
1338
|
+
sortPropertiesAlphabetically, {
|
|
1339
|
+
checked: object.sortPropertiesAlphabetically,
|
|
1340
|
+
jslogContext: 'sort-properties-alphabetically',
|
|
1341
|
+
});
|
|
1342
|
+
}
|
|
1343
|
+
contextMenu.viewSection().appendCheckboxItem(
|
|
1344
|
+
i18nString(UIStrings.showAll), onShowAllToggled,
|
|
1345
|
+
{checked: object.includeNullOrUndefinedValues, jslogContext: 'show-all'});
|
|
1346
|
+
}
|
|
1347
|
+
|
|
1348
|
+
export function renderObjectTree(
|
|
1349
|
+
objectTree: ObjectTree,
|
|
1350
|
+
linkifier?: Components.Linkifier.Linkifier,
|
|
1351
|
+
emptyPlaceholder?: string|null,
|
|
1352
|
+
): unknown {
|
|
1353
|
+
const entry = topLevelNodesCache.get(objectTree);
|
|
1354
|
+
if (entry && entry.linkifier === linkifier) {
|
|
1355
|
+
return html`
|
|
1356
|
+
<ul class="source-code object-properties-section" role="group">
|
|
1357
|
+
${entry.nodes.map(node => html`<devtools-tree-wrapper .treeElement=${node}></devtools-tree-wrapper>`)}
|
|
1358
|
+
</ul>
|
|
1359
|
+
`;
|
|
1360
|
+
}
|
|
1361
|
+
|
|
1362
|
+
const promise = (async () => {
|
|
1363
|
+
await ObjectPropertyTreeElement.populateChildrenIfNeeded(objectTree);
|
|
1364
|
+
const nodes = Array.from(ObjectPropertyTreeElement.createNodes(
|
|
1365
|
+
objectTree, /* skipProto= */ false, /* skipGettersAndSetters= */ false, linkifier, emptyPlaceholder));
|
|
1366
|
+
topLevelNodesCache.set(objectTree, {linkifier, nodes});
|
|
1367
|
+
const listener = (): void => {
|
|
1368
|
+
topLevelNodesCache.delete(objectTree);
|
|
1369
|
+
objectTree.removeEventListener(ObjectTreeNodeBase.Events.CHILDREN_CHANGED, listener);
|
|
1370
|
+
};
|
|
1371
|
+
objectTree.addEventListener(ObjectTreeNodeBase.Events.CHILDREN_CHANGED, listener);
|
|
1372
|
+
|
|
1373
|
+
return html`
|
|
1374
|
+
<ul class="source-code object-properties-section" role="group">
|
|
1375
|
+
${nodes.map(node => html`<devtools-tree-wrapper .treeElement=${node}></devtools-tree-wrapper>`)}
|
|
1376
|
+
</ul>
|
|
1377
|
+
`;
|
|
1378
|
+
})();
|
|
1379
|
+
|
|
1380
|
+
return until(promise, html`<ul class="source-code object-properties-section" role="group"></ul>`);
|
|
1381
|
+
}
|
|
1300
1382
|
export class RootElement extends UI.TreeOutline.TreeElement {
|
|
1301
1383
|
private readonly object: ObjectTree;
|
|
1302
1384
|
private readonly linkifier: Components.Linkifier.Linkifier|undefined;
|
|
@@ -1341,35 +1423,18 @@ export class RootElement extends UI.TreeOutline.TreeElement {
|
|
|
1341
1423
|
|
|
1342
1424
|
private onContextMenu(event: Event): void {
|
|
1343
1425
|
const contextMenu = new UI.ContextMenu.ContextMenu(event);
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
contextMenu.viewSection().appendItem(
|
|
1358
|
-
i18nString(UIStrings.expandRecursively), this.expandRecursively.bind(this, EXPANDABLE_MAX_DEPTH),
|
|
1359
|
-
{jslogContext: 'expand-recursively'});
|
|
1360
|
-
contextMenu.viewSection().appendItem(
|
|
1361
|
-
i18nString(UIStrings.collapseChildren), this.collapseChildren.bind(this), {jslogContext: 'collapse-children'});
|
|
1362
|
-
if (!this.object.isWasm) {
|
|
1363
|
-
contextMenu.viewSection().appendCheckboxItem(i18nString(UIStrings.sortPropertiesAlphabetically), () => {
|
|
1364
|
-
this.object.sortPropertiesAlphabetically = !this.object.sortPropertiesAlphabetically;
|
|
1365
|
-
}, {
|
|
1366
|
-
checked: this.object.sortPropertiesAlphabetically,
|
|
1367
|
-
jslogContext: 'sort-properties-alphabetically',
|
|
1368
|
-
});
|
|
1369
|
-
}
|
|
1370
|
-
contextMenu.viewSection().appendCheckboxItem(i18n.i18n.lockedString('Show all'), () => {
|
|
1371
|
-
this.object.includeNullOrUndefinedValues = !this.object.includeNullOrUndefinedValues;
|
|
1372
|
-
}, {checked: this.object.includeNullOrUndefinedValues, jslogContext: 'show-all'});
|
|
1426
|
+
populateObjectTreeContextMenu(
|
|
1427
|
+
contextMenu,
|
|
1428
|
+
this.object,
|
|
1429
|
+
this.expandRecursively.bind(this, EXPANDABLE_MAX_DEPTH),
|
|
1430
|
+
this.collapseChildren.bind(this),
|
|
1431
|
+
() => {
|
|
1432
|
+
this.object.sortPropertiesAlphabetically = !this.object.sortPropertiesAlphabetically;
|
|
1433
|
+
},
|
|
1434
|
+
() => {
|
|
1435
|
+
this.object.includeNullOrUndefinedValues = !this.object.includeNullOrUndefinedValues;
|
|
1436
|
+
},
|
|
1437
|
+
);
|
|
1373
1438
|
void contextMenu.show();
|
|
1374
1439
|
}
|
|
1375
1440
|
|
|
@@ -1674,6 +1739,7 @@ export class ObjectPropertyTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
1674
1739
|
super();
|
|
1675
1740
|
|
|
1676
1741
|
this.#widget = new ObjectPropertyWidget();
|
|
1742
|
+
this.#widget.markAsRoot();
|
|
1677
1743
|
this.property = property;
|
|
1678
1744
|
this.hidden = property.isFiltered;
|
|
1679
1745
|
this.property.addEventListener(ObjectTreeNodeBase.Events.VALUE_CHANGED, this.#updateValue, this);
|
|
@@ -1894,7 +1960,6 @@ export class ObjectPropertyTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
1894
1960
|
|
|
1895
1961
|
override onattach(): void {
|
|
1896
1962
|
this.updateExpandable();
|
|
1897
|
-
this.#widget.markAsRoot();
|
|
1898
1963
|
this.#widget.show(this.listItemElement);
|
|
1899
1964
|
this.#widget.property = this.property;
|
|
1900
1965
|
this.#widget.linkifier = this.linkifier;
|
|
@@ -1932,7 +1997,6 @@ export class ObjectPropertyTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
1932
1997
|
this.collapse();
|
|
1933
1998
|
}
|
|
1934
1999
|
}
|
|
1935
|
-
|
|
1936
2000
|
getContextMenu(event: Event): UI.ContextMenu.ContextMenu {
|
|
1937
2001
|
const contextMenu = new UI.ContextMenu.ContextMenu(event);
|
|
1938
2002
|
contextMenu.appendApplicableItems(this);
|
|
@@ -1978,7 +2042,7 @@ export class ObjectPropertyTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
1978
2042
|
jslogContext: 'sort-properties-alphabetically',
|
|
1979
2043
|
});
|
|
1980
2044
|
}
|
|
1981
|
-
contextMenu.viewSection().appendCheckboxItem(
|
|
2045
|
+
contextMenu.viewSection().appendCheckboxItem(i18nString(UIStrings.showAll), () => {
|
|
1982
2046
|
root.includeNullOrUndefinedValues = !root.includeNullOrUndefinedValues;
|
|
1983
2047
|
}, {checked: root.includeNullOrUndefinedValues, jslogContext: 'show-all'});
|
|
1984
2048
|
return contextMenu;
|
|
@@ -38,6 +38,7 @@ import * as Common from '../../../../core/common/common.js';
|
|
|
38
38
|
import * as i18n from '../../../../core/i18n/i18n.js';
|
|
39
39
|
import * as FormatterActions from '../../../../entrypoints/formatter_worker/FormatterActions.js'; // eslint-disable-line @devtools/es-modules-import
|
|
40
40
|
import * as TextUtils from '../../../../models/text_utils/text_utils.js';
|
|
41
|
+
import {render} from '../../../../ui/lit/lit.js';
|
|
41
42
|
import * as UI from '../../legacy.js';
|
|
42
43
|
|
|
43
44
|
import resourceSourceFrameStyles from './resourceSourceFrame.css.js';
|
|
@@ -118,7 +119,12 @@ export class SearchableContainer extends UI.Widget.VBox {
|
|
|
118
119
|
|
|
119
120
|
const toolbar = this.contentElement.createChild('devtools-toolbar', 'toolbar');
|
|
120
121
|
void sourceFrame.toolbarItems().then(items => {
|
|
121
|
-
|
|
122
|
+
if (Array.isArray(items)) {
|
|
123
|
+
items.map(item => toolbar.appendToolbarItem(item));
|
|
124
|
+
} else {
|
|
125
|
+
// eslint-disable-next-line @devtools/no-lit-render-outside-of-view
|
|
126
|
+
render(items, toolbar);
|
|
127
|
+
}
|
|
122
128
|
});
|
|
123
129
|
}
|
|
124
130
|
|
|
@@ -31,6 +31,10 @@ const UIStrings = {
|
|
|
31
31
|
* @description Text when something is loading
|
|
32
32
|
*/
|
|
33
33
|
loading: 'Loading…',
|
|
34
|
+
/**
|
|
35
|
+
* @description Text when a file is currently being pretty printed/formatted in the editor
|
|
36
|
+
*/
|
|
37
|
+
formatting: 'Formatting…',
|
|
34
38
|
/**
|
|
35
39
|
* @description Shown at the bottom of the Sources panel when the user has made multiple
|
|
36
40
|
* simultaneous text selections in the text editor.
|
|
@@ -387,6 +391,7 @@ export class SourceFrameImpl extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
|
387
391
|
if (this.prettyInternal) {
|
|
388
392
|
const content =
|
|
389
393
|
this.rawContent instanceof CodeMirror.Text ? this.rawContent.sliceString(0) : this.rawContent || '';
|
|
394
|
+
this.textEditor.state = this.placeholderEditorState(i18nString(UIStrings.formatting));
|
|
390
395
|
const formatInfo = await Formatter.ScriptFormatter.formatScriptContent(this.contentType, content);
|
|
391
396
|
this.formattedMap = formatInfo.formattedMapping;
|
|
392
397
|
await this.setContent(formatInfo.formattedContent);
|
|
@@ -84,11 +84,13 @@ export class ImagePreview {
|
|
|
84
84
|
): Promise<HTMLDivElement|null> {
|
|
85
85
|
const {precomputedFeatures, imageAltText, align} = options;
|
|
86
86
|
|
|
87
|
-
let resource = SDK.ResourceTreeModel.ResourceTreeModel.resourceForURL(
|
|
87
|
+
let resource = SDK.ResourceTreeModel.ResourceTreeModel.resourceForURL(SDK.TargetManager.TargetManager.instance(),
|
|
88
|
+
originalImageURL);
|
|
88
89
|
let imageURL = originalImageURL;
|
|
89
90
|
if (!isImageResource(resource) && precomputedFeatures?.currentSrc) {
|
|
90
91
|
imageURL = precomputedFeatures.currentSrc;
|
|
91
|
-
resource =
|
|
92
|
+
resource =
|
|
93
|
+
SDK.ResourceTreeModel.ResourceTreeModel.resourceForURL(SDK.TargetManager.TargetManager.instance(), imageURL);
|
|
92
94
|
}
|
|
93
95
|
if (!resource || !isImageResource(resource)) {
|
|
94
96
|
return null;
|
|
@@ -1633,6 +1633,7 @@ export const knownContextValues = new Set([
|
|
|
1633
1633
|
'evolved-cls',
|
|
1634
1634
|
'exclude-folder',
|
|
1635
1635
|
'exclude-folder-confirmation',
|
|
1636
|
+
'execution-context',
|
|
1636
1637
|
'expand',
|
|
1637
1638
|
'expand-recursively',
|
|
1638
1639
|
'experimental-item',
|
|
@@ -2128,6 +2129,7 @@ export const knownContextValues = new Set([
|
|
|
2128
2129
|
'is-ad-related',
|
|
2129
2130
|
'is-landscape',
|
|
2130
2131
|
'is-mobile',
|
|
2132
|
+
'is-preloaded',
|
|
2131
2133
|
'is-resident-credential',
|
|
2132
2134
|
'is-u',
|
|
2133
2135
|
'is-user-active-false-is-screen-unlocked-false',
|
|
@@ -3568,6 +3570,7 @@ export const knownContextValues = new Set([
|
|
|
3568
3570
|
'seeked',
|
|
3569
3571
|
'seeking',
|
|
3570
3572
|
'select',
|
|
3573
|
+
'select-all',
|
|
3571
3574
|
'select-element',
|
|
3572
3575
|
'select-folder',
|
|
3573
3576
|
'select-next',
|
|
@@ -4495,6 +4498,7 @@ export const knownContextValues = new Set([
|
|
|
4495
4498
|
'window',
|
|
4496
4499
|
'window-controls',
|
|
4497
4500
|
'window-controls-overlay',
|
|
4501
|
+
'window-drag',
|
|
4498
4502
|
'windows',
|
|
4499
4503
|
'word-break',
|
|
4500
4504
|
'word-spacing',
|
package/mcp/mcp.ts
CHANGED
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
// just import relevant meta files (as long as they don't contain any UI related code)
|
|
8
8
|
import '../front_end/core/sdk/sdk-meta.js';
|
|
9
9
|
import '../front_end/models/workspace/workspace-meta.js';
|
|
10
|
+
import '../front_end/models/persistence/persistence-meta.js';
|
|
11
|
+
import '../front_end/models/logs/logs-meta.js';
|
|
10
12
|
|
|
11
13
|
/**
|
|
12
14
|
* IMPORTANT! Make sure that any class that is exported here has related unit
|
package/package.json
CHANGED
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"lint": "vpython3 third_party/node/node.py --output scripts/test/run_lint_check.mjs",
|
|
28
28
|
"prebuild": "gn gen out/Default",
|
|
29
29
|
"rdb": "rdb stream -new -realm chromium:public --",
|
|
30
|
+
"rdb-exonerate": "npm run rdb -- vpython3 third_party/node/node.py --output scripts/run_on_target.mjs gen/test/exonerate.js",
|
|
30
31
|
"start": "vpython3 third_party/node/node.py --output scripts/run_start.mjs",
|
|
31
32
|
"webtest": "vpython3 third_party/node/node.py --output scripts/npm_test.js",
|
|
32
33
|
"watch": "npm run build -- --watch",
|
|
@@ -68,7 +69,6 @@
|
|
|
68
69
|
"karma-chrome-launcher": "3.2.0",
|
|
69
70
|
"karma-coverage": "2.2.1",
|
|
70
71
|
"karma-mocha": "2.0.1",
|
|
71
|
-
"karma-mocha-reporter": "2.2.5",
|
|
72
72
|
"karma-sourcemap-loader": "0.4.0",
|
|
73
73
|
"karma-spec-reporter": "0.0.36",
|
|
74
74
|
"license-checker": "25.0.1",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"mocha": "11.7.5",
|
|
77
77
|
"ora": "9.0.0",
|
|
78
78
|
"postcss": "8.5.15",
|
|
79
|
-
"puppeteer-core": "25.
|
|
79
|
+
"puppeteer-core": "25.3.0",
|
|
80
80
|
"rollup": "4.60.4",
|
|
81
81
|
"rollup-plugin-sourcemaps2": "0.5.4",
|
|
82
82
|
"sinon": "22.0.0",
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"stylelint": "16.25.0",
|
|
85
85
|
"stylelint-config-standard": "39.0.1",
|
|
86
86
|
"svgo": "3.3.3",
|
|
87
|
-
"terser": "5.
|
|
87
|
+
"terser": "5.48.0",
|
|
88
88
|
"ts-lit-plugin": "2.0.2",
|
|
89
89
|
"typescript": "6.0.2",
|
|
90
90
|
"typescript-eslint": "8.58.0",
|
|
@@ -92,5 +92,5 @@
|
|
|
92
92
|
"webidl2": "24.5.0",
|
|
93
93
|
"yargs": "17.7.2"
|
|
94
94
|
},
|
|
95
|
-
"version": "1.0.
|
|
95
|
+
"version": "1.0.1660788"
|
|
96
96
|
}
|