chrome-devtools-frontend 1.0.981004 → 1.0.995227

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 (509) hide show
  1. package/AUTHORS +2 -0
  2. package/config/gni/devtools_grd_files.gni +8 -7
  3. package/config/gni/devtools_image_files.gni +1 -0
  4. package/front_end/.eslintrc.js +10 -0
  5. package/front_end/Images/src/ic_rendering.svg +3 -0
  6. package/front_end/core/common/ParsedURL.ts +44 -28
  7. package/front_end/core/common/ResourceType.ts +1 -1
  8. package/front_end/core/common/SettingRegistration.ts +1 -0
  9. package/front_end/core/host/InspectorFrontendHost.ts +11 -10
  10. package/front_end/core/host/InspectorFrontendHostAPI.ts +15 -14
  11. package/front_end/core/host/Platform.ts +11 -2
  12. package/front_end/core/host/UserMetrics.ts +27 -2
  13. package/front_end/core/i18n/DevToolsLocale.ts +4 -0
  14. package/front_end/core/i18n/locales/af.json +76 -16
  15. package/front_end/core/i18n/locales/am.json +76 -16
  16. package/front_end/core/i18n/locales/ar.json +77 -17
  17. package/front_end/core/i18n/locales/as.json +76 -16
  18. package/front_end/core/i18n/locales/az.json +76 -16
  19. package/front_end/core/i18n/locales/be.json +75 -15
  20. package/front_end/core/i18n/locales/bg.json +76 -16
  21. package/front_end/core/i18n/locales/bn.json +76 -16
  22. package/front_end/core/i18n/locales/bs.json +88 -28
  23. package/front_end/core/i18n/locales/ca.json +76 -16
  24. package/front_end/core/i18n/locales/cs.json +76 -16
  25. package/front_end/core/i18n/locales/cy.json +76 -16
  26. package/front_end/core/i18n/locales/da.json +77 -17
  27. package/front_end/core/i18n/locales/de.json +178 -118
  28. package/front_end/core/i18n/locales/el.json +76 -16
  29. package/front_end/core/i18n/locales/en-GB.json +76 -16
  30. package/front_end/core/i18n/locales/en-US.json +208 -52
  31. package/front_end/core/i18n/locales/en-XL.json +208 -52
  32. package/front_end/core/i18n/locales/es-419.json +76 -16
  33. package/front_end/core/i18n/locales/es.json +76 -16
  34. package/front_end/core/i18n/locales/et.json +76 -16
  35. package/front_end/core/i18n/locales/eu.json +76 -16
  36. package/front_end/core/i18n/locales/fa.json +83 -23
  37. package/front_end/core/i18n/locales/fi.json +76 -16
  38. package/front_end/core/i18n/locales/fil.json +76 -16
  39. package/front_end/core/i18n/locales/fr-CA.json +76 -16
  40. package/front_end/core/i18n/locales/fr.json +76 -16
  41. package/front_end/core/i18n/locales/gl.json +76 -16
  42. package/front_end/core/i18n/locales/gu.json +76 -16
  43. package/front_end/core/i18n/locales/he.json +76 -16
  44. package/front_end/core/i18n/locales/hi.json +76 -16
  45. package/front_end/core/i18n/locales/hr.json +76 -16
  46. package/front_end/core/i18n/locales/hu.json +76 -16
  47. package/front_end/core/i18n/locales/hy.json +76 -16
  48. package/front_end/core/i18n/locales/id.json +79 -19
  49. package/front_end/core/i18n/locales/is.json +75 -15
  50. package/front_end/core/i18n/locales/it.json +124 -64
  51. package/front_end/core/i18n/locales/ja.json +76 -16
  52. package/front_end/core/i18n/locales/ka.json +76 -16
  53. package/front_end/core/i18n/locales/kk.json +76 -16
  54. package/front_end/core/i18n/locales/km.json +76 -16
  55. package/front_end/core/i18n/locales/kn.json +76 -16
  56. package/front_end/core/i18n/locales/ko.json +76 -16
  57. package/front_end/core/i18n/locales/ky.json +76 -16
  58. package/front_end/core/i18n/locales/lo.json +76 -16
  59. package/front_end/core/i18n/locales/lt.json +76 -16
  60. package/front_end/core/i18n/locales/lv.json +76 -16
  61. package/front_end/core/i18n/locales/mk.json +76 -16
  62. package/front_end/core/i18n/locales/ml.json +76 -16
  63. package/front_end/core/i18n/locales/mn.json +76 -16
  64. package/front_end/core/i18n/locales/mr.json +76 -16
  65. package/front_end/core/i18n/locales/ms.json +76 -16
  66. package/front_end/core/i18n/locales/my.json +78 -18
  67. package/front_end/core/i18n/locales/ne.json +76 -16
  68. package/front_end/core/i18n/locales/nl.json +77 -17
  69. package/front_end/core/i18n/locales/no.json +76 -16
  70. package/front_end/core/i18n/locales/or.json +76 -16
  71. package/front_end/core/i18n/locales/pa.json +76 -16
  72. package/front_end/core/i18n/locales/pl.json +78 -18
  73. package/front_end/core/i18n/locales/pt-PT.json +123 -63
  74. package/front_end/core/i18n/locales/pt.json +78 -18
  75. package/front_end/core/i18n/locales/ro.json +76 -16
  76. package/front_end/core/i18n/locales/ru.json +77 -17
  77. package/front_end/core/i18n/locales/si.json +76 -16
  78. package/front_end/core/i18n/locales/sk.json +76 -16
  79. package/front_end/core/i18n/locales/sl.json +76 -16
  80. package/front_end/core/i18n/locales/sq.json +76 -16
  81. package/front_end/core/i18n/locales/sr-Latn.json +76 -16
  82. package/front_end/core/i18n/locales/sr.json +76 -16
  83. package/front_end/core/i18n/locales/sv.json +76 -16
  84. package/front_end/core/i18n/locales/sw.json +76 -16
  85. package/front_end/core/i18n/locales/ta.json +77 -17
  86. package/front_end/core/i18n/locales/te.json +76 -16
  87. package/front_end/core/i18n/locales/th.json +76 -16
  88. package/front_end/core/i18n/locales/tr.json +76 -16
  89. package/front_end/core/i18n/locales/uk.json +76 -16
  90. package/front_end/core/i18n/locales/ur.json +76 -16
  91. package/front_end/core/i18n/locales/uz.json +77 -17
  92. package/front_end/core/i18n/locales/vi.json +76 -16
  93. package/front_end/core/i18n/locales/zh-HK.json +76 -16
  94. package/front_end/core/i18n/locales/zh-TW.json +76 -16
  95. package/front_end/core/i18n/locales/zh.json +76 -16
  96. package/front_end/core/i18n/locales/zu.json +76 -16
  97. package/front_end/core/platform/dom-utilities.ts +16 -0
  98. package/front_end/core/platform/platform.ts +2 -0
  99. package/front_end/core/protocol_client/InspectorBackend.ts +2 -1
  100. package/front_end/core/protocol_client/NodeURL.ts +1 -1
  101. package/front_end/core/root/Runtime.ts +6 -0
  102. package/front_end/core/sdk/AccessibilityModel.ts +7 -6
  103. package/front_end/core/sdk/CSSMatchedStyles.ts +71 -17
  104. package/front_end/core/sdk/CSSMetadata.ts +15 -0
  105. package/front_end/core/sdk/CSSModel.ts +9 -7
  106. package/front_end/core/sdk/CSSProperty.ts +97 -11
  107. package/front_end/core/sdk/CSSStyleSheetHeader.ts +9 -5
  108. package/front_end/core/sdk/CSSSupports.ts +4 -1
  109. package/front_end/core/sdk/ChildTargetManager.ts +3 -1
  110. package/front_end/core/sdk/Connections.ts +3 -2
  111. package/front_end/core/sdk/ConsoleModel.ts +6 -5
  112. package/front_end/core/sdk/Cookie.ts +4 -2
  113. package/front_end/core/sdk/DOMDebuggerModel.ts +10 -6
  114. package/front_end/core/sdk/DOMModel.ts +2 -2
  115. package/front_end/core/sdk/DebuggerModel.ts +27 -5
  116. package/front_end/core/sdk/HeapProfilerModel.ts +2 -1
  117. package/front_end/core/sdk/NetworkManager.ts +13 -12
  118. package/front_end/core/sdk/NetworkRequest.ts +1 -1
  119. package/front_end/core/sdk/PageLoad.ts +3 -1
  120. package/front_end/core/sdk/PageResourceLoader.ts +9 -7
  121. package/front_end/core/sdk/ProfileTreeModel.ts +3 -2
  122. package/front_end/core/sdk/RemoteObject.ts +18 -6
  123. package/front_end/core/sdk/ResourceTreeModel.ts +17 -11
  124. package/front_end/core/sdk/ScreenCaptureModel.ts +3 -0
  125. package/front_end/core/sdk/Script.ts +4 -3
  126. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +2 -1
  127. package/front_end/core/sdk/SourceMap.ts +10 -6
  128. package/front_end/core/sdk/SourceMapManager.ts +47 -5
  129. package/front_end/core/sdk/Target.ts +2 -1
  130. package/front_end/core/sdk/TracingModel.ts +0 -9
  131. package/front_end/devtools_compatibility.js +1 -0
  132. package/front_end/entrypoints/formatter_worker/CSSRuleParser.ts +1 -1
  133. package/front_end/entrypoints/lighthouse_worker/LighthouseWorkerService.ts +10 -3
  134. package/front_end/entrypoints/main/MainImpl.ts +22 -2
  135. package/front_end/generated/InspectorBackendCommands.js +85 -16
  136. package/front_end/generated/SupportedCSSProperties.js +21 -8
  137. package/front_end/generated/protocol-mapping.d.ts +4 -0
  138. package/front_end/generated/protocol-proxy-api.d.ts +5 -0
  139. package/front_end/generated/protocol.ts +174 -28
  140. package/front_end/legacy/legacy-defs.d.ts +0 -4
  141. package/front_end/legacy_test_runner/heap_profiler_test_runner/heap_profiler_test_runner.js +1 -1
  142. package/front_end/legacy_test_runner/test_runner/TestRunner.js +1 -0
  143. package/front_end/models/bindings/BreakpointManager.ts +68 -11
  144. package/front_end/models/bindings/CSSWorkspaceBinding.ts +9 -2
  145. package/front_end/models/bindings/CompilerScriptMapping.ts +3 -2
  146. package/front_end/models/bindings/ContentProviderBasedProject.ts +12 -9
  147. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +10 -8
  148. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +8 -1
  149. package/front_end/models/bindings/DefaultScriptMapping.ts +8 -2
  150. package/front_end/models/bindings/FileUtils.ts +3 -2
  151. package/front_end/models/bindings/IgnoreListManager.ts +5 -5
  152. package/front_end/models/bindings/ResourceUtils.ts +5 -4
  153. package/front_end/models/emulation/EmulatedDevices.ts +17 -0
  154. package/front_end/models/extensions/ExtensionAPI.ts +5 -2
  155. package/front_end/models/extensions/ExtensionPanel.ts +2 -1
  156. package/front_end/models/extensions/ExtensionServer.ts +13 -8
  157. package/front_end/models/issues_manager/AttributionReportingIssue.ts +0 -63
  158. package/front_end/models/issues_manager/CookieIssue.ts +7 -0
  159. package/front_end/models/issues_manager/DeprecationIssue.ts +326 -8
  160. package/front_end/models/issues_manager/IssuesManager.ts +4 -0
  161. package/front_end/models/issues_manager/descriptions/CookieAttributeValueExceedsMaxSize.md +5 -0
  162. package/front_end/models/issues_manager/descriptions/deprecation.md +1 -1
  163. package/front_end/models/logs/LogManager.ts +2 -1
  164. package/front_end/models/logs/NetworkLog.ts +14 -12
  165. package/front_end/models/persistence/Automapping.ts +17 -16
  166. package/front_end/models/persistence/EditFileSystemView.ts +5 -4
  167. package/front_end/models/persistence/FileSystemWorkspaceBinding.ts +24 -24
  168. package/front_end/models/persistence/IsolatedFileSystem.ts +2 -2
  169. package/front_end/models/persistence/IsolatedFileSystemManager.ts +7 -6
  170. package/front_end/models/persistence/NetworkPersistenceManager.ts +92 -54
  171. package/front_end/models/persistence/PersistenceImpl.ts +7 -7
  172. package/front_end/models/persistence/PlatformFileSystem.ts +7 -8
  173. package/front_end/models/persistence/WorkspaceSettingsTab.ts +3 -2
  174. package/front_end/models/text_utils/CodeMirrorUtils.ts +53 -0
  175. package/front_end/models/text_utils/text_utils.ts +2 -0
  176. package/front_end/models/timeline_model/TimelineModel.ts +32 -30
  177. package/front_end/models/timeline_model/TimelineProfileTree.ts +3 -2
  178. package/front_end/models/workspace/FileManager.ts +9 -6
  179. package/front_end/models/workspace/UISourceCode.ts +16 -14
  180. package/front_end/models/workspace/WorkspaceImpl.ts +40 -16
  181. package/front_end/panels/accessibility/AccessibilitySubPane.ts +2 -1
  182. package/front_end/panels/application/AppManifestView.ts +1 -1
  183. package/front_end/panels/application/ApplicationPanelCacheSection.ts +5 -4
  184. package/front_end/panels/application/ApplicationPanelSidebar.ts +34 -30
  185. package/front_end/panels/application/ApplicationPanelTreeElement.ts +5 -4
  186. package/front_end/panels/application/BackgroundServiceView.ts +2 -1
  187. package/front_end/panels/application/DatabaseQueryView.ts +2 -1
  188. package/front_end/panels/application/InterestGroupTreeElement.ts +3 -2
  189. package/front_end/panels/application/ReportingApiTreeElement.ts +3 -2
  190. package/front_end/panels/application/ResourcesPanel.ts +4 -3
  191. package/front_end/panels/application/ServiceWorkerCacheViews.ts +6 -1
  192. package/front_end/panels/application/TrustTokensTreeElement.ts +3 -2
  193. package/front_end/panels/application/components/BackForwardCacheStrings.ts +10 -1
  194. package/front_end/panels/application/components/BackForwardCacheView.ts +163 -13
  195. package/front_end/panels/application/components/backForwardCacheView.css +15 -4
  196. package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +19 -19
  197. package/front_end/panels/changes/ChangesView.ts +38 -0
  198. package/front_end/panels/console/ConsoleFormat.ts +23 -0
  199. package/front_end/panels/console/ConsolePinPane.ts +7 -0
  200. package/front_end/panels/console/ConsolePrompt.ts +11 -1
  201. package/front_end/panels/console/ConsoleSidebar.ts +2 -1
  202. package/front_end/panels/console/ConsoleView.ts +60 -32
  203. package/front_end/panels/console/ConsoleViewMessage.ts +15 -28
  204. package/front_end/panels/console/ConsoleViewport.ts +2 -1
  205. package/front_end/panels/console/ErrorStackParser.ts +8 -4
  206. package/front_end/panels/console/consoleView.css +0 -1
  207. package/front_end/panels/coverage/CoverageListView.ts +1 -1
  208. package/front_end/panels/coverage/CoverageModel.ts +6 -6
  209. package/front_end/panels/coverage/CoverageView.ts +2 -1
  210. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +2 -1
  211. package/front_end/panels/css_overview/components/CSSOverviewStartView.ts +7 -6
  212. package/front_end/panels/css_overview/components/cssOverviewStartView.css +0 -48
  213. package/front_end/panels/css_overview/cssOverviewCompletedView.css +5 -0
  214. package/front_end/panels/css_overview/cssOverviewSidebarPanel.css +2 -0
  215. package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +2 -1
  216. package/front_end/panels/elements/ComputedStyleWidget.ts +2 -1
  217. package/front_end/panels/elements/ElementStatePaneWidget.ts +4 -6
  218. package/front_end/panels/elements/ElementsPanel.ts +16 -5
  219. package/front_end/panels/elements/ImagePreviewPopover.ts +6 -4
  220. package/front_end/panels/elements/PropertiesWidget.ts +4 -24
  221. package/front_end/panels/elements/StyleEditorWidget.ts +2 -1
  222. package/front_end/panels/elements/StylePropertiesSection.ts +1614 -0
  223. package/front_end/panels/elements/StylePropertyHighlighter.ts +2 -1
  224. package/front_end/panels/elements/StylePropertyTreeElement.ts +20 -1
  225. package/front_end/panels/elements/StylesSidebarPane.ts +97 -1675
  226. package/front_end/panels/elements/elements-legacy.ts +3 -3
  227. package/front_end/panels/elements/elements.ts +3 -0
  228. package/front_end/panels/elements/stylesSidebarPane.css +3 -1
  229. package/front_end/panels/emulation/AdvancedApp.ts +6 -2
  230. package/front_end/panels/emulation/DeviceModeToolbar.ts +2 -1
  231. package/front_end/panels/input/InputTimeline.ts +3 -2
  232. package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +0 -50
  233. package/front_end/panels/issues/ComboBoxOfCheckBoxes.ts +14 -2
  234. package/front_end/panels/issues/IssueAggregator.ts +8 -0
  235. package/front_end/panels/issues/issues.ts +2 -0
  236. package/front_end/panels/lighthouse/LighthouseController.ts +5 -1
  237. package/front_end/panels/lighthouse/LighthousePanel.ts +3 -1
  238. package/front_end/panels/lighthouse/LighthouseReportRenderer.ts +1 -1
  239. package/front_end/panels/lighthouse/LighthouseTimespanView.ts +3 -3
  240. package/front_end/panels/network/BlockedURLsPane.ts +3 -2
  241. package/front_end/panels/network/NetworkConfigView.ts +6 -0
  242. package/front_end/panels/network/NetworkDataGridNode.ts +4 -0
  243. package/front_end/panels/network/NetworkLogView.ts +3 -3
  244. package/front_end/panels/network/RequestHTMLView.ts +1 -0
  245. package/front_end/panels/network/RequestHeadersView.ts +71 -10
  246. package/front_end/panels/network/networkLogView.css +9 -17
  247. package/front_end/panels/network/requestHeadersTree.css +16 -0
  248. package/front_end/panels/profiler/HeapSnapshotView.ts +5 -2
  249. package/front_end/panels/profiler/LiveHeapProfileView.ts +3 -1
  250. package/front_end/panels/profiler/ProfileView.ts +2 -2
  251. package/front_end/panels/profiler/ProfilesPanel.ts +2 -1
  252. package/front_end/panels/profiler/heapProfiler.css +15 -3
  253. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +4 -2
  254. package/front_end/panels/screencast/ScreencastView.ts +5 -2
  255. package/front_end/panels/search/SearchConfig.ts +2 -1
  256. package/front_end/panels/settings/KeybindsSettingsTab.ts +3 -2
  257. package/front_end/panels/settings/SettingsScreen.ts +4 -1
  258. package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +1 -2
  259. package/front_end/panels/snippets/ScriptSnippetFileSystem.ts +4 -4
  260. package/front_end/panels/sources/BreakpointEditDialog.ts +0 -1
  261. package/front_end/panels/sources/CSSPlugin.ts +6 -6
  262. package/front_end/panels/sources/CoveragePlugin.ts +2 -1
  263. package/front_end/panels/sources/DebuggerPlugin.ts +4 -4
  264. package/front_end/panels/sources/EditingLocationHistoryManager.ts +4 -1
  265. package/front_end/panels/sources/NavigatorView.ts +28 -20
  266. package/front_end/panels/sources/SearchSourcesView.ts +2 -2
  267. package/front_end/panels/sources/SourcesNavigator.ts +4 -2
  268. package/front_end/panels/sources/SourcesPanel.ts +4 -4
  269. package/front_end/panels/sources/SourcesSearchScope.ts +12 -8
  270. package/front_end/panels/sources/SourcesView.ts +3 -1
  271. package/front_end/panels/sources/TabbedEditorContainer.ts +1 -1
  272. package/front_end/panels/sources/components/HeadersView.css +17 -2
  273. package/front_end/panels/sources/components/HeadersView.ts +103 -1
  274. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +9 -9
  275. package/front_end/panels/timeline/TimelinePanel.ts +3 -2
  276. package/front_end/panels/timeline/TimelineUIUtils.ts +7 -0
  277. package/front_end/panels/timeline/timelinePanel.css +1 -2
  278. package/front_end/panels/utils/utils.ts +97 -0
  279. package/front_end/third_party/codemirror.next/bundle.ts +27 -25
  280. package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
  281. package/front_end/third_party/codemirror.next/chunk/cpp.js +2 -2
  282. package/front_end/third_party/codemirror.next/chunk/java.js +2 -1
  283. package/front_end/third_party/codemirror.next/chunk/json.js +2 -2
  284. package/front_end/third_party/codemirror.next/chunk/legacy.js +1 -1
  285. package/front_end/third_party/codemirror.next/chunk/markdown.js +2 -2
  286. package/front_end/third_party/codemirror.next/chunk/php.js +2 -1
  287. package/front_end/third_party/codemirror.next/chunk/python.js +2 -2
  288. package/front_end/third_party/codemirror.next/chunk/wast.js +2 -1
  289. package/front_end/third_party/codemirror.next/chunk/xml.js +2 -1
  290. package/front_end/third_party/codemirror.next/codemirror.next.d.ts +1884 -2281
  291. package/front_end/third_party/codemirror.next/codemirror.next.js +1 -1
  292. package/front_end/third_party/codemirror.next/package.json +21 -32
  293. package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +963 -886
  294. package/front_end/third_party/lighthouse/report/bundle.js +3 -2
  295. package/front_end/third_party/lighthouse/report-assets/report-generator.mjs +1 -1
  296. package/front_end/third_party/lit-html/README.chromium +3 -3
  297. package/front_end/third_party/lit-html/package/README.md +1 -1
  298. package/front_end/third_party/lit-html/package/async-directive.d.ts +1 -1
  299. package/front_end/third_party/lit-html/package/async-directive.js.map +1 -1
  300. package/front_end/third_party/lit-html/package/development/async-directive.d.ts +1 -1
  301. package/front_end/third_party/lit-html/package/development/async-directive.js.map +1 -1
  302. package/front_end/third_party/lit-html/package/development/directives/choose.d.ts +32 -0
  303. package/front_end/third_party/lit-html/package/development/directives/choose.d.ts.map +1 -0
  304. package/front_end/third_party/lit-html/package/development/directives/choose.js +41 -0
  305. package/front_end/third_party/lit-html/package/development/directives/choose.js.map +1 -0
  306. package/front_end/third_party/lit-html/package/development/directives/join.d.ts +21 -0
  307. package/front_end/third_party/lit-html/package/development/directives/join.d.ts.map +1 -0
  308. package/front_end/third_party/lit-html/package/development/directives/join.js +19 -0
  309. package/front_end/third_party/lit-html/package/development/directives/join.js.map +1 -0
  310. package/front_end/third_party/lit-html/package/development/directives/keyed.d.ts +23 -0
  311. package/front_end/third_party/lit-html/package/development/directives/keyed.d.ts.map +1 -0
  312. package/front_end/third_party/lit-html/package/development/directives/keyed.js +39 -0
  313. package/front_end/third_party/lit-html/package/development/directives/keyed.js.map +1 -0
  314. package/front_end/third_party/lit-html/package/development/directives/map.d.ts +23 -0
  315. package/front_end/third_party/lit-html/package/development/directives/map.d.ts.map +1 -0
  316. package/front_end/third_party/lit-html/package/development/directives/map.js +30 -0
  317. package/front_end/third_party/lit-html/package/development/directives/map.js.map +1 -0
  318. package/front_end/third_party/lit-html/package/development/directives/range.d.ts +24 -0
  319. package/front_end/third_party/lit-html/package/development/directives/range.d.ts.map +1 -0
  320. package/front_end/third_party/lit-html/package/development/directives/range.js +13 -0
  321. package/front_end/third_party/lit-html/package/development/directives/range.js.map +1 -0
  322. package/front_end/third_party/lit-html/package/development/directives/template-content.d.ts +1 -1
  323. package/front_end/third_party/lit-html/package/development/directives/when.d.ts +26 -0
  324. package/front_end/third_party/lit-html/package/development/directives/when.d.ts.map +1 -0
  325. package/front_end/third_party/lit-html/package/development/directives/when.js +9 -0
  326. package/front_end/third_party/lit-html/package/development/directives/when.js.map +1 -0
  327. package/front_end/third_party/lit-html/package/development/lit-html.d.ts +182 -1
  328. package/front_end/third_party/lit-html/package/development/lit-html.d.ts.map +1 -1
  329. package/front_end/third_party/lit-html/package/development/lit-html.js +187 -4
  330. package/front_end/third_party/lit-html/package/development/lit-html.js.map +1 -1
  331. package/front_end/third_party/lit-html/package/development/static.d.ts.map +1 -1
  332. package/front_end/third_party/lit-html/package/development/static.js +7 -0
  333. package/front_end/third_party/lit-html/package/development/static.js.map +1 -1
  334. package/front_end/third_party/lit-html/package/directives/choose.d.ts +32 -0
  335. package/front_end/third_party/lit-html/package/directives/choose.d.ts.map +1 -0
  336. package/front_end/third_party/lit-html/package/directives/choose.js +7 -0
  337. package/front_end/third_party/lit-html/package/directives/choose.js.map +1 -0
  338. package/front_end/third_party/lit-html/package/directives/class-map.js +1 -1
  339. package/front_end/third_party/lit-html/package/directives/guard.js +1 -1
  340. package/front_end/third_party/lit-html/package/directives/join.d.ts +21 -0
  341. package/front_end/third_party/lit-html/package/directives/join.d.ts.map +1 -0
  342. package/front_end/third_party/lit-html/package/directives/join.js +7 -0
  343. package/front_end/third_party/lit-html/package/directives/join.js.map +1 -0
  344. package/front_end/third_party/lit-html/package/directives/keyed.d.ts +23 -0
  345. package/front_end/third_party/lit-html/package/directives/keyed.d.ts.map +1 -0
  346. package/front_end/third_party/lit-html/package/directives/keyed.js +7 -0
  347. package/front_end/third_party/lit-html/package/directives/keyed.js.map +1 -0
  348. package/front_end/third_party/lit-html/package/directives/map.d.ts +23 -0
  349. package/front_end/third_party/lit-html/package/directives/map.d.ts.map +1 -0
  350. package/front_end/third_party/lit-html/package/directives/map.js +7 -0
  351. package/front_end/third_party/lit-html/package/directives/map.js.map +1 -0
  352. package/front_end/third_party/lit-html/package/directives/range.d.ts +24 -0
  353. package/front_end/third_party/lit-html/package/directives/range.d.ts.map +1 -0
  354. package/front_end/third_party/lit-html/package/directives/range.js +7 -0
  355. package/front_end/third_party/lit-html/package/directives/range.js.map +1 -0
  356. package/front_end/third_party/lit-html/package/directives/ref.js +1 -1
  357. package/front_end/third_party/lit-html/package/directives/repeat.js +1 -1
  358. package/front_end/third_party/lit-html/package/directives/style-map.js +1 -1
  359. package/front_end/third_party/lit-html/package/directives/template-content.d.ts +1 -1
  360. package/front_end/third_party/lit-html/package/directives/template-content.js +1 -1
  361. package/front_end/third_party/lit-html/package/directives/unsafe-html.js +1 -1
  362. package/front_end/third_party/lit-html/package/directives/until.js +1 -1
  363. package/front_end/third_party/lit-html/package/directives/when.d.ts +26 -0
  364. package/front_end/third_party/lit-html/package/directives/when.d.ts.map +1 -0
  365. package/front_end/third_party/lit-html/package/directives/when.js +7 -0
  366. package/front_end/third_party/lit-html/package/directives/when.js.map +1 -0
  367. package/front_end/third_party/lit-html/package/lit-html.d.ts +182 -1
  368. package/front_end/third_party/lit-html/package/lit-html.d.ts.map +1 -1
  369. package/front_end/third_party/lit-html/package/lit-html.js +1 -1
  370. package/front_end/third_party/lit-html/package/lit-html.js.map +1 -1
  371. package/front_end/third_party/lit-html/package/package.json +25 -1
  372. package/front_end/third_party/lit-html/package/private-ssr-support.js +1 -1
  373. package/front_end/third_party/lit-html/package/static.d.ts.map +1 -1
  374. package/front_end/third_party/lit-html/package/static.js +1 -1
  375. package/front_end/third_party/lit-html/package/static.js.map +1 -1
  376. package/front_end/third_party/puppeteer/README.chromium +1 -1
  377. package/front_end/third_party/puppeteer/package/README.md +12 -13
  378. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api-docs-entry.js +5 -1
  379. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api-docs-entry.js.map +1 -1
  380. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js +5 -1
  381. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
  382. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.d.ts +2 -2
  383. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js +2 -2
  384. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts +2 -2
  385. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  386. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js +13 -6
  387. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js.map +1 -1
  388. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js +5 -1
  389. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js.map +1 -1
  390. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkEventManager.d.ts +1 -0
  391. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkEventManager.d.ts.map +1 -1
  392. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkEventManager.js +4 -1
  393. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkEventManager.js.map +1 -1
  394. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.d.ts +1 -0
  395. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.d.ts.map +1 -1
  396. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.js +10 -0
  397. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.js.map +1 -1
  398. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PDFOptions.d.ts +4 -2
  399. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PDFOptions.d.ts.map +1 -1
  400. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PDFOptions.js.map +1 -1
  401. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.d.ts.map +1 -1
  402. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.js +12 -1
  403. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.js.map +1 -1
  404. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/fetch.js +5 -1
  405. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/fetch.js.map +1 -1
  406. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.d.ts.map +1 -1
  407. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.js +7 -6
  408. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.js.map +1 -1
  409. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js +8 -1
  410. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js.map +1 -1
  411. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js +6 -2
  412. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js.map +1 -1
  413. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js +6 -2
  414. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js.map +1 -1
  415. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +1 -1
  416. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts +2 -2
  417. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js +2 -2
  418. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts +2 -2
  419. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  420. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js +13 -6
  421. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js.map +1 -1
  422. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkEventManager.d.ts +1 -0
  423. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkEventManager.d.ts.map +1 -1
  424. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkEventManager.js +4 -1
  425. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkEventManager.js.map +1 -1
  426. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts +1 -0
  427. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -1
  428. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js +10 -0
  429. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js.map +1 -1
  430. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts +4 -2
  431. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts.map +1 -1
  432. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.js.map +1 -1
  433. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts.map +1 -1
  434. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js +12 -1
  435. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js.map +1 -1
  436. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.d.ts.map +1 -1
  437. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js +2 -5
  438. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js.map +1 -1
  439. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js +3 -0
  440. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js.map +1 -1
  441. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js +1 -1
  442. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js.map +1 -1
  443. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js +1 -1
  444. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js.map +1 -1
  445. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +1 -1
  446. package/front_end/third_party/puppeteer/package/lib/types.d.ts +10 -6
  447. package/front_end/third_party/puppeteer/package/package.json +17 -17
  448. package/front_end/ui/components/code_highlighter/CodeHighlighter.ts +1 -1
  449. package/front_end/ui/components/data_grid/DataGrid.ts +8 -9
  450. package/front_end/ui/components/data_grid/DataGridController.ts +3 -1
  451. package/front_end/ui/components/docs/panel_introduction_steps/basic.html +25 -0
  452. package/front_end/ui/components/docs/panel_introduction_steps/basic.ts +25 -0
  453. package/front_end/ui/components/input/input.ts +2 -2
  454. package/front_end/ui/components/linkifier/LinkifierUtils.ts +3 -1
  455. package/front_end/ui/components/panel_feedback/FeedbackButton.ts +4 -1
  456. package/front_end/ui/components/panel_introduction_steps/PanelIntroductionSteps.ts +44 -0
  457. package/front_end/ui/components/panel_introduction_steps/panelIntroductionSteps.css +56 -0
  458. package/front_end/ui/components/panel_introduction_steps/panel_introduction_steps.ts +5 -0
  459. package/front_end/ui/components/render_coordinator/RenderCoordinator.ts +3 -4
  460. package/front_end/ui/components/text_editor/TextEditor.ts +1 -1
  461. package/front_end/ui/components/text_editor/config.ts +1 -35
  462. package/front_end/ui/components/text_editor/javascript.ts +8 -8
  463. package/front_end/ui/components/tree_outline/TreeOutline.ts +10 -9
  464. package/front_end/ui/components/tree_outline/treeOutline.css +1 -1
  465. package/front_end/ui/legacy/ARIAUtils.ts +4 -2
  466. package/front_end/ui/legacy/ContextMenu.ts +14 -0
  467. package/front_end/ui/legacy/DockController.ts +2 -1
  468. package/front_end/ui/legacy/SettingsUI.ts +3 -3
  469. package/front_end/ui/legacy/SoftContextMenu.ts +43 -14
  470. package/front_end/ui/legacy/Toolbar.ts +16 -0
  471. package/front_end/ui/legacy/Treeoutline.ts +17 -7
  472. package/front_end/ui/legacy/UIUtils.ts +2 -2
  473. package/front_end/ui/legacy/View.ts +14 -8
  474. package/front_end/ui/legacy/ViewManager.ts +2 -1
  475. package/front_end/ui/legacy/ViewRegistration.ts +6 -0
  476. package/front_end/ui/legacy/Widget.ts +2 -1
  477. package/front_end/ui/legacy/XLink.ts +8 -3
  478. package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +3 -1
  479. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +43 -11
  480. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +98 -48
  481. package/front_end/ui/legacy/components/data_grid/ViewportDataGrid.ts +4 -3
  482. package/front_end/ui/legacy/components/data_grid/dataGrid.css +24 -28
  483. package/front_end/ui/legacy/components/inline_editor/CSSAngle.ts +5 -11
  484. package/front_end/ui/legacy/components/inline_editor/CSSLength.ts +8 -1
  485. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +10 -7
  486. package/front_end/ui/legacy/components/perf_ui/LineLevelProfile.ts +11 -10
  487. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +7 -1
  488. package/front_end/ui/legacy/components/utils/ImagePreview.ts +18 -9
  489. package/front_end/ui/legacy/components/utils/Linkifier.ts +13 -6
  490. package/front_end/ui/legacy/reportView.css +1 -0
  491. package/front_end/ui/legacy/splitWidget.css +1 -1
  492. package/front_end/ui/legacy/tabbedPane.css +2 -0
  493. package/front_end/ui/legacy/themeColors.css +1 -1
  494. package/front_end/ui/legacy/toolbar.css +17 -1
  495. package/front_end/ui/legacy/utils/focus-changed.ts +3 -1
  496. package/inspector_overlay/.eslintrc.js +9 -0
  497. package/package.json +17 -17
  498. package/scripts/eslint_rules/lib/check_component_naming.js +4 -0
  499. package/scripts/eslint_rules/lib/es_modules_import.js +6 -0
  500. package/scripts/eslint_rules/lib/inject_checkbox_styles.js +121 -0
  501. package/scripts/eslint_rules/tests/es_modules_import_test.js +12 -0
  502. package/scripts/eslint_rules/tests/inject_checkbox_styles_test.js +127 -0
  503. package/front_end/models/issues_manager/descriptions/arAttributionEventSourceTriggerDataTooLarge.md +0 -4
  504. package/front_end/models/issues_manager/descriptions/arAttributionTriggerDataTooLarge.md +0 -4
  505. package/front_end/models/issues_manager/descriptions/arInvalidAttributionData.md +0 -8
  506. package/front_end/models/issues_manager/descriptions/arInvalidEventSourceTriggerData.md +0 -9
  507. package/front_end/models/issues_manager/descriptions/arInvalidTriggerDedupKey.md +0 -5
  508. package/front_end/models/issues_manager/descriptions/arInvalidTriggerPriority.md +0 -5
  509. package/front_end/models/issues_manager/descriptions/arMissingAttributionData.md +0 -7
