chrome-devtools-frontend 1.0.1657110 → 1.0.1660788
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/devtools-ux-writing-refactor/SKILL.md +125 -0
- package/.agents/skills/migrate-chromium-test/SKILL.md +15 -70
- package/.agents/skills/repro-flaky-tests/SKILL.md +53 -0
- package/.agents/skills/ui-eng-vision-orchestrator/SKILL.md +37 -18
- package/.agents/skills/version-control/SKILL.md +8 -1
- package/AUTHORS +1 -0
- package/SECURITY.md +3 -0
- package/docs/get_the_code.md +6 -0
- package/front_end/Images/src/ads.svg +1 -0
- package/front_end/Tests.js +6 -6
- package/front_end/core/common/Gzip.ts +12 -5
- package/front_end/core/common/ResourceType.ts +19 -19
- package/front_end/core/common/Revealer.ts +15 -15
- package/front_end/core/common/SettingRegistration.ts +19 -19
- package/front_end/core/host/AidaClient.ts +35 -9
- package/front_end/core/host/GdpClient.ts +10 -7
- package/front_end/core/platform/StringUtilities.ts +35 -0
- package/front_end/core/sdk/AccessibilityModel.snapshot.txt +17 -0
- package/front_end/core/sdk/AccessibilityModel.ts +132 -2
- package/front_end/core/sdk/CPUThrottlingManager.ts +8 -5
- package/front_end/core/sdk/CSSMetadata.ts +110 -16
- package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +2 -5
- package/front_end/core/sdk/ConsoleModel.ts +5 -5
- package/front_end/core/sdk/DOMDebuggerModel.ts +5 -1
- package/front_end/core/sdk/DOMModel.ts +32 -18
- package/front_end/core/sdk/NetworkManager.ts +58 -14
- package/front_end/core/sdk/NetworkRequest.ts +37 -1
- package/front_end/core/sdk/OverlayModel.ts +45 -6
- package/front_end/core/sdk/ResourceTreeModel.ts +6 -7
- package/front_end/core/sdk/ScreenCaptureModel.ts +2 -2
- package/front_end/core/sdk/ServerTiming.ts +17 -13
- package/front_end/core/sdk/ServiceWorkerCacheModel.ts +4 -2
- package/front_end/core/sdk/ServiceWorkerManager.ts +19 -5
- package/front_end/core/sdk/TargetManager.ts +10 -1
- package/front_end/core/sdk/TraceObject.ts +4 -2
- package/front_end/core/sdk/sdk-meta.ts +170 -0
- package/front_end/design_system_tokens.css +0 -5
- package/front_end/entrypoints/devtools_app/devtools_app.ts +1 -1
- package/front_end/entrypoints/formatter_worker/CSSFormatter.ts +13 -4
- package/front_end/entrypoints/formatter_worker/FormattedContentBuilder.ts +5 -2
- package/front_end/entrypoints/formatter_worker/FormatterWorker.ts +23 -4
- package/front_end/entrypoints/formatter_worker/HTMLFormatter.ts +33 -10
- package/front_end/entrypoints/formatter_worker/JavaScriptFormatter.ts +8 -3
- package/front_end/entrypoints/inspector_main/InspectorMain.ts +4 -4
- package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +2 -2
- package/front_end/entrypoints/inspector_main/RenderingOptions.ts +36 -37
- package/front_end/entrypoints/inspector_main/inspector_main-meta.ts +15 -33
- package/front_end/entrypoints/js_app/js_app.ts +6 -5
- package/front_end/entrypoints/main/GlobalAiButton.ts +4 -4
- package/front_end/entrypoints/main/MainImpl.ts +25 -55
- package/front_end/entrypoints/main/main-meta.ts +50 -50
- package/front_end/entrypoints/node_app/app/NodeConnectionsPanel.ts +5 -5
- package/front_end/entrypoints/node_app/app/NodeMain.ts +3 -3
- package/front_end/entrypoints/node_app/node_app.ts +10 -9
- package/front_end/entrypoints/worker_app/WorkerMain.ts +1 -1
- package/front_end/foundation/Universe.ts +76 -6
- package/front_end/generated/InspectorBackendCommands.ts +3 -3
- package/front_end/generated/SupportedCSSProperties.js +19 -12
- package/front_end/generated/protocol.ts +7 -1
- package/front_end/models/ai_assistance/AiConversation.ts +19 -17
- package/front_end/models/ai_assistance/AiHistoryStorage.ts +37 -14
- package/front_end/models/ai_assistance/AiUtils.ts +38 -42
- package/front_end/models/ai_assistance/agents/AiAgent.ts +5 -1
- package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +3 -2
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +2 -1
- package/front_end/models/ai_assistance/agents/StorageAgent.ts +7 -5
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +270 -286
- package/front_end/models/ai_assistance/data_formatters/UnitFormatters.ts +20 -0
- package/front_end/models/ai_assistance/performance/AICallTree.ts +3 -1
- package/front_end/models/ai_assistance/tools/ListNetworkRequests.ts +3 -2
- package/front_end/models/autofill_manager/AutofillManager.ts +3 -1
- package/front_end/models/bindings/CSSWorkspaceBinding.ts +8 -5
- package/front_end/models/bindings/CompilerScriptMapping.ts +2 -1
- package/front_end/models/bindings/DebuggerLanguagePlugins.ts +15 -16
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +6 -4
- package/front_end/models/bindings/FileUtils.ts +11 -12
- package/front_end/models/bindings/NetworkProject.ts +4 -0
- package/front_end/models/bindings/PresentationConsoleMessageHelper.ts +2 -1
- package/front_end/models/bindings/ResourceUtils.ts +1 -1
- package/front_end/models/bindings/SASSSourceMapping.ts +8 -5
- package/front_end/models/emulation/DeviceModeModel.ts +14 -14
- package/front_end/models/emulation/EmulatedDevices.ts +392 -11
- package/front_end/models/extensions/ExtensionAPI.ts +6 -6
- package/front_end/models/extensions/LanguageExtensionEndpoint.ts +13 -12
- package/front_end/models/issues_manager/BounceTrackingIssue.ts +1 -1
- package/front_end/models/issues_manager/ClientHintIssue.ts +1 -1
- package/front_end/models/issues_manager/ConnectionAllowlistIssue.ts +1 -1
- package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +7 -7
- package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +2 -2
- package/front_end/models/issues_manager/CookieIssue.ts +6 -7
- package/front_end/models/issues_manager/CorsIssue.ts +3 -3
- package/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.ts +2 -2
- package/front_end/models/issues_manager/DeprecationIssue.ts +3 -3
- package/front_end/models/issues_manager/EmailVerificationRequestIssue.ts +1 -1
- package/front_end/models/issues_manager/FederatedAuthRequestIssue.ts +1 -1
- package/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.ts +1 -1
- package/front_end/models/issues_manager/GenericIssue.ts +7 -7
- package/front_end/models/issues_manager/HeavyAdIssue.ts +3 -3
- package/front_end/models/issues_manager/Issue.ts +8 -8
- package/front_end/models/issues_manager/MixedContentIssue.ts +1 -1
- package/front_end/models/issues_manager/PartitioningBlobURLIssue.ts +3 -3
- package/front_end/models/issues_manager/QuirksModeIssue.ts +1 -1
- package/front_end/models/issues_manager/SRIMessageSignatureIssue.ts +2 -2
- package/front_end/models/issues_manager/SelectivePermissionsInterventionIssue.ts +2 -2
- package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +2 -2
- package/front_end/models/issues_manager/SharedDictionaryIssue.ts +1 -1
- package/front_end/models/issues_manager/UnencodedDigestIssue.ts +3 -3
- package/front_end/models/javascript_metadata/NativeFunctions.js +5 -1
- package/front_end/models/stack_trace/StackTraceModel.ts +3 -3
- package/front_end/models/text_utils/ContentData.ts +27 -0
- package/front_end/models/trace/helpers/SamplesIntegrator.ts +21 -5
- package/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +29 -14
- package/front_end/models/web_mcp/WebMCPModel.ts +24 -6
- package/front_end/models/workspace/IgnoreListManager.ts +6 -6
- package/front_end/models/workspace/UISourceCode.ts +3 -3
- package/front_end/models/workspace_diff/WorkspaceDiff.ts +23 -12
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +25 -22
- package/front_end/panels/ai_assistance/ExportConversation.ts +3 -4
- package/front_end/panels/ai_assistance/ai_assistance-meta.ts +3 -3
- package/front_end/panels/ai_assistance/components/ChatInput.ts +2 -2
- package/front_end/panels/ai_assistance/components/ChatMessage.ts +7 -0
- package/front_end/panels/ai_assistance/components/DisabledWidget.ts +2 -2
- package/front_end/panels/animation/AnimationTimeline.ts +17 -19
- package/front_end/panels/animation/AnimationUI.ts +5 -5
- package/front_end/panels/animation/animation-meta.ts +2 -2
- package/front_end/panels/application/ApplicationPanelSidebar.ts +13 -4
- package/front_end/panels/application/BackgroundServiceView.ts +2 -1
- package/front_end/panels/application/DeviceBoundSessionsView.ts +2 -6
- package/front_end/panels/application/IndexedDBViews.ts +245 -262
- package/front_end/panels/application/OpenedWindowDetailsView.ts +1 -1
- package/front_end/panels/application/ResourcesPanel.ts +9 -2
- package/front_end/panels/application/ServiceWorkersView.ts +252 -211
- package/front_end/panels/application/StorageView.ts +97 -33
- package/front_end/panels/application/WebMCPView.ts +15 -1
- package/front_end/panels/application/components/AdsView.ts +1 -1
- package/front_end/panels/application/indexedDBViews.css +38 -9
- package/front_end/panels/application/preloading/helper/PreloadingForward.ts +2 -1
- package/front_end/panels/application/resourcesSidebar.css +5 -0
- package/front_end/panels/application/storageView.css +26 -9
- package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +5 -1
- package/front_end/panels/browser_debugger/browser_debugger-meta.ts +8 -6
- package/front_end/panels/common/DOMLinkifier.ts +1 -1
- package/front_end/panels/common/ExtensionServer.ts +119 -14
- package/front_end/panels/console/ConsoleContextSelector.ts +4 -4
- package/front_end/panels/console/ConsolePinPane.ts +12 -12
- package/front_end/panels/console/ConsolePrompt.ts +6 -6
- package/front_end/panels/console/ConsoleSidebar.ts +7 -7
- package/front_end/panels/console/ConsoleView.ts +45 -44
- package/front_end/panels/console/ConsoleViewMessage.ts +40 -40
- package/front_end/panels/console/SymbolizedErrorWidget.ts +2 -1
- package/front_end/panels/console/console-meta.ts +34 -34
- package/front_end/panels/console_counters/WarningErrorCounter.ts +2 -2
- package/front_end/panels/coverage/CoverageListView.ts +28 -28
- package/front_end/panels/coverage/CoverageModel.ts +2 -1
- package/front_end/panels/coverage/CoverageView.ts +23 -23
- package/front_end/panels/coverage/coverage-meta.ts +5 -5
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +36 -36
- package/front_end/panels/css_overview/CSSOverviewProcessingView.ts +1 -1
- package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +2 -2
- package/front_end/panels/css_overview/CSSOverviewStartView.ts +6 -6
- package/front_end/panels/css_overview/CSSOverviewUnusedDeclarations.ts +6 -6
- package/front_end/panels/css_overview/css_overview-meta.ts +2 -2
- package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +20 -21
- package/front_end/panels/developer_resources/DeveloperResourcesView.ts +6 -8
- package/front_end/panels/developer_resources/developer_resources-meta.ts +2 -2
- package/front_end/panels/elements/AccessibilityTreeUtils.ts +8 -102
- package/front_end/panels/elements/AccessibilityTreeView.ts +163 -70
- package/front_end/panels/elements/ElementsPanel.ts +17 -11
- package/front_end/panels/elements/ElementsTreeElement.ts +49 -2
- package/front_end/panels/elements/ElementsTreeOutline.ts +4 -4
- package/front_end/panels/elements/LayoutPane.ts +1 -1
- package/front_end/panels/elements/MetricsSidebarPane.ts +100 -34
- package/front_end/panels/elements/StylePropertiesSection.ts +2 -2
- package/front_end/panels/elements/StylePropertyTreeElement.ts +8 -2
- package/front_end/panels/elements/StylesSidebarPane.ts +1 -1
- package/front_end/panels/elements/components/AccessibilityTreeNode.ts +7 -18
- package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +2 -2
- package/front_end/panels/elements/components/QueryContainer.ts +1 -1
- package/front_end/panels/issues/AffectedDirectivesView.ts +1 -1
- package/front_end/panels/issues/AffectedResourcesView.ts +2 -1
- package/front_end/panels/layer_viewer/LayerViewHost.ts +1 -1
- package/front_end/panels/media/EventDisplayTable.ts +2 -2
- package/front_end/panels/media/EventTimelineView.ts +4 -4
- package/front_end/panels/media/MainView.ts +4 -4
- package/front_end/panels/media/PlayerDetailView.ts +5 -5
- package/front_end/panels/media/PlayerListView.ts +1 -1
- package/front_end/panels/media/PlayerMessagesView.ts +12 -12
- package/front_end/panels/media/PlayerPropertiesView.ts +17 -17
- package/front_end/panels/network/NetworkDataGridNode.ts +124 -36
- package/front_end/panels/network/NetworkLogView.ts +11 -2
- package/front_end/panels/network/NetworkLogViewColumns.ts +18 -0
- package/front_end/panels/network/NetworkPanel.ts +2 -1
- package/front_end/panels/network/NetworkWaterfallColumn.ts +1 -3
- package/front_end/panels/network/RequestConditionsDrawer.ts +2 -2
- package/front_end/panels/network/RequestPayloadView.ts +53 -7
- package/front_end/panels/network/RequestPreviewView.ts +7 -1
- package/front_end/panels/network/components/ResponseHeaderSection.ts +1 -1
- package/front_end/panels/network/forward/UIFilter.ts +1 -0
- package/front_end/panels/network/networkPanel.css +1 -0
- package/front_end/panels/network/networkTimingTable.css +1 -1
- package/front_end/panels/network/requestPayloadView.css +10 -0
- package/front_end/panels/performance_monitor/PerformanceMonitor.ts +12 -12
- package/front_end/panels/performance_monitor/performance_monitor-meta.ts +7 -7
- package/front_end/panels/profiler/HeapDetachedElementsView.ts +2 -2
- package/front_end/panels/profiler/HeapProfileView.ts +563 -51
- package/front_end/panels/profiler/HeapSnapshotView.ts +15 -9
- package/front_end/panels/profiler/ProfilesPanel.ts +13 -7
- package/front_end/panels/profiler/WritableProfileHeader.ts +152 -0
- package/front_end/panels/profiler/profiler.ts +2 -2
- package/front_end/panels/protocol_monitor/JSONEditor.ts +10 -10
- package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +28 -32
- package/front_end/panels/protocol_monitor/protocol_monitor-meta.ts +1 -1
- package/front_end/panels/recorder/RecorderController.ts +15 -15
- package/front_end/panels/recorder/RecorderEvents.ts +8 -0
- package/front_end/panels/recorder/components/CreateRecordingView.ts +11 -11
- package/front_end/panels/recorder/components/ExtensionView.ts +74 -83
- package/front_end/panels/recorder/components/RecordingListView.ts +3 -3
- package/front_end/panels/recorder/components/RecordingView.ts +13 -10
- package/front_end/panels/recorder/components/ReplaySection.ts +9 -9
- package/front_end/panels/recorder/components/StepEditor.ts +352 -321
- package/front_end/panels/recorder/components/StepView.ts +36 -37
- package/front_end/panels/recorder/components/recordingView.css +1 -1
- package/front_end/panels/recorder/models/RecorderSettings.ts +2 -2
- package/front_end/panels/recorder/recorder-meta.ts +7 -7
- package/front_end/panels/screencast/ScreencastApp.ts +1 -1
- package/front_end/panels/screencast/ScreencastView.ts +12 -12
- package/front_end/panels/search/SearchResultsPane.ts +4 -4
- package/front_end/panels/search/SearchView.ts +20 -20
- package/front_end/panels/security/SecurityModel.ts +7 -7
- package/front_end/panels/security/SecurityPanel.ts +99 -107
- package/front_end/panels/security/SecurityPanelSidebar.ts +7 -7
- package/front_end/panels/security/security-meta.ts +2 -2
- package/front_end/panels/sensors/LocationsSettingsTab.ts +19 -19
- package/front_end/panels/sensors/SensorsView.ts +27 -27
- package/front_end/panels/sensors/sensors-meta.ts +13 -167
- package/front_end/panels/settings/AISettingsTab.ts +98 -56
- package/front_end/panels/settings/EditFileSystemView.ts +2 -2
- package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +20 -20
- package/front_end/panels/settings/KeybindsSettingsTab.ts +20 -21
- package/front_end/panels/settings/SettingsScreen.ts +11 -11
- package/front_end/panels/settings/WorkspaceSettingsTab.ts +5 -5
- package/front_end/panels/settings/components/SyncSection.ts +12 -12
- package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +13 -13
- package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +31 -31
- package/front_end/panels/settings/emulation/emulation-meta.ts +1 -1
- package/front_end/panels/settings/settings-meta.ts +14 -14
- package/front_end/panels/sources/NavigatorView.ts +7 -6
- package/front_end/panels/sources/ScopeChainSidebarPane.ts +83 -37
- package/front_end/panels/sources/SourcesNavigator.ts +20 -18
- package/front_end/panels/sources/SourcesView.ts +10 -1
- package/front_end/panels/sources/scopeChainSidebarPane.css +12 -4
- package/front_end/panels/sources/sources-meta.ts +4 -4
- package/front_end/panels/timeline/CompatibilityTracksAppender.ts +5 -2
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +2 -1
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +2 -1
- package/front_end/panels/timeline/TimelineFlameChartView.ts +1 -1
- package/front_end/panels/timeline/TimelinePanel.ts +2 -1
- package/front_end/panels/timeline/TimelineUIUtils.ts +5 -2
- package/front_end/panels/timeline/components/NetworkRequestDetails.ts +4 -2
- package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +4 -2
- package/front_end/panels/timeline/components/insights/ImageRef.ts +2 -1
- package/front_end/panels/utils/utils.ts +7 -3
- package/front_end/panels/web_audio/WebAudioView.ts +17 -18
- package/front_end/panels/web_audio/web_audio-meta.ts +3 -3
- package/front_end/panels/webauthn/WebauthnPane.ts +10 -10
- package/front_end/panels/whats_new/ReleaseNoteView.ts +1 -1
- package/front_end/panels/whats_new/whats_new-meta.ts +11 -11
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/lit/lib/async-directive.d.ts +2 -1
- package/front_end/third_party/lit/lib/async-directive.js +1 -1
- package/front_end/third_party/lit/lib/async-directive.js.map +1 -1
- package/front_end/third_party/lit/lib/decorators.d.ts +2 -1
- package/front_end/third_party/lit/lib/decorators.js.map +1 -1
- package/front_end/third_party/lit/lib/directive.d.ts +2 -1
- package/front_end/third_party/lit/lib/directive.js.map +1 -1
- package/front_end/third_party/lit/lib/directives.d.ts +2 -1
- package/front_end/third_party/lit/lib/directives.js +8 -8
- package/front_end/third_party/lit/lib/directives.js.map +1 -1
- package/front_end/third_party/lit/lib/lit.d.ts +2 -1
- package/front_end/third_party/lit/lib/lit.js +1 -1
- package/front_end/third_party/lit/lib/lit.js.map +1 -1
- package/front_end/third_party/lit/lib/static-html.d.ts +2 -1
- package/front_end/third_party/lit/lib/static-html.js +1 -1
- package/front_end/third_party/lit/lib/static-html.js.map +1 -1
- package/front_end/third_party/lit/package.json +2 -2
- package/front_end/third_party/lit/rebuild.sh +1 -1
- package/front_end/third_party/lit/src/async-directive.ts +5 -0
- package/front_end/ui/components/dialogs/Dialog.ts +1 -1
- package/front_end/ui/components/dialogs/ShortcutDialog.ts +1 -1
- package/front_end/ui/components/dialogs/shortcutDialog.css +15 -12
- package/front_end/ui/components/diff_view/DiffView.ts +2 -2
- package/front_end/ui/components/issue_counter/IssueCounter.ts +3 -3
- package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +5 -5
- package/front_end/ui/components/lists/List.ts +2 -2
- package/front_end/ui/components/panel_feedback/PreviewToggle.ts +1 -1
- package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +5 -5
- package/front_end/ui/components/settings/SettingCheckbox.ts +1 -1
- package/front_end/ui/components/snackbars/Snackbar.ts +1 -1
- package/front_end/ui/components/survey_link/SurveyLink.ts +3 -3
- package/front_end/ui/components/text_editor/config.ts +2 -2
- package/front_end/ui/components/tree_outline/TreeOutline.ts +34 -1
- package/front_end/ui/legacy/ReportView.ts +5 -0
- package/front_end/ui/legacy/Treeoutline.ts +18 -0
- package/front_end/ui/legacy/View.ts +1 -1
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +2 -0
- package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +8 -3
- package/front_end/ui/legacy/components/data_grid/data_grid.ts +1 -0
- package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +1 -1
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +100 -36
- package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +7 -1
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +5 -0
- package/front_end/ui/legacy/components/utils/ImagePreview.ts +4 -2
- package/front_end/ui/legacy/inspectorCommon.css +5 -0
- package/front_end/ui/visual_logging/KnownContextValues.ts +4 -0
- package/mcp/mcp.ts +2 -0
- package/package.json +4 -4
- package/front_end/panels/profiler/ProfileView.ts +0 -610
|
@@ -476,13 +476,24 @@ export function cssMetadata(): CSSMetadata {
|
|
|
476
476
|
|
|
477
477
|
/**
|
|
478
478
|
* The pipe character '|' indicates where text selection should be set.
|
|
479
|
+
*
|
|
480
|
+
* Spec: https://drafts.csswg.org/css-images-4/#image-values
|
|
481
|
+
* <image> = <url> | <image()> | <image-set()> | <cross-fade()> | <element()> | <gradient>
|
|
482
|
+
* <gradient> = [
|
|
483
|
+
* <linear-gradient()> | <repeating-linear-gradient()> |
|
|
484
|
+
* <radial-gradient()> | <repeating-radial-gradient()> |
|
|
485
|
+
* <conic-gradient()> | <repeating-conic-gradient()> ]
|
|
479
486
|
*/
|
|
480
487
|
const imageValuePresetMap = new Map([
|
|
481
|
-
['linear-gradient', 'linear-gradient(|45deg, black, transparent|)'],
|
|
482
|
-
['radial-gradient', 'radial-gradient(|black, transparent|)'],
|
|
483
|
-
['
|
|
484
|
-
['repeating-
|
|
485
|
-
['
|
|
488
|
+
['linear-gradient()', 'linear-gradient(|45deg, black, transparent|)'],
|
|
489
|
+
['radial-gradient()', 'radial-gradient(|black, transparent|)'],
|
|
490
|
+
['conic-gradient()', 'conic-gradient(|from 45deg, red, orange, yellow, green, teal, blue, purple|)'],
|
|
491
|
+
['repeating-linear-gradient()', 'repeating-linear-gradient(|45deg, black, transparent 100px|)'],
|
|
492
|
+
['repeating-radial-gradient()', 'repeating-radial-gradient(|black, transparent 100px|)'],
|
|
493
|
+
['repeating-conic-gradient()', 'repeating-conic-gradient(|black 0deg 25%, white 0deg 50%|)'], // Checkerboard
|
|
494
|
+
['url()', 'url(||)'],
|
|
495
|
+
['image-set()', 'image-set(|url("") 1x, url("") 2x|)'],
|
|
496
|
+
['cross-fade()', 'cross-fade(|url("") 50%, url("") 50%|)'],
|
|
486
497
|
]);
|
|
487
498
|
|
|
488
499
|
const filterValuePresetMap = new Map([
|
|
@@ -505,8 +516,16 @@ const cornerShapeValuePresetMap = new Map([
|
|
|
505
516
|
]);
|
|
506
517
|
|
|
507
518
|
const valuePresets = new Map([
|
|
508
|
-
['filter', filterValuePresetMap],
|
|
509
|
-
['
|
|
519
|
+
['filter', filterValuePresetMap],
|
|
520
|
+
['backdrop-filter', filterValuePresetMap],
|
|
521
|
+
['background', imageValuePresetMap],
|
|
522
|
+
['background-image', imageValuePresetMap],
|
|
523
|
+
['mask-image', imageValuePresetMap],
|
|
524
|
+
['-webkit-mask-image', imageValuePresetMap],
|
|
525
|
+
['list-style', imageValuePresetMap],
|
|
526
|
+
['list-style-image', imageValuePresetMap],
|
|
527
|
+
['border-image', imageValuePresetMap],
|
|
528
|
+
['border-image-source', imageValuePresetMap],
|
|
510
529
|
[
|
|
511
530
|
'transform',
|
|
512
531
|
new Map([
|
|
@@ -866,7 +885,44 @@ const extraPropertyValues = new Map<string, Set<string>>([
|
|
|
866
885
|
['-webkit-text-emphasis-position', textEmphasisPosition],
|
|
867
886
|
['alignment-baseline', new Set(['before-edge', 'after-edge', 'text-before-edge', 'text-after-edge', 'hanging'])],
|
|
868
887
|
['page-break-before', new Set(['left', 'right', 'always', 'avoid'])],
|
|
869
|
-
[
|
|
888
|
+
[
|
|
889
|
+
'border-image',
|
|
890
|
+
new Set([
|
|
891
|
+
'none', // border-image-source
|
|
892
|
+
'repeat',
|
|
893
|
+
'stretch',
|
|
894
|
+
'space',
|
|
895
|
+
'round',
|
|
896
|
+
'auto', // border-image-width
|
|
897
|
+
'fill', // border-image-slice
|
|
898
|
+
'linear-gradient()',
|
|
899
|
+
'radial-gradient()',
|
|
900
|
+
'conic-gradient()',
|
|
901
|
+
'repeating-linear-gradient()',
|
|
902
|
+
'repeating-radial-gradient()',
|
|
903
|
+
'repeating-conic-gradient()',
|
|
904
|
+
'image-set()',
|
|
905
|
+
'cross-fade()',
|
|
906
|
+
'url()',
|
|
907
|
+
]),
|
|
908
|
+
],
|
|
909
|
+
['border-image-width', new Set(['auto'])],
|
|
910
|
+
['border-image-slice', new Set(['fill'])],
|
|
911
|
+
[
|
|
912
|
+
'border-image-source',
|
|
913
|
+
new Set([
|
|
914
|
+
'none',
|
|
915
|
+
'linear-gradient()',
|
|
916
|
+
'radial-gradient()',
|
|
917
|
+
'conic-gradient()',
|
|
918
|
+
'repeating-linear-gradient()',
|
|
919
|
+
'repeating-radial-gradient()',
|
|
920
|
+
'repeating-conic-gradient()',
|
|
921
|
+
'image-set()',
|
|
922
|
+
'cross-fade()',
|
|
923
|
+
'url()',
|
|
924
|
+
]),
|
|
925
|
+
],
|
|
870
926
|
[
|
|
871
927
|
'text-decoration',
|
|
872
928
|
new Set(['blink', 'line-through', 'overline', 'underline', 'wavy', 'double', 'solid', 'dashed', 'dotted']),
|
|
@@ -1179,16 +1235,31 @@ const extraPropertyValues = new Map<string, Set<string>>([
|
|
|
1179
1235
|
'border-box',
|
|
1180
1236
|
'content-box',
|
|
1181
1237
|
'padding-box',
|
|
1182
|
-
'
|
|
1183
|
-
'
|
|
1184
|
-
'
|
|
1185
|
-
'
|
|
1186
|
-
'
|
|
1238
|
+
'text', // background-clip
|
|
1239
|
+
'linear-gradient()',
|
|
1240
|
+
'radial-gradient()',
|
|
1241
|
+
'conic-gradient()',
|
|
1242
|
+
'repeating-linear-gradient()',
|
|
1243
|
+
'repeating-radial-gradient()',
|
|
1244
|
+
'repeating-conic-gradient()',
|
|
1245
|
+
'image-set()',
|
|
1246
|
+
'cross-fade()',
|
|
1247
|
+
'url()',
|
|
1187
1248
|
]),
|
|
1188
1249
|
],
|
|
1189
1250
|
[
|
|
1190
1251
|
'background-image',
|
|
1191
|
-
new Set([
|
|
1252
|
+
new Set([
|
|
1253
|
+
'linear-gradient()',
|
|
1254
|
+
'radial-gradient()',
|
|
1255
|
+
'conic-gradient()',
|
|
1256
|
+
'repeating-linear-gradient()',
|
|
1257
|
+
'repeating-radial-gradient()',
|
|
1258
|
+
'repeating-conic-gradient()',
|
|
1259
|
+
'image-set()',
|
|
1260
|
+
'cross-fade()',
|
|
1261
|
+
'url()',
|
|
1262
|
+
]),
|
|
1192
1263
|
],
|
|
1193
1264
|
['background-position', new Set(['top', 'bottom', 'left', 'right', 'center'])],
|
|
1194
1265
|
['background-position-x', new Set(['left', 'right', 'center'])],
|
|
@@ -1440,9 +1511,33 @@ const extraPropertyValues = new Map<string, Set<string>>([
|
|
|
1440
1511
|
'plus-lighter',
|
|
1441
1512
|
]),
|
|
1442
1513
|
],
|
|
1514
|
+
[
|
|
1515
|
+
'mask-image',
|
|
1516
|
+
new Set([
|
|
1517
|
+
'linear-gradient()',
|
|
1518
|
+
'radial-gradient()',
|
|
1519
|
+
'conic-gradient()',
|
|
1520
|
+
'repeating-linear-gradient()',
|
|
1521
|
+
'repeating-radial-gradient()',
|
|
1522
|
+
'repeating-conic-gradient()',
|
|
1523
|
+
'image-set()',
|
|
1524
|
+
'cross-fade()',
|
|
1525
|
+
'url()',
|
|
1526
|
+
]),
|
|
1527
|
+
],
|
|
1443
1528
|
[
|
|
1444
1529
|
'-webkit-mask-image',
|
|
1445
|
-
new Set([
|
|
1530
|
+
new Set([
|
|
1531
|
+
'linear-gradient()',
|
|
1532
|
+
'radial-gradient()',
|
|
1533
|
+
'conic-gradient()',
|
|
1534
|
+
'repeating-linear-gradient()',
|
|
1535
|
+
'repeating-radial-gradient()',
|
|
1536
|
+
'repeating-conic-gradient()',
|
|
1537
|
+
'image-set()',
|
|
1538
|
+
'cross-fade()',
|
|
1539
|
+
'url()',
|
|
1540
|
+
]),
|
|
1446
1541
|
],
|
|
1447
1542
|
['-webkit-mask-origin', new Set(['border', 'border-box', 'content', 'content-box', 'padding', 'padding-box'])],
|
|
1448
1543
|
['-webkit-mask-position', new Set(['top', 'bottom', 'left', 'right', 'center'])],
|
|
@@ -1479,7 +1574,6 @@ const extraPropertyValues = new Map<string, Set<string>>([
|
|
|
1479
1574
|
['timeline-trigger-activation-range-end', new Set(['normal'])],
|
|
1480
1575
|
['timeline-trigger-active-range-start', new Set(['normal'])],
|
|
1481
1576
|
['timeline-trigger-active-range-end', new Set(['normal'])],
|
|
1482
|
-
|
|
1483
1577
|
['contain-intrinsic-width', new Set(['auto none', 'auto 100px'])],
|
|
1484
1578
|
['contain-intrinsic-height', new Set(['auto none', 'auto 100px'])],
|
|
1485
1579
|
['contain-intrinsic-size', new Set(['auto none', 'auto 100px'])],
|
|
@@ -7,7 +7,7 @@ import type * as Common from '../common/common.js';
|
|
|
7
7
|
import * as i18n from '../i18n/i18n.js';
|
|
8
8
|
import type * as Platform from '../platform/platform.js';
|
|
9
9
|
|
|
10
|
-
import {PageResourceLoader,
|
|
10
|
+
import type {PageResourceLoader, PageResourceLoadInitiator} from './PageResourceLoader.js';
|
|
11
11
|
|
|
12
12
|
const UIStrings = {
|
|
13
13
|
/**
|
|
@@ -28,10 +28,7 @@ export class CompilerSourceMappingContentProvider implements TextUtils.ContentPr
|
|
|
28
28
|
readonly #pageResourceLoader: PageResourceLoader;
|
|
29
29
|
|
|
30
30
|
constructor(sourceURL: Platform.DevToolsPath.UrlString, contentType: Common.ResourceType.ResourceType,
|
|
31
|
-
initiator: PageResourceLoadInitiator,
|
|
32
|
-
pageResourceLoader: PageResourceLoader = initiator.target ?
|
|
33
|
-
initiator.target.targetManager().context.get(PageResourceLoader) :
|
|
34
|
-
PageResourceLoader.instance()) {
|
|
31
|
+
initiator: PageResourceLoadInitiator, pageResourceLoader: PageResourceLoader) {
|
|
35
32
|
this.#sourceURL = sourceURL;
|
|
36
33
|
this.#contentType = contentType;
|
|
37
34
|
this.#initiator = initiator;
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
} from './RuntimeModel.js';
|
|
36
36
|
import {SDKModel} from './SDKModel.js';
|
|
37
37
|
import {Capability, type Target, Type} from './Target.js';
|
|
38
|
-
import {TargetManager} from './TargetManager.js';
|
|
38
|
+
import type {TargetManager} from './TargetManager.js';
|
|
39
39
|
|
|
40
40
|
export {FrontendMessageType} from './ConsoleModelTypes.js';
|
|
41
41
|
|
|
@@ -357,7 +357,7 @@ export class ConsoleModel extends SDKModel<EventTypes> {
|
|
|
357
357
|
}
|
|
358
358
|
|
|
359
359
|
// messages[] are not ordered by timestamp.
|
|
360
|
-
static allMessagesUnordered(targetManager: TargetManager
|
|
360
|
+
static allMessagesUnordered(targetManager: TargetManager): ConsoleMessage[] {
|
|
361
361
|
const messages = [];
|
|
362
362
|
for (const target of targetManager.targets()) {
|
|
363
363
|
const targetMessages = target.model(ConsoleModel)?.messages() || [];
|
|
@@ -366,7 +366,7 @@ export class ConsoleModel extends SDKModel<EventTypes> {
|
|
|
366
366
|
return messages;
|
|
367
367
|
}
|
|
368
368
|
|
|
369
|
-
static requestClearMessages(targetManager: TargetManager
|
|
369
|
+
static requestClearMessages(targetManager: TargetManager): void {
|
|
370
370
|
for (const logModel of targetManager.models(LogModel)) {
|
|
371
371
|
logModel.requestClear();
|
|
372
372
|
}
|
|
@@ -394,7 +394,7 @@ export class ConsoleModel extends SDKModel<EventTypes> {
|
|
|
394
394
|
return this.#errors;
|
|
395
395
|
}
|
|
396
396
|
|
|
397
|
-
static allErrors(targetManager: TargetManager
|
|
397
|
+
static allErrors(targetManager: TargetManager): number {
|
|
398
398
|
let errors = 0;
|
|
399
399
|
for (const target of targetManager.targets()) {
|
|
400
400
|
errors += target.model(ConsoleModel)?.errors() || 0;
|
|
@@ -406,7 +406,7 @@ export class ConsoleModel extends SDKModel<EventTypes> {
|
|
|
406
406
|
return this.#warnings;
|
|
407
407
|
}
|
|
408
408
|
|
|
409
|
-
static allWarnings(targetManager: TargetManager
|
|
409
|
+
static allWarnings(targetManager: TargetManager): number {
|
|
410
410
|
let warnings = 0;
|
|
411
411
|
for (const target of targetManager.targets()) {
|
|
412
412
|
warnings += target.model(ConsoleModel)?.warnings() || 0;
|
|
@@ -661,7 +661,9 @@ export class DOMDebuggerManager implements SDKModelObserver<DOMDebuggerModel> {
|
|
|
661
661
|
this.createEventListenerBreakpoints(
|
|
662
662
|
Category.XHR, ['readystatechange', 'load', 'loadstart', 'loadend', 'abort', 'error', 'progress', 'timeout'],
|
|
663
663
|
['xmlhttprequest', 'xmlhttprequestupload']);
|
|
664
|
+
}
|
|
664
665
|
|
|
666
|
+
initialize(): void {
|
|
665
667
|
this.#targetManager.observeModels(DOMDebuggerModel, this);
|
|
666
668
|
}
|
|
667
669
|
|
|
@@ -671,9 +673,11 @@ export class DOMDebuggerManager implements SDKModelObserver<DOMDebuggerModel> {
|
|
|
671
673
|
} = {forceNew: null}): DOMDebuggerManager {
|
|
672
674
|
const {forceNew, targetManager} = opts;
|
|
673
675
|
if (!Root.DevToolsContext.globalInstance().has(DOMDebuggerManager) || forceNew) {
|
|
676
|
+
const manager = new DOMDebuggerManager(targetManager ?? TargetManager.instance());
|
|
677
|
+
manager.initialize();
|
|
674
678
|
Root.DevToolsContext.globalInstance().set(
|
|
675
679
|
DOMDebuggerManager,
|
|
676
|
-
|
|
680
|
+
manager,
|
|
677
681
|
);
|
|
678
682
|
}
|
|
679
683
|
|
|
@@ -1127,27 +1127,33 @@ export class DOMNode extends Common.ObjectWrapper.ObjectWrapper<DOMNodeEventType
|
|
|
1127
1127
|
return model;
|
|
1128
1128
|
}
|
|
1129
1129
|
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
node = node.parentNode;
|
|
1130
|
+
canInspectNode(): boolean {
|
|
1131
|
+
if (this.ancestorUserAgentShadowRoot()) {
|
|
1132
|
+
return false;
|
|
1134
1133
|
}
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1134
|
+
|
|
1135
|
+
if (this.#pseudoType) {
|
|
1136
|
+
return [
|
|
1137
|
+
Protocol.DOM.PseudoType.Before,
|
|
1138
|
+
Protocol.DOM.PseudoType.After,
|
|
1139
|
+
Protocol.DOM.PseudoType.Marker,
|
|
1140
|
+
Protocol.DOM.PseudoType.ScrollMarker,
|
|
1141
|
+
Protocol.DOM.PseudoType.Backdrop,
|
|
1142
|
+
Protocol.DOM.PseudoType.ViewTransition,
|
|
1143
|
+
Protocol.DOM.PseudoType.ViewTransitionGroup,
|
|
1144
|
+
Protocol.DOM.PseudoType.ViewTransitionImagePair,
|
|
1145
|
+
Protocol.DOM.PseudoType.ViewTransitionOld,
|
|
1146
|
+
Protocol.DOM.PseudoType.ViewTransitionNew,
|
|
1147
|
+
].includes(this.#pseudoType);
|
|
1146
1148
|
}
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
+
return true;
|
|
1150
|
+
}
|
|
1151
|
+
|
|
1152
|
+
async setAsInspectedNode(): Promise<void> {
|
|
1153
|
+
if (!this.canInspectNode()) {
|
|
1154
|
+
return;
|
|
1149
1155
|
}
|
|
1150
|
-
await this.#agent.invoke_setInspectedNode({nodeId:
|
|
1156
|
+
await this.#agent.invoke_setInspectedNode({nodeId: this.id});
|
|
1151
1157
|
}
|
|
1152
1158
|
|
|
1153
1159
|
enclosingElementOrSelf(): DOMNode|null {
|
|
@@ -2365,6 +2371,10 @@ export class DOMNodeSnapshot extends DOMNode {
|
|
|
2365
2371
|
_callback?: ((arg0: string|null, arg1: DOMNode|null) => void)|undefined): void {
|
|
2366
2372
|
}
|
|
2367
2373
|
|
|
2374
|
+
override canInspectNode(): boolean {
|
|
2375
|
+
return false;
|
|
2376
|
+
}
|
|
2377
|
+
|
|
2368
2378
|
override setAsInspectedNode(): Promise<void> {
|
|
2369
2379
|
return Promise.resolve();
|
|
2370
2380
|
}
|
|
@@ -2410,6 +2420,10 @@ export class DOMDocumentSnapshot extends DOMDocument {
|
|
|
2410
2420
|
_callback?: ((arg0: string|null, arg1: DOMNode|null) => void)|undefined): void {
|
|
2411
2421
|
}
|
|
2412
2422
|
|
|
2423
|
+
override canInspectNode(): boolean {
|
|
2424
|
+
return false;
|
|
2425
|
+
}
|
|
2426
|
+
|
|
2413
2427
|
override setAsInspectedNode(): Promise<void> {
|
|
2414
2428
|
return Promise.resolve();
|
|
2415
2429
|
}
|
|
@@ -323,6 +323,45 @@ export class NetworkManager extends SDKModel<EventTypes> {
|
|
|
323
323
|
}
|
|
324
324
|
}
|
|
325
325
|
|
|
326
|
+
/**
|
|
327
|
+
* Returns the request post data as a ContentData suitable for binary
|
|
328
|
+
* viewers (hex, base64, utf-8) in the Payload tab. When the backend
|
|
329
|
+
* provides base64-encoded (possibly compressed) data, the body is
|
|
330
|
+
* decompressed first so viewers show the actual payload bytes rather
|
|
331
|
+
* than gzip/deflate framing.
|
|
332
|
+
*/
|
|
333
|
+
static async requestPostDataContentData(request: NetworkRequest): Promise<TextUtils.ContentData.ContentDataOrError> {
|
|
334
|
+
const manager = NetworkManager.forRequest(request);
|
|
335
|
+
if (!manager) {
|
|
336
|
+
return {error: 'No network manager for request'};
|
|
337
|
+
}
|
|
338
|
+
const requestId = request.backendRequestId();
|
|
339
|
+
if (!requestId) {
|
|
340
|
+
return {error: 'No backend request id for request'};
|
|
341
|
+
}
|
|
342
|
+
try {
|
|
343
|
+
const response = await manager.#networkAgent.invoke_getRequestPostData({requestId});
|
|
344
|
+
const error = response.getError();
|
|
345
|
+
if (error) {
|
|
346
|
+
return {error};
|
|
347
|
+
}
|
|
348
|
+
const {postData, base64Encoded} = response;
|
|
349
|
+
if (!postData) {
|
|
350
|
+
return {error: 'No post data'};
|
|
351
|
+
}
|
|
352
|
+
const requestContentType = request.requestContentType() ?? 'application/octet-stream';
|
|
353
|
+
const {charset} = Platform.MimeType.parseContentType(requestContentType);
|
|
354
|
+
|
|
355
|
+
if (base64Encoded && postData) {
|
|
356
|
+
return await TextUtils.ContentData.ContentData.fromCompressedBase64(
|
|
357
|
+
postData, requestContentType, charset ?? undefined, request.requestContentEncoding());
|
|
358
|
+
}
|
|
359
|
+
return new TextUtils.ContentData.ContentData(postData, false, requestContentType, charset ?? undefined);
|
|
360
|
+
} catch (e) {
|
|
361
|
+
return {error: e.message};
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
|
|
326
365
|
/**
|
|
327
366
|
* Attempts to decompress a compressed request body.
|
|
328
367
|
* Returns the decompressed string, or null if decompression is not applicable.
|
|
@@ -658,6 +697,7 @@ export class NetworkDispatcher implements ProtocolProxyApi.NetworkDispatcher {
|
|
|
658
697
|
networkRequest.setReferrerPolicy(request.referrerPolicy);
|
|
659
698
|
networkRequest.setIsSameSite(request.isSameSite || false);
|
|
660
699
|
networkRequest.setIsAdRelated(request.isAdRelated || false);
|
|
700
|
+
networkRequest.setIsLinkPreload(request.isLinkPreload || false);
|
|
661
701
|
}
|
|
662
702
|
|
|
663
703
|
private updateNetworkRequestWithResponse(networkRequest: NetworkRequest, response: Protocol.Network.Response): void {
|
|
@@ -847,7 +887,7 @@ export class NetworkDispatcher implements ProtocolProxyApi.NetworkDispatcher {
|
|
|
847
887
|
} else {
|
|
848
888
|
networkRequest = NetworkRequest.create(
|
|
849
889
|
requestId, request.url as Platform.DevToolsPath.UrlString, documentURL as Platform.DevToolsPath.UrlString,
|
|
850
|
-
frameId ?? null, loaderId, initiator, hasUserGesture);
|
|
890
|
+
frameId ?? null, loaderId, initiator, hasUserGesture, this.#manager.target().targetManager().getConsole());
|
|
851
891
|
if (renderBlockingBehavior) {
|
|
852
892
|
networkRequest.setRenderBlockingBehavior(renderBlockingBehavior);
|
|
853
893
|
}
|
|
@@ -969,7 +1009,8 @@ export class NetworkDispatcher implements ProtocolProxyApi.NetworkDispatcher {
|
|
|
969
1009
|
|
|
970
1010
|
webSocketCreated({requestId, url: requestURL, initiator}: Protocol.Network.WebSocketCreatedEvent): void {
|
|
971
1011
|
const networkRequest =
|
|
972
|
-
NetworkRequest.createForSocket(requestId, requestURL as Platform.DevToolsPath.UrlString, initiator
|
|
1012
|
+
NetworkRequest.createForSocket(requestId, requestURL as Platform.DevToolsPath.UrlString, initiator,
|
|
1013
|
+
this.#manager.target().targetManager().getConsole());
|
|
973
1014
|
requestToManagerMap.set(networkRequest, this.#manager);
|
|
974
1015
|
networkRequest.setResourceType(Common.ResourceType.resourceTypes.WebSocket);
|
|
975
1016
|
this.startNetworkRequest(networkRequest, null);
|
|
@@ -1174,7 +1215,7 @@ export class NetworkDispatcher implements ProtocolProxyApi.NetworkDispatcher {
|
|
|
1174
1215
|
const newNetworkRequest = NetworkRequest.create(
|
|
1175
1216
|
requestId, redirectURL, originalNetworkRequest.documentURL, originalNetworkRequest.frameId,
|
|
1176
1217
|
originalNetworkRequest.loaderId, originalNetworkRequest.initiator(),
|
|
1177
|
-
originalNetworkRequest.hasUserGesture() ?? undefined);
|
|
1218
|
+
originalNetworkRequest.hasUserGesture() ?? undefined, this.#manager.target().targetManager().getConsole());
|
|
1178
1219
|
requestToManagerMap.set(newNetworkRequest, this.#manager);
|
|
1179
1220
|
newNetworkRequest.setRedirectSource(originalNetworkRequest);
|
|
1180
1221
|
originalNetworkRequest.setRedirectDestination(newNetworkRequest);
|
|
@@ -1296,7 +1337,8 @@ export class NetworkDispatcher implements ProtocolProxyApi.NetworkDispatcher {
|
|
|
1296
1337
|
webTransportCreated({transportId, url: requestURL, timestamp: time, initiator}:
|
|
1297
1338
|
Protocol.Network.WebTransportCreatedEvent): void {
|
|
1298
1339
|
const networkRequest =
|
|
1299
|
-
NetworkRequest.createForSocket(transportId, requestURL as Platform.DevToolsPath.UrlString, initiator
|
|
1340
|
+
NetworkRequest.createForSocket(transportId, requestURL as Platform.DevToolsPath.UrlString, initiator,
|
|
1341
|
+
this.#manager.target().targetManager().getConsole());
|
|
1300
1342
|
networkRequest.hasNetworkData = true;
|
|
1301
1343
|
requestToManagerMap.set(networkRequest, this.#manager);
|
|
1302
1344
|
networkRequest.setResourceType(Common.ResourceType.resourceTypes.WebTransport);
|
|
@@ -1333,8 +1375,9 @@ export class NetworkDispatcher implements ProtocolProxyApi.NetworkDispatcher {
|
|
|
1333
1375
|
|
|
1334
1376
|
directTCPSocketCreated(event: Protocol.Network.DirectTCPSocketCreatedEvent): void {
|
|
1335
1377
|
const requestURL = this.concatHostPort(event.remoteAddr, event.remotePort);
|
|
1336
|
-
const networkRequest =
|
|
1337
|
-
event.identifier, requestURL as Platform.DevToolsPath.UrlString, event.initiator
|
|
1378
|
+
const networkRequest =
|
|
1379
|
+
NetworkRequest.createForSocket(event.identifier, requestURL as Platform.DevToolsPath.UrlString, event.initiator,
|
|
1380
|
+
this.#manager.target().targetManager().getConsole());
|
|
1338
1381
|
networkRequest.hasNetworkData = true;
|
|
1339
1382
|
networkRequest.setRemoteAddress(event.remoteAddr, event.remotePort);
|
|
1340
1383
|
networkRequest.protocol = i18n.i18n.lockedString('tcp');
|
|
@@ -1448,8 +1491,9 @@ export class NetworkDispatcher implements ProtocolProxyApi.NetworkDispatcher {
|
|
|
1448
1491
|
// is not specified.
|
|
1449
1492
|
return;
|
|
1450
1493
|
}
|
|
1451
|
-
const networkRequest =
|
|
1452
|
-
event.identifier, requestURL as Platform.DevToolsPath.UrlString, event.initiator
|
|
1494
|
+
const networkRequest =
|
|
1495
|
+
NetworkRequest.createForSocket(event.identifier, requestURL as Platform.DevToolsPath.UrlString, event.initiator,
|
|
1496
|
+
this.#manager.target().targetManager().getConsole());
|
|
1453
1497
|
networkRequest.hasNetworkData = true;
|
|
1454
1498
|
if (event.options.remoteAddr && event.options.remotePort) {
|
|
1455
1499
|
networkRequest.setRemoteAddress(event.options.remoteAddr, event.options.remotePort);
|
|
@@ -1633,9 +1677,9 @@ export class NetworkDispatcher implements ProtocolProxyApi.NetworkDispatcher {
|
|
|
1633
1677
|
protected createNetworkRequest(
|
|
1634
1678
|
requestId: Protocol.Network.RequestId, frameId: Protocol.Page.FrameId, loaderId: Protocol.Network.LoaderId,
|
|
1635
1679
|
url: string, documentURL: string, initiator: Protocol.Network.Initiator|null): NetworkRequest {
|
|
1636
|
-
const request = NetworkRequest.create(
|
|
1637
|
-
|
|
1638
|
-
|
|
1680
|
+
const request = NetworkRequest.create(requestId, url as Platform.DevToolsPath.UrlString,
|
|
1681
|
+
documentURL as Platform.DevToolsPath.UrlString, frameId, loaderId, initiator,
|
|
1682
|
+
undefined, this.#manager.target().targetManager().getConsole());
|
|
1639
1683
|
requestToManagerMap.set(request, this.#manager);
|
|
1640
1684
|
return request;
|
|
1641
1685
|
}
|
|
@@ -1716,9 +1760,7 @@ export class RequestCondition extends Common.ObjectWrapper.ObjectWrapper<Request
|
|
|
1716
1760
|
#conditions: ThrottlingConditions;
|
|
1717
1761
|
#ruleIds = new Set<string>();
|
|
1718
1762
|
|
|
1719
|
-
static createFromSetting(
|
|
1720
|
-
setting: RequestConditionsSetting,
|
|
1721
|
-
settings: Common.Settings.Settings = Common.Settings.Settings.instance()): RequestCondition {
|
|
1763
|
+
static createFromSetting(setting: RequestConditionsSetting, settings: Common.Settings.Settings): RequestCondition {
|
|
1722
1764
|
if ('urlPattern' in setting) {
|
|
1723
1765
|
const pattern = RequestURLPattern.create(setting.urlPattern) ?? {
|
|
1724
1766
|
wildcardURL: setting.urlPattern,
|
|
@@ -1966,6 +2008,7 @@ export class RequestConditions extends Common.ObjectWrapper.ObjectWrapper<Reques
|
|
|
1966
2008
|
promises.push(agent
|
|
1967
2009
|
.invoke_emulateNetworkConditionsByRule({
|
|
1968
2010
|
offline,
|
|
2011
|
+
emulateOfflineServiceWorker: offline,
|
|
1969
2012
|
matchedNetworkConditions: matchedNetworkConditions.map(
|
|
1970
2013
|
({urlPattern, conditions}) => ({
|
|
1971
2014
|
urlPattern: urlPattern ?? '',
|
|
@@ -1976,6 +2019,7 @@ export class RequestConditions extends Common.ObjectWrapper.ObjectWrapper<Reques
|
|
|
1976
2019
|
packetQueueLength: conditions.packetQueueLength,
|
|
1977
2020
|
packetReordering: conditions.packetReordering,
|
|
1978
2021
|
connectionType: NetworkManager.connectionType(conditions),
|
|
2022
|
+
offline,
|
|
1979
2023
|
}))
|
|
1980
2024
|
})
|
|
1981
2025
|
.then(response => {
|
|
@@ -296,7 +296,9 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper<EventType
|
|
|
296
296
|
directSocketInfo?: DirectSocketInfo;
|
|
297
297
|
readonly #directSocketChunks: DirectSocketChunk[] = [];
|
|
298
298
|
#isAdRelated: boolean;
|
|
299
|
+
#isLinkPreload: boolean;
|
|
299
300
|
#appliedNetworkConditionsId?: string;
|
|
301
|
+
readonly #console: Common.Console.Console;
|
|
300
302
|
|
|
301
303
|
constructor(
|
|
302
304
|
requestId: string,
|
|
@@ -307,6 +309,7 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper<EventType
|
|
|
307
309
|
loaderId: Protocol.Network.LoaderId|null,
|
|
308
310
|
initiator: Protocol.Network.Initiator|null,
|
|
309
311
|
hasUserGesture?: boolean,
|
|
312
|
+
console: Common.Console.Console = Common.Console.Console.instance(),
|
|
310
313
|
) {
|
|
311
314
|
super();
|
|
312
315
|
|
|
@@ -319,6 +322,8 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper<EventType
|
|
|
319
322
|
this.#initiator = initiator;
|
|
320
323
|
this.#hasUserGesture = hasUserGesture;
|
|
321
324
|
this.#isAdRelated = false;
|
|
325
|
+
this.#isLinkPreload = false;
|
|
326
|
+
this.#console = console;
|
|
322
327
|
}
|
|
323
328
|
|
|
324
329
|
static create(
|
|
@@ -329,6 +334,7 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper<EventType
|
|
|
329
334
|
loaderId: Protocol.Network.LoaderId|null,
|
|
330
335
|
initiator: Protocol.Network.Initiator|null,
|
|
331
336
|
hasUserGesture?: boolean,
|
|
337
|
+
console?: Common.Console.Console,
|
|
332
338
|
): NetworkRequest {
|
|
333
339
|
return new NetworkRequest(
|
|
334
340
|
backendRequestId,
|
|
@@ -339,6 +345,7 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper<EventType
|
|
|
339
345
|
loaderId,
|
|
340
346
|
initiator,
|
|
341
347
|
hasUserGesture,
|
|
348
|
+
console,
|
|
342
349
|
);
|
|
343
350
|
}
|
|
344
351
|
|
|
@@ -346,6 +353,7 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper<EventType
|
|
|
346
353
|
backendRequestId: Protocol.Network.RequestId,
|
|
347
354
|
requestURL: Platform.DevToolsPath.UrlString,
|
|
348
355
|
initiator?: Protocol.Network.Initiator,
|
|
356
|
+
console?: Common.Console.Console,
|
|
349
357
|
): NetworkRequest {
|
|
350
358
|
return new NetworkRequest(
|
|
351
359
|
backendRequestId,
|
|
@@ -355,6 +363,8 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper<EventType
|
|
|
355
363
|
null,
|
|
356
364
|
null,
|
|
357
365
|
initiator || null,
|
|
366
|
+
undefined,
|
|
367
|
+
console,
|
|
358
368
|
);
|
|
359
369
|
}
|
|
360
370
|
|
|
@@ -363,6 +373,7 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper<EventType
|
|
|
363
373
|
url: Platform.DevToolsPath.UrlString,
|
|
364
374
|
documentURL: Platform.DevToolsPath.UrlString,
|
|
365
375
|
initiator: Protocol.Network.Initiator|null,
|
|
376
|
+
console?: Common.Console.Console,
|
|
366
377
|
): NetworkRequest {
|
|
367
378
|
return new NetworkRequest(
|
|
368
379
|
requestId,
|
|
@@ -372,6 +383,8 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper<EventType
|
|
|
372
383
|
null,
|
|
373
384
|
null,
|
|
374
385
|
initiator,
|
|
386
|
+
undefined,
|
|
387
|
+
console,
|
|
375
388
|
);
|
|
376
389
|
}
|
|
377
390
|
|
|
@@ -909,6 +922,11 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper<EventType
|
|
|
909
922
|
this.#initiator.type === Protocol.Network.InitiatorType.Preflight);
|
|
910
923
|
}
|
|
911
924
|
|
|
925
|
+
isPreloadRequest(): boolean {
|
|
926
|
+
return (this.#initiator !== null && this.#initiator !== undefined &&
|
|
927
|
+
this.#initiator.type === Protocol.Network.InitiatorType.Preload);
|
|
928
|
+
}
|
|
929
|
+
|
|
912
930
|
redirectDestination(): NetworkRequest|null {
|
|
913
931
|
return this.#redirectDestination;
|
|
914
932
|
}
|
|
@@ -960,6 +978,15 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper<EventType
|
|
|
960
978
|
this.#formParametersPromise = null;
|
|
961
979
|
}
|
|
962
980
|
|
|
981
|
+
/**
|
|
982
|
+
* Returns the raw request body as ContentData, preserving base64 encoding
|
|
983
|
+
* for binary payloads. This enables binary viewers (hex, base64, utf-8)
|
|
984
|
+
* in the Payload tab.
|
|
985
|
+
*/
|
|
986
|
+
requestFormDataContentData(): Promise<TextUtils.ContentData.ContentDataOrError> {
|
|
987
|
+
return NetworkManager.requestPostDataContentData(this);
|
|
988
|
+
}
|
|
989
|
+
|
|
963
990
|
private filteredProtocolName(): string {
|
|
964
991
|
const protocol = this.protocol.toLowerCase();
|
|
965
992
|
if (protocol === 'h2') {
|
|
@@ -1201,7 +1228,8 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper<EventType
|
|
|
1201
1228
|
get serverTimings(): ServerTiming[]|null {
|
|
1202
1229
|
if (typeof this.#serverTimings === 'undefined') {
|
|
1203
1230
|
this.#serverTimings = ServerTiming.parseHeaders(
|
|
1204
|
-
this.responseHeaders,
|
|
1231
|
+
this.responseHeaders.map(x => ({name: x.name, value: x.value})),
|
|
1232
|
+
this.#console,
|
|
1205
1233
|
);
|
|
1206
1234
|
}
|
|
1207
1235
|
return this.#serverTimings;
|
|
@@ -1837,6 +1865,14 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper<EventType
|
|
|
1837
1865
|
return this.#isAdRelated;
|
|
1838
1866
|
}
|
|
1839
1867
|
|
|
1868
|
+
setIsLinkPreload(isLinkPreload: boolean): void {
|
|
1869
|
+
this.#isLinkPreload = isLinkPreload;
|
|
1870
|
+
}
|
|
1871
|
+
|
|
1872
|
+
isLinkPreload(): boolean {
|
|
1873
|
+
return this.#isLinkPreload;
|
|
1874
|
+
}
|
|
1875
|
+
|
|
1840
1876
|
getAssociatedData(key: string): object|null {
|
|
1841
1877
|
return this.#associatedData.get(key) || null;
|
|
1842
1878
|
}
|