chrome-devtools-frontend 1.0.1657855 → 1.0.1661063
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/evaluate-ai-css-completion/SKILL.md +133 -0
- package/.agents/skills/evaluate-ai-css-completion/scripts/evaluate.js +76 -0
- package/.agents/skills/migrate-chromium-test/SKILL.md +15 -70
- 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/eslint.config.mjs +7 -0
- package/extension-api/ExtensionAPI.d.ts +88 -0
- package/front_end/Tests.js +6 -6
- package/front_end/core/common/Gzip.ts +12 -5
- package/front_end/core/host/AidaClient.ts +35 -9
- package/front_end/core/host/GdpClient.ts +10 -7
- package/front_end/core/host/InspectorFrontendHost.ts +1 -0
- package/front_end/core/host/InspectorFrontendHostStub.ts +2 -0
- package/front_end/core/platform/StringUtilities.ts +55 -4
- 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 +10 -5
- 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 +7 -1
- package/front_end/core/sdk/DOMModel.ts +33 -18
- package/front_end/core/sdk/DebuggerModel.ts +4 -4
- package/front_end/core/sdk/EventBreakpointsModel.ts +2 -0
- package/front_end/core/sdk/FrameManager.ts +1 -0
- package/front_end/core/sdk/IsolateManager.ts +1 -0
- package/front_end/core/sdk/NetworkManager.ts +59 -11
- package/front_end/core/sdk/NetworkRequest.ts +38 -1
- package/front_end/core/sdk/OverlayModel.ts +45 -6
- package/front_end/core/sdk/PageResourceLoader.ts +2 -0
- 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/SourceMap.ts +5 -5
- package/front_end/core/sdk/SourceMapManager.ts +3 -2
- package/front_end/core/sdk/TargetManager.ts +14 -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/formatter_worker/FormattedContentBuilder.ts +5 -2
- package/front_end/entrypoints/formatter_worker/HTMLFormatter.ts +26 -4
- 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 +20 -22
- package/front_end/entrypoints/main/main-meta.ts +42 -42
- package/front_end/entrypoints/node_app/node_app.ts +3 -2
- package/front_end/entrypoints/worker_app/WorkerMain.ts +1 -1
- package/front_end/foundation/Universe.ts +44 -1
- package/front_end/generated/InspectorBackendCommands.ts +2 -2
- package/front_end/generated/SupportedCSSProperties.js +19 -12
- package/front_end/generated/protocol.ts +3 -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/CompilerScriptMapping.ts +7 -7
- package/front_end/models/bindings/ContentProviderBasedProject.ts +4 -4
- package/front_end/models/bindings/DebuggerLanguagePlugins.ts +5 -5
- package/front_end/models/bindings/DefaultScriptMapping.ts +3 -3
- package/front_end/models/bindings/NetworkProject.ts +5 -10
- package/front_end/models/bindings/PresentationConsoleMessageHelper.ts +2 -1
- package/front_end/models/bindings/ResourceMapping.ts +3 -4
- package/front_end/models/bindings/ResourceScriptMapping.ts +2 -3
- package/front_end/models/bindings/ResourceUtils.ts +1 -1
- package/front_end/models/bindings/SASSSourceMapping.ts +11 -9
- package/front_end/models/bindings/StylesSourceMapping.ts +3 -3
- package/front_end/models/bindings/TempFile.ts +8 -3
- package/front_end/models/emulation/EmulatedDevices.ts +389 -8
- package/front_end/models/extensions/ExtensionAPI.ts +116 -52
- package/front_end/models/extensions/LanguageExtensionEndpoint.ts +13 -12
- package/front_end/models/formatter/ScriptFormatter.ts +8 -11
- 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 +27 -16
- 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 +11 -12
- package/front_end/models/issues_manager/IssueAggregator.ts +0 -9
- package/front_end/models/issues_manager/IssueResolver.ts +2 -2
- package/front_end/models/issues_manager/IssuesManager.ts +136 -137
- 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/issues_manager/issues_manager.ts +0 -2
- package/front_end/models/javascript_metadata/NativeFunctions.js +5 -1
- package/front_end/models/persistence/AutomaticFileSystemWorkspaceBinding.ts +5 -0
- package/front_end/models/source_map_scopes/FunctionCodeResolver.ts +13 -10
- 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/WorkspaceImpl.ts +10 -1
- package/front_end/models/workspace_diff/WorkspaceDiff.ts +10 -4
- 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 +9 -1
- 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 +4 -3
- package/front_end/panels/application/DeviceBoundSessionsView.ts +2 -6
- package/front_end/panels/application/FrameDetailsView.ts +1 -1
- package/front_end/panels/application/IndexedDBViews.ts +220 -266
- 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 +53 -44
- package/front_end/panels/application/components/AdsView.ts +201 -30
- package/front_end/panels/application/components/adsView.css +25 -0
- package/front_end/panels/application/indexedDBViews.css +38 -9
- package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +2 -2
- package/front_end/panels/application/preloading/helper/PreloadingForward.ts +2 -1
- 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 +1 -1
- package/front_end/panels/console/ConsolePinPane.ts +2 -2
- package/front_end/panels/console/ConsolePrompt.ts +2 -2
- package/front_end/panels/console/ConsoleView.ts +3 -2
- package/front_end/panels/console/PromptBuilder.ts +2 -1
- package/front_end/panels/console/SymbolizedErrorWidget.ts +2 -1
- 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 +22 -22
- 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 +1 -1
- 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 +4 -1
- 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/emulation/DeviceModeView.ts +52 -70
- package/front_end/panels/issues/AffectedDirectivesView.ts +1 -1
- package/front_end/panels/issues/AffectedResourcesView.ts +2 -1
- package/front_end/panels/issues/IssueView.ts +0 -2
- package/front_end/panels/issues/IssuesPane.ts +1 -8
- package/front_end/panels/js_timeline/js_timeline-meta.ts +3 -2
- package/front_end/panels/layer_viewer/LayerViewHost.ts +1 -1
- package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorController.ts +3 -3
- package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorPane.ts +5 -5
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +4 -4
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +2 -2
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.ts +6 -6
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.ts +3 -3
- package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +8 -9
- package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplayUtils.ts +2 -2
- package/front_end/panels/linear_memory_inspector/components/ValueInterpreterSettings.ts +1 -1
- package/front_end/panels/linear_memory_inspector/linear_memory_inspector-meta.ts +2 -2
- package/front_end/panels/network/NetworkDataGridNode.ts +124 -36
- package/front_end/panels/network/NetworkLogView.ts +9 -1
- package/front_end/panels/network/NetworkLogViewColumns.ts +18 -0
- package/front_end/panels/network/NetworkPanel.ts +2 -1
- package/front_end/panels/network/RequestPayloadView.ts +68 -20
- package/front_end/panels/network/RequestPreviewView.ts +7 -1
- package/front_end/panels/network/RequestTimingView.ts +95 -127
- 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/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 +14 -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/recorder/{components/ControlButton.ts → ControlButton.ts} +9 -10
- package/front_end/panels/recorder/{components/CreateRecordingView.ts → CreateRecordingView.ts} +59 -58
- package/front_end/panels/recorder/ExtensionView.ts +123 -0
- package/front_end/panels/recorder/RecorderController.ts +102 -92
- package/front_end/panels/recorder/{components/RecordingListView.ts → RecordingListView.ts} +22 -23
- package/front_end/panels/recorder/{components/RecordingView.ts → RecordingView.ts} +99 -96
- package/front_end/panels/recorder/{components/ReplaySection.ts → ReplaySection.ts} +20 -20
- package/front_end/panels/recorder/{components/SelectorPicker.ts → SelectorPicker.ts} +13 -13
- package/front_end/panels/recorder/{components/StepEditor.ts → StepEditor.ts} +367 -336
- package/front_end/panels/recorder/{components/StepView.ts → StepView.ts} +48 -49
- package/front_end/panels/recorder/{components/TimelineSection.ts → TimelineSection.ts} +2 -2
- package/front_end/panels/recorder/models/RecorderSettings.ts +2 -2
- package/front_end/panels/recorder/recorder-meta.ts +7 -7
- package/front_end/panels/recorder/recorder.ts +23 -1
- package/front_end/panels/recorder/{components/recordingView.css → recordingView.css} +1 -1
- package/front_end/panels/recorder/util/util.ts +113 -0
- 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/InplaceFormatterEditorAction.ts +2 -2
- 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 +22 -21
- package/front_end/panels/sources/SourcesView.ts +10 -1
- package/front_end/panels/sources/TabbedEditorContainer.ts +1 -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/IsolateSelector.ts +10 -8
- 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 +20 -8
- package/front_end/panels/timeline/TimelineUIUtils.ts +149 -131
- 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/timeline/timeline-meta.ts +3 -2
- 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/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/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 +6 -0
- package/front_end/ui/legacy/View.ts +1 -1
- package/front_end/ui/legacy/Widget.ts +14 -15
- 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 +106 -38
- package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +7 -1
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +2 -1
- package/front_end/ui/legacy/components/utils/ImagePreview.ts +4 -2
- package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +10 -1
- package/front_end/ui/legacy/inspectorCommon.css +5 -0
- package/front_end/ui/visual_logging/KnownContextValues.ts +3 -0
- package/mcp/mcp.ts +2 -0
- package/package.json +4 -4
- package/front_end/models/issues_manager/AttributionReportingIssue.ts +0 -247
- package/front_end/models/issues_manager/descriptions/arInsecureContext.md +0 -7
- package/front_end/models/issues_manager/descriptions/arInvalidInfoHeader.md +0 -5
- package/front_end/models/issues_manager/descriptions/arInvalidRegisterOsSourceHeader.md +0 -5
- package/front_end/models/issues_manager/descriptions/arInvalidRegisterOsTriggerHeader.md +0 -5
- package/front_end/models/issues_manager/descriptions/arInvalidRegisterSourceHeader.md +0 -5
- package/front_end/models/issues_manager/descriptions/arInvalidRegisterTriggerHeader.md +0 -5
- package/front_end/models/issues_manager/descriptions/arNavigationRegistrationUniqueScopeAlreadySet.md +0 -5
- package/front_end/models/issues_manager/descriptions/arNavigationRegistrationWithoutTransientUserActivation.md +0 -6
- package/front_end/models/issues_manager/descriptions/arNoRegisterOsSourceHeader.md +0 -5
- package/front_end/models/issues_manager/descriptions/arNoRegisterOsTriggerHeader.md +0 -5
- package/front_end/models/issues_manager/descriptions/arNoRegisterSourceHeader.md +0 -5
- package/front_end/models/issues_manager/descriptions/arNoRegisterTriggerHeader.md +0 -5
- package/front_end/models/issues_manager/descriptions/arNoWebOrOsSupport.md +0 -4
- package/front_end/models/issues_manager/descriptions/arOsSourceIgnored.md +0 -18
- package/front_end/models/issues_manager/descriptions/arOsTriggerIgnored.md +0 -19
- package/front_end/models/issues_manager/descriptions/arPermissionPolicyDisabled.md +0 -8
- package/front_end/models/issues_manager/descriptions/arSourceAndTriggerHeaders.md +0 -9
- package/front_end/models/issues_manager/descriptions/arSourceIgnored.md +0 -13
- package/front_end/models/issues_manager/descriptions/arTriggerIgnored.md +0 -12
- package/front_end/models/issues_manager/descriptions/arUntrustworthyReportingOrigin.md +0 -10
- package/front_end/models/issues_manager/descriptions/arWebAndOsHeaders.md +0 -11
- package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +0 -182
- package/front_end/panels/profiler/ProfileView.ts +0 -611
- package/front_end/panels/recorder/components/ExtensionView.ts +0 -132
- package/front_end/panels/recorder/components/components.ts +0 -25
- package/front_end/panels/recorder/components/util.ts +0 -116
- /package/front_end/panels/recorder/{components/controlButton.css → controlButton.css} +0 -0
- /package/front_end/panels/recorder/{components/createRecordingView.css → createRecordingView.css} +0 -0
- /package/front_end/panels/recorder/{components/extensionView.css → extensionView.css} +0 -0
- /package/front_end/panels/recorder/{components/recordingListView.css → recordingListView.css} +0 -0
- /package/front_end/panels/recorder/{components/replaySection.css → replaySection.css} +0 -0
- /package/front_end/panels/recorder/{components/selectorPicker.css → selectorPicker.css} +0 -0
- /package/front_end/panels/recorder/{components/startView.css → startView.css} +0 -0
- /package/front_end/panels/recorder/{components/stepEditor.css → stepEditor.css} +0 -0
- /package/front_end/panels/recorder/{components/stepView.css → stepView.css} +0 -0
- /package/front_end/panels/recorder/{components/timelineSection.css → timelineSection.css} +0 -0
|
@@ -2,19 +2,18 @@
|
|
|
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
4
|
|
|
5
|
-
import '
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
import * as
|
|
9
|
-
import * as
|
|
10
|
-
import * as
|
|
11
|
-
import * as
|
|
12
|
-
import * as
|
|
13
|
-
|
|
14
|
-
import type * as Converters from '
|
|
15
|
-
import * as Models from '
|
|
16
|
-
|
|
17
|
-
import type {StepEditedEvent} from './StepEditor.js';
|
|
5
|
+
import '../../ui/kit/kit.js';
|
|
6
|
+
|
|
7
|
+
import * as i18n from '../../core/i18n/i18n.js';
|
|
8
|
+
import * as Platform from '../../core/platform/platform.js';
|
|
9
|
+
import * as Menus from '../../ui/components/menus/menus.js';
|
|
10
|
+
import * as UI from '../../ui/legacy/legacy.js';
|
|
11
|
+
import * as Lit from '../../ui/lit/lit.js';
|
|
12
|
+
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
13
|
+
|
|
14
|
+
import type * as Converters from './converters/converters.js';
|
|
15
|
+
import * as Models from './models/models.js';
|
|
16
|
+
import {type StepEditedEvent, StepEditor} from './StepEditor.js';
|
|
18
17
|
import stepViewStyles from './stepView.css.js';
|
|
19
18
|
import {TimelineSection} from './TimelineSection.js';
|
|
20
19
|
|
|
@@ -23,99 +22,99 @@ const {widget} = UI.Widget;
|
|
|
23
22
|
|
|
24
23
|
const UIStrings = {
|
|
25
24
|
/**
|
|
26
|
-
* @description Title for the step type that configures the viewport
|
|
25
|
+
* @description Title for the step type that configures the viewport.
|
|
27
26
|
*/
|
|
28
27
|
setViewportClickTitle: 'Set viewport',
|
|
29
28
|
/**
|
|
30
|
-
* @description Title for the customStep step type
|
|
29
|
+
* @description Title for the customStep step type.
|
|
31
30
|
*/
|
|
32
31
|
customStepTitle: 'Custom step',
|
|
33
32
|
/**
|
|
34
|
-
* @description Title for the click step type
|
|
33
|
+
* @description Title for the click step type.
|
|
35
34
|
*/
|
|
36
35
|
clickStepTitle: 'Click',
|
|
37
36
|
/**
|
|
38
|
-
* @description Title for the double click step type
|
|
37
|
+
* @description Title for the double click step type.
|
|
39
38
|
*/
|
|
40
39
|
doubleClickStepTitle: 'Double click',
|
|
41
40
|
/**
|
|
42
|
-
* @description Title for the hover step type
|
|
41
|
+
* @description Title for the hover step type.
|
|
43
42
|
*/
|
|
44
43
|
hoverStepTitle: 'Hover',
|
|
45
44
|
/**
|
|
46
|
-
* @description Title for the emulateNetworkConditions step type
|
|
45
|
+
* @description Title for the emulateNetworkConditions step type.
|
|
47
46
|
*/
|
|
48
47
|
emulateNetworkConditionsStepTitle: 'Emulate network conditions',
|
|
49
48
|
/**
|
|
50
|
-
* @description Title for the change step type
|
|
49
|
+
* @description Title for the change step type.
|
|
51
50
|
*/
|
|
52
51
|
changeStepTitle: 'Change',
|
|
53
52
|
/**
|
|
54
|
-
* @description Title for the close step type
|
|
53
|
+
* @description Title for the close step type.
|
|
55
54
|
*/
|
|
56
55
|
closeStepTitle: 'Close',
|
|
57
56
|
/**
|
|
58
|
-
* @description Title for the scroll step type
|
|
57
|
+
* @description Title for the scroll step type.
|
|
59
58
|
*/
|
|
60
59
|
scrollStepTitle: 'Scroll',
|
|
61
60
|
/**
|
|
62
|
-
* @description Title for the key up step type. `up` refers to the state of the keyboard key: it
|
|
61
|
+
* @description Title for the key up step type. `up` refers to the state of the keyboard key: it’s released, i.e., up. It does not refer to the down arrow key specifically.
|
|
63
62
|
*/
|
|
64
63
|
keyUpStepTitle: 'Key up',
|
|
65
64
|
/**
|
|
66
|
-
* @description Title for the navigate step type
|
|
65
|
+
* @description Title for the navigate step type.
|
|
67
66
|
*/
|
|
68
67
|
navigateStepTitle: 'Navigate',
|
|
69
68
|
/**
|
|
70
|
-
* @description Title for the key down step type. `down` refers to the state of the keyboard key: it
|
|
69
|
+
* @description Title for the key down step type. `down` refers to the state of the keyboard key: it’s pressed, i.e., down. It does not refer to the down arrow key specifically.
|
|
71
70
|
*/
|
|
72
71
|
keyDownStepTitle: 'Key down',
|
|
73
72
|
/**
|
|
74
|
-
* @description Title for the waitForElement step type
|
|
73
|
+
* @description Title for the waitForElement step type.
|
|
75
74
|
*/
|
|
76
75
|
waitForElementStepTitle: 'Wait for element',
|
|
77
76
|
/**
|
|
78
|
-
* @description Title for the waitForExpression step type
|
|
77
|
+
* @description Title for the waitForExpression step type.
|
|
79
78
|
*/
|
|
80
79
|
waitForExpressionStepTitle: 'Wait for expression',
|
|
81
80
|
/**
|
|
82
|
-
* @description Title for elements with role button
|
|
81
|
+
* @description Title for elements with role button.
|
|
83
82
|
*/
|
|
84
83
|
elementRoleButton: 'Button',
|
|
85
84
|
/**
|
|
86
|
-
* @description Title for elements with role input
|
|
85
|
+
* @description Title for elements with role input.
|
|
87
86
|
*/
|
|
88
87
|
elementRoleInput: 'Input',
|
|
89
88
|
/**
|
|
90
|
-
* @description Default title for elements without a specific role
|
|
89
|
+
* @description Default title for elements without a specific role.
|
|
91
90
|
*/
|
|
92
91
|
elementRoleFallback: 'Element',
|
|
93
92
|
/**
|
|
94
|
-
* @description The title of the button in the step
|
|
93
|
+
* @description The title of the button in the step’s context menu that adds a new step before the current one.
|
|
95
94
|
*/
|
|
96
95
|
addStepBefore: 'Add step before',
|
|
97
96
|
/**
|
|
98
|
-
* @description The title of the button in the step
|
|
97
|
+
* @description The title of the button in the step’s context menu that adds a new step after the current one.
|
|
99
98
|
*/
|
|
100
99
|
addStepAfter: 'Add step after',
|
|
101
100
|
/**
|
|
102
|
-
* @description The title of the button in the step
|
|
101
|
+
* @description The title of the button in the step’s context menu that removes the step.
|
|
103
102
|
*/
|
|
104
103
|
removeStep: 'Remove step',
|
|
105
104
|
/**
|
|
106
|
-
* @description The title of the button that
|
|
105
|
+
* @description The title of the button that opens the step’s context menu.
|
|
107
106
|
*/
|
|
108
107
|
openStepActions: 'Open step actions',
|
|
109
108
|
/**
|
|
110
|
-
* @description The title of the button in the step
|
|
109
|
+
* @description The title of the button in the step’s context menu that adds a breakpoint.
|
|
111
110
|
*/
|
|
112
111
|
addBreakpoint: 'Add breakpoint',
|
|
113
112
|
/**
|
|
114
|
-
* @description The title of the button in the step
|
|
113
|
+
* @description The title of the button in the step’s context menu that removes a breakpoint.
|
|
115
114
|
*/
|
|
116
115
|
removeBreakpoint: 'Remove breakpoint',
|
|
117
116
|
/**
|
|
118
|
-
* @description A menu item
|
|
117
|
+
* @description A menu item in the context menu that expands another menu which lists all
|
|
119
118
|
* the formats the user can copy the recording as.
|
|
120
119
|
*/
|
|
121
120
|
copyAs: 'Copy as',
|
|
@@ -129,7 +128,7 @@ const UIStrings = {
|
|
|
129
128
|
breakpoints: 'Breakpoints',
|
|
130
129
|
} as const;
|
|
131
130
|
const str_ = i18n.i18n.registerUIStrings(
|
|
132
|
-
'panels/recorder/
|
|
131
|
+
'panels/recorder/StepView.ts',
|
|
133
132
|
UIStrings,
|
|
134
133
|
);
|
|
135
134
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
@@ -464,21 +463,21 @@ export const DEFAULT_VIEW = (input: ViewInput, _output: ViewOutput, target: HTML
|
|
|
464
463
|
<div class="details">
|
|
465
464
|
${
|
|
466
465
|
input.step &&
|
|
467
|
-
html`<devtools-
|
|
466
|
+
html`<devtools-widget ${widget(StepEditor, {
|
|
467
|
+
step: input.step,
|
|
468
|
+
disabled: input.isPlaying,
|
|
469
|
+
})}
|
|
468
470
|
class=${input.isSelected ? 'is-selected' : ''}
|
|
469
|
-
|
|
470
|
-
.disabled=${input.isPlaying}
|
|
471
|
-
@stepedited=${input.stepEdited}>
|
|
472
|
-
</devtools-recorder-step-editor>`
|
|
471
|
+
@stepedited=${input.stepEdited}></devtools-widget>`
|
|
473
472
|
}
|
|
474
473
|
${
|
|
475
474
|
input.section?.causingStep &&
|
|
476
|
-
html`<devtools-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
475
|
+
html`<devtools-widget ${widget(StepEditor, {
|
|
476
|
+
step: input.section.causingStep,
|
|
477
|
+
isTypeEditable: false,
|
|
478
|
+
disabled: input.isPlaying,
|
|
479
|
+
})}
|
|
480
|
+
@stepedited=${input.stepEdited}></devtools-widget>`
|
|
482
481
|
}
|
|
483
482
|
</div>
|
|
484
483
|
${
|
|
@@ -2,8 +2,8 @@
|
|
|
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
4
|
|
|
5
|
-
import * as UI from '
|
|
6
|
-
import * as Lit from '
|
|
5
|
+
import * as UI from '../../ui/legacy/legacy.js';
|
|
6
|
+
import * as Lit from '../../ui/lit/lit.js';
|
|
7
7
|
|
|
8
8
|
import timelineSectionStyles from './timelineSection.css.js';
|
|
9
9
|
|
|
@@ -11,8 +11,8 @@ import {SelectorType} from './Schema.js';
|
|
|
11
11
|
|
|
12
12
|
const UIStrings = {
|
|
13
13
|
/**
|
|
14
|
-
* @description This string is used to generate the default name for the create recording form in the
|
|
15
|
-
* The format is similar to the one used by
|
|
14
|
+
* @description This string is used to generate the default name for the create recording form in the Recorder panel.
|
|
15
|
+
* The format is similar to the one used by macOS to generate names for screenshots. Both {DATE} and {TIME} are localized
|
|
16
16
|
* using the current locale.
|
|
17
17
|
* @example {2022-08-04} DATE
|
|
18
18
|
* @example {10:32:48} TIME
|
|
@@ -10,27 +10,27 @@ import type * as Recorder from './recorder.js';
|
|
|
10
10
|
|
|
11
11
|
const UIStrings = {
|
|
12
12
|
/**
|
|
13
|
-
* @description Title of the Recorder
|
|
13
|
+
* @description Title of the Recorder panel.
|
|
14
14
|
*/
|
|
15
15
|
recorder: 'Recorder',
|
|
16
16
|
/**
|
|
17
|
-
* @description
|
|
17
|
+
* @description Command for showing the Recorder panel.
|
|
18
18
|
*/
|
|
19
19
|
showRecorder: 'Show Recorder',
|
|
20
20
|
/**
|
|
21
|
-
* @description Title of start/stop recording action in command menu
|
|
21
|
+
* @description Title of the start/stop recording action in the command menu.
|
|
22
22
|
*/
|
|
23
|
-
startStopRecording: 'Start/
|
|
23
|
+
startStopRecording: 'Start/stop recording',
|
|
24
24
|
/**
|
|
25
|
-
* @description Title of create
|
|
25
|
+
* @description Title of the create new recording action in the command menu.
|
|
26
26
|
*/
|
|
27
27
|
createRecording: 'Create a new recording',
|
|
28
28
|
/**
|
|
29
|
-
* @description Title of
|
|
29
|
+
* @description Title of the replay recording action in the command menu.
|
|
30
30
|
*/
|
|
31
31
|
replayRecording: 'Replay recording',
|
|
32
32
|
/**
|
|
33
|
-
* @description Title for
|
|
33
|
+
* @description Title for the toggle code action in the command menu.
|
|
34
34
|
*/
|
|
35
35
|
toggleCode: 'Toggle code view',
|
|
36
36
|
} as const;
|
|
@@ -2,8 +2,30 @@
|
|
|
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
4
|
|
|
5
|
+
import * as ControlButton from './ControlButton.js';
|
|
6
|
+
import * as CreateRecordingView from './CreateRecordingView.js';
|
|
5
7
|
import * as RecorderController from './RecorderController.js';
|
|
6
8
|
import * as RecorderEvents from './RecorderEvents.js';
|
|
7
9
|
import * as RecorderPanel from './RecorderPanel.js';
|
|
10
|
+
import * as RecordingListView from './RecordingListView.js';
|
|
11
|
+
import * as RecordingView from './RecordingView.js';
|
|
12
|
+
import * as ReplaySection from './ReplaySection.js';
|
|
13
|
+
import * as SelectorPicker from './SelectorPicker.js';
|
|
14
|
+
import * as StepEditor from './StepEditor.js';
|
|
15
|
+
import * as StepView from './StepView.js';
|
|
16
|
+
import * as TimelineSection from './TimelineSection.js';
|
|
8
17
|
|
|
9
|
-
export {
|
|
18
|
+
export {
|
|
19
|
+
ControlButton,
|
|
20
|
+
CreateRecordingView,
|
|
21
|
+
RecorderController,
|
|
22
|
+
RecorderEvents,
|
|
23
|
+
RecorderPanel,
|
|
24
|
+
RecordingListView,
|
|
25
|
+
RecordingView,
|
|
26
|
+
ReplaySection,
|
|
27
|
+
SelectorPicker,
|
|
28
|
+
StepEditor,
|
|
29
|
+
StepView,
|
|
30
|
+
TimelineSection,
|
|
31
|
+
};
|
|
@@ -23,3 +23,116 @@ class InjectedScript {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
export {DEVTOOLS_RECORDER_WORLD_NAME, InjectedScript, isDebugBuild, SharedObject};
|
|
26
|
+
|
|
27
|
+
export const mod = (a: number, n: number): number => {
|
|
28
|
+
return ((a % n) + n) % n;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export function assert<T>(
|
|
32
|
+
predicate: T,
|
|
33
|
+
message = 'Assertion failed!',
|
|
34
|
+
): asserts predicate {
|
|
35
|
+
if (!predicate) {
|
|
36
|
+
throw new Error(message);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export type Keys<T> = T extends T ? keyof T : never;
|
|
41
|
+
|
|
42
|
+
export type RequiredKeys<T> = {
|
|
43
|
+
[K in keyof T] -?: Record<string|number|symbol, unknown> extends Pick<T, K>? never : K;
|
|
44
|
+
}[keyof T];
|
|
45
|
+
|
|
46
|
+
export type OptionalKeys<T> = {
|
|
47
|
+
[K in keyof T] -?: Record<string|number|symbol, unknown> extends Pick<T, K>? K : never;
|
|
48
|
+
}[keyof T];
|
|
49
|
+
|
|
50
|
+
export type DeepImmutable<T> = {
|
|
51
|
+
readonly[K in keyof T]: DeepImmutable<T[K]>;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export type DeepMutable<T> = {
|
|
55
|
+
-readonly[K in keyof T]: DeepMutable<T[K]>;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export type DeepPartial<T> = {
|
|
59
|
+
[K in keyof T]?: DeepPartial<Exclude<T[K], undefined>>;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export type Mutable<T> = {
|
|
63
|
+
-readonly[K in keyof T]: T[K];
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export const deepFreeze = <T extends object>(object: T): DeepImmutable<T> => {
|
|
67
|
+
for (const name of Reflect.ownKeys(object)) {
|
|
68
|
+
const value = object[name as keyof T];
|
|
69
|
+
if ((value && typeof value === 'object') || typeof value === 'function') {
|
|
70
|
+
deepFreeze(value);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return Object.freeze(object);
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
export class InsertAssignment<T> {
|
|
77
|
+
value: T;
|
|
78
|
+
constructor(value: T) {
|
|
79
|
+
this.value = value;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export class ArrayAssignments<T> {
|
|
84
|
+
value: Record<number, T>;
|
|
85
|
+
constructor(value: Record<number, T>) {
|
|
86
|
+
this.value = value;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export type Assignments<T> = T extends Readonly<Array<infer R>>?
|
|
91
|
+
R[]|ArrayAssignments<Assignments<R>|InsertAssignment<R>>:
|
|
92
|
+
{[K in keyof T]: Assignments<T[K]>};
|
|
93
|
+
|
|
94
|
+
export const immutableDeepAssign = <T>(
|
|
95
|
+
object: DeepImmutable<T>,
|
|
96
|
+
assignments: DeepImmutable<DeepPartial<Assignments<T>>>,
|
|
97
|
+
): DeepImmutable<T> => {
|
|
98
|
+
if (assignments instanceof ArrayAssignments) {
|
|
99
|
+
assert(Array.isArray(object), `Expected an array. Got ${typeof object}.`);
|
|
100
|
+
const updatedObject = [...object] as Mutable<typeof object>;
|
|
101
|
+
const keys = Object.keys(assignments.value)
|
|
102
|
+
.sort(
|
|
103
|
+
(a, b) => Number(b) - Number(a),
|
|
104
|
+
) as Array<keyof typeof updatedObject>;
|
|
105
|
+
for (const key of keys) {
|
|
106
|
+
const update = assignments.value[Number(key)];
|
|
107
|
+
if (update === undefined) {
|
|
108
|
+
updatedObject.splice(Number(key), 1);
|
|
109
|
+
} else if (update instanceof InsertAssignment) {
|
|
110
|
+
updatedObject.splice(Number(key), 0, update.value);
|
|
111
|
+
} else {
|
|
112
|
+
updatedObject[Number(key)] = immutableDeepAssign(
|
|
113
|
+
updatedObject[key],
|
|
114
|
+
update,
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return Object.freeze(updatedObject);
|
|
119
|
+
}
|
|
120
|
+
if (typeof assignments === 'object' && !Array.isArray(assignments)) {
|
|
121
|
+
assert(!Array.isArray(object), 'Expected an object. Got an array.');
|
|
122
|
+
const updatedObject = {...object} as Mutable<typeof object>;
|
|
123
|
+
const keys = Object.keys(assignments) as Array<keyof typeof assignments&keyof typeof updatedObject>;
|
|
124
|
+
for (const key of keys) {
|
|
125
|
+
const update = assignments[key];
|
|
126
|
+
if (update === undefined) {
|
|
127
|
+
delete updatedObject[key];
|
|
128
|
+
} else {
|
|
129
|
+
updatedObject[key] = immutableDeepAssign(
|
|
130
|
+
updatedObject[key],
|
|
131
|
+
update as typeof updatedObject[typeof key],
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return Object.freeze(updatedObject);
|
|
136
|
+
}
|
|
137
|
+
return assignments as DeepImmutable<T>;
|
|
138
|
+
};
|
|
@@ -12,7 +12,7 @@ import {ScreencastView} from './ScreencastView.js';
|
|
|
12
12
|
|
|
13
13
|
const UIStrings = {
|
|
14
14
|
/**
|
|
15
|
-
* @description Tooltip text that appears when hovering over
|
|
15
|
+
* @description Tooltip text that appears when hovering over the toggle screencast button in the Screencast app of the Remote devices tab when toggling screencast.
|
|
16
16
|
*/
|
|
17
17
|
toggleScreencast: 'Toggle screencast',
|
|
18
18
|
} as const;
|
|
@@ -18,39 +18,39 @@ import screencastViewStyles from './screencastView.css.js';
|
|
|
18
18
|
|
|
19
19
|
const UIStrings = {
|
|
20
20
|
/**
|
|
21
|
-
* @description Accessible alt text for the
|
|
21
|
+
* @description Accessible alt text for the Screencast canvas rendering of the debug target webpage.
|
|
22
22
|
*/
|
|
23
23
|
screencastViewOfDebugTarget: 'Screencast view of debug target',
|
|
24
24
|
/**
|
|
25
|
-
* @description Glass pane element text content in Screencast
|
|
25
|
+
* @description Glass pane element text content in the Screencast view of the Remote devices tab when toggling screencast.
|
|
26
26
|
*/
|
|
27
27
|
theTabIsInactive: 'The tab is inactive',
|
|
28
28
|
/**
|
|
29
|
-
* @description Glass pane element text content in Screencast
|
|
29
|
+
* @description Glass pane element text content in the Screencast view of the Remote devices tab when profiling is in progress.
|
|
30
30
|
*/
|
|
31
31
|
profilingInProgress: 'Profiling in progress',
|
|
32
32
|
/**
|
|
33
|
-
* @description Accessible
|
|
33
|
+
* @description Accessible label for the Screencast back button.
|
|
34
34
|
*/
|
|
35
|
-
back: '
|
|
35
|
+
back: 'Back',
|
|
36
36
|
/**
|
|
37
|
-
* @description Accessible
|
|
37
|
+
* @description Accessible label for the Screencast forward button.
|
|
38
38
|
*/
|
|
39
|
-
forward: '
|
|
39
|
+
forward: 'Forward',
|
|
40
40
|
/**
|
|
41
|
-
* @description Accessible
|
|
41
|
+
* @description Accessible label for the Screencast reload button.
|
|
42
42
|
*/
|
|
43
|
-
reload: '
|
|
43
|
+
reload: 'Reload',
|
|
44
44
|
/**
|
|
45
|
-
* @description Accessible
|
|
45
|
+
* @description Accessible label for the address bar in the Screencast view.
|
|
46
46
|
*/
|
|
47
47
|
addressBar: 'Address bar',
|
|
48
48
|
/**
|
|
49
|
-
* @description Accessible
|
|
49
|
+
* @description Accessible label for the touch input button in the Screencast view.
|
|
50
50
|
*/
|
|
51
51
|
touchInput: 'Use touch',
|
|
52
52
|
/**
|
|
53
|
-
* @description Accessible
|
|
53
|
+
* @description Accessible label for the mouse input button in the Screencast view.
|
|
54
54
|
*/
|
|
55
55
|
mouseInput: 'Use mouse',
|
|
56
56
|
} as const;
|
|
@@ -14,17 +14,17 @@ import type {SearchResult} from './SearchScope.js';
|
|
|
14
14
|
|
|
15
15
|
const UIStrings = {
|
|
16
16
|
/**
|
|
17
|
-
* @description Accessibility label for number of matches in each file in search results
|
|
17
|
+
* @description Accessibility label for the number of matches in each file in the search results view of the Search panel.
|
|
18
18
|
* @example {2} PH1
|
|
19
19
|
*/
|
|
20
|
-
matchesCountS: 'Matches
|
|
20
|
+
matchesCountS: 'Matches count {PH1}',
|
|
21
21
|
/**
|
|
22
|
-
* @description
|
|
22
|
+
* @description Label for search results in the Search panel.
|
|
23
23
|
* @example {2} PH1
|
|
24
24
|
*/
|
|
25
25
|
lineS: 'Line {PH1}',
|
|
26
26
|
/**
|
|
27
|
-
* @description Text in
|
|
27
|
+
* @description Text in the search results view of the Search panel.
|
|
28
28
|
* @example {2} PH1
|
|
29
29
|
*/
|
|
30
30
|
showDMore: 'Show {PH1} more',
|
|
@@ -20,87 +20,87 @@ import searchViewStyles from './searchView.css.js';
|
|
|
20
20
|
|
|
21
21
|
const UIStrings = {
|
|
22
22
|
/**
|
|
23
|
-
* @description Placeholder text of a search bar
|
|
23
|
+
* @description Placeholder text of a search bar.
|
|
24
24
|
*/
|
|
25
25
|
find: 'Find',
|
|
26
26
|
/**
|
|
27
|
-
* @description Tooltip text on a toggle to enable search by matching case of the input
|
|
27
|
+
* @description Tooltip text on a toggle to enable search by matching case of the input.
|
|
28
28
|
*/
|
|
29
29
|
enableCaseSensitive: 'Enable case sensitive search',
|
|
30
30
|
/**
|
|
31
|
-
* @description Tooltip text on a toggle to disable search by matching case of the input
|
|
31
|
+
* @description Tooltip text on a toggle to disable search by matching case of the input.
|
|
32
32
|
*/
|
|
33
33
|
disableCaseSensitive: 'Disable case sensitive search',
|
|
34
34
|
/**
|
|
35
|
-
* @description Tooltip text on a toggle to enable searching with regular
|
|
35
|
+
* @description Tooltip text on a toggle to enable searching with regular expressions.
|
|
36
36
|
*/
|
|
37
37
|
enableRegularExpression: 'Enable regular expressions',
|
|
38
38
|
/**
|
|
39
|
-
* @description Tooltip text on a toggle to disable searching with regular
|
|
39
|
+
* @description Tooltip text on a toggle to disable searching with regular expressions.
|
|
40
40
|
*/
|
|
41
41
|
disableRegularExpression: 'Disable regular expressions',
|
|
42
42
|
/**
|
|
43
|
-
* @description Text to refresh the
|
|
43
|
+
* @description Text to refresh the search.
|
|
44
44
|
*/
|
|
45
45
|
refresh: 'Refresh',
|
|
46
46
|
/**
|
|
47
|
-
* @description Tooltip text to clear the search input field
|
|
47
|
+
* @description Tooltip text to clear the search input field.
|
|
48
48
|
*/
|
|
49
49
|
clearInput: 'Clear',
|
|
50
50
|
/**
|
|
51
|
-
* @description Text to clear
|
|
51
|
+
* @description Text to clear search results.
|
|
52
52
|
*/
|
|
53
53
|
clear: 'Clear search',
|
|
54
54
|
/**
|
|
55
|
-
* @description
|
|
55
|
+
* @description Message element text content during search in the search view of the Search panel.
|
|
56
56
|
*/
|
|
57
57
|
indexing: 'Indexing…',
|
|
58
58
|
/**
|
|
59
|
-
* @description Text to indicate
|
|
59
|
+
* @description Text to indicate that searching is in progress.
|
|
60
60
|
*/
|
|
61
61
|
searching: 'Searching…',
|
|
62
62
|
/**
|
|
63
|
-
* @description Text in
|
|
63
|
+
* @description Text in the search view of the Search panel when indexing is interrupted.
|
|
64
64
|
*/
|
|
65
65
|
indexingInterrupted: 'Indexing interrupted.',
|
|
66
66
|
/**
|
|
67
|
-
* @description
|
|
67
|
+
* @description Message element text content for search results in the search view of the Search panel.
|
|
68
68
|
*/
|
|
69
69
|
foundMatchingLineInFile: 'Found 1 matching line in 1 file.',
|
|
70
70
|
/**
|
|
71
|
-
* @description
|
|
71
|
+
* @description Message element text content for search results in the search view of the Search panel.
|
|
72
72
|
* @example {2} PH1
|
|
73
73
|
*/
|
|
74
74
|
foundDMatchingLinesInFile: 'Found {PH1} matching lines in 1 file.',
|
|
75
75
|
/**
|
|
76
|
-
* @description
|
|
76
|
+
* @description Message element text content for search results in the search view of the Search panel.
|
|
77
77
|
* @example {2} PH1
|
|
78
78
|
* @example {2} PH2
|
|
79
79
|
*/
|
|
80
80
|
foundDMatchingLinesInDFiles: 'Found {PH1} matching lines in {PH2} files.',
|
|
81
81
|
/**
|
|
82
|
-
* @description
|
|
82
|
+
* @description Message element text content for search results in the search view of the Search panel.
|
|
83
83
|
*/
|
|
84
84
|
noMatchesFound: 'No matches found',
|
|
85
85
|
/**
|
|
86
|
-
* @description
|
|
86
|
+
* @description Message element text content for search results in the search view of the Search panel.
|
|
87
87
|
*/
|
|
88
88
|
nothingMatchedTheQuery: 'Nothing matched your search query',
|
|
89
89
|
/**
|
|
90
|
-
* @description Text in
|
|
90
|
+
* @description Text in the search view of the Search panel when search finishes.
|
|
91
91
|
*/
|
|
92
92
|
searchFinished: 'Search finished.',
|
|
93
93
|
/**
|
|
94
|
-
* @description Text in
|
|
94
|
+
* @description Text in the search view of the Search panel when search is interrupted.
|
|
95
95
|
*/
|
|
96
96
|
searchInterrupted: 'Search interrupted.',
|
|
97
97
|
/**
|
|
98
|
-
* @description Text in
|
|
98
|
+
* @description Text in the search view of the Search panel if the user hasn’t started a search.
|
|
99
99
|
* @example {Enter} PH1
|
|
100
100
|
*/
|
|
101
101
|
typeAndPressSToSearch: 'Type and press {PH1} to search',
|
|
102
102
|
/**
|
|
103
|
-
* @description Text in
|
|
103
|
+
* @description Text in the search view of the Search panel if the user hasn’t started a search.
|
|
104
104
|
*/
|
|
105
105
|
noSearchResult: 'No search results',
|
|
106
106
|
} as const;
|
|
@@ -9,21 +9,21 @@ import * as Protocol from '../../generated/protocol.js';
|
|
|
9
9
|
|
|
10
10
|
const UIStrings = {
|
|
11
11
|
/**
|
|
12
|
-
* @description
|
|
12
|
+
* @description Summary text displayed in the overview of the Security panel when the page's security state is unknown.
|
|
13
13
|
*/
|
|
14
14
|
theSecurityOfThisPageIsUnknown: 'The security of this page is unknown.',
|
|
15
15
|
/**
|
|
16
|
-
* @description
|
|
16
|
+
* @description Summary text displayed in the overview of the Security panel when the page isn't secure.
|
|
17
17
|
*/
|
|
18
|
-
thisPageIsNotSecure: 'This page
|
|
18
|
+
thisPageIsNotSecure: 'This page isn’t secure.',
|
|
19
19
|
/**
|
|
20
|
-
* @description
|
|
20
|
+
* @description Summary text displayed in the overview of the Security panel when the page is secure with valid HTTPS.
|
|
21
21
|
*/
|
|
22
22
|
thisPageIsSecureValidHttps: 'This page is secure (valid HTTPS).',
|
|
23
23
|
/**
|
|
24
|
-
* @description
|
|
24
|
+
* @description Summary text displayed in the overview of the Security panel when the page isn't secure due to broken HTTPS.
|
|
25
25
|
*/
|
|
26
|
-
thisPageIsNotSecureBrokenHttps: 'This page
|
|
26
|
+
thisPageIsNotSecureBrokenHttps: 'This page isn’t secure (broken HTTPS).',
|
|
27
27
|
/**
|
|
28
28
|
* @description Description of an SSL cipher that contains a separate (bulk) cipher and MAC.
|
|
29
29
|
* @example {AES_256_CBC} PH1
|
|
@@ -31,7 +31,7 @@ const UIStrings = {
|
|
|
31
31
|
*/
|
|
32
32
|
cipherWithMAC: '{PH1} with {PH2}',
|
|
33
33
|
/**
|
|
34
|
-
* @description Description of an SSL
|
|
34
|
+
* @description Description of an SSL key and its key exchange group.
|
|
35
35
|
* @example {ECDHE_RSA} PH1
|
|
36
36
|
* @example {X25519} PH2
|
|
37
37
|
*/
|