@@ -2,19 +2,193 @@
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
4
 
5
+ import * as i18n from '../../core/i18n/i18n.js';
5
6
  import type * as SDK from '../../core/sdk/sdk.js';
6
7
  import * as Protocol from '../../generated/protocol.js';
7
8
 
8
9
  import {Issue, IssueCategory, IssueKind} from './Issue.js';
9
10
  import type {MarkdownIssueDescription} from './MarkdownIssueDescription.js';
11
+ import {resolveLazyDescription} from './MarkdownIssueDescription.js';
12
+
13
+ const UIStrings = {
14
+ // Store strings used across messages in this block.
15
+ /**
16
+ * @description This links to the chrome feature status page when one exists.
17
+ */
18
+ feature: 'Check the feature status page for more details.',
19
+ /**
20
+ * @description This links to the chromium dash schedule when a milestone is set.
21
+ * @example {100} milestone
22
+ */
23
+ milestone: 'This change will go into effect with milestone {milestone}.',
24
+ /**
25
+ *@description Title of issue raised when a deprecated feature is used
26
+ */
27
+ title: 'Deprecated Feature Used',
28
+
29
+ // Store alphabetized messages per DeprecationIssueType in this block.
30
+ /**
31
+ *@description TODO(crbug.com/1318846): Description needed for translation
32
+ */
33
+ authorizationCoveredByWildcard:
34
+ 'Authorization will not be covered by the wildcard symbol (*) in CORS `Access-Control-Allow-Headers` handling.',
35
+ /**
36
+ *@description TODO(crbug.com/1318847): Description needed for translation
37
+ */
38
+ cookieWithTruncatingChar: 'Cookies containing a `\\(0|r|n)` character will be rejected instead of truncated.',
39
+ /**
40
+ *@description TODO(crbug.com/1318849): Description needed for translation
41
+ */
42
+ crossOriginAccessBasedOnDocumentDomain:
43
+ 'Relaxing the same-origin policy by setting `document.domain` is deprecated, and will be disabled by default. This deprecation warning is for a cross-origin access that was enabled by setting `document.domain`.',
44
+ /**
45
+ *@description TODO(crbug.com/1318850): Description needed for translation
46
+ */
47
+ crossOriginWindowAlert:
48
+ 'Triggering `window.alert` from cross origin iframes has been deprecated and will be removed in the future.',
49
+ /**
50
+ *@description TODO(crbug.com/1318851): Description needed for translation
51
+ */
52
+ crossOriginWindowConfirm:
53
+ 'Triggering `window.confirm` from cross origin iframes has been deprecated and will be removed in the future.',
54
+ /**
55
+ *@description This message is shown when the example deprecated feature is used
56
+ */
57
+ deprecationExample: 'This is an example of a translated deprecation issue message.',
58
+ /**
59
+ *@description TODO(crbug.com/1318852): Description needed for translation
60
+ */
61
+ documentDomainSettingWithoutOriginAgentClusterHeader:
62
+ 'Relaxing the same-origin policy by setting `document.domain` is deprecated, and will be disabled by default. To continue using this feature, please opt-out of origin-keyed agent clusters by sending an `Origin-Agent-Cluster: ?0` header along with the HTTP response for the document and frames. See https://developer.chrome.com/blog/immutable-document-domain/ for more details.',
63
+ /**
64
+ *@description TODO(crbug.com/1318853): Description needed for translation
65
+ */
66
+ geolocationInsecureOrigin:
67
+ '`getCurrentPosition()` and `watchPosition()` no longer work on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.',
68
+ /**
69
+ *@description TODO(crbug.com/1318855): Description needed for translation
70
+ */
71
+ geolocationInsecureOriginDeprecatedNotRemoved:
72
+ '`getCurrentPosition()` and `watchPosition()` are deprecated on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.',
73
+ /**
74
+ *@description TODO(crbug.com/1318858): Description needed for translation
75
+ */
76
+ getUserMediaInsecureOrigin:
77
+ '`getUserMedia()` no longer works on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.',
78
+ /**
79
+ *@description TODO(crbug.com/1318860): Description needed for translation
80
+ */
81
+ legacyConstraintGoogCpuOveruseDetection:
82
+ 'CPU overuse detection is enabled-by-default and the ability to disable it using `googCpuOveruseDetection` will soon be removed. Please stop using this legacy constraint.',
83
+ /**
84
+ *@description TODO(crbug.com/1318861): Description needed for translation
85
+ */
86
+ legacyConstraintGoogIPv6:
87
+ 'IPv6 is enabled-by-default and the ability to disable it using `googIPv6` will soon be removed. Please stop using this legacy constraint.',
88
+ /**
89
+ *@description TODO(crbug.com/1318863): Description needed for translation
90
+ */
91
+ legacyConstraintGoogScreencastMinBitrate:
92
+ 'Screencast min bitrate is now set to 100 kbps by default and `googScreencastMinBitrate` will soon be ignored in favor of this new default. Please stop using this legacy constraint.',
93
+ /**
94
+ *@description TODO(crbug.com/1318864): Description needed for translation
95
+ */
96
+ legacyConstraintGoogSuspendBelowMinBitrate:
97
+ 'Support for the `googSuspendBelowMinBitrate` constraint is about to be removed. Please stop using this legacy constraint.',
98
+ /**
99
+ *@description TODO(crbug.com/1318865): Description needed for translation
100
+ */
101
+ localCSSFileExtensionRejected: 'CSS cannot be loaded from `file:` URLs unless they end in a `.css` file extension.',
102
+ /**
103
+ *@description TODO(crbug.com/1318866): Description needed for translation
104
+ */
105
+ notificationInsecureOrigin:
106
+ 'The Notification API may no longer be used from insecure origins. You should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.',
107
+ /**
108
+ *@description TODO(crbug.com/1318867): Description needed for translation
109
+ */
110
+ obsoleteWebRtcCipherSuite:
111
+ 'Your partner is negotiating an obsolete (D)TLS version. Please check with your partner to have this fixed.',
112
+ /**
113
+ *@description TODO(crbug.com/1318868): Description needed for translation
114
+ */
115
+ pictureSourceSrc:
116
+ '`<source src>` with a `<picture>` parent is invalid and therefore ignored. Please use `<source srcset>` instead.',
117
+ /**
118
+ *@description TODO(crbug.com/1318869): Description needed for translation
119
+ */
120
+ prefixedCancelAnimationFrame:
121
+ '`webkitCancelAnimationFrame` is vendor-specific. Please use the standard `cancelAnimationFrame` instead.',
122
+ /**
123
+ *@description TODO(crbug.com/1318871): Description needed for translation
124
+ */
125
+ prefixedRequestAnimationFrame:
126
+ '`webkitRequestAnimationFrame` is vendor-specific. Please use the standard `requestAnimationFrame` instead.',
127
+ /**
128
+ *@description TODO(crbug.com/1318872): Description needed for translation
129
+ */
130
+ rtcConstraintEnableDtlsSrtpFalse:
131
+ 'The constraint `DtlsSrtpKeyAgreement` is removed. You have specified a `false` value for this constraint, which is interpreted as an attempt to use the removed `SDES` key negotiation method. This functionality is removed; use a service that supports DTLS key negotiation instead.',
132
+ /**
133
+ *@description TODO(crbug.com/1318873): Description needed for translation
134
+ */
135
+ rtcConstraintEnableDtlsSrtpTrue:
136
+ 'The constraint `DtlsSrtpKeyAgreement` is removed. You have specified a `true` value for this constraint, which had no effect, but you can remove this constraint for tidiness.',
137
+ /**
138
+ *@description TODO(crbug.com/1318874): Description needed for translation
139
+ */
140
+ rtcPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics:
141
+ 'Complex Plan B SDP detected! Chrome will switch the default `sdpSemantics` from `plan-b` to the standardized `unified-plan` format and this peer connection is relying on the default `sdpSemantics`. This SDP is not compatible with Unified Plan and will be rejected by clients expecting Unified Plan. For more information about how to prepare for the switch, see https://webrtc.org/web-apis/chrome/unified-plan/.',
142
+ /**
143
+ *@description TODO(crbug.com/1318875): Description needed for translation
144
+ */
145
+ rtcPeerConnectionLegacyCreateWithMediaConstraints:
146
+ 'The `mediaConstraints` version of `RTCOfferOptions/RTCAnswerOptions` are deprecated and will soon be removed, please migrate to the promise-based `createOffer`/`createAnswer` instead.',
147
+ /**
148
+ *@description TODO(crbug.com/1318876): Description needed for translation
149
+ */
150
+ rtpDataChannel:
151
+ 'RTP data channels are no longer supported. The `RtpDataChannels` constraint is currently ignored, and may cause an error at a later date.',
152
+ /**
153
+ *@description TODO(crbug.com/1318878): Description needed for translation
154
+ */
155
+ sharedArrayBufferConstructedWithoutIsolation:
156
+ '`SharedArrayBuffer` will require cross-origin isolation. See https://developer.chrome.com/blog/enabling-shared-array-buffer/ for more details.',
157
+ /**
158
+ *@description TODO(crbug.com/1318879): Description needed for translation
159
+ */
160
+ v8SharedArrayBufferConstructedInExtensionWithoutIsolation:
161
+ 'Extensions should opt into cross-origin isolation to continue using `SharedArrayBuffer`. See https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/.',
162
+ /**
163
+ *@description TODO(crbug.com/1318880): Description needed for translation
164
+ */
165
+ webCodecsVideoFrameDefaultTimestamp:
166
+ 'Constructing a `VideoFrame` without a timestamp is deprecated and support will be removed. Please provide a timestamp via `VideoFrameInit`.',
167
+ /**
168
+ *@description TODO(crbug.com/1318881): Description needed for translation
169
+ */
170
+ xhrJSONEncodingDetection: 'UTF-16 is not supported by response json in `XMLHttpRequest`',
171
+ /**
172
+ *@description TODO(crbug.com/1318882): Description needed for translation
173
+ */
174
+ xmlHttpRequestSynchronousInNonWorkerOutsideBeforeUnload:
175
+ 'Synchronous `XMLHttpRequest` on the main thread is deprecated because of its detrimental effects to the end user\'s experience. For more help, check https://xhr.spec.whatwg.org/.',
176
+ };
177
+ const str_ = i18n.i18n.registerUIStrings('models/issues_manager/DeprecationIssue.ts', UIStrings);
178
+ const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined, str_);
10
179
 
