chrome-devtools-frontend 1.0.1657855 → 1.0.1661063
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/evaluate-ai-css-completion/SKILL.md +133 -0
- package/.agents/skills/evaluate-ai-css-completion/scripts/evaluate.js +76 -0
- package/.agents/skills/migrate-chromium-test/SKILL.md +15 -70
- package/.agents/skills/ui-eng-vision-orchestrator/SKILL.md +37 -18
- package/.agents/skills/version-control/SKILL.md +8 -1
- package/AUTHORS +1 -0
- package/SECURITY.md +3 -0
- package/docs/get_the_code.md +6 -0
- package/eslint.config.mjs +7 -0
- package/extension-api/ExtensionAPI.d.ts +88 -0
- package/front_end/Tests.js +6 -6
- package/front_end/core/common/Gzip.ts +12 -5
- package/front_end/core/host/AidaClient.ts +35 -9
- package/front_end/core/host/GdpClient.ts +10 -7
- package/front_end/core/host/InspectorFrontendHost.ts +1 -0
- package/front_end/core/host/InspectorFrontendHostStub.ts +2 -0
- package/front_end/core/platform/StringUtilities.ts +55 -4
- package/front_end/core/sdk/AccessibilityModel.snapshot.txt +17 -0
- package/front_end/core/sdk/AccessibilityModel.ts +132 -2
- package/front_end/core/sdk/CPUThrottlingManager.ts +10 -5
- package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +2 -5
- package/front_end/core/sdk/ConsoleModel.ts +5 -5
- package/front_end/core/sdk/DOMDebuggerModel.ts +7 -1
- package/front_end/core/sdk/DOMModel.ts +33 -18
- package/front_end/core/sdk/DebuggerModel.ts +4 -4
- package/front_end/core/sdk/EventBreakpointsModel.ts +2 -0
- package/front_end/core/sdk/FrameManager.ts +1 -0
- package/front_end/core/sdk/IsolateManager.ts +1 -0
- package/front_end/core/sdk/NetworkManager.ts +59 -11
- package/front_end/core/sdk/NetworkRequest.ts +38 -1
- package/front_end/core/sdk/OverlayModel.ts +45 -6
- package/front_end/core/sdk/PageResourceLoader.ts +2 -0
- package/front_end/core/sdk/ResourceTreeModel.ts +6 -7
- package/front_end/core/sdk/ScreenCaptureModel.ts +2 -2
- package/front_end/core/sdk/ServerTiming.ts +17 -13
- package/front_end/core/sdk/ServiceWorkerCacheModel.ts +4 -2
- package/front_end/core/sdk/ServiceWorkerManager.ts +19 -5
- package/front_end/core/sdk/SourceMap.ts +5 -5
- package/front_end/core/sdk/SourceMapManager.ts +3 -2
- package/front_end/core/sdk/TargetManager.ts +14 -1
- package/front_end/core/sdk/TraceObject.ts +4 -2
- package/front_end/core/sdk/sdk-meta.ts +170 -0
- package/front_end/design_system_tokens.css +0 -5
- package/front_end/entrypoints/formatter_worker/FormattedContentBuilder.ts +5 -2
- package/front_end/entrypoints/formatter_worker/HTMLFormatter.ts +26 -4
- package/front_end/entrypoints/formatter_worker/JavaScriptFormatter.ts +8 -3
- package/front_end/entrypoints/inspector_main/InspectorMain.ts +4 -4
- package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +2 -2
- package/front_end/entrypoints/inspector_main/RenderingOptions.ts +36 -37
- package/front_end/entrypoints/inspector_main/inspector_main-meta.ts +15 -33
- package/front_end/entrypoints/js_app/js_app.ts +6 -5
- package/front_end/entrypoints/main/GlobalAiButton.ts +4 -4
- package/front_end/entrypoints/main/MainImpl.ts +20 -22
- package/front_end/entrypoints/main/main-meta.ts +42 -42
- package/front_end/entrypoints/node_app/node_app.ts +3 -2
- package/front_end/entrypoints/worker_app/WorkerMain.ts +1 -1
- package/front_end/foundation/Universe.ts +44 -1
- package/front_end/generated/InspectorBackendCommands.ts +2 -2
- package/front_end/generated/SupportedCSSProperties.js +19 -12
- package/front_end/generated/protocol.ts +3 -1
- package/front_end/models/ai_assistance/AiConversation.ts +19 -17
- package/front_end/models/ai_assistance/AiHistoryStorage.ts +37 -14
- package/front_end/models/ai_assistance/AiUtils.ts +38 -42
- package/front_end/models/ai_assistance/agents/AiAgent.ts +5 -1
- package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +3 -2
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +2 -1
- package/front_end/models/ai_assistance/agents/StorageAgent.ts +7 -5
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +270 -286
- package/front_end/models/ai_assistance/data_formatters/UnitFormatters.ts +20 -0
- package/front_end/models/ai_assistance/performance/AICallTree.ts +3 -1
- package/front_end/models/ai_assistance/tools/ListNetworkRequests.ts +3 -2
- package/front_end/models/autofill_manager/AutofillManager.ts +3 -1
- package/front_end/models/bindings/CompilerScriptMapping.ts +7 -7
- package/front_end/models/bindings/ContentProviderBasedProject.ts +4 -4
- package/front_end/models/bindings/DebuggerLanguagePlugins.ts +5 -5
- package/front_end/models/bindings/DefaultScriptMapping.ts +3 -3
- package/front_end/models/bindings/NetworkProject.ts +5 -10
- package/front_end/models/bindings/PresentationConsoleMessageHelper.ts +2 -1
- package/front_end/models/bindings/ResourceMapping.ts +3 -4
- package/front_end/models/bindings/ResourceScriptMapping.ts +2 -3
- package/front_end/models/bindings/ResourceUtils.ts +1 -1
- package/front_end/models/bindings/SASSSourceMapping.ts +11 -9
- package/front_end/models/bindings/StylesSourceMapping.ts +3 -3
- package/front_end/models/bindings/TempFile.ts +8 -3
- package/front_end/models/emulation/EmulatedDevices.ts +389 -8
- package/front_end/models/extensions/ExtensionAPI.ts +116 -52
- package/front_end/models/extensions/LanguageExtensionEndpoint.ts +13 -12
- package/front_end/models/formatter/ScriptFormatter.ts +8 -11
- package/front_end/models/issues_manager/BounceTrackingIssue.ts +1 -1
- package/front_end/models/issues_manager/ClientHintIssue.ts +1 -1
- package/front_end/models/issues_manager/ConnectionAllowlistIssue.ts +1 -1
- package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +7 -7
- package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +2 -2
- package/front_end/models/issues_manager/CookieIssue.ts +27 -16
- package/front_end/models/issues_manager/CorsIssue.ts +3 -3
- package/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.ts +2 -2
- package/front_end/models/issues_manager/DeprecationIssue.ts +3 -3
- package/front_end/models/issues_manager/EmailVerificationRequestIssue.ts +1 -1
- package/front_end/models/issues_manager/FederatedAuthRequestIssue.ts +1 -1
- package/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.ts +1 -1
- package/front_end/models/issues_manager/GenericIssue.ts +7 -7
- package/front_end/models/issues_manager/HeavyAdIssue.ts +3 -3
- package/front_end/models/issues_manager/Issue.ts +11 -12
- package/front_end/models/issues_manager/IssueAggregator.ts +0 -9
- package/front_end/models/issues_manager/IssueResolver.ts +2 -2
- package/front_end/models/issues_manager/IssuesManager.ts +136 -137
- package/front_end/models/issues_manager/MixedContentIssue.ts +1 -1
- package/front_end/models/issues_manager/PartitioningBlobURLIssue.ts +3 -3
- package/front_end/models/issues_manager/QuirksModeIssue.ts +1 -1
- package/front_end/models/issues_manager/SRIMessageSignatureIssue.ts +2 -2
- package/front_end/models/issues_manager/SelectivePermissionsInterventionIssue.ts +2 -2
- package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +2 -2
- package/front_end/models/issues_manager/SharedDictionaryIssue.ts +1 -1
- package/front_end/models/issues_manager/UnencodedDigestIssue.ts +3 -3
- package/front_end/models/issues_manager/issues_manager.ts +0 -2
- package/front_end/models/javascript_metadata/NativeFunctions.js +5 -1
- package/front_end/models/persistence/AutomaticFileSystemWorkspaceBinding.ts +5 -0
- package/front_end/models/source_map_scopes/FunctionCodeResolver.ts +13 -10
- package/front_end/models/stack_trace/StackTraceModel.ts +3 -3
- package/front_end/models/text_utils/ContentData.ts +27 -0
- package/front_end/models/trace/helpers/SamplesIntegrator.ts +21 -5
- package/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +29 -14
- package/front_end/models/web_mcp/WebMCPModel.ts +24 -6
- package/front_end/models/workspace/IgnoreListManager.ts +6 -6
- package/front_end/models/workspace/UISourceCode.ts +3 -3
- package/front_end/models/workspace/WorkspaceImpl.ts +10 -1
- package/front_end/models/workspace_diff/WorkspaceDiff.ts +10 -4
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +25 -22
- package/front_end/panels/ai_assistance/ExportConversation.ts +3 -4
- package/front_end/panels/ai_assistance/ai_assistance-meta.ts +3 -3
- package/front_end/panels/ai_assistance/components/ChatInput.ts +2 -2
- package/front_end/panels/ai_assistance/components/ChatMessage.ts +9 -1
- package/front_end/panels/ai_assistance/components/DisabledWidget.ts +2 -2
- package/front_end/panels/animation/AnimationTimeline.ts +17 -19
- package/front_end/panels/animation/AnimationUI.ts +5 -5
- package/front_end/panels/animation/animation-meta.ts +2 -2
- package/front_end/panels/application/ApplicationPanelSidebar.ts +4 -3
- package/front_end/panels/application/DeviceBoundSessionsView.ts +2 -6
- package/front_end/panels/application/FrameDetailsView.ts +1 -1
- package/front_end/panels/application/IndexedDBViews.ts +220 -266
- package/front_end/panels/application/OpenedWindowDetailsView.ts +1 -1
- package/front_end/panels/application/ResourcesPanel.ts +9 -2
- package/front_end/panels/application/ServiceWorkersView.ts +252 -211
- package/front_end/panels/application/StorageView.ts +97 -33
- package/front_end/panels/application/WebMCPView.ts +53 -44
- package/front_end/panels/application/components/AdsView.ts +201 -30
- package/front_end/panels/application/components/adsView.css +25 -0
- package/front_end/panels/application/indexedDBViews.css +38 -9
- package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +2 -2
- package/front_end/panels/application/preloading/helper/PreloadingForward.ts +2 -1
- package/front_end/panels/application/storageView.css +26 -9
- package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +5 -1
- package/front_end/panels/browser_debugger/browser_debugger-meta.ts +8 -6
- package/front_end/panels/common/DOMLinkifier.ts +1 -1
- package/front_end/panels/common/ExtensionServer.ts +119 -14
- package/front_end/panels/console/ConsoleContextSelector.ts +1 -1
- package/front_end/panels/console/ConsolePinPane.ts +2 -2
- package/front_end/panels/console/ConsolePrompt.ts +2 -2
- package/front_end/panels/console/ConsoleView.ts +3 -2
- package/front_end/panels/console/PromptBuilder.ts +2 -1
- package/front_end/panels/console/SymbolizedErrorWidget.ts +2 -1
- package/front_end/panels/console_counters/WarningErrorCounter.ts +2 -2
- package/front_end/panels/coverage/CoverageListView.ts +28 -28
- package/front_end/panels/coverage/CoverageModel.ts +2 -1
- package/front_end/panels/coverage/CoverageView.ts +22 -22
- package/front_end/panels/coverage/coverage-meta.ts +5 -5
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +36 -36
- package/front_end/panels/css_overview/CSSOverviewProcessingView.ts +1 -1
- package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +2 -2
- package/front_end/panels/css_overview/CSSOverviewStartView.ts +6 -6
- package/front_end/panels/css_overview/CSSOverviewUnusedDeclarations.ts +6 -6
- package/front_end/panels/css_overview/css_overview-meta.ts +2 -2
- package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +1 -1
- package/front_end/panels/elements/AccessibilityTreeUtils.ts +8 -102
- package/front_end/panels/elements/AccessibilityTreeView.ts +163 -70
- package/front_end/panels/elements/ElementsPanel.ts +17 -11
- package/front_end/panels/elements/ElementsTreeElement.ts +4 -1
- package/front_end/panels/elements/ElementsTreeOutline.ts +4 -4
- package/front_end/panels/elements/LayoutPane.ts +1 -1
- package/front_end/panels/elements/MetricsSidebarPane.ts +100 -34
- package/front_end/panels/elements/StylePropertiesSection.ts +2 -2
- package/front_end/panels/elements/StylePropertyTreeElement.ts +8 -2
- package/front_end/panels/elements/StylesSidebarPane.ts +1 -1
- package/front_end/panels/elements/components/AccessibilityTreeNode.ts +7 -18
- package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +2 -2
- package/front_end/panels/elements/components/QueryContainer.ts +1 -1
- package/front_end/panels/emulation/DeviceModeView.ts +52 -70
- package/front_end/panels/issues/AffectedDirectivesView.ts +1 -1
- package/front_end/panels/issues/AffectedResourcesView.ts +2 -1
- package/front_end/panels/issues/IssueView.ts +0 -2
- package/front_end/panels/issues/IssuesPane.ts +1 -8
- package/front_end/panels/js_timeline/js_timeline-meta.ts +3 -2
- package/front_end/panels/layer_viewer/LayerViewHost.ts +1 -1
- package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorController.ts +3 -3
- package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorPane.ts +5 -5
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +4 -4
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +2 -2
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.ts +6 -6
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.ts +3 -3
- package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +8 -9
- package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplayUtils.ts +2 -2
- package/front_end/panels/linear_memory_inspector/components/ValueInterpreterSettings.ts +1 -1
- package/front_end/panels/linear_memory_inspector/linear_memory_inspector-meta.ts +2 -2
- package/front_end/panels/network/NetworkDataGridNode.ts +124 -36
- package/front_end/panels/network/NetworkLogView.ts +9 -1
- package/front_end/panels/network/NetworkLogViewColumns.ts +18 -0
- package/front_end/panels/network/NetworkPanel.ts +2 -1
- package/front_end/panels/network/RequestPayloadView.ts +68 -20
- package/front_end/panels/network/RequestPreviewView.ts +7 -1
- package/front_end/panels/network/RequestTimingView.ts +95 -127
- package/front_end/panels/network/components/ResponseHeaderSection.ts +1 -1
- package/front_end/panels/network/forward/UIFilter.ts +1 -0
- package/front_end/panels/network/requestPayloadView.css +10 -0
- package/front_end/panels/performance_monitor/PerformanceMonitor.ts +12 -12
- package/front_end/panels/performance_monitor/performance_monitor-meta.ts +7 -7
- package/front_end/panels/profiler/HeapDetachedElementsView.ts +2 -2
- package/front_end/panels/profiler/HeapProfileView.ts +563 -51
- package/front_end/panels/profiler/HeapSnapshotView.ts +14 -9
- package/front_end/panels/profiler/ProfilesPanel.ts +13 -7
- package/front_end/panels/profiler/WritableProfileHeader.ts +152 -0
- package/front_end/panels/profiler/profiler.ts +2 -2
- package/front_end/panels/recorder/{components/ControlButton.ts → ControlButton.ts} +9 -10
- package/front_end/panels/recorder/{components/CreateRecordingView.ts → CreateRecordingView.ts} +59 -58
- package/front_end/panels/recorder/ExtensionView.ts +123 -0
- package/front_end/panels/recorder/RecorderController.ts +102 -92
- package/front_end/panels/recorder/{components/RecordingListView.ts → RecordingListView.ts} +22 -23
- package/front_end/panels/recorder/{components/RecordingView.ts → RecordingView.ts} +99 -96
- package/front_end/panels/recorder/{components/ReplaySection.ts → ReplaySection.ts} +20 -20
- package/front_end/panels/recorder/{components/SelectorPicker.ts → SelectorPicker.ts} +13 -13
- package/front_end/panels/recorder/{components/StepEditor.ts → StepEditor.ts} +367 -336
- package/front_end/panels/recorder/{components/StepView.ts → StepView.ts} +48 -49
- package/front_end/panels/recorder/{components/TimelineSection.ts → TimelineSection.ts} +2 -2
- package/front_end/panels/recorder/models/RecorderSettings.ts +2 -2
- package/front_end/panels/recorder/recorder-meta.ts +7 -7
- package/front_end/panels/recorder/recorder.ts +23 -1
- package/front_end/panels/recorder/{components/recordingView.css → recordingView.css} +1 -1
- package/front_end/panels/recorder/util/util.ts +113 -0
- package/front_end/panels/screencast/ScreencastApp.ts +1 -1
- package/front_end/panels/screencast/ScreencastView.ts +12 -12
- package/front_end/panels/search/SearchResultsPane.ts +4 -4
- package/front_end/panels/search/SearchView.ts +20 -20
- package/front_end/panels/security/SecurityModel.ts +7 -7
- package/front_end/panels/security/SecurityPanel.ts +99 -107
- package/front_end/panels/security/SecurityPanelSidebar.ts +7 -7
- package/front_end/panels/security/security-meta.ts +2 -2
- package/front_end/panels/sensors/LocationsSettingsTab.ts +19 -19
- package/front_end/panels/sensors/SensorsView.ts +27 -27
- package/front_end/panels/sensors/sensors-meta.ts +13 -167
- package/front_end/panels/settings/AISettingsTab.ts +98 -56
- package/front_end/panels/settings/EditFileSystemView.ts +2 -2
- package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +20 -20
- package/front_end/panels/settings/KeybindsSettingsTab.ts +20 -21
- package/front_end/panels/settings/SettingsScreen.ts +11 -11
- package/front_end/panels/settings/WorkspaceSettingsTab.ts +5 -5
- package/front_end/panels/settings/components/SyncSection.ts +12 -12
- package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +13 -13
- package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +31 -31
- package/front_end/panels/settings/emulation/emulation-meta.ts +1 -1
- package/front_end/panels/settings/settings-meta.ts +14 -14
- package/front_end/panels/sources/InplaceFormatterEditorAction.ts +2 -2
- package/front_end/panels/sources/NavigatorView.ts +7 -6
- package/front_end/panels/sources/ScopeChainSidebarPane.ts +83 -37
- package/front_end/panels/sources/SourcesNavigator.ts +22 -21
- package/front_end/panels/sources/SourcesView.ts +10 -1
- package/front_end/panels/sources/TabbedEditorContainer.ts +1 -1
- package/front_end/panels/sources/scopeChainSidebarPane.css +12 -4
- package/front_end/panels/sources/sources-meta.ts +4 -4
- package/front_end/panels/timeline/CompatibilityTracksAppender.ts +5 -2
- package/front_end/panels/timeline/IsolateSelector.ts +10 -8
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +2 -1
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +2 -1
- package/front_end/panels/timeline/TimelineFlameChartView.ts +1 -1
- package/front_end/panels/timeline/TimelinePanel.ts +20 -8
- package/front_end/panels/timeline/TimelineUIUtils.ts +149 -131
- package/front_end/panels/timeline/components/NetworkRequestDetails.ts +4 -2
- package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +4 -2
- package/front_end/panels/timeline/components/insights/ImageRef.ts +2 -1
- package/front_end/panels/timeline/timeline-meta.ts +3 -2
- package/front_end/panels/utils/utils.ts +7 -3
- package/front_end/panels/web_audio/WebAudioView.ts +17 -18
- package/front_end/panels/web_audio/web_audio-meta.ts +3 -3
- package/front_end/panels/whats_new/ReleaseNoteView.ts +1 -1
- package/front_end/panels/whats_new/whats_new-meta.ts +11 -11
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/lit/lib/async-directive.d.ts +2 -1
- package/front_end/third_party/lit/lib/async-directive.js +1 -1
- package/front_end/third_party/lit/lib/async-directive.js.map +1 -1
- package/front_end/third_party/lit/lib/decorators.d.ts +2 -1
- package/front_end/third_party/lit/lib/decorators.js.map +1 -1
- package/front_end/third_party/lit/lib/directive.d.ts +2 -1
- package/front_end/third_party/lit/lib/directive.js.map +1 -1
- package/front_end/third_party/lit/lib/directives.d.ts +2 -1
- package/front_end/third_party/lit/lib/directives.js +8 -8
- package/front_end/third_party/lit/lib/directives.js.map +1 -1
- package/front_end/third_party/lit/lib/lit.d.ts +2 -1
- package/front_end/third_party/lit/lib/lit.js +1 -1
- package/front_end/third_party/lit/lib/lit.js.map +1 -1
- package/front_end/third_party/lit/lib/static-html.d.ts +2 -1
- package/front_end/third_party/lit/lib/static-html.js +1 -1
- package/front_end/third_party/lit/lib/static-html.js.map +1 -1
- package/front_end/third_party/lit/package.json +2 -2
- package/front_end/third_party/lit/rebuild.sh +1 -1
- package/front_end/third_party/lit/src/async-directive.ts +5 -0
- package/front_end/ui/components/dialogs/Dialog.ts +1 -1
- package/front_end/ui/components/dialogs/ShortcutDialog.ts +1 -1
- package/front_end/ui/components/diff_view/DiffView.ts +2 -2
- package/front_end/ui/components/issue_counter/IssueCounter.ts +3 -3
- package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +5 -5
- package/front_end/ui/components/lists/List.ts +2 -2
- package/front_end/ui/components/panel_feedback/PreviewToggle.ts +1 -1
- package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +5 -5
- package/front_end/ui/components/settings/SettingCheckbox.ts +1 -1
- package/front_end/ui/components/snackbars/Snackbar.ts +1 -1
- package/front_end/ui/components/survey_link/SurveyLink.ts +3 -3
- package/front_end/ui/components/text_editor/config.ts +2 -2
- package/front_end/ui/components/tree_outline/TreeOutline.ts +34 -1
- package/front_end/ui/legacy/ReportView.ts +5 -0
- package/front_end/ui/legacy/Treeoutline.ts +6 -0
- package/front_end/ui/legacy/View.ts +1 -1
- package/front_end/ui/legacy/Widget.ts +14 -15
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +2 -0
- package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +8 -3
- package/front_end/ui/legacy/components/data_grid/data_grid.ts +1 -0
- package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +1 -1
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +106 -38
- package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +7 -1
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +2 -1
- package/front_end/ui/legacy/components/utils/ImagePreview.ts +4 -2
- package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +10 -1
- package/front_end/ui/legacy/inspectorCommon.css +5 -0
- package/front_end/ui/visual_logging/KnownContextValues.ts +3 -0
- package/mcp/mcp.ts +2 -0
- package/package.json +4 -4
- package/front_end/models/issues_manager/AttributionReportingIssue.ts +0 -247
- package/front_end/models/issues_manager/descriptions/arInsecureContext.md +0 -7
- package/front_end/models/issues_manager/descriptions/arInvalidInfoHeader.md +0 -5
- package/front_end/models/issues_manager/descriptions/arInvalidRegisterOsSourceHeader.md +0 -5
- package/front_end/models/issues_manager/descriptions/arInvalidRegisterOsTriggerHeader.md +0 -5
- package/front_end/models/issues_manager/descriptions/arInvalidRegisterSourceHeader.md +0 -5
- package/front_end/models/issues_manager/descriptions/arInvalidRegisterTriggerHeader.md +0 -5
- package/front_end/models/issues_manager/descriptions/arNavigationRegistrationUniqueScopeAlreadySet.md +0 -5
- package/front_end/models/issues_manager/descriptions/arNavigationRegistrationWithoutTransientUserActivation.md +0 -6
- package/front_end/models/issues_manager/descriptions/arNoRegisterOsSourceHeader.md +0 -5
- package/front_end/models/issues_manager/descriptions/arNoRegisterOsTriggerHeader.md +0 -5
- package/front_end/models/issues_manager/descriptions/arNoRegisterSourceHeader.md +0 -5
- package/front_end/models/issues_manager/descriptions/arNoRegisterTriggerHeader.md +0 -5
- package/front_end/models/issues_manager/descriptions/arNoWebOrOsSupport.md +0 -4
- package/front_end/models/issues_manager/descriptions/arOsSourceIgnored.md +0 -18
- package/front_end/models/issues_manager/descriptions/arOsTriggerIgnored.md +0 -19
- package/front_end/models/issues_manager/descriptions/arPermissionPolicyDisabled.md +0 -8
- package/front_end/models/issues_manager/descriptions/arSourceAndTriggerHeaders.md +0 -9
- package/front_end/models/issues_manager/descriptions/arSourceIgnored.md +0 -13
- package/front_end/models/issues_manager/descriptions/arTriggerIgnored.md +0 -12
- package/front_end/models/issues_manager/descriptions/arUntrustworthyReportingOrigin.md +0 -10
- package/front_end/models/issues_manager/descriptions/arWebAndOsHeaders.md +0 -11
- package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +0 -182
- package/front_end/panels/profiler/ProfileView.ts +0 -611
- package/front_end/panels/recorder/components/ExtensionView.ts +0 -132
- package/front_end/panels/recorder/components/components.ts +0 -25
- package/front_end/panels/recorder/components/util.ts +0 -116
- /package/front_end/panels/recorder/{components/controlButton.css → controlButton.css} +0 -0
- /package/front_end/panels/recorder/{components/createRecordingView.css → createRecordingView.css} +0 -0
- /package/front_end/panels/recorder/{components/extensionView.css → extensionView.css} +0 -0
- /package/front_end/panels/recorder/{components/recordingListView.css → recordingListView.css} +0 -0
- /package/front_end/panels/recorder/{components/replaySection.css → replaySection.css} +0 -0
- /package/front_end/panels/recorder/{components/selectorPicker.css → selectorPicker.css} +0 -0
- /package/front_end/panels/recorder/{components/startView.css → startView.css} +0 -0
- /package/front_end/panels/recorder/{components/stepEditor.css → stepEditor.css} +0 -0
- /package/front_end/panels/recorder/{components/stepView.css → stepView.css} +0 -0
- /package/front_end/panels/recorder/{components/timelineSection.css → timelineSection.css} +0 -0
|
@@ -47,6 +47,7 @@ import * as Bindings from '../../models/bindings/bindings.js';
|
|
|
47
47
|
import * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
48
48
|
import * as Trace from '../../models/trace/trace.js';
|
|
49
49
|
import * as SourceMapsResolver from '../../models/trace_source_maps_resolver/trace_source_maps_resolver.js';
|
|
50
|
+
import * as Workspace from '../../models/workspace/workspace.js';
|
|
50
51
|
import * as TraceBounds from '../../services/trace_bounds/trace_bounds.js';
|
|
51
52
|
import * as Tracing from '../../services/tracing/tracing.js';
|
|
52
53
|
import * as CodeHighlighter from '../../ui/components/code_highlighter/code_highlighter.js';
|
|
@@ -516,8 +517,8 @@ export class TimelineUIUtils {
|
|
|
516
517
|
return functionName;
|
|
517
518
|
}
|
|
518
519
|
|
|
519
|
-
static testContentMatching(
|
|
520
|
-
|
|
520
|
+
static testContentMatching(traceEvent: Trace.Types.Events.Event, regExp: RegExp,
|
|
521
|
+
handlerData?: Trace.Handlers.Types.HandlerData): boolean {
|
|
521
522
|
const title = TimelineUIUtils.eventStyle(traceEvent).title;
|
|
522
523
|
const tokens = [title];
|
|
523
524
|
|
|
@@ -640,9 +641,9 @@ export class TimelineUIUtils {
|
|
|
640
641
|
return frame.scriptId !== '0' && !(frame.url?.startsWith('native '));
|
|
641
642
|
}
|
|
642
643
|
|
|
643
|
-
static async buildDetailsNodeForTraceEvent(
|
|
644
|
-
|
|
645
|
-
|
|
644
|
+
static async buildDetailsNodeForTraceEvent(event: Trace.Types.Events.Event, target: SDK.Target.Target|null,
|
|
645
|
+
linkifier: LegacyComponents.Linkifier.Linkifier, isFreshOrEnhanced = false,
|
|
646
|
+
parsedTrace: Trace.TraceModel.ParsedTrace): Promise<Node|null> {
|
|
646
647
|
let details: HTMLElement|HTMLSpanElement|(Element | null)|Text|null = null;
|
|
647
648
|
let detailsText;
|
|
648
649
|
// TODO(40287735): update this code with type-safe data checks.
|
|
@@ -767,15 +768,15 @@ export class TimelineUIUtils {
|
|
|
767
768
|
omitOrigin,
|
|
768
769
|
};
|
|
769
770
|
if (isFreshOrEnhanced) {
|
|
770
|
-
return linkifier.linkifyScriptLocation(
|
|
771
|
-
|
|
771
|
+
return linkifier.linkifyScriptLocation(target, scriptId, url as Platform.DevToolsPath.UrlString, lineNumber,
|
|
772
|
+
options);
|
|
772
773
|
}
|
|
773
774
|
return LegacyComponents.Linkifier.Linkifier.linkifyURL(url as Platform.DevToolsPath.UrlString, options);
|
|
774
775
|
}
|
|
775
776
|
|
|
776
|
-
static linkifyTopCallFrame(
|
|
777
|
-
|
|
778
|
-
|
|
777
|
+
static linkifyTopCallFrame(event: Trace.Types.Events.Event, target: SDK.Target.Target|null,
|
|
778
|
+
linkifier: LegacyComponents.Linkifier.Linkifier, isFreshOrEnhanced = false,
|
|
779
|
+
maxLength?: number): Element|null {
|
|
779
780
|
let frame = Trace.Helpers.Trace.getZeroIndexedStackTraceInEventPayload(event)?.[0];
|
|
780
781
|
if (Trace.Types.Events.isProfileCall(event)) {
|
|
781
782
|
frame = event.callFrame;
|
|
@@ -831,29 +832,28 @@ export class TimelineUIUtils {
|
|
|
831
832
|
return div;
|
|
832
833
|
}
|
|
833
834
|
|
|
834
|
-
static buildConsumeCacheDetails(
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
contentHelper: TimelineDetailsContentHelper): void {
|
|
835
|
+
static buildConsumeCacheDetails(eventData: {
|
|
836
|
+
consumedCacheSize?: number,
|
|
837
|
+
cacheRejected?: boolean,
|
|
838
|
+
cacheKind?: string,
|
|
839
|
+
},
|
|
840
|
+
contentHelper: TimelineDetailsContentHelper): void {
|
|
841
841
|
if (typeof eventData.consumedCacheSize === 'number') {
|
|
842
|
-
contentHelper.appendTextRow(
|
|
843
|
-
|
|
844
|
-
contentHelper.appendTextRow(
|
|
845
|
-
|
|
842
|
+
contentHelper.appendTextRow(i18nString(UIStrings.compilationCacheStatus),
|
|
843
|
+
i18nString(UIStrings.scriptLoadedFromCache));
|
|
844
|
+
contentHelper.appendTextRow(i18nString(UIStrings.compilationCacheSize),
|
|
845
|
+
i18n.ByteUtilities.bytesToString(eventData.consumedCacheSize));
|
|
846
846
|
const cacheKind = eventData.cacheKind;
|
|
847
847
|
if (cacheKind) {
|
|
848
848
|
contentHelper.appendTextRow(i18nString(UIStrings.compilationCacheKind), cacheKind);
|
|
849
849
|
}
|
|
850
850
|
} else if ('cacheRejected' in eventData && eventData['cacheRejected']) {
|
|
851
851
|
// Version mismatch or similar.
|
|
852
|
-
contentHelper.appendTextRow(
|
|
853
|
-
|
|
852
|
+
contentHelper.appendTextRow(i18nString(UIStrings.compilationCacheStatus),
|
|
853
|
+
i18nString(UIStrings.failedToLoadScriptFromCache));
|
|
854
854
|
} else {
|
|
855
|
-
contentHelper.appendTextRow(
|
|
856
|
-
|
|
855
|
+
contentHelper.appendTextRow(i18nString(UIStrings.compilationCacheStatus),
|
|
856
|
+
i18nString(UIStrings.scriptNotEligibleToBeLoadedFromCache));
|
|
857
857
|
}
|
|
858
858
|
}
|
|
859
859
|
|
|
@@ -969,8 +969,8 @@ export class TimelineUIUtils {
|
|
|
969
969
|
event,
|
|
970
970
|
parsedTrace,
|
|
971
971
|
);
|
|
972
|
-
contentHelper.appendTextRow(
|
|
973
|
-
|
|
972
|
+
contentHelper.appendTextRow(i18nString(UIStrings.timestamp),
|
|
973
|
+
i18n.TimeUtilities.preciseMillisToString(adjustedEventTimeStamp, 1));
|
|
974
974
|
}
|
|
975
975
|
|
|
976
976
|
// Only show total time and self time for events with non-zero durations.
|
|
@@ -1005,16 +1005,16 @@ export class TimelineUIUtils {
|
|
|
1005
1005
|
if (url) {
|
|
1006
1006
|
contentHelper.appendElementRow(i18nString(UIStrings.url), LegacyComponents.Linkifier.Linkifier.linkifyURL(url));
|
|
1007
1007
|
}
|
|
1008
|
-
contentHelper.appendElementRow(
|
|
1009
|
-
|
|
1008
|
+
contentHelper.appendElementRow(i18nString(UIStrings.details),
|
|
1009
|
+
TimelineUIUtils.buildDetailsNodeForMarkerEvents(event));
|
|
1010
1010
|
}
|
|
1011
1011
|
|
|
1012
1012
|
if (Trace.Types.Events.isV8Compile(event)) {
|
|
1013
1013
|
url = event.args.data?.url as Platform.DevToolsPath.UrlString;
|
|
1014
1014
|
if (url) {
|
|
1015
1015
|
const {lineNumber, columnNumber} = Trace.Helpers.Trace.getZeroIndexedLineAndColumnForEvent(event);
|
|
1016
|
-
contentHelper.appendLocationRow(
|
|
1017
|
-
|
|
1016
|
+
contentHelper.appendLocationRow(i18nString(UIStrings.script), url, lineNumber || 0, columnNumber, undefined,
|
|
1017
|
+
true);
|
|
1018
1018
|
const originWithEntity = this.getOriginWithEntity(entityMapper, parsedTrace, event);
|
|
1019
1019
|
if (originWithEntity) {
|
|
1020
1020
|
contentHelper.appendElementRow(i18nString(UIStrings.origin), originWithEntity);
|
|
@@ -1027,9 +1027,8 @@ export class TimelineUIUtils {
|
|
|
1027
1027
|
}
|
|
1028
1028
|
|
|
1029
1029
|
const isStreamed = Boolean(event.args.data?.streamed);
|
|
1030
|
-
contentHelper.appendTextRow(
|
|
1031
|
-
|
|
1032
|
-
isStreamed + (isStreamed ? '' : `: ${event.args.data?.notStreamedReason || ''}`));
|
|
1030
|
+
contentHelper.appendTextRow(i18nString(UIStrings.streamed),
|
|
1031
|
+
isStreamed + (isStreamed ? '' : `: ${event.args.data?.notStreamedReason || ''}`));
|
|
1033
1032
|
if (event.args.data) {
|
|
1034
1033
|
TimelineUIUtils.buildConsumeCacheDetails(event.args.data, contentHelper);
|
|
1035
1034
|
}
|
|
@@ -1069,8 +1068,7 @@ export class TimelineUIUtils {
|
|
|
1069
1068
|
}
|
|
1070
1069
|
}
|
|
1071
1070
|
|
|
1072
|
-
const isFreshOrEnhanced =
|
|
1073
|
-
Boolean(parsedTrace && Tracing.FreshRecording.Tracker.instance().recordingIsFreshOrEnhanced(parsedTrace));
|
|
1071
|
+
const isFreshOrEnhanced = Tracing.FreshRecording.Tracker.instance().recordingIsFreshOrEnhanced(parsedTrace);
|
|
1074
1072
|
|
|
1075
1073
|
switch (event.name) {
|
|
1076
1074
|
case Trace.Types.Events.Name.GC:
|
|
@@ -1083,15 +1081,15 @@ export class TimelineUIUtils {
|
|
|
1083
1081
|
|
|
1084
1082
|
case Trace.Types.Events.Name.PROFILE_CALL: {
|
|
1085
1083
|
const profileCall = event as Trace.Types.Events.SyntheticProfileCall;
|
|
1086
|
-
const resolvedURL = SourceMapsResolver.SourceMapsResolver.resolvedURLForEntry(
|
|
1084
|
+
const resolvedURL = SourceMapsResolver.SourceMapsResolver.resolvedURLForEntry(
|
|
1085
|
+
parsedTrace, profileCall, Workspace.Workspace.WorkspaceImpl.instance());
|
|
1087
1086
|
if (!resolvedURL) {
|
|
1088
1087
|
break;
|
|
1089
1088
|
}
|
|
1090
1089
|
const callFrame = profileCall.callFrame;
|
|
1091
1090
|
// Render the URL with its location content.
|
|
1092
|
-
contentHelper.appendLocationRow(
|
|
1093
|
-
|
|
1094
|
-
true);
|
|
1091
|
+
contentHelper.appendLocationRow(i18nString(UIStrings.source), resolvedURL, callFrame.lineNumber || 0,
|
|
1092
|
+
callFrame.columnNumber, undefined, true);
|
|
1095
1093
|
const originWithEntity = this.getOriginWithEntity(entityMapper, parsedTrace, profileCall);
|
|
1096
1094
|
if (originWithEntity) {
|
|
1097
1095
|
contentHelper.appendElementRow(i18nString(UIStrings.origin), originWithEntity);
|
|
@@ -1119,8 +1117,8 @@ export class TimelineUIUtils {
|
|
|
1119
1117
|
contentHelper.appendTextRow(i18nString(UIStrings.timerId), unsafeEventData.timerId);
|
|
1120
1118
|
|
|
1121
1119
|
if (event.name === Trace.Types.Events.Name.TIMER_INSTALL) {
|
|
1122
|
-
contentHelper.appendTextRow(
|
|
1123
|
-
|
|
1120
|
+
contentHelper.appendTextRow(i18nString(UIStrings.timeout),
|
|
1121
|
+
i18n.TimeUtilities.millisToString(unsafeEventData['timeout']));
|
|
1124
1122
|
contentHelper.appendTextRow(i18nString(UIStrings.repeats), !unsafeEventData['singleShot']);
|
|
1125
1123
|
}
|
|
1126
1124
|
break;
|
|
@@ -1128,8 +1126,8 @@ export class TimelineUIUtils {
|
|
|
1128
1126
|
|
|
1129
1127
|
case Trace.Types.Events.Name.SCHEDULE_POST_TASK_CALLBACK:
|
|
1130
1128
|
case Trace.Types.Events.Name.RUN_POST_TASK_CALLBACK: {
|
|
1131
|
-
contentHelper.appendTextRow(
|
|
1132
|
-
|
|
1129
|
+
contentHelper.appendTextRow(i18nString(UIStrings.delay),
|
|
1130
|
+
i18n.TimeUtilities.millisToString(unsafeEventData['delay']));
|
|
1133
1131
|
contentHelper.appendTextRow(i18nString(UIStrings.priority), unsafeEventData['priority']);
|
|
1134
1132
|
break;
|
|
1135
1133
|
}
|
|
@@ -1150,9 +1148,8 @@ export class TimelineUIUtils {
|
|
|
1150
1148
|
|
|
1151
1149
|
case Trace.Types.Events.Name.CACHE_MODULE: {
|
|
1152
1150
|
url = unsafeEventData && unsafeEventData['url'] as Platform.DevToolsPath.UrlString;
|
|
1153
|
-
contentHelper.appendTextRow(
|
|
1154
|
-
|
|
1155
|
-
i18n.ByteUtilities.bytesToString(unsafeEventData['producedCacheSize']));
|
|
1151
|
+
contentHelper.appendTextRow(i18nString(UIStrings.compilationCacheSize),
|
|
1152
|
+
i18n.ByteUtilities.bytesToString(unsafeEventData['producedCacheSize']));
|
|
1156
1153
|
break;
|
|
1157
1154
|
}
|
|
1158
1155
|
|
|
@@ -1160,17 +1157,16 @@ export class TimelineUIUtils {
|
|
|
1160
1157
|
url = unsafeEventData && unsafeEventData['url'] as Platform.DevToolsPath.UrlString;
|
|
1161
1158
|
if (url) {
|
|
1162
1159
|
const {lineNumber, columnNumber} = Trace.Helpers.Trace.getZeroIndexedLineAndColumnForEvent(event);
|
|
1163
|
-
contentHelper.appendLocationRow(
|
|
1164
|
-
|
|
1160
|
+
contentHelper.appendLocationRow(i18nString(UIStrings.script), url, lineNumber || 0, columnNumber, undefined,
|
|
1161
|
+
true);
|
|
1165
1162
|
const originWithEntity = this.getOriginWithEntity(entityMapper, parsedTrace, event);
|
|
1166
1163
|
if (originWithEntity) {
|
|
1167
1164
|
contentHelper.appendElementRow(i18nString(UIStrings.origin), originWithEntity);
|
|
1168
1165
|
}
|
|
1169
1166
|
entityAppended = true;
|
|
1170
1167
|
}
|
|
1171
|
-
contentHelper.appendTextRow(
|
|
1172
|
-
|
|
1173
|
-
i18n.ByteUtilities.bytesToString(unsafeEventData['producedCacheSize']));
|
|
1168
|
+
contentHelper.appendTextRow(i18nString(UIStrings.compilationCacheSize),
|
|
1169
|
+
i18n.ByteUtilities.bytesToString(unsafeEventData['producedCacheSize']));
|
|
1174
1170
|
break;
|
|
1175
1171
|
}
|
|
1176
1172
|
|
|
@@ -1178,8 +1174,8 @@ export class TimelineUIUtils {
|
|
|
1178
1174
|
url = unsafeEventData && unsafeEventData['url'] as Platform.DevToolsPath.UrlString;
|
|
1179
1175
|
if (url) {
|
|
1180
1176
|
const {lineNumber, columnNumber} = Trace.Helpers.Trace.getZeroIndexedLineAndColumnForEvent(event);
|
|
1181
|
-
contentHelper.appendLocationRow(
|
|
1182
|
-
|
|
1177
|
+
contentHelper.appendLocationRow(i18nString(UIStrings.script), url, lineNumber || 0, columnNumber, undefined,
|
|
1178
|
+
true);
|
|
1183
1179
|
const originWithEntity = this.getOriginWithEntity(entityMapper, parsedTrace, event);
|
|
1184
1180
|
if (originWithEntity) {
|
|
1185
1181
|
contentHelper.appendElementRow(i18nString(UIStrings.origin), originWithEntity);
|
|
@@ -1230,8 +1226,8 @@ export class TimelineUIUtils {
|
|
|
1230
1226
|
tabStop: true,
|
|
1231
1227
|
showColumnNumber: false,
|
|
1232
1228
|
};
|
|
1233
|
-
contentHelper.appendElementRow(
|
|
1234
|
-
|
|
1229
|
+
contentHelper.appendElementRow(i18nString(UIStrings.imageUrl),
|
|
1230
|
+
LegacyComponents.Linkifier.Linkifier.linkifyURL(url, options));
|
|
1235
1231
|
}
|
|
1236
1232
|
break;
|
|
1237
1233
|
}
|
|
@@ -1243,8 +1239,8 @@ export class TimelineUIUtils {
|
|
|
1243
1239
|
tabStop: true,
|
|
1244
1240
|
showColumnNumber: false,
|
|
1245
1241
|
};
|
|
1246
|
-
contentHelper.appendElementRow(
|
|
1247
|
-
|
|
1242
|
+
contentHelper.appendElementRow(i18nString(UIStrings.stylesheetUrl),
|
|
1243
|
+
LegacyComponents.Linkifier.Linkifier.linkifyURL(url, options));
|
|
1248
1244
|
}
|
|
1249
1245
|
break;
|
|
1250
1246
|
}
|
|
@@ -1321,8 +1317,8 @@ export class TimelineUIUtils {
|
|
|
1321
1317
|
// The failureReasons can be empty when Blink added a new failure reason that is
|
|
1322
1318
|
// not supported by DevTools yet
|
|
1323
1319
|
if (failureReasons.size === 0) {
|
|
1324
|
-
contentHelper.appendElementRow(
|
|
1325
|
-
|
|
1320
|
+
contentHelper.appendElementRow(i18nString(UIStrings.compositingFailed),
|
|
1321
|
+
i18nString(UIStrings.compositingFailedUnknownReason), true);
|
|
1326
1322
|
} else {
|
|
1327
1323
|
for (const reason of failureReasons) {
|
|
1328
1324
|
let str;
|
|
@@ -1411,9 +1407,8 @@ export class TimelineUIUtils {
|
|
|
1411
1407
|
|
|
1412
1408
|
// @ts-expect-error Fall-through intended.
|
|
1413
1409
|
case Trace.Types.Events.Name.FIRE_IDLE_CALLBACK: {
|
|
1414
|
-
contentHelper.appendTextRow(
|
|
1415
|
-
|
|
1416
|
-
i18n.TimeUtilities.millisToString(unsafeEventData['allottedMilliseconds']));
|
|
1410
|
+
contentHelper.appendTextRow(i18nString(UIStrings.allottedTime),
|
|
1411
|
+
i18n.TimeUtilities.millisToString(unsafeEventData['allottedMilliseconds']));
|
|
1417
1412
|
contentHelper.appendTextRow(i18nString(UIStrings.invokedByTimeout), unsafeEventData['timedOut']);
|
|
1418
1413
|
}
|
|
1419
1414
|
|
|
@@ -1422,9 +1417,8 @@ export class TimelineUIUtils {
|
|
|
1422
1417
|
contentHelper.appendTextRow(i18nString(UIStrings.callbackId), unsafeEventData['id']);
|
|
1423
1418
|
|
|
1424
1419
|
if (Trace.Types.Events.isRequestIdleCallback(event)) {
|
|
1425
|
-
contentHelper.appendTextRow(
|
|
1426
|
-
|
|
1427
|
-
i18n.TimeUtilities.preciseMillisToString(event.args.data.timeout));
|
|
1420
|
+
contentHelper.appendTextRow(i18nString(UIStrings.requestIdleCallbackTimeout),
|
|
1421
|
+
i18n.TimeUtilities.preciseMillisToString(event.args.data.timeout));
|
|
1428
1422
|
}
|
|
1429
1423
|
break;
|
|
1430
1424
|
}
|
|
@@ -1451,12 +1445,12 @@ export class TimelineUIUtils {
|
|
|
1451
1445
|
parsedTrace,
|
|
1452
1446
|
);
|
|
1453
1447
|
|
|
1454
|
-
contentHelper.appendTextRow(
|
|
1455
|
-
|
|
1448
|
+
contentHelper.appendTextRow(i18nString(UIStrings.timestamp),
|
|
1449
|
+
i18n.TimeUtilities.preciseMillisToString(adjustedEventTimeStamp, 1));
|
|
1456
1450
|
|
|
1457
1451
|
if (Trace.Types.Events.isMarkerEvent(event)) {
|
|
1458
|
-
contentHelper.appendElementRow(
|
|
1459
|
-
|
|
1452
|
+
contentHelper.appendElementRow(i18nString(UIStrings.details),
|
|
1453
|
+
TimelineUIUtils.buildDetailsNodeForMarkerEvents(event));
|
|
1460
1454
|
}
|
|
1461
1455
|
|
|
1462
1456
|
break;
|
|
@@ -1580,15 +1574,14 @@ export class TimelineUIUtils {
|
|
|
1580
1574
|
return highlightContainer;
|
|
1581
1575
|
}
|
|
1582
1576
|
|
|
1583
|
-
static stackTraceFromCallFrames(callFrames: Protocol.Runtime.CallFrame[]|
|
|
1584
|
-
|
|
1577
|
+
static stackTraceFromCallFrames(callFrames: Protocol.Runtime.CallFrame[]|
|
|
1578
|
+
Trace.Types.Events.CallFrame[]): Protocol.Runtime.StackTrace {
|
|
1585
1579
|
return {callFrames} as Protocol.Runtime.StackTrace;
|
|
1586
1580
|
}
|
|
1587
1581
|
|
|
1588
1582
|
/** This renders a stack trace... and other cool stuff. */
|
|
1589
|
-
static async generateCauses(
|
|
1590
|
-
|
|
1591
|
-
parsedTrace: Trace.TraceModel.ParsedTrace): Promise<void> {
|
|
1583
|
+
static async generateCauses(event: Trace.Types.Events.Event, contentHelper: TimelineDetailsContentHelper,
|
|
1584
|
+
parsedTrace: Trace.TraceModel.ParsedTrace): Promise<void> {
|
|
1592
1585
|
const {startTime} = Trace.Helpers.Timing.eventTimingsMilliSeconds(event);
|
|
1593
1586
|
let initiatorStackLabel = i18nString(UIStrings.initiatorStackTrace);
|
|
1594
1587
|
await contentHelper.appendFunctionStackTraceSection(event, parsedTrace);
|
|
@@ -1620,8 +1613,9 @@ export class TimelineUIUtils {
|
|
|
1620
1613
|
// and the time since the initiator (Pending For).
|
|
1621
1614
|
const stackTrace = Trace.Helpers.Trace.getZeroIndexedStackTraceInEventPayload(initiator);
|
|
1622
1615
|
if (stackTrace) {
|
|
1623
|
-
const
|
|
1624
|
-
|
|
1616
|
+
const isFreshOrEnhanced = Tracing.FreshRecording.Tracker.instance().recordingIsFreshOrEnhanced(parsedTrace);
|
|
1617
|
+
const traceElement = await contentHelper.createChildStackTraceElement(
|
|
1618
|
+
TimelineUIUtils.stackTraceFromCallFrames(stackTrace), isFreshOrEnhanced);
|
|
1625
1619
|
contentHelper.appendSectionWithBodyIfExists(initiatorStackLabel, {body: traceElement});
|
|
1626
1620
|
}
|
|
1627
1621
|
|
|
@@ -1699,9 +1693,8 @@ export class TimelineUIUtils {
|
|
|
1699
1693
|
return link;
|
|
1700
1694
|
}
|
|
1701
1695
|
|
|
1702
|
-
private static async generateInvalidationsList(
|
|
1703
|
-
|
|
1704
|
-
contentHelper: TimelineDetailsContentHelper): Promise<void> {
|
|
1696
|
+
private static async generateInvalidationsList(invalidations: Trace.Types.Events.InvalidationTrackingEvent[],
|
|
1697
|
+
contentHelper: TimelineDetailsContentHelper): Promise<void> {
|
|
1705
1698
|
const {groupedByReason, backendNodeIds} = TimelineComponents.DetailsView.generateInvalidationsList(invalidations);
|
|
1706
1699
|
|
|
1707
1700
|
let relatedNodesMap: Map<number, SDK.DOMModel.DOMNode|null>|null = null;
|
|
@@ -1716,9 +1709,10 @@ export class TimelineUIUtils {
|
|
|
1716
1709
|
});
|
|
1717
1710
|
}
|
|
1718
1711
|
|
|
1719
|
-
private static generateInvalidationsForReason(
|
|
1720
|
-
|
|
1721
|
-
|
|
1712
|
+
private static generateInvalidationsForReason(reason: string,
|
|
1713
|
+
invalidations: Trace.Types.Events.InvalidationTrackingEvent[],
|
|
1714
|
+
relatedNodesMap: Map<number, SDK.DOMModel.DOMNode|null>|null,
|
|
1715
|
+
contentHelper: TimelineDetailsContentHelper): void {
|
|
1722
1716
|
function createLinkForInvalidationNode(invalidation: Trace.Types.Events.InvalidationTrackingEvent):
|
|
1723
1717
|
HTMLSpanElement {
|
|
1724
1718
|
const node = (invalidation.args.data.nodeId && relatedNodesMap) ?
|
|
@@ -1757,10 +1751,9 @@ export class TimelineUIUtils {
|
|
|
1757
1751
|
|
|
1758
1752
|
const niceNodeLink = createLinkForInvalidationNode(invalidation);
|
|
1759
1753
|
|
|
1760
|
-
const text = scriptLink ?
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
niceNodeLink;
|
|
1754
|
+
const text = scriptLink ? uiI18n.getFormatLocalizedString(str_, UIStrings.invalidationWithCallFrame,
|
|
1755
|
+
{PH1: niceNodeLink, PH2: scriptLink}) as HTMLElement :
|
|
1756
|
+
niceNodeLink;
|
|
1764
1757
|
|
|
1765
1758
|
// Sometimes we can get different Invalidation events which cause
|
|
1766
1759
|
// the same text for the same element for the same reason to be
|
|
@@ -1778,9 +1771,8 @@ export class TimelineUIUtils {
|
|
|
1778
1771
|
}
|
|
1779
1772
|
|
|
1780
1773
|
/** Populates the passed object then returns true/false if it makes sense to show the pie chart */
|
|
1781
|
-
private static aggregatedStatsForTraceEvent(
|
|
1782
|
-
|
|
1783
|
-
event: Trace.Types.Events.Event): boolean {
|
|
1774
|
+
private static aggregatedStatsForTraceEvent(total: TimeRangeCategoryStats, parsedTrace: Trace.TraceModel.ParsedTrace,
|
|
1775
|
+
event: Trace.Types.Events.Event): boolean {
|
|
1784
1776
|
const node = parsedTrace.data.Renderer.entryToNode.get(event);
|
|
1785
1777
|
if (!node) {
|
|
1786
1778
|
return false;
|
|
@@ -1829,9 +1821,8 @@ export class TimelineUIUtils {
|
|
|
1829
1821
|
return true;
|
|
1830
1822
|
}
|
|
1831
1823
|
|
|
1832
|
-
static async buildPicturePreviewContent(
|
|
1833
|
-
|
|
1834
|
-
target: SDK.Target.Target): Promise<Element|null> {
|
|
1824
|
+
static async buildPicturePreviewContent(parsedTrace: Trace.TraceModel.ParsedTrace, event: Trace.Types.Events.Paint,
|
|
1825
|
+
target: SDK.Target.Target): Promise<Element|null> {
|
|
1835
1826
|
const snapshotEvent = parsedTrace.data.LayerTree.paintsToSnapshots.get(event);
|
|
1836
1827
|
if (!snapshotEvent) {
|
|
1837
1828
|
return null;
|
|
@@ -1888,8 +1879,8 @@ export class TimelineUIUtils {
|
|
|
1888
1879
|
const {startTime: eventStartTime} = Trace.Helpers.Timing.eventTimingsMilliSeconds(event);
|
|
1889
1880
|
|
|
1890
1881
|
const startTime = i18n.TimeUtilities.millisToString(eventStartTime - zeroTime);
|
|
1891
|
-
UI.Tooltip.Tooltip.install(
|
|
1892
|
-
|
|
1882
|
+
UI.Tooltip.Tooltip.install(eventDivider,
|
|
1883
|
+
i18nString(UIStrings.sAtS, {PH1: TimelineUIUtils.eventTitle(event), PH2: startTime}));
|
|
1893
1884
|
const style = TimelineUIUtils.markerStyleForEvent(event);
|
|
1894
1885
|
if (style.tall) {
|
|
1895
1886
|
eventDivider.style.backgroundColor = style.color;
|
|
@@ -1907,9 +1898,8 @@ export class TimelineUIUtils {
|
|
|
1907
1898
|
return Trace.Styles.getCategoryStyles();
|
|
1908
1899
|
}
|
|
1909
1900
|
|
|
1910
|
-
static generatePieChart(
|
|
1911
|
-
|
|
1912
|
-
selfTime?: Trace.Types.Timing.Micro): Element {
|
|
1901
|
+
static generatePieChart(aggregatedStats: TimeRangeCategoryStats, selfCategory?: Trace.Styles.TimelineCategory,
|
|
1902
|
+
selfTime?: Trace.Types.Timing.Micro): Element {
|
|
1913
1903
|
let total = 0;
|
|
1914
1904
|
for (const categoryName in aggregatedStats) {
|
|
1915
1905
|
total += aggregatedStats[categoryName];
|
|
@@ -1981,9 +1971,9 @@ export class TimelineUIUtils {
|
|
|
1981
1971
|
return element;
|
|
1982
1972
|
}
|
|
1983
1973
|
|
|
1984
|
-
static generateDetailsContentForFrame(
|
|
1985
|
-
|
|
1986
|
-
|
|
1974
|
+
static generateDetailsContentForFrame(frame: Trace.Types.Events.LegacyTimelineFrame,
|
|
1975
|
+
filmStrip: Trace.Extras.FilmStrip.Data|null,
|
|
1976
|
+
filmStripFrame: Trace.Extras.FilmStrip.Frame|null): DocumentFragment {
|
|
1987
1977
|
const contentHelper = new TimelineDetailsContentHelper(null, null);
|
|
1988
1978
|
contentHelper.addSection(i18nString(UIStrings.frame));
|
|
1989
1979
|
|
|
@@ -2034,10 +2024,10 @@ export class TimelineUIUtils {
|
|
|
2034
2024
|
const green = 'hsl(90,100%,40%)';
|
|
2035
2025
|
const purple = 'hsl(256,100%,75%)';
|
|
2036
2026
|
eventDispatchDesciptors = [
|
|
2037
|
-
new EventDispatchTypeDescriptor(
|
|
2038
|
-
|
|
2039
|
-
new EventDispatchTypeDescriptor(
|
|
2040
|
-
|
|
2027
|
+
new EventDispatchTypeDescriptor(1, lightOrange,
|
|
2028
|
+
['mousemove', 'mouseenter', 'mouseleave', 'mouseout', 'mouseover']),
|
|
2029
|
+
new EventDispatchTypeDescriptor(1, lightOrange,
|
|
2030
|
+
['pointerover', 'pointerout', 'pointerenter', 'pointerleave', 'pointermove']),
|
|
2041
2031
|
new EventDispatchTypeDescriptor(2, green, ['wheel']),
|
|
2042
2032
|
new EventDispatchTypeDescriptor(3, orange, ['click', 'mousedown', 'mouseup']),
|
|
2043
2033
|
new EventDispatchTypeDescriptor(3, orange, ['touchstart', 'touchend', 'touchmove', 'touchcancel']),
|
|
@@ -2119,17 +2109,16 @@ export class TimelineUIUtils {
|
|
|
2119
2109
|
|
|
2120
2110
|
static colorForId(id: string): string {
|
|
2121
2111
|
if (!colorGenerator) {
|
|
2122
|
-
colorGenerator = new Common.Color.Generator(
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
85);
|
|
2112
|
+
colorGenerator = new Common.Color.Generator({
|
|
2113
|
+
min: 30,
|
|
2114
|
+
max: 330,
|
|
2115
|
+
},
|
|
2116
|
+
{
|
|
2117
|
+
min: 50,
|
|
2118
|
+
max: 80,
|
|
2119
|
+
count: 3,
|
|
2120
|
+
},
|
|
2121
|
+
85);
|
|
2133
2122
|
colorGenerator.setColorForID('', '#f2ecdc');
|
|
2134
2123
|
}
|
|
2135
2124
|
return colorGenerator.colorForID(id);
|
|
@@ -2141,10 +2130,10 @@ export class TimelineUIUtils {
|
|
|
2141
2130
|
frame.url.slice(0, trimAt);
|
|
2142
2131
|
}
|
|
2143
2132
|
|
|
2144
|
-
static getOriginWithEntity(
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2133
|
+
static getOriginWithEntity(entityMapper: Trace.EntityMapper.EntityMapper|null,
|
|
2134
|
+
parsedTrace: Trace.TraceModel.ParsedTrace, event: Trace.Types.Events.Event): string|null {
|
|
2135
|
+
const resolvedURL = SourceMapsResolver.SourceMapsResolver.resolvedURLForEntry(
|
|
2136
|
+
parsedTrace, event, Workspace.Workspace.WorkspaceImpl.instance());
|
|
2148
2137
|
if (!resolvedURL) {
|
|
2149
2138
|
return null;
|
|
2150
2139
|
}
|
|
@@ -2179,6 +2168,26 @@ export class EventDispatchTypeDescriptor {
|
|
|
2179
2168
|
}
|
|
2180
2169
|
}
|
|
2181
2170
|
|
|
2171
|
+
/**
|
|
2172
|
+
* When loading a trace file (non-fresh recording), the scriptIds in the trace
|
|
2173
|
+
* are from the recorded page and are guaranteed to collide with scriptIds of
|
|
2174
|
+
* the currently active inspected page. We strip them from the stack trace
|
|
2175
|
+
* to force the stack trace rendering machinery to fall back to URL-based resolution
|
|
2176
|
+
* instead of incorrectly matching the active page's script IDs.
|
|
2177
|
+
*/
|
|
2178
|
+
export function stripScriptIds(stackTrace: Protocol.Runtime.StackTrace): Protocol.Runtime.StackTrace {
|
|
2179
|
+
const callFrames = stackTrace.callFrames.map(frame => ({
|
|
2180
|
+
...frame,
|
|
2181
|
+
scriptId: '' as Protocol.Runtime.ScriptId,
|
|
2182
|
+
}));
|
|
2183
|
+
const parent = stackTrace.parent ? stripScriptIds(stackTrace.parent) : undefined;
|
|
2184
|
+
return {
|
|
2185
|
+
...stackTrace,
|
|
2186
|
+
callFrames,
|
|
2187
|
+
parent,
|
|
2188
|
+
};
|
|
2189
|
+
}
|
|
2190
|
+
|
|
2182
2191
|
export class TimelineDetailsContentHelper {
|
|
2183
2192
|
fragment: DocumentFragment;
|
|
2184
2193
|
#linkifier: LegacyComponents.Linkifier.Linkifier|null;
|
|
@@ -2257,7 +2266,8 @@ export class TimelineDetailsContentHelper {
|
|
|
2257
2266
|
if (!stackTraceForEvent) {
|
|
2258
2267
|
return;
|
|
2259
2268
|
}
|
|
2260
|
-
const
|
|
2269
|
+
const isFreshOrEnhanced = Tracing.FreshRecording.Tracker.instance().recordingIsFreshOrEnhanced(parsedTrace);
|
|
2270
|
+
const traceElement = await this.createChildStackTraceElement(stackTraceForEvent, isFreshOrEnhanced);
|
|
2261
2271
|
this.appendSectionWithBodyIfExists(i18nString(UIStrings.functionStack), {body: traceElement});
|
|
2262
2272
|
}
|
|
2263
2273
|
|
|
@@ -2290,8 +2300,8 @@ export class TimelineDetailsContentHelper {
|
|
|
2290
2300
|
}
|
|
2291
2301
|
}
|
|
2292
2302
|
|
|
2293
|
-
appendLocationRow(
|
|
2294
|
-
|
|
2303
|
+
appendLocationRow(title: string, url: string, startLine: number, startColumn?: number, text?: string,
|
|
2304
|
+
omitOrigin?: boolean): void {
|
|
2295
2305
|
if (!this.#linkifier) {
|
|
2296
2306
|
return;
|
|
2297
2307
|
}
|
|
@@ -2303,8 +2313,8 @@ export class TimelineDetailsContentHelper {
|
|
|
2303
2313
|
text,
|
|
2304
2314
|
omitOrigin,
|
|
2305
2315
|
};
|
|
2306
|
-
const link = this.#linkifier.maybeLinkifyScriptLocation(
|
|
2307
|
-
|
|
2316
|
+
const link = this.#linkifier.maybeLinkifyScriptLocation(this.target, null, url as Platform.DevToolsPath.UrlString,
|
|
2317
|
+
startLine, options);
|
|
2308
2318
|
if (!link) {
|
|
2309
2319
|
return;
|
|
2310
2320
|
}
|
|
@@ -2321,8 +2331,8 @@ export class TimelineDetailsContentHelper {
|
|
|
2321
2331
|
return;
|
|
2322
2332
|
}
|
|
2323
2333
|
locationContent.appendChild(link);
|
|
2324
|
-
UI.UIUtils.createTextChild(
|
|
2325
|
-
|
|
2334
|
+
UI.UIUtils.createTextChild(locationContent,
|
|
2335
|
+
Platform.StringUtilities.sprintf(' [%s…%s]', startLine + 1, (endLine || 0) + 1 || ''));
|
|
2326
2336
|
this.appendElementRow(title, locationContent);
|
|
2327
2337
|
}
|
|
2328
2338
|
|
|
@@ -2330,7 +2340,10 @@ export class TimelineDetailsContentHelper {
|
|
|
2330
2340
|
* Creates a stack trace element for the given trace, but checks if it
|
|
2331
2341
|
* contains any entries, and discards it if it's empty.
|
|
2332
2342
|
*/
|
|
2333
|
-
async createChildStackTraceElement(
|
|
2343
|
+
async createChildStackTraceElement(
|
|
2344
|
+
runtimeStackTrace: Protocol.Runtime.StackTrace,
|
|
2345
|
+
isFreshOrEnhanced?: boolean,
|
|
2346
|
+
): Promise<HTMLElement|null> {
|
|
2334
2347
|
// Fallback to the main page/root target. Maybe the main page has a source map we need.
|
|
2335
2348
|
// Worst case the stack is identity mapped.
|
|
2336
2349
|
const targetManager = SDK.TargetManager.TargetManager.instance();
|
|
@@ -2339,9 +2352,14 @@ export class TimelineDetailsContentHelper {
|
|
|
2339
2352
|
return null;
|
|
2340
2353
|
}
|
|
2341
2354
|
|
|
2355
|
+
// If the trace is non-fresh and not enhanced, this means that any active
|
|
2356
|
+
// sourcemaps are not related to the trace, and therefore we do not want to
|
|
2357
|
+
// use them.
|
|
2358
|
+
const stackTraceToUse = isFreshOrEnhanced ? runtimeStackTrace : stripScriptIds(runtimeStackTrace);
|
|
2359
|
+
|
|
2342
2360
|
const stackTrace =
|
|
2343
2361
|
await Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance().createStackTraceFromProtocolRuntime(
|
|
2344
|
-
|
|
2362
|
+
stackTraceToUse, target);
|
|
2345
2363
|
const callFrameContents = new LegacyComponents.JSPresentationUtils.StackTracePreviewContent();
|
|
2346
2364
|
callFrameContents.options = {tabStops: true, showColumnNumber: true};
|
|
2347
2365
|
callFrameContents.stackTrace = stackTrace;
|
|
@@ -2430,8 +2448,8 @@ export function isMarkerEvent(parsedTrace: Trace.TraceModel.ParsedTrace, event:
|
|
|
2430
2448
|
return false;
|
|
2431
2449
|
}
|
|
2432
2450
|
|
|
2433
|
-
function getEventSelfTime(
|
|
2434
|
-
|
|
2451
|
+
function getEventSelfTime(event: Trace.Types.Events.Event,
|
|
2452
|
+
parsedTrace: Trace.TraceModel.ParsedTrace): Trace.Types.Timing.Micro {
|
|
2435
2453
|
const mapToUse = Trace.Types.Extensions.isSyntheticExtensionEntry(event) ?
|
|
2436
2454
|
parsedTrace.data.ExtensionTraceData.entryToNode :
|
|
2437
2455
|
parsedTrace.data.Renderer.entryToNode;
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import '../../../ui/components/request_link_icon/request_link_icon.js';
|
|
6
6
|
|
|
7
|
+
import * as Common from '../../../core/common/common.js';
|
|
7
8
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
8
9
|
import type * as Platform from '../../../core/platform/platform.js';
|
|
9
10
|
import * as SDK from '../../../core/sdk/sdk.js';
|
|
@@ -157,7 +158,7 @@ export class NetworkRequestDetails extends UI.Widget.Widget {
|
|
|
157
158
|
// while this feature is experimental, to enable easier trials.
|
|
158
159
|
if (headerName === 'server-timing' || headerName === 'server-timing-test') {
|
|
159
160
|
header.name = 'server-timing';
|
|
160
|
-
this.#serverTimings = SDK.ServerTiming.ServerTiming.parseHeaders([header]);
|
|
161
|
+
this.#serverTimings = SDK.ServerTiming.ServerTiming.parseHeaders([header], Common.Console.Console.instance());
|
|
161
162
|
break;
|
|
162
163
|
}
|
|
163
164
|
}
|
|
@@ -273,7 +274,8 @@ function renderURL(request: Trace.Types.Events.SyntheticNetworkRequest): Lit.Tem
|
|
|
273
274
|
request.args.data.url as Platform.DevToolsPath.UrlString, options);
|
|
274
275
|
|
|
275
276
|
// Potentially link to request within Network Panel
|
|
276
|
-
const networkRequest =
|
|
277
|
+
const networkRequest =
|
|
278
|
+
SDK.TraceObject.RevealableNetworkRequest.create(SDK.TargetManager.TargetManager.instance(), request);
|
|
277
279
|
if (networkRequest) {
|
|
278
280
|
linkifiedURL.addEventListener('contextmenu', (event: MouseEvent) => {
|
|
279
281
|
const contextMenu = new UI.ContextMenu.ContextMenu(event);
|
|
@@ -172,7 +172,8 @@ export class NetworkRequestTooltip extends UI.Widget.Widget {
|
|
|
172
172
|
backgroundColor: color,
|
|
173
173
|
};
|
|
174
174
|
|
|
175
|
-
const sdkNetworkRequest =
|
|
175
|
+
const sdkNetworkRequest =
|
|
176
|
+
SDK.TraceObject.RevealableNetworkRequest.create(SDK.TargetManager.TargetManager.instance(), networkRequest);
|
|
176
177
|
const wasThrottled = sdkNetworkRequest &&
|
|
177
178
|
SDK.NetworkManager.MultitargetNetworkManager.instance().appliedRequestConditions(
|
|
178
179
|
sdkNetworkRequest.networkRequest);
|
|
@@ -253,7 +254,8 @@ export class NetworkRequestTooltip extends UI.Widget.Widget {
|
|
|
253
254
|
}
|
|
254
255
|
|
|
255
256
|
// TODO(crbug.com/466124088): Seems broken.
|
|
256
|
-
const sdkNetworkRequest = SDK.TraceObject.RevealableNetworkRequest.create(
|
|
257
|
+
const sdkNetworkRequest = SDK.TraceObject.RevealableNetworkRequest.create(
|
|
258
|
+
SDK.TargetManager.TargetManager.instance(), this.#networkRequest);
|
|
257
259
|
const networkConditions = sdkNetworkRequest &&
|
|
258
260
|
SDK.NetworkManager.MultitargetNetworkManager.instance().appliedRequestConditions(
|
|
259
261
|
sdkNetworkRequest.networkRequest);
|