chrome-devtools-frontend 1.0.1548980 → 1.0.1550444
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/docs/contributing/settings-experiments-features.md +35 -0
- package/docs/styleguide/ux/components.md +53 -12
- package/docs/styleguide/ux/images/cards.png +0 -0
- package/docs/styleguide/ux/patterns.md +27 -0
- package/docs/ui_engineering.md +2 -2
- package/eslint.config.mjs +1 -0
- package/front_end/Tests.js +2 -0
- package/front_end/core/host/InspectorFrontendHost.ts +26 -558
- package/front_end/core/host/InspectorFrontendHostAPI.ts +6 -3
- package/front_end/core/host/InspectorFrontendHostStub.ts +558 -0
- package/front_end/core/host/ResourceLoader.ts +9 -23
- package/front_end/core/host/UserMetrics.ts +4 -4
- package/front_end/core/root/DevToolsContext.ts +4 -0
- package/front_end/core/root/Runtime.ts +10 -0
- package/front_end/core/sdk/CSSMatchedStyles.ts +2 -2
- package/front_end/core/sdk/CSSModel.ts +24 -24
- package/front_end/core/sdk/CSSPropertyParserMatchers.ts +11 -11
- package/front_end/core/sdk/CSSQuery.ts +1 -1
- package/front_end/core/sdk/CSSRule.ts +2 -2
- package/front_end/core/sdk/CSSStyleDeclaration.ts +1 -1
- package/front_end/core/sdk/CSSStyleSheetHeader.ts +1 -1
- package/front_end/core/sdk/DOMModel.ts +3 -0
- package/front_end/core/sdk/NetworkManager.ts +41 -41
- package/front_end/core/sdk/NetworkRequest.ts +4 -0
- package/front_end/core/sdk/OverlayModel.ts +2 -2
- package/front_end/core/sdk/PageResourceLoader.ts +71 -38
- package/front_end/core/sdk/SourceMap.ts +6 -0
- package/front_end/core/sdk/SourceMapCache.ts +21 -0
- package/front_end/core/sdk/SourceMapManager.ts +14 -7
- package/front_end/core/sdk/SourceMapScopesInfo.ts +6 -2
- package/front_end/core/sdk/TargetManager.ts +14 -2
- package/front_end/core/sdk/sdk-meta.ts +13 -0
- package/front_end/entrypoints/formatter_worker/FormatterActions.ts +1 -0
- package/front_end/entrypoints/formatter_worker/ScopeParser.ts +1 -1
- package/front_end/entrypoints/main/MainImpl.ts +5 -4
- package/front_end/foundation/Universe.ts +8 -1
- package/front_end/generated/Deprecation.ts +18 -4
- package/front_end/generated/InspectorBackendCommands.ts +38 -33
- package/front_end/generated/SupportedCSSProperties.js +41 -41
- package/front_end/generated/protocol-mapping.d.ts +20 -0
- package/front_end/generated/protocol-proxy-api.d.ts +17 -0
- package/front_end/generated/protocol.ts +146 -35
- package/front_end/models/ai_assistance/AiConversation.ts +5 -4
- package/front_end/models/ai_assistance/BuiltInAi.ts +79 -5
- package/front_end/models/ai_assistance/ChangeManager.ts +4 -4
- package/front_end/models/ai_assistance/ConversationHandler.ts +0 -15
- package/front_end/models/ai_assistance/agents/AiAgent.ts +9 -6
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +135 -3
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +24 -0
- package/front_end/models/bindings/CompilerScriptMapping.ts +43 -0
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +19 -0
- package/front_end/models/bindings/ResourceMapping.ts +73 -0
- package/front_end/models/bindings/ResourceScriptMapping.ts +50 -0
- package/front_end/models/issues_manager/AttributionReportingIssue.ts +6 -8
- package/front_end/models/issues_manager/BounceTrackingIssue.ts +4 -14
- package/front_end/models/issues_manager/ClientHintIssue.ts +5 -12
- package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +5 -12
- package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +7 -14
- package/front_end/models/issues_manager/CookieIssue.ts +27 -30
- package/front_end/models/issues_manager/CorsIssue.ts +8 -17
- package/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.ts +5 -8
- package/front_end/models/issues_manager/DeprecationIssue.ts +7 -14
- package/front_end/models/issues_manager/ElementAccessibilityIssue.ts +7 -14
- package/front_end/models/issues_manager/FederatedAuthRequestIssue.ts +4 -11
- package/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.ts +4 -11
- package/front_end/models/issues_manager/GenericIssue.ts +28 -16
- package/front_end/models/issues_manager/HeavyAdIssue.ts +4 -11
- package/front_end/models/issues_manager/Issue.ts +12 -4
- package/front_end/models/issues_manager/IssueAggregator.ts +8 -2
- package/front_end/models/issues_manager/LowTextContrastIssue.ts +3 -10
- package/front_end/models/issues_manager/MixedContentIssue.ts +7 -13
- package/front_end/models/issues_manager/PartitioningBlobURLIssue.ts +4 -11
- package/front_end/models/issues_manager/PropertyRuleIssue.ts +6 -12
- package/front_end/models/issues_manager/QuirksModeIssue.ts +3 -10
- package/front_end/models/issues_manager/SRIMessageSignatureIssue.ts +7 -13
- package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +4 -11
- package/front_end/models/issues_manager/SharedDictionaryIssue.ts +6 -13
- package/front_end/models/issues_manager/StylesheetLoadingIssue.ts +8 -13
- package/front_end/models/issues_manager/UnencodedDigestIssue.ts +2 -9
- package/front_end/models/issues_manager/descriptions/genericNavigationEntryMarkedSkippable.md +7 -0
- package/front_end/models/javascript_metadata/NativeFunctions.js +7 -16
- package/front_end/models/source_map_scopes/FunctionCodeResolver.snapshot.txt +98 -0
- package/front_end/models/source_map_scopes/FunctionCodeResolver.ts +270 -0
- package/front_end/models/source_map_scopes/source_map_scopes.ts +2 -0
- package/front_end/models/workspace/UISourceCode.ts +51 -44
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +76 -34
- package/front_end/panels/ai_assistance/aiAssistancePanel.css +1 -0
- package/front_end/panels/ai_assistance/components/ChatView.ts +23 -11
- package/front_end/panels/application/AppManifestView.ts +7 -6
- package/front_end/panels/application/ApplicationPanelSidebar.ts +21 -21
- package/front_end/panels/application/BackForwardCacheTreeElement.ts +2 -2
- package/front_end/panels/application/BounceTrackingMitigationsTreeElement.ts +2 -2
- package/front_end/panels/application/FrameDetailsView.ts +5 -6
- package/front_end/panels/application/InterestGroupTreeElement.ts +2 -2
- package/front_end/panels/application/OpenedWindowDetailsView.ts +2 -2
- package/front_end/panels/application/OriginTrialTreeView.ts +1 -1
- package/front_end/panels/application/PreloadingTreeElement.ts +3 -3
- package/front_end/panels/application/ReportingApiTreeElement.ts +2 -2
- package/front_end/panels/application/ServiceWorkerCacheTreeElement.ts +3 -3
- package/front_end/panels/application/ServiceWorkersView.ts +2 -2
- package/front_end/panels/application/SharedStorageListTreeElement.ts +2 -2
- package/front_end/panels/application/StorageBucketsTreeElement.ts +3 -3
- package/front_end/panels/application/StorageView.ts +2 -2
- package/front_end/panels/application/TrustTokensTreeElement.ts +4 -8
- package/front_end/panels/application/components/PermissionsPolicySection.ts +202 -158
- package/front_end/panels/application/components/ProtocolHandlersView.ts +118 -81
- package/front_end/panels/application/components/ServiceWorkerRouterView.ts +47 -41
- package/front_end/panels/application/components/SharedStorageMetadataView.ts +1 -1
- package/front_end/panels/application/components/StorageMetadataView.ts +31 -34
- package/front_end/panels/application/components/TrustTokensView.ts +77 -69
- package/front_end/panels/application/preloading/components/PreloadingGrid.ts +1 -1
- package/front_end/panels/application/preloading/components/RuleSetGrid.ts +1 -1
- package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +1 -1
- package/front_end/panels/changes/ChangesSidebar.ts +2 -0
- package/front_end/panels/changes/CombinedDiffView.ts +2 -0
- package/front_end/panels/common/AnnotationManager.ts +71 -0
- package/front_end/panels/common/PersistenceUtils.ts +6 -7
- package/front_end/panels/common/common.ts +1 -0
- package/front_end/panels/console/ConsolePrompt.ts +4 -4
- package/front_end/panels/console/ConsoleView.ts +5 -4
- package/front_end/panels/console/ConsoleViewMessage.ts +16 -15
- package/front_end/panels/console/console-meta.ts +0 -13
- package/front_end/panels/console_counters/WarningErrorCounter.ts +2 -0
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +1 -1
- package/front_end/panels/developer_resources/DeveloperResourcesView.ts +3 -1
- package/front_end/panels/elements/CSSRuleValidator.ts +7 -7
- package/front_end/panels/elements/CSSRuleValidatorHelper.ts +2 -2
- package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +3 -3
- package/front_end/panels/elements/ElementsPanel.ts +49 -0
- package/front_end/panels/elements/ElementsTreeElement.ts +172 -121
- package/front_end/panels/elements/ElementsTreeOutline.ts +11 -3
- package/front_end/panels/elements/LayoutPane.ts +12 -10
- package/front_end/panels/elements/ShortcutTreeElement.ts +2 -2
- package/front_end/panels/elements/StyleEditorWidget.ts +2 -2
- package/front_end/panels/elements/StylePropertyTreeElement.ts +18 -18
- package/front_end/panels/elements/StylesSidebarPane.ts +4 -5
- package/front_end/panels/elements/TopLayerContainer.ts +2 -2
- package/front_end/panels/elements/components/AdornerManager.ts +3 -3
- package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +1 -1
- package/front_end/panels/elements/components/ElementsTreeExpandButton.ts +1 -1
- package/front_end/panels/elements/components/QueryContainer.ts +1 -1
- package/front_end/panels/elements/components/StylePropertyEditor.ts +7 -7
- package/front_end/panels/emulation/DeviceModeWrapper.ts +48 -3
- package/front_end/panels/explain/components/ConsoleInsight.ts +6 -4
- package/front_end/panels/issues/AffectedResourcesView.ts +2 -2
- package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +2 -2
- package/front_end/panels/issues/IssueKindView.ts +2 -2
- package/front_end/panels/issues/IssueView.ts +4 -4
- package/front_end/panels/js_timeline/js_timeline-meta.ts +4 -2
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +28 -50
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +15 -11
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.ts +1 -1
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.ts +1 -1
- package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +1 -1
- package/front_end/panels/media/PlayerListView.ts +100 -73
- package/front_end/panels/media/playerListView.css +5 -0
- package/front_end/panels/mobile_throttling/ThrottlingManager.ts +2 -2
- package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +4 -5
- package/front_end/panels/network/NetworkDataGridNode.ts +3 -3
- package/front_end/panels/network/NetworkFrameGrouper.ts +2 -2
- package/front_end/panels/network/NetworkItemView.ts +4 -4
- package/front_end/panels/network/NetworkLogViewColumns.ts +3 -3
- package/front_end/panels/network/RequestConditionsDrawer.ts +5 -5
- package/front_end/panels/network/RequestCookiesView.ts +2 -2
- package/front_end/panels/network/SignedExchangeInfoView.ts +2 -2
- package/front_end/panels/network/components/DirectSocketConnectionView.ts +17 -0
- package/front_end/panels/network/components/RequestTrustTokensView.ts +5 -6
- package/front_end/panels/network/resourceChunkView.css +4 -0
- package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +3 -3
- package/front_end/panels/profiler/ProfileDataGrid.ts +2 -2
- package/front_end/panels/profiler/ProfilesPanel.ts +2 -2
- package/front_end/panels/protocol_monitor/JSONEditor.ts +1 -1
- package/front_end/panels/recorder/components/CreateRecordingView.ts +1 -1
- package/front_end/panels/recorder/components/ExtensionView.ts +1 -1
- package/front_end/panels/recorder/components/RecordingListView.ts +1 -1
- package/front_end/panels/recorder/components/RecordingView.ts +1 -1
- package/front_end/panels/recorder/components/StepView.ts +1 -1
- package/front_end/panels/screencast/ScreencastView.ts +8 -8
- package/front_end/panels/search/SearchView.ts +1 -1
- package/front_end/panels/security/CookieControlsTreeElement.ts +2 -2
- package/front_end/panels/security/CookieControlsView.ts +1 -1
- package/front_end/panels/security/CookieReportTreeElement.ts +2 -2
- package/front_end/panels/security/SecurityPanel.ts +5 -5
- package/front_end/panels/security/SecurityPanelSidebar.ts +3 -4
- package/front_end/panels/sensors/LocationsSettingsTab.ts +1 -1
- package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +1 -1
- package/front_end/panels/settings/KeybindsSettingsTab.ts +5 -5
- package/front_end/panels/settings/SettingsScreen.ts +7 -8
- package/front_end/panels/settings/WorkspaceSettingsTab.ts +1 -1
- package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +1 -1
- package/front_end/panels/snippets/SnippetsQuickOpen.ts +16 -6
- package/front_end/panels/sources/BreakpointEditDialog.ts +3 -3
- package/front_end/panels/sources/BreakpointsView.ts +1 -1
- package/front_end/panels/sources/CSSPlugin.ts +4 -4
- package/front_end/panels/sources/CallStackSidebarPane.ts +4 -4
- package/front_end/panels/sources/DebuggerPausedMessage.ts +3 -3
- package/front_end/panels/sources/FilteredUISourceCodeListProvider.ts +40 -23
- package/front_end/panels/sources/GoToLineQuickOpen.ts +11 -5
- package/front_end/panels/sources/NavigatorView.ts +4 -4
- package/front_end/panels/sources/OpenFileQuickOpen.ts +11 -16
- package/front_end/panels/sources/OutlineQuickOpen.ts +23 -23
- package/front_end/panels/sources/ProfilePlugin.ts +21 -12
- package/front_end/panels/sources/SourcesView.ts +2 -2
- package/front_end/panels/sources/TabbedEditorContainer.ts +4 -5
- package/front_end/panels/sources/ThreadsSidebarPane.ts +2 -2
- package/front_end/panels/sources/UISourceCodeFrame.ts +5 -6
- package/front_end/panels/sources/filteredUISourceCodeListProvider.css +41 -0
- package/front_end/panels/timeline/TimelineHistoryManager.ts +2 -2
- package/front_end/panels/timeline/TimelinePanel.ts +29 -25
- package/front_end/panels/timeline/TimelineSelectorStatsView.ts +3 -3
- package/front_end/panels/timeline/components/CPUThrottlingSelector.ts +1 -1
- package/front_end/panels/timeline/components/LiveMetricsView.ts +1 -1
- package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +1 -1
- package/front_end/panels/timeline/components/NetworkThrottlingSelector.ts +1 -1
- package/front_end/panels/timeline/components/OriginMap.ts +1 -1
- package/front_end/panels/timeline/components/insights/Checklist.ts +1 -1
- package/front_end/panels/timeline/components/insights/DOMSize.ts +1 -1
- package/front_end/panels/timeline/components/insights/ImageDelivery.ts +1 -1
- package/front_end/panels/timeline/components/insights/NetworkDependencyTree.ts +1 -1
- package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +2 -2
- package/front_end/panels/timeline/docs/flame_chart_migration.md +11 -16
- package/front_end/panels/timeline/overlays/components/EntriesLinkOverlay.ts +1 -1
- package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +1 -1
- package/front_end/panels/timeline/timeline-meta.ts +3 -2
- package/front_end/panels/utils/utils.ts +18 -3
- package/front_end/panels/whats_new/ReleaseNoteText.ts +10 -20
- package/front_end/panels/whats_new/resources/WNDT.md +8 -8
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/puppeteer/third_party/mitt/README.chromium +1 -0
- package/front_end/third_party/puppeteer/third_party/parsel/README.chromium +1 -0
- package/front_end/third_party/puppeteer/third_party/rxjs/README.chromium +1 -0
- package/front_end/ui/components/adorners/Adorner.ts +21 -1
- package/front_end/ui/components/annotations/AnnotationRepository.ts +98 -0
- package/front_end/ui/components/annotations/AnnotationType.ts +10 -0
- package/front_end/ui/components/annotations/annotations.ts +6 -0
- package/front_end/ui/components/buttons/Button.ts +2 -2
- package/front_end/ui/components/buttons/FloatingButton.ts +2 -2
- package/front_end/ui/components/chrome_link/ChromeLink.ts +1 -1
- package/front_end/ui/components/dialogs/ButtonDialog.ts +1 -1
- package/front_end/ui/components/dialogs/Dialog.ts +1 -1
- package/front_end/ui/components/dialogs/ShortcutDialog.ts +1 -0
- package/front_end/ui/components/diff_view/DiffView.ts +1 -1
- package/front_end/ui/components/expandable_list/ExpandableList.ts +1 -1
- package/front_end/ui/components/highlighting/HighlightElement.ts +16 -2
- package/front_end/ui/components/highlighting/MarkupHighlight.ts +162 -0
- package/front_end/ui/components/highlighting/highlighting.ts +7 -0
- package/front_end/ui/components/icon_button/FileSourceIcon.ts +2 -2
- package/front_end/ui/components/icon_button/IconButton.ts +2 -2
- package/front_end/ui/components/icon_button/icon_button.ts +0 -2
- package/front_end/ui/components/issue_counter/IssueCounter.ts +2 -2
- package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +2 -2
- package/front_end/ui/components/legacy_wrapper/LegacyWrapper.ts +1 -1
- package/front_end/ui/components/linkifier/LinkifierImpl.ts +1 -1
- package/front_end/ui/components/list/List.ts +184 -0
- package/front_end/ui/components/list/list.css +90 -0
- package/front_end/ui/components/{cards/cards.ts → list/lists.ts} +3 -3
- package/front_end/ui/components/markdown_view/CodeBlock.ts +1 -1
- package/front_end/ui/components/markdown_view/MarkdownImage.ts +4 -4
- package/front_end/ui/components/markdown_view/MarkdownLink.ts +1 -1
- package/front_end/ui/components/markdown_view/MarkdownView.ts +1 -1
- package/front_end/ui/components/menus/Menu.ts +1 -1
- package/front_end/ui/components/menus/SelectMenu.ts +1 -1
- package/front_end/ui/components/node_text/NodeText.ts +1 -1
- package/front_end/ui/components/panel_feedback/FeedbackButton.ts +1 -1
- package/front_end/ui/components/panel_feedback/PanelFeedback.ts +1 -1
- package/front_end/ui/components/panel_feedback/PreviewToggle.ts +1 -1
- package/front_end/ui/components/panel_introduction_steps/PanelIntroductionSteps.ts +1 -1
- package/front_end/ui/components/report_view/ReportView.ts +1 -1
- package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +2 -2
- package/front_end/ui/components/settings/SettingCheckbox.ts +1 -1
- package/front_end/ui/components/settings/SettingDeprecationWarning.ts +2 -2
- package/front_end/ui/components/snackbars/Snackbar.ts +1 -1
- package/front_end/ui/components/spinners/Spinner.ts +1 -1
- package/front_end/ui/components/srgb_overlay/SrgbOverlay.ts +1 -1
- package/front_end/ui/components/suggestion_input/SuggestionInput.ts +1 -0
- package/front_end/ui/components/survey_link/SurveyLink.ts +2 -2
- package/front_end/ui/components/switch/SwitchImpl.ts +1 -1
- package/front_end/ui/components/text_editor/TextEditor.ts +1 -0
- package/front_end/ui/components/text_editor/config.ts +2 -2
- package/front_end/ui/components/text_prompt/TextPrompt.ts +1 -1
- package/front_end/ui/components/tooltips/Tooltip.ts +1 -1
- package/front_end/ui/components/tree_outline/TreeOutline.ts +1 -1
- package/front_end/ui/kit/cards/Card.docs.ts +43 -0
- package/front_end/ui/{components/icon_button → kit/icons}/Icon.docs.ts +3 -4
- package/front_end/ui/{components/icon_button → kit/icons}/Icon.ts +6 -4
- package/front_end/ui/kit/kit.ts +6 -0
- package/front_end/ui/legacy/Infobar.ts +3 -3
- package/front_end/ui/legacy/InspectorView.ts +3 -3
- package/front_end/ui/legacy/SearchableView.ts +2 -2
- package/front_end/ui/legacy/SoftContextMenu.ts +5 -5
- package/front_end/ui/legacy/SoftDropDown.ts +2 -2
- package/front_end/ui/legacy/TabbedPane.ts +106 -8
- package/front_end/ui/legacy/Toolbar.ts +3 -3
- package/front_end/ui/legacy/Treeoutline.ts +2 -2
- package/front_end/ui/legacy/UIUtils.ts +4 -188
- package/front_end/ui/legacy/ViewManager.ts +27 -12
- package/front_end/ui/legacy/ViewRegistration.ts +21 -22
- package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +8 -8
- package/front_end/ui/legacy/components/color_picker/Spectrum.ts +4 -4
- package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +4 -4
- package/front_end/ui/legacy/components/inline_editor/FontEditor.ts +2 -2
- package/front_end/ui/legacy/components/inline_editor/Swatches.ts +5 -5
- package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +3 -3
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +5 -4
- package/front_end/ui/legacy/components/perf_ui/LineLevelProfile.ts +73 -35
- package/front_end/ui/legacy/components/perf_ui/LiveHeapProfile.ts +11 -2
- package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +3 -3
- package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +23 -31
- package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +11 -27
- package/front_end/ui/legacy/components/quick_open/HelpQuickOpen.ts +11 -15
- package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +18 -65
- package/front_end/ui/legacy/components/source_frame/JSONView.ts +2 -1
- package/front_end/ui/legacy/components/utils/Linkifier.ts +3 -3
- package/front_end/ui/legacy/tabbedPane.css +10 -0
- package/front_end/ui/visual_logging/KnownContextValues.ts +3 -0
- package/inspector_overlay/README.md +3 -3
- package/mcp/HostBindings.ts +310 -0
- package/mcp/mcp.ts +18 -0
- package/mcp/tsconfig.json +6 -1
- package/package.json +26 -24
- /package/front_end/ui/{components → kit}/cards/Card.ts +0 -0
- /package/front_end/ui/{components → kit}/cards/card.css +0 -0
- /package/front_end/ui/{components/icon_button → kit/icons}/icon.css +0 -0
|
@@ -11,7 +11,6 @@ import * as i18n from '../../../core/i18n/i18n.js';
|
|
|
11
11
|
import * as UI from '../../../ui/legacy/legacy.js';
|
|
12
12
|
import {html, nothing, render} from '../../../ui/lit/lit.js';
|
|
13
13
|
|
|
14
|
-
import type {DeleteMemoryHighlightEvent, JumpToHighlightedMemoryEvent} from './LinearMemoryHighlightChipList.js';
|
|
15
14
|
import linearMemoryInspectorStyles from './linearMemoryInspector.css.js';
|
|
16
15
|
import {formatAddress, parseAddress} from './LinearMemoryInspectorUtils.js';
|
|
17
16
|
import {
|
|
@@ -121,8 +120,8 @@ export interface ViewInput {
|
|
|
121
120
|
onAddressChange: (e: AddressInputChangedEvent) => void;
|
|
122
121
|
onNavigatePage: (e: PageNavigationEvent) => void;
|
|
123
122
|
onNavigateHistory: (e: HistoryNavigationEvent) => boolean;
|
|
124
|
-
onJumpToAddress: (e: JumpToPointerAddressEvent|
|
|
125
|
-
onDeleteMemoryHighlight: (
|
|
123
|
+
onJumpToAddress: (e: JumpToPointerAddressEvent|{data: number}) => void;
|
|
124
|
+
onDeleteMemoryHighlight: (info: HighlightInfo) => void;
|
|
126
125
|
onByteSelected: (e: ByteSelectedEvent) => void;
|
|
127
126
|
onResize: (e: ResizeEvent) => void;
|
|
128
127
|
onValueTypeToggled: (e: ValueTypeToggledEvent) => void;
|
|
@@ -164,9 +163,13 @@ export const DEFAULT_VIEW = (input: ViewInput, _output: Record<string, unknown>,
|
|
|
164
163
|
@pagenavigation=${input.onNavigatePage}
|
|
165
164
|
@historynavigation=${input.onNavigateHistory}></devtools-linear-memory-inspector-navigator>
|
|
166
165
|
<devtools-linear-memory-highlight-chip-list
|
|
167
|
-
.data=${{
|
|
168
|
-
|
|
169
|
-
|
|
166
|
+
.data=${{
|
|
167
|
+
highlightInfos: highlightedMemoryAreas,
|
|
168
|
+
focusedMemoryHighlight,
|
|
169
|
+
jumpToAddress: (address: number) => input.onJumpToAddress({data: address}),
|
|
170
|
+
deleteHighlight: input.onDeleteMemoryHighlight,
|
|
171
|
+
}}
|
|
172
|
+
>
|
|
170
173
|
</devtools-linear-memory-highlight-chip-list>
|
|
171
174
|
<devtools-linear-memory-inspector-viewer
|
|
172
175
|
.data=${
|
|
@@ -376,17 +379,18 @@ export class LinearMemoryInspector extends Common.ObjectWrapper.eventMixin<Event
|
|
|
376
379
|
this.#view(viewInput, {}, this.contentElement);
|
|
377
380
|
}
|
|
378
381
|
|
|
379
|
-
#onJumpToAddress(e: JumpToPointerAddressEvent|
|
|
382
|
+
#onJumpToAddress(e: JumpToPointerAddressEvent|{data: number}): void {
|
|
380
383
|
// Stop event from bubbling up, since no element further up needs the event.
|
|
381
|
-
e
|
|
384
|
+
if (e instanceof Event) {
|
|
385
|
+
e.stopPropagation();
|
|
386
|
+
}
|
|
382
387
|
this.#currentNavigatorMode = Mode.SUBMITTED;
|
|
383
388
|
const addressInRange = Math.max(0, Math.min(e.data, this.#outerMemoryLength - 1));
|
|
384
389
|
this.#jumpToAddress(addressInRange);
|
|
385
390
|
}
|
|
386
391
|
|
|
387
|
-
#onDeleteMemoryHighlight(
|
|
388
|
-
|
|
389
|
-
this.dispatchEventToListeners(Events.DELETE_MEMORY_HIGHLIGHT, e.data);
|
|
392
|
+
#onDeleteMemoryHighlight(highlight: HighlightInfo): void {
|
|
393
|
+
this.dispatchEventToListeners(Events.DELETE_MEMORY_HIGHLIGHT, highlight);
|
|
390
394
|
}
|
|
391
395
|
|
|
392
396
|
#onRefreshRequest(): void {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
/* eslint-disable @devtools/no-lit-render-outside-of-view */
|
|
5
5
|
|
|
6
|
-
import '../../../ui/
|
|
6
|
+
import '../../../ui/kit/kit.js';
|
|
7
7
|
|
|
8
8
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
9
9
|
import * as Buttons from '../../../ui/components/buttons/buttons.js';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
/* eslint-disable @devtools/no-lit-render-outside-of-view */
|
|
5
5
|
|
|
6
|
-
import '../../../ui/
|
|
6
|
+
import '../../../ui/kit/kit.js';
|
|
7
7
|
import './ValueInterpreterDisplay.js';
|
|
8
8
|
import './ValueInterpreterSettings.js';
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
/* eslint-disable @devtools/no-lit-render-outside-of-view */
|
|
5
5
|
|
|
6
|
-
import '../../../ui/
|
|
6
|
+
import '../../../ui/kit/kit.js';
|
|
7
7
|
|
|
8
8
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
9
9
|
import * as UI from '../../../ui/legacy/legacy.js';
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
// Copyright 2019 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
|
-
|
|
4
|
+
|
|
5
|
+
import '../../ui/kit/kit.js';
|
|
5
6
|
|
|
6
7
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
7
8
|
import type * as Protocol from '../../generated/protocol.js';
|
|
8
|
-
import * as IconButton from '../../ui/components/icon_button/icon_button.js';
|
|
9
9
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
10
|
+
import {Directives, html, render} from '../../ui/lit/lit.js';
|
|
10
11
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
11
12
|
|
|
12
13
|
import type {MainView, TriggerDispatcher} from './MainView.js';
|
|
@@ -14,6 +15,8 @@ import type {PlayerEvent} from './MediaModel.js';
|
|
|
14
15
|
import playerListViewStyles from './playerListView.css.js';
|
|
15
16
|
import {PlayerPropertyKeys} from './PlayerPropertiesView.js';
|
|
16
17
|
|
|
18
|
+
const {classMap} = Directives;
|
|
19
|
+
|
|
17
20
|
const UIStrings = {
|
|
18
21
|
/**
|
|
19
22
|
* @description A right-click context menu entry which when clicked causes the menu entry for that player to be removed.
|
|
@@ -34,76 +37,103 @@ const UIStrings = {
|
|
|
34
37
|
} as const;
|
|
35
38
|
const str_ = i18n.i18n.registerUIStrings('panels/media/PlayerListView.ts', UIStrings);
|
|
36
39
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
37
|
-
|
|
40
|
+
|
|
41
|
+
interface PlayerStatus {
|
|
38
42
|
playerTitle: string;
|
|
43
|
+
frameTitle: string;
|
|
39
44
|
playerID: string;
|
|
40
45
|
exists: boolean;
|
|
41
46
|
playing: boolean;
|
|
42
47
|
titleEdited: boolean;
|
|
48
|
+
iconName: string;
|
|
43
49
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
50
|
+
|
|
51
|
+
export interface ViewInput {
|
|
52
|
+
players: PlayerStatus[];
|
|
53
|
+
selectedPlayerID: string|null;
|
|
54
|
+
onPlayerClick: (playerID: string) => void;
|
|
55
|
+
onPlayerContextMenu: (playerID: string, event: Event) => void;
|
|
47
56
|
}
|
|
57
|
+
export type View = (input: ViewInput, output: object, target: HTMLElement) => void;
|
|
58
|
+
|
|
59
|
+
const DEFAULT_VIEW: View = (input, _output, target) => {
|
|
60
|
+
// clang-format off
|
|
61
|
+
render(
|
|
62
|
+
html`
|
|
63
|
+
<style>${playerListViewStyles}</style>
|
|
64
|
+
<div class="player-entry-header">${i18nString(UIStrings.players)}</div>
|
|
65
|
+
${input.players.map(player => {
|
|
66
|
+
const isSelected = player.playerID === input.selectedPlayerID;
|
|
67
|
+
return html`
|
|
68
|
+
<div class=${classMap({
|
|
69
|
+
'player-entry-row': true,
|
|
70
|
+
hbox: true,
|
|
71
|
+
selected: isSelected,
|
|
72
|
+
'force-white-icons': isSelected,
|
|
73
|
+
})}
|
|
74
|
+
@click=${() => input.onPlayerClick(player.playerID)}
|
|
75
|
+
@contextmenu=${(e: Event) => input.onPlayerContextMenu(player.playerID, e)}
|
|
76
|
+
jslog=${VisualLogging.item('player').track({click: true})}>
|
|
77
|
+
<div class="player-entry-status-icon vbox">
|
|
78
|
+
<div class="player-entry-status-icon-centering">
|
|
79
|
+
<devtools-icon name=${player.iconName}></devtools-icon>
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
<div class="player-entry-frame-title">${player.frameTitle}</div>
|
|
83
|
+
<div class="player-entry-player-title">${player.playerTitle}</div>
|
|
84
|
+
</div>
|
|
85
|
+
`;
|
|
86
|
+
})}
|
|
87
|
+
`,
|
|
88
|
+
target
|
|
89
|
+
);
|
|
90
|
+
// clang-format on
|
|
91
|
+
};
|
|
48
92
|
|
|
49
93
|
export class PlayerListView extends UI.Widget.VBox implements TriggerDispatcher {
|
|
50
|
-
|
|
94
|
+
#view: View;
|
|
95
|
+
private readonly playerStatuses: Map<string, PlayerStatus>;
|
|
51
96
|
private readonly playerEntriesWithHostnameFrameTitle: Set<string>;
|
|
52
97
|
private readonly mainContainer: MainView;
|
|
53
|
-
private
|
|
98
|
+
private currentlySelectedPlayerID: string|null;
|
|
54
99
|
|
|
55
|
-
constructor(mainContainer: MainView) {
|
|
100
|
+
constructor(mainContainer: MainView, view: View = DEFAULT_VIEW) {
|
|
56
101
|
super({useShadowDom: true});
|
|
57
|
-
this
|
|
102
|
+
this.#view = view;
|
|
58
103
|
|
|
59
|
-
this.
|
|
104
|
+
this.playerStatuses = new Map();
|
|
60
105
|
this.playerEntriesWithHostnameFrameTitle = new Set();
|
|
61
106
|
|
|
62
107
|
// Container where new panels can be added based on clicks.
|
|
63
108
|
this.mainContainer = mainContainer;
|
|
64
109
|
|
|
65
|
-
this.
|
|
66
|
-
this.
|
|
110
|
+
this.currentlySelectedPlayerID = null;
|
|
111
|
+
this.requestUpdate();
|
|
67
112
|
}
|
|
68
113
|
|
|
69
|
-
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
</div>
|
|
78
|
-
`;
|
|
79
|
-
const element = entry.element();
|
|
80
|
-
element.setAttribute('jslog', `${VisualLogging.item('player').track({click: true})}`);
|
|
81
|
-
element.addEventListener('click', this.selectPlayer.bind(this, playerID, element));
|
|
82
|
-
element.addEventListener('contextmenu', this.rightClickPlayer.bind(this, playerID));
|
|
83
|
-
|
|
84
|
-
entry.$('icon').appendChild(IconButton.Icon.create('pause', 'media-player'));
|
|
85
|
-
return entry;
|
|
114
|
+
override performUpdate(): void {
|
|
115
|
+
const input: ViewInput = {
|
|
116
|
+
players: Array.from(this.playerStatuses.values()),
|
|
117
|
+
selectedPlayerID: this.currentlySelectedPlayerID,
|
|
118
|
+
onPlayerClick: this.selectPlayer.bind(this),
|
|
119
|
+
onPlayerContextMenu: this.rightClickPlayer.bind(this),
|
|
120
|
+
};
|
|
121
|
+
this.#view(input, {}, this.contentElement);
|
|
86
122
|
}
|
|
87
123
|
|
|
88
124
|
selectPlayerById(playerID: string): void {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
this.selectPlayer(playerID, fragment.element());
|
|
125
|
+
if (this.playerStatuses.has(playerID)) {
|
|
126
|
+
this.selectPlayer(playerID);
|
|
92
127
|
}
|
|
93
128
|
}
|
|
94
129
|
|
|
95
|
-
private selectPlayer(playerID: string
|
|
130
|
+
private selectPlayer(playerID: string): void {
|
|
96
131
|
this.mainContainer.renderMainPanel(playerID);
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
this.currentlySelectedEntry.classList.remove('force-white-icons');
|
|
100
|
-
}
|
|
101
|
-
element.classList.add('selected');
|
|
102
|
-
element.classList.add('force-white-icons');
|
|
103
|
-
this.currentlySelectedEntry = element;
|
|
132
|
+
this.currentlySelectedPlayerID = playerID;
|
|
133
|
+
this.requestUpdate();
|
|
104
134
|
}
|
|
105
135
|
|
|
106
|
-
private rightClickPlayer(playerID: string, event: Event):
|
|
136
|
+
private rightClickPlayer(playerID: string, event: Event): void {
|
|
107
137
|
const contextMenu = new UI.ContextMenu.ContextMenu(event);
|
|
108
138
|
contextMenu.headerSection().appendItem(
|
|
109
139
|
i18nString(UIStrings.hidePlayer), this.mainContainer.markPlayerForDeletion.bind(this.mainContainer, playerID),
|
|
@@ -116,7 +146,6 @@ export class PlayerListView extends UI.Widget.VBox implements TriggerDispatcher
|
|
|
116
146
|
i18nString(UIStrings.savePlayerInfo), this.mainContainer.exportPlayerData.bind(this.mainContainer, playerID),
|
|
117
147
|
{jslogContext: 'save-player-info'});
|
|
118
148
|
void contextMenu.show();
|
|
119
|
-
return true;
|
|
120
149
|
}
|
|
121
150
|
|
|
122
151
|
private setMediaElementFrameTitle(playerID: string, frameTitle: string, isHostname: boolean): void {
|
|
@@ -131,41 +160,36 @@ export class PlayerListView extends UI.Widget.VBox implements TriggerDispatcher
|
|
|
131
160
|
return;
|
|
132
161
|
}
|
|
133
162
|
|
|
134
|
-
if (!this.
|
|
163
|
+
if (!this.playerStatuses.has(playerID)) {
|
|
135
164
|
return;
|
|
136
165
|
}
|
|
137
|
-
const
|
|
138
|
-
if (
|
|
139
|
-
|
|
166
|
+
const playerStatus = this.playerStatuses.get(playerID);
|
|
167
|
+
if (playerStatus) {
|
|
168
|
+
playerStatus.frameTitle = frameTitle;
|
|
169
|
+
this.requestUpdate();
|
|
140
170
|
}
|
|
141
|
-
fragment.$('frame-title').textContent = frameTitle;
|
|
142
171
|
}
|
|
143
172
|
|
|
144
173
|
private setMediaElementPlayerTitle(playerID: string, playerTitle: string): void {
|
|
145
|
-
if (!this.
|
|
174
|
+
if (!this.playerStatuses.has(playerID)) {
|
|
146
175
|
return;
|
|
147
176
|
}
|
|
148
|
-
const
|
|
149
|
-
if (
|
|
150
|
-
|
|
177
|
+
const playerStatus = this.playerStatuses.get(playerID);
|
|
178
|
+
if (playerStatus) {
|
|
179
|
+
playerStatus.playerTitle = playerTitle;
|
|
180
|
+
this.requestUpdate();
|
|
151
181
|
}
|
|
152
|
-
fragment.$('player-title').textContent = playerTitle;
|
|
153
182
|
}
|
|
154
183
|
|
|
155
184
|
private setMediaElementPlayerIcon(playerID: string, iconName: string): void {
|
|
156
|
-
if (!this.
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
const fragment = this.playerEntryFragments.get(playerID);
|
|
160
|
-
if (fragment === undefined) {
|
|
185
|
+
if (!this.playerStatuses.has(playerID)) {
|
|
161
186
|
return;
|
|
162
187
|
}
|
|
163
|
-
const
|
|
164
|
-
if (
|
|
165
|
-
|
|
188
|
+
const playerStatus = this.playerStatuses.get(playerID);
|
|
189
|
+
if (playerStatus) {
|
|
190
|
+
playerStatus.iconName = iconName;
|
|
191
|
+
this.requestUpdate();
|
|
166
192
|
}
|
|
167
|
-
icon.textContent = '';
|
|
168
|
-
icon.appendChild(IconButton.Icon.create(iconName, 'media-player'));
|
|
169
193
|
}
|
|
170
194
|
|
|
171
195
|
private formatAndEvaluate(
|
|
@@ -180,22 +204,25 @@ export class PlayerListView extends UI.Widget.VBox implements TriggerDispatcher
|
|
|
180
204
|
}
|
|
181
205
|
|
|
182
206
|
addMediaElementItem(playerID: string): void {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
207
|
+
this.playerStatuses.set(playerID, {
|
|
208
|
+
playerTitle: 'PlayerTitle',
|
|
209
|
+
frameTitle: 'FrameTitle',
|
|
210
|
+
playerID,
|
|
211
|
+
exists: true,
|
|
212
|
+
playing: false,
|
|
213
|
+
titleEdited: false,
|
|
214
|
+
iconName: 'pause',
|
|
215
|
+
});
|
|
186
216
|
this.playerEntriesWithHostnameFrameTitle.add(playerID);
|
|
217
|
+
this.requestUpdate();
|
|
187
218
|
}
|
|
188
219
|
|
|
189
220
|
deletePlayer(playerID: string): void {
|
|
190
|
-
if (!this.
|
|
191
|
-
return;
|
|
192
|
-
}
|
|
193
|
-
const fragment = this.playerEntryFragments.get(playerID);
|
|
194
|
-
if (fragment?.element() === undefined) {
|
|
221
|
+
if (!this.playerStatuses.has(playerID)) {
|
|
195
222
|
return;
|
|
196
223
|
}
|
|
197
|
-
this.
|
|
198
|
-
this.
|
|
224
|
+
this.playerStatuses.delete(playerID);
|
|
225
|
+
this.requestUpdate();
|
|
199
226
|
}
|
|
200
227
|
|
|
201
228
|
onEvent(playerID: string, event: PlayerEvent): void {
|
|
@@ -7,7 +7,7 @@ import * as Common from '../../core/common/common.js';
|
|
|
7
7
|
import * as Host from '../../core/host/host.js';
|
|
8
8
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
9
9
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
10
|
-
import
|
|
10
|
+
import {Icon} from '../../ui/kit/kit.js';
|
|
11
11
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
12
12
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
13
13
|
|
|
@@ -392,7 +392,7 @@ export class ThrottlingManager extends Common.ObjectWrapper.ObjectWrapper<Thrott
|
|
|
392
392
|
|
|
393
393
|
const reset = new UI.Toolbar.ToolbarButton('Reset concurrency', 'undo', undefined, 'hardware-concurrency-reset');
|
|
394
394
|
reset.setTitle(i18nString(UIStrings.resetConcurrency));
|
|
395
|
-
const icon = new
|
|
395
|
+
const icon = new Icon();
|
|
396
396
|
icon.name = 'warning-filled';
|
|
397
397
|
icon.classList.add('small');
|
|
398
398
|
const warning = new UI.Toolbar.ToolbarItem(icon);
|
|
@@ -3,14 +3,13 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
/* eslint-disable @devtools/no-imperative-dom-api */
|
|
5
5
|
|
|
6
|
-
import '../../ui/
|
|
6
|
+
import '../../ui/kit/kit.js';
|
|
7
7
|
|
|
8
8
|
import * as Common from '../../core/common/common.js';
|
|
9
9
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
10
10
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
11
11
|
import * as Buttons from '../../ui/components/buttons/buttons.js';
|
|
12
|
-
import type
|
|
13
|
-
import * as IconButton from '../../ui/components/icon_button/icon_button.js';
|
|
12
|
+
import {type Card, createIcon} from '../../ui/kit/kit.js';
|
|
14
13
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
15
14
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
16
15
|
|
|
@@ -198,7 +197,7 @@ function createComputePressurePromise(): Promise<{state: string}> {
|
|
|
198
197
|
}
|
|
199
198
|
|
|
200
199
|
export class CPUThrottlingCard {
|
|
201
|
-
element:
|
|
200
|
+
element: Card;
|
|
202
201
|
|
|
203
202
|
private readonly setting: Common.Settings.Setting<SDK.CPUThrottlingManager.CalibratedCPUThrottling>;
|
|
204
203
|
private computePressurePromise?: ReturnType<typeof createComputePressurePromise>;
|
|
@@ -352,7 +351,7 @@ export class CPUThrottlingCard {
|
|
|
352
351
|
private createTextWithIcon(text: string, icon: string): HTMLElement {
|
|
353
352
|
const el = document.createElement('div');
|
|
354
353
|
el.classList.add('text-with-icon');
|
|
355
|
-
el.append(
|
|
354
|
+
el.append(createIcon(icon));
|
|
356
355
|
el.append(text);
|
|
357
356
|
return el;
|
|
358
357
|
}
|
|
@@ -48,7 +48,7 @@ import * as Logs from '../../models/logs/logs.js';
|
|
|
48
48
|
import type * as NetworkTimeCalculator from '../../models/network_time_calculator/network_time_calculator.js';
|
|
49
49
|
import * as NetworkForward from '../../panels/network/forward/forward.js';
|
|
50
50
|
import * as Buttons from '../../ui/components/buttons/buttons.js';
|
|
51
|
-
import
|
|
51
|
+
import {createIcon} from '../../ui/kit/kit.js';
|
|
52
52
|
import * as DataGrid from '../../ui/legacy/components/data_grid/data_grid.js';
|
|
53
53
|
import * as PerfUI from '../../ui/legacy/components/perf_ui/perf_ui.js';
|
|
54
54
|
import * as Components from '../../ui/legacy/components/utils/utils.js';
|
|
@@ -1428,7 +1428,7 @@ export class NetworkRequestNode extends NetworkNode {
|
|
|
1428
1428
|
case SDK.NetworkRequest.InitiatorType.PREFLIGHT: {
|
|
1429
1429
|
cell.appendChild(document.createTextNode(i18nString(UIStrings.preflight)));
|
|
1430
1430
|
if (initiator.initiatorRequest) {
|
|
1431
|
-
const icon =
|
|
1431
|
+
const icon = createIcon('arrow-up-down-circle');
|
|
1432
1432
|
const link = Components.Linkifier.Linkifier.linkifyRevealable(
|
|
1433
1433
|
initiator.initiatorRequest, icon, undefined, i18nString(UIStrings.selectTheRequestThatTriggered),
|
|
1434
1434
|
'trailing-link-icon', 'initator-request');
|
|
@@ -1513,7 +1513,7 @@ export class NetworkRequestNode extends NetworkNode {
|
|
|
1513
1513
|
const throttlingConditionsTitle = typeof throttlingConditions.conditions.title === 'string' ?
|
|
1514
1514
|
throttlingConditions.conditions.title :
|
|
1515
1515
|
throttlingConditions.conditions.title();
|
|
1516
|
-
const icon =
|
|
1516
|
+
const icon = createIcon('watch');
|
|
1517
1517
|
icon.title = i18nString(UIStrings.wasThrottled, {PH1: throttlingConditionsTitle});
|
|
1518
1518
|
icon.addEventListener('click', () => void Common.Revealer.reveal(throttlingConditions));
|
|
1519
1519
|
cell.append(icon);
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import * as Common from '../../core/common/common.js';
|
|
6
6
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
7
|
-
import
|
|
7
|
+
import {createIcon} from '../../ui/kit/kit.js';
|
|
8
8
|
import type * as DataGrid from '../../ui/legacy/components/data_grid/data_grid.js';
|
|
9
9
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
10
10
|
|
|
@@ -56,7 +56,7 @@ export class FrameGroupNode extends NetworkGroupNode {
|
|
|
56
56
|
const columnIndex = (this.dataGrid as DataGrid.DataGrid.DataGridImpl<unknown>).indexOfVisibleColumn(columnId);
|
|
57
57
|
if (columnIndex === 0) {
|
|
58
58
|
const name = this.displayName();
|
|
59
|
-
cell.appendChild(
|
|
59
|
+
cell.appendChild(createIcon('frame', 'network-frame-group-icon'));
|
|
60
60
|
UI.UIUtils.createTextChild(cell, name);
|
|
61
61
|
UI.Tooltip.Tooltip.install(cell, name);
|
|
62
62
|
this.setCellAccessibleName(cell.textContent || '', cell, columnId);
|
|
@@ -10,8 +10,8 @@ import * as Platform from '../../core/platform/platform.js';
|
|
|
10
10
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
11
11
|
import type * as NetworkTimeCalculator from '../../models/network_time_calculator/network_time_calculator.js';
|
|
12
12
|
import * as NetworkForward from '../../panels/network/forward/forward.js';
|
|
13
|
-
import * as IconButton from '../../ui/components/icon_button/icon_button.js';
|
|
14
13
|
import * as LegacyWrapper from '../../ui/components/legacy_wrapper/legacy_wrapper.js';
|
|
14
|
+
import {Icon} from '../../ui/kit/kit.js';
|
|
15
15
|
import type * as SourceFrame from '../../ui/legacy/components/source_frame/source_frame.js';
|
|
16
16
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
17
17
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
@@ -208,7 +208,7 @@ export class NetworkItemView extends UI.TabbedPane.TabbedPane {
|
|
|
208
208
|
i18nString(UIStrings.responsePreview));
|
|
209
209
|
const signedExchangeInfo = request.signedExchangeInfo();
|
|
210
210
|
if (signedExchangeInfo?.errors?.length) {
|
|
211
|
-
const icon = new
|
|
211
|
+
const icon = new Icon();
|
|
212
212
|
icon.name = 'cross-circle-filled';
|
|
213
213
|
icon.classList.add('small');
|
|
214
214
|
UI.Tooltip.Tooltip.install(icon, i18nString(UIStrings.signedexchangeError));
|
|
@@ -292,7 +292,7 @@ export class NetworkItemView extends UI.TabbedPane.TabbedPane {
|
|
|
292
292
|
i18nString(UIStrings.requestAndResponseCookies));
|
|
293
293
|
}
|
|
294
294
|
if (this.#request.hasThirdPartyCookiePhaseoutIssue()) {
|
|
295
|
-
const icon = new
|
|
295
|
+
const icon = new Icon();
|
|
296
296
|
icon.name = 'warning-filled';
|
|
297
297
|
icon.classList.add('small');
|
|
298
298
|
icon.title = i18nString(UIStrings.thirdPartyPhaseout);
|
|
@@ -317,7 +317,7 @@ export class NetworkItemView extends UI.TabbedPane.TabbedPane {
|
|
|
317
317
|
const trustTokenResult = this.#request.trustTokenOperationDoneEvent();
|
|
318
318
|
if (trustTokenResult &&
|
|
319
319
|
!NetworkComponents.RequestTrustTokensView.statusConsideredSuccess(trustTokenResult.status)) {
|
|
320
|
-
const icon = new
|
|
320
|
+
const icon = new Icon();
|
|
321
321
|
icon.name = 'cross-circle-filled';
|
|
322
322
|
icon.classList.add('small');
|
|
323
323
|
this.setTabIcon(NetworkForward.UIRequestLocation.UIRequestTabs.TRUST_TOKENS, icon);
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import * as Common from '../../core/common/common.js';
|
|
7
7
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
8
8
|
import type * as NetworkTimeCalculator from '../../models/network_time_calculator/network_time_calculator.js';
|
|
9
|
-
import
|
|
9
|
+
import {Icon} from '../../ui/kit/kit.js';
|
|
10
10
|
import * as DataGrid from '../../ui/legacy/components/data_grid/data_grid.js';
|
|
11
11
|
import * as Components from '../../ui/legacy/components/utils/utils.js';
|
|
12
12
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
@@ -181,7 +181,7 @@ export class NetworkLogViewColumns {
|
|
|
181
181
|
private waterfallScroller!: HTMLElement;
|
|
182
182
|
private waterfallScrollerContent!: HTMLDivElement;
|
|
183
183
|
private waterfallHeaderElement!: HTMLElement;
|
|
184
|
-
private waterfallColumnSortIcon!:
|
|
184
|
+
private waterfallColumnSortIcon!: Icon;
|
|
185
185
|
private activeWaterfallSortId!: string;
|
|
186
186
|
private popoverHelper?: UI.PopoverHelper.PopoverHelper;
|
|
187
187
|
private hasScrollerTouchStarted?: boolean;
|
|
@@ -415,7 +415,7 @@ export class NetworkLogViewColumns {
|
|
|
415
415
|
this.waterfallHeaderElement.createChild('div', 'hover-layer');
|
|
416
416
|
const innerElement = this.waterfallHeaderElement.createChild('div');
|
|
417
417
|
innerElement.textContent = i18nString(UIStrings.waterfall);
|
|
418
|
-
this.waterfallColumnSortIcon = new
|
|
418
|
+
this.waterfallColumnSortIcon = new Icon();
|
|
419
419
|
this.waterfallColumnSortIcon.className = 'sort-order-icon';
|
|
420
420
|
this.waterfallHeaderElement.createChild('div', 'sort-order-icon-container')
|
|
421
421
|
.appendChild(this.waterfallColumnSortIcon);
|
|
@@ -86,9 +86,8 @@ const UIStrings = {
|
|
|
86
86
|
textPatternToBlockMatching: 'Text pattern to block matching requests; use * for wildcard',
|
|
87
87
|
/**
|
|
88
88
|
* @description Text in Blocked URLs Pane of the Network panel
|
|
89
|
-
* @example {Learn more} PH1
|
|
90
89
|
*/
|
|
91
|
-
textEditPattern: 'Text pattern to block or throttle matching requests; use URL Pattern syntax.
|
|
90
|
+
textEditPattern: 'Text pattern to block or throttle matching requests; use URL Pattern syntax.',
|
|
92
91
|
/**
|
|
93
92
|
* @description Error text for empty list widget input in Request Blocking tool
|
|
94
93
|
*/
|
|
@@ -449,7 +448,7 @@ export class RequestConditionsDrawer extends UI.Widget.VBox implements
|
|
|
449
448
|
<devtools-button
|
|
450
449
|
.iconName=${'arrow-up'}
|
|
451
450
|
.variant=${Buttons.Button.Variant.ICON}
|
|
452
|
-
.title=${i18nString(UIStrings.
|
|
451
|
+
.title=${i18nString(UIStrings.increasePriority, {PH1: constructorStringOrWildcardURL})}
|
|
453
452
|
.jslogContext=${'decrease-priority'}
|
|
454
453
|
?disabled=${!editable || !originalOrUpgradedURLPattern}
|
|
455
454
|
@click=${moveUp}>
|
|
@@ -457,7 +456,7 @@ export class RequestConditionsDrawer extends UI.Widget.VBox implements
|
|
|
457
456
|
<devtools-button
|
|
458
457
|
.iconName=${'arrow-down'}
|
|
459
458
|
.variant=${Buttons.Button.Variant.ICON}
|
|
460
|
-
.title=${i18nString(UIStrings.
|
|
459
|
+
.title=${i18nString(UIStrings.decreasePriority, {PH1: constructorStringOrWildcardURL})}
|
|
461
460
|
.jslogContext=${'increase-priority'}
|
|
462
461
|
?disabled=${!editable || !originalOrUpgradedURLPattern}
|
|
463
462
|
@click=${moveDown}></devtools-button>
|
|
@@ -579,7 +578,8 @@ export class RequestConditionsDrawer extends UI.Widget.VBox implements
|
|
|
579
578
|
const learnMore = UI.XLink.XLink.create(
|
|
580
579
|
PATTERN_API_DOCS_URL, i18nString(UIStrings.learnMore), undefined, undefined, 'learn-more');
|
|
581
580
|
learnMore.title = i18nString(UIStrings.learnMoreLabel);
|
|
582
|
-
|
|
581
|
+
titles.append('\xA0', learnMore);
|
|
582
|
+
label.textContent = i18nString(UIStrings.textEditPattern);
|
|
583
583
|
} else {
|
|
584
584
|
label.textContent = i18nString(UIStrings.textPatternToBlockMatching);
|
|
585
585
|
}
|
|
@@ -7,8 +7,8 @@ import * as Common from '../../core/common/common.js';
|
|
|
7
7
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
8
8
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
9
9
|
import * as Protocol from '../../generated/protocol.js';
|
|
10
|
-
import * as IconButton from '../../ui/components/icon_button/icon_button.js';
|
|
11
10
|
import * as uiI18n from '../../ui/i18n/i18n.js';
|
|
11
|
+
import {Icon} from '../../ui/kit/kit.js';
|
|
12
12
|
import * as CookieTable from '../../ui/legacy/components/cookie_table/cookie_table.js';
|
|
13
13
|
import * as SettingsUI from '../../ui/legacy/components/settings_ui/settings_ui.js';
|
|
14
14
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
@@ -281,7 +281,7 @@ export class RequestCookiesView extends UI.Widget.Widget {
|
|
|
281
281
|
this.malformedResponseCookiesList.removeChildren();
|
|
282
282
|
for (const malformedCookie of malformedResponseCookies) {
|
|
283
283
|
const listItem = this.malformedResponseCookiesList.createChild('span', 'cookie-line source-code');
|
|
284
|
-
const icon = new
|
|
284
|
+
const icon = new Icon();
|
|
285
285
|
icon.name = 'cross-circle-filled';
|
|
286
286
|
icon.classList.add('cookie-warning-icon', 'small');
|
|
287
287
|
listItem.appendChild(icon);
|
|
@@ -7,7 +7,7 @@ import * as Host from '../../core/host/host.js';
|
|
|
7
7
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
8
8
|
import type * as SDK from '../../core/sdk/sdk.js';
|
|
9
9
|
import * as Protocol from '../../generated/protocol.js';
|
|
10
|
-
import
|
|
10
|
+
import {Icon} from '../../ui/kit/kit.js';
|
|
11
11
|
import * as Components from '../../ui/legacy/components/utils/utils.js';
|
|
12
12
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
13
13
|
|
|
@@ -127,7 +127,7 @@ export class SignedExchangeInfoView extends UI.Widget.VBox {
|
|
|
127
127
|
const errorMessagesCategory = new Category(root, i18nString(UIStrings.errors));
|
|
128
128
|
for (const error of signedExchangeInfo.errors) {
|
|
129
129
|
const fragment = document.createDocumentFragment();
|
|
130
|
-
const icon = new
|
|
130
|
+
const icon = new Icon();
|
|
131
131
|
icon.name = 'cross-circle-filled';
|
|
132
132
|
icon.classList.add('prompt-icon', 'small');
|
|
133
133
|
fragment.appendChild(icon);
|