11
180
  export class DeprecationIssue extends Issue {
12
181
  #issueDetails: Protocol.Audits.DeprecationIssueDetails;
13
182
 
14
183
  constructor(issueDetails: Protocol.Audits.DeprecationIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel) {
184
+ let typeCode = String(issueDetails.type);
185
+ // TODO(crbug.com/1264960): Remove legacy type when issues are translated.
186
+ if (issueDetails.type === Protocol.Audits.DeprecationIssueType.Untranslated) {
187
+ typeCode = String(issueDetails.deprecationType);
188
+ }
15
189
  const issueCode = [
16
190
  Protocol.Audits.InspectorIssueCode.DeprecationIssue,
17
- issueDetails.deprecationType,
191
+ typeCode,
18
192
  ].join('::');
19
193
  super({code: issueCode, umaCode: 'DeprecationIssue'}, issuesModel);
20
194
  this.#issueDetails = issueDetails;
@@ -28,16 +202,150 @@ export class DeprecationIssue extends Issue {
28
202
  return this.#issueDetails;
29
203
  }
30
204
 
31
- getDescription(): MarkdownIssueDescription|null {
32
- return {
205
+ getDescription(): MarkdownIssueDescription {
206
+ let messageFunction = (): string => '';
207
+ let feature = 0;
208
+ let milestone = 0;
209
+ // Keep case statements alphabetized per DeprecationIssueType.
210
+ switch (this.#issueDetails.type) {
211
+ case Protocol.Audits.DeprecationIssueType.AuthorizationCoveredByWildcard:
212
+ messageFunction = i18nLazyString(UIStrings.authorizationCoveredByWildcard);
213
+ milestone = 97;
214
+ break;
215
+ case Protocol.Audits.DeprecationIssueType.CookieWithTruncatingChar:
216
+ messageFunction = i18nLazyString(UIStrings.cookieWithTruncatingChar);
217
+ milestone = 103;
218
+ break;
219
+ case Protocol.Audits.DeprecationIssueType.CrossOriginAccessBasedOnDocumentDomain:
220
+ messageFunction = i18nLazyString(UIStrings.crossOriginAccessBasedOnDocumentDomain);
221
+ milestone = 106;
222
+ break;
223
+ case Protocol.Audits.DeprecationIssueType.CrossOriginWindowAlert:
224
+ messageFunction = i18nLazyString(UIStrings.crossOriginWindowAlert);
225
+ break;
226
+ case Protocol.Audits.DeprecationIssueType.CrossOriginWindowConfirm:
227
+ messageFunction = i18nLazyString(UIStrings.crossOriginWindowConfirm);
228
+ break;
229
+ case Protocol.Audits.DeprecationIssueType.DeprecationExample:
230
+ messageFunction = i18nLazyString(UIStrings.deprecationExample);
231
+ feature = 5684289032159232;
232
+ milestone = 100;
233
+ break;
234
+ case Protocol.Audits.DeprecationIssueType.DocumentDomainSettingWithoutOriginAgentClusterHeader:
235
+ messageFunction = i18nLazyString(UIStrings.documentDomainSettingWithoutOriginAgentClusterHeader);
236
+ milestone = 106;
237
+ break;
238
+ case Protocol.Audits.DeprecationIssueType.GeolocationInsecureOrigin:
239
+ messageFunction = i18nLazyString(UIStrings.geolocationInsecureOrigin);
240
+ break;
241
+ case Protocol.Audits.DeprecationIssueType.GeolocationInsecureOriginDeprecatedNotRemoved:
242
+ messageFunction = i18nLazyString(UIStrings.geolocationInsecureOriginDeprecatedNotRemoved);
243
+ break;
244
+ case Protocol.Audits.DeprecationIssueType.GetUserMediaInsecureOrigin:
245
+ messageFunction = i18nLazyString(UIStrings.getUserMediaInsecureOrigin);
246
+ break;
247
+ case Protocol.Audits.DeprecationIssueType.LegacyConstraintGoogCpuOveruseDetection:
248
+ messageFunction = i18nLazyString(UIStrings.legacyConstraintGoogCpuOveruseDetection);
249
+ milestone = 103;
250
+ break;
251
+ case Protocol.Audits.DeprecationIssueType.LegacyConstraintGoogIPv6:
252
+ messageFunction = i18nLazyString(UIStrings.legacyConstraintGoogIPv6);
253
+ milestone = 103;
254
+ break;
255
+ case Protocol.Audits.DeprecationIssueType.LegacyConstraintGoogScreencastMinBitrate:
256
+ messageFunction = i18nLazyString(UIStrings.legacyConstraintGoogScreencastMinBitrate);
257
+ milestone = 103;
258
+ break;
259
+ case Protocol.Audits.DeprecationIssueType.LegacyConstraintGoogSuspendBelowMinBitrate:
260
+ messageFunction = i18nLazyString(UIStrings.legacyConstraintGoogSuspendBelowMinBitrate);
261
+ milestone = 103;
262
+ break;
263
+ case Protocol.Audits.DeprecationIssueType.LocalCSSFileExtensionRejected:
264
+ messageFunction = i18nLazyString(UIStrings.localCSSFileExtensionRejected);
265
+ milestone = 64;
266
+ break;
267
+ case Protocol.Audits.DeprecationIssueType.NotificationInsecureOrigin:
268
+ messageFunction = i18nLazyString(UIStrings.notificationInsecureOrigin);
269
+ break;
270
+ case Protocol.Audits.DeprecationIssueType.ObsoleteWebRtcCipherSuite:
271
+ messageFunction = i18nLazyString(UIStrings.obsoleteWebRtcCipherSuite);
272
+ milestone = 81;
273
+ break;
274
+ case Protocol.Audits.DeprecationIssueType.PictureSourceSrc:
275
+ messageFunction = i18nLazyString(UIStrings.pictureSourceSrc);
276
+ break;
277
+ case Protocol.Audits.DeprecationIssueType.PrefixedCancelAnimationFrame:
278
+ messageFunction = i18nLazyString(UIStrings.prefixedCancelAnimationFrame);
279
+ break;
280
+ case Protocol.Audits.DeprecationIssueType.PrefixedRequestAnimationFrame:
281
+ messageFunction = i18nLazyString(UIStrings.prefixedRequestAnimationFrame);
282
+ break;
283
+ case Protocol.Audits.DeprecationIssueType.RTCConstraintEnableDtlsSrtpFalse:
284
+ messageFunction = i18nLazyString(UIStrings.rtcConstraintEnableDtlsSrtpFalse);
285
+ milestone = 97;
286
+ break;
287
+ case Protocol.Audits.DeprecationIssueType.RTCConstraintEnableDtlsSrtpTrue:
288
+ messageFunction = i18nLazyString(UIStrings.rtcConstraintEnableDtlsSrtpTrue);
289
+ milestone = 97;
290
+ break;
291
+ case Protocol.Audits.DeprecationIssueType.RTCPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics:
292
+ messageFunction = i18nLazyString(UIStrings.rtcPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics);
293
+ milestone = 72;
294
+ break;
295
+ case Protocol.Audits.DeprecationIssueType.RTCPeerConnectionLegacyCreateWithMediaConstraints:
296
+ messageFunction = i18nLazyString(UIStrings.rtcPeerConnectionLegacyCreateWithMediaConstraints);
297
+ milestone = 103;
298
+ break;
299
+ case Protocol.Audits.DeprecationIssueType.RTPDataChannel:
300
+ messageFunction = i18nLazyString(UIStrings.rtpDataChannel);
301
+ milestone = 88;
302
+ break;
303
+ case Protocol.Audits.DeprecationIssueType.SharedArrayBufferConstructedWithoutIsolation:
304
+ messageFunction = i18nLazyString(UIStrings.sharedArrayBufferConstructedWithoutIsolation);
305
+ milestone = 106;
306
+ break;
307
+ // TODO(crbug.com/1264960): Remove legacy type when issues are translated.
308
+ case Protocol.Audits.DeprecationIssueType.Untranslated:
309
+ messageFunction = (): string => this.#issueDetails.message ?? '';
310
+ break;
311
+ case Protocol.Audits.DeprecationIssueType.V8SharedArrayBufferConstructedInExtensionWithoutIsolation:
312
+ messageFunction = i18nLazyString(UIStrings.v8SharedArrayBufferConstructedInExtensionWithoutIsolation);
313
+ milestone = 96;
314
+ break;
315
+ case Protocol.Audits.DeprecationIssueType.WebCodecsVideoFrameDefaultTimestamp:
316
+ messageFunction = i18nLazyString(UIStrings.webCodecsVideoFrameDefaultTimestamp);
317
+ feature = 5667793157488640;
318
+ milestone = 99;
319
+ break;
320
+ case Protocol.Audits.DeprecationIssueType.XHRJSONEncodingDetection:
321
+ messageFunction = i18nLazyString(UIStrings.xhrJSONEncodingDetection);
322
+ milestone = 93;
323
+ break;
324
+ case Protocol.Audits.DeprecationIssueType.XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload:
325
+ messageFunction = i18nLazyString(UIStrings.xmlHttpRequestSynchronousInNonWorkerOutsideBeforeUnload);
326
+ break;
327
+ }
328
+ const links = [];
329
+ if (feature !== 0) {
330
+ links.push({
331
+ link: `https://chromestatus.com/feature/${feature}`,
332
+ linkTitle: i18nLazyString(UIStrings.feature),
333
+ });
334
+ }
335
+ if (milestone !== 0) {
336
+ links.push({
337
+ link: 'https://chromiumdash.appspot.com/schedule',
338
+ linkTitle: i18nLazyString(UIStrings.milestone, {milestone}),
339
+ });
340
+ }
341
+ return resolveLazyDescription({
33
342
  file: 'deprecation.md',
34
343
  substitutions: new Map([
35
- // TODO(crbug.com/1264960): Re-work format to add i18n support per:
36
- // https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/public/devtools_protocol/README.md
37
- ['PLACEHOLDER_message', String(this.#issueDetails.message)],
344
+ ['PLACEHOLDER_title', i18nLazyString(UIStrings.title)],
345
+ ['PLACEHOLDER_message', messageFunction],
38
346
  ]),
39
- links: [],
40
- };
347
+ links,
348
+ });
41
349
  }
42
350
 
43
351
  sources(): Iterable<Protocol.Audits.SourceCodeLocation> {
@@ -62,6 +370,16 @@ export class DeprecationIssue extends Issue {
62
370
  console.warn('Deprecation issue without details received.');
63
371
  return [];
64
372
  }
373
+ if (details.type !== Protocol.Audits.DeprecationIssueType.Untranslated &&
374
+ (details.deprecationType || details.message)) {
375
+ console.warn('Translated deprecation issue with malformed details received.');
376
+ return [];
377
+ }
378
+ if (details.type === Protocol.Audits.DeprecationIssueType.Untranslated &&
379
+ (!details.deprecationType || !details.message)) {
380
+ console.warn('Untranslated deprecation issue with malformed details received.');
381
+ return [];
382
+ }
65
383
  return [new DeprecationIssue(details, issuesModel)];
66
384
  }
67
385
  }
@@ -208,6 +208,10 @@ export class IssuesManager extends Common.ObjectWrapper.ObjectWrapper<EventTypes
208
208
  return issuesManagerInstance;
209
209
  }
210
210
 
211
+ static removeInstance(): void {
212
+ issuesManagerInstance = null;
213
+ }
214
+
211
215
  /**
212
216
  * Once we have seen at least one `TopFrameNavigated` event, we can be reasonably sure
213
217
  * that we also collected issues that were reported during the navigation to the current
@@ -0,0 +1,5 @@
1
+ # Ensure cookie attribute values don’t exceed 1024 characters
2
+
3
+ Cookie attribute values exceeding 1024 characters in size will result in the attribute being ignored. This could lead to unexpected behavior since the cookie will be processed as if the offending attribute / attribute value pair were not present.
4
+
5
+ Resolve this issue by ensuring that cookie attribute values don’t exceed 1024 characters.
@@ -1,3 +1,3 @@
1
- # Deprecated Feature Used
1
+ # {PLACEHOLDER_title}
2
2
 
3
3
  {PLACEHOLDER_message}
@@ -3,6 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import * as Common from '../../core/common/common.js';
6
+ import type * as Platform from '../../core/platform/platform.js';
6
7
  import * as SDK from '../../core/sdk/sdk.js';
7
8
  import * as Protocol from '../../generated/protocol.js';
8
9
 
@@ -42,7 +43,7 @@ export class LogManager implements SDK.TargetManager.SDKModelObserver<SDK.LogMod
42
43
  const {logModel, entry} = event.data;
43
44
  const target = logModel.target();
44
45
  const details = {
45
- url: entry.url,
46
+ url: entry.url as Platform.DevToolsPath.UrlString,
46
47
  line: entry.lineNumber,
47
48
  parameters: [entry.text, ...(entry.args ?? [])],
48
49
  stackTrace: entry.stackTrace,
@@ -142,15 +142,15 @@ export class NetworkLog extends Common.ObjectWrapper.ObjectWrapper<EventTypes> i
142
142
  }
143
143
  }
144
144
 
145
- requestForURL(url: string): SDK.NetworkRequest.NetworkRequest|null {
145
+ requestForURL(url: Platform.DevToolsPath.UrlString): SDK.NetworkRequest.NetworkRequest|null {
146
146
  return this.requestsInternal.find(request => request.url() === url) || null;
147
147
  }
148
148
 
149
- originalRequestForURL(url: string): Protocol.Network.Request|null {
149
+ originalRequestForURL(url: Platform.DevToolsPath.UrlString): Protocol.Network.Request|null {
150
150
  return this.sentNetworkRequests.find(request => request.url === url) || null;
151
151
  }
152
152
 
153
- originalResponseForURL(url: string): Protocol.Network.Response|null {
153
+ originalResponseForURL(url: Platform.DevToolsPath.UrlString): Protocol.Network.Response|null {
154
154
  return this.receivedNetworkResponses.find(response => response.url === url) || null;
155
155
  }
156
156
 
@@ -171,8 +171,9 @@ export class NetworkLog extends Common.ObjectWrapper.ObjectWrapper<EventTypes> i
171
171
  return null;
172
172
  }
173
173
 
174
- private requestByManagerAndURL(networkManager: SDK.NetworkManager.NetworkManager, url: string):
175
- SDK.NetworkRequest.NetworkRequest|null {
174
+ private requestByManagerAndURL(
175
+ networkManager: SDK.NetworkManager.NetworkManager,
176
+ url: Platform.DevToolsPath.UrlString): SDK.NetworkRequest.NetworkRequest|null {
176
177
  for (const request of this.requestsInternal) {
177
178
  if (url === request.url() && networkManager === SDK.NetworkManager.NetworkManager.forRequest(request)) {
178
179
  return request;
@@ -202,7 +203,7 @@ export class NetworkLog extends Common.ObjectWrapper.ObjectWrapper<EventTypes> i
202
203
  }
203
204
 
204
205
  let type = SDK.NetworkRequest.InitiatorType.Other;
205
- let url = '';
206
+ let url = Platform.DevToolsPath.EmptyUrlString;
206
207
  let lineNumber: number = -Infinity;
207
208
  let columnNumber: number = -Infinity;
208
209
  let scriptId: Protocol.Runtime.ScriptId|null = null;
@@ -217,7 +218,7 @@ export class NetworkLog extends Common.ObjectWrapper.ObjectWrapper<EventTypes> i
217
218
  } else if (initiator) {
218
219
  if (initiator.type === Protocol.Network.InitiatorType.Parser) {
219
220
  type = SDK.NetworkRequest.InitiatorType.Parser;
220
- url = initiator.url ? initiator.url : url;
221
+ url = initiator.url ? initiator.url as Platform.DevToolsPath.UrlString : url;
221
222
  lineNumber = typeof initiator.lineNumber === 'number' ? initiator.lineNumber : lineNumber;
222
223
  columnNumber = typeof initiator.columnNumber === 'number' ? initiator.columnNumber : columnNumber;
223
224
  } else if (initiator.type === Protocol.Network.InitiatorType.Script) {
@@ -228,7 +229,7 @@ export class NetworkLog extends Common.ObjectWrapper.ObjectWrapper<EventTypes> i
228
229
  continue;
229
230
  }
230
231
  type = SDK.NetworkRequest.InitiatorType.Script;
231
- url = topFrame.url || i18nString(UIStrings.anonymous);
232
+ url = (topFrame.url || i18nString(UIStrings.anonymous) as string) as Platform.DevToolsPath.UrlString;
232
233
  lineNumber = topFrame.lineNumber;
233
234
  columnNumber = topFrame.columnNumber;
234
235
  scriptId = topFrame.scriptId;
@@ -236,7 +237,7 @@ export class NetworkLog extends Common.ObjectWrapper.ObjectWrapper<EventTypes> i
236
237
  }
237
238
  if (!initiator.stack && initiator.url) {
238
239
  type = SDK.NetworkRequest.InitiatorType.Script;
239
- url = initiator.url;
240
+ url = initiator.url as Platform.DevToolsPath.UrlString;
240
241
  lineNumber = initiator.lineNumber || 0;
241
242
  }
242
243
  if (initiator.stack && initiator.stack.callFrames && initiator.stack.callFrames.length) {
@@ -249,7 +250,7 @@ export class NetworkLog extends Common.ObjectWrapper.ObjectWrapper<EventTypes> i
249
250
  initiatorRequest = request.preflightInitiatorRequest();
250
251
  } else if (initiator.type === Protocol.Network.InitiatorType.SignedExchange) {
251
252
  type = SDK.NetworkRequest.InitiatorType.SignedExchange;
252
- url = initiator.url || '';
253
+ url = initiator.url as Platform.DevToolsPath.UrlString || Platform.DevToolsPath.EmptyUrlString;
253
254
  }
254
255
  }
255
256
 
@@ -547,7 +548,7 @@ export class NetworkLog extends Common.ObjectWrapper.ObjectWrapper<EventTypes> i
547
548
  if (initiator) {
548
549
  consoleMessage.stackTrace = initiator.stack || undefined;
549
550
  if (initiator.url) {
550
- consoleMessage.url = initiator.url;
551
+ consoleMessage.url = initiator.url as Platform.DevToolsPath.UrlString;
551
552
  consoleMessage.line = initiator.lineNumber || 0;
552
553
  }
553
554
  }
@@ -596,7 +597,8 @@ export interface InitiatorGraph {
596
597
 
597
598
  interface InitiatorInfo {
598
599
  type: SDK.NetworkRequest.InitiatorType;
599
- url: string;
600
+ // generally this is a url but can also contain "<anonymous>"
601
+ url: Platform.DevToolsPath.UrlString;
600
602
  lineNumber: number;
601
603
  columnNumber: number;
602
604
  scriptId: Protocol.Runtime.ScriptId|null;
@@ -323,7 +323,7 @@ export class Automapping {
323
323
  }
324
324
 
325
325
  if (networkPath.endsWith('/')) {
326
- networkPath = networkPath + 'index.html' as Platform.DevToolsPath.EncodedPathString;
326
+ networkPath = Common.ParsedURL.ParsedURL.concatenate(networkPath, 'index.html');
327
327
  }
328
328
 
329
329
  const similarFiles =
@@ -392,17 +392,17 @@ class FilePathIndex {
392
392
  this.reversedIndex = new Common.Trie.Trie();
393
393
  }
394
394
 
395
- addPath(path: string): void {
395
+ addPath(path: Platform.DevToolsPath.UrlString): void {
396
396
  const encodedPath = this.encoder.encode(path);
397
397
  this.reversedIndex.add(Platform.StringUtilities.reverse(encodedPath));
398
398
  }
399
399
 
400
- removePath(path: string): void {
400
+ removePath(path: Platform.DevToolsPath.UrlString): void {
401
401
  const encodedPath = this.encoder.encode(path);
402
402
  this.reversedIndex.remove(Platform.StringUtilities.reverse(encodedPath));
403
403
  }
404
404
 
405
- similarFiles(networkPath: string): string[] {
405
+ similarFiles(networkPath: Platform.DevToolsPath.EncodedPathString): Platform.DevToolsPath.UrlString[] {
406
406
  const encodedPath = this.encoder.encode(networkPath);
407
407
  const reversedEncodedPath = Platform.StringUtilities.reverse(encodedPath);
408
408
  const longestCommonPrefix = this.reversedIndex.longestPrefix(reversedEncodedPath, false);
@@ -410,7 +410,8 @@ class FilePathIndex {
410
410
  return [];
411
411
  }
412
412
  return this.reversedIndex.words(longestCommonPrefix)
413
- .map(encodedPath => this.encoder.decode(Platform.StringUtilities.reverse(encodedPath)));
413
+ .map(encodedPath => this.encoder.decode(Platform.StringUtilities.reverse(encodedPath))) as
414
+ Platform.DevToolsPath.UrlString[];
414
415
  }
415
416
  }
416
417
 
@@ -424,9 +425,9 @@ class FolderIndex {
424
425
  this.folderCount = new Map();
425
426
  }
426
427
 
427
- addFolder(path: string): boolean {
428
+ addFolder(path: Platform.DevToolsPath.UrlString): boolean {
428
429
  if (path.endsWith('/')) {
429
- path = path.substring(0, path.length - 1);
430
+ path = Common.ParsedURL.ParsedURL.substring(path, 0, path.length - 1);
430
431
  }
431
432
  const encodedPath = this.encoder.encode(path);
432
433
  this.index.add(encodedPath);
@@ -435,9 +436,9 @@ class FolderIndex {
435
436
  return count === 0;
436
437
  }
437
438
 
438
- removeFolder(path: string): boolean {
439
+ removeFolder(path: Platform.DevToolsPath.UrlString): boolean {
439
440
  if (path.endsWith('/')) {
440
- path = path.substring(0, path.length - 1);
441
+ path = Common.ParsedURL.ParsedURL.substring(path, 0, path.length - 1);
441
442
  }
442
443
  const encodedPath = this.encoder.encode(path);
443
444
  const count = this.folderCount.get(encodedPath) || 0;
@@ -453,22 +454,22 @@ class FolderIndex {
453
454
  return true;
454
455
  }
455
456
 
456
- closestParentFolder(path: string): string {
457
+ closestParentFolder(path: Platform.DevToolsPath.UrlString): Platform.DevToolsPath.UrlString {
457
458
  const encodedPath = this.encoder.encode(path);
458
459
  const commonPrefix = this.index.longestPrefix(encodedPath, true);
459
- return this.encoder.decode(commonPrefix);
460
+ return this.encoder.decode(commonPrefix) as Platform.DevToolsPath.UrlString;
460
461
  }
461
462
  }
462
463
 
463
464
  class FileSystemUISourceCodes {
464
- private readonly sourceCodes: Map<string, Workspace.UISourceCode.UISourceCode>;
465
+ private readonly sourceCodes: Map<Platform.DevToolsPath.UrlString, Workspace.UISourceCode.UISourceCode>;
465
466
 
466
467
  constructor() {
467
468
  this.sourceCodes = new Map();
468
469
  }
469
470
 
470
- private getPlatformCanonicalFileUrl(path: string): string {
471
- return Host.Platform.isWin() ? path.toLowerCase() : path;
471
+ private getPlatformCanonicalFileUrl(path: Platform.DevToolsPath.UrlString): Platform.DevToolsPath.UrlString {
472
+ return Host.Platform.isWin() ? Common.ParsedURL.ParsedURL.toLowerCase(path) : path;
472
473
  }
473
474
 
474
475
  add(sourceCode: Workspace.UISourceCode.UISourceCode): void {
@@ -476,12 +477,12 @@ class FileSystemUISourceCodes {
476
477
  this.sourceCodes.set(fileUrl, sourceCode);
477
478
  }
478
479
 
479
- get(fileUrl: string): Workspace.UISourceCode.UISourceCode|undefined {
480
+ get(fileUrl: Platform.DevToolsPath.UrlString): Workspace.UISourceCode.UISourceCode|undefined {
480
481
  fileUrl = this.getPlatformCanonicalFileUrl(fileUrl);
481
482
  return this.sourceCodes.get(fileUrl);
482
483
  }
483
484
 
484
- delete(fileUrl: string): void {
485
+ delete(fileUrl: Platform.DevToolsPath.UrlString): void {
485
486
  fileUrl = this.getPlatformCanonicalFileUrl(fileUrl);
486
487
  this.sourceCodes.delete(fileUrl);
487
488
  }
@@ -74,13 +74,13 @@ const UIStrings = {
74
74
  const str_ = i18n.i18n.registerUIStrings('models/persistence/EditFileSystemView.ts', UIStrings);
75
75
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
76
76
  export class EditFileSystemView extends UI.Widget.VBox implements UI.ListWidget.Delegate<string> {
77
- private readonly fileSystemPath: string;
78
- private excludedFolders: string[];
77
+ private readonly fileSystemPath: Platform.DevToolsPath.UrlString;
78
+ private excludedFolders: Platform.DevToolsPath.EncodedPathString[];
79
79
  private readonly eventListeners: Common.EventTarget.EventDescriptor[];
80
80
  private readonly excludedFoldersList: UI.ListWidget.ListWidget<string>;
81
81
  private muteUpdate?: boolean;
82
82
  private excludedFolderEditor?: UI.ListWidget.Editor<string>;
83
- constructor(fileSystemPath: string) {
83
+ constructor(fileSystemPath: Platform.DevToolsPath.UrlString) {
84
84
  super(true);
85
85
 
86
86
  this.fileSystemPath = fileSystemPath;
@@ -148,7 +148,8 @@ export class EditFileSystemView extends UI.Widget.VBox implements UI.ListWidget.
148
148
  this.getFileSystem().removeExcludedFolder(this.excludedFolders[index]);
149
149
  }
150
150
 
151
- commitEdit(item: string, editor: UI.ListWidget.Editor<string>, isNew: boolean): void {
151
+ commitEdit(item: Platform.DevToolsPath.EncodedPathString, editor: UI.ListWidget.Editor<string>, isNew: boolean):
152
+ void {
152
153
  this.muteUpdate = true;
153
154
  if (!isNew) {
154
155
  this.getFileSystem().removeExcludedFolder(item);