chrome-devtools-frontend 1.0.1506453 → 1.0.1510180
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/config/owner/COMMON_OWNERS +1 -0
- package/eslint.config.mjs +39 -5
- package/front_end/Images/src/gdp-logo-standalone.svg +9 -0
- package/front_end/core/host/AidaClient.ts +26 -0
- package/front_end/core/host/GdpClient.ts +151 -0
- package/front_end/core/host/InspectorFrontendHost.ts +7 -0
- package/front_end/core/host/InspectorFrontendHostAPI.ts +29 -1
- package/front_end/core/host/UserMetrics.ts +0 -25
- package/front_end/core/host/host.ts +2 -0
- package/front_end/core/root/Runtime.ts +15 -1
- package/front_end/core/sdk/CSSMatchedStyles.ts +183 -48
- package/front_end/core/sdk/CSSPropertyParser.ts +7 -7
- package/front_end/core/sdk/CSSPropertyParserMatchers.ts +175 -37
- package/front_end/core/sdk/CSSStyleSheetHeader.ts +5 -0
- package/front_end/core/sdk/DOMModel.ts +58 -0
- package/front_end/core/sdk/FrameAssociated.ts +4 -1
- package/front_end/core/sdk/Script.ts +5 -1
- package/front_end/core/sdk/SourceMap.ts +10 -2
- package/front_end/core/sdk/SourceMapCache.ts +54 -0
- package/front_end/core/sdk/SourceMapManager.ts +20 -7
- package/front_end/core/sdk/sdk.ts +2 -0
- package/front_end/devtools_compatibility.js +0 -1
- package/front_end/entrypoints/main/GlobalAiButton.ts +71 -1
- package/front_end/entrypoints/main/MainImpl.ts +6 -27
- package/front_end/entrypoints/main/globalAiButton.css +1 -1
- package/front_end/entrypoints/main/main-meta.ts +15 -0
- package/front_end/generated/InspectorBackendCommands.js +3 -2
- package/front_end/generated/SupportedCSSProperties.js +23 -7
- package/front_end/generated/protocol-mapping.d.ts +8 -1
- package/front_end/generated/protocol-proxy-api.d.ts +6 -1
- package/front_end/generated/protocol.ts +17 -4
- package/front_end/models/ai_assistance/ConversationHandler.ts +34 -54
- package/front_end/models/ai_assistance/ExtensionScope.ts +3 -12
- package/front_end/models/ai_assistance/README.md +1 -1
- package/front_end/models/ai_assistance/agents/AiAgent.ts +1 -3
- package/front_end/models/ai_assistance/agents/FileAgent.ts +0 -6
- package/front_end/models/ai_assistance/agents/NetworkAgent.ts +16 -15
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +32 -16
- package/front_end/models/ai_assistance/agents/StylingAgent.ts +199 -23
- package/front_end/models/ai_assistance/ai_assistance.ts +2 -0
- package/front_end/models/ai_assistance/data_formatters/FileFormatter.ts +4 -1
- package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.ts +8 -5
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +248 -83
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +303 -94
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +442 -93
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +35 -17
- package/front_end/models/ai_assistance/data_formatters/Types.ts +9 -0
- package/front_end/models/ai_code_completion/AiCodeCompletion.ts +114 -2
- package/front_end/models/autofill_manager/AutofillManager.ts +0 -11
- package/front_end/models/bindings/DebuggerLanguagePlugins.ts +64 -6
- package/front_end/models/bindings/ResourceScriptMapping.ts +6 -0
- package/front_end/models/emulation/DeviceModeModel.ts +13 -14
- package/front_end/models/extensions/ExtensionPanel.ts +6 -6
- package/front_end/models/extensions/ExtensionServer.ts +2 -0
- package/front_end/models/extensions/ExtensionView.ts +4 -0
- package/front_end/{ui/legacy/Geometry.ts → models/geometry/GeometryImpl.ts} +4 -4
- package/front_end/models/geometry/geometry.ts +5 -0
- package/front_end/models/javascript_metadata/NativeFunctions.js +4 -4
- package/front_end/models/network_time_calculator/Calculator.ts +14 -0
- package/front_end/{panels/network → models/network_time_calculator}/NetworkTimeCalculator.ts +4 -4
- package/front_end/models/network_time_calculator/network_time_calculator.ts +6 -0
- package/front_end/models/persistence/EditFileSystemView.ts +4 -0
- package/front_end/models/persistence/NetworkPersistenceManager.ts +2 -0
- package/front_end/models/persistence/PersistenceActions.ts +2 -0
- package/front_end/models/persistence/PersistenceUtils.ts +2 -0
- package/front_end/models/persistence/WorkspaceSettingsTab.ts +6 -0
- package/front_end/models/persistence/persistence-meta.ts +2 -0
- package/front_end/models/stack_trace/StackTrace.ts +18 -0
- package/front_end/models/stack_trace/StackTraceImpl.ts +4 -1
- package/front_end/models/stack_trace/StackTraceModel.ts +4 -3
- package/front_end/models/trace/ModelImpl.ts +2 -1
- package/front_end/models/trace/Processor.ts +3 -30
- package/front_end/models/trace/handlers/AnimationFramesHandler.ts +10 -11
- package/front_end/models/trace/handlers/AnimationHandler.ts +4 -4
- package/front_end/models/trace/handlers/AsyncJSCallsHandler.ts +8 -9
- package/front_end/models/trace/handlers/AuctionWorkletsHandler.ts +10 -10
- package/front_end/models/trace/handlers/DOMStatsHandler.ts +2 -2
- package/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts +59 -51
- package/front_end/models/trace/handlers/FlowsHandler.ts +10 -10
- package/front_end/models/trace/handlers/FramesHandler.ts +2 -2
- package/front_end/models/trace/handlers/GPUHandler.ts +2 -2
- package/front_end/models/trace/handlers/ImagePaintingHandler.ts +12 -12
- package/front_end/models/trace/handlers/InitiatorsHandler.ts +18 -20
- package/front_end/models/trace/handlers/InvalidationsHandler.ts +6 -6
- package/front_end/models/trace/handlers/LargestImagePaintHandler.ts +4 -3
- package/front_end/models/trace/handlers/LargestTextPaintHandler.ts +2 -2
- package/front_end/models/trace/handlers/LayerTreeHandler.ts +10 -10
- package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +28 -28
- package/front_end/models/trace/handlers/MemoryHandler.ts +2 -2
- package/front_end/models/trace/handlers/MetaHandler.ts +18 -18
- package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +25 -23
- package/front_end/models/trace/handlers/PageFramesHandler.ts +2 -2
- package/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +5 -5
- package/front_end/models/trace/handlers/RendererHandler.ts +18 -18
- package/front_end/models/trace/handlers/SamplesHandler.ts +6 -9
- package/front_end/models/trace/handlers/ScreenshotsHandler.ts +8 -8
- package/front_end/models/trace/handlers/ScriptsHandler.ts +2 -2
- package/front_end/models/trace/handlers/SelectorStatsHandler.ts +4 -4
- package/front_end/models/trace/handlers/UserInteractionsHandler.ts +14 -14
- package/front_end/models/trace/handlers/UserTimingsHandler.ts +10 -10
- package/front_end/models/trace/handlers/WarningsHandler.ts +12 -12
- package/front_end/models/trace/handlers/WorkersHandler.ts +6 -6
- package/front_end/models/trace/helpers/Extensions.ts +10 -10
- package/front_end/models/trace/helpers/Trace.ts +3 -3
- package/front_end/models/trace/insights/ForcedReflow.ts +4 -0
- package/front_end/models/trace/insights/NetworkDependencyTree.ts +4 -0
- package/front_end/models/trace/insights/ThirdParties.ts +4 -0
- package/front_end/models/trace/types/Extensions.ts +27 -17
- package/front_end/models/trace/types/Overlays.ts +1 -3
- package/front_end/models/trace/types/TraceEvents.ts +2 -5
- package/front_end/models/workspace/FileManager.ts +1 -0
- package/front_end/panels/accessibility/ARIAAttributesView.ts +2 -60
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +22 -4
- package/front_end/panels/ai_assistance/PatchWidget.ts +1 -1
- package/front_end/panels/ai_assistance/SelectWorkspaceDialog.ts +2 -1
- package/front_end/panels/ai_assistance/ai_assistance-meta.ts +9 -9
- package/front_end/panels/ai_assistance/components/ChatView.ts +44 -2
- package/front_end/panels/animation/AnimationUI.ts +2 -1
- package/front_end/panels/application/KeyValueStorageItemsView.ts +2 -1
- package/front_end/panels/application/components/BackForwardCacheStrings.ts +9 -9
- package/front_end/panels/autofill/AutofillView.ts +15 -10
- package/front_end/panels/browser_debugger/CSPViolationBreakpointsSidebarPane.ts +5 -6
- package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +174 -272
- package/front_end/panels/browser_debugger/EventListenerBreakpointsSidebarPane.ts +9 -6
- package/front_end/panels/browser_debugger/categorizedBreakpointsSidebarPane.css +1 -1
- package/front_end/panels/common/BadgeNotification.ts +121 -0
- package/front_end/panels/common/FreDialog.ts +4 -3
- package/front_end/panels/common/badgeNotification.css +74 -0
- package/front_end/panels/common/common.ts +3 -1
- package/front_end/panels/console/ConsolePrompt.ts +2 -3
- package/front_end/panels/console/ConsoleView.ts +8 -8
- package/front_end/panels/console/ConsoleViewMessage.ts +14 -13
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +2 -1
- package/front_end/panels/elements/CSSRuleValidator.ts +0 -57
- package/front_end/panels/elements/ElementsTreeElement.ts +12 -4
- package/front_end/panels/elements/ElementsTreeOutlineRenderer.ts +8 -5
- package/front_end/panels/elements/PropertyRenderer.ts +1 -1
- package/front_end/panels/elements/StylePropertyTreeElement.ts +110 -9
- package/front_end/panels/emulation/DeviceModeView.ts +6 -5
- package/front_end/panels/layer_viewer/Layers3DView.ts +9 -9
- package/front_end/panels/layers/LayerTreeModel.ts +5 -5
- package/front_end/panels/lighthouse/LighthouseStatusView.ts +2 -1
- package/front_end/panels/lighthouse/LighthouseTimespanView.ts +2 -1
- package/front_end/panels/media/MainView.ts +48 -18
- package/front_end/panels/media/MediaModel.ts +4 -4
- package/front_end/panels/media/PlayerListView.ts +7 -0
- package/front_end/panels/mobile_throttling/ThrottlingManager.ts +2 -2
- package/front_end/panels/network/NetworkDataGridNode.ts +4 -5
- package/front_end/panels/network/NetworkItemView.ts +2 -2
- package/front_end/panels/network/NetworkLogView.ts +10 -15
- package/front_end/panels/network/NetworkLogViewColumns.ts +6 -8
- package/front_end/panels/network/NetworkOverview.ts +6 -4
- package/front_end/panels/network/NetworkPanel.ts +5 -5
- package/front_end/panels/network/NetworkWaterfallColumn.ts +5 -5
- package/front_end/panels/network/RequestTimingView.ts +7 -6
- package/front_end/panels/network/network.ts +1 -3
- package/front_end/panels/profiler/HeapTimelineOverview.ts +2 -1
- package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +2 -1
- package/front_end/panels/sensors/SensorsView.ts +10 -9
- package/front_end/panels/settings/AISettingsTab.ts +2 -2
- package/front_end/panels/settings/SettingsScreen.ts +19 -9
- package/front_end/panels/settings/components/SyncSection.ts +136 -3
- package/front_end/panels/settings/components/syncSection.css +54 -0
- package/front_end/panels/sources/AiCodeCompletionPlugin.ts +26 -9
- package/front_end/panels/sources/CSSPlugin.ts +5 -4
- package/front_end/panels/timeline/CountersGraph.ts +1 -1
- package/front_end/panels/timeline/ExtensionTrackAppender.ts +2 -2
- package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +3 -3
- package/front_end/panels/timeline/TimelineDetailsView.ts +41 -26
- package/front_end/panels/timeline/TimelinePaintProfilerView.ts +2 -1
- package/front_end/panels/timeline/TimelinePanel.ts +58 -59
- package/front_end/panels/timeline/TimelineUIUtils.ts +89 -20
- package/front_end/panels/timeline/TimingsTrackAppender.ts +10 -7
- package/front_end/panels/timeline/components/insights/CLSCulprits.ts +1 -11
- package/front_end/panels/timeline/components/insights/ForcedReflow.ts +4 -0
- package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +2 -3
- package/front_end/panels/timeline/components/insights/NetworkDependencyTree.ts +4 -0
- package/front_end/panels/timeline/components/insights/ThirdParties.ts +4 -0
- package/front_end/panels/timeline/extensions/ExtensionUI.ts +1 -1
- package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +1 -1
- package/front_end/panels/timeline/overlays/components/TimespanBreakdownOverlay.ts +3 -12
- package/front_end/panels/timeline/utils/AIContext.ts +14 -1
- package/front_end/panels/whats_new/ReleaseNoteText.ts +11 -11
- package/front_end/panels/whats_new/resources/WNDT.md +6 -6
- package/front_end/services/tracing/tracing.ts +0 -2
- package/front_end/tsconfig.json +1 -0
- package/front_end/ui/components/buttons/button.css +4 -0
- package/front_end/ui/components/highlighting/HighlightManager.ts +19 -9
- package/front_end/ui/legacy/ARIAUtils.ts +1 -1
- package/front_end/ui/legacy/DockController.ts +1 -1
- package/front_end/ui/legacy/GlassPane.ts +2 -1
- package/front_end/ui/legacy/InspectorView.ts +41 -14
- package/front_end/ui/legacy/ResizerWidget.ts +45 -50
- package/front_end/ui/legacy/SoftDropDown.ts +2 -2
- package/front_end/ui/legacy/SplitWidget.ts +341 -357
- package/front_end/ui/legacy/SuggestBox.ts +2 -2
- package/front_end/ui/legacy/TabbedPane.ts +5 -5
- package/front_end/ui/legacy/Treeoutline.ts +227 -32
- package/front_end/ui/legacy/UIUtils.ts +72 -17
- package/front_end/ui/legacy/Widget.ts +15 -14
- package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +6 -14
- package/front_end/ui/legacy/components/inline_editor/AnimationTimingModel.ts +3 -3
- package/front_end/ui/legacy/components/inline_editor/AnimationTimingUI.ts +15 -14
- package/front_end/ui/legacy/components/inline_editor/BezierUI.ts +6 -5
- package/front_end/ui/legacy/components/inline_editor/CSSAngleUtils.ts +7 -6
- package/front_end/ui/legacy/components/inline_editor/CSSShadowEditor.ts +13 -12
- package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +2 -1
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +10 -11
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +3 -2
- package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +7 -5
- package/front_end/ui/legacy/components/perf_ui/TimelineGrid.ts +3 -13
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewCalculator.ts +2 -3
- package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +2 -1
- package/front_end/ui/legacy/components/source_frame/XMLView.ts +268 -295
- package/front_end/ui/legacy/components/source_frame/xmlTree.css +10 -8
- package/front_end/ui/legacy/components/source_frame/xmlView.css +3 -1
- package/front_end/ui/legacy/inspectorCommon.css +3 -2
- package/front_end/ui/legacy/legacy.ts +0 -2
- package/front_end/ui/visual_logging/KnownContextValues.ts +8 -4
- package/package.json +2 -2
- package/.gemini/commands/migrate-e2e-non-hosted.toml +0 -43
- package/.gemini/commands/review.toml +0 -85
- package/.github/workflows/auto-close-prs.yml +0 -30
- package/.vscode/devtools-workspace-launch.json +0 -43
- package/.vscode/devtools-workspace-settings.json +0 -12
- package/.vscode/devtools-workspace-tasks.json +0 -66
- package/.vscode/extensions.json +0 -3
- package/codereview.settings +0 -4
- package/config/gni/devtools_grd_files.gni +0 -2646
- package/config/gni/devtools_image_files.gni +0 -309
- package/config/gni/i18n.gni +0 -115
- package/extensions/cxx_debugging/CMakeLists.txt +0 -162
- package/extensions/cxx_debugging/README.md +0 -81
- package/extensions/cxx_debugging/e2e/MochaRootHooks.ts +0 -110
- package/extensions/cxx_debugging/e2e/OptionsPageTests.ts +0 -36
- package/extensions/cxx_debugging/e2e/StandaloneTestDriver.ts +0 -20
- package/extensions/cxx_debugging/e2e/TestDriver.ts +0 -311
- package/extensions/cxx_debugging/e2e/cxx-debugging-extension-helpers.ts +0 -62
- package/extensions/cxx_debugging/e2e/resources/huge-source-file.cc +0 -29
- package/extensions/cxx_debugging/e2e/resources/pointers.cc +0 -40
- package/extensions/cxx_debugging/e2e/resources/scope-view-non-primitives.c +0 -30
- package/extensions/cxx_debugging/e2e/resources/scope-view-non-primitives.cpp +0 -49
- package/extensions/cxx_debugging/e2e/resources/scope-view-primitives.c +0 -19
- package/extensions/cxx_debugging/e2e/resources/stepping-with-state.c +0 -31
- package/extensions/cxx_debugging/e2e/resources/test_wasm_simd.c +0 -13
- package/extensions/cxx_debugging/e2e/resources/vector.cc +0 -14
- package/extensions/cxx_debugging/e2e/resources/wchar.cc +0 -22
- package/extensions/cxx_debugging/e2e/runner.py +0 -542
- package/extensions/cxx_debugging/e2e/runner.py.vpython +0 -5
- package/extensions/cxx_debugging/e2e/runner.py.vpython3 +0 -5
- package/extensions/cxx_debugging/e2e/standalone/MemoryInspector_test.ts +0 -59
- package/extensions/cxx_debugging/e2e/tests/cpp_eval.yaml +0 -37
- package/extensions/cxx_debugging/e2e/tests/pointer.yaml +0 -42
- package/extensions/cxx_debugging/e2e/tests/scope_view_non_primitives.yaml +0 -35
- package/extensions/cxx_debugging/e2e/tests/scope_view_non_primitives_cpp.yaml +0 -44
- package/extensions/cxx_debugging/e2e/tests/scope_view_primitives.yaml +0 -31
- package/extensions/cxx_debugging/e2e/tests/stepping_with_state.yaml +0 -64
- package/extensions/cxx_debugging/e2e/tests/string_view.yaml +0 -32
- package/extensions/cxx_debugging/e2e/tests/test_big_dwo.yaml +0 -21
- package/extensions/cxx_debugging/e2e/tests/test_linear_memory_inspector.yaml +0 -11
- package/extensions/cxx_debugging/e2e/tests/test_loop.yaml +0 -34
- package/extensions/cxx_debugging/e2e/tests/test_wasm_simd.yaml +0 -42
- package/extensions/cxx_debugging/e2e/tests/vector.yaml +0 -26
- package/extensions/cxx_debugging/e2e/tests/wchar.yaml +0 -52
- package/extensions/cxx_debugging/e2e/tsconfig.json +0 -24
- package/extensions/cxx_debugging/lib/ApiContext.cc +0 -627
- package/extensions/cxx_debugging/lib/ApiContext.h +0 -119
- package/extensions/cxx_debugging/lib/CMakeLists.txt +0 -53
- package/extensions/cxx_debugging/lib/Expressions.cc +0 -303
- package/extensions/cxx_debugging/lib/Expressions.h +0 -53
- package/extensions/cxx_debugging/lib/Variables.cc +0 -101
- package/extensions/cxx_debugging/lib/Variables.h +0 -65
- package/extensions/cxx_debugging/lib/WasmModule.cc +0 -573
- package/extensions/cxx_debugging/lib/WasmModule.h +0 -126
- package/extensions/cxx_debugging/lib/WasmVendorPlugins.cc +0 -172
- package/extensions/cxx_debugging/lib/WasmVendorPlugins.h +0 -329
- package/extensions/cxx_debugging/lib/api.h +0 -593
- package/extensions/cxx_debugging/lib/api.h.in +0 -86
- package/extensions/cxx_debugging/src/CMakeLists.txt +0 -158
- package/extensions/cxx_debugging/src/CreditsItem.ts +0 -126
- package/extensions/cxx_debugging/src/CustomFormatters.ts +0 -689
- package/extensions/cxx_debugging/src/DWARFSymbols.ts +0 -613
- package/extensions/cxx_debugging/src/DevToolsPlugin.html +0 -7
- package/extensions/cxx_debugging/src/DevToolsPluginForTests.html +0 -6
- package/extensions/cxx_debugging/src/DevToolsPluginHost.ts +0 -145
- package/extensions/cxx_debugging/src/DevToolsPluginWorker.ts +0 -120
- package/extensions/cxx_debugging/src/DevToolsPluginWorkerMain.ts +0 -9
- package/extensions/cxx_debugging/src/ExtensionOptions.html +0 -24
- package/extensions/cxx_debugging/src/ExtensionOptions.ts +0 -705
- package/extensions/cxx_debugging/src/Formatters.ts +0 -282
- package/extensions/cxx_debugging/src/GlobMatch.ts +0 -51
- package/extensions/cxx_debugging/src/MEMFSResourceLoader.ts +0 -102
- package/extensions/cxx_debugging/src/ModuleConfiguration.ts +0 -117
- package/extensions/cxx_debugging/src/ModuleConfigurationList.ts +0 -239
- package/extensions/cxx_debugging/src/SymbolsBackend.cc +0 -262
- package/extensions/cxx_debugging/src/SymbolsBackend.cc.in +0 -139
- package/extensions/cxx_debugging/src/SymbolsBackend.d.ts +0 -179
- package/extensions/cxx_debugging/src/SymbolsBackend.d.ts.in +0 -108
- package/extensions/cxx_debugging/src/TestDriver.js +0 -21
- package/extensions/cxx_debugging/src/WasmTypes.ts +0 -119
- package/extensions/cxx_debugging/src/WorkerRPC.ts +0 -158
- package/extensions/cxx_debugging/src/index.html +0 -69
- package/extensions/cxx_debugging/src/manifest.json.in +0 -22
- package/extensions/cxx_debugging/src/rollup.config.in.js +0 -33
- package/extensions/cxx_debugging/tests/CMakeLists.txt +0 -146
- package/extensions/cxx_debugging/tests/CreditsItem_test.ts +0 -50
- package/extensions/cxx_debugging/tests/CustomFormatters_test.ts +0 -307
- package/extensions/cxx_debugging/tests/DevToolsPluginTestWorker.ts +0 -43
- package/extensions/cxx_debugging/tests/DevToolsPlugin_test.ts +0 -345
- package/extensions/cxx_debugging/tests/Externref_test.ts +0 -63
- package/extensions/cxx_debugging/tests/Formatters_test.ts +0 -284
- package/extensions/cxx_debugging/tests/GlobMatch_test.ts +0 -58
- package/extensions/cxx_debugging/tests/Interpreter_test.ts +0 -219
- package/extensions/cxx_debugging/tests/LLDBEvalExtensions.h +0 -154
- package/extensions/cxx_debugging/tests/LLDBEvalTests.d.ts +0 -24
- package/extensions/cxx_debugging/tests/ModuleConfiguration_test.ts +0 -136
- package/extensions/cxx_debugging/tests/RealBackend.ts +0 -482
- package/extensions/cxx_debugging/tests/SymbolsBackendTests.d.ts +0 -12
- package/extensions/cxx_debugging/tests/SymbolsBackend_test.ts +0 -39
- package/extensions/cxx_debugging/tests/TestUtils.ts +0 -250
- package/extensions/cxx_debugging/tests/WasmModule_test.cc +0 -332
- package/extensions/cxx_debugging/tests/build-artifacts.js.in +0 -10
- package/extensions/cxx_debugging/tests/inputs/CMakeLists.txt +0 -141
- package/extensions/cxx_debugging/tests/inputs/addr_index.s +0 -97
- package/extensions/cxx_debugging/tests/inputs/addresses.cc +0 -25
- package/extensions/cxx_debugging/tests/inputs/classstatic.s +0 -119
- package/extensions/cxx_debugging/tests/inputs/dw_opcodes.def +0 -66
- package/extensions/cxx_debugging/tests/inputs/embedded.s +0 -124
- package/extensions/cxx_debugging/tests/inputs/enums.s +0 -376
- package/extensions/cxx_debugging/tests/inputs/externref.js +0 -22
- package/extensions/cxx_debugging/tests/inputs/externref.s +0 -207
- package/extensions/cxx_debugging/tests/inputs/globals.s +0 -443
- package/extensions/cxx_debugging/tests/inputs/hello-split-missing-dwo.s +0 -92
- package/extensions/cxx_debugging/tests/inputs/hello-split.s +0 -134
- package/extensions/cxx_debugging/tests/inputs/hello.s +0 -70
- package/extensions/cxx_debugging/tests/inputs/helper.s +0 -130
- package/extensions/cxx_debugging/tests/inputs/inline.s +0 -196
- package/extensions/cxx_debugging/tests/inputs/namespaces.s +0 -207
- package/extensions/cxx_debugging/tests/inputs/page.html +0 -6
- package/extensions/cxx_debugging/tests/inputs/page.js +0 -35
- package/extensions/cxx_debugging/tests/inputs/shadowing.s +0 -121
- package/extensions/cxx_debugging/tests/inputs/split-dwarf.s +0 -126
- package/extensions/cxx_debugging/tests/inputs/string_view.cc +0 -40
- package/extensions/cxx_debugging/tests/inputs/windows_paths.s +0 -70
- package/extensions/cxx_debugging/tests/karma.conf.in.js +0 -133
- package/extensions/cxx_debugging/tests/karma_preload.html +0 -12
- package/extensions/cxx_debugging/third_party/.clang-format +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/CHANGELOG.md +0 -247
- package/extensions/cxx_debugging/third_party/lit-html/LICENSE +0 -28
- package/extensions/cxx_debugging/third_party/lit-html/README.chromium +0 -13
- package/extensions/cxx_debugging/third_party/lit-html/README.md +0 -47
- package/extensions/cxx_debugging/third_party/lit-html/directives/async-append.d.ts +0 -33
- package/extensions/cxx_debugging/third_party/lit-html/directives/async-append.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/async-append.js +0 -108
- package/extensions/cxx_debugging/third_party/lit-html/directives/async-append.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/async-replace.d.ts +0 -34
- package/extensions/cxx_debugging/third_party/lit-html/directives/async-replace.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/async-replace.js +0 -91
- package/extensions/cxx_debugging/third_party/lit-html/directives/async-replace.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/cache.d.ts +0 -30
- package/extensions/cxx_debugging/third_party/lit-html/directives/cache.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/cache.js +0 -77
- package/extensions/cxx_debugging/third_party/lit-html/directives/cache.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/class-map.d.ts +0 -28
- package/extensions/cxx_debugging/third_party/lit-html/directives/class-map.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/class-map.js +0 -101
- package/extensions/cxx_debugging/third_party/lit-html/directives/class-map.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/guard.d.ts +0 -49
- package/extensions/cxx_debugging/third_party/lit-html/directives/guard.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/guard.js +0 -69
- package/extensions/cxx_debugging/third_party/lit-html/directives/guard.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/if-defined.d.ts +0 -22
- package/extensions/cxx_debugging/third_party/lit-html/directives/if-defined.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/if-defined.js +0 -37
- package/extensions/cxx_debugging/third_party/lit-html/directives/if-defined.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/live.d.ts +0 -38
- package/extensions/cxx_debugging/third_party/lit-html/directives/live.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/live.js +0 -73
- package/extensions/cxx_debugging/third_party/lit-html/directives/live.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/repeat.d.ts +0 -37
- package/extensions/cxx_debugging/third_party/lit-html/directives/repeat.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/repeat.js +0 -415
- package/extensions/cxx_debugging/third_party/lit-html/directives/repeat.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/style-map.d.ts +0 -36
- package/extensions/cxx_debugging/third_party/lit-html/directives/style-map.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/style-map.js +0 -78
- package/extensions/cxx_debugging/third_party/lit-html/directives/style-map.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/template-content.d.ts +0 -23
- package/extensions/cxx_debugging/third_party/lit-html/directives/template-content.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/template-content.js +0 -41
- package/extensions/cxx_debugging/third_party/lit-html/directives/template-content.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/unsafe-html.d.ts +0 -23
- package/extensions/cxx_debugging/third_party/lit-html/directives/unsafe-html.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/unsafe-html.js +0 -44
- package/extensions/cxx_debugging/third_party/lit-html/directives/unsafe-html.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/unsafe-svg.d.ts +0 -23
- package/extensions/cxx_debugging/third_party/lit-html/directives/unsafe-svg.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/unsafe-svg.js +0 -61
- package/extensions/cxx_debugging/third_party/lit-html/directives/unsafe-svg.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/until.d.ts +0 -35
- package/extensions/cxx_debugging/third_party/lit-html/directives/until.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/directives/until.js +0 -86
- package/extensions/cxx_debugging/third_party/lit-html/directives/until.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/default-template-processor.d.ts +0 -39
- package/extensions/cxx_debugging/third_party/lit-html/lib/default-template-processor.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/default-template-processor.js +0 -52
- package/extensions/cxx_debugging/third_party/lit-html/lib/default-template-processor.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/directive.d.ts +0 -59
- package/extensions/cxx_debugging/third_party/lit-html/lib/directive.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/directive.js +0 -63
- package/extensions/cxx_debugging/third_party/lit-html/lib/directive.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/dom.d.ts +0 -29
- package/extensions/cxx_debugging/third_party/lit-html/lib/dom.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/dom.js +0 -44
- package/extensions/cxx_debugging/third_party/lit-html/lib/dom.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/modify-template.d.ts +0 -38
- package/extensions/cxx_debugging/third_party/lit-html/lib/modify-template.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/modify-template.js +0 -125
- package/extensions/cxx_debugging/third_party/lit-html/lib/modify-template.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/part.d.ts +0 -46
- package/extensions/cxx_debugging/third_party/lit-html/lib/part.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/part.js +0 -23
- package/extensions/cxx_debugging/third_party/lit-html/lib/part.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/parts.d.ts +0 -148
- package/extensions/cxx_debugging/third_party/lit-html/lib/parts.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/parts.js +0 -476
- package/extensions/cxx_debugging/third_party/lit-html/lib/parts.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/render-options.d.ts +0 -19
- package/extensions/cxx_debugging/third_party/lit-html/lib/render-options.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/render-options.js +0 -14
- package/extensions/cxx_debugging/third_party/lit-html/lib/render-options.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/render.d.ts +0 -33
- package/extensions/cxx_debugging/third_party/lit-html/lib/render.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/render.js +0 -43
- package/extensions/cxx_debugging/third_party/lit-html/lib/render.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/shady-render.d.ts +0 -83
- package/extensions/cxx_debugging/third_party/lit-html/lib/shady-render.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/shady-render.js +0 -286
- package/extensions/cxx_debugging/third_party/lit-html/lib/shady-render.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/template-factory.d.ts +0 -57
- package/extensions/cxx_debugging/third_party/lit-html/lib/template-factory.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/template-factory.js +0 -48
- package/extensions/cxx_debugging/third_party/lit-html/lib/template-factory.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/template-instance.d.ts +0 -30
- package/extensions/cxx_debugging/third_party/lit-html/lib/template-instance.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/template-instance.js +0 -134
- package/extensions/cxx_debugging/third_party/lit-html/lib/template-instance.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/template-processor.d.ts +0 -46
- package/extensions/cxx_debugging/third_party/lit-html/lib/template-processor.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/template-processor.js +0 -14
- package/extensions/cxx_debugging/third_party/lit-html/lib/template-processor.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/template-result.d.ts +0 -42
- package/extensions/cxx_debugging/third_party/lit-html/lib/template-result.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/template-result.js +0 -131
- package/extensions/cxx_debugging/third_party/lit-html/lib/template-result.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/template.d.ts +0 -92
- package/extensions/cxx_debugging/third_party/lit-html/lib/template.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lib/template.js +0 -215
- package/extensions/cxx_debugging/third_party/lit-html/lib/template.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lit-html.d.ts +0 -42
- package/extensions/cxx_debugging/third_party/lit-html/lit-html.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/lit-html.js +0 -59
- package/extensions/cxx_debugging/third_party/lit-html/lit-html.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/package.json +0 -84
- package/extensions/cxx_debugging/third_party/lit-html/polyfills/template_polyfill.d.ts +0 -24
- package/extensions/cxx_debugging/third_party/lit-html/polyfills/template_polyfill.d.ts.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/polyfills/template_polyfill.js +0 -60
- package/extensions/cxx_debugging/third_party/lit-html/polyfills/template_polyfill.js.map +0 -1
- package/extensions/cxx_debugging/third_party/lit-html/src/directives/async-append.ts +0 -100
- package/extensions/cxx_debugging/third_party/lit-html/src/directives/async-replace.ts +0 -82
- package/extensions/cxx_debugging/third_party/lit-html/src/directives/cache.ts +0 -90
- package/extensions/cxx_debugging/third_party/lit-html/src/directives/class-map.ts +0 -118
- package/extensions/cxx_debugging/third_party/lit-html/src/directives/guard.ts +0 -74
- package/extensions/cxx_debugging/third_party/lit-html/src/directives/if-defined.ts +0 -40
- package/extensions/cxx_debugging/third_party/lit-html/src/directives/live.ts +0 -76
- package/extensions/cxx_debugging/third_party/lit-html/src/directives/repeat.ts +0 -442
- package/extensions/cxx_debugging/third_party/lit-html/src/directives/style-map.ts +0 -88
- package/extensions/cxx_debugging/third_party/lit-html/src/directives/template-content.ts +0 -52
- package/extensions/cxx_debugging/third_party/lit-html/src/directives/unsafe-html.ts +0 -54
- package/extensions/cxx_debugging/third_party/lit-html/src/directives/unsafe-svg.ts +0 -71
- package/extensions/cxx_debugging/third_party/lit-html/src/directives/until.ts +0 -104
- package/extensions/cxx_debugging/third_party/lit-html/src/env.d.ts +0 -20
- package/extensions/cxx_debugging/third_party/lit-html/src/lib/default-template-processor.ts +0 -59
- package/extensions/cxx_debugging/third_party/lit-html/src/lib/directive.ts +0 -73
- package/extensions/cxx_debugging/third_party/lit-html/src/lib/dom.ts +0 -55
- package/extensions/cxx_debugging/third_party/lit-html/src/lib/modify-template.ts +0 -135
- package/extensions/cxx_debugging/third_party/lit-html/src/lib/part.ts +0 -50
- package/extensions/cxx_debugging/third_party/lit-html/src/lib/parts.ts +0 -545
- package/extensions/cxx_debugging/third_party/lit-html/src/lib/render-options.ts +0 -20
- package/extensions/cxx_debugging/third_party/lit-html/src/lib/render.ts +0 -52
- package/extensions/cxx_debugging/third_party/lit-html/src/lib/shady-render.ts +0 -316
- package/extensions/cxx_debugging/third_party/lit-html/src/lib/template-factory.ts +0 -92
- package/extensions/cxx_debugging/third_party/lit-html/src/lib/template-instance.ts +0 -155
- package/extensions/cxx_debugging/third_party/lit-html/src/lib/template-processor.ts +0 -51
- package/extensions/cxx_debugging/third_party/lit-html/src/lib/template-result.ts +0 -148
- package/extensions/cxx_debugging/third_party/lit-html/src/lib/template.ts +0 -255
- package/extensions/cxx_debugging/third_party/lit-html/src/lit-html.ts +0 -74
- package/extensions/cxx_debugging/third_party/lit-html/src/polyfills/template_polyfill.ts +0 -70
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/async-append.d.ts +0 -33
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/async-replace.d.ts +0 -34
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/cache.d.ts +0 -30
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/class-map.d.ts +0 -28
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/guard.d.ts +0 -49
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/if-defined.d.ts +0 -22
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/live.d.ts +0 -38
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/repeat.d.ts +0 -37
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/style-map.d.ts +0 -36
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/template-content.d.ts +0 -23
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/unsafe-html.d.ts +0 -23
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/unsafe-svg.d.ts +0 -23
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/until.d.ts +0 -35
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/default-template-processor.d.ts +0 -39
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/directive.d.ts +0 -59
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/dom.d.ts +0 -29
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/modify-template.d.ts +0 -38
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/part.d.ts +0 -46
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/parts.d.ts +0 -148
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/render-options.d.ts +0 -19
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/render.d.ts +0 -33
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/shady-render.d.ts +0 -83
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/template-factory.d.ts +0 -57
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/template-instance.d.ts +0 -30
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/template-processor.d.ts +0 -46
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/template-result.d.ts +0 -42
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/template.d.ts +0 -92
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lit-html.d.ts +0 -42
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/polyfills/template_polyfill.d.ts +0 -24
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/src/env.d.ts +0 -19
- package/extensions/cxx_debugging/third_party/lit-html/ts3.4/tsconfig.json +0 -24
- package/extensions/cxx_debugging/third_party/lldb-eval/README.chromium +0 -15
- package/extensions/cxx_debugging/third_party/llvm/README.chromium +0 -17
- package/extensions/cxx_debugging/tools/api.pdl +0 -224
- package/extensions/cxx_debugging/tools/bootstrap.py +0 -352
- package/extensions/cxx_debugging/tools/generate-api.py +0 -74
- package/extensions/cxx_debugging/tools/pdl_cxx.py +0 -171
- package/extensions/cxx_debugging/tools/whitespaces.txt +0 -1
- package/extensions/cxx_debugging/tsconfig.json +0 -16
- package/front_end/core/common/Base64.test.ts +0 -41
- package/front_end/core/common/CharacterIdMap.test.ts +0 -46
- package/front_end/core/common/Color.test.ts +0 -904
- package/front_end/core/common/ColorConverter.test.ts +0 -525
- package/front_end/core/common/ColorUtils.test.ts +0 -112
- package/front_end/core/common/Console.test.ts +0 -86
- package/front_end/core/common/Debouncer.test.ts +0 -26
- package/front_end/core/common/EventTarget.test.ts +0 -166
- package/front_end/core/common/Gzip.test.ts +0 -63
- package/front_end/core/common/Lazy.test.ts +0 -28
- package/front_end/core/common/MapWithDefault.test.ts +0 -61
- package/front_end/core/common/Mutex.test.ts +0 -98
- package/front_end/core/common/Object.test.ts +0 -87
- package/front_end/core/common/ParsedURL.test.ts +0 -751
- package/front_end/core/common/Progress.test.ts +0 -269
- package/front_end/core/common/ResolverBase.test.ts +0 -115
- package/front_end/core/common/ResourceType.test.ts +0 -557
- package/front_end/core/common/Revealer.test.ts +0 -122
- package/front_end/core/common/SegmentedRange.test.ts +0 -210
- package/front_end/core/common/SettingRegistration.test.ts +0 -138
- package/front_end/core/common/Settings.test.ts +0 -858
- package/front_end/core/common/SimpleHistoryManager.test.ts +0 -66
- package/front_end/core/common/StringOutputStream.test.ts +0 -29
- package/front_end/core/common/TextDictionary.test.ts +0 -85
- package/front_end/core/common/Throttler.test.ts +0 -227
- package/front_end/core/common/Trie.test.ts +0 -110
- package/front_end/core/dom_extension/DOMExtension.test.ts +0 -343
- package/front_end/core/host/AidaClient.test.ts +0 -731
- package/front_end/core/i18n/ByteUtilities.test.ts +0 -59
- package/front_end/core/i18n/DevToolsLocale.test.ts +0 -104
- package/front_end/core/i18n/NumberFormatter.test.ts +0 -92
- package/front_end/core/i18n/i18n.test.ts +0 -207
- package/front_end/core/i18n/time-utilities.test.ts +0 -164
- package/front_end/core/platform/ArrayUtilities.test.ts +0 -499
- package/front_end/core/platform/DOMUtilities.test.ts +0 -95
- package/front_end/core/platform/DateUtilities.test.ts +0 -31
- package/front_end/core/platform/DevToolsPath.test.ts +0 -84
- package/front_end/core/platform/KeyboardUtilities.test.ts +0 -57
- package/front_end/core/platform/MapUtilities.test.ts +0 -50
- package/front_end/core/platform/MimeType.test.ts +0 -192
- package/front_end/core/platform/NumberUtilities.test.ts +0 -127
- package/front_end/core/platform/StringUtilities.test.ts +0 -729
- package/front_end/core/platform/TypedArrayUtilities.test.ts +0 -61
- package/front_end/core/protocol_client/NodeURL.test.ts +0 -74
- package/front_end/core/root/Runtime.test.ts +0 -68
- package/front_end/core/sdk/AccessibilityModel.test.ts +0 -17
- package/front_end/core/sdk/AnimationModel.test.ts +0 -257
- package/front_end/core/sdk/AutofillModel.test.ts +0 -82
- package/front_end/core/sdk/CPUThrottlingManager.test.ts +0 -49
- package/front_end/core/sdk/CSSContainerQuery.test.ts +0 -67
- package/front_end/core/sdk/CSSMatchedStyles.test.ts +0 -772
- package/front_end/core/sdk/CSSModel.test.ts +0 -120
- package/front_end/core/sdk/CSSProperty.test.ts +0 -130
- package/front_end/core/sdk/CSSPropertyParser.test.ts +0 -525
- package/front_end/core/sdk/CSSPropertyParserMatchers.test.ts +0 -766
- package/front_end/core/sdk/CSSStyleDeclaration.test.ts +0 -261
- package/front_end/core/sdk/CSSStyleSheetHeader.test.ts +0 -137
- package/front_end/core/sdk/ChildTargetManager.test.ts +0 -259
- package/front_end/core/sdk/ConsoleModel.test.ts +0 -202
- package/front_end/core/sdk/Cookie.test.ts +0 -294
- package/front_end/core/sdk/CookieModel.test.ts +0 -258
- package/front_end/core/sdk/CookieParser.test.ts +0 -211
- package/front_end/core/sdk/DOMModel.test.ts +0 -171
- package/front_end/core/sdk/DebuggerModel.test.ts +0 -461
- package/front_end/core/sdk/EmulationModel.test.ts +0 -45
- package/front_end/core/sdk/EnhancedTracesParser.test.ts +0 -318
- package/front_end/core/sdk/FrameManager.test.ts +0 -305
- package/front_end/core/sdk/NetworkManager.test.ts +0 -2196
- package/front_end/core/sdk/NetworkRequest.test.ts +0 -550
- package/front_end/core/sdk/OverlayColorGenerator.test.ts +0 -21
- package/front_end/core/sdk/OverlayModel.test.ts +0 -179
- package/front_end/core/sdk/OverlayPersistentHighlighter.test.ts +0 -232
- package/front_end/core/sdk/PageResourceLoader.test.ts +0 -369
- package/front_end/core/sdk/PreloadingModel.test.ts +0 -877
- package/front_end/core/sdk/RehydratingConnection.test.ts +0 -190
- package/front_end/core/sdk/RemoteObject.test.ts +0 -493
- package/front_end/core/sdk/ResourceTreeModel.test.ts +0 -222
- package/front_end/core/sdk/RuntimeModel.test.ts +0 -84
- package/front_end/core/sdk/ScreenCaptureModel.test.ts +0 -216
- package/front_end/core/sdk/Script.test.ts +0 -155
- package/front_end/core/sdk/ServerSentEventsProtocol.test.ts +0 -220
- package/front_end/core/sdk/ServerTiming.test.ts +0 -377
- package/front_end/core/sdk/ServiceWorkerCacheModel.test.ts +0 -200
- package/front_end/core/sdk/ServiceWorkerManager.test.ts +0 -287
- package/front_end/core/sdk/SourceMap.test.ts +0 -1350
- package/front_end/core/sdk/SourceMapFunctionRanges.test.ts +0 -171
- package/front_end/core/sdk/SourceMapManager.test.ts +0 -334
- package/front_end/core/sdk/SourceMapScopeChainEntry.test.ts +0 -129
- package/front_end/core/sdk/SourceMapScopesInfo.test.ts +0 -747
- package/front_end/core/sdk/StorageBucketsModel.test.ts +0 -383
- package/front_end/core/sdk/StorageKeyManager.test.ts +0 -95
- package/front_end/core/sdk/Target.test.ts +0 -97
- package/front_end/core/sdk/TargetManager.test.ts +0 -279
- package/front_end/core/sdk/TraceObject.test.ts +0 -30
- package/front_end/entrypoints/formatter_worker/CSSFormatter.test.ts +0 -216
- package/front_end/entrypoints/formatter_worker/FormattedContentBuilder.test.ts +0 -177
- package/front_end/entrypoints/formatter_worker/FormatterWorker.test.ts +0 -19
- package/front_end/entrypoints/formatter_worker/HTMLFormatter.test.ts +0 -344
- package/front_end/entrypoints/formatter_worker/JSONFormatter.test.ts +0 -147
- package/front_end/entrypoints/formatter_worker/JavaScriptFormatter.test.ts +0 -789
- package/front_end/entrypoints/formatter_worker/ScopeParser.test.ts +0 -121
- package/front_end/entrypoints/formatter_worker/Substitute.test.ts +0 -179
- package/front_end/entrypoints/heap_snapshot_worker/heap_snapshot_worker.test.ts +0 -11
- package/front_end/entrypoints/inspector_main/InspectorMain.test.ts +0 -344
- package/front_end/entrypoints/inspector_main/OutermostTargetSelector.test.ts +0 -80
- package/front_end/entrypoints/main/ExecutionContextSelector.test.ts +0 -64
- package/front_end/entrypoints/main/GlobalAiButton.test.ts +0 -132
- package/front_end/entrypoints/main/MainImpl.test.ts +0 -87
- package/front_end/entrypoints/wasmparser_worker/wasmparser_worker.test.ts +0 -11
- package/front_end/integration_test_runner.html +0 -40
- package/front_end/legacy_test_runner/accessibility_test_runner/accessibility_test_runner.js +0 -83
- package/front_end/legacy_test_runner/application_test_runner/CacheStorageTestRunner.js +0 -297
- package/front_end/legacy_test_runner/application_test_runner/IndexedDBTestRunner.js +0 -478
- package/front_end/legacy_test_runner/application_test_runner/ResourceTreeTestRunner.js +0 -106
- package/front_end/legacy_test_runner/application_test_runner/ResourcesTestRunner.js +0 -173
- package/front_end/legacy_test_runner/application_test_runner/ServiceWorkersTestRunner.js +0 -133
- package/front_end/legacy_test_runner/application_test_runner/StorageTestRunner.js +0 -13
- package/front_end/legacy_test_runner/application_test_runner/application_test_runner.js +0 -19
- package/front_end/legacy_test_runner/axe_core_test_runner/axe_core_test_runner.js +0 -176
- package/front_end/legacy_test_runner/bindings_test_runner/AutomappingTestRunner.js +0 -137
- package/front_end/legacy_test_runner/bindings_test_runner/BindingsTestRunner.js +0 -251
- package/front_end/legacy_test_runner/bindings_test_runner/IsolatedFilesystemTestRunner.js +0 -289
- package/front_end/legacy_test_runner/bindings_test_runner/OverridesTestRunner.js +0 -30
- package/front_end/legacy_test_runner/bindings_test_runner/PersistenceTestRunner.js +0 -111
- package/front_end/legacy_test_runner/bindings_test_runner/bindings_test_runner.js +0 -17
- package/front_end/legacy_test_runner/console_test_runner/console_test_runner.js +0 -732
- package/front_end/legacy_test_runner/coverage_test_runner/coverage_test_runner.js +0 -156
- package/front_end/legacy_test_runner/data_grid_test_runner/data_grid_test_runner.js +0 -85
- package/front_end/legacy_test_runner/device_mode_test_runner/device_mode_test_runner.js +0 -47
- package/front_end/legacy_test_runner/elements_test_runner/EditDOMTestRunner.js +0 -79
- package/front_end/legacy_test_runner/elements_test_runner/ElementsPanelShadowSelectionOnRefreshTestRunner.js +0 -39
- package/front_end/legacy_test_runner/elements_test_runner/ElementsTestRunner.js +0 -1256
- package/front_end/legacy_test_runner/elements_test_runner/SetOuterHTMLTestRunner.js +0 -116
- package/front_end/legacy_test_runner/elements_test_runner/StylesUpdateLinksTestRunner.js +0 -136
- package/front_end/legacy_test_runner/elements_test_runner/elements_test_runner.js +0 -14
- package/front_end/legacy_test_runner/extensions_test_runner/ExtensionsNetworkTestRunner.js +0 -27
- package/front_end/legacy_test_runner/extensions_test_runner/ExtensionsTestRunner.js +0 -71
- package/front_end/legacy_test_runner/extensions_test_runner/extensions_test_runner.js +0 -11
- package/front_end/legacy_test_runner/heap_profiler_test_runner/heap_profiler_test_runner.js +0 -785
- package/front_end/legacy_test_runner/layers_test_runner/layers_test_runner.js +0 -161
- package/front_end/legacy_test_runner/legacy_test_runner.ts +0 -14
- package/front_end/legacy_test_runner/network_test_runner/network_test_runner.js +0 -295
- package/front_end/legacy_test_runner/performance_test_runner/TimelineDataTestRunner.js +0 -5263
- package/front_end/legacy_test_runner/performance_test_runner/TimelineTestRunner.js +0 -357
- package/front_end/legacy_test_runner/performance_test_runner/performance_test_runner.js +0 -11
- package/front_end/legacy_test_runner/sdk_test_runner/sdk_test_runner.js +0 -314
- package/front_end/legacy_test_runner/security_test_runner/security_test_runner.js +0 -36
- package/front_end/legacy_test_runner/sources_test_runner/AutocompleteTestRunner.js +0 -50
- package/front_end/legacy_test_runner/sources_test_runner/DebuggerTestRunner.js +0 -655
- package/front_end/legacy_test_runner/sources_test_runner/EditorTestRunner.js +0 -240
- package/front_end/legacy_test_runner/sources_test_runner/LiveEditTestRunner.js +0 -34
- package/front_end/legacy_test_runner/sources_test_runner/SearchTestRunner.js +0 -161
- package/front_end/legacy_test_runner/sources_test_runner/SourcesTestRunner.js +0 -111
- package/front_end/legacy_test_runner/sources_test_runner/sources_test_runner.js +0 -19
- package/front_end/legacy_test_runner/test_runner/TestRunner.js +0 -1480
- package/front_end/legacy_test_runner/test_runner/test_runner.js +0 -115
- package/front_end/models/ai_assistance/AgentProject.test.ts +0 -370
- package/front_end/models/ai_assistance/AiHistoryStorage.test.ts +0 -619
- package/front_end/models/ai_assistance/ChangeManager.test.ts +0 -330
- package/front_end/models/ai_assistance/ConversationHandler.test.ts +0 -355
- package/front_end/models/ai_assistance/EvaluateAction.test.ts +0 -173
- package/front_end/models/ai_assistance/ExtensionScope.test.ts +0 -447
- package/front_end/models/ai_assistance/agents/AiAgent.test.ts +0 -491
- package/front_end/models/ai_assistance/agents/FileAgent.test.ts +0 -217
- package/front_end/models/ai_assistance/agents/NetworkAgent.test.ts +0 -237
- package/front_end/models/ai_assistance/agents/PatchAgent.test.ts +0 -130
- package/front_end/models/ai_assistance/agents/PerformanceAgent.test.ts +0 -759
- package/front_end/models/ai_assistance/agents/PerformanceAnnotationsAgent.test.ts +0 -32
- package/front_end/models/ai_assistance/agents/StylingAgent.test.ts +0 -1065
- package/front_end/models/ai_assistance/data_formatters/FileFormatter.test.ts +0 -116
- package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.test.ts +0 -87
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.test.ts +0 -367
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.test.ts +0 -92
- package/front_end/models/ai_code_completion/AiCodeCompletion.test.ts +0 -328
- package/front_end/models/autofill_manager/AutofillManager.test.ts +0 -266
- package/front_end/models/bindings/CompilerScriptMapping.test.ts +0 -550
- package/front_end/models/bindings/ContentProviderBasedProject.test.ts +0 -118
- package/front_end/models/bindings/DebuggerLanguagePlugins.test.ts +0 -144
- package/front_end/models/bindings/DebuggerWorkspaceBinding.test.ts +0 -179
- package/front_end/models/bindings/DefaultScriptMapping.test.ts +0 -193
- package/front_end/models/bindings/FileUtils.test.ts +0 -69
- package/front_end/models/bindings/LiveLocation.test.ts +0 -47
- package/front_end/models/bindings/PresentationConsoleMessageHelper.test.ts +0 -276
- package/front_end/models/bindings/ResourceMapping.test.ts +0 -253
- package/front_end/models/bindings/ResourceScriptMapping.test.ts +0 -118
- package/front_end/models/bindings/ResourceUtils.test.ts +0 -105
- package/front_end/models/breakpoints/BreakpointManager.test.ts +0 -1919
- package/front_end/models/cpu_profile/CPUProfileDataModel.test.ts +0 -376
- package/front_end/models/crux-manager/CrUXManager.test.ts +0 -613
- package/front_end/models/emulation/DeviceModeModel.test.ts +0 -104
- package/front_end/models/emulation/EmulatedDevices.test.ts +0 -61
- package/front_end/models/extensions/ExtensionServer.test.ts +0 -1170
- package/front_end/models/extensions/HostUrlPattern.test.ts +0 -312
- package/front_end/models/extensions/LanguageExtensionEndpoint.test.ts +0 -65
- package/front_end/models/extensions/RecorderPluginManager.test.ts +0 -34
- package/front_end/models/formatter/ScriptFormatter.test.ts +0 -93
- package/front_end/models/har/Importer.test.ts +0 -353
- package/front_end/models/har/Log.test.ts +0 -208
- package/front_end/models/har/Writer.test.ts +0 -49
- package/front_end/models/heap_snapshot_model/heap_snapshot_model.test.ts +0 -11
- package/front_end/models/issues_manager/CheckFormsIssuesTrigger.test.ts +0 -22
- package/front_end/models/issues_manager/DeprecationIssue.test.ts +0 -81
- package/front_end/models/issues_manager/ElementAccessibilityIssue.test.ts +0 -87
- package/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.test.ts +0 -52
- package/front_end/models/issues_manager/GenericIssue.test.ts +0 -82
- package/front_end/models/issues_manager/Issue.test.ts +0 -56
- package/front_end/models/issues_manager/IssueResolver.test.ts +0 -91
- package/front_end/models/issues_manager/IssuesManager.test.ts +0 -360
- package/front_end/models/issues_manager/LowTextContrastIssue.test.ts +0 -58
- package/front_end/models/issues_manager/MarkdownIssueDescription.test.ts +0 -92
- package/front_end/models/issues_manager/PropertyRuleIssue.test.ts +0 -109
- package/front_end/models/issues_manager/RelatedIssue.test.ts +0 -64
- package/front_end/models/issues_manager/SRIMessageSignatureIssue.test.ts +0 -68
- package/front_end/models/issues_manager/SharedDictionaryIssue.test.ts +0 -68
- package/front_end/models/issues_manager/StylesheetLoadingIssue.test.ts +0 -138
- package/front_end/models/issues_manager/UnencodedDigestIssue.test.ts +0 -49
- package/front_end/models/javascript_metadata/JavaScriptMetadata.test.ts +0 -62
- package/front_end/models/logs/NetworkLog.test.ts +0 -376
- package/front_end/models/logs/RequestResolver.test.ts +0 -92
- package/front_end/models/persistence/AutomaticFileSystemManager.test.ts +0 -208
- package/front_end/models/persistence/AutomaticFileSystemWorkspaceBinding.test.ts +0 -227
- package/front_end/models/persistence/EditFileSystemView.test.ts +0 -181
- package/front_end/models/persistence/NetworkPersistenceManager.test.ts +0 -989
- package/front_end/models/persistence/PersistenceAction.test.ts +0 -93
- package/front_end/models/persistence/PersistenceImpl.test.ts +0 -229
- package/front_end/models/persistence/PlatformFileSystem.test.ts +0 -19
- package/front_end/models/persistence/WorkspaceSettingsTab.test.ts +0 -146
- package/front_end/models/project_settings/ProjectSettingsModel.test.ts +0 -260
- package/front_end/models/source_map_scopes/NamesResolver.test.ts +0 -624
- package/front_end/models/source_map_scopes/ScopeChainModel.test.ts +0 -87
- package/front_end/models/source_map_scopes/ScopeTreeCache.test.ts +0 -63
- package/front_end/models/stack_trace/StackTraceImpl.test.ts +0 -74
- package/front_end/models/stack_trace/StackTraceModel.test.ts +0 -296
- package/front_end/models/stack_trace/Trie.test.ts +0 -129
- package/front_end/models/text_utils/ContentData.test.ts +0 -162
- package/front_end/models/text_utils/StaticContentProvider.test.ts +0 -34
- package/front_end/models/text_utils/StreamingContentData.test.ts +0 -81
- package/front_end/models/text_utils/Text.test.ts +0 -103
- package/front_end/models/text_utils/TextCursor.test.ts +0 -48
- package/front_end/models/text_utils/TextRange.test.ts +0 -461
- package/front_end/models/text_utils/TextUtils.test.ts +0 -730
- package/front_end/models/text_utils/WasmDisassembly.test.ts +0 -56
- package/front_end/models/trace/ModelImpl.test.ts +0 -161
- package/front_end/models/trace/Processor.test.ts +0 -429
- package/front_end/models/trace/extras/FilmStrip.test.ts +0 -90
- package/front_end/models/trace/extras/MainThreadActivity.test.ts +0 -82
- package/front_end/models/trace/extras/ScriptDuplication.test.ts +0 -407
- package/front_end/models/trace/extras/StackTraceForEvent.test.ts +0 -330
- package/front_end/models/trace/extras/ThirdParties.test.ts +0 -114
- package/front_end/models/trace/extras/TraceFilter.test.ts +0 -103
- package/front_end/models/trace/extras/TraceTree.test.ts +0 -489
- package/front_end/models/trace/handlers/AnimationFramesHandler.test.ts +0 -40
- package/front_end/models/trace/handlers/AnimationHandler.test.ts +0 -54
- package/front_end/models/trace/handlers/AsyncJSCallsHandler.test.ts +0 -300
- package/front_end/models/trace/handlers/AuctionWorkletsHandler.test.ts +0 -167
- package/front_end/models/trace/handlers/DOMStatsHandler.test.ts +0 -30
- package/front_end/models/trace/handlers/ExtensionTraceDataHandler.test.ts +0 -987
- package/front_end/models/trace/handlers/FlowsHandler.test.ts +0 -185
- package/front_end/models/trace/handlers/FramesHandler.test.ts +0 -243
- package/front_end/models/trace/handlers/GPUHandler.test.ts +0 -26
- package/front_end/models/trace/handlers/ImagePaintingHandler.test.ts +0 -87
- package/front_end/models/trace/handlers/InitiatorsHandler.test.ts +0 -309
- package/front_end/models/trace/handlers/InvalidationsHandler.test.ts +0 -185
- package/front_end/models/trace/handlers/LargestImagePaintHandler.test.ts +0 -62
- package/front_end/models/trace/handlers/LargestTextPaintHandler.test.ts +0 -27
- package/front_end/models/trace/handlers/LayerTreeHandler.test.ts +0 -46
- package/front_end/models/trace/handlers/LayoutShiftsHandler.test.ts +0 -252
- package/front_end/models/trace/handlers/MemoryHandler.test.ts +0 -29
- package/front_end/models/trace/handlers/MetaHandler.test.ts +0 -650
- package/front_end/models/trace/handlers/NetworkRequestsHandler.test.ts +0 -514
- package/front_end/models/trace/handlers/PageFramesHandler.test.ts +0 -40
- package/front_end/models/trace/handlers/PageLoadMetricsHandler.test.ts +0 -274
- package/front_end/models/trace/handlers/RendererHandler.test.ts +0 -1007
- package/front_end/models/trace/handlers/SamplesHandler.test.ts +0 -355
- package/front_end/models/trace/handlers/ScreenshotsHandler.test.ts +0 -114
- package/front_end/models/trace/handlers/ScriptsHandler.test.ts +0 -103
- package/front_end/models/trace/handlers/SelectorStatsHandler.test.ts +0 -39
- package/front_end/models/trace/handlers/Threads.test.ts +0 -59
- package/front_end/models/trace/handlers/UserInteractionsHandler.test.ts +0 -439
- package/front_end/models/trace/handlers/UserTimingsHandler.test.ts +0 -525
- package/front_end/models/trace/handlers/WarningsHandler.test.ts +0 -86
- package/front_end/models/trace/handlers/WorkersHandler.test.ts +0 -80
- package/front_end/models/trace/handlers/helpers.test.ts +0 -102
- package/front_end/models/trace/helpers/SamplesIntegrator.test.ts +0 -372
- package/front_end/models/trace/helpers/SyntheticEvents.test.ts +0 -62
- package/front_end/models/trace/helpers/Timing.test.ts +0 -371
- package/front_end/models/trace/helpers/Trace.test.ts +0 -760
- package/front_end/models/trace/helpers/TreeHelpers.test.ts +0 -449
- package/front_end/models/trace/insights/CLSCulprits.test.ts +0 -254
- package/front_end/models/trace/insights/Cache.test.ts +0 -221
- package/front_end/models/trace/insights/Common.test.ts +0 -125
- package/front_end/models/trace/insights/DOMSize.test.ts +0 -66
- package/front_end/models/trace/insights/DocumentLatency.test.ts +0 -110
- package/front_end/models/trace/insights/DuplicatedJavaScript.test.ts +0 -128
- package/front_end/models/trace/insights/FontDisplay.test.ts +0 -64
- package/front_end/models/trace/insights/ForcedReflow.test.ts +0 -34
- package/front_end/models/trace/insights/INPBreakdown.test.ts +0 -32
- package/front_end/models/trace/insights/ImageDelivery.test.ts +0 -128
- package/front_end/models/trace/insights/LCPBreakdown.test.ts +0 -100
- package/front_end/models/trace/insights/LCPDiscovery.test.ts +0 -67
- package/front_end/models/trace/insights/LegacyJavaScript.test.ts +0 -81
- package/front_end/models/trace/insights/ModernHTTP.test.ts +0 -348
- package/front_end/models/trace/insights/NetworkDependencyTree.test.ts +0 -563
- package/front_end/models/trace/insights/RenderBlocking.test.ts +0 -133
- package/front_end/models/trace/insights/SlowCSSSelector.test.ts +0 -48
- package/front_end/models/trace/insights/Statistics.test.ts +0 -145
- package/front_end/models/trace/insights/ThirdParties.test.ts +0 -56
- package/front_end/models/trace/insights/Viewport.test.ts +0 -52
- package/front_end/models/trace/lantern/core/NetworkAnalyzer.test.ts +0 -530
- package/front_end/models/trace/lantern/graph/BaseNode.test.ts +0 -391
- package/front_end/models/trace/lantern/graph/PageDependencyGraph.test.ts +0 -670
- package/front_end/models/trace/lantern/metrics/FirstContentfulPaint.test.ts +0 -65
- package/front_end/models/trace/lantern/metrics/Interactive.test.ts +0 -70
- package/front_end/models/trace/lantern/metrics/LargestContentfulPaint.test.ts +0 -42
- package/front_end/models/trace/lantern/metrics/SpeedIndex.test.ts +0 -87
- package/front_end/models/trace/lantern/metrics/TBTUtils.test.ts +0 -138
- package/front_end/models/trace/lantern/simulation/ConnectionPool.test.ts +0 -199
- package/front_end/models/trace/lantern/simulation/DNSCache.test.ts +0 -76
- package/front_end/models/trace/lantern/simulation/Simulator.test.ts +0 -454
- package/front_end/models/trace/lantern/simulation/TCPConnection.test.ts +0 -368
- package/front_end/models/trace/types/File.test.ts +0 -42
- package/front_end/models/trace/types/TraceEvents.test.ts +0 -92
- package/front_end/models/workspace/IgnoreListManager.test.ts +0 -616
- package/front_end/models/workspace/SearchConfig.test.ts +0 -114
- package/front_end/models/workspace/UISourceCode.test.ts +0 -415
- package/front_end/models/workspace/WorkspaceImpl.test.ts +0 -187
- package/front_end/models/workspace_diff/WorkspaceDiff.test.ts +0 -84
- package/front_end/panels/accessibility/ARIAAttributesView.test.ts +0 -101
- package/front_end/panels/accessibility/AccessibilitySidebarView.test.ts +0 -67
- package/front_end/panels/ai_assistance/AiAssistancePanel.test.ts +0 -1891
- package/front_end/panels/ai_assistance/PatchWidget.test.ts +0 -445
- package/front_end/panels/ai_assistance/SelectWorkspaceDialog.test.ts +0 -201
- package/front_end/panels/ai_assistance/components/ChatView.test.ts +0 -103
- package/front_end/panels/ai_assistance/components/ExploreWidget.test.ts +0 -118
- package/front_end/panels/ai_assistance/components/MarkdownRendererWithCodeBlock.test.ts +0 -80
- package/front_end/panels/ai_assistance/components/UserActionRow.test.ts +0 -123
- package/front_end/panels/animation/AnimationTimeline.test.ts +0 -752
- package/front_end/panels/application/AppManifestView.test.ts +0 -342
- package/front_end/panels/application/ApplicationPanelSidebar.test.ts +0 -484
- package/front_end/panels/application/BackgroundServiceView.test.ts +0 -160
- package/front_end/panels/application/DOMStorageModel.test.ts +0 -45
- package/front_end/panels/application/ExtensionStorageItemsView.test.ts +0 -152
- package/front_end/panels/application/ExtensionStorageModel.test.ts +0 -249
- package/front_end/panels/application/IndexedDBModel.test.ts +0 -252
- package/front_end/panels/application/IndexedDBViews.test.ts +0 -182
- package/front_end/panels/application/InterestGroupStorageView.test.ts +0 -155
- package/front_end/panels/application/InterestGroupTreeElement.test.ts +0 -37
- package/front_end/panels/application/KeyValueStorageItemsView.test.ts +0 -120
- package/front_end/panels/application/PreloadingTreeElement.test.ts +0 -30
- package/front_end/panels/application/ReportingApiView.test.ts +0 -233
- package/front_end/panels/application/ServiceWorkerUpdateCycleView.test.ts +0 -130
- package/front_end/panels/application/ServiceWorkersView.test.ts +0 -179
- package/front_end/panels/application/SharedStorageEventsView.test.ts +0 -231
- package/front_end/panels/application/SharedStorageItemsView.test.ts +0 -913
- package/front_end/panels/application/SharedStorageListTreeElement.test.ts +0 -161
- package/front_end/panels/application/SharedStorageModel.test.ts +0 -434
- package/front_end/panels/application/SharedStorageTreeElement.test.ts +0 -140
- package/front_end/panels/application/StorageBucketsTreeElement.test.ts +0 -149
- package/front_end/panels/application/StorageView.test.ts +0 -156
- package/front_end/panels/application/components/BackForwardCacheView.test.ts +0 -303
- package/front_end/panels/application/components/BounceTrackingMitigationsView.test.ts +0 -138
- package/front_end/panels/application/components/EndpointsGrid.test.ts +0 -83
- package/front_end/panels/application/components/FrameDetailsView.test.ts +0 -263
- package/front_end/panels/application/components/InterestGroupAccessGrid.test.ts +0 -70
- package/front_end/panels/application/components/OriginTrialTreeView.test.ts +0 -442
- package/front_end/panels/application/components/ProtocolHandlersView.test.ts +0 -73
- package/front_end/panels/application/components/ReportsGrid.test.ts +0 -131
- package/front_end/panels/application/components/ServiceWorkerRouterView.test.ts +0 -57
- package/front_end/panels/application/components/SharedStorageAccessGrid.test.ts +0 -84
- package/front_end/panels/application/components/SharedStorageMetadataView.test.ts +0 -122
- package/front_end/panels/application/components/StackTrace.test.ts +0 -222
- package/front_end/panels/application/components/StorageMetadataView.test.ts +0 -208
- package/front_end/panels/application/components/TrustTokensView.test.ts +0 -127
- package/front_end/panels/application/preloading/PreloadingView.test.ts +0 -1180
- package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.test.ts +0 -194
- package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.test.ts +0 -532
- package/front_end/panels/application/preloading/components/PreloadingGrid.test.ts +0 -503
- package/front_end/panels/application/preloading/components/PreloadingMismatchedHeadersGrid.test.ts +0 -150
- package/front_end/panels/application/preloading/components/RuleSetDetailsView.test.ts +0 -185
- package/front_end/panels/application/preloading/components/RuleSetGrid.test.ts +0 -190
- package/front_end/panels/application/preloading/components/UsedPreloadingView.test.ts +0 -751
- package/front_end/panels/autofill/AutofillView.test.ts +0 -224
- package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.test.ts +0 -179
- package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.test.ts +0 -52
- package/front_end/panels/browser_debugger/browser_debugger.test.ts +0 -11
- package/front_end/panels/changes/CombinedDiffView.test.ts +0 -154
- package/front_end/panels/changes/changes.test.ts +0 -11
- package/front_end/panels/common/AiCodeCompletionDisclaimer.test.ts +0 -57
- package/front_end/panels/common/AiCodeCompletionSummaryToolbar.test.ts +0 -85
- package/front_end/panels/common/AiCodeCompletionTeaser.test.ts +0 -98
- package/front_end/panels/console/ConsoleContextSelector.test.ts +0 -96
- package/front_end/panels/console/ConsoleFormat.test.ts +0 -462
- package/front_end/panels/console/ConsolePrompt.test.ts +0 -188
- package/front_end/panels/console/ConsoleSidebar.test.ts +0 -130
- package/front_end/panels/console/ConsoleView.test.ts +0 -276
- package/front_end/panels/console/ConsoleViewMessage.test.ts +0 -433
- package/front_end/panels/console/ConsoleViewport.test.ts +0 -399
- package/front_end/panels/console/ErrorStackParser.test.ts +0 -343
- package/front_end/panels/console_counters/console_counters.test.ts +0 -11
- package/front_end/panels/coverage/CoverageDecorationManager.test.ts +0 -211
- package/front_end/panels/coverage/CoverageModel.test.ts +0 -91
- package/front_end/panels/coverage/CoverageView.test.ts +0 -202
- package/front_end/panels/css_overview/CSSOverviewPanel.test.ts +0 -40
- package/front_end/panels/developer_resources/DeveloperResourcesView.test.ts +0 -43
- package/front_end/panels/developer_resources/developer_resources.test.ts +0 -11
- package/front_end/panels/elements/AccessibilityTreeView.test.ts +0 -50
- package/front_end/panels/elements/CSSRuleValidator.test.ts +0 -482
- package/front_end/panels/elements/CSSValueTraceView.test.ts +0 -215
- package/front_end/panels/elements/ClassesPaneWidget.test.ts +0 -48
- package/front_end/panels/elements/ColorSwatchPopoverIcon.test.ts +0 -63
- package/front_end/panels/elements/ComputedStyleModel.test.ts +0 -155
- package/front_end/panels/elements/ComputedStyleWidget.test.ts +0 -153
- package/front_end/panels/elements/DOMLinkifier.test.ts +0 -60
- package/front_end/panels/elements/DOMTreeWidget.test.ts +0 -58
- package/front_end/panels/elements/ElementStatePaneWidget.test.ts +0 -363
- package/front_end/panels/elements/ElementsPanel.test.ts +0 -211
- package/front_end/panels/elements/ElementsTreeElement.test.ts +0 -443
- package/front_end/panels/elements/ElementsTreeOutline.test.ts +0 -218
- package/front_end/panels/elements/EventListenersWidget.test.ts +0 -129
- package/front_end/panels/elements/InspectElementModeController.test.ts +0 -163
- package/front_end/panels/elements/LayoutPane.test.ts +0 -219
- package/front_end/panels/elements/PlatformFontsWidget.test.ts +0 -46
- package/front_end/panels/elements/PropertiesWidget.test.ts +0 -76
- package/front_end/panels/elements/PropertyRenderer.test.ts +0 -340
- package/front_end/panels/elements/StylePropertiesSection.test.ts +0 -324
- package/front_end/panels/elements/StylePropertyHighlighter.test.ts +0 -160
- package/front_end/panels/elements/StylePropertyTreeElement.test.ts +0 -2250
- package/front_end/panels/elements/StylePropertyUtils.test.ts +0 -41
- package/front_end/panels/elements/StylesSidebarPane.test.ts +0 -716
- package/front_end/panels/elements/TopLayerContainer.test.ts +0 -55
- package/front_end/panels/elements/WebCustomData.test.ts +0 -77
- package/front_end/panels/elements/components/AccessibilityTreeNode.test.ts +0 -44
- package/front_end/panels/elements/components/AdornerManager.test.ts +0 -82
- package/front_end/panels/elements/components/CSSHintDetailsView.test.ts +0 -40
- package/front_end/panels/elements/components/CSSPropertyDocsView.test.ts +0 -131
- package/front_end/panels/elements/components/CSSPropertyIconResolver.test.ts +0 -931
- package/front_end/panels/elements/components/CSSQuery.test.ts +0 -58
- package/front_end/panels/elements/components/CSSVariableValueView.test.ts +0 -20
- package/front_end/panels/elements/components/ComputedStyleProperty.test.ts +0 -38
- package/front_end/panels/elements/components/ComputedStyleTrace.test.ts +0 -58
- package/front_end/panels/elements/components/ElementsBreadcrumbs.test.ts +0 -435
- package/front_end/panels/elements/components/ElementsTreeExpandButton.test.ts +0 -50
- package/front_end/panels/elements/components/QueryContainer.test.ts +0 -151
- package/front_end/panels/elements/components/StylePropertyEditor.test.ts +0 -188
- package/front_end/panels/emulation/AdvancedApp.test.ts +0 -80
- package/front_end/panels/emulation/MediaQueryInspector.test.ts +0 -55
- package/front_end/panels/event_listeners/EventListenersView.test.ts +0 -50
- package/front_end/panels/explain/PromptBuilder.test.ts +0 -587
- package/front_end/panels/explain/components/ConsoleInsight.test.ts +0 -926
- package/front_end/panels/issues/IssueAggregator.test.ts +0 -427
- package/front_end/panels/issues/IssueView.test.ts +0 -75
- package/front_end/panels/issues/IssuesPane.test.ts +0 -32
- package/front_end/panels/layer_viewer/layer_viewer.test.ts +0 -11
- package/front_end/panels/layers/LayersPanel.test.ts +0 -55
- package/front_end/panels/lighthouse/LighthouseController.test.ts +0 -36
- package/front_end/panels/lighthouse/LighthousePanel.test.ts +0 -89
- package/front_end/panels/lighthouse/LighthouseProtocolService.test.ts +0 -70
- package/front_end/panels/lighthouse/LighthouseReportRenderer.test.ts +0 -123
- package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorController.test.ts +0 -201
- package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorPane.test.ts +0 -54
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.test.ts +0 -124
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.test.ts +0 -421
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.test.ts +0 -194
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.test.ts +0 -118
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryViewer.test.ts +0 -397
- package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.test.ts +0 -450
- package/front_end/panels/linear_memory_inspector/components/ValueInterpreterSettings.test.ts +0 -91
- package/front_end/panels/media/MainView.test.ts +0 -127
- package/front_end/panels/media/TickingFlameChartHelpers.test.ts +0 -90
- package/front_end/panels/mobile_throttling/ThrottlingManager.test.ts +0 -119
- package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.test.ts +0 -115
- package/front_end/panels/network/BlockedURLsPane.test.ts +0 -80
- package/front_end/panels/network/NetworkConfigView.test.ts +0 -50
- package/front_end/panels/network/NetworkDataGridNode.test.ts +0 -474
- package/front_end/panels/network/NetworkItemView.test.ts +0 -169
- package/front_end/panels/network/NetworkLogView.test.ts +0 -1101
- package/front_end/panels/network/NetworkOverview.test.ts +0 -60
- package/front_end/panels/network/NetworkPanel.test.ts +0 -103
- package/front_end/panels/network/NetworkSearchScope.test.ts +0 -182
- package/front_end/panels/network/RequestCookiesView.test.ts +0 -49
- package/front_end/panels/network/RequestHTMLView.test.ts +0 -28
- package/front_end/panels/network/RequestPayloadView.test.ts +0 -13
- package/front_end/panels/network/RequestPreviewView.test.ts +0 -105
- package/front_end/panels/network/RequestResponseView.test.ts +0 -130
- package/front_end/panels/network/RequestTimingView.test.ts +0 -172
- package/front_end/panels/network/ResourceDirectSocketChunkView.test.ts +0 -335
- package/front_end/panels/network/components/DirectSocketConnectionView.test.ts +0 -253
- package/front_end/panels/network/components/HeaderSectionRow.test.ts +0 -659
- package/front_end/panels/network/components/RequestHeaderSection.test.ts +0 -101
- package/front_end/panels/network/components/RequestHeadersView.test.ts +0 -537
- package/front_end/panels/network/components/RequestTrustTokensView.test.ts +0 -80
- package/front_end/panels/network/components/ResponseHeaderSection.test.ts +0 -1359
- package/front_end/panels/performance_monitor/PerformanceMonitor.test.ts +0 -152
- package/front_end/panels/profiler/HeapDetachedElementsView.test.ts +0 -34
- package/front_end/panels/profiler/HeapProfileView.test.ts +0 -34
- package/front_end/panels/profiler/HeapSnapshotView.test.ts +0 -35
- package/front_end/panels/protocol_monitor/JSONEditor.test.ts +0 -1321
- package/front_end/panels/protocol_monitor/ProtocolMonitor.test.ts +0 -548
- package/front_end/panels/recorder/RecorderController.test.ts +0 -483
- package/front_end/panels/recorder/components/CreateRecordingView.test.ts +0 -141
- package/front_end/panels/recorder/components/RecordingListView.test.ts +0 -64
- package/front_end/panels/recorder/components/RecordingView.test.ts +0 -186
- package/front_end/panels/recorder/components/ReplaySection.test.ts +0 -113
- package/front_end/panels/recorder/components/SelectButton.test.ts +0 -56
- package/front_end/panels/recorder/components/StepEditor.test.ts +0 -711
- package/front_end/panels/recorder/components/StepView.test.ts +0 -208
- package/front_end/panels/recorder/converters/LighthouseConverter.test.ts +0 -79
- package/front_end/panels/recorder/converters/PuppeteerConverter.test.ts +0 -88
- package/front_end/panels/recorder/converters/PuppeteerReplayConverter.test.ts +0 -59
- package/front_end/panels/recorder/injected/selectors/CSSSelector.test.ts +0 -39
- package/front_end/panels/recorder/injected.test.ts +0 -364
- package/front_end/panels/recorder/models/RecorderSettings.test.ts +0 -65
- package/front_end/panels/recorder/models/RecorderShortcutHelper.test.ts +0 -59
- package/front_end/panels/recorder/models/RecordingPlayer.test.ts +0 -235
- package/front_end/panels/recorder/models/SchemaUtils.test.ts +0 -35
- package/front_end/panels/recorder/models/ScreenshotUtils.test.ts +0 -74
- package/front_end/panels/recorder/models/Section.test.ts +0 -98
- package/front_end/panels/recorder/models/recording-storage.test.ts +0 -66
- package/front_end/panels/recorder/models/screenshot-storage.test.ts +0 -159
- package/front_end/panels/recorder/util/SharedObject.test.ts +0 -88
- package/front_end/panels/screencast/ScreencastApp.test.ts +0 -24
- package/front_end/panels/search/SearchResultsPane.test.ts +0 -228
- package/front_end/panels/search/SearchView.test.ts +0 -197
- package/front_end/panels/security/CookieControlsView.test.ts +0 -65
- package/front_end/panels/security/CookieReportView.test.ts +0 -161
- package/front_end/panels/security/SecurityModel.test.ts +0 -45
- package/front_end/panels/security/SecurityPanel.test.ts +0 -264
- package/front_end/panels/settings/AISettingsTab.test.ts +0 -293
- package/front_end/panels/settings/components/SyncSection.test.ts +0 -110
- package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.test.ts +0 -146
- package/front_end/panels/settings/emulation/utils/StructuredHeaders.test.ts +0 -462
- package/front_end/panels/settings/emulation/utils/UserAgentMetadata.test.ts +0 -94
- package/front_end/panels/snippets/ScriptSnippetFileSystem.test.ts +0 -29
- package/front_end/panels/sources/AiCodeCompletionPlugin.test.ts +0 -119
- package/front_end/panels/sources/BreakpointEditDialog.test.ts +0 -127
- package/front_end/panels/sources/BreakpointsView.test.ts +0 -1878
- package/front_end/panels/sources/BreakpointsViewUtils.test.ts +0 -209
- package/front_end/panels/sources/CSSPlugin.test.ts +0 -90
- package/front_end/panels/sources/CoveragePlugin.test.ts +0 -82
- package/front_end/panels/sources/DebuggerPausedMessage.test.ts +0 -138
- package/front_end/panels/sources/DebuggerPlugin.test.ts +0 -725
- package/front_end/panels/sources/FilePathScoreFunction.test.ts +0 -171
- package/front_end/panels/sources/FilteredUISourceCodeListProvider.test.ts +0 -150
- package/front_end/panels/sources/NavigatorView.test.ts +0 -277
- package/front_end/panels/sources/OutlineQuickOpen.test.ts +0 -1064
- package/front_end/panels/sources/ResourceOriginPlugin.test.ts +0 -38
- package/front_end/panels/sources/SourcesNavigator.test.ts +0 -615
- package/front_end/panels/sources/SourcesPanel.test.ts +0 -90
- package/front_end/panels/sources/SourcesView.test.ts +0 -242
- package/front_end/panels/sources/TabbedEditorContainer.test.ts +0 -122
- package/front_end/panels/sources/UISourceCodeFrame.test.ts +0 -104
- package/front_end/panels/sources/components/HeadersView.test.ts +0 -573
- package/front_end/panels/timeline/AnnotationHelpers.test.ts +0 -190
- package/front_end/panels/timeline/Breadcrumbs.test.ts +0 -281
- package/front_end/panels/timeline/CountersGraph.test.ts +0 -80
- package/front_end/panels/timeline/EntriesFilter.test.ts +0 -710
- package/front_end/panels/timeline/Initiators.test.ts +0 -176
- package/front_end/panels/timeline/ModificationsManager.test.ts +0 -254
- package/front_end/panels/timeline/RecordingMetadata.test.ts +0 -147
- package/front_end/panels/timeline/SaveFileFormatter.test.ts +0 -77
- package/front_end/panels/timeline/ThirdPartyTreeView.test.ts +0 -84
- package/front_end/panels/timeline/TimelineController.test.ts +0 -98
- package/front_end/panels/timeline/TimelineDetailsView.test.ts +0 -188
- package/front_end/panels/timeline/TimelineFilters.test.ts +0 -72
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.test.ts +0 -377
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.test.ts +0 -266
- package/front_end/panels/timeline/TimelineFlameChartView.test.ts +0 -1209
- package/front_end/panels/timeline/TimelineHistoryManager.test.ts +0 -160
- package/front_end/panels/timeline/TimelineLoader.test.ts +0 -167
- package/front_end/panels/timeline/TimelineMiniMap.test.ts +0 -135
- package/front_end/panels/timeline/TimelinePanel.test.ts +0 -550
- package/front_end/panels/timeline/TimelineSelection.test.ts +0 -112
- package/front_end/panels/timeline/TimelineTreeView.test.ts +0 -339
- package/front_end/panels/timeline/TimelineUIUtils.test.ts +0 -1793
- package/front_end/panels/timeline/TrackConfigBanner.test.ts +0 -68
- package/front_end/panels/timeline/TrackConfiguration.test.ts +0 -46
- package/front_end/panels/timeline/components/BreadcrumbsUI.test.ts +0 -101
- package/front_end/panels/timeline/components/CPUThrottlingSelector.test.ts +0 -100
- package/front_end/panels/timeline/components/ExportTraceOptions.test.ts +0 -281
- package/front_end/panels/timeline/components/FieldSettingsDialog.test.ts +0 -295
- package/front_end/panels/timeline/components/IgnoreListSetting.test.ts +0 -325
- package/front_end/panels/timeline/components/InteractionBreakdown.test.ts +0 -37
- package/front_end/panels/timeline/components/Invalidations.test.ts +0 -38
- package/front_end/panels/timeline/components/LayoutShiftDetails.test.ts +0 -72
- package/front_end/panels/timeline/components/LiveMetricsView.test.ts +0 -1006
- package/front_end/panels/timeline/components/MetricCard.test.ts +0 -637
- package/front_end/panels/timeline/components/NetworkRequestDetails.test.ts +0 -178
- package/front_end/panels/timeline/components/NetworkThrottlingSelector.test.ts +0 -188
- package/front_end/panels/timeline/components/OriginMap.test.ts +0 -359
- package/front_end/panels/timeline/components/RelatedInsightChips.test.ts +0 -91
- package/front_end/panels/timeline/components/Sidebar.test.ts +0 -185
- package/front_end/panels/timeline/components/SidebarAnnotationsTab.test.ts +0 -261
- package/front_end/panels/timeline/components/SidebarInsightsTab.test.ts +0 -44
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.test.ts +0 -165
- package/front_end/panels/timeline/components/TimelineSummary.test.ts +0 -77
- package/front_end/panels/timeline/components/Utils.test.ts +0 -112
- package/front_end/panels/timeline/components/insights/BaseInsightComponent.test.ts +0 -382
- package/front_end/panels/timeline/components/insights/CLSCulprits.test.ts +0 -44
- package/front_end/panels/timeline/components/insights/INPBreakdown.test.ts +0 -74
- package/front_end/panels/timeline/components/insights/NetworkDependencyTree.test.ts +0 -76
- package/front_end/panels/timeline/components/insights/NodeLink.test.ts +0 -113
- package/front_end/panels/timeline/components/insights/Table.test.ts +0 -60
- package/front_end/panels/timeline/overlays/OverlaysImpl.test.ts +0 -1424
- package/front_end/panels/timeline/overlays/components/TimespanBreakdownOverlay.test.ts +0 -41
- package/front_end/panels/timeline/track_appenders/AnimationsTrackAppender.test.ts +0 -101
- package/front_end/panels/timeline/track_appenders/AppenderUtils.test.ts +0 -197
- package/front_end/panels/timeline/track_appenders/CompatibilityTracksAppender.test.ts +0 -229
- package/front_end/panels/timeline/track_appenders/ExtensionTrackAppender.test.ts +0 -249
- package/front_end/panels/timeline/track_appenders/GPUTrackAppender.test.ts +0 -116
- package/front_end/panels/timeline/track_appenders/InteractionsTrackAppender.test.ts +0 -124
- package/front_end/panels/timeline/track_appenders/LayoutShiftsTrackAppender.test.ts +0 -104
- package/front_end/panels/timeline/track_appenders/NetworkTrackAppender.test.ts +0 -65
- package/front_end/panels/timeline/track_appenders/ThreadAppender.test.ts +0 -595
- package/front_end/panels/timeline/track_appenders/TimingsTrackAppender.test.ts +0 -347
- package/front_end/panels/timeline/utils/AICallTree.test.ts +0 -453
- package/front_end/panels/timeline/utils/EntityMapper.test.ts +0 -123
- package/front_end/panels/timeline/utils/EntryName.test.ts +0 -177
- package/front_end/panels/timeline/utils/EntryNodes.test.ts +0 -137
- package/front_end/panels/timeline/utils/EventsSerializer.test.ts +0 -71
- package/front_end/panels/timeline/utils/FreshRecording.test.ts +0 -23
- package/front_end/panels/timeline/utils/Helpers.test.ts +0 -85
- package/front_end/panels/timeline/utils/IgnoreList.test.ts +0 -192
- package/front_end/panels/timeline/utils/ImageCache.test.ts +0 -107
- package/front_end/panels/timeline/utils/InsightAIContext.test.ts +0 -120
- package/front_end/panels/timeline/utils/SourceMapsResolver.test.ts +0 -334
- package/front_end/panels/timeline/utils/Treemap.test.ts +0 -321
- package/front_end/panels/utils/utils.test.ts +0 -232
- package/front_end/panels/web_audio/WebAudioView.test.ts +0 -247
- package/front_end/panels/web_audio/web_audio.test.ts +0 -11
- package/front_end/panels/webauthn/WebauthnPane.test.ts +0 -377
- package/front_end/panels/whats_new/ReleaseNote.test.ts +0 -92
- package/front_end/panels/whats_new/ReleaseNoteView.test.ts +0 -160
- package/front_end/services/trace_bounds/TraceBounds.test.ts +0 -155
- package/front_end/services/tracing/ExternalRequests.test.ts +0 -39
- package/front_end/services/tracing/ExternalRequests.ts +0 -74
- package/front_end/services/tracing/TracingManager.test.ts +0 -102
- package/front_end/testing/AiAssistanceHelpers.ts +0 -349
- package/front_end/testing/ConsoleHelpers.ts +0 -39
- package/front_end/testing/ContextMenuHelpers.ts +0 -46
- package/front_end/testing/Cookies.ts +0 -72
- package/front_end/testing/DOMHelpers.ts +0 -359
- package/front_end/testing/DataGridHelpers.ts +0 -83
- package/front_end/testing/EnvironmentHelpers.ts +0 -565
- package/front_end/testing/ExpectStubCall.ts +0 -46
- package/front_end/testing/ExtensionHelpers.ts +0 -77
- package/front_end/testing/FileManagerHelpers.ts +0 -22
- package/front_end/testing/InsightHelpers.ts +0 -88
- package/front_end/testing/LanguagePluginHelpers.ts +0 -91
- package/front_end/testing/MockConnection.ts +0 -163
- package/front_end/testing/MockExecutionContext.ts +0 -24
- package/front_end/testing/MockIssuesManager.ts +0 -64
- package/front_end/testing/MockIssuesModel.ts +0 -22
- package/front_end/testing/MockNetworkLog.ts +0 -41
- package/front_end/testing/MockScopeChain.test.ts +0 -25
- package/front_end/testing/MockScopeChain.ts +0 -402
- package/front_end/testing/MockSettingStorage.ts +0 -23
- package/front_end/testing/MutationHelpers.test.ts +0 -271
- package/front_end/testing/MutationHelpers.ts +0 -250
- package/front_end/testing/NetworkHelpers.ts +0 -36
- package/front_end/testing/OverridesHelpers.ts +0 -85
- package/front_end/testing/PersistenceHelpers.ts +0 -64
- package/front_end/testing/PropertyParser.ts +0 -34
- package/front_end/testing/README.md +0 -123
- package/front_end/testing/ResourceTreeHelpers.ts +0 -126
- package/front_end/testing/SnapshotTester.snapshot.txt +0 -9
- package/front_end/testing/SnapshotTester.test.ts +0 -32
- package/front_end/testing/SnapshotTester.ts +0 -150
- package/front_end/testing/SourceMapEncoder.test.ts +0 -169
- package/front_end/testing/SourceMapEncoder.ts +0 -130
- package/front_end/testing/SourceMapHelpers.ts +0 -113
- package/front_end/testing/StackTraceHelpers.ts +0 -47
- package/front_end/testing/StorageItemsViewHelpers.ts +0 -24
- package/front_end/testing/StubIssue.ts +0 -123
- package/front_end/testing/StyleHelpers.ts +0 -160
- package/front_end/testing/TraceHelpers.ts +0 -1003
- package/front_end/testing/TraceLoader.ts +0 -344
- package/front_end/testing/TrackAsyncOperations.ts +0 -276
- package/front_end/testing/UISourceCodeHelpers.ts +0 -157
- package/front_end/testing/UserMetricsHelpers.ts +0 -17
- package/front_end/testing/ViewFunctionHelpers.ts +0 -62
- package/front_end/testing/VisualLoggingHelpers.ts +0 -11
- package/front_end/testing/test_setup.ts +0 -117
- package/front_end/ui/components/adorners/Adorner.test.ts +0 -134
- package/front_end/ui/components/buttons/Button.test.ts +0 -268
- package/front_end/ui/components/cards/Card.test.ts +0 -101
- package/front_end/ui/components/chrome_link/ChromeLink.test.ts +0 -57
- package/front_end/ui/components/code_highlighter/CodeHighlighter.test.ts +0 -318
- package/front_end/ui/components/dialogs/ButtonDialog.test.ts +0 -170
- package/front_end/ui/components/dialogs/Dialog.test.ts +0 -903
- package/front_end/ui/components/dialogs/ShortcutDialog.test.ts +0 -79
- package/front_end/ui/components/diff_view/DiffView.test.ts +0 -94
- package/front_end/ui/components/expandable_list/ExpandableList.test.ts +0 -77
- package/front_end/ui/components/helpers/helpers.test.ts +0 -118
- package/front_end/ui/components/highlighting/HighlightManager.test.ts +0 -89
- package/front_end/ui/components/highlighting/highlighting.css +0 -9
- package/front_end/ui/components/icon_button/FileSourceIcon.test.ts +0 -32
- package/front_end/ui/components/icon_button/Icon.test.ts +0 -126
- package/front_end/ui/components/icon_button/IconButton.test.ts +0 -277
- package/front_end/ui/components/issue_counter/IssueCounter.test.ts +0 -234
- package/front_end/ui/components/issue_counter/IssueLinkIcon.test.ts +0 -187
- package/front_end/ui/components/linkifier/LinkifierImpl.test.ts +0 -84
- package/front_end/ui/components/markdown_view/CodeBlock.test.ts +0 -92
- package/front_end/ui/components/markdown_view/MarkdownImage.test.ts +0 -56
- package/front_end/ui/components/markdown_view/MarkdownLink.test.ts +0 -30
- package/front_end/ui/components/markdown_view/MarkdownView.test.ts +0 -445
- package/front_end/ui/components/menus/SelectMenu.test.ts +0 -106
- package/front_end/ui/components/node_text/NodeText.test.ts +0 -80
- package/front_end/ui/components/panel_feedback/FeedbackButton.test.ts +0 -36
- package/front_end/ui/components/panel_feedback/PanelFeedback.test.ts +0 -47
- package/front_end/ui/components/panel_feedback/PreviewToggle.test.ts +0 -75
- package/front_end/ui/components/render_coordinator/render_coordinator.test.ts +0 -243
- package/front_end/ui/components/report_view/ReportView.test.ts +0 -44
- package/front_end/ui/components/request_link_icon/RequestLinkIcon.test.ts +0 -298
- package/front_end/ui/components/settings/SettingCheckbox.test.ts +0 -205
- package/front_end/ui/components/settings/SettingDeprecationWarning.test.ts +0 -68
- package/front_end/ui/components/snackbars/Snackbar.test.ts +0 -141
- package/front_end/ui/components/survey_link/SurveyLink.test.ts +0 -118
- package/front_end/ui/components/switch/SwitchImpl.test.ts +0 -54
- package/front_end/ui/components/text_editor/AiCodeCompletionTeaserPlaceholder.test.ts +0 -84
- package/front_end/ui/components/text_editor/AutocompleteHistory.test.ts +0 -126
- package/front_end/ui/components/text_editor/ExecutionPositionHighlighter.test.ts +0 -140
- package/front_end/ui/components/text_editor/TextEditor.test.ts +0 -340
- package/front_end/ui/components/text_editor/TextEditorHistory.test.ts +0 -170
- package/front_end/ui/components/text_editor/javascript.test.ts +0 -121
- package/front_end/ui/components/text_prompt/TextPrompt.test.ts +0 -81
- package/front_end/ui/components/tooltips/Tooltip.test.ts +0 -307
- package/front_end/ui/components/tree_outline/TreeOutline.test.ts +0 -1472
- package/front_end/ui/legacy/ARIAUtils.test.ts +0 -140
- package/front_end/ui/legacy/ActionRegistration.test.ts +0 -173
- package/front_end/ui/legacy/Context.test.ts +0 -14
- package/front_end/ui/legacy/ContextMenu.test.ts +0 -261
- package/front_end/ui/legacy/DockController.test.ts +0 -88
- package/front_end/ui/legacy/FilterBar.test.ts +0 -52
- package/front_end/ui/legacy/Fragment.test.ts +0 -60
- package/front_end/ui/legacy/Geometry.test.ts +0 -658
- package/front_end/ui/legacy/Infobar.test.ts +0 -53
- package/front_end/ui/legacy/InspectorView.test.ts +0 -99
- package/front_end/ui/legacy/KeyboardShortcut.test.ts +0 -28
- package/front_end/ui/legacy/ListModel.test.ts +0 -78
- package/front_end/ui/legacy/ListWidget.test.ts +0 -78
- package/front_end/ui/legacy/SettingsUI.test.ts +0 -157
- package/front_end/ui/legacy/ShortcutRegistry.test.ts +0 -35
- package/front_end/ui/legacy/SplitWidget.test.ts +0 -62
- package/front_end/ui/legacy/SuggestBox.test.ts +0 -126
- package/front_end/ui/legacy/Toolbar.test.ts +0 -244
- package/front_end/ui/legacy/Treeoutline.test.ts +0 -252
- package/front_end/ui/legacy/UIUtils.test.ts +0 -255
- package/front_end/ui/legacy/View.test.ts +0 -76
- package/front_end/ui/legacy/ViewManager.test.ts +0 -235
- package/front_end/ui/legacy/ViewRegistration.test.ts +0 -76
- package/front_end/ui/legacy/Widget.test.ts +0 -206
- package/front_end/ui/legacy/XLink.test.ts +0 -68
- package/front_end/ui/legacy/components/color_picker/ColorFormatSpec.test.ts +0 -217
- package/front_end/ui/legacy/components/color_picker/Spectrum.test.ts +0 -101
- package/front_end/ui/legacy/components/data_grid/DataGridElement.test.ts +0 -272
- package/front_end/ui/legacy/components/inline_editor/AnimationTimingModel.test.ts +0 -23
- package/front_end/ui/legacy/components/inline_editor/AnimationTimingUI.test.ts +0 -58
- package/front_end/ui/legacy/components/inline_editor/BezierUI.test.ts +0 -124
- package/front_end/ui/legacy/components/inline_editor/CSSAngle.test.ts +0 -399
- package/front_end/ui/legacy/components/inline_editor/CSSLinearEasingModel.test.ts +0 -64
- package/front_end/ui/legacy/components/inline_editor/CSSShadowEditor.test.ts +0 -36
- package/front_end/ui/legacy/components/inline_editor/ColorMixSwatch.test.ts +0 -40
- package/front_end/ui/legacy/components/inline_editor/ColorSwatch.test.ts +0 -259
- package/front_end/ui/legacy/components/inline_editor/FontEditorUnitConverter.test.ts +0 -47
- package/front_end/ui/legacy/components/inline_editor/FontEditorUtils.test.ts +0 -27
- package/front_end/ui/legacy/components/inline_editor/LinkSwatch.test.ts +0 -86
- package/front_end/ui/legacy/components/object_ui/JavaScriptREPL.test.ts +0 -45
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.test.ts +0 -72
- package/front_end/ui/legacy/components/perf_ui/ChartViewport.test.ts +0 -63
- package/front_end/ui/legacy/components/perf_ui/FilmStripView.test.ts +0 -218
- package/front_end/ui/legacy/components/perf_ui/FlameChart.test.ts +0 -1630
- package/front_end/ui/legacy/components/perf_ui/PieChart.test.ts +0 -220
- package/front_end/ui/legacy/components/perf_ui/TimelineGrid.test.ts +0 -152
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewCalculator.test.ts +0 -70
- package/front_end/ui/legacy/components/quick_open/CommandMenu.test.ts +0 -74
- package/front_end/ui/legacy/components/quick_open/FilteredListWidget.test.ts +0 -111
- package/front_end/ui/legacy/components/source_frame/BinaryResourceViewFactory.test.ts +0 -81
- package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.test.ts +0 -77
- package/front_end/ui/legacy/components/source_frame/SourceFrame.test.ts +0 -146
- package/front_end/ui/legacy/components/source_frame/StreamingContentHexView.test.ts +0 -67
- package/front_end/ui/legacy/components/utils/JSPresentationUtils.test.ts +0 -52
- package/front_end/ui/legacy/components/utils/Linkifier.test.ts +0 -547
- package/front_end/ui/legacy/theme_support/ThemeSupport.test.ts +0 -129
- package/front_end/ui/lit/i18n-template.test.ts +0 -51
- package/front_end/ui/lit/strip-whitespace.test.ts +0 -110
- package/front_end/ui/visual_logging/Debugging.test.ts +0 -21
- package/front_end/ui/visual_logging/DomState.test.ts +0 -241
- package/front_end/ui/visual_logging/LoggingConfig.test.ts +0 -118
- package/front_end/ui/visual_logging/LoggingDriver.test.ts +0 -1069
- package/front_end/ui/visual_logging/LoggingEvents.test.ts +0 -271
- package/front_end/ui/visual_logging/LoggingState.test.ts +0 -122
- package/front_end/ui/visual_logging/NonDomState.test.ts +0 -44
- package/inspector_overlay/common.test.ts +0 -38
- package/inspector_overlay/css_grid_label_helpers.test.ts +0 -962
- package/inspector_overlay/highlight_common.test.ts +0 -42
- package/inspector_overlay/highlight_flex_common.test.ts +0 -511
- package/inspector_overlay/tool_highlight.test.ts +0 -105
- package/inspector_overlay/tool_source_order.test.ts +0 -130
- package/inspector_overlay/tool_window_controls.test.ts +0 -81
- package/scripts/DIR_METADATA +0 -3
- package/scripts/README.md +0 -26
- package/scripts/__init__.py +0 -0
- package/scripts/add_icon_paths.py +0 -71
- package/scripts/ai_assistance/README.md +0 -60
- package/scripts/ai_assistance/auto-run/auto-run.ts +0 -429
- package/scripts/ai_assistance/auto-run/shared/comment-parsers.test.ts +0 -168
- package/scripts/ai_assistance/auto-run/shared/comment-parsers.ts +0 -97
- package/scripts/ai_assistance/auto-run/shared/puppeteer-helpers.ts +0 -307
- package/scripts/ai_assistance/auto-run/targets/elements-executor.ts +0 -62
- package/scripts/ai_assistance/auto-run/targets/elements-multimodal-executor.ts +0 -62
- package/scripts/ai_assistance/auto-run/targets/factory.ts +0 -33
- package/scripts/ai_assistance/auto-run/targets/interface.ts +0 -29
- package/scripts/ai_assistance/auto-run/targets/patching-executor.ts +0 -69
- package/scripts/ai_assistance/auto-run/targets/performance-insights-executor.ts +0 -99
- package/scripts/ai_assistance/auto-run/targets/performance-main-thread-executor.ts +0 -99
- package/scripts/ai_assistance/auto-run/trace-downloader.ts +0 -91
- package/scripts/ai_assistance/eval/index.html +0 -32
- package/scripts/ai_assistance/eval/index.js +0 -568
- package/scripts/ai_assistance/package.json +0 -8
- package/scripts/ai_assistance/suite/README.md +0 -57
- package/scripts/ai_assistance/suite/helpers/evaluators.ts +0 -183
- package/scripts/ai_assistance/suite/helpers/gemini.ts +0 -122
- package/scripts/ai_assistance/suite/helpers/outputs.ts +0 -112
- package/scripts/ai_assistance/suite/instructions/lcp-breakdown.md +0 -12
- package/scripts/ai_assistance/suite/instructions/load.ts +0 -13
- package/scripts/ai_assistance/suite/instructions/scoring.md +0 -27
- package/scripts/ai_assistance/suite/performance.eval.ts +0 -18
- package/scripts/ai_assistance/suite/to_eval_output.ts +0 -166
- package/scripts/ai_assistance/suite/types.d.ts +0 -40
- package/scripts/ai_assistance/suite/upload_to_gcp.ts +0 -104
- package/scripts/ai_assistance/to_tsv.mjs +0 -39
- package/scripts/ai_assistance/tsconfig.json +0 -14
- package/scripts/ai_assistance/types.d.ts +0 -81
- package/scripts/build/README.md +0 -2
- package/scripts/build/__init__.py +0 -3
- package/scripts/build/assert_grd.py +0 -57
- package/scripts/build/assert_third_party_readmes.py +0 -70
- package/scripts/build/build_inspector_overlay.py +0 -106
- package/scripts/build/code_generator_frontend.py +0 -413
- package/scripts/build/compress_files.js +0 -89
- package/scripts/build/cross_reference_ninja_and_tsc.js +0 -180
- package/scripts/build/devtools_plugin.js +0 -164
- package/scripts/build/efficiently_recompile.py +0 -29
- package/scripts/build/esbuild.js +0 -56
- package/scripts/build/generate_aria.py +0 -36
- package/scripts/build/generate_css_js_files.js +0 -83
- package/scripts/build/generate_deprecations.py +0 -99
- package/scripts/build/generate_devtools_grd.py +0 -123
- package/scripts/build/generate_devtools_json.js +0 -27
- package/scripts/build/generate_html_entrypoint.js +0 -49
- package/scripts/build/generate_supported_css.py +0 -135
- package/scripts/build/ninja/README.md +0 -190
- package/scripts/build/ninja/bundle.gni +0 -85
- package/scripts/build/ninja/copy-file.js +0 -38
- package/scripts/build/ninja/copy-files.js +0 -39
- package/scripts/build/ninja/copy.gni +0 -59
- package/scripts/build/ninja/devtools_entrypoint.gni +0 -221
- package/scripts/build/ninja/devtools_module.gni +0 -33
- package/scripts/build/ninja/devtools_pre_built.gni +0 -55
- package/scripts/build/ninja/generate-declaration.js +0 -18
- package/scripts/build/ninja/generate-tsconfig.js +0 -46
- package/scripts/build/ninja/generate_css.gni +0 -45
- package/scripts/build/ninja/minify-json-files.js +0 -20
- package/scripts/build/ninja/minify_json.gni +0 -32
- package/scripts/build/ninja/node.gni +0 -36
- package/scripts/build/ninja/vars.gni +0 -19
- package/scripts/build/ninja/wasm.gni +0 -25
- package/scripts/build/ninja/write-if-changed.js +0 -27
- package/scripts/build/rollup.config.mjs +0 -31
- package/scripts/build/tests/generate_css_js_files_test.js +0 -40
- package/scripts/build/tests/plugins_test.js +0 -149
- package/scripts/build/typescript/README.md +0 -94
- package/scripts/build/typescript/tests/README.md +0 -10
- package/scripts/build/typescript/tests/fixtures/compilation_failure_front_end/BUILDCONFIG.gn +0 -10
- package/scripts/build/typescript/tests/fixtures/compilation_failure_front_end/build_output.txt.expected +0 -14
- package/scripts/build/typescript/tests/fixtures/compilation_failure_front_end/front_end/module/exporting.ts +0 -1
- package/scripts/build/typescript/tests/fixtures/compilation_failure_front_end/front_end/module/index.ts +0 -3
- package/scripts/build/typescript/tests/fixtures/recompile/BUILDCONFIG.gn +0 -10
- package/scripts/build/typescript/tests/fixtures/recompile/build_output.txt.expected +0 -8
- package/scripts/build/typescript/tests/fixtures/recompile/build_output.txt.expected.regen +0 -4
- package/scripts/build/typescript/tests/fixtures/recompile/front_end/module/exporting.ts +0 -1
- package/scripts/build/typescript/tests/fixtures/recompile/front_end/module/module.ts +0 -5
- package/scripts/build/typescript/tests/fixtures/recompile_dep/BUILDCONFIG.gn +0 -10
- package/scripts/build/typescript/tests/fixtures/recompile_dep/build_output.txt.expected +0 -8
- package/scripts/build/typescript/tests/fixtures/recompile_dep/build_output.txt.expected.regen +0 -6
- package/scripts/build/typescript/tests/fixtures/recompile_dep/expected.tsbuildinfo +0 -2084
- package/scripts/build/typescript/tests/fixtures/recompile_dep/front_end/module/exporting.ts +0 -1
- package/scripts/build/typescript/tests/fixtures/recompile_dep/front_end/module/module.ts +0 -7
- package/scripts/build/typescript/tests/fixtures/simple_dep/BUILDCONFIG.gn +0 -10
- package/scripts/build/typescript/tests/fixtures/simple_dep/build_output.txt.expected +0 -6
- package/scripts/build/typescript/tests/fixtures/simple_dep/build_output.txt.expected.regen +0 -2
- package/scripts/build/typescript/tests/fixtures/simple_dep/front_end/module/exporting.ts +0 -1
- package/scripts/build/typescript/tests/fixtures/simple_dep/front_end/module/index.ts +0 -3
- package/scripts/build/typescript/tests/fixtures/test_dep/BUILDCONFIG.gn +0 -10
- package/scripts/build/typescript/tests/fixtures/test_dep/build_output.txt.expected +0 -8
- package/scripts/build/typescript/tests/fixtures/test_dep/front_end/module/exporting.ts +0 -1
- package/scripts/build/typescript/tests/fixtures/test_dep/front_end/module/module.ts +0 -5
- package/scripts/build/typescript/tests/verify_ts_libary.sh +0 -88
- package/scripts/build/typescript/ts_library.py +0 -336
- package/scripts/build/typescript/typescript.gni +0 -290
- package/scripts/build/wasm-as.py +0 -87
- package/scripts/build/wasm_sourcemap.mjs +0 -22
- package/scripts/check_esbuild_versions.js +0 -51
- package/scripts/check_experiments.js +0 -292
- package/scripts/check_external_links.js +0 -150
- package/scripts/component_server/README.md +0 -43
- package/scripts/component_server/server.js +0 -597
- package/scripts/devtools_build.mjs +0 -396
- package/scripts/devtools_build.test.mjs +0 -243
- package/scripts/devtools_paths.js +0 -193
- package/scripts/devtools_paths.py +0 -127
- package/scripts/eslint_rules/README.md +0 -29
- package/scripts/eslint_rules/lib/canvas-context-tracking.ts +0 -154
- package/scripts/eslint_rules/lib/check-css-import.ts +0 -52
- package/scripts/eslint_rules/lib/check-enumerated-histograms.ts +0 -42
- package/scripts/eslint_rules/lib/check-license-header.ts +0 -222
- package/scripts/eslint_rules/lib/check-test-definitions.ts +0 -91
- package/scripts/eslint_rules/lib/check-was-shown-methods.ts +0 -57
- package/scripts/eslint_rules/lib/enforce-custom-element-definitions-location.ts +0 -95
- package/scripts/eslint_rules/lib/enforce-custom-event-names.ts +0 -174
- package/scripts/eslint_rules/lib/enforce-default-import-name.ts +0 -86
- package/scripts/eslint_rules/lib/enforce-optional-properties-last.ts +0 -87
- package/scripts/eslint_rules/lib/enforce-ui-strings-as-const.ts +0 -69
- package/scripts/eslint_rules/lib/es-modules-import.ts +0 -405
- package/scripts/eslint_rules/lib/html-tagged-template.ts +0 -85
- package/scripts/eslint_rules/lib/inject-checkbox-styles.ts +0 -187
- package/scripts/eslint_rules/lib/inline-type-imports.ts +0 -217
- package/scripts/eslint_rules/lib/jslog-context-list.ts +0 -192
- package/scripts/eslint_rules/lib/l10n-filename-matches.ts +0 -136
- package/scripts/eslint_rules/lib/l10n-i18nString-call-only-with-uistrings.ts +0 -62
- package/scripts/eslint_rules/lib/l10n-no-i18nString-calls-module-instantiation.ts +0 -61
- package/scripts/eslint_rules/lib/l10n-no-locked-or-placeholder-only-phrase.ts +0 -72
- package/scripts/eslint_rules/lib/l10n-no-uistrings-export.ts +0 -89
- package/scripts/eslint_rules/lib/l10n-no-unused-message.ts +0 -159
- package/scripts/eslint_rules/lib/lit-no-attribute-quotes.ts +0 -111
- package/scripts/eslint_rules/lib/lit-template-result-or-nothing.ts +0 -158
- package/scripts/eslint_rules/lib/no-a-tags-in-lit.ts +0 -43
- package/scripts/eslint_rules/lib/no-adopted-style-sheets.ts +0 -37
- package/scripts/eslint_rules/lib/no-assert-deep-strict-equal.ts +0 -61
- package/scripts/eslint_rules/lib/no-assert-equal-boolean-null-undefined.ts +0 -178
- package/scripts/eslint_rules/lib/no-assert-equal.ts +0 -88
- package/scripts/eslint_rules/lib/no-assert-strict-equal-for-arrays-and-objects.ts +0 -86
- package/scripts/eslint_rules/lib/no-bound-component-methods.ts +0 -161
- package/scripts/eslint_rules/lib/no-commented-out-console.ts +0 -49
- package/scripts/eslint_rules/lib/no-commented-out-import.ts +0 -46
- package/scripts/eslint_rules/lib/no-customized-builtin-elements.ts +0 -140
- package/scripts/eslint_rules/lib/no-deprecated-component-usages.ts +0 -46
- package/scripts/eslint_rules/lib/no-document-body-mutation.ts +0 -102
- package/scripts/eslint_rules/lib/no-imperative-dom-api/adorner.ts +0 -48
- package/scripts/eslint_rules/lib/no-imperative-dom-api/aria-utils.ts +0 -109
- package/scripts/eslint_rules/lib/no-imperative-dom-api/ast.ts +0 -86
- package/scripts/eslint_rules/lib/no-imperative-dom-api/button.ts +0 -81
- package/scripts/eslint_rules/lib/no-imperative-dom-api/class-member.ts +0 -54
- package/scripts/eslint_rules/lib/no-imperative-dom-api/data-grid.ts +0 -151
- package/scripts/eslint_rules/lib/no-imperative-dom-api/dom-api-devtools-extensions.ts +0 -32
- package/scripts/eslint_rules/lib/no-imperative-dom-api/dom-api.ts +0 -141
- package/scripts/eslint_rules/lib/no-imperative-dom-api/dom-fragment.ts +0 -307
- package/scripts/eslint_rules/lib/no-imperative-dom-api/split-widget.ts +0 -125
- package/scripts/eslint_rules/lib/no-imperative-dom-api/toolbar.ts +0 -193
- package/scripts/eslint_rules/lib/no-imperative-dom-api/ui-fragment.ts +0 -55
- package/scripts/eslint_rules/lib/no-imperative-dom-api/ui-utils.ts +0 -213
- package/scripts/eslint_rules/lib/no-imperative-dom-api/widget.ts +0 -96
- package/scripts/eslint_rules/lib/no-imperative-dom-api.ts +0 -270
- package/scripts/eslint_rules/lib/no-importing-images-from-src.ts +0 -83
- package/scripts/eslint_rules/lib/no-imports-in-directory.ts +0 -84
- package/scripts/eslint_rules/lib/no-lit-render-outside-of-view.ts +0 -105
- package/scripts/eslint_rules/lib/no-new-lit-element-components.ts +0 -48
- package/scripts/eslint_rules/lib/no-self-closing-custom-element-tagnames.ts +0 -42
- package/scripts/eslint_rules/lib/no-underscored-properties.ts +0 -78
- package/scripts/eslint_rules/lib/prefer-assert-instance-of.ts +0 -80
- package/scripts/eslint_rules/lib/prefer-assert-is-ok.ts +0 -103
- package/scripts/eslint_rules/lib/prefer-assert-length-of.ts +0 -76
- package/scripts/eslint_rules/lib/prefer-assert-strict-equal.ts +0 -92
- package/scripts/eslint_rules/lib/prefer-private-class-members.ts +0 -45
- package/scripts/eslint_rules/lib/prefer-sinon-assert.ts +0 -151
- package/scripts/eslint_rules/lib/prefer-url-string.ts +0 -109
- package/scripts/eslint_rules/lib/set-data-type-reference.ts +0 -69
- package/scripts/eslint_rules/lib/static-custom-event-names.ts +0 -215
- package/scripts/eslint_rules/lib/trace-engine-test-timeouts.ts +0 -125
- package/scripts/eslint_rules/lib/utils/l10n-helper.ts +0 -48
- package/scripts/eslint_rules/lib/utils/lit.ts +0 -73
- package/scripts/eslint_rules/lib/utils/ruleCreator.ts +0 -16
- package/scripts/eslint_rules/lib/utils/treeHelpers.ts +0 -13
- package/scripts/eslint_rules/lib/validate-timing-types.ts +0 -330
- package/scripts/eslint_rules/rules-dir.mjs +0 -78
- package/scripts/eslint_rules/tests/canvas-context-tracking.test.ts +0 -124
- package/scripts/eslint_rules/tests/check-css-import.test.ts +0 -43
- package/scripts/eslint_rules/tests/check-enumerated-histograms.test.ts +0 -31
- package/scripts/eslint_rules/tests/check-license-header.test.ts +0 -293
- package/scripts/eslint_rules/tests/check-test-definitions.test.ts +0 -155
- package/scripts/eslint_rules/tests/check-was-shown-methods.test.ts +0 -103
- package/scripts/eslint_rules/tests/check_css_import_test_file.css +0 -5
- package/scripts/eslint_rules/tests/enforce-custom-element-definitions-location.test.ts +0 -56
- package/scripts/eslint_rules/tests/enforce-custom-event-names.test.ts +0 -124
- package/scripts/eslint_rules/tests/enforce-default-import-name.test.ts +0 -53
- package/scripts/eslint_rules/tests/enforce-optional-properties-last.test.ts +0 -137
- package/scripts/eslint_rules/tests/enforce-ui-strings-as-const.test.ts +0 -35
- package/scripts/eslint_rules/tests/es-modules-import.test.ts +0 -332
- package/scripts/eslint_rules/tests/html-tagged-template.test.ts +0 -103
- package/scripts/eslint_rules/tests/inject-checkbox-styles.test.ts +0 -219
- package/scripts/eslint_rules/tests/inline-type-imports.test.ts +0 -82
- package/scripts/eslint_rules/tests/jslog-context-list.test.ts +0 -218
- package/scripts/eslint_rules/tests/l10n-filename-matches.test.ts +0 -90
- package/scripts/eslint_rules/tests/l10n-i18nString-call-only-with-uistrings.test.ts +0 -44
- package/scripts/eslint_rules/tests/l10n-no-i18nString-calls-module-instantiation.test.ts +0 -77
- package/scripts/eslint_rules/tests/l10n-no-locked-or-placeholder-only-phrase.test.ts +0 -45
- package/scripts/eslint_rules/tests/l10n-no-uistrings-export.test.ts +0 -50
- package/scripts/eslint_rules/tests/l10n-no-unused-message.test.ts +0 -119
- package/scripts/eslint_rules/tests/lit-no-attribute-quotes.test.ts +0 -43
- package/scripts/eslint_rules/tests/lit-template-result-or-nothing.test.ts +0 -142
- package/scripts/eslint_rules/tests/no-a-tags-in-lit.test.ts +0 -67
- package/scripts/eslint_rules/tests/no-adopted-style-sheets.test.ts +0 -52
- package/scripts/eslint_rules/tests/no-assert-deep-strict-equal.test.ts +0 -51
- package/scripts/eslint_rules/tests/no-assert-equal-boolean-null-undefined.test.ts +0 -207
- package/scripts/eslint_rules/tests/no-assert-equal.test.ts +0 -101
- package/scripts/eslint_rules/tests/no-assert-strict-equal-for-arrays-and-objects.test.ts +0 -87
- package/scripts/eslint_rules/tests/no-bound-component-methods.test.ts +0 -105
- package/scripts/eslint_rules/tests/no-commented-out-console.test.ts +0 -35
- package/scripts/eslint_rules/tests/no-commented-out-import.test.ts +0 -45
- package/scripts/eslint_rules/tests/no-customized-builtin-elements.test.ts +0 -150
- package/scripts/eslint_rules/tests/no-deprecated-component-usages.test.ts +0 -46
- package/scripts/eslint_rules/tests/no-document-body-mutation.test.ts +0 -45
- package/scripts/eslint_rules/tests/no-imperative-dom-api.test.ts +0 -1237
- package/scripts/eslint_rules/tests/no-importing-images-from-src.test.ts +0 -40
- package/scripts/eslint_rules/tests/no-imports-in-directory.test.ts +0 -104
- package/scripts/eslint_rules/tests/no-lit-render-outside-of-view.test.ts +0 -130
- package/scripts/eslint_rules/tests/no-new-lit-element-components.test.ts +0 -31
- package/scripts/eslint_rules/tests/no-self-closing-custom-element-tagnames.test.ts +0 -59
- package/scripts/eslint_rules/tests/no-underscored-properties.test.ts +0 -99
- package/scripts/eslint_rules/tests/prefer-assert-instance-of.test.ts +0 -195
- package/scripts/eslint_rules/tests/prefer-assert-is-ok.test.ts +0 -182
- package/scripts/eslint_rules/tests/prefer-assert-length-of.test.ts +0 -143
- package/scripts/eslint_rules/tests/prefer-assert-strict-equal.test.ts +0 -367
- package/scripts/eslint_rules/tests/prefer-private-class-members.test.ts +0 -59
- package/scripts/eslint_rules/tests/prefer-sinon-assert.test.ts +0 -333
- package/scripts/eslint_rules/tests/prefer-url-string.test.ts +0 -87
- package/scripts/eslint_rules/tests/set-data-type-reference.test.ts +0 -60
- package/scripts/eslint_rules/tests/static-custom-event-names.test.ts +0 -179
- package/scripts/eslint_rules/tests/trace-engine-test-timeouts.test.ts +0 -59
- package/scripts/eslint_rules/tests/utils/RuleTester.ts +0 -28
- package/scripts/eslint_rules/tests/utils.test.ts +0 -79
- package/scripts/eslint_rules/tests/validate-timing-types.test.ts +0 -289
- package/scripts/eslint_rules/tsconfig.json +0 -14
- package/scripts/extract_bugs.ts +0 -126
- package/scripts/generate_metric_compare_strings.js +0 -130
- package/scripts/hosted_mode/cert.pem +0 -21
- package/scripts/hosted_mode/key.pem +0 -28
- package/scripts/hosted_mode/server.js +0 -258
- package/scripts/javascript_natives/helpers.js +0 -232
- package/scripts/javascript_natives/index.js +0 -105
- package/scripts/javascript_natives/package.json +0 -9
- package/scripts/javascript_natives/test.d.ts +0 -13
- package/scripts/javascript_natives/tests.js +0 -195
- package/scripts/migration/class-fields/migrate.js +0 -77
- package/scripts/migration/class-fields/migrate.sh +0 -8
- package/scripts/migration/class-fields/package.json +0 -5
- package/scripts/migration/e2e_non_hosted_gemini.mjs +0 -102
- package/scripts/migration/web-tests-esm/rename-legacy-global.mjs +0 -129
- package/scripts/npm_test.js +0 -141
- package/scripts/protocol_typescript/protocol_dts_generator.ts +0 -470
- package/scripts/protocol_typescript/protocol_schema.d.ts +0 -97
- package/scripts/reformat-clang-js-ts.js +0 -71
- package/scripts/run_build.mjs +0 -128
- package/scripts/run_on_target.mjs +0 -88
- package/scripts/run_start.mjs +0 -236
- package/scripts/scaffold/README.md +0 -4
- package/scripts/scaffold/scaffold-widget.js +0 -167
- package/scripts/scaffold/templates/WidgetTemplate.css.txt +0 -9
- package/scripts/scaffold/templates/WidgetTemplate.ts.txt +0 -60
- package/scripts/search-trace-files.js +0 -66
- package/scripts/stylelint_rules/lib/use_theme_colors.mjs +0 -322
- package/scripts/stylelint_rules/tests/use_theme_colors.test.js +0 -515
- package/scripts/tools/update_goldens.py +0 -432
- package/scripts/tsconfig.json +0 -11
- package/scripts/utils.js +0 -160
- package/scripts/whitespaces.txt +0 -12
@@ -1,2196 +0,0 @@
|
|
1
|
-
// Copyright 2020 The Chromium Authors. All rights reserved.
|
2
|
-
// Use of this source code is governed by a BSD-style license that can be
|
3
|
-
// found in the LICENSE file.
|
4
|
-
|
5
|
-
import * as Protocol from '../../generated/protocol.js';
|
6
|
-
import * as Bindings from '../../models/bindings/bindings.js';
|
7
|
-
import * as Persistence from '../../models/persistence/persistence.js';
|
8
|
-
import * as TextUtils from '../../models/text_utils/text_utils.js';
|
9
|
-
import * as Workspace from '../../models/workspace/workspace.js';
|
10
|
-
import {createTarget, describeWithEnvironment, updateHostConfig} from '../../testing/EnvironmentHelpers.js';
|
11
|
-
import {describeWithMockConnection} from '../../testing/MockConnection.js';
|
12
|
-
import {createWorkspaceProject} from '../../testing/OverridesHelpers.js';
|
13
|
-
import * as Common from '../common/common.js';
|
14
|
-
import * as Platform from '../platform/platform.js';
|
15
|
-
import * as Root from '../root/root.js';
|
16
|
-
|
17
|
-
import * as SDK from './sdk.js';
|
18
|
-
|
19
|
-
const {urlString} = Platform.DevToolsPath;
|
20
|
-
const LONG_URL_PART =
|
21
|
-
'LoremIpsumDolorSitAmetConsecteturAdipiscingElitPhasellusVitaeOrciInAugueCondimentumTinciduntUtEgetDolorQuisqueEfficiturUltricesTinciduntVivamusVelitPurusCommodoQuisErosSitAmetTemporMalesuadaNislNullamTtempusVulputateAugueEgetScelerisqueLacusVestibulumNon/index.html';
|
22
|
-
|
23
|
-
describeWithMockConnection('NetworkManager', () => {
|
24
|
-
describe('Direct TCP socket handling', () => {
|
25
|
-
it('on CDP created event creates request ', () => {
|
26
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
27
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
28
|
-
const startedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
29
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestStarted, event => {
|
30
|
-
startedRequests.push(event.data.request);
|
31
|
-
});
|
32
|
-
|
33
|
-
networkDispatcher.directTCPSocketCreated({
|
34
|
-
identifier: 'mockId' as Protocol.Network.RequestId,
|
35
|
-
remoteAddr: 'example.com',
|
36
|
-
remotePort: 1001,
|
37
|
-
options: {
|
38
|
-
noDelay: true,
|
39
|
-
keepAliveDelay: 1002,
|
40
|
-
sendBufferSize: 1003,
|
41
|
-
receiveBufferSize: 1004,
|
42
|
-
dnsQueryType: Protocol.Network.DirectSocketDnsQueryType.Ipv4,
|
43
|
-
},
|
44
|
-
timestamp: 1000,
|
45
|
-
});
|
46
|
-
|
47
|
-
assert.lengthOf(startedRequests, 1);
|
48
|
-
const req: SDK.NetworkRequest.NetworkRequest = startedRequests[0];
|
49
|
-
|
50
|
-
assert.strictEqual(req.requestId(), 'mockId' as Protocol.Network.RequestId);
|
51
|
-
assert.strictEqual(req.remoteAddress(), 'example.com:1001');
|
52
|
-
assert.strictEqual(req.url(), urlString`example.com:1001`);
|
53
|
-
assert.isTrue(req.hasNetworkData);
|
54
|
-
assert.strictEqual(req.protocol, 'tcp');
|
55
|
-
assert.strictEqual(req.statusText, 'Opening');
|
56
|
-
assert.deepEqual(req.directSocketInfo, {
|
57
|
-
type: SDK.NetworkRequest.DirectSocketType.TCP,
|
58
|
-
status: SDK.NetworkRequest.DirectSocketStatus.OPENING,
|
59
|
-
createOptions: {
|
60
|
-
remoteAddr: 'example.com',
|
61
|
-
remotePort: 1001,
|
62
|
-
noDelay: true,
|
63
|
-
keepAliveDelay: 1002,
|
64
|
-
sendBufferSize: 1003,
|
65
|
-
receiveBufferSize: 1004,
|
66
|
-
dnsQueryType: Protocol.Network.DirectSocketDnsQueryType.Ipv4,
|
67
|
-
}
|
68
|
-
});
|
69
|
-
assert.strictEqual(req.resourceType(), Common.ResourceType.resourceTypes.DirectSocket);
|
70
|
-
assert.strictEqual(req.issueTime(), 1000);
|
71
|
-
assert.strictEqual(req.startTime, 1000);
|
72
|
-
});
|
73
|
-
|
74
|
-
describe('on CDP opened event', () => {
|
75
|
-
it('does nothing if no request exists', () => {
|
76
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
77
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
78
|
-
const updatedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
79
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestUpdated, event => {
|
80
|
-
updatedRequests.push(event.data);
|
81
|
-
});
|
82
|
-
|
83
|
-
networkDispatcher.directTCPSocketOpened({
|
84
|
-
identifier: 'mockId' as Protocol.Network.RequestId,
|
85
|
-
remoteAddr: 'example.com',
|
86
|
-
remotePort: 1001,
|
87
|
-
timestamp: 1000,
|
88
|
-
});
|
89
|
-
|
90
|
-
assert.lengthOf(updatedRequests, 0);
|
91
|
-
});
|
92
|
-
|
93
|
-
it('does nothing if the request has no direct socket info', () => {
|
94
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
95
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
96
|
-
const updatedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
97
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestUpdated, event => {
|
98
|
-
updatedRequests.push(event.data);
|
99
|
-
});
|
100
|
-
networkDispatcher.webTransportCreated(
|
101
|
-
{transportId: 'mockId' as Protocol.Network.RequestId, url: 'example.com', timestamp: 1000});
|
102
|
-
|
103
|
-
networkDispatcher.directTCPSocketOpened({
|
104
|
-
identifier: 'mockId' as Protocol.Network.RequestId,
|
105
|
-
remoteAddr: 'example.com',
|
106
|
-
remotePort: 1001,
|
107
|
-
timestamp: 1000,
|
108
|
-
});
|
109
|
-
|
110
|
-
assert.lengthOf(updatedRequests, 0);
|
111
|
-
});
|
112
|
-
|
113
|
-
it('updates request successfully', () => {
|
114
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
115
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
116
|
-
const updatedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
117
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestUpdated, event => {
|
118
|
-
updatedRequests.push(event.data);
|
119
|
-
});
|
120
|
-
|
121
|
-
networkDispatcher.directTCPSocketCreated({
|
122
|
-
identifier: 'mockId' as Protocol.Network.RequestId,
|
123
|
-
remoteAddr: 'example.com',
|
124
|
-
remotePort: 1001,
|
125
|
-
options: {
|
126
|
-
noDelay: true,
|
127
|
-
keepAliveDelay: 1002,
|
128
|
-
sendBufferSize: 1003,
|
129
|
-
receiveBufferSize: 1004,
|
130
|
-
dnsQueryType: Protocol.Network.DirectSocketDnsQueryType.Ipv4,
|
131
|
-
},
|
132
|
-
timestamp: 1000,
|
133
|
-
});
|
134
|
-
assert.lengthOf(updatedRequests, 0);
|
135
|
-
|
136
|
-
// update the request and check all fields are filled as necessary
|
137
|
-
networkDispatcher.directTCPSocketOpened({
|
138
|
-
identifier: 'mockId' as Protocol.Network.RequestId,
|
139
|
-
remoteAddr: '192.81.29.1',
|
140
|
-
remotePort: 1010,
|
141
|
-
timestamp: 2000,
|
142
|
-
localAddr: '127.0.0.1',
|
143
|
-
localPort: 8000,
|
144
|
-
});
|
145
|
-
assert.lengthOf(updatedRequests, 1);
|
146
|
-
|
147
|
-
const req: SDK.NetworkRequest.NetworkRequest = updatedRequests[0];
|
148
|
-
assert.deepEqual(req.directSocketInfo, {
|
149
|
-
type: SDK.NetworkRequest.DirectSocketType.TCP,
|
150
|
-
status: SDK.NetworkRequest.DirectSocketStatus.OPEN,
|
151
|
-
createOptions: {
|
152
|
-
remoteAddr: 'example.com',
|
153
|
-
remotePort: 1001,
|
154
|
-
noDelay: true,
|
155
|
-
keepAliveDelay: 1002,
|
156
|
-
sendBufferSize: 1003,
|
157
|
-
receiveBufferSize: 1004,
|
158
|
-
dnsQueryType: Protocol.Network.DirectSocketDnsQueryType.Ipv4,
|
159
|
-
},
|
160
|
-
openInfo: {
|
161
|
-
remoteAddr: '192.81.29.1',
|
162
|
-
remotePort: 1010,
|
163
|
-
localAddr: '127.0.0.1',
|
164
|
-
localPort: 8000,
|
165
|
-
}
|
166
|
-
});
|
167
|
-
});
|
168
|
-
});
|
169
|
-
|
170
|
-
describe('on CDP event aborted', () => {
|
171
|
-
it('does nothing if no request exists', () => {
|
172
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
173
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
174
|
-
const finishedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
175
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestFinished, event => {
|
176
|
-
finishedRequests.push(event.data);
|
177
|
-
});
|
178
|
-
|
179
|
-
networkDispatcher.directTCPSocketAborted({
|
180
|
-
identifier: 'mockId' as Protocol.Network.RequestId,
|
181
|
-
errorMessage: 'mock error message',
|
182
|
-
timestamp: 1000,
|
183
|
-
});
|
184
|
-
|
185
|
-
assert.lengthOf(finishedRequests, 0);
|
186
|
-
});
|
187
|
-
|
188
|
-
it('does nothing if the request has no direct socket info', () => {
|
189
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
190
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
191
|
-
const finishedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
192
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestFinished, event => {
|
193
|
-
finishedRequests.push(event.data);
|
194
|
-
});
|
195
|
-
networkDispatcher.webTransportCreated(
|
196
|
-
{transportId: 'mockId' as Protocol.Network.RequestId, url: 'example.com', timestamp: 1000});
|
197
|
-
|
198
|
-
networkDispatcher.directTCPSocketAborted({
|
199
|
-
identifier: 'mockId' as Protocol.Network.RequestId,
|
200
|
-
errorMessage: 'mock error message',
|
201
|
-
timestamp: 1000,
|
202
|
-
});
|
203
|
-
|
204
|
-
assert.lengthOf(finishedRequests, 0);
|
205
|
-
});
|
206
|
-
|
207
|
-
it('updates request successfully', () => {
|
208
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
209
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
210
|
-
const finishedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
211
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestFinished, event => {
|
212
|
-
finishedRequests.push(event.data);
|
213
|
-
});
|
214
|
-
|
215
|
-
networkDispatcher.directTCPSocketCreated({
|
216
|
-
identifier: 'mockId' as Protocol.Network.RequestId,
|
217
|
-
remoteAddr: 'example.com',
|
218
|
-
remotePort: 1001,
|
219
|
-
options: {
|
220
|
-
noDelay: true,
|
221
|
-
keepAliveDelay: 1002,
|
222
|
-
sendBufferSize: 1003,
|
223
|
-
receiveBufferSize: 1004,
|
224
|
-
dnsQueryType: Protocol.Network.DirectSocketDnsQueryType.Ipv4,
|
225
|
-
},
|
226
|
-
timestamp: 1000,
|
227
|
-
});
|
228
|
-
assert.lengthOf(finishedRequests, 0);
|
229
|
-
|
230
|
-
// update the request and check all fields are filled as necessary
|
231
|
-
networkDispatcher.directTCPSocketAborted({
|
232
|
-
identifier: 'mockId' as Protocol.Network.RequestId,
|
233
|
-
errorMessage: 'mock error message',
|
234
|
-
timestamp: 1000,
|
235
|
-
});
|
236
|
-
assert.lengthOf(finishedRequests, 1);
|
237
|
-
|
238
|
-
const req: SDK.NetworkRequest.NetworkRequest = finishedRequests[0];
|
239
|
-
assert.strictEqual(req.statusText, 'Aborted');
|
240
|
-
assert.isTrue(req.failed);
|
241
|
-
assert.isTrue(req.finished);
|
242
|
-
assert.deepEqual(req.directSocketInfo, {
|
243
|
-
type: SDK.NetworkRequest.DirectSocketType.TCP,
|
244
|
-
status: SDK.NetworkRequest.DirectSocketStatus.ABORTED,
|
245
|
-
errorMessage: 'mock error message',
|
246
|
-
createOptions: {
|
247
|
-
remoteAddr: 'example.com',
|
248
|
-
remotePort: 1001,
|
249
|
-
noDelay: true,
|
250
|
-
keepAliveDelay: 1002,
|
251
|
-
sendBufferSize: 1003,
|
252
|
-
receiveBufferSize: 1004,
|
253
|
-
dnsQueryType: Protocol.Network.DirectSocketDnsQueryType.Ipv4,
|
254
|
-
},
|
255
|
-
});
|
256
|
-
});
|
257
|
-
});
|
258
|
-
|
259
|
-
describe('on CDP event closed', () => {
|
260
|
-
it('does nothing if no request exists', () => {
|
261
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
262
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
263
|
-
const finishedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
264
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestFinished, event => {
|
265
|
-
finishedRequests.push(event.data);
|
266
|
-
});
|
267
|
-
|
268
|
-
networkDispatcher.directTCPSocketClosed({
|
269
|
-
identifier: 'mockId' as Protocol.Network.RequestId,
|
270
|
-
timestamp: 1000,
|
271
|
-
});
|
272
|
-
|
273
|
-
assert.lengthOf(finishedRequests, 0);
|
274
|
-
});
|
275
|
-
|
276
|
-
it('does nothing if the request has no direct socket info', () => {
|
277
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
278
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
279
|
-
const finishedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
280
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestFinished, event => {
|
281
|
-
finishedRequests.push(event.data);
|
282
|
-
});
|
283
|
-
networkDispatcher.webTransportCreated(
|
284
|
-
{transportId: 'mockId' as Protocol.Network.RequestId, url: 'example.com', timestamp: 1000});
|
285
|
-
|
286
|
-
networkDispatcher.directTCPSocketClosed({
|
287
|
-
identifier: 'mockId' as Protocol.Network.RequestId,
|
288
|
-
timestamp: 1000,
|
289
|
-
});
|
290
|
-
|
291
|
-
assert.lengthOf(finishedRequests, 0);
|
292
|
-
});
|
293
|
-
|
294
|
-
it('updates request successfully', () => {
|
295
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
296
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
297
|
-
const finishedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
298
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestFinished, event => {
|
299
|
-
finishedRequests.push(event.data);
|
300
|
-
});
|
301
|
-
|
302
|
-
networkDispatcher.directTCPSocketCreated({
|
303
|
-
identifier: 'mockId' as Protocol.Network.RequestId,
|
304
|
-
remoteAddr: 'example.com',
|
305
|
-
remotePort: 1001,
|
306
|
-
options: {
|
307
|
-
noDelay: true,
|
308
|
-
keepAliveDelay: 1002,
|
309
|
-
sendBufferSize: 1003,
|
310
|
-
receiveBufferSize: 1004,
|
311
|
-
dnsQueryType: Protocol.Network.DirectSocketDnsQueryType.Ipv4,
|
312
|
-
},
|
313
|
-
timestamp: 1000,
|
314
|
-
});
|
315
|
-
assert.lengthOf(finishedRequests, 0);
|
316
|
-
|
317
|
-
networkDispatcher.directTCPSocketClosed({
|
318
|
-
identifier: 'mockId' as Protocol.Network.RequestId,
|
319
|
-
timestamp: 1000,
|
320
|
-
});
|
321
|
-
assert.lengthOf(finishedRequests, 1);
|
322
|
-
|
323
|
-
const req: SDK.NetworkRequest.NetworkRequest = finishedRequests[0];
|
324
|
-
assert.strictEqual(req.statusText, 'Closed');
|
325
|
-
assert.notExists(req.failed);
|
326
|
-
assert.isTrue(req.finished);
|
327
|
-
assert.deepEqual(req.directSocketInfo, {
|
328
|
-
type: SDK.NetworkRequest.DirectSocketType.TCP,
|
329
|
-
status: SDK.NetworkRequest.DirectSocketStatus.CLOSED,
|
330
|
-
createOptions: {
|
331
|
-
remoteAddr: 'example.com',
|
332
|
-
remotePort: 1001,
|
333
|
-
noDelay: true,
|
334
|
-
keepAliveDelay: 1002,
|
335
|
-
sendBufferSize: 1003,
|
336
|
-
receiveBufferSize: 1004,
|
337
|
-
dnsQueryType: Protocol.Network.DirectSocketDnsQueryType.Ipv4,
|
338
|
-
},
|
339
|
-
});
|
340
|
-
});
|
341
|
-
});
|
342
|
-
|
343
|
-
describe('on CDP chunk event', () => {
|
344
|
-
let networkManager: SDK.NetworkManager.NetworkManager;
|
345
|
-
let networkDispatcher: SDK.NetworkManager.NetworkDispatcher;
|
346
|
-
let updatedRequests: SDK.NetworkRequest.NetworkRequest[];
|
347
|
-
let targetRequest: SDK.NetworkRequest.NetworkRequest|null;
|
348
|
-
const mockIdentifier = 'mockParamChunkId' as Protocol.Network.RequestId;
|
349
|
-
const baseTimestamp = 1000;
|
350
|
-
|
351
|
-
beforeEach(() => {
|
352
|
-
networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
353
|
-
networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
354
|
-
updatedRequests = [];
|
355
|
-
targetRequest = null;
|
356
|
-
|
357
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestStarted, event => {
|
358
|
-
if (event.data.request.requestId() === mockIdentifier) {
|
359
|
-
targetRequest = event.data.request;
|
360
|
-
}
|
361
|
-
});
|
362
|
-
|
363
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestUpdated, event => {
|
364
|
-
updatedRequests.push(event.data);
|
365
|
-
});
|
366
|
-
|
367
|
-
networkDispatcher.directTCPSocketCreated({
|
368
|
-
identifier: mockIdentifier,
|
369
|
-
remoteAddr: 'example-param.com',
|
370
|
-
remotePort: 1005,
|
371
|
-
options: {
|
372
|
-
noDelay: true,
|
373
|
-
keepAliveDelay: 1002,
|
374
|
-
sendBufferSize: 1003,
|
375
|
-
receiveBufferSize: 1004,
|
376
|
-
dnsQueryType: Protocol.Network.DirectSocketDnsQueryType.Ipv4,
|
377
|
-
},
|
378
|
-
timestamp: baseTimestamp,
|
379
|
-
});
|
380
|
-
});
|
381
|
-
|
382
|
-
const testCases = [
|
383
|
-
{
|
384
|
-
description: 'adds SENT chunk to request successfully',
|
385
|
-
eventPayload: {data: 'c2VudCBkYXRh', timestamp: 3000},
|
386
|
-
expectedChunk: {
|
387
|
-
type: SDK.NetworkRequest.DirectSocketChunkType.SEND,
|
388
|
-
data: 'c2VudCBkYXRh',
|
389
|
-
timestamp: 3000,
|
390
|
-
}
|
391
|
-
},
|
392
|
-
{
|
393
|
-
description: 'adds RECEIVED chunk to request successfully',
|
394
|
-
eventPayload: {data: 'cmVjZWl2ZWQgZGF0YQ==', timestamp: 4000},
|
395
|
-
expectedChunk: {
|
396
|
-
type: SDK.NetworkRequest.DirectSocketChunkType.RECEIVE,
|
397
|
-
data: 'cmVjZWl2ZWQgZGF0YQ==',
|
398
|
-
timestamp: 4000,
|
399
|
-
}
|
400
|
-
},
|
401
|
-
];
|
402
|
-
|
403
|
-
testCases.forEach(testCase => {
|
404
|
-
it(testCase.description, () => {
|
405
|
-
assert.exists(targetRequest, 'Target request should be created in beforeEach');
|
406
|
-
assert.lengthOf(updatedRequests, 0, 'No updates should occur during initial setup');
|
407
|
-
|
408
|
-
switch (testCase.expectedChunk.type) {
|
409
|
-
case SDK.NetworkRequest.DirectSocketChunkType.SEND:
|
410
|
-
networkDispatcher.directTCPSocketChunkSent({
|
411
|
-
identifier: mockIdentifier,
|
412
|
-
data: testCase.eventPayload.data!,
|
413
|
-
timestamp: testCase.eventPayload.timestamp,
|
414
|
-
});
|
415
|
-
break;
|
416
|
-
case SDK.NetworkRequest.DirectSocketChunkType.RECEIVE:
|
417
|
-
networkDispatcher.directTCPSocketChunkReceived({
|
418
|
-
identifier: mockIdentifier,
|
419
|
-
data: testCase.eventPayload.data!,
|
420
|
-
timestamp: testCase.eventPayload.timestamp,
|
421
|
-
});
|
422
|
-
break;
|
423
|
-
}
|
424
|
-
|
425
|
-
assert.lengthOf(updatedRequests, 1, 'Should trigger exactly one update');
|
426
|
-
const req = updatedRequests[0];
|
427
|
-
|
428
|
-
assert.strictEqual(req.requestId(), mockIdentifier);
|
429
|
-
assert.strictEqual(
|
430
|
-
req.responseReceivedTime, testCase.eventPayload.timestamp, 'responseReceivedTime should be updated');
|
431
|
-
|
432
|
-
const chunks = req.directSocketChunks();
|
433
|
-
assert.lengthOf(chunks, 1, 'Should have exactly one chunk added');
|
434
|
-
assert.deepEqual(chunks[0], testCase.expectedChunk, 'Chunk details should match expected');
|
435
|
-
});
|
436
|
-
});
|
437
|
-
});
|
438
|
-
});
|
439
|
-
|
440
|
-
describe('Direct UDP socket handling', () => {
|
441
|
-
describe('on CDP created event', () => {
|
442
|
-
it('creates request for connected UDP', () => {
|
443
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
444
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
445
|
-
const startedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
446
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestStarted, event => {
|
447
|
-
startedRequests.push(event.data.request);
|
448
|
-
});
|
449
|
-
|
450
|
-
// remoteAddress/remotePort and localAddress/localPort
|
451
|
-
// pairs cannot be specified together.
|
452
|
-
networkDispatcher.directUDPSocketCreated({
|
453
|
-
identifier: 'mockUdpId1' as Protocol.Network.RequestId,
|
454
|
-
options: {
|
455
|
-
remoteAddr: 'example.com',
|
456
|
-
remotePort: 2001,
|
457
|
-
sendBufferSize: 2003,
|
458
|
-
receiveBufferSize: 2004,
|
459
|
-
dnsQueryType: Protocol.Network.DirectSocketDnsQueryType.Ipv6,
|
460
|
-
},
|
461
|
-
timestamp: 2000,
|
462
|
-
});
|
463
|
-
|
464
|
-
assert.lengthOf(startedRequests, 1);
|
465
|
-
const req: SDK.NetworkRequest.NetworkRequest = startedRequests[0];
|
466
|
-
|
467
|
-
assert.strictEqual(req.requestId(), 'mockUdpId1' as Protocol.Network.RequestId);
|
468
|
-
assert.strictEqual(req.remoteAddress(), 'example.com:2001');
|
469
|
-
assert.strictEqual(req.url(), urlString`example.com:2001`);
|
470
|
-
assert.isTrue(req.hasNetworkData);
|
471
|
-
assert.strictEqual(req.protocol, 'udp');
|
472
|
-
assert.strictEqual(req.statusText, 'Opening');
|
473
|
-
assert.deepEqual(req.directSocketInfo, {
|
474
|
-
type: SDK.NetworkRequest.DirectSocketType.UDP_CONNECTED,
|
475
|
-
status: SDK.NetworkRequest.DirectSocketStatus.OPENING,
|
476
|
-
createOptions: {
|
477
|
-
remoteAddr: 'example.com',
|
478
|
-
remotePort: 2001,
|
479
|
-
localAddr: undefined,
|
480
|
-
localPort: undefined,
|
481
|
-
sendBufferSize: 2003,
|
482
|
-
receiveBufferSize: 2004,
|
483
|
-
dnsQueryType: Protocol.Network.DirectSocketDnsQueryType.Ipv6,
|
484
|
-
}
|
485
|
-
});
|
486
|
-
assert.strictEqual(req.resourceType(), Common.ResourceType.resourceTypes.DirectSocket);
|
487
|
-
assert.strictEqual(req.issueTime(), 2000);
|
488
|
-
assert.strictEqual(req.startTime, 2000);
|
489
|
-
});
|
490
|
-
|
491
|
-
it('creates request for bound UDP', () => {
|
492
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
493
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
494
|
-
const startedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
495
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestStarted, event => {
|
496
|
-
startedRequests.push(event.data.request);
|
497
|
-
});
|
498
|
-
|
499
|
-
networkDispatcher.directUDPSocketCreated({
|
500
|
-
identifier: 'mockUdpId2' as Protocol.Network.RequestId,
|
501
|
-
options: {
|
502
|
-
localAddr: '192.168.0.1',
|
503
|
-
localPort: 2005,
|
504
|
-
sendBufferSize: 2006,
|
505
|
-
receiveBufferSize: 2007,
|
506
|
-
},
|
507
|
-
timestamp: 2100,
|
508
|
-
});
|
509
|
-
|
510
|
-
assert.lengthOf(startedRequests, 1);
|
511
|
-
const req: SDK.NetworkRequest.NetworkRequest = startedRequests[0];
|
512
|
-
|
513
|
-
assert.strictEqual(req.requestId(), 'mockUdpId2' as Protocol.Network.RequestId);
|
514
|
-
// No remote address for bound UDP initially
|
515
|
-
assert.strictEqual(req.remoteAddress(), '');
|
516
|
-
// URL uses localAddr if remoteAddr is not present
|
517
|
-
assert.strictEqual(req.url(), urlString`192.168.0.1:2005`);
|
518
|
-
assert.isTrue(req.hasNetworkData);
|
519
|
-
assert.strictEqual(req.protocol, 'udp');
|
520
|
-
assert.strictEqual(req.statusText, 'Opening');
|
521
|
-
assert.deepEqual(req.directSocketInfo, {
|
522
|
-
type: SDK.NetworkRequest.DirectSocketType.UDP_BOUND,
|
523
|
-
status: SDK.NetworkRequest.DirectSocketStatus.OPENING,
|
524
|
-
createOptions: {
|
525
|
-
remoteAddr: undefined,
|
526
|
-
remotePort: undefined,
|
527
|
-
localAddr: '192.168.0.1',
|
528
|
-
localPort: 2005,
|
529
|
-
sendBufferSize: 2006,
|
530
|
-
receiveBufferSize: 2007,
|
531
|
-
dnsQueryType: undefined,
|
532
|
-
}
|
533
|
-
});
|
534
|
-
assert.strictEqual(req.resourceType(), Common.ResourceType.resourceTypes.DirectSocket);
|
535
|
-
assert.strictEqual(req.issueTime(), 2100);
|
536
|
-
assert.strictEqual(req.startTime, 2100);
|
537
|
-
});
|
538
|
-
|
539
|
-
it('does nothing if no localAddr for bound UDP', () => {
|
540
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
541
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
542
|
-
const startedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
543
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestStarted, event => {
|
544
|
-
startedRequests.push(event.data.request);
|
545
|
-
});
|
546
|
-
|
547
|
-
networkDispatcher.directUDPSocketCreated({
|
548
|
-
identifier: 'mockUdpId3' as Protocol.Network.RequestId,
|
549
|
-
options: {
|
550
|
-
// Skip request if remoteAddr and localAddr are both absent.
|
551
|
-
},
|
552
|
-
timestamp: 2200,
|
553
|
-
});
|
554
|
-
|
555
|
-
assert.lengthOf(startedRequests, 0);
|
556
|
-
});
|
557
|
-
});
|
558
|
-
|
559
|
-
describe('on CDP opened event', () => {
|
560
|
-
it('does nothing if no request exists', () => {
|
561
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
562
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
563
|
-
const updatedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
564
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestUpdated, event => {
|
565
|
-
updatedRequests.push(event.data);
|
566
|
-
});
|
567
|
-
|
568
|
-
networkDispatcher.directUDPSocketOpened({
|
569
|
-
identifier: 'mockUdpId' as Protocol.Network.RequestId,
|
570
|
-
localAddr: '127.0.0.1',
|
571
|
-
localPort: 2002,
|
572
|
-
timestamp: 2000,
|
573
|
-
});
|
574
|
-
|
575
|
-
assert.lengthOf(updatedRequests, 0);
|
576
|
-
});
|
577
|
-
|
578
|
-
it('does nothing if the request has no direct socket info', () => {
|
579
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
580
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
581
|
-
const updatedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
582
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestUpdated, event => {
|
583
|
-
updatedRequests.push(event.data);
|
584
|
-
});
|
585
|
-
networkDispatcher.webTransportCreated(
|
586
|
-
{transportId: 'mockUdpId' as Protocol.Network.RequestId, url: 'example.com', timestamp: 2000});
|
587
|
-
|
588
|
-
networkDispatcher.directUDPSocketOpened({
|
589
|
-
identifier: 'mockUdpId' as Protocol.Network.RequestId,
|
590
|
-
localAddr: '127.0.0.1',
|
591
|
-
localPort: 2002,
|
592
|
-
timestamp: 2000,
|
593
|
-
});
|
594
|
-
|
595
|
-
assert.lengthOf(updatedRequests, 0);
|
596
|
-
});
|
597
|
-
|
598
|
-
it('updates request successfully for connected UDP', () => {
|
599
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
600
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
601
|
-
const updatedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
602
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestUpdated, event => {
|
603
|
-
updatedRequests.push(event.data);
|
604
|
-
});
|
605
|
-
|
606
|
-
networkDispatcher.directUDPSocketCreated({
|
607
|
-
identifier: 'mockUdpId' as Protocol.Network.RequestId,
|
608
|
-
options: {
|
609
|
-
remoteAddr: 'example.com',
|
610
|
-
remotePort: 2001,
|
611
|
-
},
|
612
|
-
timestamp: 2000,
|
613
|
-
});
|
614
|
-
assert.lengthOf(updatedRequests, 0);
|
615
|
-
|
616
|
-
networkDispatcher.directUDPSocketOpened({
|
617
|
-
identifier: 'mockUdpId' as Protocol.Network.RequestId,
|
618
|
-
localAddr: '127.0.0.1',
|
619
|
-
localPort: 8001,
|
620
|
-
remoteAddr: '192.168.1.1',
|
621
|
-
remotePort: 2010,
|
622
|
-
timestamp: 2050,
|
623
|
-
});
|
624
|
-
assert.lengthOf(updatedRequests, 1);
|
625
|
-
|
626
|
-
const req: SDK.NetworkRequest.NetworkRequest = updatedRequests[0];
|
627
|
-
assert.strictEqual(req.remoteAddress(), '192.168.1.1:2010');
|
628
|
-
assert.strictEqual(req.url(), urlString`192.168.1.1:2010`);
|
629
|
-
assert.strictEqual(req.statusText, 'Open');
|
630
|
-
assert.deepEqual(req.directSocketInfo?.status, SDK.NetworkRequest.DirectSocketStatus.OPEN);
|
631
|
-
assert.deepEqual(req.directSocketInfo?.openInfo, {
|
632
|
-
remoteAddr: '192.168.1.1',
|
633
|
-
remotePort: 2010,
|
634
|
-
localAddr: '127.0.0.1',
|
635
|
-
localPort: 8001,
|
636
|
-
});
|
637
|
-
assert.strictEqual(req.responseReceivedTime, 2050);
|
638
|
-
});
|
639
|
-
|
640
|
-
it('updates request successfully for bound UDP', () => {
|
641
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
642
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
643
|
-
const updatedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
644
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestUpdated, event => {
|
645
|
-
updatedRequests.push(event.data);
|
646
|
-
});
|
647
|
-
|
648
|
-
networkDispatcher.directUDPSocketCreated({
|
649
|
-
identifier: 'mockUdpBoundId' as Protocol.Network.RequestId,
|
650
|
-
options: {
|
651
|
-
localAddr: '0.0.0.0',
|
652
|
-
localPort: 7000,
|
653
|
-
},
|
654
|
-
timestamp: 2100,
|
655
|
-
});
|
656
|
-
assert.lengthOf(updatedRequests, 0);
|
657
|
-
|
658
|
-
networkDispatcher.directUDPSocketOpened({
|
659
|
-
identifier: 'mockUdpBoundId' as Protocol.Network.RequestId,
|
660
|
-
localAddr: '192.168.0.5',
|
661
|
-
localPort: 7000,
|
662
|
-
// No remoteAddr/remotePort for bound socket open event
|
663
|
-
timestamp: 2150,
|
664
|
-
});
|
665
|
-
assert.lengthOf(updatedRequests, 1);
|
666
|
-
|
667
|
-
const req: SDK.NetworkRequest.NetworkRequest = updatedRequests[0];
|
668
|
-
assert.strictEqual(req.remoteAddress(), ''); // Still no remote address
|
669
|
-
assert.strictEqual(req.url(), urlString`192.168.0.5:7000`); // URL updated with resolved local address
|
670
|
-
assert.strictEqual(req.statusText, 'Open');
|
671
|
-
assert.deepEqual(req.directSocketInfo?.status, SDK.NetworkRequest.DirectSocketStatus.OPEN);
|
672
|
-
assert.deepEqual(req.directSocketInfo?.openInfo, {
|
673
|
-
remoteAddr: undefined,
|
674
|
-
remotePort: undefined,
|
675
|
-
localAddr: '192.168.0.5',
|
676
|
-
localPort: 7000,
|
677
|
-
});
|
678
|
-
assert.strictEqual(req.responseReceivedTime, 2150);
|
679
|
-
});
|
680
|
-
});
|
681
|
-
|
682
|
-
describe('on CDP event aborted', () => {
|
683
|
-
it('does nothing if no request exists', () => {
|
684
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
685
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
686
|
-
const finishedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
687
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestFinished, event => {
|
688
|
-
finishedRequests.push(event.data);
|
689
|
-
});
|
690
|
-
|
691
|
-
networkDispatcher.directUDPSocketAborted({
|
692
|
-
identifier: 'mockUdpId' as Protocol.Network.RequestId,
|
693
|
-
errorMessage: 'mock udp error',
|
694
|
-
timestamp: 2000,
|
695
|
-
});
|
696
|
-
|
697
|
-
assert.lengthOf(finishedRequests, 0);
|
698
|
-
});
|
699
|
-
|
700
|
-
it('does nothing if the request has no direct socket info', () => {
|
701
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
702
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
703
|
-
const finishedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
704
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestFinished, event => {
|
705
|
-
finishedRequests.push(event.data);
|
706
|
-
});
|
707
|
-
networkDispatcher.webTransportCreated(
|
708
|
-
{transportId: 'mockUdpId' as Protocol.Network.RequestId, url: 'example.com', timestamp: 2000});
|
709
|
-
|
710
|
-
networkDispatcher.directUDPSocketAborted({
|
711
|
-
identifier: 'mockUdpId' as Protocol.Network.RequestId,
|
712
|
-
errorMessage: 'mock udp error',
|
713
|
-
timestamp: 2000,
|
714
|
-
});
|
715
|
-
|
716
|
-
assert.lengthOf(finishedRequests, 0);
|
717
|
-
});
|
718
|
-
|
719
|
-
it('updates request successfully', () => {
|
720
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
721
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
722
|
-
const finishedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
723
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestFinished, event => {
|
724
|
-
finishedRequests.push(event.data);
|
725
|
-
});
|
726
|
-
|
727
|
-
networkDispatcher.directUDPSocketCreated({
|
728
|
-
identifier: 'mockUdpId' as Protocol.Network.RequestId,
|
729
|
-
options: {
|
730
|
-
remoteAddr: 'example.com',
|
731
|
-
remotePort: 2001,
|
732
|
-
},
|
733
|
-
timestamp: 2000,
|
734
|
-
});
|
735
|
-
assert.lengthOf(finishedRequests, 0);
|
736
|
-
|
737
|
-
networkDispatcher.directUDPSocketAborted({
|
738
|
-
identifier: 'mockUdpId' as Protocol.Network.RequestId,
|
739
|
-
errorMessage: 'UDP aborted by peer',
|
740
|
-
timestamp: 2050,
|
741
|
-
});
|
742
|
-
assert.lengthOf(finishedRequests, 1);
|
743
|
-
|
744
|
-
const req: SDK.NetworkRequest.NetworkRequest = finishedRequests[0];
|
745
|
-
assert.strictEqual(req.statusText, 'Aborted');
|
746
|
-
assert.isTrue(req.failed);
|
747
|
-
assert.isTrue(req.finished);
|
748
|
-
assert.strictEqual(req.endTime, 2050);
|
749
|
-
assert.deepEqual(req.directSocketInfo?.status, SDK.NetworkRequest.DirectSocketStatus.ABORTED);
|
750
|
-
assert.strictEqual(req.directSocketInfo?.errorMessage, 'UDP aborted by peer');
|
751
|
-
});
|
752
|
-
});
|
753
|
-
|
754
|
-
describe('on CDP event closed', () => {
|
755
|
-
it('does nothing if no request exists', () => {
|
756
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
757
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
758
|
-
const finishedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
759
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestFinished, event => {
|
760
|
-
finishedRequests.push(event.data);
|
761
|
-
});
|
762
|
-
|
763
|
-
networkDispatcher.directUDPSocketClosed({
|
764
|
-
identifier: 'mockUdpId' as Protocol.Network.RequestId,
|
765
|
-
timestamp: 2000,
|
766
|
-
});
|
767
|
-
|
768
|
-
assert.lengthOf(finishedRequests, 0);
|
769
|
-
});
|
770
|
-
|
771
|
-
it('does nothing if the request has no direct socket info', () => {
|
772
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
773
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
774
|
-
const finishedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
775
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestFinished, event => {
|
776
|
-
finishedRequests.push(event.data);
|
777
|
-
});
|
778
|
-
networkDispatcher.webTransportCreated(
|
779
|
-
{transportId: 'mockUdpId' as Protocol.Network.RequestId, url: 'example.com', timestamp: 2000});
|
780
|
-
|
781
|
-
networkDispatcher.directUDPSocketClosed({
|
782
|
-
identifier: 'mockUdpId' as Protocol.Network.RequestId,
|
783
|
-
timestamp: 2000,
|
784
|
-
});
|
785
|
-
|
786
|
-
assert.lengthOf(finishedRequests, 0);
|
787
|
-
});
|
788
|
-
|
789
|
-
it('updates request successfully', () => {
|
790
|
-
const networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
791
|
-
const networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
792
|
-
const finishedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
793
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestFinished, event => {
|
794
|
-
finishedRequests.push(event.data);
|
795
|
-
});
|
796
|
-
|
797
|
-
networkDispatcher.directUDPSocketCreated({
|
798
|
-
identifier: 'mockUdpId' as Protocol.Network.RequestId,
|
799
|
-
options: {
|
800
|
-
remoteAddr: 'example.com',
|
801
|
-
remotePort: 2001,
|
802
|
-
},
|
803
|
-
timestamp: 2000,
|
804
|
-
});
|
805
|
-
assert.lengthOf(finishedRequests, 0);
|
806
|
-
|
807
|
-
networkDispatcher.directUDPSocketClosed({
|
808
|
-
identifier: 'mockUdpId' as Protocol.Network.RequestId,
|
809
|
-
timestamp: 2050,
|
810
|
-
});
|
811
|
-
assert.lengthOf(finishedRequests, 1);
|
812
|
-
|
813
|
-
const req: SDK.NetworkRequest.NetworkRequest = finishedRequests[0];
|
814
|
-
assert.strictEqual(req.statusText, 'Closed');
|
815
|
-
assert.notExists(req.failed);
|
816
|
-
assert.isTrue(req.finished);
|
817
|
-
assert.strictEqual(req.endTime, 2050);
|
818
|
-
assert.deepEqual(req.directSocketInfo?.status, SDK.NetworkRequest.DirectSocketStatus.CLOSED);
|
819
|
-
});
|
820
|
-
});
|
821
|
-
|
822
|
-
describe('on CDP chunk event', () => {
|
823
|
-
let networkManager: SDK.NetworkManager.NetworkManager;
|
824
|
-
let networkDispatcher: SDK.NetworkManager.NetworkDispatcher;
|
825
|
-
let updatedRequests: SDK.NetworkRequest.NetworkRequest[];
|
826
|
-
let targetRequest: SDK.NetworkRequest.NetworkRequest|null;
|
827
|
-
const mockIdentifier = 'mockUdpChunkId' as Protocol.Network.RequestId;
|
828
|
-
const baseTimestamp = 3000;
|
829
|
-
|
830
|
-
beforeEach(() => {
|
831
|
-
networkManager = new SDK.NetworkManager.NetworkManager(createTarget());
|
832
|
-
networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager);
|
833
|
-
updatedRequests = [];
|
834
|
-
targetRequest = null;
|
835
|
-
|
836
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestStarted, event => {
|
837
|
-
if (event.data.request.requestId() === mockIdentifier) {
|
838
|
-
targetRequest = event.data.request;
|
839
|
-
}
|
840
|
-
});
|
841
|
-
|
842
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestUpdated, event => {
|
843
|
-
updatedRequests.push(event.data);
|
844
|
-
});
|
845
|
-
|
846
|
-
networkDispatcher.directUDPSocketCreated({
|
847
|
-
identifier: mockIdentifier,
|
848
|
-
options: {
|
849
|
-
remoteAddr: 'udp-example.com',
|
850
|
-
remotePort: 3005,
|
851
|
-
},
|
852
|
-
timestamp: baseTimestamp,
|
853
|
-
});
|
854
|
-
});
|
855
|
-
|
856
|
-
const testCases = [
|
857
|
-
{
|
858
|
-
description: 'adds SENT chunk to request successfully (connected)',
|
859
|
-
eventPayload: {
|
860
|
-
// No remoteAddr/Port for connected.
|
861
|
-
message: {data: 'c2VudCBkYXRh=='},
|
862
|
-
timestamp: 3100
|
863
|
-
},
|
864
|
-
expectedChunk: {
|
865
|
-
type: SDK.NetworkRequest.DirectSocketChunkType.SEND,
|
866
|
-
data: 'c2VudCBkYXRh==',
|
867
|
-
timestamp: 3100,
|
868
|
-
remoteAddress: undefined,
|
869
|
-
remotePort: undefined
|
870
|
-
}
|
871
|
-
},
|
872
|
-
{
|
873
|
-
description: 'adds SENT chunk to request successfully (bound with address)',
|
874
|
-
eventPayload:
|
875
|
-
{message: {data: 'Ym91bmQgc2VudA==', remoteAddr: '10.0.0.1', remotePort: 4000}, timestamp: 3150},
|
876
|
-
expectedChunk: {
|
877
|
-
type: SDK.NetworkRequest.DirectSocketChunkType.SEND,
|
878
|
-
data: 'Ym91bmQgc2VudA==',
|
879
|
-
timestamp: 3150,
|
880
|
-
remoteAddress: '10.0.0.1',
|
881
|
-
remotePort: 4000
|
882
|
-
}
|
883
|
-
},
|
884
|
-
{
|
885
|
-
description: 'adds SENT chunk to request successfully (bound with address, no port)',
|
886
|
-
eventPayload: {message: {data: 'Ym91bmQgc2VudCBwbA==', remoteAddr: '10.0.0.2'}, timestamp: 3160},
|
887
|
-
expectedChunk: {
|
888
|
-
type: SDK.NetworkRequest.DirectSocketChunkType.SEND,
|
889
|
-
data: 'Ym91bmQgc2VudCBwbA==',
|
890
|
-
timestamp: 3160,
|
891
|
-
remoteAddress: '10.0.0.2',
|
892
|
-
remotePort: undefined
|
893
|
-
}
|
894
|
-
},
|
895
|
-
{
|
896
|
-
description: 'adds RECEIVED chunk to request successfully (connected)',
|
897
|
-
eventPayload: {message: {data: 'cmVjZWl2ZWQgZGF0YQ=='}, timestamp: 3200},
|
898
|
-
expectedChunk: {
|
899
|
-
type: SDK.NetworkRequest.DirectSocketChunkType.RECEIVE,
|
900
|
-
data: 'cmVjZWl2ZWQgZGF0YQ==',
|
901
|
-
timestamp: 3200,
|
902
|
-
remoteAddress: undefined,
|
903
|
-
remotePort: undefined
|
904
|
-
}
|
905
|
-
},
|
906
|
-
{
|
907
|
-
description: 'adds RECEIVED chunk to request successfully (bound with address)',
|
908
|
-
eventPayload:
|
909
|
-
{message: {data: 'Ym91bmQgcmVjZWl2ZWQ=', remoteAddr: '10.0.0.3', remotePort: 4001}, timestamp: 3250},
|
910
|
-
expectedChunk: {
|
911
|
-
type: SDK.NetworkRequest.DirectSocketChunkType.RECEIVE,
|
912
|
-
data: 'Ym91bmQgcmVjZWl2ZWQ=',
|
913
|
-
timestamp: 3250,
|
914
|
-
remoteAddress: '10.0.0.3',
|
915
|
-
remotePort: 4001
|
916
|
-
}
|
917
|
-
},
|
918
|
-
];
|
919
|
-
|
920
|
-
testCases.forEach(testCase => {
|
921
|
-
it(testCase.description, () => {
|
922
|
-
assert.exists(targetRequest, 'Target request should be created in beforeEach');
|
923
|
-
updatedRequests.length = 0;
|
924
|
-
|
925
|
-
switch (testCase.expectedChunk.type) {
|
926
|
-
case SDK.NetworkRequest.DirectSocketChunkType.SEND:
|
927
|
-
networkDispatcher.directUDPSocketChunkSent({
|
928
|
-
identifier: mockIdentifier,
|
929
|
-
message: (testCase.eventPayload as Protocol.Network.DirectUDPSocketChunkSentEvent).message,
|
930
|
-
timestamp: testCase.eventPayload.timestamp,
|
931
|
-
});
|
932
|
-
break;
|
933
|
-
case SDK.NetworkRequest.DirectSocketChunkType.RECEIVE:
|
934
|
-
networkDispatcher.directUDPSocketChunkReceived({
|
935
|
-
identifier: mockIdentifier,
|
936
|
-
message: (testCase.eventPayload as Protocol.Network.DirectUDPSocketChunkReceivedEvent).message,
|
937
|
-
timestamp: testCase.eventPayload.timestamp,
|
938
|
-
});
|
939
|
-
break;
|
940
|
-
}
|
941
|
-
|
942
|
-
assert.lengthOf(updatedRequests, 1, 'Should trigger exactly one update');
|
943
|
-
const req = updatedRequests[0];
|
944
|
-
|
945
|
-
assert.strictEqual(req.requestId(), mockIdentifier);
|
946
|
-
assert.strictEqual(
|
947
|
-
req.responseReceivedTime, testCase.eventPayload.timestamp, 'responseReceivedTime should be updated');
|
948
|
-
|
949
|
-
const chunks = req.directSocketChunks();
|
950
|
-
assert.lengthOf(chunks, 1, 'Should have exactly one chunk added');
|
951
|
-
assert.deepEqual(chunks[0], testCase.expectedChunk, 'Chunk details should match expected');
|
952
|
-
});
|
953
|
-
});
|
954
|
-
});
|
955
|
-
});
|
956
|
-
|
957
|
-
it('setCookieControls is not invoked if the browsers enterprise setting blocks third party cookies', () => {
|
958
|
-
Object.assign(
|
959
|
-
Root.Runtime.hostConfig,
|
960
|
-
{thirdPartyCookieControls: {managedBlockThirdPartyCookies: true}, devToolsPrivacyUI: {enabled: true}});
|
961
|
-
|
962
|
-
const enableThirdPartyCookieRestrictionSetting =
|
963
|
-
Common.Settings.Settings.instance().createSetting('cookie-control-override-enabled', false);
|
964
|
-
const disableThirdPartyCookieMetadataSetting =
|
965
|
-
Common.Settings.Settings.instance().createSetting('grace-period-mitigation-disabled', true);
|
966
|
-
const disableThirdPartyCookieHeuristicsSetting =
|
967
|
-
Common.Settings.Settings.instance().createSetting('heuristic-mitigation-disabled', true);
|
968
|
-
assert.isFalse(enableThirdPartyCookieRestrictionSetting.get());
|
969
|
-
assert.isTrue(disableThirdPartyCookieMetadataSetting.get());
|
970
|
-
assert.isTrue(disableThirdPartyCookieHeuristicsSetting.get());
|
971
|
-
|
972
|
-
const target = createTarget();
|
973
|
-
const expectedCall = sinon.spy(target.networkAgent(), 'invoke_setCookieControls');
|
974
|
-
|
975
|
-
new SDK.NetworkManager.NetworkManager(target);
|
976
|
-
|
977
|
-
// function should not be called since there is a enterprise policy blocking third-party cookies
|
978
|
-
sinon.assert.notCalled(expectedCall);
|
979
|
-
});
|
980
|
-
|
981
|
-
it('setCookieControls gets invoked with expected values when network agent auto attach', () => {
|
982
|
-
updateHostConfig({devToolsPrivacyUI: {enabled: true}});
|
983
|
-
|
984
|
-
const enableThirdPartyCookieRestrictionSetting =
|
985
|
-
Common.Settings.Settings.instance().createSetting('cookie-control-override-enabled', false);
|
986
|
-
const disableThirdPartyCookieMetadataSetting =
|
987
|
-
Common.Settings.Settings.instance().createSetting('grace-period-mitigation-disabled', true);
|
988
|
-
const disableThirdPartyCookieHeuristicsSetting =
|
989
|
-
Common.Settings.Settings.instance().createSetting('heuristic-mitigation-disabled', true);
|
990
|
-
assert.isFalse(enableThirdPartyCookieRestrictionSetting.get());
|
991
|
-
assert.isTrue(disableThirdPartyCookieMetadataSetting.get());
|
992
|
-
assert.isTrue(disableThirdPartyCookieHeuristicsSetting.get());
|
993
|
-
|
994
|
-
const target = createTarget();
|
995
|
-
const expectedCall = sinon.spy(target.networkAgent(), 'invoke_setCookieControls');
|
996
|
-
|
997
|
-
new SDK.NetworkManager.NetworkManager(target);
|
998
|
-
|
999
|
-
// Metadata and heuristics should be disabled when cookie controls is disabled.
|
1000
|
-
assert.isTrue(expectedCall.calledOnceWith({
|
1001
|
-
enableThirdPartyCookieRestriction: false,
|
1002
|
-
disableThirdPartyCookieMetadata: false,
|
1003
|
-
disableThirdPartyCookieHeuristics: false
|
1004
|
-
}));
|
1005
|
-
});
|
1006
|
-
});
|
1007
|
-
|
1008
|
-
describeWithMockConnection('MultitargetNetworkManager', () => {
|
1009
|
-
describe('Trust Token done event', () => {
|
1010
|
-
it('is not lost when arriving before the corresponding requestWillBeSent event', () => {
|
1011
|
-
// 1) Setup a NetworkManager and listen to "RequestStarted" events.
|
1012
|
-
const networkManager = new Common.ObjectWrapper.ObjectWrapper<SDK.NetworkManager.EventTypes>();
|
1013
|
-
const startedRequests: SDK.NetworkRequest.NetworkRequest[] = [];
|
1014
|
-
networkManager.addEventListener(SDK.NetworkManager.Events.RequestStarted, event => {
|
1015
|
-
startedRequests.push(event.data.request);
|
1016
|
-
});
|
1017
|
-
const networkDispatcher =
|
1018
|
-
new SDK.NetworkManager.NetworkDispatcher(networkManager as SDK.NetworkManager.NetworkManager);
|
1019
|
-
|
1020
|
-
// 2) Fire a trust token event, followed by a requestWillBeSent event.
|
1021
|
-
const mockEvent = {requestId: 'mockId'} as Protocol.Network.TrustTokenOperationDoneEvent;
|
1022
|
-
networkDispatcher.trustTokenOperationDone(mockEvent);
|
1023
|
-
networkDispatcher.requestWillBeSent(
|
1024
|
-
{requestId: 'mockId', request: {url: 'example.com'}} as Protocol.Network.RequestWillBeSentEvent);
|
1025
|
-
|
1026
|
-
// 3) Check that the resulting NetworkRequest has the Trust Token Event data associated with it.
|
1027
|
-
assert.lengthOf(startedRequests, 1);
|
1028
|
-
assert.strictEqual(startedRequests[0].trustTokenOperationDoneEvent(), mockEvent);
|
1029
|
-
});
|
1030
|
-
});
|
1031
|
-
|
1032
|
-
it('handles worker requests originating from the frame target', async () => {
|
1033
|
-
const target = createTarget();
|
1034
|
-
const workerTarget = createTarget({type: SDK.Target.Type.Worker});
|
1035
|
-
|
1036
|
-
const multiTargetNetworkManager = SDK.NetworkManager.MultitargetNetworkManager.instance();
|
1037
|
-
const initialNetworkManager = target.model(SDK.NetworkManager.NetworkManager)!;
|
1038
|
-
|
1039
|
-
assert.strictEqual(multiTargetNetworkManager.inflightMainResourceRequests.size, 0);
|
1040
|
-
|
1041
|
-
const requestId = 'mockId';
|
1042
|
-
const requestPromise = initialNetworkManager.once(SDK.NetworkManager.Events.RequestStarted);
|
1043
|
-
initialNetworkManager.dispatcher.requestWillBeSent(
|
1044
|
-
{requestId, loaderId: '', request: {url: 'example.com'}} as Protocol.Network.RequestWillBeSentEvent);
|
1045
|
-
|
1046
|
-
const {request} = await requestPromise;
|
1047
|
-
assert.strictEqual(SDK.NetworkManager.NetworkManager.forRequest(request), initialNetworkManager);
|
1048
|
-
assert.isOk(multiTargetNetworkManager.inflightMainResourceRequests.has(requestId));
|
1049
|
-
|
1050
|
-
const workerNetworkManager = workerTarget.model(SDK.NetworkManager.NetworkManager)!;
|
1051
|
-
workerNetworkManager.dispatcher.loadingFinished({requestId} as Protocol.Network.LoadingFinishedEvent);
|
1052
|
-
|
1053
|
-
assert.strictEqual(SDK.NetworkManager.NetworkManager.forRequest(request), workerNetworkManager);
|
1054
|
-
assert.isNotOk(multiTargetNetworkManager.inflightMainResourceRequests.has(requestId));
|
1055
|
-
});
|
1056
|
-
|
1057
|
-
it('uses main frame to get certificate', () => {
|
1058
|
-
SDK.ChildTargetManager.ChildTargetManager.install();
|
1059
|
-
const tabTarget = createTarget({type: SDK.Target.Type.TAB});
|
1060
|
-
const mainFrameTarget = createTarget({parentTarget: tabTarget});
|
1061
|
-
const prerenderTarget = createTarget({parentTarget: tabTarget, subtype: 'prerender'});
|
1062
|
-
const subframeTarget = createTarget({parentTarget: mainFrameTarget, subtype: ''});
|
1063
|
-
|
1064
|
-
const unexpectedCalls =
|
1065
|
-
[tabTarget, prerenderTarget, subframeTarget].map(t => sinon.spy(t.networkAgent(), 'invoke_getCertificate'));
|
1066
|
-
const expectedCall = sinon.spy(mainFrameTarget.networkAgent(), 'invoke_getCertificate');
|
1067
|
-
void SDK.NetworkManager.MultitargetNetworkManager.instance().getCertificate('https://example.com');
|
1068
|
-
for (const unexpectedCall of unexpectedCalls) {
|
1069
|
-
sinon.assert.notCalled(unexpectedCall);
|
1070
|
-
}
|
1071
|
-
assert.isTrue(expectedCall.calledOnceWith({origin: 'https://example.com'}));
|
1072
|
-
});
|
1073
|
-
|
1074
|
-
it('blocking settings are consistent after change', async () => {
|
1075
|
-
const multitargetNetworkManager = SDK.NetworkManager.MultitargetNetworkManager.instance({forceNew: true});
|
1076
|
-
let eventCounter = 0;
|
1077
|
-
multitargetNetworkManager.addEventListener(
|
1078
|
-
SDK.NetworkManager.MultitargetNetworkManager.Events.BLOCKED_PATTERNS_CHANGED, () => eventCounter++);
|
1079
|
-
const blockingEnabledSetting = Common.Settings.Settings.instance().moduleSetting('request-blocking-enabled');
|
1080
|
-
const blockedPatternsSetting: Common.Settings.Setting<SDK.NetworkManager.BlockedPattern[]> =
|
1081
|
-
Common.Settings.Settings.instance().createSetting('network-blocked-patterns', []);
|
1082
|
-
|
1083
|
-
// Change blocking setting via Common.Settings.Settings.
|
1084
|
-
assert.isFalse(multitargetNetworkManager.isBlocking());
|
1085
|
-
assert.isFalse(multitargetNetworkManager.blockingEnabled());
|
1086
|
-
blockingEnabledSetting.set(true);
|
1087
|
-
assert.strictEqual(eventCounter, 1);
|
1088
|
-
assert.isFalse(multitargetNetworkManager.isBlocking());
|
1089
|
-
assert.isTrue(multitargetNetworkManager.blockingEnabled());
|
1090
|
-
blockedPatternsSetting.set([{url: 'example.com', enabled: true}]);
|
1091
|
-
assert.strictEqual(eventCounter, 2);
|
1092
|
-
assert.isTrue(multitargetNetworkManager.isBlocking());
|
1093
|
-
assert.isTrue(multitargetNetworkManager.blockingEnabled());
|
1094
|
-
blockedPatternsSetting.set([]);
|
1095
|
-
assert.strictEqual(eventCounter, 3);
|
1096
|
-
assert.isFalse(multitargetNetworkManager.isBlocking());
|
1097
|
-
assert.isTrue(multitargetNetworkManager.blockingEnabled());
|
1098
|
-
blockingEnabledSetting.set(false);
|
1099
|
-
assert.strictEqual(eventCounter, 4);
|
1100
|
-
assert.isFalse(multitargetNetworkManager.isBlocking());
|
1101
|
-
assert.isFalse(multitargetNetworkManager.blockingEnabled());
|
1102
|
-
|
1103
|
-
// Change blocking setting via MultitargetNetworkManager.
|
1104
|
-
assert.isFalse(multitargetNetworkManager.isBlocking());
|
1105
|
-
assert.isFalse(multitargetNetworkManager.blockingEnabled());
|
1106
|
-
multitargetNetworkManager.setBlockingEnabled(true);
|
1107
|
-
assert.strictEqual(eventCounter, 5);
|
1108
|
-
assert.isFalse(multitargetNetworkManager.isBlocking());
|
1109
|
-
assert.isTrue(multitargetNetworkManager.blockingEnabled());
|
1110
|
-
multitargetNetworkManager.setBlockedPatterns([{url: 'example.com', enabled: true}]);
|
1111
|
-
assert.strictEqual(eventCounter, 6);
|
1112
|
-
assert.isTrue(multitargetNetworkManager.isBlocking());
|
1113
|
-
assert.isTrue(multitargetNetworkManager.blockingEnabled());
|
1114
|
-
multitargetNetworkManager.setBlockedPatterns([]);
|
1115
|
-
assert.strictEqual(eventCounter, 7);
|
1116
|
-
assert.isFalse(multitargetNetworkManager.isBlocking());
|
1117
|
-
assert.isTrue(multitargetNetworkManager.blockingEnabled());
|
1118
|
-
multitargetNetworkManager.setBlockingEnabled(false);
|
1119
|
-
assert.strictEqual(eventCounter, 8);
|
1120
|
-
assert.isFalse(multitargetNetworkManager.isBlocking());
|
1121
|
-
assert.isFalse(multitargetNetworkManager.blockingEnabled());
|
1122
|
-
});
|
1123
|
-
});
|
1124
|
-
|
1125
|
-
describe('NetworkDispatcher', () => {
|
1126
|
-
const requestWillBeSentEvent = {requestId: 'mockId', request: {url: 'example.com'}} as
|
1127
|
-
Protocol.Network.RequestWillBeSentEvent;
|
1128
|
-
const responseReceivedEvent = {
|
1129
|
-
requestId: 'mockId',
|
1130
|
-
loaderId: 'mockLoaderId',
|
1131
|
-
frameId: 'mockFrameId',
|
1132
|
-
timestamp: 581734.083213,
|
1133
|
-
type: Protocol.Network.ResourceType.Document,
|
1134
|
-
response: {
|
1135
|
-
url: 'example.com',
|
1136
|
-
status: 200,
|
1137
|
-
statusText: '',
|
1138
|
-
mimeType: 'text/html',
|
1139
|
-
connectionReused: true,
|
1140
|
-
connectionId: 12345,
|
1141
|
-
encodedDataLength: 100,
|
1142
|
-
securityState: 'secure',
|
1143
|
-
} as Protocol.Network.Response,
|
1144
|
-
hasExtraInfo: true,
|
1145
|
-
} as Protocol.Network.ResponseReceivedEvent;
|
1146
|
-
|
1147
|
-
const loadingFinishedEvent = {requestId: 'mockId', timestamp: 42, encodedDataLength: 42} as
|
1148
|
-
Protocol.Network.LoadingFinishedEvent;
|
1149
|
-
describeWithEnvironment('request', () => {
|
1150
|
-
let networkDispatcher: SDK.NetworkManager.NetworkDispatcher;
|
1151
|
-
|
1152
|
-
beforeEach(() => {
|
1153
|
-
const networkManager: Common.ObjectWrapper.ObjectWrapper<unknown>&{target?: () => void} =
|
1154
|
-
new Common.ObjectWrapper.ObjectWrapper();
|
1155
|
-
networkManager.target = () => ({
|
1156
|
-
model: () => null,
|
1157
|
-
});
|
1158
|
-
networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager as SDK.NetworkManager.NetworkManager);
|
1159
|
-
});
|
1160
|
-
|
1161
|
-
it('is preserved after loadingFinished', () => {
|
1162
|
-
networkDispatcher.requestWillBeSent(requestWillBeSentEvent);
|
1163
|
-
networkDispatcher.loadingFinished(loadingFinishedEvent);
|
1164
|
-
|
1165
|
-
assert.exists(networkDispatcher.requestForId('mockId'));
|
1166
|
-
});
|
1167
|
-
|
1168
|
-
it('clears finished requests on clearRequests()', () => {
|
1169
|
-
networkDispatcher.requestWillBeSent(requestWillBeSentEvent);
|
1170
|
-
networkDispatcher.loadingFinished(loadingFinishedEvent);
|
1171
|
-
|
1172
|
-
const unfinishedRequestWillBeSentEvent = {requestId: 'unfinishedRequestId', request: {url: 'example.com'}} as
|
1173
|
-
Protocol.Network.RequestWillBeSentEvent;
|
1174
|
-
networkDispatcher.requestWillBeSent(unfinishedRequestWillBeSentEvent);
|
1175
|
-
|
1176
|
-
networkDispatcher.clearRequests();
|
1177
|
-
assert.notExists(networkDispatcher.requestForId('mockId'));
|
1178
|
-
assert.exists(networkDispatcher.requestForId('unfinishedRequestId'));
|
1179
|
-
});
|
1180
|
-
|
1181
|
-
it('preserves extra info for unfinished clearRequests()', () => {
|
1182
|
-
const requestWillBeSentExtraInfoEvent = {
|
1183
|
-
requestId: 'mockId',
|
1184
|
-
associatedCookies: [],
|
1185
|
-
headers: {'Header-From-Extra-Info': 'foo'},
|
1186
|
-
connectTiming: {requestTime: 0},
|
1187
|
-
} as unknown as Protocol.Network.RequestWillBeSentExtraInfoEvent;
|
1188
|
-
networkDispatcher.requestWillBeSentExtraInfo(requestWillBeSentExtraInfoEvent);
|
1189
|
-
|
1190
|
-
networkDispatcher.clearRequests();
|
1191
|
-
networkDispatcher.requestWillBeSent(requestWillBeSentEvent);
|
1192
|
-
networkDispatcher.responseReceived(responseReceivedEvent);
|
1193
|
-
assert.exists(networkDispatcher.requestForId('mockId'));
|
1194
|
-
assert.deepEqual(
|
1195
|
-
networkDispatcher.requestForId('mockId')?.requestHeaders(), [{name: 'Header-From-Extra-Info', value: 'foo'}]);
|
1196
|
-
});
|
1197
|
-
|
1198
|
-
it('handles redirect chains with mixed presence of raw headers', () => {
|
1199
|
-
const hop1RequestWillBeSent = {requestId: 'mockId', request: {url: 'http://example.com'}} as
|
1200
|
-
Protocol.Network.RequestWillBeSentEvent;
|
1201
|
-
const hop2RequestWillBeSent = {
|
1202
|
-
requestId: 'mockId',
|
1203
|
-
request: {url: 'https://example.com'},
|
1204
|
-
redirectHasExtraInfo: false,
|
1205
|
-
redirectResponse: {
|
1206
|
-
url: 'http://example.com',
|
1207
|
-
status: 307,
|
1208
|
-
statusText: 'Temporary redirect',
|
1209
|
-
headers: {
|
1210
|
-
Location: 'https://example.com',
|
1211
|
-
},
|
1212
|
-
} as unknown as Protocol.Network.Response,
|
1213
|
-
} as Protocol.Network.RequestWillBeSentEvent;
|
1214
|
-
const responseExtraInfo = {
|
1215
|
-
requestId: 'mockId' as Protocol.Network.RequestId,
|
1216
|
-
blockedCookies: [],
|
1217
|
-
headers: {},
|
1218
|
-
resourceIPAddressSpace: Protocol.Network.IPAddressSpace.Public,
|
1219
|
-
statusCode: 200,
|
1220
|
-
headersText: 'HTTP/1.1 200 OK\r\n'
|
1221
|
-
} as Protocol.Network.ResponseReceivedExtraInfoEvent;
|
1222
|
-
|
1223
|
-
networkDispatcher.requestWillBeSent(hop1RequestWillBeSent);
|
1224
|
-
networkDispatcher.requestWillBeSent(hop2RequestWillBeSent);
|
1225
|
-
|
1226
|
-
networkDispatcher.responseReceived(responseReceivedEvent);
|
1227
|
-
networkDispatcher.responseReceivedExtraInfo(responseExtraInfo);
|
1228
|
-
|
1229
|
-
const originalResqest = networkDispatcher.requestForURL(urlString`http://example.com`);
|
1230
|
-
assert.exists(originalResqest);
|
1231
|
-
assert.strictEqual(originalResqest.statusCode, 307);
|
1232
|
-
assert.strictEqual(originalResqest.statusText, 'Temporary redirect');
|
1233
|
-
|
1234
|
-
const redirectedRequest = networkDispatcher.requestForURL(urlString`https://example.com`);
|
1235
|
-
assert.exists(redirectedRequest);
|
1236
|
-
assert.strictEqual(redirectedRequest.statusCode, 200);
|
1237
|
-
assert.strictEqual(redirectedRequest.statusText, 'OK');
|
1238
|
-
});
|
1239
|
-
|
1240
|
-
it('raw headers are processed when response fails', () => {
|
1241
|
-
networkDispatcher.requestWillBeSent(
|
1242
|
-
{requestId: 'mockId', request: {url: 'http://example.com'}} as Protocol.Network.RequestWillBeSentEvent);
|
1243
|
-
|
1244
|
-
const responseExtraInfo = {
|
1245
|
-
requestId: 'mockId' as Protocol.Network.RequestId,
|
1246
|
-
blockedCookies: [],
|
1247
|
-
headers: {},
|
1248
|
-
resourceIPAddressSpace: Protocol.Network.IPAddressSpace.Public,
|
1249
|
-
statusCode: 200,
|
1250
|
-
headersText: 'HTTP/1.1 200 OK\r\n'
|
1251
|
-
} as Protocol.Network.ResponseReceivedExtraInfoEvent;
|
1252
|
-
networkDispatcher.responseReceivedExtraInfo(responseExtraInfo);
|
1253
|
-
|
1254
|
-
const request = networkDispatcher.requestForId('mockId');
|
1255
|
-
assert.exists(request);
|
1256
|
-
assert.strictEqual(request.statusCode, 0);
|
1257
|
-
|
1258
|
-
networkDispatcher.loadingFailed({
|
1259
|
-
requestId: 'mockId' as Protocol.Network.RequestId,
|
1260
|
-
timestamp: 2345,
|
1261
|
-
type: Protocol.Network.ResourceType.Document,
|
1262
|
-
errorText: 'net::ERR_FAILED',
|
1263
|
-
canceled: false,
|
1264
|
-
corsErrorStatus: {corsError: Protocol.Network.CorsError.MissingAllowOriginHeader, failedParameter: ''},
|
1265
|
-
});
|
1266
|
-
|
1267
|
-
assert.strictEqual(request.statusCode, 200);
|
1268
|
-
assert.strictEqual(request.statusText, 'OK');
|
1269
|
-
});
|
1270
|
-
|
1271
|
-
it('response headers are overwritten by request interception', () => {
|
1272
|
-
const responseReceivedExtraInfoEvent = {
|
1273
|
-
requestId: 'mockId' as Protocol.Network.RequestId,
|
1274
|
-
blockedCookies: [],
|
1275
|
-
headers: {
|
1276
|
-
'test-header': 'first',
|
1277
|
-
} as Protocol.Network.Headers,
|
1278
|
-
resourceIPAddressSpace: Protocol.Network.IPAddressSpace.Public,
|
1279
|
-
statusCode: 200,
|
1280
|
-
} as Protocol.Network.ResponseReceivedExtraInfoEvent;
|
1281
|
-
const mockResponseReceivedEventWithHeaders = (headers: Protocol.Network.Headers) => {
|
1282
|
-
const event = structuredClone(responseReceivedEvent) as Protocol.Network.ResponseReceivedEvent;
|
1283
|
-
event.response.headers = headers;
|
1284
|
-
return event;
|
1285
|
-
};
|
1286
|
-
|
1287
|
-
networkDispatcher.requestWillBeSent(requestWillBeSentEvent);
|
1288
|
-
networkDispatcher.responseReceivedExtraInfo(responseReceivedExtraInfoEvent);
|
1289
|
-
|
1290
|
-
// ResponseReceived does not overwrite response headers.
|
1291
|
-
networkDispatcher.responseReceived(mockResponseReceivedEventWithHeaders({'test-header': 'second'}));
|
1292
|
-
assert.deepEqual(
|
1293
|
-
networkDispatcher.requestForId('mockId')?.responseHeaders, [{name: 'test-header', value: 'first'}]);
|
1294
|
-
|
1295
|
-
// ResponseReceived does overwrite response headers if request is marked as intercepted.
|
1296
|
-
SDK.NetworkManager.MultitargetNetworkManager.instance().dispatchEventToListeners(
|
1297
|
-
SDK.NetworkManager.MultitargetNetworkManager.Events.REQUEST_INTERCEPTED, 'mockId');
|
1298
|
-
networkDispatcher.responseReceived(mockResponseReceivedEventWithHeaders({'test-header': 'third'}));
|
1299
|
-
assert.deepEqual(
|
1300
|
-
networkDispatcher.requestForId('mockId')?.responseHeaders, [{name: 'test-header', value: 'third'}]);
|
1301
|
-
});
|
1302
|
-
|
1303
|
-
it('has populated \'originalHeaders\' after receiving \'responseReceivedExtraInfo\'', () => {
|
1304
|
-
const responseReceivedExtraInfoEvent = {
|
1305
|
-
requestId: 'mockId' as Protocol.Network.RequestId,
|
1306
|
-
blockedCookies: [],
|
1307
|
-
headers: {
|
1308
|
-
'test-header': 'first',
|
1309
|
-
'set-cookie': 'foo=bar\ncolor=green',
|
1310
|
-
} as Protocol.Network.Headers,
|
1311
|
-
resourceIPAddressSpace: Protocol.Network.IPAddressSpace.Public,
|
1312
|
-
statusCode: 200,
|
1313
|
-
} as Protocol.Network.ResponseReceivedExtraInfoEvent;
|
1314
|
-
|
1315
|
-
networkDispatcher.requestWillBeSent(requestWillBeSentEvent);
|
1316
|
-
networkDispatcher.responseReceivedExtraInfo(responseReceivedExtraInfoEvent);
|
1317
|
-
networkDispatcher.responseReceived(responseReceivedEvent);
|
1318
|
-
|
1319
|
-
assert.deepEqual(networkDispatcher.requestForId('mockId')?.responseHeaders, [
|
1320
|
-
{name: 'test-header', value: 'first'},
|
1321
|
-
{name: 'set-cookie', value: 'foo=bar'},
|
1322
|
-
{name: 'set-cookie', value: 'color=green'},
|
1323
|
-
]);
|
1324
|
-
});
|
1325
|
-
|
1326
|
-
it('Correctly set early hints properties on receivedResponse event', () => {
|
1327
|
-
const responseReceivedEvent = {
|
1328
|
-
requestId: 'mockId',
|
1329
|
-
loaderId: 'mockLoaderId',
|
1330
|
-
frameId: 'mockFrameId',
|
1331
|
-
timestamp: 581734.083213,
|
1332
|
-
type: Protocol.Network.ResourceType.Document,
|
1333
|
-
response: {
|
1334
|
-
url: 'example.com',
|
1335
|
-
status: 200,
|
1336
|
-
statusText: '',
|
1337
|
-
headers: {
|
1338
|
-
'test-header': 'first',
|
1339
|
-
} as Protocol.Network.Headers,
|
1340
|
-
mimeType: 'text/html',
|
1341
|
-
connectionReused: true,
|
1342
|
-
connectionId: 12345,
|
1343
|
-
encodedDataLength: 100,
|
1344
|
-
securityState: 'secure',
|
1345
|
-
fromEarlyHints: true,
|
1346
|
-
} as Protocol.Network.Response,
|
1347
|
-
} as Protocol.Network.ResponseReceivedEvent;
|
1348
|
-
|
1349
|
-
networkDispatcher.requestWillBeSent(requestWillBeSentEvent);
|
1350
|
-
networkDispatcher.responseReceived(responseReceivedEvent);
|
1351
|
-
|
1352
|
-
assert.isTrue(networkDispatcher.requestForId('mockId')?.fromEarlyHints());
|
1353
|
-
});
|
1354
|
-
|
1355
|
-
it('has populated early hints headers after receiving \'repsonseReceivedEarlyHints\'', () => {
|
1356
|
-
const earlyHintsEvent = {
|
1357
|
-
requestId: 'mockId' as Protocol.Network.RequestId,
|
1358
|
-
headers: {
|
1359
|
-
link: '</style.css>; as=style;',
|
1360
|
-
} as Protocol.Network.Headers,
|
1361
|
-
};
|
1362
|
-
networkDispatcher.requestWillBeSent(requestWillBeSentEvent);
|
1363
|
-
networkDispatcher.loadingFinished(loadingFinishedEvent);
|
1364
|
-
networkDispatcher.responseReceivedEarlyHints(earlyHintsEvent);
|
1365
|
-
|
1366
|
-
assert.deepEqual(networkDispatcher.requestForId('mockId')?.earlyHintsHeaders, [
|
1367
|
-
{name: 'link', value: '</style.css>; as=style;'},
|
1368
|
-
]);
|
1369
|
-
});
|
1370
|
-
});
|
1371
|
-
|
1372
|
-
describeWithEnvironment('WebBundle requests', () => {
|
1373
|
-
let networkDispatcher: SDK.NetworkManager.NetworkDispatcher;
|
1374
|
-
const webBundleMetadataReceivedEvent = {requestId: 'mockId', urls: ['foo']} as
|
1375
|
-
Protocol.Network.SubresourceWebBundleMetadataReceivedEvent;
|
1376
|
-
const webBundleInnerResponseParsedEvent = {bundleRequestId: 'bundleRequestId', innerRequestId: 'mockId'} as
|
1377
|
-
Protocol.Network.SubresourceWebBundleInnerResponseParsedEvent;
|
1378
|
-
const resourceUrlsFoo = ['foo'] as Platform.DevToolsPath.UrlString[];
|
1379
|
-
|
1380
|
-
beforeEach(() => {
|
1381
|
-
const networkManager = new Common.ObjectWrapper.ObjectWrapper();
|
1382
|
-
networkDispatcher = new SDK.NetworkManager.NetworkDispatcher(networkManager as SDK.NetworkManager.NetworkManager);
|
1383
|
-
});
|
1384
|
-
|
1385
|
-
it('have webbundle info when webbundle event happen between browser events', () => {
|
1386
|
-
networkDispatcher.requestWillBeSent(requestWillBeSentEvent);
|
1387
|
-
networkDispatcher.subresourceWebBundleMetadataReceived(webBundleMetadataReceivedEvent);
|
1388
|
-
networkDispatcher.loadingFinished(loadingFinishedEvent);
|
1389
|
-
|
1390
|
-
assert.deepEqual(networkDispatcher.requestForId('mockId')?.webBundleInfo()?.resourceUrls, resourceUrlsFoo);
|
1391
|
-
});
|
1392
|
-
|
1393
|
-
it('have webbundle info when webbundle event happen before browser events', () => {
|
1394
|
-
networkDispatcher.subresourceWebBundleMetadataReceived(webBundleMetadataReceivedEvent);
|
1395
|
-
networkDispatcher.requestWillBeSent(requestWillBeSentEvent);
|
1396
|
-
networkDispatcher.loadingFinished(loadingFinishedEvent);
|
1397
|
-
|
1398
|
-
assert.deepEqual(networkDispatcher.requestForId('mockId')?.webBundleInfo()?.resourceUrls, resourceUrlsFoo);
|
1399
|
-
});
|
1400
|
-
|
1401
|
-
it('have webbundle info when webbundle event happen after browser events', () => {
|
1402
|
-
networkDispatcher.requestWillBeSent(requestWillBeSentEvent);
|
1403
|
-
networkDispatcher.loadingFinished(loadingFinishedEvent);
|
1404
|
-
networkDispatcher.subresourceWebBundleMetadataReceived(webBundleMetadataReceivedEvent);
|
1405
|
-
|
1406
|
-
assert.deepEqual(networkDispatcher.requestForId('mockId')?.webBundleInfo()?.resourceUrls, resourceUrlsFoo);
|
1407
|
-
});
|
1408
|
-
|
1409
|
-
it('have webbundle info only for the final request but nor redirect', () => {
|
1410
|
-
networkDispatcher.requestWillBeSent(requestWillBeSentEvent);
|
1411
|
-
networkDispatcher.requestWillBeSent(
|
1412
|
-
{requestId: 'mockId', request: {url: 'redirect.example.com'}, redirectResponse: {url: 'example.com'}} as
|
1413
|
-
Protocol.Network.RequestWillBeSentEvent);
|
1414
|
-
networkDispatcher.subresourceWebBundleMetadataReceived(webBundleMetadataReceivedEvent);
|
1415
|
-
networkDispatcher.loadingFinished(loadingFinishedEvent);
|
1416
|
-
|
1417
|
-
assert.deepEqual(networkDispatcher.requestForId('mockId')?.webBundleInfo()?.resourceUrls, resourceUrlsFoo);
|
1418
|
-
assert.exists(networkDispatcher.requestForId('mockId')?.redirectSource());
|
1419
|
-
assert.notExists(networkDispatcher.requestForId('mockId')?.redirectSource()?.webBundleInfo());
|
1420
|
-
});
|
1421
|
-
|
1422
|
-
it('have webbundle info on error', () => {
|
1423
|
-
networkDispatcher.requestWillBeSent(requestWillBeSentEvent);
|
1424
|
-
networkDispatcher.loadingFinished(loadingFinishedEvent);
|
1425
|
-
networkDispatcher.subresourceWebBundleMetadataError(
|
1426
|
-
{requestId: 'mockId', errorMessage: 'Kaboom!'} as Protocol.Network.SubresourceWebBundleMetadataErrorEvent);
|
1427
|
-
|
1428
|
-
assert.deepEqual(networkDispatcher.requestForId('mockId')?.webBundleInfo()?.errorMessage, 'Kaboom!');
|
1429
|
-
});
|
1430
|
-
|
1431
|
-
it('have webbundle inner request info when webbundle event happen between browser events', () => {
|
1432
|
-
networkDispatcher.requestWillBeSent(requestWillBeSentEvent);
|
1433
|
-
networkDispatcher.subresourceWebBundleInnerResponseParsed(webBundleInnerResponseParsedEvent);
|
1434
|
-
networkDispatcher.loadingFinished(loadingFinishedEvent);
|
1435
|
-
|
1436
|
-
assert.deepEqual(
|
1437
|
-
networkDispatcher.requestForId('mockId')?.webBundleInnerRequestInfo()?.bundleRequestId, 'bundleRequestId');
|
1438
|
-
});
|
1439
|
-
|
1440
|
-
it('have webbundle inner request info when webbundle event happen before browser events', () => {
|
1441
|
-
networkDispatcher.subresourceWebBundleInnerResponseParsed(webBundleInnerResponseParsedEvent);
|
1442
|
-
networkDispatcher.requestWillBeSent(requestWillBeSentEvent);
|
1443
|
-
networkDispatcher.loadingFinished(loadingFinishedEvent);
|
1444
|
-
|
1445
|
-
assert.deepEqual(
|
1446
|
-
networkDispatcher.requestForId('mockId')?.webBundleInnerRequestInfo()?.bundleRequestId, 'bundleRequestId');
|
1447
|
-
});
|
1448
|
-
|
1449
|
-
it('have webbundle inner request info when webbundle event happen after browser events', () => {
|
1450
|
-
networkDispatcher.requestWillBeSent(requestWillBeSentEvent);
|
1451
|
-
networkDispatcher.loadingFinished(loadingFinishedEvent);
|
1452
|
-
networkDispatcher.subresourceWebBundleInnerResponseParsed(webBundleInnerResponseParsedEvent);
|
1453
|
-
|
1454
|
-
assert.deepEqual(
|
1455
|
-
networkDispatcher.requestForId('mockId')?.webBundleInnerRequestInfo()?.bundleRequestId, 'bundleRequestId');
|
1456
|
-
});
|
1457
|
-
|
1458
|
-
it('have webbundle inner request info on error', () => {
|
1459
|
-
networkDispatcher.requestWillBeSent(requestWillBeSentEvent);
|
1460
|
-
networkDispatcher.loadingFinished(loadingFinishedEvent);
|
1461
|
-
networkDispatcher.subresourceWebBundleInnerResponseError(
|
1462
|
-
{innerRequestId: 'mockId', errorMessage: 'Kaboom!'} as
|
1463
|
-
Protocol.Network.SubresourceWebBundleInnerResponseErrorEvent);
|
1464
|
-
|
1465
|
-
assert.deepEqual(networkDispatcher.requestForId('mockId')?.webBundleInnerRequestInfo()?.errorMessage, 'Kaboom!');
|
1466
|
-
});
|
1467
|
-
});
|
1468
|
-
});
|
1469
|
-
|
1470
|
-
interface OverriddenResponse {
|
1471
|
-
requestId: Protocol.Fetch.RequestId;
|
1472
|
-
responseCode: number;
|
1473
|
-
body: string;
|
1474
|
-
responseHeaders: Protocol.Fetch.HeaderEntry[];
|
1475
|
-
}
|
1476
|
-
|
1477
|
-
describeWithMockConnection('InterceptedRequest', () => {
|
1478
|
-
let target: SDK.Target.Target;
|
1479
|
-
let fulfillRequestSpy: sinon.SinonSpy;
|
1480
|
-
|
1481
|
-
async function checkRequestOverride(
|
1482
|
-
target: SDK.Target.Target, request: Protocol.Network.Request, requestId: Protocol.Fetch.RequestId,
|
1483
|
-
responseStatusCode: number, responseHeaders: Protocol.Fetch.HeaderEntry[], responseBody: string,
|
1484
|
-
expectedOverriddenResponse: OverriddenResponse, expectedSetCookieHeaders: Protocol.Fetch.HeaderEntry[] = []) {
|
1485
|
-
const multitargetNetworkManager = SDK.NetworkManager.MultitargetNetworkManager.instance();
|
1486
|
-
const fetchAgent = target.fetchAgent();
|
1487
|
-
|
1488
|
-
const fulfilledRequest = new Promise(resolve => {
|
1489
|
-
multitargetNetworkManager.addEventListener(
|
1490
|
-
SDK.NetworkManager.MultitargetNetworkManager.Events.REQUEST_FULFILLED, resolve);
|
1491
|
-
});
|
1492
|
-
const networkRequest = SDK.NetworkRequest.NetworkRequest.create(
|
1493
|
-
requestId as unknown as Protocol.Network.RequestId, urlString`${request.url}`, urlString`${request.url}`, null,
|
1494
|
-
null, null);
|
1495
|
-
|
1496
|
-
networkRequest.originalResponseHeaders = responseHeaders;
|
1497
|
-
|
1498
|
-
// The response headers passed to 'interceptedRequest' do not contain any
|
1499
|
-
// 'set-cookie' headers, because they originate from CDP's 'Fetch.requestPaused'
|
1500
|
-
// which receives its header information via mojo which in turn filters out
|
1501
|
-
// 'set-cookie' headers.
|
1502
|
-
const filteredResponseHeaders = responseHeaders.filter(header => header.name !== 'set-cookie');
|
1503
|
-
const interceptedRequest = new SDK.NetworkManager.InterceptedRequest(
|
1504
|
-
fetchAgent, request, Protocol.Network.ResourceType.Document, requestId, networkRequest, responseStatusCode,
|
1505
|
-
filteredResponseHeaders);
|
1506
|
-
interceptedRequest.responseBody = async () => {
|
1507
|
-
return new TextUtils.ContentData.ContentData(responseBody, false, 'text/html');
|
1508
|
-
};
|
1509
|
-
|
1510
|
-
sinon.assert.notCalled(fulfillRequestSpy);
|
1511
|
-
await multitargetNetworkManager.requestIntercepted(interceptedRequest);
|
1512
|
-
await fulfilledRequest;
|
1513
|
-
sinon.assert.calledOnceWithExactly(fulfillRequestSpy, expectedOverriddenResponse);
|
1514
|
-
assert.deepEqual(networkRequest.setCookieHeaders, expectedSetCookieHeaders);
|
1515
|
-
fulfillRequestSpy.resetHistory();
|
1516
|
-
}
|
1517
|
-
|
1518
|
-
async function checkSetCookieOverride(
|
1519
|
-
url: string, headersFromServer: Protocol.Fetch.HeaderEntry[],
|
1520
|
-
expectedOverriddenHeaders: Protocol.Fetch.HeaderEntry[],
|
1521
|
-
expectedPersistedSetCookieHeaders: Protocol.Fetch.HeaderEntry[]): Promise<void> {
|
1522
|
-
const responseCode = 200;
|
1523
|
-
const requestId = 'request_id_for_cookies' as Protocol.Fetch.RequestId;
|
1524
|
-
const responseBody = 'interceptedRequest content';
|
1525
|
-
const networkRequest = {
|
1526
|
-
method: 'GET',
|
1527
|
-
url,
|
1528
|
-
} as Protocol.Network.Request;
|
1529
|
-
await checkRequestOverride(
|
1530
|
-
target, networkRequest, requestId, responseCode, headersFromServer, responseBody, {
|
1531
|
-
requestId,
|
1532
|
-
responseCode,
|
1533
|
-
body: btoa(responseBody),
|
1534
|
-
responseHeaders: expectedOverriddenHeaders,
|
1535
|
-
},
|
1536
|
-
expectedPersistedSetCookieHeaders);
|
1537
|
-
}
|
1538
|
-
|
1539
|
-
beforeEach(async () => {
|
1540
|
-
SDK.NetworkManager.MultitargetNetworkManager.dispose();
|
1541
|
-
target = createTarget();
|
1542
|
-
const networkPersistenceManager = await createWorkspaceProject(urlString`file:///path/to/overrides`, [
|
1543
|
-
{
|
1544
|
-
name: '.headers',
|
1545
|
-
path: 'www.example.com/',
|
1546
|
-
content: `[
|
1547
|
-
{
|
1548
|
-
"applyTo": "index.html",
|
1549
|
-
"headers": [{
|
1550
|
-
"name": "index-only",
|
1551
|
-
"value": "only added to index.html"
|
1552
|
-
}]
|
1553
|
-
},
|
1554
|
-
{
|
1555
|
-
"applyTo": "*.css",
|
1556
|
-
"headers": [{
|
1557
|
-
"name": "css-only",
|
1558
|
-
"value": "only added to css files"
|
1559
|
-
}]
|
1560
|
-
},
|
1561
|
-
{
|
1562
|
-
"applyTo": "path/to/*.js",
|
1563
|
-
"headers": [{
|
1564
|
-
"name": "another-header",
|
1565
|
-
"value": "only added to specific path"
|
1566
|
-
}]
|
1567
|
-
},
|
1568
|
-
{
|
1569
|
-
"applyTo": "withCookie.html",
|
1570
|
-
"headers": [{
|
1571
|
-
"name": "set-cookie",
|
1572
|
-
"value": "userId=12345"
|
1573
|
-
}]
|
1574
|
-
},
|
1575
|
-
{
|
1576
|
-
"applyTo": "withCookie2.html",
|
1577
|
-
"headers": [
|
1578
|
-
{
|
1579
|
-
"name": "set-cookie",
|
1580
|
-
"value": "userName=DevTools"
|
1581
|
-
},
|
1582
|
-
{
|
1583
|
-
"name": "set-cookie",
|
1584
|
-
"value": "themeColour=dark"
|
1585
|
-
}
|
1586
|
-
]
|
1587
|
-
},
|
1588
|
-
{
|
1589
|
-
"applyTo": "withCookie3.html",
|
1590
|
-
"headers": [
|
1591
|
-
{
|
1592
|
-
"name": "set-cookie",
|
1593
|
-
"value": "userName=DevTools"
|
1594
|
-
},
|
1595
|
-
{
|
1596
|
-
"name": "set-cookie",
|
1597
|
-
"value": "malformed_override"
|
1598
|
-
}
|
1599
|
-
]
|
1600
|
-
},
|
1601
|
-
{
|
1602
|
-
"applyTo": "cookies/*",
|
1603
|
-
"headers": [
|
1604
|
-
{
|
1605
|
-
"name": "set-cookie",
|
1606
|
-
"value": "unique=value"
|
1607
|
-
},
|
1608
|
-
{
|
1609
|
-
"name": "set-cookie",
|
1610
|
-
"value": "override-me=first"
|
1611
|
-
}
|
1612
|
-
]
|
1613
|
-
},
|
1614
|
-
{
|
1615
|
-
"applyTo": "cookies/mergeCookies.html",
|
1616
|
-
"headers": [
|
1617
|
-
{
|
1618
|
-
"name": "set-cookie",
|
1619
|
-
"value": "override-me=second"
|
1620
|
-
},
|
1621
|
-
{
|
1622
|
-
"name": "set-cookie",
|
1623
|
-
"value": "foo=bar"
|
1624
|
-
}
|
1625
|
-
]
|
1626
|
-
}
|
1627
|
-
]`,
|
1628
|
-
},
|
1629
|
-
{
|
1630
|
-
name: '.headers',
|
1631
|
-
path: '',
|
1632
|
-
content: `[
|
1633
|
-
{
|
1634
|
-
"applyTo": "*",
|
1635
|
-
"headers": [{
|
1636
|
-
"name": "age",
|
1637
|
-
"value": "overridden"
|
1638
|
-
}]
|
1639
|
-
}
|
1640
|
-
]`,
|
1641
|
-
},
|
1642
|
-
{name: 'helloWorld.html', path: 'www.example.com/', content: 'Hello World!'},
|
1643
|
-
{name: 'utf16.html', path: 'www.example.com/', content: 'Overwritten with non-UTF16 (TODO: fix this!)'},
|
1644
|
-
{name: 'something.html', path: 'file:/usr/local/foo/content/', content: 'Override for something'},
|
1645
|
-
{
|
1646
|
-
name: '.headers',
|
1647
|
-
path: 'file:/usr/local/example/',
|
1648
|
-
content: `[
|
1649
|
-
{
|
1650
|
-
"applyTo": "*",
|
1651
|
-
"headers": [{
|
1652
|
-
"name": "test-file-urls",
|
1653
|
-
"value": "file url value"
|
1654
|
-
}]
|
1655
|
-
}
|
1656
|
-
]`,
|
1657
|
-
},
|
1658
|
-
{name: 'index.html', path: 'file:/usr/local/example/', content: 'Overridden file content'},
|
1659
|
-
{
|
1660
|
-
name: '.headers',
|
1661
|
-
path: 'www.longurl.com/longurls/',
|
1662
|
-
content: `[
|
1663
|
-
{
|
1664
|
-
"applyTo": "index.html-${
|
1665
|
-
Platform.StringUtilities.hashCode('www.longurl.com/' + LONG_URL_PART).toString(16)}.html",
|
1666
|
-
"headers": [{
|
1667
|
-
"name": "long-url-header",
|
1668
|
-
"value": "long url header value"
|
1669
|
-
}]
|
1670
|
-
}
|
1671
|
-
]`,
|
1672
|
-
},
|
1673
|
-
{
|
1674
|
-
name: `index.html-${Platform.StringUtilities.hashCode('www.longurl.com/' + LONG_URL_PART).toString(16)}.html`,
|
1675
|
-
path: 'www.longurl.com/longurls/',
|
1676
|
-
content: 'Overridden long URL file content',
|
1677
|
-
},
|
1678
|
-
{
|
1679
|
-
name: '.headers',
|
1680
|
-
path: 'file:/longurls/',
|
1681
|
-
content: `[
|
1682
|
-
{
|
1683
|
-
"applyTo": "index.html-${
|
1684
|
-
Platform.StringUtilities
|
1685
|
-
.hashCode(
|
1686
|
-
Persistence.NetworkPersistenceManager.NetworkPersistenceManager.encodeEncodedPathToLocalPathParts(
|
1687
|
-
'file:' as Platform.DevToolsPath.EncodedPathString)[0] +
|
1688
|
-
'/' + LONG_URL_PART)
|
1689
|
-
.toString(16)}.html",
|
1690
|
-
"headers": [{
|
1691
|
-
"name": "long-file-url-header",
|
1692
|
-
"value": "long file url header value"
|
1693
|
-
}]
|
1694
|
-
}
|
1695
|
-
]`,
|
1696
|
-
},
|
1697
|
-
]);
|
1698
|
-
sinon.stub(target.fetchAgent(), 'invoke_enable');
|
1699
|
-
fulfillRequestSpy = sinon.spy(target.fetchAgent(), 'invoke_fulfillRequest');
|
1700
|
-
await networkPersistenceManager.updateInterceptionPatternsForTests();
|
1701
|
-
});
|
1702
|
-
|
1703
|
-
it('can override headers-only for a status 200 request', async () => {
|
1704
|
-
const responseCode = 200;
|
1705
|
-
const requestId = 'request_id_1' as Protocol.Fetch.RequestId;
|
1706
|
-
const responseBody = 'interceptedRequest content';
|
1707
|
-
await checkRequestOverride(
|
1708
|
-
target, {
|
1709
|
-
method: 'GET',
|
1710
|
-
url: 'https://www.example.com/styles.css',
|
1711
|
-
} as Protocol.Network.Request,
|
1712
|
-
requestId, responseCode, [{name: 'content-type', value: 'text/html; charset=utf-8'}], responseBody, {
|
1713
|
-
requestId,
|
1714
|
-
responseCode,
|
1715
|
-
body: btoa(responseBody),
|
1716
|
-
responseHeaders: [
|
1717
|
-
{name: 'css-only', value: 'only added to css files'},
|
1718
|
-
{name: 'age', value: 'overridden'},
|
1719
|
-
{name: 'content-type', value: 'text/html; charset=utf-8'},
|
1720
|
-
],
|
1721
|
-
});
|
1722
|
-
});
|
1723
|
-
|
1724
|
-
it('does not intercept OPTIONS requests', async () => {
|
1725
|
-
const requestId = 'request_id_1' as Protocol.Fetch.RequestId;
|
1726
|
-
const request = {
|
1727
|
-
method: 'OPTIONS',
|
1728
|
-
url: 'https://www.example.com/styles.css',
|
1729
|
-
} as Protocol.Network.Request;
|
1730
|
-
const fetchAgent = target.fetchAgent();
|
1731
|
-
const continueRequestSpy = sinon.spy(fetchAgent, 'invoke_continueRequest');
|
1732
|
-
|
1733
|
-
const networkRequest = SDK.NetworkRequest.NetworkRequest.create(
|
1734
|
-
requestId as unknown as Protocol.Network.RequestId, urlString`${request.url}`, urlString`${request.url}`, null,
|
1735
|
-
null, null);
|
1736
|
-
|
1737
|
-
const interceptedRequest = new SDK.NetworkManager.InterceptedRequest(
|
1738
|
-
fetchAgent, request, Protocol.Network.ResourceType.Document, requestId, networkRequest);
|
1739
|
-
interceptedRequest.responseBody = async () => {
|
1740
|
-
return new TextUtils.ContentData.ContentData('interceptedRequest content', false, 'text/html');
|
1741
|
-
};
|
1742
|
-
|
1743
|
-
sinon.assert.notCalled(continueRequestSpy);
|
1744
|
-
await SDK.NetworkManager.MultitargetNetworkManager.instance().requestIntercepted(interceptedRequest);
|
1745
|
-
sinon.assert.notCalled(fulfillRequestSpy);
|
1746
|
-
sinon.assert.calledOnce(continueRequestSpy);
|
1747
|
-
});
|
1748
|
-
|
1749
|
-
it('can override headers and content for a status 200 request', async () => {
|
1750
|
-
const responseCode = 200;
|
1751
|
-
const requestId = 'request_id_2' as Protocol.Fetch.RequestId;
|
1752
|
-
const responseBody = 'interceptedRequest content';
|
1753
|
-
await checkRequestOverride(
|
1754
|
-
target, {
|
1755
|
-
method: 'GET',
|
1756
|
-
url: 'https://www.example.com/helloWorld.html',
|
1757
|
-
} as Protocol.Network.Request,
|
1758
|
-
requestId, responseCode, [{name: 'content-type', value: 'text/html; charset=utf-8'}], responseBody, {
|
1759
|
-
requestId,
|
1760
|
-
responseCode,
|
1761
|
-
body: btoa('Hello World!'),
|
1762
|
-
responseHeaders: [
|
1763
|
-
{name: 'age', value: 'overridden'},
|
1764
|
-
{name: 'content-type', value: 'text/html; charset=utf-8'},
|
1765
|
-
],
|
1766
|
-
});
|
1767
|
-
});
|
1768
|
-
|
1769
|
-
describe('NetworkPersistenceManager', () => {
|
1770
|
-
it('decodes the intercepted response body with the right charset', async () => {
|
1771
|
-
const requestId = 'request_id_utf_16' as Protocol.Fetch.RequestId;
|
1772
|
-
const request = {
|
1773
|
-
method: 'GET',
|
1774
|
-
url: 'https://www.example.com/utf16.html',
|
1775
|
-
} as Protocol.Network.Request;
|
1776
|
-
const fetchAgent = target.fetchAgent();
|
1777
|
-
sinon.spy(fetchAgent, 'invoke_continueRequest');
|
1778
|
-
|
1779
|
-
const networkRequest = SDK.NetworkRequest.NetworkRequest.create(
|
1780
|
-
requestId as unknown as Protocol.Network.RequestId, urlString`${request.url}`, urlString`${request.url}`,
|
1781
|
-
null, null, null);
|
1782
|
-
networkRequest.originalResponseHeaders = [{name: 'content-type', value: 'text/html; charset-utf-16'}];
|
1783
|
-
|
1784
|
-
// Create a quick'n dirty network UISourceCode for the request manually. We need to establish a binding to the
|
1785
|
-
// overridden file system UISourceCode.
|
1786
|
-
const networkProject = new Bindings.ContentProviderBasedProject.ContentProviderBasedProject(
|
1787
|
-
Workspace.Workspace.WorkspaceImpl.instance(), 'testing-network', Workspace.Workspace.projectTypes.Network,
|
1788
|
-
'Override network project', false);
|
1789
|
-
Workspace.Workspace.WorkspaceImpl.instance().addProject(networkProject);
|
1790
|
-
const uiSourceCode = networkProject.createUISourceCode(
|
1791
|
-
urlString`https://www.example.com/utf16.html`, Common.ResourceType.resourceTypes.Document);
|
1792
|
-
networkProject.addUISourceCode(uiSourceCode);
|
1793
|
-
|
1794
|
-
const interceptedRequest = new SDK.NetworkManager.InterceptedRequest(
|
1795
|
-
fetchAgent, request, Protocol.Network.ResourceType.Document, requestId, networkRequest, 200,
|
1796
|
-
[{name: 'content-type', value: 'text/html; charset-utf-16'}]);
|
1797
|
-
interceptedRequest.responseBody = async () => {
|
1798
|
-
// Very simple HTML doc base64 encoded.
|
1799
|
-
return new TextUtils.ContentData.ContentData(
|
1800
|
-
'//48ACEARABPAEMAVABZAFAARQAgAGgAdABtAGwAPgAKADwAcAA+AEkA8QB0AOsAcgBuAOIAdABpAPQAbgDgAGwAaQB6AOYAdABpAPgAbgADJjTYBt88AC8AcAA+AAoA',
|
1801
|
-
true, 'text/html', 'utf-16');
|
1802
|
-
};
|
1803
|
-
|
1804
|
-
await SDK.NetworkManager.MultitargetNetworkManager.instance().requestIntercepted(interceptedRequest);
|
1805
|
-
const content = await Persistence.NetworkPersistenceManager.NetworkPersistenceManager.instance()
|
1806
|
-
.originalContentForUISourceCode(uiSourceCode);
|
1807
|
-
|
1808
|
-
assert.strictEqual(content, '<!DOCTYPE html>\n<p>Iñtërnâtiônàlizætiøn☃𝌆</p>\n');
|
1809
|
-
});
|
1810
|
-
});
|
1811
|
-
|
1812
|
-
it('can override headers-only for a status 300 (redirect) request', async () => {
|
1813
|
-
const responseCode = 300;
|
1814
|
-
const requestId = 'request_id_3' as Protocol.Fetch.RequestId;
|
1815
|
-
const responseBody = 'interceptedRequest content';
|
1816
|
-
await checkRequestOverride(
|
1817
|
-
target, {
|
1818
|
-
method: 'GET',
|
1819
|
-
url: 'https://www.example.com/path/to/foo.js',
|
1820
|
-
} as Protocol.Network.Request,
|
1821
|
-
requestId, responseCode, [{name: 'content-type', value: 'text/html; charset=utf-8'}], responseBody, {
|
1822
|
-
requestId,
|
1823
|
-
responseCode,
|
1824
|
-
body: '',
|
1825
|
-
responseHeaders: [
|
1826
|
-
{name: 'another-header', value: 'only added to specific path'},
|
1827
|
-
{name: 'age', value: 'overridden'},
|
1828
|
-
{name: 'content-type', value: 'text/html; charset=utf-8'},
|
1829
|
-
],
|
1830
|
-
});
|
1831
|
-
});
|
1832
|
-
|
1833
|
-
it('can override headers and content for a status 300 (redirect) request', async () => {
|
1834
|
-
const responseCode = 300;
|
1835
|
-
const requestId = 'request_id_4' as Protocol.Fetch.RequestId;
|
1836
|
-
const responseBody = 'interceptedRequest content';
|
1837
|
-
await checkRequestOverride(
|
1838
|
-
target, {
|
1839
|
-
method: 'GET',
|
1840
|
-
url: 'https://www.example.com/helloWorld.html',
|
1841
|
-
} as Protocol.Network.Request,
|
1842
|
-
requestId, responseCode, [{name: 'content-type', value: 'text/html; charset=utf-8'}], responseBody, {
|
1843
|
-
requestId,
|
1844
|
-
responseCode: 200,
|
1845
|
-
body: btoa('Hello World!'),
|
1846
|
-
responseHeaders: [
|
1847
|
-
{name: 'age', value: 'overridden'},
|
1848
|
-
{name: 'content-type', value: 'text/html; charset=utf-8'},
|
1849
|
-
],
|
1850
|
-
});
|
1851
|
-
});
|
1852
|
-
|
1853
|
-
it('can override headers-only for a status 404 (not found) request', async () => {
|
1854
|
-
const responseCode = 404;
|
1855
|
-
const requestId = 'request_id_5' as Protocol.Fetch.RequestId;
|
1856
|
-
const responseBody = 'interceptedRequest content';
|
1857
|
-
await checkRequestOverride(
|
1858
|
-
target, {
|
1859
|
-
method: 'GET',
|
1860
|
-
url: 'https://www.example.com/doesNotExist.html',
|
1861
|
-
} as Protocol.Network.Request,
|
1862
|
-
requestId, responseCode, [{name: 'content-type', value: 'text/html; charset=utf-8'}], responseBody, {
|
1863
|
-
requestId,
|
1864
|
-
responseCode,
|
1865
|
-
body: btoa(responseBody),
|
1866
|
-
responseHeaders: [
|
1867
|
-
{name: 'age', value: 'overridden'},
|
1868
|
-
{name: 'content-type', value: 'text/html; charset=utf-8'},
|
1869
|
-
],
|
1870
|
-
});
|
1871
|
-
});
|
1872
|
-
|
1873
|
-
it('can override headers and content for a status 404 (not found) request', async () => {
|
1874
|
-
const responseCode = 404;
|
1875
|
-
const requestId = 'request_id_6' as Protocol.Fetch.RequestId;
|
1876
|
-
const responseBody = 'interceptedRequest content';
|
1877
|
-
await checkRequestOverride(
|
1878
|
-
target, {
|
1879
|
-
method: 'GET',
|
1880
|
-
url: 'https://www.example.com/helloWorld.html',
|
1881
|
-
} as Protocol.Network.Request,
|
1882
|
-
requestId, responseCode, [{name: 'content-type', value: 'text/html; charset=utf-8'}], responseBody, {
|
1883
|
-
requestId,
|
1884
|
-
responseCode: 200,
|
1885
|
-
body: btoa('Hello World!'),
|
1886
|
-
responseHeaders: [
|
1887
|
-
{name: 'age', value: 'overridden'},
|
1888
|
-
{name: 'content-type', value: 'text/html; charset=utf-8'},
|
1889
|
-
],
|
1890
|
-
});
|
1891
|
-
});
|
1892
|
-
|
1893
|
-
it('can override headers and content for a request with a \'file:/\'-URL', async () => {
|
1894
|
-
const responseCode = 200;
|
1895
|
-
const requestId = 'request_id_8' as Protocol.Fetch.RequestId;
|
1896
|
-
const responseBody = 'interceptedRequest content';
|
1897
|
-
await checkRequestOverride(
|
1898
|
-
target, {
|
1899
|
-
method: 'GET',
|
1900
|
-
url: 'file:///usr/local/example/index.html',
|
1901
|
-
} as Protocol.Network.Request,
|
1902
|
-
requestId, responseCode,
|
1903
|
-
[
|
1904
|
-
{name: 'content-type', value: 'text/html; charset=utf-8'},
|
1905
|
-
{name: 'age', value: 'original'},
|
1906
|
-
],
|
1907
|
-
responseBody, {
|
1908
|
-
requestId,
|
1909
|
-
responseCode,
|
1910
|
-
body: btoa('Overridden file content'),
|
1911
|
-
responseHeaders: [
|
1912
|
-
{name: 'test-file-urls', value: 'file url value'},
|
1913
|
-
{name: 'age', value: 'overridden'},
|
1914
|
-
{name: 'content-type', value: 'text/html; charset=utf-8'},
|
1915
|
-
],
|
1916
|
-
});
|
1917
|
-
});
|
1918
|
-
|
1919
|
-
it('can apply global header overrides to a request with a \'file:/\'-URL', async () => {
|
1920
|
-
const responseCode = 200;
|
1921
|
-
const requestId = 'request_id_9' as Protocol.Fetch.RequestId;
|
1922
|
-
const responseBody = 'content of something/index.html';
|
1923
|
-
await checkRequestOverride(
|
1924
|
-
target, {
|
1925
|
-
method: 'GET',
|
1926
|
-
url: 'file:///usr/local/whatever/index.html',
|
1927
|
-
} as Protocol.Network.Request,
|
1928
|
-
requestId, responseCode,
|
1929
|
-
[
|
1930
|
-
{name: 'content-type', value: 'text/html; charset=utf-8'},
|
1931
|
-
{name: 'age', value: 'original'},
|
1932
|
-
],
|
1933
|
-
responseBody, {
|
1934
|
-
requestId,
|
1935
|
-
responseCode,
|
1936
|
-
body: btoa(responseBody),
|
1937
|
-
responseHeaders: [
|
1938
|
-
{name: 'age', value: 'overridden'},
|
1939
|
-
{name: 'content-type', value: 'text/html; charset=utf-8'},
|
1940
|
-
],
|
1941
|
-
});
|
1942
|
-
});
|
1943
|
-
|
1944
|
-
it('can override headers and content for a request with a very long URL', async () => {
|
1945
|
-
const responseCode = 200;
|
1946
|
-
const requestId = 'request_id_10' as Protocol.Fetch.RequestId;
|
1947
|
-
const responseBody = 'interceptedRequest content';
|
1948
|
-
await checkRequestOverride(
|
1949
|
-
target, {
|
1950
|
-
method: 'GET',
|
1951
|
-
url: `https://www.longurl.com/${LONG_URL_PART}`,
|
1952
|
-
} as Protocol.Network.Request,
|
1953
|
-
requestId, responseCode,
|
1954
|
-
[
|
1955
|
-
{name: 'content-type', value: 'text/html; charset=utf-8'},
|
1956
|
-
{name: 'age', value: 'original'},
|
1957
|
-
],
|
1958
|
-
responseBody, {
|
1959
|
-
requestId,
|
1960
|
-
responseCode,
|
1961
|
-
body: btoa('Overridden long URL file content'),
|
1962
|
-
responseHeaders: [
|
1963
|
-
{name: 'long-url-header', value: 'long url header value'},
|
1964
|
-
{name: 'age', value: 'overridden'},
|
1965
|
-
{name: 'content-type', value: 'text/html; charset=utf-8'},
|
1966
|
-
],
|
1967
|
-
});
|
1968
|
-
});
|
1969
|
-
|
1970
|
-
it('can override headers for a request with a very long \'file:/\'-URL', async () => {
|
1971
|
-
const responseCode = 200;
|
1972
|
-
const requestId = 'request_id_11' as Protocol.Fetch.RequestId;
|
1973
|
-
const responseBody = 'interceptedRequest content';
|
1974
|
-
await checkRequestOverride(
|
1975
|
-
target, {
|
1976
|
-
method: 'GET',
|
1977
|
-
url: 'file:///' + LONG_URL_PART,
|
1978
|
-
} as Protocol.Network.Request,
|
1979
|
-
requestId, responseCode,
|
1980
|
-
[
|
1981
|
-
{name: 'content-type', value: 'text/html; charset=utf-8'},
|
1982
|
-
{name: 'age', value: 'original'},
|
1983
|
-
],
|
1984
|
-
responseBody, {
|
1985
|
-
requestId,
|
1986
|
-
responseCode,
|
1987
|
-
body: btoa(responseBody),
|
1988
|
-
responseHeaders: [
|
1989
|
-
{name: 'long-file-url-header', value: 'long file url header value'},
|
1990
|
-
{name: 'age', value: 'overridden'},
|
1991
|
-
{name: 'content-type', value: 'text/html; charset=utf-8'},
|
1992
|
-
],
|
1993
|
-
});
|
1994
|
-
});
|
1995
|
-
|
1996
|
-
it('can override \'set-cookie\' headers', async () => {
|
1997
|
-
const headersFromServer = [{name: 'content-type', value: 'text/html; charset=utf-8'}];
|
1998
|
-
const expectedOverriddenHeaders = [
|
1999
|
-
{name: 'age', value: 'overridden'},
|
2000
|
-
{name: 'content-type', value: 'text/html; charset=utf-8'},
|
2001
|
-
{name: 'set-cookie', value: 'userId=12345'},
|
2002
|
-
];
|
2003
|
-
const expectedPersistedSetCookieHeaders = [{name: 'set-cookie', value: 'userId=12345'}];
|
2004
|
-
await checkSetCookieOverride(
|
2005
|
-
'https://www.example.com/withCookie.html', headersFromServer, expectedOverriddenHeaders,
|
2006
|
-
expectedPersistedSetCookieHeaders);
|
2007
|
-
});
|
2008
|
-
|
2009
|
-
it('marks both requests as overridden when there are 2 requests with the same URL', async () => {
|
2010
|
-
const responseCode = 200;
|
2011
|
-
const requestId1 = 'request_id_1' as Protocol.Fetch.RequestId;
|
2012
|
-
const requestId2 = 'request_id_2' as Protocol.Fetch.RequestId;
|
2013
|
-
const body = 'interceptedRequest content';
|
2014
|
-
const request = {
|
2015
|
-
method: 'GET',
|
2016
|
-
url: 'https://www.example.com/styles.css',
|
2017
|
-
} as Protocol.Network.Request;
|
2018
|
-
const originalResponseHeaders = [{name: 'content-type', value: 'text/html; charset=utf-8'}];
|
2019
|
-
const responseHeaders = [
|
2020
|
-
{name: 'css-only', value: 'only added to css files'},
|
2021
|
-
{name: 'age', value: 'overridden'},
|
2022
|
-
{name: 'content-type', value: 'text/html; charset=utf-8'},
|
2023
|
-
];
|
2024
|
-
|
2025
|
-
const {dispatcher} = target.model(SDK.NetworkManager.NetworkManager)!;
|
2026
|
-
dispatcher.requestWillBeSent({requestId: requestId1 as string, request} as Protocol.Network.RequestWillBeSentEvent);
|
2027
|
-
dispatcher.requestWillBeSent({requestId: requestId2 as string, request} as Protocol.Network.RequestWillBeSentEvent);
|
2028
|
-
|
2029
|
-
await checkRequestOverride(target, request, requestId1, responseCode, originalResponseHeaders, body, {
|
2030
|
-
requestId: requestId1,
|
2031
|
-
responseCode,
|
2032
|
-
body: btoa(body),
|
2033
|
-
responseHeaders,
|
2034
|
-
});
|
2035
|
-
await checkRequestOverride(target, request, requestId2, responseCode, originalResponseHeaders, body, {
|
2036
|
-
requestId: requestId2,
|
2037
|
-
responseCode,
|
2038
|
-
body: btoa(body),
|
2039
|
-
responseHeaders,
|
2040
|
-
});
|
2041
|
-
assert.isTrue(dispatcher.requestForId(requestId1)?.wasIntercepted());
|
2042
|
-
assert.isTrue(dispatcher.requestForId(requestId2)?.wasIntercepted());
|
2043
|
-
});
|
2044
|
-
|
2045
|
-
it('stores \'set-cookie\' headers on the request', async () => {
|
2046
|
-
const headersFromServer = [{name: 'set-cookie', value: 'foo=bar'}];
|
2047
|
-
const expectedOverriddenHeaders = [
|
2048
|
-
{name: 'age', value: 'overridden'},
|
2049
|
-
];
|
2050
|
-
const expectedPersistedSetCookieHeaders = [{name: 'set-cookie', value: 'foo=bar'}];
|
2051
|
-
await checkSetCookieOverride(
|
2052
|
-
'https://www.example.com/noCookie.html', headersFromServer, expectedOverriddenHeaders,
|
2053
|
-
expectedPersistedSetCookieHeaders);
|
2054
|
-
});
|
2055
|
-
|
2056
|
-
it('can override \'set-cookie\' headers when there server also sends \'set-cookie\' headers', async () => {
|
2057
|
-
const headersFromServer = [{name: 'set-cookie', value: 'foo=bar'}];
|
2058
|
-
const expectedOverriddenHeaders = [
|
2059
|
-
{name: 'age', value: 'overridden'},
|
2060
|
-
{name: 'set-cookie', value: 'userId=12345'},
|
2061
|
-
];
|
2062
|
-
const expectedPersistedSetCookieHeaders =
|
2063
|
-
[{name: 'set-cookie', value: 'foo=bar'}, {name: 'set-cookie', value: 'userId=12345'}];
|
2064
|
-
await checkSetCookieOverride(
|
2065
|
-
'https://www.example.com/withCookie.html', headersFromServer, expectedOverriddenHeaders,
|
2066
|
-
expectedPersistedSetCookieHeaders);
|
2067
|
-
});
|
2068
|
-
|
2069
|
-
it('can overwrite a cookie value from server with a cookie value from overrides', async () => {
|
2070
|
-
const headersFromServer = [{name: 'set-cookie', value: 'userId=999'}];
|
2071
|
-
const expectedOverriddenHeaders = [
|
2072
|
-
{name: 'age', value: 'overridden'},
|
2073
|
-
{name: 'set-cookie', value: 'userId=12345'},
|
2074
|
-
];
|
2075
|
-
const expectedPersistedSetCookieHeaders = [{name: 'set-cookie', value: 'userId=12345'}];
|
2076
|
-
await checkSetCookieOverride(
|
2077
|
-
'https://www.example.com/withCookie.html', headersFromServer, expectedOverriddenHeaders,
|
2078
|
-
expectedPersistedSetCookieHeaders);
|
2079
|
-
});
|
2080
|
-
|
2081
|
-
it('correctly merges cookies from server and from overrides', async () => {
|
2082
|
-
const headersFromServer = [
|
2083
|
-
{name: 'set-cookie', value: 'foo=bar'},
|
2084
|
-
{name: 'set-cookie', value: 'userName=server'},
|
2085
|
-
];
|
2086
|
-
const expectedOverriddenHeaders = [
|
2087
|
-
{name: 'age', value: 'overridden'},
|
2088
|
-
{name: 'set-cookie', value: 'userName=DevTools'},
|
2089
|
-
{name: 'set-cookie', value: 'themeColour=dark'},
|
2090
|
-
];
|
2091
|
-
const expectedPersistedSetCookieHeaders = [
|
2092
|
-
{name: 'set-cookie', value: 'foo=bar'},
|
2093
|
-
{name: 'set-cookie', value: 'userName=DevTools'},
|
2094
|
-
{name: 'set-cookie', value: 'themeColour=dark'},
|
2095
|
-
];
|
2096
|
-
await checkSetCookieOverride(
|
2097
|
-
'https://www.example.com/withCookie2.html', headersFromServer, expectedOverriddenHeaders,
|
2098
|
-
expectedPersistedSetCookieHeaders);
|
2099
|
-
});
|
2100
|
-
|
2101
|
-
it('correctly merges malformed cookies from server and from overrides', async () => {
|
2102
|
-
const headersFromServer = [
|
2103
|
-
{name: 'set-cookie', value: 'malformed_original'},
|
2104
|
-
{name: 'set-cookie', value: 'userName=server'},
|
2105
|
-
];
|
2106
|
-
const expectedOverriddenHeaders = [
|
2107
|
-
{name: 'age', value: 'overridden'},
|
2108
|
-
{name: 'set-cookie', value: 'userName=DevTools'},
|
2109
|
-
{name: 'set-cookie', value: 'malformed_override'},
|
2110
|
-
];
|
2111
|
-
const expectedPersistedSetCookieHeaders = [
|
2112
|
-
{name: 'set-cookie', value: 'malformed_original'},
|
2113
|
-
{name: 'set-cookie', value: 'userName=DevTools'},
|
2114
|
-
{name: 'set-cookie', value: 'malformed_override'},
|
2115
|
-
];
|
2116
|
-
await checkSetCookieOverride(
|
2117
|
-
'https://www.example.com/withCookie3.html', headersFromServer, expectedOverriddenHeaders,
|
2118
|
-
expectedPersistedSetCookieHeaders);
|
2119
|
-
});
|
2120
|
-
|
2121
|
-
it('correctly merges \'set-cookie\' headers from server with multiple defined overrides', async () => {
|
2122
|
-
const headersFromServer = [
|
2123
|
-
{name: 'set-cookie', value: 'userName=server'},
|
2124
|
-
{name: 'set-cookie', value: 'override-me=zero'},
|
2125
|
-
];
|
2126
|
-
const expectedOverriddenHeaders = [
|
2127
|
-
{name: 'age', value: 'overridden'},
|
2128
|
-
{name: 'set-cookie', value: 'unique=value'},
|
2129
|
-
{name: 'set-cookie', value: 'override-me=second'},
|
2130
|
-
{name: 'set-cookie', value: 'foo=bar'},
|
2131
|
-
];
|
2132
|
-
const expectedPersistedSetCookieHeaders = [
|
2133
|
-
{name: 'set-cookie', value: 'userName=server'},
|
2134
|
-
{name: 'set-cookie', value: 'override-me=second'},
|
2135
|
-
{name: 'set-cookie', value: 'unique=value'},
|
2136
|
-
{name: 'set-cookie', value: 'foo=bar'},
|
2137
|
-
];
|
2138
|
-
await checkSetCookieOverride(
|
2139
|
-
'https://www.example.com/cookies/mergeCookies.html', headersFromServer, expectedOverriddenHeaders,
|
2140
|
-
expectedPersistedSetCookieHeaders);
|
2141
|
-
});
|
2142
|
-
|
2143
|
-
it('correctly merges \'set-cookie\' headers with duplicates', () => {
|
2144
|
-
const original = [
|
2145
|
-
{name: 'set-cookie', value: 'foo=original'},
|
2146
|
-
{name: 'set-cookie', value: 'bar=original'},
|
2147
|
-
{name: 'set-cookie', value: 'baz=original'},
|
2148
|
-
{name: 'set-cookie', value: 'duplicate=duplicate'},
|
2149
|
-
{name: 'set-cookie', value: 'duplicate=duplicate'},
|
2150
|
-
{name: 'set-cookie', value: 'duplicate2=duplicate2'},
|
2151
|
-
{name: 'set-cookie', value: 'duplicate2=duplicate2'},
|
2152
|
-
{name: 'set-cookie', value: 'duplicate3=duplicate3'},
|
2153
|
-
{name: 'set-cookie', value: 'duplicate3=duplicate3'},
|
2154
|
-
{name: 'set-cookie', value: 'malformed'},
|
2155
|
-
{name: 'set-cookie', value: 'both'},
|
2156
|
-
{name: 'set-cookie', value: 'double'},
|
2157
|
-
{name: 'set-cookie', value: 'double'},
|
2158
|
-
{name: 'set-cookie', value: 'original_duplicate'},
|
2159
|
-
{name: 'set-cookie', value: 'original_duplicate'},
|
2160
|
-
{name: 'set-cookie', value: 'override_duplicate'},
|
2161
|
-
];
|
2162
|
-
const overrides = [
|
2163
|
-
{name: 'set-cookie', value: 'bar=overridden'},
|
2164
|
-
{name: 'set-cookie', value: 'baz=overridden1'},
|
2165
|
-
{name: 'set-cookie', value: 'baz=overridden2'},
|
2166
|
-
{name: 'set-cookie', value: 'duplicate2=overridden'},
|
2167
|
-
{name: 'set-cookie', value: 'duplicate3=overridden'},
|
2168
|
-
{name: 'set-cookie', value: 'duplicate3=overridden'},
|
2169
|
-
{name: 'set-cookie', value: 'malformed_override'},
|
2170
|
-
{name: 'set-cookie', value: 'both'},
|
2171
|
-
{name: 'set-cookie', value: 'original_duplicate'},
|
2172
|
-
{name: 'set-cookie', value: 'override_duplicate'},
|
2173
|
-
{name: 'set-cookie', value: 'override_duplicate'},
|
2174
|
-
];
|
2175
|
-
const expected = [
|
2176
|
-
{name: 'set-cookie', value: 'foo=original'},
|
2177
|
-
{name: 'set-cookie', value: 'bar=overridden'},
|
2178
|
-
{name: 'set-cookie', value: 'baz=overridden1'},
|
2179
|
-
{name: 'set-cookie', value: 'baz=overridden2'},
|
2180
|
-
{name: 'set-cookie', value: 'duplicate=duplicate'},
|
2181
|
-
{name: 'set-cookie', value: 'duplicate=duplicate'},
|
2182
|
-
{name: 'set-cookie', value: 'duplicate2=overridden'},
|
2183
|
-
{name: 'set-cookie', value: 'duplicate3=overridden'},
|
2184
|
-
{name: 'set-cookie', value: 'duplicate3=overridden'},
|
2185
|
-
{name: 'set-cookie', value: 'malformed'},
|
2186
|
-
{name: 'set-cookie', value: 'both'},
|
2187
|
-
{name: 'set-cookie', value: 'double'},
|
2188
|
-
{name: 'set-cookie', value: 'double'},
|
2189
|
-
{name: 'set-cookie', value: 'original_duplicate'},
|
2190
|
-
{name: 'set-cookie', value: 'override_duplicate'},
|
2191
|
-
{name: 'set-cookie', value: 'override_duplicate'},
|
2192
|
-
{name: 'set-cookie', value: 'malformed_override'},
|
2193
|
-
];
|
2194
|
-
assert.deepEqual(SDK.NetworkManager.InterceptedRequest.mergeSetCookieHeaders(original, overrides), expected);
|
2195
|
-
});
|
2196
|
-
});
|