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
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
// Copyright 2023 The Chromium Authors
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
|
-
/* eslint-disable @devtools/no-lit-render-outside-of-view */
|
|
5
|
-
|
|
6
|
-
import '../../../ui/legacy/legacy.js';
|
|
7
|
-
import '../../../ui/kit/kit.js';
|
|
8
4
|
|
|
9
5
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
10
6
|
import type * as PublicExtensions from '../../../models/extensions/extensions.js';
|
|
11
7
|
import * as Buttons from '../../../ui/components/buttons/buttons.js';
|
|
8
|
+
import * as UI from '../../../ui/legacy/legacy.js';
|
|
12
9
|
import * as Lit from '../../../ui/lit/lit.js';
|
|
13
10
|
import * as VisualLogging from '../../../ui/visual_logging/visual_logging.js';
|
|
14
11
|
import * as Extensions from '../extensions/extensions.js';
|
|
@@ -27,106 +24,100 @@ const UIStrings = {
|
|
|
27
24
|
*/
|
|
28
25
|
extension: 'Content provided by a browser extension',
|
|
29
26
|
} as const;
|
|
30
|
-
const str_ = i18n.i18n.registerUIStrings(
|
|
31
|
-
'panels/recorder/components/ExtensionView.ts',
|
|
32
|
-
UIStrings,
|
|
33
|
-
);
|
|
27
|
+
const str_ = i18n.i18n.registerUIStrings('panels/recorder/components/ExtensionView.ts', UIStrings);
|
|
34
28
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
35
29
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
interface HTMLElementEventMap {
|
|
41
|
-
recorderextensionviewclosed: ClosedEvent;
|
|
42
|
-
}
|
|
30
|
+
export interface ViewInput {
|
|
31
|
+
descriptor: PublicExtensions.RecorderPluginManager.ViewDescriptor;
|
|
32
|
+
iframe: HTMLElement;
|
|
43
33
|
}
|
|
44
34
|
|
|
45
|
-
export
|
|
46
|
-
|
|
47
|
-
constructor() {
|
|
48
|
-
super(ClosedEvent.eventName, {bubbles: true, composed: true});
|
|
49
|
-
}
|
|
35
|
+
export interface ViewOutput {
|
|
36
|
+
closeView: () => void;
|
|
50
37
|
}
|
|
51
38
|
|
|
52
|
-
export
|
|
53
|
-
|
|
39
|
+
export type View = (input: ViewInput, output: ViewOutput, target: HTMLElement) => void;
|
|
40
|
+
|
|
41
|
+
export const DEFAULT_VIEW: View = (input, output, target) => {
|
|
42
|
+
const {descriptor, iframe} = input;
|
|
43
|
+
// clang-format off
|
|
44
|
+
Lit.render(
|
|
45
|
+
html`
|
|
46
|
+
<style>${extensionViewStyles}</style>
|
|
47
|
+
<div class="extension-view">
|
|
48
|
+
<header>
|
|
49
|
+
<div class="title">
|
|
50
|
+
<devtools-icon
|
|
51
|
+
class="icon"
|
|
52
|
+
title=${i18nString(UIStrings.extension)}
|
|
53
|
+
name="extension">
|
|
54
|
+
</devtools-icon>
|
|
55
|
+
${descriptor.title}
|
|
56
|
+
</div>
|
|
57
|
+
<devtools-button
|
|
58
|
+
title=${i18nString(UIStrings.closeView)}
|
|
59
|
+
jslog=${VisualLogging.close().track({click: true})}
|
|
60
|
+
.data=${
|
|
61
|
+
{
|
|
62
|
+
variant: Buttons.Button.Variant.ICON,
|
|
63
|
+
size: Buttons.Button.Size.SMALL,
|
|
64
|
+
iconName: 'cross',
|
|
65
|
+
} as Buttons.Button.ButtonData
|
|
66
|
+
}
|
|
67
|
+
@click=${output.closeView}
|
|
68
|
+
></devtools-button>
|
|
69
|
+
</header>
|
|
70
|
+
<main>
|
|
71
|
+
${iframe}
|
|
72
|
+
</main>
|
|
73
|
+
</div>
|
|
74
|
+
`, target, {container: {attributes: {jslog: VisualLogging.section('extension-view')}}});
|
|
75
|
+
// clang-format on
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export class ExtensionView extends UI.Widget.VBox {
|
|
54
79
|
#descriptor?: PublicExtensions.RecorderPluginManager.ViewDescriptor;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
80
|
+
#view: View;
|
|
81
|
+
#onClose?: () => void;
|
|
82
|
+
#viewOutput: ViewOutput = {
|
|
83
|
+
closeView: () => {
|
|
84
|
+
this.#onClose?.();
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
set onClose(callback: () => void) {
|
|
89
|
+
this.#onClose = callback;
|
|
60
90
|
}
|
|
61
91
|
|
|
62
|
-
|
|
63
|
-
|
|
92
|
+
constructor(element?: HTMLElement, view: View = DEFAULT_VIEW) {
|
|
93
|
+
super(element, {useShadowDom: true});
|
|
94
|
+
this.#view = view;
|
|
64
95
|
}
|
|
65
96
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
Extensions.ExtensionManager.ExtensionManager.instance().getView(this.#descriptor.id).hide();
|
|
97
|
+
get descriptor(): PublicExtensions.RecorderPluginManager.ViewDescriptor|undefined {
|
|
98
|
+
return this.#descriptor;
|
|
71
99
|
}
|
|
72
100
|
|
|
73
|
-
set descriptor(
|
|
74
|
-
descriptor: PublicExtensions.RecorderPluginManager.ViewDescriptor,
|
|
75
|
-
) {
|
|
101
|
+
set descriptor(descriptor: PublicExtensions.RecorderPluginManager.ViewDescriptor|undefined) {
|
|
76
102
|
this.#descriptor = descriptor;
|
|
77
|
-
|
|
78
|
-
|
|
103
|
+
if (descriptor) {
|
|
104
|
+
Extensions.ExtensionManager.ExtensionManager.instance().getView(descriptor.id).show();
|
|
105
|
+
}
|
|
106
|
+
this.requestUpdate();
|
|
79
107
|
}
|
|
80
108
|
|
|
81
|
-
|
|
82
|
-
|
|
109
|
+
override willHide(): void {
|
|
110
|
+
super.willHide();
|
|
111
|
+
if (this.#descriptor) {
|
|
112
|
+
Extensions.ExtensionManager.ExtensionManager.instance().getView(this.#descriptor.id).hide();
|
|
113
|
+
}
|
|
83
114
|
}
|
|
84
115
|
|
|
85
|
-
|
|
116
|
+
override performUpdate(): void {
|
|
86
117
|
if (!this.#descriptor) {
|
|
87
118
|
return;
|
|
88
119
|
}
|
|
89
120
|
const iframe = Extensions.ExtensionManager.ExtensionManager.instance().getView(this.#descriptor.id).frame();
|
|
90
|
-
|
|
91
|
-
Lit.render(
|
|
92
|
-
html`
|
|
93
|
-
<style>${extensionViewStyles}</style>
|
|
94
|
-
<div class="extension-view">
|
|
95
|
-
<header>
|
|
96
|
-
<div class="title">
|
|
97
|
-
<devtools-icon
|
|
98
|
-
class="icon"
|
|
99
|
-
title=${i18nString(UIStrings.extension)}
|
|
100
|
-
name="extension">
|
|
101
|
-
</devtools-icon>
|
|
102
|
-
${this.#descriptor.title}
|
|
103
|
-
</div>
|
|
104
|
-
<devtools-button
|
|
105
|
-
title=${i18nString(UIStrings.closeView)}
|
|
106
|
-
jslog=${VisualLogging.close().track({click: true})}
|
|
107
|
-
.data=${
|
|
108
|
-
{
|
|
109
|
-
variant: Buttons.Button.Variant.ICON,
|
|
110
|
-
size: Buttons.Button.Size.SMALL,
|
|
111
|
-
iconName: 'cross',
|
|
112
|
-
} as Buttons.Button.ButtonData
|
|
113
|
-
}
|
|
114
|
-
@click=${this.#closeView}
|
|
115
|
-
></devtools-button>
|
|
116
|
-
</header>
|
|
117
|
-
<main>
|
|
118
|
-
${iframe}
|
|
119
|
-
</main>
|
|
120
|
-
</div>
|
|
121
|
-
`,
|
|
122
|
-
this.#shadow,
|
|
123
|
-
{ host: this },
|
|
124
|
-
);
|
|
125
|
-
// clang-format on
|
|
121
|
+
this.#view({descriptor: this.#descriptor, iframe}, this.#viewOutput, this.contentElement);
|
|
126
122
|
}
|
|
127
123
|
}
|
|
128
|
-
|
|
129
|
-
customElements.define(
|
|
130
|
-
'devtools-recorder-extension-view',
|
|
131
|
-
ExtensionView,
|
|
132
|
-
);
|
|
@@ -18,11 +18,11 @@ const {html} = Lit;
|
|
|
18
18
|
|
|
19
19
|
const UIStrings = {
|
|
20
20
|
/**
|
|
21
|
-
* @description The title of the page that contains a list of saved recordings
|
|
21
|
+
* @description The title of the page that contains a list of saved recordings.
|
|
22
22
|
*/
|
|
23
23
|
savedRecordings: 'Saved recordings',
|
|
24
24
|
/**
|
|
25
|
-
* @description The title of the button that leads to
|
|
25
|
+
* @description The title of the button that leads to the page for creating a new recording.
|
|
26
26
|
*/
|
|
27
27
|
createRecording: 'Create a new recording',
|
|
28
28
|
/**
|
|
@@ -34,7 +34,7 @@ const UIStrings = {
|
|
|
34
34
|
*/
|
|
35
35
|
deleteRecording: 'Delete recording',
|
|
36
36
|
/**
|
|
37
|
-
* @description The title of the row corresponding to a recording. By clicking on the row, the user
|
|
37
|
+
* @description The title of the row corresponding to a recording. By clicking on the row, the user opens the recording for editing.
|
|
38
38
|
*/
|
|
39
39
|
openRecording: 'Open recording',
|
|
40
40
|
} as const;
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
5
|
import '../../../ui/kit/kit.js';
|
|
6
|
-
import './ExtensionView.js';
|
|
7
6
|
|
|
8
7
|
import * as Host from '../../../core/host/host.js';
|
|
9
8
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
@@ -28,6 +27,7 @@ import {PlayRecordingSpeed} from '../models/RecordingPlayer.js';
|
|
|
28
27
|
import * as Actions from '../recorder-actions/recorder-actions.js';
|
|
29
28
|
|
|
30
29
|
import {ControlButton} from './ControlButton.js';
|
|
30
|
+
import {ExtensionView} from './ExtensionView.js';
|
|
31
31
|
import recordingViewStyles from './recordingView.css.js';
|
|
32
32
|
import {ReplaySection} from './ReplaySection.js';
|
|
33
33
|
import {
|
|
@@ -80,11 +80,11 @@ const UIStrings = {
|
|
|
80
80
|
*/
|
|
81
81
|
environment: 'Environment',
|
|
82
82
|
/**
|
|
83
|
-
* @description The title of the screenshot image that is shown for every section in the
|
|
83
|
+
* @description The title of the screenshot image that is shown for every section in the recording view.
|
|
84
84
|
*/
|
|
85
85
|
screenshotForSection: 'Screenshot for this section',
|
|
86
86
|
/**
|
|
87
|
-
* @description The title of the button that edits the current recording
|
|
87
|
+
* @description The title of the button that edits the current recording’s title.
|
|
88
88
|
*/
|
|
89
89
|
editTitle: 'Edit title',
|
|
90
90
|
/**
|
|
@@ -138,7 +138,7 @@ const UIStrings = {
|
|
|
138
138
|
*/
|
|
139
139
|
addAssertion: 'Add assertion',
|
|
140
140
|
/**
|
|
141
|
-
* @description The title of the button that
|
|
141
|
+
* @description The title of the button that opens the current recording in the Performance panel.
|
|
142
142
|
*/
|
|
143
143
|
performancePanel: 'Performance panel',
|
|
144
144
|
/**
|
|
@@ -148,7 +148,7 @@ const UIStrings = {
|
|
|
148
148
|
/**
|
|
149
149
|
* @description The announcement when the code sidebar is closed.
|
|
150
150
|
*/
|
|
151
|
-
codeSidebarClosed: 'Code sidebar closed'
|
|
151
|
+
codeSidebarClosed: 'Code sidebar closed',
|
|
152
152
|
} as const;
|
|
153
153
|
const str_ = i18n.i18n.registerUIStrings(
|
|
154
154
|
'panels/recorder/components/RecordingView.ts',
|
|
@@ -381,8 +381,8 @@ function renderTimelineArea(input: ViewInput, output: ViewOutput): Lit.LitTempla
|
|
|
381
381
|
if (input.extensionDescriptor) {
|
|
382
382
|
// clang-format off
|
|
383
383
|
return html`
|
|
384
|
-
<devtools-recorder-extension-view
|
|
385
|
-
</devtools-
|
|
384
|
+
<devtools-widget class="recorder-extension-view" ${widget(ExtensionView, {descriptor: input.extensionDescriptor})}>
|
|
385
|
+
</devtools-widget>
|
|
386
386
|
`;
|
|
387
387
|
// clang-format on
|
|
388
388
|
}
|
|
@@ -802,9 +802,12 @@ export const DEFAULT_VIEW = (input: ViewInput, output: ViewOutput, target: HTMLE
|
|
|
802
802
|
${
|
|
803
803
|
input.extensionDescriptor
|
|
804
804
|
? html`
|
|
805
|
-
<devtools-recorder-extension-view
|
|
806
|
-
input.extensionDescriptor
|
|
807
|
-
|
|
805
|
+
<devtools-widget class="recorder-extension-view" ${widget(ExtensionView, {
|
|
806
|
+
descriptor: input.extensionDescriptor,
|
|
807
|
+
onClose: () => {
|
|
808
|
+
target.dispatchEvent(new Event('recorderextensionviewclosed', {bubbles: true, composed: true}));
|
|
809
|
+
}
|
|
810
|
+
})}></devtools-widget>` : html`
|
|
808
811
|
${renderSettings(input)}
|
|
809
812
|
${renderTimelineArea(input, output)}
|
|
810
813
|
`}
|
|
@@ -19,39 +19,39 @@ const {html, Directives: {ifDefined, repeat}} = Lit;
|
|
|
19
19
|
|
|
20
20
|
const UIStrings = {
|
|
21
21
|
/**
|
|
22
|
-
* @description Replay button label
|
|
22
|
+
* @description Replay button label.
|
|
23
23
|
*/
|
|
24
24
|
Replay: 'Replay',
|
|
25
25
|
/**
|
|
26
|
-
* @description Button label for the normal speed replay option
|
|
26
|
+
* @description Button label for the normal speed replay option.
|
|
27
27
|
*/
|
|
28
28
|
ReplayNormalButtonLabel: 'Normal speed',
|
|
29
29
|
/**
|
|
30
|
-
* @description Item label for the normal speed replay option
|
|
30
|
+
* @description Item label for the normal speed replay option.
|
|
31
31
|
*/
|
|
32
32
|
ReplayNormalItemLabel: 'Normal (Default)',
|
|
33
33
|
/**
|
|
34
|
-
* @description Button label for the slow speed replay option
|
|
34
|
+
* @description Button label for the slow speed replay option.
|
|
35
35
|
*/
|
|
36
36
|
ReplaySlowButtonLabel: 'Slow speed',
|
|
37
37
|
/**
|
|
38
|
-
* @description Item label for the slow speed replay option
|
|
38
|
+
* @description Item label for the slow speed replay option.
|
|
39
39
|
*/
|
|
40
40
|
ReplaySlowItemLabel: 'Slow',
|
|
41
41
|
/**
|
|
42
|
-
* @description Button label for the very slow speed replay option
|
|
42
|
+
* @description Button label for the very slow speed replay option.
|
|
43
43
|
*/
|
|
44
44
|
ReplayVerySlowButtonLabel: 'Very slow speed',
|
|
45
45
|
/**
|
|
46
|
-
* @description Item label for the very slow speed replay option
|
|
46
|
+
* @description Item label for the very slow speed replay option.
|
|
47
47
|
*/
|
|
48
48
|
ReplayVerySlowItemLabel: 'Very slow',
|
|
49
49
|
/**
|
|
50
|
-
* @description Button label for the extremely slow speed replay option
|
|
50
|
+
* @description Button label for the extremely slow speed replay option.
|
|
51
51
|
*/
|
|
52
52
|
ReplayExtremelySlowButtonLabel: 'Extremely slow speed',
|
|
53
53
|
/**
|
|
54
|
-
* @description Item label for the slow speed replay option
|
|
54
|
+
* @description Item label for the extremely slow speed replay option.
|
|
55
55
|
*/
|
|
56
56
|
ReplayExtremelySlowItemLabel: 'Extremely slow',
|
|
57
57
|
/**
|