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.
Files changed (1613) hide show
  1. package/config/owner/COMMON_OWNERS +1 -0
  2. package/eslint.config.mjs +39 -5
  3. package/front_end/Images/src/gdp-logo-standalone.svg +9 -0
  4. package/front_end/core/host/AidaClient.ts +26 -0
  5. package/front_end/core/host/GdpClient.ts +151 -0
  6. package/front_end/core/host/InspectorFrontendHost.ts +7 -0
  7. package/front_end/core/host/InspectorFrontendHostAPI.ts +29 -1
  8. package/front_end/core/host/UserMetrics.ts +0 -25
  9. package/front_end/core/host/host.ts +2 -0
  10. package/front_end/core/root/Runtime.ts +15 -1
  11. package/front_end/core/sdk/CSSMatchedStyles.ts +183 -48
  12. package/front_end/core/sdk/CSSPropertyParser.ts +7 -7
  13. package/front_end/core/sdk/CSSPropertyParserMatchers.ts +175 -37
  14. package/front_end/core/sdk/CSSStyleSheetHeader.ts +5 -0
  15. package/front_end/core/sdk/DOMModel.ts +58 -0
  16. package/front_end/core/sdk/FrameAssociated.ts +4 -1
  17. package/front_end/core/sdk/Script.ts +5 -1
  18. package/front_end/core/sdk/SourceMap.ts +10 -2
  19. package/front_end/core/sdk/SourceMapCache.ts +54 -0
  20. package/front_end/core/sdk/SourceMapManager.ts +20 -7
  21. package/front_end/core/sdk/sdk.ts +2 -0
  22. package/front_end/devtools_compatibility.js +0 -1
  23. package/front_end/entrypoints/main/GlobalAiButton.ts +71 -1
  24. package/front_end/entrypoints/main/MainImpl.ts +6 -27
  25. package/front_end/entrypoints/main/globalAiButton.css +1 -1
  26. package/front_end/entrypoints/main/main-meta.ts +15 -0
  27. package/front_end/generated/InspectorBackendCommands.js +3 -2
  28. package/front_end/generated/SupportedCSSProperties.js +23 -7
  29. package/front_end/generated/protocol-mapping.d.ts +8 -1
  30. package/front_end/generated/protocol-proxy-api.d.ts +6 -1
  31. package/front_end/generated/protocol.ts +17 -4
  32. package/front_end/models/ai_assistance/ConversationHandler.ts +34 -54
  33. package/front_end/models/ai_assistance/ExtensionScope.ts +3 -12
  34. package/front_end/models/ai_assistance/README.md +1 -1
  35. package/front_end/models/ai_assistance/agents/AiAgent.ts +1 -3
  36. package/front_end/models/ai_assistance/agents/FileAgent.ts +0 -6
  37. package/front_end/models/ai_assistance/agents/NetworkAgent.ts +16 -15
  38. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +32 -16
  39. package/front_end/models/ai_assistance/agents/StylingAgent.ts +199 -23
  40. package/front_end/models/ai_assistance/ai_assistance.ts +2 -0
  41. package/front_end/models/ai_assistance/data_formatters/FileFormatter.ts +4 -1
  42. package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.ts +8 -5
  43. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +248 -83
  44. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +303 -94
  45. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +442 -93
  46. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +35 -17
  47. package/front_end/models/ai_assistance/data_formatters/Types.ts +9 -0
  48. package/front_end/models/ai_code_completion/AiCodeCompletion.ts +114 -2
  49. package/front_end/models/autofill_manager/AutofillManager.ts +0 -11
  50. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +64 -6
  51. package/front_end/models/bindings/ResourceScriptMapping.ts +6 -0
  52. package/front_end/models/emulation/DeviceModeModel.ts +13 -14
  53. package/front_end/models/extensions/ExtensionPanel.ts +6 -6
  54. package/front_end/models/extensions/ExtensionServer.ts +2 -0
  55. package/front_end/models/extensions/ExtensionView.ts +4 -0
  56. package/front_end/{ui/legacy/Geometry.ts → models/geometry/GeometryImpl.ts} +4 -4
  57. package/front_end/models/geometry/geometry.ts +5 -0
  58. package/front_end/models/javascript_metadata/NativeFunctions.js +4 -4
  59. package/front_end/models/network_time_calculator/Calculator.ts +14 -0
  60. package/front_end/{panels/network → models/network_time_calculator}/NetworkTimeCalculator.ts +4 -4
  61. package/front_end/models/network_time_calculator/network_time_calculator.ts +6 -0
  62. package/front_end/models/persistence/EditFileSystemView.ts +4 -0
  63. package/front_end/models/persistence/NetworkPersistenceManager.ts +2 -0
  64. package/front_end/models/persistence/PersistenceActions.ts +2 -0
  65. package/front_end/models/persistence/PersistenceUtils.ts +2 -0
  66. package/front_end/models/persistence/WorkspaceSettingsTab.ts +6 -0
  67. package/front_end/models/persistence/persistence-meta.ts +2 -0
  68. package/front_end/models/stack_trace/StackTrace.ts +18 -0
  69. package/front_end/models/stack_trace/StackTraceImpl.ts +4 -1
  70. package/front_end/models/stack_trace/StackTraceModel.ts +4 -3
  71. package/front_end/models/trace/ModelImpl.ts +2 -1
  72. package/front_end/models/trace/Processor.ts +3 -30
  73. package/front_end/models/trace/handlers/AnimationFramesHandler.ts +10 -11
  74. package/front_end/models/trace/handlers/AnimationHandler.ts +4 -4
  75. package/front_end/models/trace/handlers/AsyncJSCallsHandler.ts +8 -9
  76. package/front_end/models/trace/handlers/AuctionWorkletsHandler.ts +10 -10
  77. package/front_end/models/trace/handlers/DOMStatsHandler.ts +2 -2
  78. package/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts +59 -51
  79. package/front_end/models/trace/handlers/FlowsHandler.ts +10 -10
  80. package/front_end/models/trace/handlers/FramesHandler.ts +2 -2
  81. package/front_end/models/trace/handlers/GPUHandler.ts +2 -2
  82. package/front_end/models/trace/handlers/ImagePaintingHandler.ts +12 -12
  83. package/front_end/models/trace/handlers/InitiatorsHandler.ts +18 -20
  84. package/front_end/models/trace/handlers/InvalidationsHandler.ts +6 -6
  85. package/front_end/models/trace/handlers/LargestImagePaintHandler.ts +4 -3
  86. package/front_end/models/trace/handlers/LargestTextPaintHandler.ts +2 -2
  87. package/front_end/models/trace/handlers/LayerTreeHandler.ts +10 -10
  88. package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +28 -28
  89. package/front_end/models/trace/handlers/MemoryHandler.ts +2 -2
  90. package/front_end/models/trace/handlers/MetaHandler.ts +18 -18
  91. package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +25 -23
  92. package/front_end/models/trace/handlers/PageFramesHandler.ts +2 -2
  93. package/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +5 -5
  94. package/front_end/models/trace/handlers/RendererHandler.ts +18 -18
  95. package/front_end/models/trace/handlers/SamplesHandler.ts +6 -9
  96. package/front_end/models/trace/handlers/ScreenshotsHandler.ts +8 -8
  97. package/front_end/models/trace/handlers/ScriptsHandler.ts +2 -2
  98. package/front_end/models/trace/handlers/SelectorStatsHandler.ts +4 -4
  99. package/front_end/models/trace/handlers/UserInteractionsHandler.ts +14 -14
  100. package/front_end/models/trace/handlers/UserTimingsHandler.ts +10 -10
  101. package/front_end/models/trace/handlers/WarningsHandler.ts +12 -12
  102. package/front_end/models/trace/handlers/WorkersHandler.ts +6 -6
  103. package/front_end/models/trace/helpers/Extensions.ts +10 -10
  104. package/front_end/models/trace/helpers/Trace.ts +3 -3
  105. package/front_end/models/trace/insights/ForcedReflow.ts +4 -0
  106. package/front_end/models/trace/insights/NetworkDependencyTree.ts +4 -0
  107. package/front_end/models/trace/insights/ThirdParties.ts +4 -0
  108. package/front_end/models/trace/types/Extensions.ts +27 -17
  109. package/front_end/models/trace/types/Overlays.ts +1 -3
  110. package/front_end/models/trace/types/TraceEvents.ts +2 -5
  111. package/front_end/models/workspace/FileManager.ts +1 -0
  112. package/front_end/panels/accessibility/ARIAAttributesView.ts +2 -60
  113. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +22 -4
  114. package/front_end/panels/ai_assistance/PatchWidget.ts +1 -1
  115. package/front_end/panels/ai_assistance/SelectWorkspaceDialog.ts +2 -1
  116. package/front_end/panels/ai_assistance/ai_assistance-meta.ts +9 -9
  117. package/front_end/panels/ai_assistance/components/ChatView.ts +44 -2
  118. package/front_end/panels/animation/AnimationUI.ts +2 -1
  119. package/front_end/panels/application/KeyValueStorageItemsView.ts +2 -1
  120. package/front_end/panels/application/components/BackForwardCacheStrings.ts +9 -9
  121. package/front_end/panels/autofill/AutofillView.ts +15 -10
  122. package/front_end/panels/browser_debugger/CSPViolationBreakpointsSidebarPane.ts +5 -6
  123. package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +174 -272
  124. package/front_end/panels/browser_debugger/EventListenerBreakpointsSidebarPane.ts +9 -6
  125. package/front_end/panels/browser_debugger/categorizedBreakpointsSidebarPane.css +1 -1
  126. package/front_end/panels/common/BadgeNotification.ts +121 -0
  127. package/front_end/panels/common/FreDialog.ts +4 -3
  128. package/front_end/panels/common/badgeNotification.css +74 -0
  129. package/front_end/panels/common/common.ts +3 -1
  130. package/front_end/panels/console/ConsolePrompt.ts +2 -3
  131. package/front_end/panels/console/ConsoleView.ts +8 -8
  132. package/front_end/panels/console/ConsoleViewMessage.ts +14 -13
  133. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +2 -1
  134. package/front_end/panels/elements/CSSRuleValidator.ts +0 -57
  135. package/front_end/panels/elements/ElementsTreeElement.ts +12 -4
  136. package/front_end/panels/elements/ElementsTreeOutlineRenderer.ts +8 -5
  137. package/front_end/panels/elements/PropertyRenderer.ts +1 -1
  138. package/front_end/panels/elements/StylePropertyTreeElement.ts +110 -9
  139. package/front_end/panels/emulation/DeviceModeView.ts +6 -5
  140. package/front_end/panels/layer_viewer/Layers3DView.ts +9 -9
  141. package/front_end/panels/layers/LayerTreeModel.ts +5 -5
  142. package/front_end/panels/lighthouse/LighthouseStatusView.ts +2 -1
  143. package/front_end/panels/lighthouse/LighthouseTimespanView.ts +2 -1
  144. package/front_end/panels/media/MainView.ts +48 -18
  145. package/front_end/panels/media/MediaModel.ts +4 -4
  146. package/front_end/panels/media/PlayerListView.ts +7 -0
  147. package/front_end/panels/mobile_throttling/ThrottlingManager.ts +2 -2
  148. package/front_end/panels/network/NetworkDataGridNode.ts +4 -5
  149. package/front_end/panels/network/NetworkItemView.ts +2 -2
  150. package/front_end/panels/network/NetworkLogView.ts +10 -15
  151. package/front_end/panels/network/NetworkLogViewColumns.ts +6 -8
  152. package/front_end/panels/network/NetworkOverview.ts +6 -4
  153. package/front_end/panels/network/NetworkPanel.ts +5 -5
  154. package/front_end/panels/network/NetworkWaterfallColumn.ts +5 -5
  155. package/front_end/panels/network/RequestTimingView.ts +7 -6
  156. package/front_end/panels/network/network.ts +1 -3
  157. package/front_end/panels/profiler/HeapTimelineOverview.ts +2 -1
  158. package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +2 -1
  159. package/front_end/panels/sensors/SensorsView.ts +10 -9
  160. package/front_end/panels/settings/AISettingsTab.ts +2 -2
  161. package/front_end/panels/settings/SettingsScreen.ts +19 -9
  162. package/front_end/panels/settings/components/SyncSection.ts +136 -3
  163. package/front_end/panels/settings/components/syncSection.css +54 -0
  164. package/front_end/panels/sources/AiCodeCompletionPlugin.ts +26 -9
  165. package/front_end/panels/sources/CSSPlugin.ts +5 -4
  166. package/front_end/panels/timeline/CountersGraph.ts +1 -1
  167. package/front_end/panels/timeline/ExtensionTrackAppender.ts +2 -2
  168. package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +3 -3
  169. package/front_end/panels/timeline/TimelineDetailsView.ts +41 -26
  170. package/front_end/panels/timeline/TimelinePaintProfilerView.ts +2 -1
  171. package/front_end/panels/timeline/TimelinePanel.ts +58 -59
  172. package/front_end/panels/timeline/TimelineUIUtils.ts +89 -20
  173. package/front_end/panels/timeline/TimingsTrackAppender.ts +10 -7
  174. package/front_end/panels/timeline/components/insights/CLSCulprits.ts +1 -11
  175. package/front_end/panels/timeline/components/insights/ForcedReflow.ts +4 -0
  176. package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +2 -3
  177. package/front_end/panels/timeline/components/insights/NetworkDependencyTree.ts +4 -0
  178. package/front_end/panels/timeline/components/insights/ThirdParties.ts +4 -0
  179. package/front_end/panels/timeline/extensions/ExtensionUI.ts +1 -1
  180. package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +1 -1
  181. package/front_end/panels/timeline/overlays/components/TimespanBreakdownOverlay.ts +3 -12
  182. package/front_end/panels/timeline/utils/AIContext.ts +14 -1
  183. package/front_end/panels/whats_new/ReleaseNoteText.ts +11 -11
  184. package/front_end/panels/whats_new/resources/WNDT.md +6 -6
  185. package/front_end/services/tracing/tracing.ts +0 -2
  186. package/front_end/tsconfig.json +1 -0
  187. package/front_end/ui/components/buttons/button.css +4 -0
  188. package/front_end/ui/components/highlighting/HighlightManager.ts +19 -9
  189. package/front_end/ui/legacy/ARIAUtils.ts +1 -1
  190. package/front_end/ui/legacy/DockController.ts +1 -1
  191. package/front_end/ui/legacy/GlassPane.ts +2 -1
  192. package/front_end/ui/legacy/InspectorView.ts +41 -14
  193. package/front_end/ui/legacy/ResizerWidget.ts +45 -50
  194. package/front_end/ui/legacy/SoftDropDown.ts +2 -2
  195. package/front_end/ui/legacy/SplitWidget.ts +341 -357
  196. package/front_end/ui/legacy/SuggestBox.ts +2 -2
  197. package/front_end/ui/legacy/TabbedPane.ts +5 -5
  198. package/front_end/ui/legacy/Treeoutline.ts +227 -32
  199. package/front_end/ui/legacy/UIUtils.ts +72 -17
  200. package/front_end/ui/legacy/Widget.ts +15 -14
  201. package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +6 -14
  202. package/front_end/ui/legacy/components/inline_editor/AnimationTimingModel.ts +3 -3
  203. package/front_end/ui/legacy/components/inline_editor/AnimationTimingUI.ts +15 -14
  204. package/front_end/ui/legacy/components/inline_editor/BezierUI.ts +6 -5
  205. package/front_end/ui/legacy/components/inline_editor/CSSAngleUtils.ts +7 -6
  206. package/front_end/ui/legacy/components/inline_editor/CSSShadowEditor.ts +13 -12
  207. package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +2 -1
  208. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +10 -11
  209. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +3 -2
  210. package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +7 -5
  211. package/front_end/ui/legacy/components/perf_ui/TimelineGrid.ts +3 -13
  212. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewCalculator.ts +2 -3
  213. package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +2 -1
  214. package/front_end/ui/legacy/components/source_frame/XMLView.ts +268 -295
  215. package/front_end/ui/legacy/components/source_frame/xmlTree.css +10 -8
  216. package/front_end/ui/legacy/components/source_frame/xmlView.css +3 -1
  217. package/front_end/ui/legacy/inspectorCommon.css +3 -2
  218. package/front_end/ui/legacy/legacy.ts +0 -2
  219. package/front_end/ui/visual_logging/KnownContextValues.ts +8 -4
  220. package/package.json +2 -2
  221. package/.gemini/commands/migrate-e2e-non-hosted.toml +0 -43
  222. package/.gemini/commands/review.toml +0 -85
  223. package/.github/workflows/auto-close-prs.yml +0 -30
  224. package/.vscode/devtools-workspace-launch.json +0 -43
  225. package/.vscode/devtools-workspace-settings.json +0 -12
  226. package/.vscode/devtools-workspace-tasks.json +0 -66
  227. package/.vscode/extensions.json +0 -3
  228. package/codereview.settings +0 -4
  229. package/config/gni/devtools_grd_files.gni +0 -2646
  230. package/config/gni/devtools_image_files.gni +0 -309
  231. package/config/gni/i18n.gni +0 -115
  232. package/extensions/cxx_debugging/CMakeLists.txt +0 -162
  233. package/extensions/cxx_debugging/README.md +0 -81
  234. package/extensions/cxx_debugging/e2e/MochaRootHooks.ts +0 -110
  235. package/extensions/cxx_debugging/e2e/OptionsPageTests.ts +0 -36
  236. package/extensions/cxx_debugging/e2e/StandaloneTestDriver.ts +0 -20
  237. package/extensions/cxx_debugging/e2e/TestDriver.ts +0 -311
  238. package/extensions/cxx_debugging/e2e/cxx-debugging-extension-helpers.ts +0 -62
  239. package/extensions/cxx_debugging/e2e/resources/huge-source-file.cc +0 -29
  240. package/extensions/cxx_debugging/e2e/resources/pointers.cc +0 -40
  241. package/extensions/cxx_debugging/e2e/resources/scope-view-non-primitives.c +0 -30
  242. package/extensions/cxx_debugging/e2e/resources/scope-view-non-primitives.cpp +0 -49
  243. package/extensions/cxx_debugging/e2e/resources/scope-view-primitives.c +0 -19
  244. package/extensions/cxx_debugging/e2e/resources/stepping-with-state.c +0 -31
  245. package/extensions/cxx_debugging/e2e/resources/test_wasm_simd.c +0 -13
  246. package/extensions/cxx_debugging/e2e/resources/vector.cc +0 -14
  247. package/extensions/cxx_debugging/e2e/resources/wchar.cc +0 -22
  248. package/extensions/cxx_debugging/e2e/runner.py +0 -542
  249. package/extensions/cxx_debugging/e2e/runner.py.vpython +0 -5
  250. package/extensions/cxx_debugging/e2e/runner.py.vpython3 +0 -5
  251. package/extensions/cxx_debugging/e2e/standalone/MemoryInspector_test.ts +0 -59
  252. package/extensions/cxx_debugging/e2e/tests/cpp_eval.yaml +0 -37
  253. package/extensions/cxx_debugging/e2e/tests/pointer.yaml +0 -42
  254. package/extensions/cxx_debugging/e2e/tests/scope_view_non_primitives.yaml +0 -35
  255. package/extensions/cxx_debugging/e2e/tests/scope_view_non_primitives_cpp.yaml +0 -44
  256. package/extensions/cxx_debugging/e2e/tests/scope_view_primitives.yaml +0 -31
  257. package/extensions/cxx_debugging/e2e/tests/stepping_with_state.yaml +0 -64
  258. package/extensions/cxx_debugging/e2e/tests/string_view.yaml +0 -32
  259. package/extensions/cxx_debugging/e2e/tests/test_big_dwo.yaml +0 -21
  260. package/extensions/cxx_debugging/e2e/tests/test_linear_memory_inspector.yaml +0 -11
  261. package/extensions/cxx_debugging/e2e/tests/test_loop.yaml +0 -34
  262. package/extensions/cxx_debugging/e2e/tests/test_wasm_simd.yaml +0 -42
  263. package/extensions/cxx_debugging/e2e/tests/vector.yaml +0 -26
  264. package/extensions/cxx_debugging/e2e/tests/wchar.yaml +0 -52
  265. package/extensions/cxx_debugging/e2e/tsconfig.json +0 -24
  266. package/extensions/cxx_debugging/lib/ApiContext.cc +0 -627
  267. package/extensions/cxx_debugging/lib/ApiContext.h +0 -119
  268. package/extensions/cxx_debugging/lib/CMakeLists.txt +0 -53
  269. package/extensions/cxx_debugging/lib/Expressions.cc +0 -303
  270. package/extensions/cxx_debugging/lib/Expressions.h +0 -53
  271. package/extensions/cxx_debugging/lib/Variables.cc +0 -101
  272. package/extensions/cxx_debugging/lib/Variables.h +0 -65
  273. package/extensions/cxx_debugging/lib/WasmModule.cc +0 -573
  274. package/extensions/cxx_debugging/lib/WasmModule.h +0 -126
  275. package/extensions/cxx_debugging/lib/WasmVendorPlugins.cc +0 -172
  276. package/extensions/cxx_debugging/lib/WasmVendorPlugins.h +0 -329
  277. package/extensions/cxx_debugging/lib/api.h +0 -593
  278. package/extensions/cxx_debugging/lib/api.h.in +0 -86
  279. package/extensions/cxx_debugging/src/CMakeLists.txt +0 -158
  280. package/extensions/cxx_debugging/src/CreditsItem.ts +0 -126
  281. package/extensions/cxx_debugging/src/CustomFormatters.ts +0 -689
  282. package/extensions/cxx_debugging/src/DWARFSymbols.ts +0 -613
  283. package/extensions/cxx_debugging/src/DevToolsPlugin.html +0 -7
  284. package/extensions/cxx_debugging/src/DevToolsPluginForTests.html +0 -6
  285. package/extensions/cxx_debugging/src/DevToolsPluginHost.ts +0 -145
  286. package/extensions/cxx_debugging/src/DevToolsPluginWorker.ts +0 -120
  287. package/extensions/cxx_debugging/src/DevToolsPluginWorkerMain.ts +0 -9
  288. package/extensions/cxx_debugging/src/ExtensionOptions.html +0 -24
  289. package/extensions/cxx_debugging/src/ExtensionOptions.ts +0 -705
  290. package/extensions/cxx_debugging/src/Formatters.ts +0 -282
  291. package/extensions/cxx_debugging/src/GlobMatch.ts +0 -51
  292. package/extensions/cxx_debugging/src/MEMFSResourceLoader.ts +0 -102
  293. package/extensions/cxx_debugging/src/ModuleConfiguration.ts +0 -117
  294. package/extensions/cxx_debugging/src/ModuleConfigurationList.ts +0 -239
  295. package/extensions/cxx_debugging/src/SymbolsBackend.cc +0 -262
  296. package/extensions/cxx_debugging/src/SymbolsBackend.cc.in +0 -139
  297. package/extensions/cxx_debugging/src/SymbolsBackend.d.ts +0 -179
  298. package/extensions/cxx_debugging/src/SymbolsBackend.d.ts.in +0 -108
  299. package/extensions/cxx_debugging/src/TestDriver.js +0 -21
  300. package/extensions/cxx_debugging/src/WasmTypes.ts +0 -119
  301. package/extensions/cxx_debugging/src/WorkerRPC.ts +0 -158
  302. package/extensions/cxx_debugging/src/index.html +0 -69
  303. package/extensions/cxx_debugging/src/manifest.json.in +0 -22
  304. package/extensions/cxx_debugging/src/rollup.config.in.js +0 -33
  305. package/extensions/cxx_debugging/tests/CMakeLists.txt +0 -146
  306. package/extensions/cxx_debugging/tests/CreditsItem_test.ts +0 -50
  307. package/extensions/cxx_debugging/tests/CustomFormatters_test.ts +0 -307
  308. package/extensions/cxx_debugging/tests/DevToolsPluginTestWorker.ts +0 -43
  309. package/extensions/cxx_debugging/tests/DevToolsPlugin_test.ts +0 -345
  310. package/extensions/cxx_debugging/tests/Externref_test.ts +0 -63
  311. package/extensions/cxx_debugging/tests/Formatters_test.ts +0 -284
  312. package/extensions/cxx_debugging/tests/GlobMatch_test.ts +0 -58
  313. package/extensions/cxx_debugging/tests/Interpreter_test.ts +0 -219
  314. package/extensions/cxx_debugging/tests/LLDBEvalExtensions.h +0 -154
  315. package/extensions/cxx_debugging/tests/LLDBEvalTests.d.ts +0 -24
  316. package/extensions/cxx_debugging/tests/ModuleConfiguration_test.ts +0 -136
  317. package/extensions/cxx_debugging/tests/RealBackend.ts +0 -482
  318. package/extensions/cxx_debugging/tests/SymbolsBackendTests.d.ts +0 -12
  319. package/extensions/cxx_debugging/tests/SymbolsBackend_test.ts +0 -39
  320. package/extensions/cxx_debugging/tests/TestUtils.ts +0 -250
  321. package/extensions/cxx_debugging/tests/WasmModule_test.cc +0 -332
  322. package/extensions/cxx_debugging/tests/build-artifacts.js.in +0 -10
  323. package/extensions/cxx_debugging/tests/inputs/CMakeLists.txt +0 -141
  324. package/extensions/cxx_debugging/tests/inputs/addr_index.s +0 -97
  325. package/extensions/cxx_debugging/tests/inputs/addresses.cc +0 -25
  326. package/extensions/cxx_debugging/tests/inputs/classstatic.s +0 -119
  327. package/extensions/cxx_debugging/tests/inputs/dw_opcodes.def +0 -66
  328. package/extensions/cxx_debugging/tests/inputs/embedded.s +0 -124
  329. package/extensions/cxx_debugging/tests/inputs/enums.s +0 -376
  330. package/extensions/cxx_debugging/tests/inputs/externref.js +0 -22
  331. package/extensions/cxx_debugging/tests/inputs/externref.s +0 -207
  332. package/extensions/cxx_debugging/tests/inputs/globals.s +0 -443
  333. package/extensions/cxx_debugging/tests/inputs/hello-split-missing-dwo.s +0 -92
  334. package/extensions/cxx_debugging/tests/inputs/hello-split.s +0 -134
  335. package/extensions/cxx_debugging/tests/inputs/hello.s +0 -70
  336. package/extensions/cxx_debugging/tests/inputs/helper.s +0 -130
  337. package/extensions/cxx_debugging/tests/inputs/inline.s +0 -196
  338. package/extensions/cxx_debugging/tests/inputs/namespaces.s +0 -207
  339. package/extensions/cxx_debugging/tests/inputs/page.html +0 -6
  340. package/extensions/cxx_debugging/tests/inputs/page.js +0 -35
  341. package/extensions/cxx_debugging/tests/inputs/shadowing.s +0 -121
  342. package/extensions/cxx_debugging/tests/inputs/split-dwarf.s +0 -126
  343. package/extensions/cxx_debugging/tests/inputs/string_view.cc +0 -40
  344. package/extensions/cxx_debugging/tests/inputs/windows_paths.s +0 -70
  345. package/extensions/cxx_debugging/tests/karma.conf.in.js +0 -133
  346. package/extensions/cxx_debugging/tests/karma_preload.html +0 -12
  347. package/extensions/cxx_debugging/third_party/.clang-format +0 -1
  348. package/extensions/cxx_debugging/third_party/lit-html/CHANGELOG.md +0 -247
  349. package/extensions/cxx_debugging/third_party/lit-html/LICENSE +0 -28
  350. package/extensions/cxx_debugging/third_party/lit-html/README.chromium +0 -13
  351. package/extensions/cxx_debugging/third_party/lit-html/README.md +0 -47
  352. package/extensions/cxx_debugging/third_party/lit-html/directives/async-append.d.ts +0 -33
  353. package/extensions/cxx_debugging/third_party/lit-html/directives/async-append.d.ts.map +0 -1
  354. package/extensions/cxx_debugging/third_party/lit-html/directives/async-append.js +0 -108
  355. package/extensions/cxx_debugging/third_party/lit-html/directives/async-append.js.map +0 -1
  356. package/extensions/cxx_debugging/third_party/lit-html/directives/async-replace.d.ts +0 -34
  357. package/extensions/cxx_debugging/third_party/lit-html/directives/async-replace.d.ts.map +0 -1
  358. package/extensions/cxx_debugging/third_party/lit-html/directives/async-replace.js +0 -91
  359. package/extensions/cxx_debugging/third_party/lit-html/directives/async-replace.js.map +0 -1
  360. package/extensions/cxx_debugging/third_party/lit-html/directives/cache.d.ts +0 -30
  361. package/extensions/cxx_debugging/third_party/lit-html/directives/cache.d.ts.map +0 -1
  362. package/extensions/cxx_debugging/third_party/lit-html/directives/cache.js +0 -77
  363. package/extensions/cxx_debugging/third_party/lit-html/directives/cache.js.map +0 -1
  364. package/extensions/cxx_debugging/third_party/lit-html/directives/class-map.d.ts +0 -28
  365. package/extensions/cxx_debugging/third_party/lit-html/directives/class-map.d.ts.map +0 -1
  366. package/extensions/cxx_debugging/third_party/lit-html/directives/class-map.js +0 -101
  367. package/extensions/cxx_debugging/third_party/lit-html/directives/class-map.js.map +0 -1
  368. package/extensions/cxx_debugging/third_party/lit-html/directives/guard.d.ts +0 -49
  369. package/extensions/cxx_debugging/third_party/lit-html/directives/guard.d.ts.map +0 -1
  370. package/extensions/cxx_debugging/third_party/lit-html/directives/guard.js +0 -69
  371. package/extensions/cxx_debugging/third_party/lit-html/directives/guard.js.map +0 -1
  372. package/extensions/cxx_debugging/third_party/lit-html/directives/if-defined.d.ts +0 -22
  373. package/extensions/cxx_debugging/third_party/lit-html/directives/if-defined.d.ts.map +0 -1
  374. package/extensions/cxx_debugging/third_party/lit-html/directives/if-defined.js +0 -37
  375. package/extensions/cxx_debugging/third_party/lit-html/directives/if-defined.js.map +0 -1
  376. package/extensions/cxx_debugging/third_party/lit-html/directives/live.d.ts +0 -38
  377. package/extensions/cxx_debugging/third_party/lit-html/directives/live.d.ts.map +0 -1
  378. package/extensions/cxx_debugging/third_party/lit-html/directives/live.js +0 -73
  379. package/extensions/cxx_debugging/third_party/lit-html/directives/live.js.map +0 -1
  380. package/extensions/cxx_debugging/third_party/lit-html/directives/repeat.d.ts +0 -37
  381. package/extensions/cxx_debugging/third_party/lit-html/directives/repeat.d.ts.map +0 -1
  382. package/extensions/cxx_debugging/third_party/lit-html/directives/repeat.js +0 -415
  383. package/extensions/cxx_debugging/third_party/lit-html/directives/repeat.js.map +0 -1
  384. package/extensions/cxx_debugging/third_party/lit-html/directives/style-map.d.ts +0 -36
  385. package/extensions/cxx_debugging/third_party/lit-html/directives/style-map.d.ts.map +0 -1
  386. package/extensions/cxx_debugging/third_party/lit-html/directives/style-map.js +0 -78
  387. package/extensions/cxx_debugging/third_party/lit-html/directives/style-map.js.map +0 -1
  388. package/extensions/cxx_debugging/third_party/lit-html/directives/template-content.d.ts +0 -23
  389. package/extensions/cxx_debugging/third_party/lit-html/directives/template-content.d.ts.map +0 -1
  390. package/extensions/cxx_debugging/third_party/lit-html/directives/template-content.js +0 -41
  391. package/extensions/cxx_debugging/third_party/lit-html/directives/template-content.js.map +0 -1
  392. package/extensions/cxx_debugging/third_party/lit-html/directives/unsafe-html.d.ts +0 -23
  393. package/extensions/cxx_debugging/third_party/lit-html/directives/unsafe-html.d.ts.map +0 -1
  394. package/extensions/cxx_debugging/third_party/lit-html/directives/unsafe-html.js +0 -44
  395. package/extensions/cxx_debugging/third_party/lit-html/directives/unsafe-html.js.map +0 -1
  396. package/extensions/cxx_debugging/third_party/lit-html/directives/unsafe-svg.d.ts +0 -23
  397. package/extensions/cxx_debugging/third_party/lit-html/directives/unsafe-svg.d.ts.map +0 -1
  398. package/extensions/cxx_debugging/third_party/lit-html/directives/unsafe-svg.js +0 -61
  399. package/extensions/cxx_debugging/third_party/lit-html/directives/unsafe-svg.js.map +0 -1
  400. package/extensions/cxx_debugging/third_party/lit-html/directives/until.d.ts +0 -35
  401. package/extensions/cxx_debugging/third_party/lit-html/directives/until.d.ts.map +0 -1
  402. package/extensions/cxx_debugging/third_party/lit-html/directives/until.js +0 -86
  403. package/extensions/cxx_debugging/third_party/lit-html/directives/until.js.map +0 -1
  404. package/extensions/cxx_debugging/third_party/lit-html/lib/default-template-processor.d.ts +0 -39
  405. package/extensions/cxx_debugging/third_party/lit-html/lib/default-template-processor.d.ts.map +0 -1
  406. package/extensions/cxx_debugging/third_party/lit-html/lib/default-template-processor.js +0 -52
  407. package/extensions/cxx_debugging/third_party/lit-html/lib/default-template-processor.js.map +0 -1
  408. package/extensions/cxx_debugging/third_party/lit-html/lib/directive.d.ts +0 -59
  409. package/extensions/cxx_debugging/third_party/lit-html/lib/directive.d.ts.map +0 -1
  410. package/extensions/cxx_debugging/third_party/lit-html/lib/directive.js +0 -63
  411. package/extensions/cxx_debugging/third_party/lit-html/lib/directive.js.map +0 -1
  412. package/extensions/cxx_debugging/third_party/lit-html/lib/dom.d.ts +0 -29
  413. package/extensions/cxx_debugging/third_party/lit-html/lib/dom.d.ts.map +0 -1
  414. package/extensions/cxx_debugging/third_party/lit-html/lib/dom.js +0 -44
  415. package/extensions/cxx_debugging/third_party/lit-html/lib/dom.js.map +0 -1
  416. package/extensions/cxx_debugging/third_party/lit-html/lib/modify-template.d.ts +0 -38
  417. package/extensions/cxx_debugging/third_party/lit-html/lib/modify-template.d.ts.map +0 -1
  418. package/extensions/cxx_debugging/third_party/lit-html/lib/modify-template.js +0 -125
  419. package/extensions/cxx_debugging/third_party/lit-html/lib/modify-template.js.map +0 -1
  420. package/extensions/cxx_debugging/third_party/lit-html/lib/part.d.ts +0 -46
  421. package/extensions/cxx_debugging/third_party/lit-html/lib/part.d.ts.map +0 -1
  422. package/extensions/cxx_debugging/third_party/lit-html/lib/part.js +0 -23
  423. package/extensions/cxx_debugging/third_party/lit-html/lib/part.js.map +0 -1
  424. package/extensions/cxx_debugging/third_party/lit-html/lib/parts.d.ts +0 -148
  425. package/extensions/cxx_debugging/third_party/lit-html/lib/parts.d.ts.map +0 -1
  426. package/extensions/cxx_debugging/third_party/lit-html/lib/parts.js +0 -476
  427. package/extensions/cxx_debugging/third_party/lit-html/lib/parts.js.map +0 -1
  428. package/extensions/cxx_debugging/third_party/lit-html/lib/render-options.d.ts +0 -19
  429. package/extensions/cxx_debugging/third_party/lit-html/lib/render-options.d.ts.map +0 -1
  430. package/extensions/cxx_debugging/third_party/lit-html/lib/render-options.js +0 -14
  431. package/extensions/cxx_debugging/third_party/lit-html/lib/render-options.js.map +0 -1
  432. package/extensions/cxx_debugging/third_party/lit-html/lib/render.d.ts +0 -33
  433. package/extensions/cxx_debugging/third_party/lit-html/lib/render.d.ts.map +0 -1
  434. package/extensions/cxx_debugging/third_party/lit-html/lib/render.js +0 -43
  435. package/extensions/cxx_debugging/third_party/lit-html/lib/render.js.map +0 -1
  436. package/extensions/cxx_debugging/third_party/lit-html/lib/shady-render.d.ts +0 -83
  437. package/extensions/cxx_debugging/third_party/lit-html/lib/shady-render.d.ts.map +0 -1
  438. package/extensions/cxx_debugging/third_party/lit-html/lib/shady-render.js +0 -286
  439. package/extensions/cxx_debugging/third_party/lit-html/lib/shady-render.js.map +0 -1
  440. package/extensions/cxx_debugging/third_party/lit-html/lib/template-factory.d.ts +0 -57
  441. package/extensions/cxx_debugging/third_party/lit-html/lib/template-factory.d.ts.map +0 -1
  442. package/extensions/cxx_debugging/third_party/lit-html/lib/template-factory.js +0 -48
  443. package/extensions/cxx_debugging/third_party/lit-html/lib/template-factory.js.map +0 -1
  444. package/extensions/cxx_debugging/third_party/lit-html/lib/template-instance.d.ts +0 -30
  445. package/extensions/cxx_debugging/third_party/lit-html/lib/template-instance.d.ts.map +0 -1
  446. package/extensions/cxx_debugging/third_party/lit-html/lib/template-instance.js +0 -134
  447. package/extensions/cxx_debugging/third_party/lit-html/lib/template-instance.js.map +0 -1
  448. package/extensions/cxx_debugging/third_party/lit-html/lib/template-processor.d.ts +0 -46
  449. package/extensions/cxx_debugging/third_party/lit-html/lib/template-processor.d.ts.map +0 -1
  450. package/extensions/cxx_debugging/third_party/lit-html/lib/template-processor.js +0 -14
  451. package/extensions/cxx_debugging/third_party/lit-html/lib/template-processor.js.map +0 -1
  452. package/extensions/cxx_debugging/third_party/lit-html/lib/template-result.d.ts +0 -42
  453. package/extensions/cxx_debugging/third_party/lit-html/lib/template-result.d.ts.map +0 -1
  454. package/extensions/cxx_debugging/third_party/lit-html/lib/template-result.js +0 -131
  455. package/extensions/cxx_debugging/third_party/lit-html/lib/template-result.js.map +0 -1
  456. package/extensions/cxx_debugging/third_party/lit-html/lib/template.d.ts +0 -92
  457. package/extensions/cxx_debugging/third_party/lit-html/lib/template.d.ts.map +0 -1
  458. package/extensions/cxx_debugging/third_party/lit-html/lib/template.js +0 -215
  459. package/extensions/cxx_debugging/third_party/lit-html/lib/template.js.map +0 -1
  460. package/extensions/cxx_debugging/third_party/lit-html/lit-html.d.ts +0 -42
  461. package/extensions/cxx_debugging/third_party/lit-html/lit-html.d.ts.map +0 -1
  462. package/extensions/cxx_debugging/third_party/lit-html/lit-html.js +0 -59
  463. package/extensions/cxx_debugging/third_party/lit-html/lit-html.js.map +0 -1
  464. package/extensions/cxx_debugging/third_party/lit-html/package.json +0 -84
  465. package/extensions/cxx_debugging/third_party/lit-html/polyfills/template_polyfill.d.ts +0 -24
  466. package/extensions/cxx_debugging/third_party/lit-html/polyfills/template_polyfill.d.ts.map +0 -1
  467. package/extensions/cxx_debugging/third_party/lit-html/polyfills/template_polyfill.js +0 -60
  468. package/extensions/cxx_debugging/third_party/lit-html/polyfills/template_polyfill.js.map +0 -1
  469. package/extensions/cxx_debugging/third_party/lit-html/src/directives/async-append.ts +0 -100
  470. package/extensions/cxx_debugging/third_party/lit-html/src/directives/async-replace.ts +0 -82
  471. package/extensions/cxx_debugging/third_party/lit-html/src/directives/cache.ts +0 -90
  472. package/extensions/cxx_debugging/third_party/lit-html/src/directives/class-map.ts +0 -118
  473. package/extensions/cxx_debugging/third_party/lit-html/src/directives/guard.ts +0 -74
  474. package/extensions/cxx_debugging/third_party/lit-html/src/directives/if-defined.ts +0 -40
  475. package/extensions/cxx_debugging/third_party/lit-html/src/directives/live.ts +0 -76
  476. package/extensions/cxx_debugging/third_party/lit-html/src/directives/repeat.ts +0 -442
  477. package/extensions/cxx_debugging/third_party/lit-html/src/directives/style-map.ts +0 -88
  478. package/extensions/cxx_debugging/third_party/lit-html/src/directives/template-content.ts +0 -52
  479. package/extensions/cxx_debugging/third_party/lit-html/src/directives/unsafe-html.ts +0 -54
  480. package/extensions/cxx_debugging/third_party/lit-html/src/directives/unsafe-svg.ts +0 -71
  481. package/extensions/cxx_debugging/third_party/lit-html/src/directives/until.ts +0 -104
  482. package/extensions/cxx_debugging/third_party/lit-html/src/env.d.ts +0 -20
  483. package/extensions/cxx_debugging/third_party/lit-html/src/lib/default-template-processor.ts +0 -59
  484. package/extensions/cxx_debugging/third_party/lit-html/src/lib/directive.ts +0 -73
  485. package/extensions/cxx_debugging/third_party/lit-html/src/lib/dom.ts +0 -55
  486. package/extensions/cxx_debugging/third_party/lit-html/src/lib/modify-template.ts +0 -135
  487. package/extensions/cxx_debugging/third_party/lit-html/src/lib/part.ts +0 -50
  488. package/extensions/cxx_debugging/third_party/lit-html/src/lib/parts.ts +0 -545
  489. package/extensions/cxx_debugging/third_party/lit-html/src/lib/render-options.ts +0 -20
  490. package/extensions/cxx_debugging/third_party/lit-html/src/lib/render.ts +0 -52
  491. package/extensions/cxx_debugging/third_party/lit-html/src/lib/shady-render.ts +0 -316
  492. package/extensions/cxx_debugging/third_party/lit-html/src/lib/template-factory.ts +0 -92
  493. package/extensions/cxx_debugging/third_party/lit-html/src/lib/template-instance.ts +0 -155
  494. package/extensions/cxx_debugging/third_party/lit-html/src/lib/template-processor.ts +0 -51
  495. package/extensions/cxx_debugging/third_party/lit-html/src/lib/template-result.ts +0 -148
  496. package/extensions/cxx_debugging/third_party/lit-html/src/lib/template.ts +0 -255
  497. package/extensions/cxx_debugging/third_party/lit-html/src/lit-html.ts +0 -74
  498. package/extensions/cxx_debugging/third_party/lit-html/src/polyfills/template_polyfill.ts +0 -70
  499. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/async-append.d.ts +0 -33
  500. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/async-replace.d.ts +0 -34
  501. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/cache.d.ts +0 -30
  502. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/class-map.d.ts +0 -28
  503. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/guard.d.ts +0 -49
  504. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/if-defined.d.ts +0 -22
  505. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/live.d.ts +0 -38
  506. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/repeat.d.ts +0 -37
  507. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/style-map.d.ts +0 -36
  508. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/template-content.d.ts +0 -23
  509. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/unsafe-html.d.ts +0 -23
  510. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/unsafe-svg.d.ts +0 -23
  511. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/directives/until.d.ts +0 -35
  512. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/default-template-processor.d.ts +0 -39
  513. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/directive.d.ts +0 -59
  514. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/dom.d.ts +0 -29
  515. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/modify-template.d.ts +0 -38
  516. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/part.d.ts +0 -46
  517. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/parts.d.ts +0 -148
  518. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/render-options.d.ts +0 -19
  519. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/render.d.ts +0 -33
  520. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/shady-render.d.ts +0 -83
  521. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/template-factory.d.ts +0 -57
  522. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/template-instance.d.ts +0 -30
  523. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/template-processor.d.ts +0 -46
  524. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/template-result.d.ts +0 -42
  525. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lib/template.d.ts +0 -92
  526. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/lit-html.d.ts +0 -42
  527. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/polyfills/template_polyfill.d.ts +0 -24
  528. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/src/env.d.ts +0 -19
  529. package/extensions/cxx_debugging/third_party/lit-html/ts3.4/tsconfig.json +0 -24
  530. package/extensions/cxx_debugging/third_party/lldb-eval/README.chromium +0 -15
  531. package/extensions/cxx_debugging/third_party/llvm/README.chromium +0 -17
  532. package/extensions/cxx_debugging/tools/api.pdl +0 -224
  533. package/extensions/cxx_debugging/tools/bootstrap.py +0 -352
  534. package/extensions/cxx_debugging/tools/generate-api.py +0 -74
  535. package/extensions/cxx_debugging/tools/pdl_cxx.py +0 -171
  536. package/extensions/cxx_debugging/tools/whitespaces.txt +0 -1
  537. package/extensions/cxx_debugging/tsconfig.json +0 -16
  538. package/front_end/core/common/Base64.test.ts +0 -41
  539. package/front_end/core/common/CharacterIdMap.test.ts +0 -46
  540. package/front_end/core/common/Color.test.ts +0 -904
  541. package/front_end/core/common/ColorConverter.test.ts +0 -525
  542. package/front_end/core/common/ColorUtils.test.ts +0 -112
  543. package/front_end/core/common/Console.test.ts +0 -86
  544. package/front_end/core/common/Debouncer.test.ts +0 -26
  545. package/front_end/core/common/EventTarget.test.ts +0 -166
  546. package/front_end/core/common/Gzip.test.ts +0 -63
  547. package/front_end/core/common/Lazy.test.ts +0 -28
  548. package/front_end/core/common/MapWithDefault.test.ts +0 -61
  549. package/front_end/core/common/Mutex.test.ts +0 -98
  550. package/front_end/core/common/Object.test.ts +0 -87
  551. package/front_end/core/common/ParsedURL.test.ts +0 -751
  552. package/front_end/core/common/Progress.test.ts +0 -269
  553. package/front_end/core/common/ResolverBase.test.ts +0 -115
  554. package/front_end/core/common/ResourceType.test.ts +0 -557
  555. package/front_end/core/common/Revealer.test.ts +0 -122
  556. package/front_end/core/common/SegmentedRange.test.ts +0 -210
  557. package/front_end/core/common/SettingRegistration.test.ts +0 -138
  558. package/front_end/core/common/Settings.test.ts +0 -858
  559. package/front_end/core/common/SimpleHistoryManager.test.ts +0 -66
  560. package/front_end/core/common/StringOutputStream.test.ts +0 -29
  561. package/front_end/core/common/TextDictionary.test.ts +0 -85
  562. package/front_end/core/common/Throttler.test.ts +0 -227
  563. package/front_end/core/common/Trie.test.ts +0 -110
  564. package/front_end/core/dom_extension/DOMExtension.test.ts +0 -343
  565. package/front_end/core/host/AidaClient.test.ts +0 -731
  566. package/front_end/core/i18n/ByteUtilities.test.ts +0 -59
  567. package/front_end/core/i18n/DevToolsLocale.test.ts +0 -104
  568. package/front_end/core/i18n/NumberFormatter.test.ts +0 -92
  569. package/front_end/core/i18n/i18n.test.ts +0 -207
  570. package/front_end/core/i18n/time-utilities.test.ts +0 -164
  571. package/front_end/core/platform/ArrayUtilities.test.ts +0 -499
  572. package/front_end/core/platform/DOMUtilities.test.ts +0 -95
  573. package/front_end/core/platform/DateUtilities.test.ts +0 -31
  574. package/front_end/core/platform/DevToolsPath.test.ts +0 -84
  575. package/front_end/core/platform/KeyboardUtilities.test.ts +0 -57
  576. package/front_end/core/platform/MapUtilities.test.ts +0 -50
  577. package/front_end/core/platform/MimeType.test.ts +0 -192
  578. package/front_end/core/platform/NumberUtilities.test.ts +0 -127
  579. package/front_end/core/platform/StringUtilities.test.ts +0 -729
  580. package/front_end/core/platform/TypedArrayUtilities.test.ts +0 -61
  581. package/front_end/core/protocol_client/NodeURL.test.ts +0 -74
  582. package/front_end/core/root/Runtime.test.ts +0 -68
  583. package/front_end/core/sdk/AccessibilityModel.test.ts +0 -17
  584. package/front_end/core/sdk/AnimationModel.test.ts +0 -257
  585. package/front_end/core/sdk/AutofillModel.test.ts +0 -82
  586. package/front_end/core/sdk/CPUThrottlingManager.test.ts +0 -49
  587. package/front_end/core/sdk/CSSContainerQuery.test.ts +0 -67
  588. package/front_end/core/sdk/CSSMatchedStyles.test.ts +0 -772
  589. package/front_end/core/sdk/CSSModel.test.ts +0 -120
  590. package/front_end/core/sdk/CSSProperty.test.ts +0 -130
  591. package/front_end/core/sdk/CSSPropertyParser.test.ts +0 -525
  592. package/front_end/core/sdk/CSSPropertyParserMatchers.test.ts +0 -766
  593. package/front_end/core/sdk/CSSStyleDeclaration.test.ts +0 -261
  594. package/front_end/core/sdk/CSSStyleSheetHeader.test.ts +0 -137
  595. package/front_end/core/sdk/ChildTargetManager.test.ts +0 -259
  596. package/front_end/core/sdk/ConsoleModel.test.ts +0 -202
  597. package/front_end/core/sdk/Cookie.test.ts +0 -294
  598. package/front_end/core/sdk/CookieModel.test.ts +0 -258
  599. package/front_end/core/sdk/CookieParser.test.ts +0 -211
  600. package/front_end/core/sdk/DOMModel.test.ts +0 -171
  601. package/front_end/core/sdk/DebuggerModel.test.ts +0 -461
  602. package/front_end/core/sdk/EmulationModel.test.ts +0 -45
  603. package/front_end/core/sdk/EnhancedTracesParser.test.ts +0 -318
  604. package/front_end/core/sdk/FrameManager.test.ts +0 -305
  605. package/front_end/core/sdk/NetworkManager.test.ts +0 -2196
  606. package/front_end/core/sdk/NetworkRequest.test.ts +0 -550
  607. package/front_end/core/sdk/OverlayColorGenerator.test.ts +0 -21
  608. package/front_end/core/sdk/OverlayModel.test.ts +0 -179
  609. package/front_end/core/sdk/OverlayPersistentHighlighter.test.ts +0 -232
  610. package/front_end/core/sdk/PageResourceLoader.test.ts +0 -369
  611. package/front_end/core/sdk/PreloadingModel.test.ts +0 -877
  612. package/front_end/core/sdk/RehydratingConnection.test.ts +0 -190
  613. package/front_end/core/sdk/RemoteObject.test.ts +0 -493
  614. package/front_end/core/sdk/ResourceTreeModel.test.ts +0 -222
  615. package/front_end/core/sdk/RuntimeModel.test.ts +0 -84
  616. package/front_end/core/sdk/ScreenCaptureModel.test.ts +0 -216
  617. package/front_end/core/sdk/Script.test.ts +0 -155
  618. package/front_end/core/sdk/ServerSentEventsProtocol.test.ts +0 -220
  619. package/front_end/core/sdk/ServerTiming.test.ts +0 -377
  620. package/front_end/core/sdk/ServiceWorkerCacheModel.test.ts +0 -200
  621. package/front_end/core/sdk/ServiceWorkerManager.test.ts +0 -287
  622. package/front_end/core/sdk/SourceMap.test.ts +0 -1350
  623. package/front_end/core/sdk/SourceMapFunctionRanges.test.ts +0 -171
  624. package/front_end/core/sdk/SourceMapManager.test.ts +0 -334
  625. package/front_end/core/sdk/SourceMapScopeChainEntry.test.ts +0 -129
  626. package/front_end/core/sdk/SourceMapScopesInfo.test.ts +0 -747
  627. package/front_end/core/sdk/StorageBucketsModel.test.ts +0 -383
  628. package/front_end/core/sdk/StorageKeyManager.test.ts +0 -95
  629. package/front_end/core/sdk/Target.test.ts +0 -97
  630. package/front_end/core/sdk/TargetManager.test.ts +0 -279
  631. package/front_end/core/sdk/TraceObject.test.ts +0 -30
  632. package/front_end/entrypoints/formatter_worker/CSSFormatter.test.ts +0 -216
  633. package/front_end/entrypoints/formatter_worker/FormattedContentBuilder.test.ts +0 -177
  634. package/front_end/entrypoints/formatter_worker/FormatterWorker.test.ts +0 -19
  635. package/front_end/entrypoints/formatter_worker/HTMLFormatter.test.ts +0 -344
  636. package/front_end/entrypoints/formatter_worker/JSONFormatter.test.ts +0 -147
  637. package/front_end/entrypoints/formatter_worker/JavaScriptFormatter.test.ts +0 -789
  638. package/front_end/entrypoints/formatter_worker/ScopeParser.test.ts +0 -121
  639. package/front_end/entrypoints/formatter_worker/Substitute.test.ts +0 -179
  640. package/front_end/entrypoints/heap_snapshot_worker/heap_snapshot_worker.test.ts +0 -11
  641. package/front_end/entrypoints/inspector_main/InspectorMain.test.ts +0 -344
  642. package/front_end/entrypoints/inspector_main/OutermostTargetSelector.test.ts +0 -80
  643. package/front_end/entrypoints/main/ExecutionContextSelector.test.ts +0 -64
  644. package/front_end/entrypoints/main/GlobalAiButton.test.ts +0 -132
  645. package/front_end/entrypoints/main/MainImpl.test.ts +0 -87
  646. package/front_end/entrypoints/wasmparser_worker/wasmparser_worker.test.ts +0 -11
  647. package/front_end/integration_test_runner.html +0 -40
  648. package/front_end/legacy_test_runner/accessibility_test_runner/accessibility_test_runner.js +0 -83
  649. package/front_end/legacy_test_runner/application_test_runner/CacheStorageTestRunner.js +0 -297
  650. package/front_end/legacy_test_runner/application_test_runner/IndexedDBTestRunner.js +0 -478
  651. package/front_end/legacy_test_runner/application_test_runner/ResourceTreeTestRunner.js +0 -106
  652. package/front_end/legacy_test_runner/application_test_runner/ResourcesTestRunner.js +0 -173
  653. package/front_end/legacy_test_runner/application_test_runner/ServiceWorkersTestRunner.js +0 -133
  654. package/front_end/legacy_test_runner/application_test_runner/StorageTestRunner.js +0 -13
  655. package/front_end/legacy_test_runner/application_test_runner/application_test_runner.js +0 -19
  656. package/front_end/legacy_test_runner/axe_core_test_runner/axe_core_test_runner.js +0 -176
  657. package/front_end/legacy_test_runner/bindings_test_runner/AutomappingTestRunner.js +0 -137
  658. package/front_end/legacy_test_runner/bindings_test_runner/BindingsTestRunner.js +0 -251
  659. package/front_end/legacy_test_runner/bindings_test_runner/IsolatedFilesystemTestRunner.js +0 -289
  660. package/front_end/legacy_test_runner/bindings_test_runner/OverridesTestRunner.js +0 -30
  661. package/front_end/legacy_test_runner/bindings_test_runner/PersistenceTestRunner.js +0 -111
  662. package/front_end/legacy_test_runner/bindings_test_runner/bindings_test_runner.js +0 -17
  663. package/front_end/legacy_test_runner/console_test_runner/console_test_runner.js +0 -732
  664. package/front_end/legacy_test_runner/coverage_test_runner/coverage_test_runner.js +0 -156
  665. package/front_end/legacy_test_runner/data_grid_test_runner/data_grid_test_runner.js +0 -85
  666. package/front_end/legacy_test_runner/device_mode_test_runner/device_mode_test_runner.js +0 -47
  667. package/front_end/legacy_test_runner/elements_test_runner/EditDOMTestRunner.js +0 -79
  668. package/front_end/legacy_test_runner/elements_test_runner/ElementsPanelShadowSelectionOnRefreshTestRunner.js +0 -39
  669. package/front_end/legacy_test_runner/elements_test_runner/ElementsTestRunner.js +0 -1256
  670. package/front_end/legacy_test_runner/elements_test_runner/SetOuterHTMLTestRunner.js +0 -116
  671. package/front_end/legacy_test_runner/elements_test_runner/StylesUpdateLinksTestRunner.js +0 -136
  672. package/front_end/legacy_test_runner/elements_test_runner/elements_test_runner.js +0 -14
  673. package/front_end/legacy_test_runner/extensions_test_runner/ExtensionsNetworkTestRunner.js +0 -27
  674. package/front_end/legacy_test_runner/extensions_test_runner/ExtensionsTestRunner.js +0 -71
  675. package/front_end/legacy_test_runner/extensions_test_runner/extensions_test_runner.js +0 -11
  676. package/front_end/legacy_test_runner/heap_profiler_test_runner/heap_profiler_test_runner.js +0 -785
  677. package/front_end/legacy_test_runner/layers_test_runner/layers_test_runner.js +0 -161
  678. package/front_end/legacy_test_runner/legacy_test_runner.ts +0 -14
  679. package/front_end/legacy_test_runner/network_test_runner/network_test_runner.js +0 -295
  680. package/front_end/legacy_test_runner/performance_test_runner/TimelineDataTestRunner.js +0 -5263
  681. package/front_end/legacy_test_runner/performance_test_runner/TimelineTestRunner.js +0 -357
  682. package/front_end/legacy_test_runner/performance_test_runner/performance_test_runner.js +0 -11
  683. package/front_end/legacy_test_runner/sdk_test_runner/sdk_test_runner.js +0 -314
  684. package/front_end/legacy_test_runner/security_test_runner/security_test_runner.js +0 -36
  685. package/front_end/legacy_test_runner/sources_test_runner/AutocompleteTestRunner.js +0 -50
  686. package/front_end/legacy_test_runner/sources_test_runner/DebuggerTestRunner.js +0 -655
  687. package/front_end/legacy_test_runner/sources_test_runner/EditorTestRunner.js +0 -240
  688. package/front_end/legacy_test_runner/sources_test_runner/LiveEditTestRunner.js +0 -34
  689. package/front_end/legacy_test_runner/sources_test_runner/SearchTestRunner.js +0 -161
  690. package/front_end/legacy_test_runner/sources_test_runner/SourcesTestRunner.js +0 -111
  691. package/front_end/legacy_test_runner/sources_test_runner/sources_test_runner.js +0 -19
  692. package/front_end/legacy_test_runner/test_runner/TestRunner.js +0 -1480
  693. package/front_end/legacy_test_runner/test_runner/test_runner.js +0 -115
  694. package/front_end/models/ai_assistance/AgentProject.test.ts +0 -370
  695. package/front_end/models/ai_assistance/AiHistoryStorage.test.ts +0 -619
  696. package/front_end/models/ai_assistance/ChangeManager.test.ts +0 -330
  697. package/front_end/models/ai_assistance/ConversationHandler.test.ts +0 -355
  698. package/front_end/models/ai_assistance/EvaluateAction.test.ts +0 -173
  699. package/front_end/models/ai_assistance/ExtensionScope.test.ts +0 -447
  700. package/front_end/models/ai_assistance/agents/AiAgent.test.ts +0 -491
  701. package/front_end/models/ai_assistance/agents/FileAgent.test.ts +0 -217
  702. package/front_end/models/ai_assistance/agents/NetworkAgent.test.ts +0 -237
  703. package/front_end/models/ai_assistance/agents/PatchAgent.test.ts +0 -130
  704. package/front_end/models/ai_assistance/agents/PerformanceAgent.test.ts +0 -759
  705. package/front_end/models/ai_assistance/agents/PerformanceAnnotationsAgent.test.ts +0 -32
  706. package/front_end/models/ai_assistance/agents/StylingAgent.test.ts +0 -1065
  707. package/front_end/models/ai_assistance/data_formatters/FileFormatter.test.ts +0 -116
  708. package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.test.ts +0 -87
  709. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.test.ts +0 -367
  710. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.test.ts +0 -92
  711. package/front_end/models/ai_code_completion/AiCodeCompletion.test.ts +0 -328
  712. package/front_end/models/autofill_manager/AutofillManager.test.ts +0 -266
  713. package/front_end/models/bindings/CompilerScriptMapping.test.ts +0 -550
  714. package/front_end/models/bindings/ContentProviderBasedProject.test.ts +0 -118
  715. package/front_end/models/bindings/DebuggerLanguagePlugins.test.ts +0 -144
  716. package/front_end/models/bindings/DebuggerWorkspaceBinding.test.ts +0 -179
  717. package/front_end/models/bindings/DefaultScriptMapping.test.ts +0 -193
  718. package/front_end/models/bindings/FileUtils.test.ts +0 -69
  719. package/front_end/models/bindings/LiveLocation.test.ts +0 -47
  720. package/front_end/models/bindings/PresentationConsoleMessageHelper.test.ts +0 -276
  721. package/front_end/models/bindings/ResourceMapping.test.ts +0 -253
  722. package/front_end/models/bindings/ResourceScriptMapping.test.ts +0 -118
  723. package/front_end/models/bindings/ResourceUtils.test.ts +0 -105
  724. package/front_end/models/breakpoints/BreakpointManager.test.ts +0 -1919
  725. package/front_end/models/cpu_profile/CPUProfileDataModel.test.ts +0 -376
  726. package/front_end/models/crux-manager/CrUXManager.test.ts +0 -613
  727. package/front_end/models/emulation/DeviceModeModel.test.ts +0 -104
  728. package/front_end/models/emulation/EmulatedDevices.test.ts +0 -61
  729. package/front_end/models/extensions/ExtensionServer.test.ts +0 -1170
  730. package/front_end/models/extensions/HostUrlPattern.test.ts +0 -312
  731. package/front_end/models/extensions/LanguageExtensionEndpoint.test.ts +0 -65
  732. package/front_end/models/extensions/RecorderPluginManager.test.ts +0 -34
  733. package/front_end/models/formatter/ScriptFormatter.test.ts +0 -93
  734. package/front_end/models/har/Importer.test.ts +0 -353
  735. package/front_end/models/har/Log.test.ts +0 -208
  736. package/front_end/models/har/Writer.test.ts +0 -49
  737. package/front_end/models/heap_snapshot_model/heap_snapshot_model.test.ts +0 -11
  738. package/front_end/models/issues_manager/CheckFormsIssuesTrigger.test.ts +0 -22
  739. package/front_end/models/issues_manager/DeprecationIssue.test.ts +0 -81
  740. package/front_end/models/issues_manager/ElementAccessibilityIssue.test.ts +0 -87
  741. package/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.test.ts +0 -52
  742. package/front_end/models/issues_manager/GenericIssue.test.ts +0 -82
  743. package/front_end/models/issues_manager/Issue.test.ts +0 -56
  744. package/front_end/models/issues_manager/IssueResolver.test.ts +0 -91
  745. package/front_end/models/issues_manager/IssuesManager.test.ts +0 -360
  746. package/front_end/models/issues_manager/LowTextContrastIssue.test.ts +0 -58
  747. package/front_end/models/issues_manager/MarkdownIssueDescription.test.ts +0 -92
  748. package/front_end/models/issues_manager/PropertyRuleIssue.test.ts +0 -109
  749. package/front_end/models/issues_manager/RelatedIssue.test.ts +0 -64
  750. package/front_end/models/issues_manager/SRIMessageSignatureIssue.test.ts +0 -68
  751. package/front_end/models/issues_manager/SharedDictionaryIssue.test.ts +0 -68
  752. package/front_end/models/issues_manager/StylesheetLoadingIssue.test.ts +0 -138
  753. package/front_end/models/issues_manager/UnencodedDigestIssue.test.ts +0 -49
  754. package/front_end/models/javascript_metadata/JavaScriptMetadata.test.ts +0 -62
  755. package/front_end/models/logs/NetworkLog.test.ts +0 -376
  756. package/front_end/models/logs/RequestResolver.test.ts +0 -92
  757. package/front_end/models/persistence/AutomaticFileSystemManager.test.ts +0 -208
  758. package/front_end/models/persistence/AutomaticFileSystemWorkspaceBinding.test.ts +0 -227
  759. package/front_end/models/persistence/EditFileSystemView.test.ts +0 -181
  760. package/front_end/models/persistence/NetworkPersistenceManager.test.ts +0 -989
  761. package/front_end/models/persistence/PersistenceAction.test.ts +0 -93
  762. package/front_end/models/persistence/PersistenceImpl.test.ts +0 -229
  763. package/front_end/models/persistence/PlatformFileSystem.test.ts +0 -19
  764. package/front_end/models/persistence/WorkspaceSettingsTab.test.ts +0 -146
  765. package/front_end/models/project_settings/ProjectSettingsModel.test.ts +0 -260
  766. package/front_end/models/source_map_scopes/NamesResolver.test.ts +0 -624
  767. package/front_end/models/source_map_scopes/ScopeChainModel.test.ts +0 -87
  768. package/front_end/models/source_map_scopes/ScopeTreeCache.test.ts +0 -63
  769. package/front_end/models/stack_trace/StackTraceImpl.test.ts +0 -74
  770. package/front_end/models/stack_trace/StackTraceModel.test.ts +0 -296
  771. package/front_end/models/stack_trace/Trie.test.ts +0 -129
  772. package/front_end/models/text_utils/ContentData.test.ts +0 -162
  773. package/front_end/models/text_utils/StaticContentProvider.test.ts +0 -34
  774. package/front_end/models/text_utils/StreamingContentData.test.ts +0 -81
  775. package/front_end/models/text_utils/Text.test.ts +0 -103
  776. package/front_end/models/text_utils/TextCursor.test.ts +0 -48
  777. package/front_end/models/text_utils/TextRange.test.ts +0 -461
  778. package/front_end/models/text_utils/TextUtils.test.ts +0 -730
  779. package/front_end/models/text_utils/WasmDisassembly.test.ts +0 -56
  780. package/front_end/models/trace/ModelImpl.test.ts +0 -161
  781. package/front_end/models/trace/Processor.test.ts +0 -429
  782. package/front_end/models/trace/extras/FilmStrip.test.ts +0 -90
  783. package/front_end/models/trace/extras/MainThreadActivity.test.ts +0 -82
  784. package/front_end/models/trace/extras/ScriptDuplication.test.ts +0 -407
  785. package/front_end/models/trace/extras/StackTraceForEvent.test.ts +0 -330
  786. package/front_end/models/trace/extras/ThirdParties.test.ts +0 -114
  787. package/front_end/models/trace/extras/TraceFilter.test.ts +0 -103
  788. package/front_end/models/trace/extras/TraceTree.test.ts +0 -489
  789. package/front_end/models/trace/handlers/AnimationFramesHandler.test.ts +0 -40
  790. package/front_end/models/trace/handlers/AnimationHandler.test.ts +0 -54
  791. package/front_end/models/trace/handlers/AsyncJSCallsHandler.test.ts +0 -300
  792. package/front_end/models/trace/handlers/AuctionWorkletsHandler.test.ts +0 -167
  793. package/front_end/models/trace/handlers/DOMStatsHandler.test.ts +0 -30
  794. package/front_end/models/trace/handlers/ExtensionTraceDataHandler.test.ts +0 -987
  795. package/front_end/models/trace/handlers/FlowsHandler.test.ts +0 -185
  796. package/front_end/models/trace/handlers/FramesHandler.test.ts +0 -243
  797. package/front_end/models/trace/handlers/GPUHandler.test.ts +0 -26
  798. package/front_end/models/trace/handlers/ImagePaintingHandler.test.ts +0 -87
  799. package/front_end/models/trace/handlers/InitiatorsHandler.test.ts +0 -309
  800. package/front_end/models/trace/handlers/InvalidationsHandler.test.ts +0 -185
  801. package/front_end/models/trace/handlers/LargestImagePaintHandler.test.ts +0 -62
  802. package/front_end/models/trace/handlers/LargestTextPaintHandler.test.ts +0 -27
  803. package/front_end/models/trace/handlers/LayerTreeHandler.test.ts +0 -46
  804. package/front_end/models/trace/handlers/LayoutShiftsHandler.test.ts +0 -252
  805. package/front_end/models/trace/handlers/MemoryHandler.test.ts +0 -29
  806. package/front_end/models/trace/handlers/MetaHandler.test.ts +0 -650
  807. package/front_end/models/trace/handlers/NetworkRequestsHandler.test.ts +0 -514
  808. package/front_end/models/trace/handlers/PageFramesHandler.test.ts +0 -40
  809. package/front_end/models/trace/handlers/PageLoadMetricsHandler.test.ts +0 -274
  810. package/front_end/models/trace/handlers/RendererHandler.test.ts +0 -1007
  811. package/front_end/models/trace/handlers/SamplesHandler.test.ts +0 -355
  812. package/front_end/models/trace/handlers/ScreenshotsHandler.test.ts +0 -114
  813. package/front_end/models/trace/handlers/ScriptsHandler.test.ts +0 -103
  814. package/front_end/models/trace/handlers/SelectorStatsHandler.test.ts +0 -39
  815. package/front_end/models/trace/handlers/Threads.test.ts +0 -59
  816. package/front_end/models/trace/handlers/UserInteractionsHandler.test.ts +0 -439
  817. package/front_end/models/trace/handlers/UserTimingsHandler.test.ts +0 -525
  818. package/front_end/models/trace/handlers/WarningsHandler.test.ts +0 -86
  819. package/front_end/models/trace/handlers/WorkersHandler.test.ts +0 -80
  820. package/front_end/models/trace/handlers/helpers.test.ts +0 -102
  821. package/front_end/models/trace/helpers/SamplesIntegrator.test.ts +0 -372
  822. package/front_end/models/trace/helpers/SyntheticEvents.test.ts +0 -62
  823. package/front_end/models/trace/helpers/Timing.test.ts +0 -371
  824. package/front_end/models/trace/helpers/Trace.test.ts +0 -760
  825. package/front_end/models/trace/helpers/TreeHelpers.test.ts +0 -449
  826. package/front_end/models/trace/insights/CLSCulprits.test.ts +0 -254
  827. package/front_end/models/trace/insights/Cache.test.ts +0 -221
  828. package/front_end/models/trace/insights/Common.test.ts +0 -125
  829. package/front_end/models/trace/insights/DOMSize.test.ts +0 -66
  830. package/front_end/models/trace/insights/DocumentLatency.test.ts +0 -110
  831. package/front_end/models/trace/insights/DuplicatedJavaScript.test.ts +0 -128
  832. package/front_end/models/trace/insights/FontDisplay.test.ts +0 -64
  833. package/front_end/models/trace/insights/ForcedReflow.test.ts +0 -34
  834. package/front_end/models/trace/insights/INPBreakdown.test.ts +0 -32
  835. package/front_end/models/trace/insights/ImageDelivery.test.ts +0 -128
  836. package/front_end/models/trace/insights/LCPBreakdown.test.ts +0 -100
  837. package/front_end/models/trace/insights/LCPDiscovery.test.ts +0 -67
  838. package/front_end/models/trace/insights/LegacyJavaScript.test.ts +0 -81
  839. package/front_end/models/trace/insights/ModernHTTP.test.ts +0 -348
  840. package/front_end/models/trace/insights/NetworkDependencyTree.test.ts +0 -563
  841. package/front_end/models/trace/insights/RenderBlocking.test.ts +0 -133
  842. package/front_end/models/trace/insights/SlowCSSSelector.test.ts +0 -48
  843. package/front_end/models/trace/insights/Statistics.test.ts +0 -145
  844. package/front_end/models/trace/insights/ThirdParties.test.ts +0 -56
  845. package/front_end/models/trace/insights/Viewport.test.ts +0 -52
  846. package/front_end/models/trace/lantern/core/NetworkAnalyzer.test.ts +0 -530
  847. package/front_end/models/trace/lantern/graph/BaseNode.test.ts +0 -391
  848. package/front_end/models/trace/lantern/graph/PageDependencyGraph.test.ts +0 -670
  849. package/front_end/models/trace/lantern/metrics/FirstContentfulPaint.test.ts +0 -65
  850. package/front_end/models/trace/lantern/metrics/Interactive.test.ts +0 -70
  851. package/front_end/models/trace/lantern/metrics/LargestContentfulPaint.test.ts +0 -42
  852. package/front_end/models/trace/lantern/metrics/SpeedIndex.test.ts +0 -87
  853. package/front_end/models/trace/lantern/metrics/TBTUtils.test.ts +0 -138
  854. package/front_end/models/trace/lantern/simulation/ConnectionPool.test.ts +0 -199
  855. package/front_end/models/trace/lantern/simulation/DNSCache.test.ts +0 -76
  856. package/front_end/models/trace/lantern/simulation/Simulator.test.ts +0 -454
  857. package/front_end/models/trace/lantern/simulation/TCPConnection.test.ts +0 -368
  858. package/front_end/models/trace/types/File.test.ts +0 -42
  859. package/front_end/models/trace/types/TraceEvents.test.ts +0 -92
  860. package/front_end/models/workspace/IgnoreListManager.test.ts +0 -616
  861. package/front_end/models/workspace/SearchConfig.test.ts +0 -114
  862. package/front_end/models/workspace/UISourceCode.test.ts +0 -415
  863. package/front_end/models/workspace/WorkspaceImpl.test.ts +0 -187
  864. package/front_end/models/workspace_diff/WorkspaceDiff.test.ts +0 -84
  865. package/front_end/panels/accessibility/ARIAAttributesView.test.ts +0 -101
  866. package/front_end/panels/accessibility/AccessibilitySidebarView.test.ts +0 -67
  867. package/front_end/panels/ai_assistance/AiAssistancePanel.test.ts +0 -1891
  868. package/front_end/panels/ai_assistance/PatchWidget.test.ts +0 -445
  869. package/front_end/panels/ai_assistance/SelectWorkspaceDialog.test.ts +0 -201
  870. package/front_end/panels/ai_assistance/components/ChatView.test.ts +0 -103
  871. package/front_end/panels/ai_assistance/components/ExploreWidget.test.ts +0 -118
  872. package/front_end/panels/ai_assistance/components/MarkdownRendererWithCodeBlock.test.ts +0 -80
  873. package/front_end/panels/ai_assistance/components/UserActionRow.test.ts +0 -123
  874. package/front_end/panels/animation/AnimationTimeline.test.ts +0 -752
  875. package/front_end/panels/application/AppManifestView.test.ts +0 -342
  876. package/front_end/panels/application/ApplicationPanelSidebar.test.ts +0 -484
  877. package/front_end/panels/application/BackgroundServiceView.test.ts +0 -160
  878. package/front_end/panels/application/DOMStorageModel.test.ts +0 -45
  879. package/front_end/panels/application/ExtensionStorageItemsView.test.ts +0 -152
  880. package/front_end/panels/application/ExtensionStorageModel.test.ts +0 -249
  881. package/front_end/panels/application/IndexedDBModel.test.ts +0 -252
  882. package/front_end/panels/application/IndexedDBViews.test.ts +0 -182
  883. package/front_end/panels/application/InterestGroupStorageView.test.ts +0 -155
  884. package/front_end/panels/application/InterestGroupTreeElement.test.ts +0 -37
  885. package/front_end/panels/application/KeyValueStorageItemsView.test.ts +0 -120
  886. package/front_end/panels/application/PreloadingTreeElement.test.ts +0 -30
  887. package/front_end/panels/application/ReportingApiView.test.ts +0 -233
  888. package/front_end/panels/application/ServiceWorkerUpdateCycleView.test.ts +0 -130
  889. package/front_end/panels/application/ServiceWorkersView.test.ts +0 -179
  890. package/front_end/panels/application/SharedStorageEventsView.test.ts +0 -231
  891. package/front_end/panels/application/SharedStorageItemsView.test.ts +0 -913
  892. package/front_end/panels/application/SharedStorageListTreeElement.test.ts +0 -161
  893. package/front_end/panels/application/SharedStorageModel.test.ts +0 -434
  894. package/front_end/panels/application/SharedStorageTreeElement.test.ts +0 -140
  895. package/front_end/panels/application/StorageBucketsTreeElement.test.ts +0 -149
  896. package/front_end/panels/application/StorageView.test.ts +0 -156
  897. package/front_end/panels/application/components/BackForwardCacheView.test.ts +0 -303
  898. package/front_end/panels/application/components/BounceTrackingMitigationsView.test.ts +0 -138
  899. package/front_end/panels/application/components/EndpointsGrid.test.ts +0 -83
  900. package/front_end/panels/application/components/FrameDetailsView.test.ts +0 -263
  901. package/front_end/panels/application/components/InterestGroupAccessGrid.test.ts +0 -70
  902. package/front_end/panels/application/components/OriginTrialTreeView.test.ts +0 -442
  903. package/front_end/panels/application/components/ProtocolHandlersView.test.ts +0 -73
  904. package/front_end/panels/application/components/ReportsGrid.test.ts +0 -131
  905. package/front_end/panels/application/components/ServiceWorkerRouterView.test.ts +0 -57
  906. package/front_end/panels/application/components/SharedStorageAccessGrid.test.ts +0 -84
  907. package/front_end/panels/application/components/SharedStorageMetadataView.test.ts +0 -122
  908. package/front_end/panels/application/components/StackTrace.test.ts +0 -222
  909. package/front_end/panels/application/components/StorageMetadataView.test.ts +0 -208
  910. package/front_end/panels/application/components/TrustTokensView.test.ts +0 -127
  911. package/front_end/panels/application/preloading/PreloadingView.test.ts +0 -1180
  912. package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.test.ts +0 -194
  913. package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.test.ts +0 -532
  914. package/front_end/panels/application/preloading/components/PreloadingGrid.test.ts +0 -503
  915. package/front_end/panels/application/preloading/components/PreloadingMismatchedHeadersGrid.test.ts +0 -150
  916. package/front_end/panels/application/preloading/components/RuleSetDetailsView.test.ts +0 -185
  917. package/front_end/panels/application/preloading/components/RuleSetGrid.test.ts +0 -190
  918. package/front_end/panels/application/preloading/components/UsedPreloadingView.test.ts +0 -751
  919. package/front_end/panels/autofill/AutofillView.test.ts +0 -224
  920. package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.test.ts +0 -179
  921. package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.test.ts +0 -52
  922. package/front_end/panels/browser_debugger/browser_debugger.test.ts +0 -11
  923. package/front_end/panels/changes/CombinedDiffView.test.ts +0 -154
  924. package/front_end/panels/changes/changes.test.ts +0 -11
  925. package/front_end/panels/common/AiCodeCompletionDisclaimer.test.ts +0 -57
  926. package/front_end/panels/common/AiCodeCompletionSummaryToolbar.test.ts +0 -85
  927. package/front_end/panels/common/AiCodeCompletionTeaser.test.ts +0 -98
  928. package/front_end/panels/console/ConsoleContextSelector.test.ts +0 -96
  929. package/front_end/panels/console/ConsoleFormat.test.ts +0 -462
  930. package/front_end/panels/console/ConsolePrompt.test.ts +0 -188
  931. package/front_end/panels/console/ConsoleSidebar.test.ts +0 -130
  932. package/front_end/panels/console/ConsoleView.test.ts +0 -276
  933. package/front_end/panels/console/ConsoleViewMessage.test.ts +0 -433
  934. package/front_end/panels/console/ConsoleViewport.test.ts +0 -399
  935. package/front_end/panels/console/ErrorStackParser.test.ts +0 -343
  936. package/front_end/panels/console_counters/console_counters.test.ts +0 -11
  937. package/front_end/panels/coverage/CoverageDecorationManager.test.ts +0 -211
  938. package/front_end/panels/coverage/CoverageModel.test.ts +0 -91
  939. package/front_end/panels/coverage/CoverageView.test.ts +0 -202
  940. package/front_end/panels/css_overview/CSSOverviewPanel.test.ts +0 -40
  941. package/front_end/panels/developer_resources/DeveloperResourcesView.test.ts +0 -43
  942. package/front_end/panels/developer_resources/developer_resources.test.ts +0 -11
  943. package/front_end/panels/elements/AccessibilityTreeView.test.ts +0 -50
  944. package/front_end/panels/elements/CSSRuleValidator.test.ts +0 -482
  945. package/front_end/panels/elements/CSSValueTraceView.test.ts +0 -215
  946. package/front_end/panels/elements/ClassesPaneWidget.test.ts +0 -48
  947. package/front_end/panels/elements/ColorSwatchPopoverIcon.test.ts +0 -63
  948. package/front_end/panels/elements/ComputedStyleModel.test.ts +0 -155
  949. package/front_end/panels/elements/ComputedStyleWidget.test.ts +0 -153
  950. package/front_end/panels/elements/DOMLinkifier.test.ts +0 -60
  951. package/front_end/panels/elements/DOMTreeWidget.test.ts +0 -58
  952. package/front_end/panels/elements/ElementStatePaneWidget.test.ts +0 -363
  953. package/front_end/panels/elements/ElementsPanel.test.ts +0 -211
  954. package/front_end/panels/elements/ElementsTreeElement.test.ts +0 -443
  955. package/front_end/panels/elements/ElementsTreeOutline.test.ts +0 -218
  956. package/front_end/panels/elements/EventListenersWidget.test.ts +0 -129
  957. package/front_end/panels/elements/InspectElementModeController.test.ts +0 -163
  958. package/front_end/panels/elements/LayoutPane.test.ts +0 -219
  959. package/front_end/panels/elements/PlatformFontsWidget.test.ts +0 -46
  960. package/front_end/panels/elements/PropertiesWidget.test.ts +0 -76
  961. package/front_end/panels/elements/PropertyRenderer.test.ts +0 -340
  962. package/front_end/panels/elements/StylePropertiesSection.test.ts +0 -324
  963. package/front_end/panels/elements/StylePropertyHighlighter.test.ts +0 -160
  964. package/front_end/panels/elements/StylePropertyTreeElement.test.ts +0 -2250
  965. package/front_end/panels/elements/StylePropertyUtils.test.ts +0 -41
  966. package/front_end/panels/elements/StylesSidebarPane.test.ts +0 -716
  967. package/front_end/panels/elements/TopLayerContainer.test.ts +0 -55
  968. package/front_end/panels/elements/WebCustomData.test.ts +0 -77
  969. package/front_end/panels/elements/components/AccessibilityTreeNode.test.ts +0 -44
  970. package/front_end/panels/elements/components/AdornerManager.test.ts +0 -82
  971. package/front_end/panels/elements/components/CSSHintDetailsView.test.ts +0 -40
  972. package/front_end/panels/elements/components/CSSPropertyDocsView.test.ts +0 -131
  973. package/front_end/panels/elements/components/CSSPropertyIconResolver.test.ts +0 -931
  974. package/front_end/panels/elements/components/CSSQuery.test.ts +0 -58
  975. package/front_end/panels/elements/components/CSSVariableValueView.test.ts +0 -20
  976. package/front_end/panels/elements/components/ComputedStyleProperty.test.ts +0 -38
  977. package/front_end/panels/elements/components/ComputedStyleTrace.test.ts +0 -58
  978. package/front_end/panels/elements/components/ElementsBreadcrumbs.test.ts +0 -435
  979. package/front_end/panels/elements/components/ElementsTreeExpandButton.test.ts +0 -50
  980. package/front_end/panels/elements/components/QueryContainer.test.ts +0 -151
  981. package/front_end/panels/elements/components/StylePropertyEditor.test.ts +0 -188
  982. package/front_end/panels/emulation/AdvancedApp.test.ts +0 -80
  983. package/front_end/panels/emulation/MediaQueryInspector.test.ts +0 -55
  984. package/front_end/panels/event_listeners/EventListenersView.test.ts +0 -50
  985. package/front_end/panels/explain/PromptBuilder.test.ts +0 -587
  986. package/front_end/panels/explain/components/ConsoleInsight.test.ts +0 -926
  987. package/front_end/panels/issues/IssueAggregator.test.ts +0 -427
  988. package/front_end/panels/issues/IssueView.test.ts +0 -75
  989. package/front_end/panels/issues/IssuesPane.test.ts +0 -32
  990. package/front_end/panels/layer_viewer/layer_viewer.test.ts +0 -11
  991. package/front_end/panels/layers/LayersPanel.test.ts +0 -55
  992. package/front_end/panels/lighthouse/LighthouseController.test.ts +0 -36
  993. package/front_end/panels/lighthouse/LighthousePanel.test.ts +0 -89
  994. package/front_end/panels/lighthouse/LighthouseProtocolService.test.ts +0 -70
  995. package/front_end/panels/lighthouse/LighthouseReportRenderer.test.ts +0 -123
  996. package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorController.test.ts +0 -201
  997. package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorPane.test.ts +0 -54
  998. package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.test.ts +0 -124
  999. package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.test.ts +0 -421
  1000. package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.test.ts +0 -194
  1001. package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.test.ts +0 -118
  1002. package/front_end/panels/linear_memory_inspector/components/LinearMemoryViewer.test.ts +0 -397
  1003. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.test.ts +0 -450
  1004. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterSettings.test.ts +0 -91
  1005. package/front_end/panels/media/MainView.test.ts +0 -127
  1006. package/front_end/panels/media/TickingFlameChartHelpers.test.ts +0 -90
  1007. package/front_end/panels/mobile_throttling/ThrottlingManager.test.ts +0 -119
  1008. package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.test.ts +0 -115
  1009. package/front_end/panels/network/BlockedURLsPane.test.ts +0 -80
  1010. package/front_end/panels/network/NetworkConfigView.test.ts +0 -50
  1011. package/front_end/panels/network/NetworkDataGridNode.test.ts +0 -474
  1012. package/front_end/panels/network/NetworkItemView.test.ts +0 -169
  1013. package/front_end/panels/network/NetworkLogView.test.ts +0 -1101
  1014. package/front_end/panels/network/NetworkOverview.test.ts +0 -60
  1015. package/front_end/panels/network/NetworkPanel.test.ts +0 -103
  1016. package/front_end/panels/network/NetworkSearchScope.test.ts +0 -182
  1017. package/front_end/panels/network/RequestCookiesView.test.ts +0 -49
  1018. package/front_end/panels/network/RequestHTMLView.test.ts +0 -28
  1019. package/front_end/panels/network/RequestPayloadView.test.ts +0 -13
  1020. package/front_end/panels/network/RequestPreviewView.test.ts +0 -105
  1021. package/front_end/panels/network/RequestResponseView.test.ts +0 -130
  1022. package/front_end/panels/network/RequestTimingView.test.ts +0 -172
  1023. package/front_end/panels/network/ResourceDirectSocketChunkView.test.ts +0 -335
  1024. package/front_end/panels/network/components/DirectSocketConnectionView.test.ts +0 -253
  1025. package/front_end/panels/network/components/HeaderSectionRow.test.ts +0 -659
  1026. package/front_end/panels/network/components/RequestHeaderSection.test.ts +0 -101
  1027. package/front_end/panels/network/components/RequestHeadersView.test.ts +0 -537
  1028. package/front_end/panels/network/components/RequestTrustTokensView.test.ts +0 -80
  1029. package/front_end/panels/network/components/ResponseHeaderSection.test.ts +0 -1359
  1030. package/front_end/panels/performance_monitor/PerformanceMonitor.test.ts +0 -152
  1031. package/front_end/panels/profiler/HeapDetachedElementsView.test.ts +0 -34
  1032. package/front_end/panels/profiler/HeapProfileView.test.ts +0 -34
  1033. package/front_end/panels/profiler/HeapSnapshotView.test.ts +0 -35
  1034. package/front_end/panels/protocol_monitor/JSONEditor.test.ts +0 -1321
  1035. package/front_end/panels/protocol_monitor/ProtocolMonitor.test.ts +0 -548
  1036. package/front_end/panels/recorder/RecorderController.test.ts +0 -483
  1037. package/front_end/panels/recorder/components/CreateRecordingView.test.ts +0 -141
  1038. package/front_end/panels/recorder/components/RecordingListView.test.ts +0 -64
  1039. package/front_end/panels/recorder/components/RecordingView.test.ts +0 -186
  1040. package/front_end/panels/recorder/components/ReplaySection.test.ts +0 -113
  1041. package/front_end/panels/recorder/components/SelectButton.test.ts +0 -56
  1042. package/front_end/panels/recorder/components/StepEditor.test.ts +0 -711
  1043. package/front_end/panels/recorder/components/StepView.test.ts +0 -208
  1044. package/front_end/panels/recorder/converters/LighthouseConverter.test.ts +0 -79
  1045. package/front_end/panels/recorder/converters/PuppeteerConverter.test.ts +0 -88
  1046. package/front_end/panels/recorder/converters/PuppeteerReplayConverter.test.ts +0 -59
  1047. package/front_end/panels/recorder/injected/selectors/CSSSelector.test.ts +0 -39
  1048. package/front_end/panels/recorder/injected.test.ts +0 -364
  1049. package/front_end/panels/recorder/models/RecorderSettings.test.ts +0 -65
  1050. package/front_end/panels/recorder/models/RecorderShortcutHelper.test.ts +0 -59
  1051. package/front_end/panels/recorder/models/RecordingPlayer.test.ts +0 -235
  1052. package/front_end/panels/recorder/models/SchemaUtils.test.ts +0 -35
  1053. package/front_end/panels/recorder/models/ScreenshotUtils.test.ts +0 -74
  1054. package/front_end/panels/recorder/models/Section.test.ts +0 -98
  1055. package/front_end/panels/recorder/models/recording-storage.test.ts +0 -66
  1056. package/front_end/panels/recorder/models/screenshot-storage.test.ts +0 -159
  1057. package/front_end/panels/recorder/util/SharedObject.test.ts +0 -88
  1058. package/front_end/panels/screencast/ScreencastApp.test.ts +0 -24
  1059. package/front_end/panels/search/SearchResultsPane.test.ts +0 -228
  1060. package/front_end/panels/search/SearchView.test.ts +0 -197
  1061. package/front_end/panels/security/CookieControlsView.test.ts +0 -65
  1062. package/front_end/panels/security/CookieReportView.test.ts +0 -161
  1063. package/front_end/panels/security/SecurityModel.test.ts +0 -45
  1064. package/front_end/panels/security/SecurityPanel.test.ts +0 -264
  1065. package/front_end/panels/settings/AISettingsTab.test.ts +0 -293
  1066. package/front_end/panels/settings/components/SyncSection.test.ts +0 -110
  1067. package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.test.ts +0 -146
  1068. package/front_end/panels/settings/emulation/utils/StructuredHeaders.test.ts +0 -462
  1069. package/front_end/panels/settings/emulation/utils/UserAgentMetadata.test.ts +0 -94
  1070. package/front_end/panels/snippets/ScriptSnippetFileSystem.test.ts +0 -29
  1071. package/front_end/panels/sources/AiCodeCompletionPlugin.test.ts +0 -119
  1072. package/front_end/panels/sources/BreakpointEditDialog.test.ts +0 -127
  1073. package/front_end/panels/sources/BreakpointsView.test.ts +0 -1878
  1074. package/front_end/panels/sources/BreakpointsViewUtils.test.ts +0 -209
  1075. package/front_end/panels/sources/CSSPlugin.test.ts +0 -90
  1076. package/front_end/panels/sources/CoveragePlugin.test.ts +0 -82
  1077. package/front_end/panels/sources/DebuggerPausedMessage.test.ts +0 -138
  1078. package/front_end/panels/sources/DebuggerPlugin.test.ts +0 -725
  1079. package/front_end/panels/sources/FilePathScoreFunction.test.ts +0 -171
  1080. package/front_end/panels/sources/FilteredUISourceCodeListProvider.test.ts +0 -150
  1081. package/front_end/panels/sources/NavigatorView.test.ts +0 -277
  1082. package/front_end/panels/sources/OutlineQuickOpen.test.ts +0 -1064
  1083. package/front_end/panels/sources/ResourceOriginPlugin.test.ts +0 -38
  1084. package/front_end/panels/sources/SourcesNavigator.test.ts +0 -615
  1085. package/front_end/panels/sources/SourcesPanel.test.ts +0 -90
  1086. package/front_end/panels/sources/SourcesView.test.ts +0 -242
  1087. package/front_end/panels/sources/TabbedEditorContainer.test.ts +0 -122
  1088. package/front_end/panels/sources/UISourceCodeFrame.test.ts +0 -104
  1089. package/front_end/panels/sources/components/HeadersView.test.ts +0 -573
  1090. package/front_end/panels/timeline/AnnotationHelpers.test.ts +0 -190
  1091. package/front_end/panels/timeline/Breadcrumbs.test.ts +0 -281
  1092. package/front_end/panels/timeline/CountersGraph.test.ts +0 -80
  1093. package/front_end/panels/timeline/EntriesFilter.test.ts +0 -710
  1094. package/front_end/panels/timeline/Initiators.test.ts +0 -176
  1095. package/front_end/panels/timeline/ModificationsManager.test.ts +0 -254
  1096. package/front_end/panels/timeline/RecordingMetadata.test.ts +0 -147
  1097. package/front_end/panels/timeline/SaveFileFormatter.test.ts +0 -77
  1098. package/front_end/panels/timeline/ThirdPartyTreeView.test.ts +0 -84
  1099. package/front_end/panels/timeline/TimelineController.test.ts +0 -98
  1100. package/front_end/panels/timeline/TimelineDetailsView.test.ts +0 -188
  1101. package/front_end/panels/timeline/TimelineFilters.test.ts +0 -72
  1102. package/front_end/panels/timeline/TimelineFlameChartDataProvider.test.ts +0 -377
  1103. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.test.ts +0 -266
  1104. package/front_end/panels/timeline/TimelineFlameChartView.test.ts +0 -1209
  1105. package/front_end/panels/timeline/TimelineHistoryManager.test.ts +0 -160
  1106. package/front_end/panels/timeline/TimelineLoader.test.ts +0 -167
  1107. package/front_end/panels/timeline/TimelineMiniMap.test.ts +0 -135
  1108. package/front_end/panels/timeline/TimelinePanel.test.ts +0 -550
  1109. package/front_end/panels/timeline/TimelineSelection.test.ts +0 -112
  1110. package/front_end/panels/timeline/TimelineTreeView.test.ts +0 -339
  1111. package/front_end/panels/timeline/TimelineUIUtils.test.ts +0 -1793
  1112. package/front_end/panels/timeline/TrackConfigBanner.test.ts +0 -68
  1113. package/front_end/panels/timeline/TrackConfiguration.test.ts +0 -46
  1114. package/front_end/panels/timeline/components/BreadcrumbsUI.test.ts +0 -101
  1115. package/front_end/panels/timeline/components/CPUThrottlingSelector.test.ts +0 -100
  1116. package/front_end/panels/timeline/components/ExportTraceOptions.test.ts +0 -281
  1117. package/front_end/panels/timeline/components/FieldSettingsDialog.test.ts +0 -295
  1118. package/front_end/panels/timeline/components/IgnoreListSetting.test.ts +0 -325
  1119. package/front_end/panels/timeline/components/InteractionBreakdown.test.ts +0 -37
  1120. package/front_end/panels/timeline/components/Invalidations.test.ts +0 -38
  1121. package/front_end/panels/timeline/components/LayoutShiftDetails.test.ts +0 -72
  1122. package/front_end/panels/timeline/components/LiveMetricsView.test.ts +0 -1006
  1123. package/front_end/panels/timeline/components/MetricCard.test.ts +0 -637
  1124. package/front_end/panels/timeline/components/NetworkRequestDetails.test.ts +0 -178
  1125. package/front_end/panels/timeline/components/NetworkThrottlingSelector.test.ts +0 -188
  1126. package/front_end/panels/timeline/components/OriginMap.test.ts +0 -359
  1127. package/front_end/panels/timeline/components/RelatedInsightChips.test.ts +0 -91
  1128. package/front_end/panels/timeline/components/Sidebar.test.ts +0 -185
  1129. package/front_end/panels/timeline/components/SidebarAnnotationsTab.test.ts +0 -261
  1130. package/front_end/panels/timeline/components/SidebarInsightsTab.test.ts +0 -44
  1131. package/front_end/panels/timeline/components/SidebarSingleInsightSet.test.ts +0 -165
  1132. package/front_end/panels/timeline/components/TimelineSummary.test.ts +0 -77
  1133. package/front_end/panels/timeline/components/Utils.test.ts +0 -112
  1134. package/front_end/panels/timeline/components/insights/BaseInsightComponent.test.ts +0 -382
  1135. package/front_end/panels/timeline/components/insights/CLSCulprits.test.ts +0 -44
  1136. package/front_end/panels/timeline/components/insights/INPBreakdown.test.ts +0 -74
  1137. package/front_end/panels/timeline/components/insights/NetworkDependencyTree.test.ts +0 -76
  1138. package/front_end/panels/timeline/components/insights/NodeLink.test.ts +0 -113
  1139. package/front_end/panels/timeline/components/insights/Table.test.ts +0 -60
  1140. package/front_end/panels/timeline/overlays/OverlaysImpl.test.ts +0 -1424
  1141. package/front_end/panels/timeline/overlays/components/TimespanBreakdownOverlay.test.ts +0 -41
  1142. package/front_end/panels/timeline/track_appenders/AnimationsTrackAppender.test.ts +0 -101
  1143. package/front_end/panels/timeline/track_appenders/AppenderUtils.test.ts +0 -197
  1144. package/front_end/panels/timeline/track_appenders/CompatibilityTracksAppender.test.ts +0 -229
  1145. package/front_end/panels/timeline/track_appenders/ExtensionTrackAppender.test.ts +0 -249
  1146. package/front_end/panels/timeline/track_appenders/GPUTrackAppender.test.ts +0 -116
  1147. package/front_end/panels/timeline/track_appenders/InteractionsTrackAppender.test.ts +0 -124
  1148. package/front_end/panels/timeline/track_appenders/LayoutShiftsTrackAppender.test.ts +0 -104
  1149. package/front_end/panels/timeline/track_appenders/NetworkTrackAppender.test.ts +0 -65
  1150. package/front_end/panels/timeline/track_appenders/ThreadAppender.test.ts +0 -595
  1151. package/front_end/panels/timeline/track_appenders/TimingsTrackAppender.test.ts +0 -347
  1152. package/front_end/panels/timeline/utils/AICallTree.test.ts +0 -453
  1153. package/front_end/panels/timeline/utils/EntityMapper.test.ts +0 -123
  1154. package/front_end/panels/timeline/utils/EntryName.test.ts +0 -177
  1155. package/front_end/panels/timeline/utils/EntryNodes.test.ts +0 -137
  1156. package/front_end/panels/timeline/utils/EventsSerializer.test.ts +0 -71
  1157. package/front_end/panels/timeline/utils/FreshRecording.test.ts +0 -23
  1158. package/front_end/panels/timeline/utils/Helpers.test.ts +0 -85
  1159. package/front_end/panels/timeline/utils/IgnoreList.test.ts +0 -192
  1160. package/front_end/panels/timeline/utils/ImageCache.test.ts +0 -107
  1161. package/front_end/panels/timeline/utils/InsightAIContext.test.ts +0 -120
  1162. package/front_end/panels/timeline/utils/SourceMapsResolver.test.ts +0 -334
  1163. package/front_end/panels/timeline/utils/Treemap.test.ts +0 -321
  1164. package/front_end/panels/utils/utils.test.ts +0 -232
  1165. package/front_end/panels/web_audio/WebAudioView.test.ts +0 -247
  1166. package/front_end/panels/web_audio/web_audio.test.ts +0 -11
  1167. package/front_end/panels/webauthn/WebauthnPane.test.ts +0 -377
  1168. package/front_end/panels/whats_new/ReleaseNote.test.ts +0 -92
  1169. package/front_end/panels/whats_new/ReleaseNoteView.test.ts +0 -160
  1170. package/front_end/services/trace_bounds/TraceBounds.test.ts +0 -155
  1171. package/front_end/services/tracing/ExternalRequests.test.ts +0 -39
  1172. package/front_end/services/tracing/ExternalRequests.ts +0 -74
  1173. package/front_end/services/tracing/TracingManager.test.ts +0 -102
  1174. package/front_end/testing/AiAssistanceHelpers.ts +0 -349
  1175. package/front_end/testing/ConsoleHelpers.ts +0 -39
  1176. package/front_end/testing/ContextMenuHelpers.ts +0 -46
  1177. package/front_end/testing/Cookies.ts +0 -72
  1178. package/front_end/testing/DOMHelpers.ts +0 -359
  1179. package/front_end/testing/DataGridHelpers.ts +0 -83
  1180. package/front_end/testing/EnvironmentHelpers.ts +0 -565
  1181. package/front_end/testing/ExpectStubCall.ts +0 -46
  1182. package/front_end/testing/ExtensionHelpers.ts +0 -77
  1183. package/front_end/testing/FileManagerHelpers.ts +0 -22
  1184. package/front_end/testing/InsightHelpers.ts +0 -88
  1185. package/front_end/testing/LanguagePluginHelpers.ts +0 -91
  1186. package/front_end/testing/MockConnection.ts +0 -163
  1187. package/front_end/testing/MockExecutionContext.ts +0 -24
  1188. package/front_end/testing/MockIssuesManager.ts +0 -64
  1189. package/front_end/testing/MockIssuesModel.ts +0 -22
  1190. package/front_end/testing/MockNetworkLog.ts +0 -41
  1191. package/front_end/testing/MockScopeChain.test.ts +0 -25
  1192. package/front_end/testing/MockScopeChain.ts +0 -402
  1193. package/front_end/testing/MockSettingStorage.ts +0 -23
  1194. package/front_end/testing/MutationHelpers.test.ts +0 -271
  1195. package/front_end/testing/MutationHelpers.ts +0 -250
  1196. package/front_end/testing/NetworkHelpers.ts +0 -36
  1197. package/front_end/testing/OverridesHelpers.ts +0 -85
  1198. package/front_end/testing/PersistenceHelpers.ts +0 -64
  1199. package/front_end/testing/PropertyParser.ts +0 -34
  1200. package/front_end/testing/README.md +0 -123
  1201. package/front_end/testing/ResourceTreeHelpers.ts +0 -126
  1202. package/front_end/testing/SnapshotTester.snapshot.txt +0 -9
  1203. package/front_end/testing/SnapshotTester.test.ts +0 -32
  1204. package/front_end/testing/SnapshotTester.ts +0 -150
  1205. package/front_end/testing/SourceMapEncoder.test.ts +0 -169
  1206. package/front_end/testing/SourceMapEncoder.ts +0 -130
  1207. package/front_end/testing/SourceMapHelpers.ts +0 -113
  1208. package/front_end/testing/StackTraceHelpers.ts +0 -47
  1209. package/front_end/testing/StorageItemsViewHelpers.ts +0 -24
  1210. package/front_end/testing/StubIssue.ts +0 -123
  1211. package/front_end/testing/StyleHelpers.ts +0 -160
  1212. package/front_end/testing/TraceHelpers.ts +0 -1003
  1213. package/front_end/testing/TraceLoader.ts +0 -344
  1214. package/front_end/testing/TrackAsyncOperations.ts +0 -276
  1215. package/front_end/testing/UISourceCodeHelpers.ts +0 -157
  1216. package/front_end/testing/UserMetricsHelpers.ts +0 -17
  1217. package/front_end/testing/ViewFunctionHelpers.ts +0 -62
  1218. package/front_end/testing/VisualLoggingHelpers.ts +0 -11
  1219. package/front_end/testing/test_setup.ts +0 -117
  1220. package/front_end/ui/components/adorners/Adorner.test.ts +0 -134
  1221. package/front_end/ui/components/buttons/Button.test.ts +0 -268
  1222. package/front_end/ui/components/cards/Card.test.ts +0 -101
  1223. package/front_end/ui/components/chrome_link/ChromeLink.test.ts +0 -57
  1224. package/front_end/ui/components/code_highlighter/CodeHighlighter.test.ts +0 -318
  1225. package/front_end/ui/components/dialogs/ButtonDialog.test.ts +0 -170
  1226. package/front_end/ui/components/dialogs/Dialog.test.ts +0 -903
  1227. package/front_end/ui/components/dialogs/ShortcutDialog.test.ts +0 -79
  1228. package/front_end/ui/components/diff_view/DiffView.test.ts +0 -94
  1229. package/front_end/ui/components/expandable_list/ExpandableList.test.ts +0 -77
  1230. package/front_end/ui/components/helpers/helpers.test.ts +0 -118
  1231. package/front_end/ui/components/highlighting/HighlightManager.test.ts +0 -89
  1232. package/front_end/ui/components/highlighting/highlighting.css +0 -9
  1233. package/front_end/ui/components/icon_button/FileSourceIcon.test.ts +0 -32
  1234. package/front_end/ui/components/icon_button/Icon.test.ts +0 -126
  1235. package/front_end/ui/components/icon_button/IconButton.test.ts +0 -277
  1236. package/front_end/ui/components/issue_counter/IssueCounter.test.ts +0 -234
  1237. package/front_end/ui/components/issue_counter/IssueLinkIcon.test.ts +0 -187
  1238. package/front_end/ui/components/linkifier/LinkifierImpl.test.ts +0 -84
  1239. package/front_end/ui/components/markdown_view/CodeBlock.test.ts +0 -92
  1240. package/front_end/ui/components/markdown_view/MarkdownImage.test.ts +0 -56
  1241. package/front_end/ui/components/markdown_view/MarkdownLink.test.ts +0 -30
  1242. package/front_end/ui/components/markdown_view/MarkdownView.test.ts +0 -445
  1243. package/front_end/ui/components/menus/SelectMenu.test.ts +0 -106
  1244. package/front_end/ui/components/node_text/NodeText.test.ts +0 -80
  1245. package/front_end/ui/components/panel_feedback/FeedbackButton.test.ts +0 -36
  1246. package/front_end/ui/components/panel_feedback/PanelFeedback.test.ts +0 -47
  1247. package/front_end/ui/components/panel_feedback/PreviewToggle.test.ts +0 -75
  1248. package/front_end/ui/components/render_coordinator/render_coordinator.test.ts +0 -243
  1249. package/front_end/ui/components/report_view/ReportView.test.ts +0 -44
  1250. package/front_end/ui/components/request_link_icon/RequestLinkIcon.test.ts +0 -298
  1251. package/front_end/ui/components/settings/SettingCheckbox.test.ts +0 -205
  1252. package/front_end/ui/components/settings/SettingDeprecationWarning.test.ts +0 -68
  1253. package/front_end/ui/components/snackbars/Snackbar.test.ts +0 -141
  1254. package/front_end/ui/components/survey_link/SurveyLink.test.ts +0 -118
  1255. package/front_end/ui/components/switch/SwitchImpl.test.ts +0 -54
  1256. package/front_end/ui/components/text_editor/AiCodeCompletionTeaserPlaceholder.test.ts +0 -84
  1257. package/front_end/ui/components/text_editor/AutocompleteHistory.test.ts +0 -126
  1258. package/front_end/ui/components/text_editor/ExecutionPositionHighlighter.test.ts +0 -140
  1259. package/front_end/ui/components/text_editor/TextEditor.test.ts +0 -340
  1260. package/front_end/ui/components/text_editor/TextEditorHistory.test.ts +0 -170
  1261. package/front_end/ui/components/text_editor/javascript.test.ts +0 -121
  1262. package/front_end/ui/components/text_prompt/TextPrompt.test.ts +0 -81
  1263. package/front_end/ui/components/tooltips/Tooltip.test.ts +0 -307
  1264. package/front_end/ui/components/tree_outline/TreeOutline.test.ts +0 -1472
  1265. package/front_end/ui/legacy/ARIAUtils.test.ts +0 -140
  1266. package/front_end/ui/legacy/ActionRegistration.test.ts +0 -173
  1267. package/front_end/ui/legacy/Context.test.ts +0 -14
  1268. package/front_end/ui/legacy/ContextMenu.test.ts +0 -261
  1269. package/front_end/ui/legacy/DockController.test.ts +0 -88
  1270. package/front_end/ui/legacy/FilterBar.test.ts +0 -52
  1271. package/front_end/ui/legacy/Fragment.test.ts +0 -60
  1272. package/front_end/ui/legacy/Geometry.test.ts +0 -658
  1273. package/front_end/ui/legacy/Infobar.test.ts +0 -53
  1274. package/front_end/ui/legacy/InspectorView.test.ts +0 -99
  1275. package/front_end/ui/legacy/KeyboardShortcut.test.ts +0 -28
  1276. package/front_end/ui/legacy/ListModel.test.ts +0 -78
  1277. package/front_end/ui/legacy/ListWidget.test.ts +0 -78
  1278. package/front_end/ui/legacy/SettingsUI.test.ts +0 -157
  1279. package/front_end/ui/legacy/ShortcutRegistry.test.ts +0 -35
  1280. package/front_end/ui/legacy/SplitWidget.test.ts +0 -62
  1281. package/front_end/ui/legacy/SuggestBox.test.ts +0 -126
  1282. package/front_end/ui/legacy/Toolbar.test.ts +0 -244
  1283. package/front_end/ui/legacy/Treeoutline.test.ts +0 -252
  1284. package/front_end/ui/legacy/UIUtils.test.ts +0 -255
  1285. package/front_end/ui/legacy/View.test.ts +0 -76
  1286. package/front_end/ui/legacy/ViewManager.test.ts +0 -235
  1287. package/front_end/ui/legacy/ViewRegistration.test.ts +0 -76
  1288. package/front_end/ui/legacy/Widget.test.ts +0 -206
  1289. package/front_end/ui/legacy/XLink.test.ts +0 -68
  1290. package/front_end/ui/legacy/components/color_picker/ColorFormatSpec.test.ts +0 -217
  1291. package/front_end/ui/legacy/components/color_picker/Spectrum.test.ts +0 -101
  1292. package/front_end/ui/legacy/components/data_grid/DataGridElement.test.ts +0 -272
  1293. package/front_end/ui/legacy/components/inline_editor/AnimationTimingModel.test.ts +0 -23
  1294. package/front_end/ui/legacy/components/inline_editor/AnimationTimingUI.test.ts +0 -58
  1295. package/front_end/ui/legacy/components/inline_editor/BezierUI.test.ts +0 -124
  1296. package/front_end/ui/legacy/components/inline_editor/CSSAngle.test.ts +0 -399
  1297. package/front_end/ui/legacy/components/inline_editor/CSSLinearEasingModel.test.ts +0 -64
  1298. package/front_end/ui/legacy/components/inline_editor/CSSShadowEditor.test.ts +0 -36
  1299. package/front_end/ui/legacy/components/inline_editor/ColorMixSwatch.test.ts +0 -40
  1300. package/front_end/ui/legacy/components/inline_editor/ColorSwatch.test.ts +0 -259
  1301. package/front_end/ui/legacy/components/inline_editor/FontEditorUnitConverter.test.ts +0 -47
  1302. package/front_end/ui/legacy/components/inline_editor/FontEditorUtils.test.ts +0 -27
  1303. package/front_end/ui/legacy/components/inline_editor/LinkSwatch.test.ts +0 -86
  1304. package/front_end/ui/legacy/components/object_ui/JavaScriptREPL.test.ts +0 -45
  1305. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.test.ts +0 -72
  1306. package/front_end/ui/legacy/components/perf_ui/ChartViewport.test.ts +0 -63
  1307. package/front_end/ui/legacy/components/perf_ui/FilmStripView.test.ts +0 -218
  1308. package/front_end/ui/legacy/components/perf_ui/FlameChart.test.ts +0 -1630
  1309. package/front_end/ui/legacy/components/perf_ui/PieChart.test.ts +0 -220
  1310. package/front_end/ui/legacy/components/perf_ui/TimelineGrid.test.ts +0 -152
  1311. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewCalculator.test.ts +0 -70
  1312. package/front_end/ui/legacy/components/quick_open/CommandMenu.test.ts +0 -74
  1313. package/front_end/ui/legacy/components/quick_open/FilteredListWidget.test.ts +0 -111
  1314. package/front_end/ui/legacy/components/source_frame/BinaryResourceViewFactory.test.ts +0 -81
  1315. package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.test.ts +0 -77
  1316. package/front_end/ui/legacy/components/source_frame/SourceFrame.test.ts +0 -146
  1317. package/front_end/ui/legacy/components/source_frame/StreamingContentHexView.test.ts +0 -67
  1318. package/front_end/ui/legacy/components/utils/JSPresentationUtils.test.ts +0 -52
  1319. package/front_end/ui/legacy/components/utils/Linkifier.test.ts +0 -547
  1320. package/front_end/ui/legacy/theme_support/ThemeSupport.test.ts +0 -129
  1321. package/front_end/ui/lit/i18n-template.test.ts +0 -51
  1322. package/front_end/ui/lit/strip-whitespace.test.ts +0 -110
  1323. package/front_end/ui/visual_logging/Debugging.test.ts +0 -21
  1324. package/front_end/ui/visual_logging/DomState.test.ts +0 -241
  1325. package/front_end/ui/visual_logging/LoggingConfig.test.ts +0 -118
  1326. package/front_end/ui/visual_logging/LoggingDriver.test.ts +0 -1069
  1327. package/front_end/ui/visual_logging/LoggingEvents.test.ts +0 -271
  1328. package/front_end/ui/visual_logging/LoggingState.test.ts +0 -122
  1329. package/front_end/ui/visual_logging/NonDomState.test.ts +0 -44
  1330. package/inspector_overlay/common.test.ts +0 -38
  1331. package/inspector_overlay/css_grid_label_helpers.test.ts +0 -962
  1332. package/inspector_overlay/highlight_common.test.ts +0 -42
  1333. package/inspector_overlay/highlight_flex_common.test.ts +0 -511
  1334. package/inspector_overlay/tool_highlight.test.ts +0 -105
  1335. package/inspector_overlay/tool_source_order.test.ts +0 -130
  1336. package/inspector_overlay/tool_window_controls.test.ts +0 -81
  1337. package/scripts/DIR_METADATA +0 -3
  1338. package/scripts/README.md +0 -26
  1339. package/scripts/__init__.py +0 -0
  1340. package/scripts/add_icon_paths.py +0 -71
  1341. package/scripts/ai_assistance/README.md +0 -60
  1342. package/scripts/ai_assistance/auto-run/auto-run.ts +0 -429
  1343. package/scripts/ai_assistance/auto-run/shared/comment-parsers.test.ts +0 -168
  1344. package/scripts/ai_assistance/auto-run/shared/comment-parsers.ts +0 -97
  1345. package/scripts/ai_assistance/auto-run/shared/puppeteer-helpers.ts +0 -307
  1346. package/scripts/ai_assistance/auto-run/targets/elements-executor.ts +0 -62
  1347. package/scripts/ai_assistance/auto-run/targets/elements-multimodal-executor.ts +0 -62
  1348. package/scripts/ai_assistance/auto-run/targets/factory.ts +0 -33
  1349. package/scripts/ai_assistance/auto-run/targets/interface.ts +0 -29
  1350. package/scripts/ai_assistance/auto-run/targets/patching-executor.ts +0 -69
  1351. package/scripts/ai_assistance/auto-run/targets/performance-insights-executor.ts +0 -99
  1352. package/scripts/ai_assistance/auto-run/targets/performance-main-thread-executor.ts +0 -99
  1353. package/scripts/ai_assistance/auto-run/trace-downloader.ts +0 -91
  1354. package/scripts/ai_assistance/eval/index.html +0 -32
  1355. package/scripts/ai_assistance/eval/index.js +0 -568
  1356. package/scripts/ai_assistance/package.json +0 -8
  1357. package/scripts/ai_assistance/suite/README.md +0 -57
  1358. package/scripts/ai_assistance/suite/helpers/evaluators.ts +0 -183
  1359. package/scripts/ai_assistance/suite/helpers/gemini.ts +0 -122
  1360. package/scripts/ai_assistance/suite/helpers/outputs.ts +0 -112
  1361. package/scripts/ai_assistance/suite/instructions/lcp-breakdown.md +0 -12
  1362. package/scripts/ai_assistance/suite/instructions/load.ts +0 -13
  1363. package/scripts/ai_assistance/suite/instructions/scoring.md +0 -27
  1364. package/scripts/ai_assistance/suite/performance.eval.ts +0 -18
  1365. package/scripts/ai_assistance/suite/to_eval_output.ts +0 -166
  1366. package/scripts/ai_assistance/suite/types.d.ts +0 -40
  1367. package/scripts/ai_assistance/suite/upload_to_gcp.ts +0 -104
  1368. package/scripts/ai_assistance/to_tsv.mjs +0 -39
  1369. package/scripts/ai_assistance/tsconfig.json +0 -14
  1370. package/scripts/ai_assistance/types.d.ts +0 -81
  1371. package/scripts/build/README.md +0 -2
  1372. package/scripts/build/__init__.py +0 -3
  1373. package/scripts/build/assert_grd.py +0 -57
  1374. package/scripts/build/assert_third_party_readmes.py +0 -70
  1375. package/scripts/build/build_inspector_overlay.py +0 -106
  1376. package/scripts/build/code_generator_frontend.py +0 -413
  1377. package/scripts/build/compress_files.js +0 -89
  1378. package/scripts/build/cross_reference_ninja_and_tsc.js +0 -180
  1379. package/scripts/build/devtools_plugin.js +0 -164
  1380. package/scripts/build/efficiently_recompile.py +0 -29
  1381. package/scripts/build/esbuild.js +0 -56
  1382. package/scripts/build/generate_aria.py +0 -36
  1383. package/scripts/build/generate_css_js_files.js +0 -83
  1384. package/scripts/build/generate_deprecations.py +0 -99
  1385. package/scripts/build/generate_devtools_grd.py +0 -123
  1386. package/scripts/build/generate_devtools_json.js +0 -27
  1387. package/scripts/build/generate_html_entrypoint.js +0 -49
  1388. package/scripts/build/generate_supported_css.py +0 -135
  1389. package/scripts/build/ninja/README.md +0 -190
  1390. package/scripts/build/ninja/bundle.gni +0 -85
  1391. package/scripts/build/ninja/copy-file.js +0 -38
  1392. package/scripts/build/ninja/copy-files.js +0 -39
  1393. package/scripts/build/ninja/copy.gni +0 -59
  1394. package/scripts/build/ninja/devtools_entrypoint.gni +0 -221
  1395. package/scripts/build/ninja/devtools_module.gni +0 -33
  1396. package/scripts/build/ninja/devtools_pre_built.gni +0 -55
  1397. package/scripts/build/ninja/generate-declaration.js +0 -18
  1398. package/scripts/build/ninja/generate-tsconfig.js +0 -46
  1399. package/scripts/build/ninja/generate_css.gni +0 -45
  1400. package/scripts/build/ninja/minify-json-files.js +0 -20
  1401. package/scripts/build/ninja/minify_json.gni +0 -32
  1402. package/scripts/build/ninja/node.gni +0 -36
  1403. package/scripts/build/ninja/vars.gni +0 -19
  1404. package/scripts/build/ninja/wasm.gni +0 -25
  1405. package/scripts/build/ninja/write-if-changed.js +0 -27
  1406. package/scripts/build/rollup.config.mjs +0 -31
  1407. package/scripts/build/tests/generate_css_js_files_test.js +0 -40
  1408. package/scripts/build/tests/plugins_test.js +0 -149
  1409. package/scripts/build/typescript/README.md +0 -94
  1410. package/scripts/build/typescript/tests/README.md +0 -10
  1411. package/scripts/build/typescript/tests/fixtures/compilation_failure_front_end/BUILDCONFIG.gn +0 -10
  1412. package/scripts/build/typescript/tests/fixtures/compilation_failure_front_end/build_output.txt.expected +0 -14
  1413. package/scripts/build/typescript/tests/fixtures/compilation_failure_front_end/front_end/module/exporting.ts +0 -1
  1414. package/scripts/build/typescript/tests/fixtures/compilation_failure_front_end/front_end/module/index.ts +0 -3
  1415. package/scripts/build/typescript/tests/fixtures/recompile/BUILDCONFIG.gn +0 -10
  1416. package/scripts/build/typescript/tests/fixtures/recompile/build_output.txt.expected +0 -8
  1417. package/scripts/build/typescript/tests/fixtures/recompile/build_output.txt.expected.regen +0 -4
  1418. package/scripts/build/typescript/tests/fixtures/recompile/front_end/module/exporting.ts +0 -1
  1419. package/scripts/build/typescript/tests/fixtures/recompile/front_end/module/module.ts +0 -5
  1420. package/scripts/build/typescript/tests/fixtures/recompile_dep/BUILDCONFIG.gn +0 -10
  1421. package/scripts/build/typescript/tests/fixtures/recompile_dep/build_output.txt.expected +0 -8
  1422. package/scripts/build/typescript/tests/fixtures/recompile_dep/build_output.txt.expected.regen +0 -6
  1423. package/scripts/build/typescript/tests/fixtures/recompile_dep/expected.tsbuildinfo +0 -2084
  1424. package/scripts/build/typescript/tests/fixtures/recompile_dep/front_end/module/exporting.ts +0 -1
  1425. package/scripts/build/typescript/tests/fixtures/recompile_dep/front_end/module/module.ts +0 -7
  1426. package/scripts/build/typescript/tests/fixtures/simple_dep/BUILDCONFIG.gn +0 -10
  1427. package/scripts/build/typescript/tests/fixtures/simple_dep/build_output.txt.expected +0 -6
  1428. package/scripts/build/typescript/tests/fixtures/simple_dep/build_output.txt.expected.regen +0 -2
  1429. package/scripts/build/typescript/tests/fixtures/simple_dep/front_end/module/exporting.ts +0 -1
  1430. package/scripts/build/typescript/tests/fixtures/simple_dep/front_end/module/index.ts +0 -3
  1431. package/scripts/build/typescript/tests/fixtures/test_dep/BUILDCONFIG.gn +0 -10
  1432. package/scripts/build/typescript/tests/fixtures/test_dep/build_output.txt.expected +0 -8
  1433. package/scripts/build/typescript/tests/fixtures/test_dep/front_end/module/exporting.ts +0 -1
  1434. package/scripts/build/typescript/tests/fixtures/test_dep/front_end/module/module.ts +0 -5
  1435. package/scripts/build/typescript/tests/verify_ts_libary.sh +0 -88
  1436. package/scripts/build/typescript/ts_library.py +0 -336
  1437. package/scripts/build/typescript/typescript.gni +0 -290
  1438. package/scripts/build/wasm-as.py +0 -87
  1439. package/scripts/build/wasm_sourcemap.mjs +0 -22
  1440. package/scripts/check_esbuild_versions.js +0 -51
  1441. package/scripts/check_experiments.js +0 -292
  1442. package/scripts/check_external_links.js +0 -150
  1443. package/scripts/component_server/README.md +0 -43
  1444. package/scripts/component_server/server.js +0 -597
  1445. package/scripts/devtools_build.mjs +0 -396
  1446. package/scripts/devtools_build.test.mjs +0 -243
  1447. package/scripts/devtools_paths.js +0 -193
  1448. package/scripts/devtools_paths.py +0 -127
  1449. package/scripts/eslint_rules/README.md +0 -29
  1450. package/scripts/eslint_rules/lib/canvas-context-tracking.ts +0 -154
  1451. package/scripts/eslint_rules/lib/check-css-import.ts +0 -52
  1452. package/scripts/eslint_rules/lib/check-enumerated-histograms.ts +0 -42
  1453. package/scripts/eslint_rules/lib/check-license-header.ts +0 -222
  1454. package/scripts/eslint_rules/lib/check-test-definitions.ts +0 -91
  1455. package/scripts/eslint_rules/lib/check-was-shown-methods.ts +0 -57
  1456. package/scripts/eslint_rules/lib/enforce-custom-element-definitions-location.ts +0 -95
  1457. package/scripts/eslint_rules/lib/enforce-custom-event-names.ts +0 -174
  1458. package/scripts/eslint_rules/lib/enforce-default-import-name.ts +0 -86
  1459. package/scripts/eslint_rules/lib/enforce-optional-properties-last.ts +0 -87
  1460. package/scripts/eslint_rules/lib/enforce-ui-strings-as-const.ts +0 -69
  1461. package/scripts/eslint_rules/lib/es-modules-import.ts +0 -405
  1462. package/scripts/eslint_rules/lib/html-tagged-template.ts +0 -85
  1463. package/scripts/eslint_rules/lib/inject-checkbox-styles.ts +0 -187
  1464. package/scripts/eslint_rules/lib/inline-type-imports.ts +0 -217
  1465. package/scripts/eslint_rules/lib/jslog-context-list.ts +0 -192
  1466. package/scripts/eslint_rules/lib/l10n-filename-matches.ts +0 -136
  1467. package/scripts/eslint_rules/lib/l10n-i18nString-call-only-with-uistrings.ts +0 -62
  1468. package/scripts/eslint_rules/lib/l10n-no-i18nString-calls-module-instantiation.ts +0 -61
  1469. package/scripts/eslint_rules/lib/l10n-no-locked-or-placeholder-only-phrase.ts +0 -72
  1470. package/scripts/eslint_rules/lib/l10n-no-uistrings-export.ts +0 -89
  1471. package/scripts/eslint_rules/lib/l10n-no-unused-message.ts +0 -159
  1472. package/scripts/eslint_rules/lib/lit-no-attribute-quotes.ts +0 -111
  1473. package/scripts/eslint_rules/lib/lit-template-result-or-nothing.ts +0 -158
  1474. package/scripts/eslint_rules/lib/no-a-tags-in-lit.ts +0 -43
  1475. package/scripts/eslint_rules/lib/no-adopted-style-sheets.ts +0 -37
  1476. package/scripts/eslint_rules/lib/no-assert-deep-strict-equal.ts +0 -61
  1477. package/scripts/eslint_rules/lib/no-assert-equal-boolean-null-undefined.ts +0 -178
  1478. package/scripts/eslint_rules/lib/no-assert-equal.ts +0 -88
  1479. package/scripts/eslint_rules/lib/no-assert-strict-equal-for-arrays-and-objects.ts +0 -86
  1480. package/scripts/eslint_rules/lib/no-bound-component-methods.ts +0 -161
  1481. package/scripts/eslint_rules/lib/no-commented-out-console.ts +0 -49
  1482. package/scripts/eslint_rules/lib/no-commented-out-import.ts +0 -46
  1483. package/scripts/eslint_rules/lib/no-customized-builtin-elements.ts +0 -140
  1484. package/scripts/eslint_rules/lib/no-deprecated-component-usages.ts +0 -46
  1485. package/scripts/eslint_rules/lib/no-document-body-mutation.ts +0 -102
  1486. package/scripts/eslint_rules/lib/no-imperative-dom-api/adorner.ts +0 -48
  1487. package/scripts/eslint_rules/lib/no-imperative-dom-api/aria-utils.ts +0 -109
  1488. package/scripts/eslint_rules/lib/no-imperative-dom-api/ast.ts +0 -86
  1489. package/scripts/eslint_rules/lib/no-imperative-dom-api/button.ts +0 -81
  1490. package/scripts/eslint_rules/lib/no-imperative-dom-api/class-member.ts +0 -54
  1491. package/scripts/eslint_rules/lib/no-imperative-dom-api/data-grid.ts +0 -151
  1492. package/scripts/eslint_rules/lib/no-imperative-dom-api/dom-api-devtools-extensions.ts +0 -32
  1493. package/scripts/eslint_rules/lib/no-imperative-dom-api/dom-api.ts +0 -141
  1494. package/scripts/eslint_rules/lib/no-imperative-dom-api/dom-fragment.ts +0 -307
  1495. package/scripts/eslint_rules/lib/no-imperative-dom-api/split-widget.ts +0 -125
  1496. package/scripts/eslint_rules/lib/no-imperative-dom-api/toolbar.ts +0 -193
  1497. package/scripts/eslint_rules/lib/no-imperative-dom-api/ui-fragment.ts +0 -55
  1498. package/scripts/eslint_rules/lib/no-imperative-dom-api/ui-utils.ts +0 -213
  1499. package/scripts/eslint_rules/lib/no-imperative-dom-api/widget.ts +0 -96
  1500. package/scripts/eslint_rules/lib/no-imperative-dom-api.ts +0 -270
  1501. package/scripts/eslint_rules/lib/no-importing-images-from-src.ts +0 -83
  1502. package/scripts/eslint_rules/lib/no-imports-in-directory.ts +0 -84
  1503. package/scripts/eslint_rules/lib/no-lit-render-outside-of-view.ts +0 -105
  1504. package/scripts/eslint_rules/lib/no-new-lit-element-components.ts +0 -48
  1505. package/scripts/eslint_rules/lib/no-self-closing-custom-element-tagnames.ts +0 -42
  1506. package/scripts/eslint_rules/lib/no-underscored-properties.ts +0 -78
  1507. package/scripts/eslint_rules/lib/prefer-assert-instance-of.ts +0 -80
  1508. package/scripts/eslint_rules/lib/prefer-assert-is-ok.ts +0 -103
  1509. package/scripts/eslint_rules/lib/prefer-assert-length-of.ts +0 -76
  1510. package/scripts/eslint_rules/lib/prefer-assert-strict-equal.ts +0 -92
  1511. package/scripts/eslint_rules/lib/prefer-private-class-members.ts +0 -45
  1512. package/scripts/eslint_rules/lib/prefer-sinon-assert.ts +0 -151
  1513. package/scripts/eslint_rules/lib/prefer-url-string.ts +0 -109
  1514. package/scripts/eslint_rules/lib/set-data-type-reference.ts +0 -69
  1515. package/scripts/eslint_rules/lib/static-custom-event-names.ts +0 -215
  1516. package/scripts/eslint_rules/lib/trace-engine-test-timeouts.ts +0 -125
  1517. package/scripts/eslint_rules/lib/utils/l10n-helper.ts +0 -48
  1518. package/scripts/eslint_rules/lib/utils/lit.ts +0 -73
  1519. package/scripts/eslint_rules/lib/utils/ruleCreator.ts +0 -16
  1520. package/scripts/eslint_rules/lib/utils/treeHelpers.ts +0 -13
  1521. package/scripts/eslint_rules/lib/validate-timing-types.ts +0 -330
  1522. package/scripts/eslint_rules/rules-dir.mjs +0 -78
  1523. package/scripts/eslint_rules/tests/canvas-context-tracking.test.ts +0 -124
  1524. package/scripts/eslint_rules/tests/check-css-import.test.ts +0 -43
  1525. package/scripts/eslint_rules/tests/check-enumerated-histograms.test.ts +0 -31
  1526. package/scripts/eslint_rules/tests/check-license-header.test.ts +0 -293
  1527. package/scripts/eslint_rules/tests/check-test-definitions.test.ts +0 -155
  1528. package/scripts/eslint_rules/tests/check-was-shown-methods.test.ts +0 -103
  1529. package/scripts/eslint_rules/tests/check_css_import_test_file.css +0 -5
  1530. package/scripts/eslint_rules/tests/enforce-custom-element-definitions-location.test.ts +0 -56
  1531. package/scripts/eslint_rules/tests/enforce-custom-event-names.test.ts +0 -124
  1532. package/scripts/eslint_rules/tests/enforce-default-import-name.test.ts +0 -53
  1533. package/scripts/eslint_rules/tests/enforce-optional-properties-last.test.ts +0 -137
  1534. package/scripts/eslint_rules/tests/enforce-ui-strings-as-const.test.ts +0 -35
  1535. package/scripts/eslint_rules/tests/es-modules-import.test.ts +0 -332
  1536. package/scripts/eslint_rules/tests/html-tagged-template.test.ts +0 -103
  1537. package/scripts/eslint_rules/tests/inject-checkbox-styles.test.ts +0 -219
  1538. package/scripts/eslint_rules/tests/inline-type-imports.test.ts +0 -82
  1539. package/scripts/eslint_rules/tests/jslog-context-list.test.ts +0 -218
  1540. package/scripts/eslint_rules/tests/l10n-filename-matches.test.ts +0 -90
  1541. package/scripts/eslint_rules/tests/l10n-i18nString-call-only-with-uistrings.test.ts +0 -44
  1542. package/scripts/eslint_rules/tests/l10n-no-i18nString-calls-module-instantiation.test.ts +0 -77
  1543. package/scripts/eslint_rules/tests/l10n-no-locked-or-placeholder-only-phrase.test.ts +0 -45
  1544. package/scripts/eslint_rules/tests/l10n-no-uistrings-export.test.ts +0 -50
  1545. package/scripts/eslint_rules/tests/l10n-no-unused-message.test.ts +0 -119
  1546. package/scripts/eslint_rules/tests/lit-no-attribute-quotes.test.ts +0 -43
  1547. package/scripts/eslint_rules/tests/lit-template-result-or-nothing.test.ts +0 -142
  1548. package/scripts/eslint_rules/tests/no-a-tags-in-lit.test.ts +0 -67
  1549. package/scripts/eslint_rules/tests/no-adopted-style-sheets.test.ts +0 -52
  1550. package/scripts/eslint_rules/tests/no-assert-deep-strict-equal.test.ts +0 -51
  1551. package/scripts/eslint_rules/tests/no-assert-equal-boolean-null-undefined.test.ts +0 -207
  1552. package/scripts/eslint_rules/tests/no-assert-equal.test.ts +0 -101
  1553. package/scripts/eslint_rules/tests/no-assert-strict-equal-for-arrays-and-objects.test.ts +0 -87
  1554. package/scripts/eslint_rules/tests/no-bound-component-methods.test.ts +0 -105
  1555. package/scripts/eslint_rules/tests/no-commented-out-console.test.ts +0 -35
  1556. package/scripts/eslint_rules/tests/no-commented-out-import.test.ts +0 -45
  1557. package/scripts/eslint_rules/tests/no-customized-builtin-elements.test.ts +0 -150
  1558. package/scripts/eslint_rules/tests/no-deprecated-component-usages.test.ts +0 -46
  1559. package/scripts/eslint_rules/tests/no-document-body-mutation.test.ts +0 -45
  1560. package/scripts/eslint_rules/tests/no-imperative-dom-api.test.ts +0 -1237
  1561. package/scripts/eslint_rules/tests/no-importing-images-from-src.test.ts +0 -40
  1562. package/scripts/eslint_rules/tests/no-imports-in-directory.test.ts +0 -104
  1563. package/scripts/eslint_rules/tests/no-lit-render-outside-of-view.test.ts +0 -130
  1564. package/scripts/eslint_rules/tests/no-new-lit-element-components.test.ts +0 -31
  1565. package/scripts/eslint_rules/tests/no-self-closing-custom-element-tagnames.test.ts +0 -59
  1566. package/scripts/eslint_rules/tests/no-underscored-properties.test.ts +0 -99
  1567. package/scripts/eslint_rules/tests/prefer-assert-instance-of.test.ts +0 -195
  1568. package/scripts/eslint_rules/tests/prefer-assert-is-ok.test.ts +0 -182
  1569. package/scripts/eslint_rules/tests/prefer-assert-length-of.test.ts +0 -143
  1570. package/scripts/eslint_rules/tests/prefer-assert-strict-equal.test.ts +0 -367
  1571. package/scripts/eslint_rules/tests/prefer-private-class-members.test.ts +0 -59
  1572. package/scripts/eslint_rules/tests/prefer-sinon-assert.test.ts +0 -333
  1573. package/scripts/eslint_rules/tests/prefer-url-string.test.ts +0 -87
  1574. package/scripts/eslint_rules/tests/set-data-type-reference.test.ts +0 -60
  1575. package/scripts/eslint_rules/tests/static-custom-event-names.test.ts +0 -179
  1576. package/scripts/eslint_rules/tests/trace-engine-test-timeouts.test.ts +0 -59
  1577. package/scripts/eslint_rules/tests/utils/RuleTester.ts +0 -28
  1578. package/scripts/eslint_rules/tests/utils.test.ts +0 -79
  1579. package/scripts/eslint_rules/tests/validate-timing-types.test.ts +0 -289
  1580. package/scripts/eslint_rules/tsconfig.json +0 -14
  1581. package/scripts/extract_bugs.ts +0 -126
  1582. package/scripts/generate_metric_compare_strings.js +0 -130
  1583. package/scripts/hosted_mode/cert.pem +0 -21
  1584. package/scripts/hosted_mode/key.pem +0 -28
  1585. package/scripts/hosted_mode/server.js +0 -258
  1586. package/scripts/javascript_natives/helpers.js +0 -232
  1587. package/scripts/javascript_natives/index.js +0 -105
  1588. package/scripts/javascript_natives/package.json +0 -9
  1589. package/scripts/javascript_natives/test.d.ts +0 -13
  1590. package/scripts/javascript_natives/tests.js +0 -195
  1591. package/scripts/migration/class-fields/migrate.js +0 -77
  1592. package/scripts/migration/class-fields/migrate.sh +0 -8
  1593. package/scripts/migration/class-fields/package.json +0 -5
  1594. package/scripts/migration/e2e_non_hosted_gemini.mjs +0 -102
  1595. package/scripts/migration/web-tests-esm/rename-legacy-global.mjs +0 -129
  1596. package/scripts/npm_test.js +0 -141
  1597. package/scripts/protocol_typescript/protocol_dts_generator.ts +0 -470
  1598. package/scripts/protocol_typescript/protocol_schema.d.ts +0 -97
  1599. package/scripts/reformat-clang-js-ts.js +0 -71
  1600. package/scripts/run_build.mjs +0 -128
  1601. package/scripts/run_on_target.mjs +0 -88
  1602. package/scripts/run_start.mjs +0 -236
  1603. package/scripts/scaffold/README.md +0 -4
  1604. package/scripts/scaffold/scaffold-widget.js +0 -167
  1605. package/scripts/scaffold/templates/WidgetTemplate.css.txt +0 -9
  1606. package/scripts/scaffold/templates/WidgetTemplate.ts.txt +0 -60
  1607. package/scripts/search-trace-files.js +0 -66
  1608. package/scripts/stylelint_rules/lib/use_theme_colors.mjs +0 -322
  1609. package/scripts/stylelint_rules/tests/use_theme_colors.test.js +0 -515
  1610. package/scripts/tools/update_goldens.py +0 -432
  1611. package/scripts/tsconfig.json +0 -11
  1612. package/scripts/utils.js +0 -160
  1613. 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
- });