chrome-devtools-frontend 1.0.943182 → 1.0.944903

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 (382) hide show
  1. package/config/gni/devtools_grd_files.gni +3 -0
  2. package/front_end/core/common/ParsedURL.ts +1 -1
  3. package/front_end/core/host/InspectorFrontendHostAPI.ts +5 -5
  4. package/front_end/core/host/UserMetrics.ts +0 -1
  5. package/front_end/core/i18n/locales/af.json +455 -44
  6. package/front_end/core/i18n/locales/am.json +455 -44
  7. package/front_end/core/i18n/locales/ar.json +455 -44
  8. package/front_end/core/i18n/locales/as.json +455 -44
  9. package/front_end/core/i18n/locales/az.json +455 -44
  10. package/front_end/core/i18n/locales/be.json +456 -45
  11. package/front_end/core/i18n/locales/bg.json +455 -44
  12. package/front_end/core/i18n/locales/bn.json +455 -44
  13. package/front_end/core/i18n/locales/bs.json +455 -44
  14. package/front_end/core/i18n/locales/ca.json +457 -46
  15. package/front_end/core/i18n/locales/cs.json +458 -47
  16. package/front_end/core/i18n/locales/cy.json +455 -44
  17. package/front_end/core/i18n/locales/da.json +455 -44
  18. package/front_end/core/i18n/locales/de.json +455 -44
  19. package/front_end/core/i18n/locales/el.json +455 -44
  20. package/front_end/core/i18n/locales/en-GB.json +449 -38
  21. package/front_end/core/i18n/locales/en-US.json +10 -34
  22. package/front_end/core/i18n/locales/en-XL.json +22 -46
  23. package/front_end/core/i18n/locales/es-419.json +455 -44
  24. package/front_end/core/i18n/locales/es.json +455 -44
  25. package/front_end/core/i18n/locales/et.json +455 -44
  26. package/front_end/core/i18n/locales/eu.json +462 -51
  27. package/front_end/core/i18n/locales/fa.json +455 -44
  28. package/front_end/core/i18n/locales/fi.json +455 -44
  29. package/front_end/core/i18n/locales/fil.json +454 -43
  30. package/front_end/core/i18n/locales/fr-CA.json +455 -44
  31. package/front_end/core/i18n/locales/fr.json +456 -45
  32. package/front_end/core/i18n/locales/gl.json +455 -44
  33. package/front_end/core/i18n/locales/gu.json +456 -45
  34. package/front_end/core/i18n/locales/he.json +455 -44
  35. package/front_end/core/i18n/locales/hi.json +455 -44
  36. package/front_end/core/i18n/locales/hr.json +455 -44
  37. package/front_end/core/i18n/locales/hu.json +455 -44
  38. package/front_end/core/i18n/locales/hy.json +455 -44
  39. package/front_end/core/i18n/locales/id.json +455 -44
  40. package/front_end/core/i18n/locales/is.json +455 -44
  41. package/front_end/core/i18n/locales/it.json +502 -91
  42. package/front_end/core/i18n/locales/ja.json +456 -45
  43. package/front_end/core/i18n/locales/ka.json +455 -44
  44. package/front_end/core/i18n/locales/kk.json +456 -45
  45. package/front_end/core/i18n/locales/km.json +455 -44
  46. package/front_end/core/i18n/locales/kn.json +455 -44
  47. package/front_end/core/i18n/locales/ko.json +455 -44
  48. package/front_end/core/i18n/locales/ky.json +456 -45
  49. package/front_end/core/i18n/locales/lo.json +454 -43
  50. package/front_end/core/i18n/locales/lt.json +455 -44
  51. package/front_end/core/i18n/locales/lv.json +458 -47
  52. package/front_end/core/i18n/locales/mk.json +455 -44
  53. package/front_end/core/i18n/locales/ml.json +461 -50
  54. package/front_end/core/i18n/locales/mn.json +455 -44
  55. package/front_end/core/i18n/locales/mr.json +455 -44
  56. package/front_end/core/i18n/locales/ms.json +455 -44
  57. package/front_end/core/i18n/locales/my.json +456 -45
  58. package/front_end/core/i18n/locales/ne.json +456 -45
  59. package/front_end/core/i18n/locales/nl.json +532 -121
  60. package/front_end/core/i18n/locales/no.json +455 -44
  61. package/front_end/core/i18n/locales/or.json +455 -44
  62. package/front_end/core/i18n/locales/pa.json +455 -44
  63. package/front_end/core/i18n/locales/pl.json +455 -44
  64. package/front_end/core/i18n/locales/pt-PT.json +504 -93
  65. package/front_end/core/i18n/locales/pt.json +454 -43
  66. package/front_end/core/i18n/locales/ro.json +455 -44
  67. package/front_end/core/i18n/locales/ru.json +455 -44
  68. package/front_end/core/i18n/locales/si.json +455 -44
  69. package/front_end/core/i18n/locales/sk.json +456 -45
  70. package/front_end/core/i18n/locales/sl.json +455 -44
  71. package/front_end/core/i18n/locales/sq.json +455 -44
  72. package/front_end/core/i18n/locales/sr-Latn.json +455 -44
  73. package/front_end/core/i18n/locales/sr.json +455 -44
  74. package/front_end/core/i18n/locales/sv.json +456 -45
  75. package/front_end/core/i18n/locales/sw.json +455 -44
  76. package/front_end/core/i18n/locales/ta.json +456 -45
  77. package/front_end/core/i18n/locales/te.json +454 -43
  78. package/front_end/core/i18n/locales/th.json +455 -44
  79. package/front_end/core/i18n/locales/tr.json +455 -44
  80. package/front_end/core/i18n/locales/uk.json +455 -44
  81. package/front_end/core/i18n/locales/ur.json +455 -44
  82. package/front_end/core/i18n/locales/uz.json +455 -44
  83. package/front_end/core/i18n/locales/vi.json +455 -44
  84. package/front_end/core/i18n/locales/zh-HK.json +459 -48
  85. package/front_end/core/i18n/locales/zh-TW.json +457 -46
  86. package/front_end/core/i18n/locales/zh.json +460 -49
  87. package/front_end/core/i18n/locales/zu.json +455 -44
  88. package/front_end/core/protocol_client/InspectorBackend.ts +4 -0
  89. package/front_end/core/protocol_client/NodeURL.ts +1 -0
  90. package/front_end/core/sdk/AccessibilityModel.ts +99 -78
  91. package/front_end/core/sdk/CSSStyleDeclaration.ts +4 -0
  92. package/front_end/core/sdk/CSSStyleSheetHeader.ts +2 -3
  93. package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +2 -3
  94. package/front_end/core/sdk/Cookie.ts +17 -0
  95. package/front_end/core/sdk/CookieModel.ts +1 -0
  96. package/front_end/core/sdk/DebuggerModel.ts +5 -4
  97. package/front_end/core/sdk/NetworkManager.ts +6 -0
  98. package/front_end/core/sdk/NetworkRequest.ts +2 -2
  99. package/front_end/core/sdk/OverlayModel.ts +0 -9
  100. package/front_end/core/sdk/Resource.ts +2 -2
  101. package/front_end/core/sdk/Script.ts +2 -7
  102. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +13 -12
  103. package/front_end/core/sdk/sdk-meta.ts +0 -26
  104. package/front_end/entrypoints/inspector_main/RenderingOptions.ts +0 -13
  105. package/front_end/entrypoints/main/MainImpl.ts +2 -4
  106. package/front_end/generated/InspectorBackendCommands.js +3 -1
  107. package/front_end/generated/protocol-mapping.d.ts +1 -0
  108. package/front_end/generated/protocol-proxy-api.d.ts +2 -0
  109. package/front_end/generated/protocol.d.ts +40 -0
  110. package/front_end/models/bindings/BreakpointManager.ts +3 -4
  111. package/front_end/models/bindings/DefaultScriptMapping.ts +1 -9
  112. package/front_end/models/bindings/ResourceMapping.ts +1 -2
  113. package/front_end/models/bindings/ResourceScriptMapping.ts +3 -11
  114. package/front_end/models/bindings/StylesSourceMapping.ts +1 -2
  115. package/front_end/models/formatter/SourceFormatter.ts +0 -15
  116. package/front_end/models/persistence/IsolatedFileSystem.ts +7 -6
  117. package/front_end/models/persistence/IsolatedFileSystemManager.ts +10 -6
  118. package/front_end/models/persistence/PersistenceActions.ts +4 -1
  119. package/front_end/models/persistence/PlatformFileSystem.ts +3 -4
  120. package/front_end/models/text_utils/ContentProvider.ts +1 -2
  121. package/front_end/models/text_utils/StaticContentProvider.ts +2 -3
  122. package/front_end/models/timeline_model/TimelineJSProfile.ts +3 -16
  123. package/front_end/models/timeline_model/TimelineModel.ts +0 -1
  124. package/front_end/models/workspace/UISourceCode.ts +2 -2
  125. package/front_end/panels/animation/animationTimeline.css +2 -0
  126. package/front_end/panels/application/ApplicationPanelCacheSection.ts +1 -1
  127. package/front_end/panels/application/BackForwardCacheView.ts +26 -26
  128. package/front_end/panels/application/ReportingApiView.ts +15 -1
  129. package/front_end/panels/application/components/EndpointsGrid.ts +63 -4
  130. package/front_end/panels/application/components/FrameDetailsView.ts +21 -34
  131. package/front_end/panels/console/ConsolePinPane.ts +1 -0
  132. package/front_end/panels/console/ConsolePrompt.ts +121 -171
  133. package/front_end/panels/console/ConsoleView.ts +1 -1
  134. package/front_end/panels/console/consoleView.css +1 -1
  135. package/front_end/panels/css_overview/cssOverviewCompletedView.css +2 -2
  136. package/front_end/panels/elements/AccessibilityTreeUtils.ts +98 -67
  137. package/front_end/panels/elements/AccessibilityTreeView.ts +76 -125
  138. package/front_end/panels/elements/ElementsPanel.ts +6 -7
  139. package/front_end/panels/elements/ElementsTreeElement.ts +1 -0
  140. package/front_end/panels/elements/StyleEditorWidget.ts +13 -2
  141. package/front_end/panels/elements/StylePropertyHighlighter.ts +29 -19
  142. package/front_end/panels/elements/StylePropertyTreeElement.ts +7 -4
  143. package/front_end/panels/elements/StylesSidebarPane.ts +1 -1
  144. package/front_end/panels/elements/components/AccessibilityTreeNode.ts +27 -3
  145. package/front_end/panels/network/NetworkDataGridNode.ts +5 -1
  146. package/front_end/panels/snippets/ScriptSnippetFileSystem.ts +1 -1
  147. package/front_end/panels/sources/BreakpointEditDialog.ts +1 -0
  148. package/front_end/panels/sources/DebuggerPlugin.ts +1 -1
  149. package/front_end/panels/sources/NavigatorView.ts +1 -1
  150. package/front_end/panels/sources/Plugin.ts +0 -3
  151. package/front_end/panels/sources/UISourceCodeFrame.ts +23 -50
  152. package/front_end/panels/timeline/TimelineController.ts +0 -3
  153. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +3 -34
  154. package/front_end/panels/timeline/TimelineUIUtils.ts +51 -3
  155. package/front_end/services/window_bounds/WindowBoundsService.ts +27 -0
  156. package/front_end/services/window_bounds/window_bounds.ts +9 -0
  157. package/front_end/third_party/codemirror.next/bundle.ts +4 -3
  158. package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
  159. package/front_end/third_party/codemirror.next/codemirror.next.d.ts +39 -1
  160. package/front_end/third_party/codemirror.next/codemirror.next.js +1 -1
  161. package/front_end/third_party/codemirror.next/package.json +3 -3
  162. package/front_end/third_party/lit-html/README.chromium +2 -2
  163. package/front_end/third_party/lit-html/package/CHANGELOG.md +216 -28
  164. package/front_end/third_party/lit-html/package/LICENSE +9 -9
  165. package/front_end/third_party/lit-html/package/README.md +12 -162
  166. package/front_end/third_party/lit-html/package/async-directive.d.ts +23 -54
  167. package/front_end/third_party/lit-html/package/async-directive.d.ts.map +1 -1
  168. package/front_end/third_party/lit-html/package/async-directive.js +2 -7
  169. package/front_end/third_party/lit-html/package/async-directive.js.map +1 -1
  170. package/front_end/third_party/lit-html/package/development/async-directive.d.ts +23 -54
  171. package/front_end/third_party/lit-html/package/development/async-directive.d.ts.map +1 -1
  172. package/front_end/third_party/lit-html/package/development/async-directive.js +44 -194
  173. package/front_end/third_party/lit-html/package/development/async-directive.js.map +1 -1
  174. package/front_end/third_party/lit-html/package/development/directive-helpers.d.ts +6 -5
  175. package/front_end/third_party/lit-html/package/development/directive-helpers.d.ts.map +1 -1
  176. package/front_end/third_party/lit-html/package/development/directive-helpers.js +25 -9
  177. package/front_end/third_party/lit-html/package/development/directive-helpers.js.map +1 -1
  178. package/front_end/third_party/lit-html/package/development/directive.d.ts +3 -16
  179. package/front_end/third_party/lit-html/package/development/directive.d.ts.map +1 -1
  180. package/front_end/third_party/lit-html/package/development/directive.js +6 -1
  181. package/front_end/third_party/lit-html/package/development/directive.js.map +1 -1
  182. package/front_end/third_party/lit-html/package/development/directives/async-append.d.ts +7 -14
  183. package/front_end/third_party/lit-html/package/development/directives/async-append.d.ts.map +1 -1
  184. package/front_end/third_party/lit-html/package/development/directives/async-append.js +17 -58
  185. package/front_end/third_party/lit-html/package/development/directives/async-append.js.map +1 -1
  186. package/front_end/third_party/lit-html/package/development/directives/async-replace.d.ts +9 -14
  187. package/front_end/third_party/lit-html/package/development/directives/async-replace.d.ts.map +1 -1
  188. package/front_end/third_party/lit-html/package/development/directives/async-replace.js +57 -37
  189. package/front_end/third_party/lit-html/package/development/directives/async-replace.js.map +1 -1
  190. package/front_end/third_party/lit-html/package/development/directives/cache.d.ts +2 -3
  191. package/front_end/third_party/lit-html/package/development/directives/cache.d.ts.map +1 -1
  192. package/front_end/third_party/lit-html/package/development/directives/cache.js +4 -6
  193. package/front_end/third_party/lit-html/package/development/directives/cache.js.map +1 -1
  194. package/front_end/third_party/lit-html/package/development/directives/class-map.d.ts +2 -2
  195. package/front_end/third_party/lit-html/package/development/directives/class-map.d.ts.map +1 -1
  196. package/front_end/third_party/lit-html/package/development/directives/class-map.js +17 -7
  197. package/front_end/third_party/lit-html/package/development/directives/class-map.js.map +1 -1
  198. package/front_end/third_party/lit-html/package/development/directives/guard.d.ts +3 -2
  199. package/front_end/third_party/lit-html/package/development/directives/guard.d.ts.map +1 -1
  200. package/front_end/third_party/lit-html/package/development/directives/guard.js +3 -2
  201. package/front_end/third_party/lit-html/package/development/directives/guard.js.map +1 -1
  202. package/front_end/third_party/lit-html/package/development/directives/live.d.ts +4 -3
  203. package/front_end/third_party/lit-html/package/development/directives/live.d.ts.map +1 -1
  204. package/front_end/third_party/lit-html/package/development/directives/live.js +5 -7
  205. package/front_end/third_party/lit-html/package/development/directives/live.js.map +1 -1
  206. package/front_end/third_party/lit-html/package/development/directives/private-async-helpers.d.ts +58 -0
  207. package/front_end/third_party/lit-html/package/development/directives/private-async-helpers.d.ts.map +1 -0
  208. package/front_end/third_party/lit-html/package/development/directives/private-async-helpers.js +85 -0
  209. package/front_end/third_party/lit-html/package/development/directives/private-async-helpers.js.map +1 -0
  210. package/front_end/third_party/lit-html/package/development/directives/ref.d.ts +14 -11
  211. package/front_end/third_party/lit-html/package/development/directives/ref.d.ts.map +1 -1
  212. package/front_end/third_party/lit-html/package/development/directives/ref.js +13 -11
  213. package/front_end/third_party/lit-html/package/development/directives/ref.js.map +1 -1
  214. package/front_end/third_party/lit-html/package/development/directives/repeat.d.ts +8 -4
  215. package/front_end/third_party/lit-html/package/development/directives/repeat.d.ts.map +1 -1
  216. package/front_end/third_party/lit-html/package/development/directives/repeat.js +23 -9
  217. package/front_end/third_party/lit-html/package/development/directives/repeat.js.map +1 -1
  218. package/front_end/third_party/lit-html/package/development/directives/style-map.d.ts +1 -2
  219. package/front_end/third_party/lit-html/package/development/directives/style-map.d.ts.map +1 -1
  220. package/front_end/third_party/lit-html/package/development/directives/style-map.js +1 -2
  221. package/front_end/third_party/lit-html/package/development/directives/style-map.js.map +1 -1
  222. package/front_end/third_party/lit-html/package/development/directives/template-content.d.ts +1 -2
  223. package/front_end/third_party/lit-html/package/development/directives/template-content.js +1 -2
  224. package/front_end/third_party/lit-html/package/development/directives/unsafe-html.d.ts +6 -4
  225. package/front_end/third_party/lit-html/package/development/directives/unsafe-html.d.ts.map +1 -1
  226. package/front_end/third_party/lit-html/package/development/directives/unsafe-html.js +7 -5
  227. package/front_end/third_party/lit-html/package/development/directives/unsafe-html.js.map +1 -1
  228. package/front_end/third_party/lit-html/package/development/directives/unsafe-svg.d.ts +4 -1
  229. package/front_end/third_party/lit-html/package/development/directives/unsafe-svg.d.ts.map +1 -1
  230. package/front_end/third_party/lit-html/package/development/directives/unsafe-svg.js +3 -0
  231. package/front_end/third_party/lit-html/package/development/directives/unsafe-svg.js.map +1 -1
  232. package/front_end/third_party/lit-html/package/development/directives/until.d.ts +12 -8
  233. package/front_end/third_party/lit-html/package/development/directives/until.d.ts.map +1 -1
  234. package/front_end/third_party/lit-html/package/development/directives/until.js +63 -23
  235. package/front_end/third_party/lit-html/package/development/directives/until.js.map +1 -1
  236. package/front_end/third_party/lit-html/package/development/experimental-hydrate.d.ts.map +1 -1
  237. package/front_end/third_party/lit-html/package/development/experimental-hydrate.js +9 -8
  238. package/front_end/third_party/lit-html/package/development/experimental-hydrate.js.map +1 -1
  239. package/front_end/third_party/lit-html/package/development/lit-html.d.ts +81 -136
  240. package/front_end/third_party/lit-html/package/development/lit-html.d.ts.map +1 -1
  241. package/front_end/third_party/lit-html/package/development/lit-html.js +249 -76
  242. package/front_end/third_party/lit-html/package/development/lit-html.js.map +1 -1
  243. package/front_end/third_party/lit-html/package/development/polyfill-support.d.ts +1 -41
  244. package/front_end/third_party/lit-html/package/development/polyfill-support.d.ts.map +1 -1
  245. package/front_end/third_party/lit-html/package/development/polyfill-support.js +40 -21
  246. package/front_end/third_party/lit-html/package/development/polyfill-support.js.map +1 -1
  247. package/front_end/third_party/lit-html/package/development/private-ssr-support.d.ts +12 -10
  248. package/front_end/third_party/lit-html/package/development/private-ssr-support.d.ts.map +1 -1
  249. package/front_end/third_party/lit-html/package/development/private-ssr-support.js +11 -3
  250. package/front_end/third_party/lit-html/package/development/private-ssr-support.js.map +1 -1
  251. package/front_end/third_party/lit-html/package/development/static.d.ts.map +1 -1
  252. package/front_end/third_party/lit-html/package/development/static.js +6 -5
  253. package/front_end/third_party/lit-html/package/development/static.js.map +1 -1
  254. package/front_end/third_party/lit-html/package/directive-helpers.d.ts +6 -5
  255. package/front_end/third_party/lit-html/package/directive-helpers.d.ts.map +1 -1
  256. package/front_end/third_party/lit-html/package/directive-helpers.js +2 -2
  257. package/front_end/third_party/lit-html/package/directive-helpers.js.map +1 -1
  258. package/front_end/third_party/lit-html/package/directive.d.ts +3 -16
  259. package/front_end/third_party/lit-html/package/directive.d.ts.map +1 -1
  260. package/front_end/third_party/lit-html/package/directive.js +1 -1
  261. package/front_end/third_party/lit-html/package/directive.js.map +1 -1
  262. package/front_end/third_party/lit-html/package/directives/async-append.d.ts +7 -14
  263. package/front_end/third_party/lit-html/package/directives/async-append.d.ts.map +1 -1
  264. package/front_end/third_party/lit-html/package/directives/async-append.js +2 -6
  265. package/front_end/third_party/lit-html/package/directives/async-append.js.map +1 -1
  266. package/front_end/third_party/lit-html/package/directives/async-replace.d.ts +9 -14
  267. package/front_end/third_party/lit-html/package/directives/async-replace.d.ts.map +1 -1
  268. package/front_end/third_party/lit-html/package/directives/async-replace.js +2 -5
  269. package/front_end/third_party/lit-html/package/directives/async-replace.js.map +1 -1
  270. package/front_end/third_party/lit-html/package/directives/cache.d.ts +2 -3
  271. package/front_end/third_party/lit-html/package/directives/cache.d.ts.map +1 -1
  272. package/front_end/third_party/lit-html/package/directives/cache.js +2 -5
  273. package/front_end/third_party/lit-html/package/directives/cache.js.map +1 -1
  274. package/front_end/third_party/lit-html/package/directives/class-map.d.ts +2 -2
  275. package/front_end/third_party/lit-html/package/directives/class-map.d.ts.map +1 -1
  276. package/front_end/third_party/lit-html/package/directives/class-map.js +2 -4
  277. package/front_end/third_party/lit-html/package/directives/class-map.js.map +1 -1
  278. package/front_end/third_party/lit-html/package/directives/guard.d.ts +3 -2
  279. package/front_end/third_party/lit-html/package/directives/guard.d.ts.map +1 -1
  280. package/front_end/third_party/lit-html/package/directives/guard.js +2 -4
  281. package/front_end/third_party/lit-html/package/directives/guard.js.map +1 -1
  282. package/front_end/third_party/lit-html/package/directives/live.d.ts +4 -3
  283. package/front_end/third_party/lit-html/package/directives/live.d.ts.map +1 -1
  284. package/front_end/third_party/lit-html/package/directives/live.js +1 -4
  285. package/front_end/third_party/lit-html/package/directives/live.js.map +1 -1
  286. package/front_end/third_party/lit-html/package/directives/private-async-helpers.d.ts +58 -0
  287. package/front_end/third_party/lit-html/package/directives/private-async-helpers.d.ts.map +1 -0
  288. package/front_end/third_party/lit-html/package/directives/private-async-helpers.js +7 -0
  289. package/front_end/third_party/lit-html/package/directives/private-async-helpers.js.map +1 -0
  290. package/front_end/third_party/lit-html/package/directives/ref.d.ts +14 -11
  291. package/front_end/third_party/lit-html/package/directives/ref.d.ts.map +1 -1
  292. package/front_end/third_party/lit-html/package/directives/ref.js +2 -5
  293. package/front_end/third_party/lit-html/package/directives/ref.js.map +1 -1
  294. package/front_end/third_party/lit-html/package/directives/repeat.d.ts +8 -4
  295. package/front_end/third_party/lit-html/package/directives/repeat.d.ts.map +1 -1
  296. package/front_end/third_party/lit-html/package/directives/repeat.js +2 -5
  297. package/front_end/third_party/lit-html/package/directives/repeat.js.map +1 -1
  298. package/front_end/third_party/lit-html/package/directives/style-map.d.ts +1 -2
  299. package/front_end/third_party/lit-html/package/directives/style-map.d.ts.map +1 -1
  300. package/front_end/third_party/lit-html/package/directives/style-map.js +2 -4
  301. package/front_end/third_party/lit-html/package/directives/style-map.js.map +1 -1
  302. package/front_end/third_party/lit-html/package/directives/template-content.d.ts +1 -2
  303. package/front_end/third_party/lit-html/package/directives/template-content.js +2 -4
  304. package/front_end/third_party/lit-html/package/directives/template-content.js.map +1 -1
  305. package/front_end/third_party/lit-html/package/directives/unsafe-html.d.ts +6 -4
  306. package/front_end/third_party/lit-html/package/directives/unsafe-html.d.ts.map +1 -1
  307. package/front_end/third_party/lit-html/package/directives/unsafe-html.js +2 -4
  308. package/front_end/third_party/lit-html/package/directives/unsafe-html.js.map +1 -1
  309. package/front_end/third_party/lit-html/package/directives/unsafe-svg.d.ts +4 -1
  310. package/front_end/third_party/lit-html/package/directives/unsafe-svg.d.ts.map +1 -1
  311. package/front_end/third_party/lit-html/package/directives/unsafe-svg.js.map +1 -1
  312. package/front_end/third_party/lit-html/package/directives/until.d.ts +12 -8
  313. package/front_end/third_party/lit-html/package/directives/until.d.ts.map +1 -1
  314. package/front_end/third_party/lit-html/package/directives/until.js +2 -6
  315. package/front_end/third_party/lit-html/package/directives/until.js.map +1 -1
  316. package/front_end/third_party/lit-html/package/experimental-hydrate.d.ts.map +1 -1
  317. package/front_end/third_party/lit-html/package/experimental-hydrate.js +2 -5
  318. package/front_end/third_party/lit-html/package/experimental-hydrate.js.map +1 -1
  319. package/front_end/third_party/lit-html/package/lit-html.d.ts +81 -136
  320. package/front_end/third_party/lit-html/package/lit-html.d.ts.map +1 -1
  321. package/front_end/third_party/lit-html/package/lit-html.js +1 -1
  322. package/front_end/third_party/lit-html/package/lit-html.js.map +1 -1
  323. package/front_end/third_party/lit-html/package/package.json +75 -24
  324. package/front_end/third_party/lit-html/package/polyfill-support.d.ts +1 -41
  325. package/front_end/third_party/lit-html/package/polyfill-support.d.ts.map +1 -1
  326. package/front_end/third_party/lit-html/package/polyfill-support.js +1 -1
  327. package/front_end/third_party/lit-html/package/polyfill-support.js.map +1 -1
  328. package/front_end/third_party/lit-html/package/private-ssr-support.d.ts +12 -10
  329. package/front_end/third_party/lit-html/package/private-ssr-support.d.ts.map +1 -1
  330. package/front_end/third_party/lit-html/package/private-ssr-support.js +2 -2
  331. package/front_end/third_party/lit-html/package/private-ssr-support.js.map +1 -1
  332. package/front_end/third_party/lit-html/package/static.d.ts.map +1 -1
  333. package/front_end/third_party/lit-html/package/static.js +1 -1
  334. package/front_end/third_party/lit-html/package/static.js.map +1 -1
  335. package/front_end/third_party/marked/README.chromium +2 -2
  336. package/front_end/third_party/marked/marked.ts +2 -2
  337. package/front_end/third_party/marked/package/README.md +7 -1
  338. package/front_end/third_party/marked/package/bin/marked.js +214 -0
  339. package/front_end/third_party/marked/package/lib/marked.cjs +2907 -0
  340. package/front_end/third_party/marked/package/lib/marked.esm.d.ts +1 -3
  341. package/front_end/third_party/marked/package/lib/marked.esm.js +627 -586
  342. package/front_end/third_party/marked/package/lib/marked.umd.js +2913 -0
  343. package/front_end/third_party/marked/package/man/marked.1 +5 -24
  344. package/front_end/third_party/marked/package/man/marked.1.txt +21 -31
  345. package/front_end/third_party/marked/package/marked.min.js +1 -1
  346. package/front_end/third_party/marked/package/package.json +41 -32
  347. package/front_end/third_party/marked/package/src/Lexer.js +109 -108
  348. package/front_end/third_party/marked/package/src/Parser.js +38 -15
  349. package/front_end/third_party/marked/package/src/Renderer.js +5 -5
  350. package/front_end/third_party/marked/package/src/Slugger.js +2 -2
  351. package/front_end/third_party/marked/package/src/TextRenderer.js +2 -2
  352. package/front_end/third_party/marked/package/src/Tokenizer.js +215 -190
  353. package/front_end/third_party/marked/package/src/defaults.js +6 -9
  354. package/front_end/third_party/marked/package/src/helpers.js +16 -27
  355. package/front_end/third_party/marked/package/src/marked.js +146 -63
  356. package/front_end/third_party/marked/package/src/rules.js +20 -45
  357. package/front_end/third_party/wasmparser/README.chromium +2 -2
  358. package/front_end/third_party/wasmparser/package/.github/workflows/main.yml +47 -0
  359. package/front_end/third_party/wasmparser/package/CHANGELOG.md +12 -0
  360. package/front_end/third_party/wasmparser/package/dist/cjs/WasmParser.js +53 -53
  361. package/front_end/third_party/wasmparser/package/dist/cjs/WasmParser.js.map +1 -1
  362. package/front_end/third_party/wasmparser/package/dist/esm/WasmParser.js +53 -53
  363. package/front_end/third_party/wasmparser/package/dist/esm/WasmParser.js.map +1 -1
  364. package/front_end/third_party/wasmparser/package/package.json +1 -1
  365. package/front_end/third_party/wasmparser/package/src/WasmParser.ts +53 -53
  366. package/front_end/ui/components/text_editor/TextEditor.ts +29 -0
  367. package/front_end/ui/components/text_editor/config.ts +36 -14
  368. package/front_end/ui/components/text_editor/javascript.ts +14 -9
  369. package/front_end/ui/components/text_editor/theme.ts +29 -4
  370. package/front_end/ui/components/tree_outline/TreeOutline.ts +8 -0
  371. package/front_end/ui/legacy/Dialog.ts +8 -3
  372. package/front_end/ui/legacy/ViewManager.ts +6 -0
  373. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +20 -0
  374. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +6 -4
  375. package/front_end/ui/legacy/components/utils/Linkifier.ts +49 -79
  376. package/front_end/ui/legacy/themeColors.css +2 -0
  377. package/inspector_overlay/css_grid_label_helpers.ts +1 -1
  378. package/inspector_overlay/highlight_common.ts +1 -1
  379. package/inspector_overlay/tool_highlight.ts +1 -1
  380. package/package.json +1 -1
  381. package/scripts/eslint_rules/lib/es_modules_import.js +0 -16
  382. package/scripts/eslint_rules/tests/es_modules_import_test.js +0 -16
@@ -9,15 +9,12 @@ import * as UI from '../../ui/legacy/legacy.js';
9
9
  import * as AccessibilityTreeUtils from './AccessibilityTreeUtils.js';
10
10
  import {ElementsPanel} from './ElementsPanel.js';
11
11
 
12
- export class AccessibilityTreeView extends UI.Widget.VBox {
13
- private readonly accessibilityTreeComponent =
14
- new TreeOutline.TreeOutline.TreeOutline<AccessibilityTreeUtils.AXTreeNodeData>();
15
- private treeData: AccessibilityTreeUtils.AXTreeNode[] = [];
12
+ export class AccessibilityTreeView extends UI.Widget.VBox implements
13
+ SDK.TargetManager.SDKModelObserver<SDK.AccessibilityModel.AccessibilityModel> {
14
+ private accessibilityTreeComponent = new TreeOutline.TreeOutline.TreeOutline<AccessibilityTreeUtils.AXTreeNodeData>();
16
15
  private readonly toggleButton: HTMLButtonElement;
17
- private accessibilityModel: SDK.AccessibilityModel.AccessibilityModel|null = null;
18
- private rootAXNode: SDK.AccessibilityModel.AccessibilityNode|null = null;
19
- private selectedTreeNode: AccessibilityTreeUtils.AXTreeNode|null = null;
20
16
  private inspectedDOMNode: SDK.DOMModel.DOMNode|null = null;
17
+ private root: SDK.AccessibilityModel.AccessibilityNode|null = null;
21
18
 
22
19
  constructor(toggleButton: HTMLButtonElement) {
23
20
  super();
@@ -27,6 +24,8 @@ export class AccessibilityTreeView extends UI.Widget.VBox {
27
24
  this.contentElement.appendChild(this.toggleButton);
28
25
  this.contentElement.appendChild(this.accessibilityTreeComponent);
29
26
 
27
+ SDK.TargetManager.TargetManager.instance().observeModels(SDK.AccessibilityModel.AccessibilityModel, this);
28
+
30
29
  // The DOM tree and accessibility are kept in sync as much as possible, so
31
30
  // on node selection, update the currently inspected node and reveal in the
32
31
  // DOM tree.
@@ -57,153 +56,105 @@ export class AccessibilityTreeView extends UI.Widget.VBox {
57
56
  });
58
57
  }
59
58
 
60
- wasShown(): void {
59
+ async wasShown(): Promise<void> {
60
+ await this.refreshAccessibilityTree();
61
61
  if (this.inspectedDOMNode) {
62
- this.loadSubTreeIntoAccessibilityModel(this.inspectedDOMNode);
63
- } else {
64
- this.accessibilityTreeComponent.expandRecursively(1);
65
- }
66
- }
67
-
68
- setAccessibilityModel(model: SDK.AccessibilityModel.AccessibilityModel|null): void {
69
- this.accessibilityModel = model;
70
- }
71
-
72
- wireToDOMModel(domModel: SDK.DOMModel.DOMModel): void {
73
- if (!domModel.parentModel()) {
74
- this.setAccessibilityModel(domModel.target().model(SDK.AccessibilityModel.AccessibilityModel));
62
+ await this.loadSubTreeIntoAccessibilityModel(this.inspectedDOMNode);
75
63
  }
76
- domModel.addEventListener(SDK.DOMModel.Events.NodeInserted, this.domUpdated, this);
77
- domModel.addEventListener(SDK.DOMModel.Events.NodeRemoved, this.domUpdatedNode, this);
78
- domModel.addEventListener(SDK.DOMModel.Events.AttrModified, this.domUpdatedNode, this);
79
- domModel.addEventListener(SDK.DOMModel.Events.AttrRemoved, this.domUpdatedNode, this);
80
- domModel.addEventListener(SDK.DOMModel.Events.CharacterDataModified, this.domUpdated, this);
81
- domModel.addEventListener(SDK.DOMModel.Events.ChildNodeCountUpdated, this.domUpdated, this);
82
- domModel.addEventListener(SDK.DOMModel.Events.DistributedNodesChanged, this.domUpdated, this);
83
- domModel.addEventListener(SDK.DOMModel.Events.DocumentUpdated, this.documentUpdated, this);
84
- }
85
-
86
- unwireFromDOMModel(domModel: SDK.DOMModel.DOMModel): void {
87
- domModel.removeEventListener(SDK.DOMModel.Events.NodeInserted, this.domUpdated, this);
88
- domModel.removeEventListener(SDK.DOMModel.Events.NodeRemoved, this.domUpdatedNode, this);
89
- domModel.removeEventListener(SDK.DOMModel.Events.AttrModified, this.domUpdatedNode, this);
90
- domModel.removeEventListener(SDK.DOMModel.Events.AttrRemoved, this.domUpdatedNode, this);
91
- domModel.removeEventListener(SDK.DOMModel.Events.CharacterDataModified, this.domUpdated, this);
92
- domModel.removeEventListener(SDK.DOMModel.Events.ChildNodeCountUpdated, this.domUpdated, this);
93
- domModel.removeEventListener(SDK.DOMModel.Events.DistributedNodesChanged, this.domUpdated, this);
94
- domModel.removeEventListener(SDK.DOMModel.Events.DocumentUpdated, this.documentUpdated, this);
95
64
  }
96
65
 
97
- domUpdatedNode(event: Common.EventTarget.EventTargetEvent<{node: SDK.DOMModel.DOMNode}>): void {
98
- this.update(event.data.node);
99
- }
100
-
101
- domUpdated(event: Common.EventTarget.EventTargetEvent<SDK.DOMModel.DOMNode>): void {
102
- this.update(event.data);
103
- }
104
-
105
- async update(node: SDK.DOMModel.DOMNode): Promise<void> {
106
- const axModel = node.domModel().target().model(SDK.AccessibilityModel.AccessibilityModel);
107
- await axModel?.updateSubtreeAndAncestors(node.backendNodeId());
108
- this.renderTree();
109
- }
110
-
111
- documentUpdated(event: Common.EventTarget.EventTargetEvent<SDK.DOMModel.DOMModel>): void {
112
- const domModel = event.data;
113
- const axModel = domModel.target().model(SDK.AccessibilityModel.AccessibilityModel);
114
- if (domModel.existingDocument() && !domModel.parentModel() && axModel) {
115
- this.refreshAccessibilityTree(axModel);
66
+ async refreshAccessibilityTree(): Promise<void> {
67
+ if (!this.root) {
68
+ const frameId = SDK.FrameManager.FrameManager.instance().getTopFrame()?.id;
69
+ if (!frameId) {
70
+ throw Error('No top frame');
71
+ }
72
+ this.root = await AccessibilityTreeUtils.getRootNode(frameId);
73
+ if (!this.root) {
74
+ throw Error('No root');
75
+ }
116
76
  }
77
+ await this.renderTree();
78
+ await this.accessibilityTreeComponent.expandRecursively(1);
117
79
  }
118
80
 
119
- renderTree(): void {
120
- if (!this.rootAXNode) {
121
- this.treeData = [];
122
- } else {
123
- this.treeData = [AccessibilityTreeUtils.sdkNodeToAXTreeNode(this.rootAXNode)];
81
+ async renderTree(): Promise<void> {
82
+ if (!this.root) {
83
+ return;
124
84
  }
125
-
85
+ const treeData = await AccessibilityTreeUtils.sdkNodeToAXTreeNodes(this.root);
126
86
  this.accessibilityTreeComponent.data = {
127
87
  defaultRenderer: AccessibilityTreeUtils.accessibilityNodeRenderer,
128
- tree: this.treeData,
88
+ tree: treeData,
89
+ filter: (node): TreeOutline.TreeOutline.FilterOption => {
90
+ return node.ignored() || (node.role()?.value === 'generic' && !node.name()?.value) ?
91
+ TreeOutline.TreeOutline.FilterOption.FLATTEN :
92
+ TreeOutline.TreeOutline.FilterOption.SHOW;
93
+ },
129
94
  };
130
-
131
- const axModel = this.inspectedDOMNode?.domModel().target().model(SDK.AccessibilityModel.AccessibilityModel);
132
- const inspectedAXNode = axModel?.axNodeForDOMNode(this.inspectedDOMNode);
133
- if (inspectedAXNode) {
134
- this.selectedTreeNode = AccessibilityTreeUtils.sdkNodeToAXTreeNode(inspectedAXNode);
135
- this.accessibilityTreeComponent.expandToAndSelectTreeNode(this.selectedTreeNode);
136
- } else {
137
- this.accessibilityTreeComponent.expandRecursively(1);
138
- }
139
- }
140
-
141
- async refreshAccessibilityTree(accessibilityModel: SDK.AccessibilityModel.AccessibilityModel): Promise<void> {
142
- // We always expand the root node so we might as well fetch one level of children immediately.
143
- const root = await accessibilityModel.requestRootNode(1);
144
- if (!root) {
145
- return;
146
- }
147
-
148
- this.rootAXNode = root;
149
- this.inspectedDOMNode = null;
150
- this.renderTree();
151
95
  }
152
96
 
153
97
  // Given a selected DOM node, asks the model to load the missing subtree from the root to the
154
98
  // selected node and then re-renders the tree.
155
99
  async loadSubTreeIntoAccessibilityModel(selectedNode: SDK.DOMModel.DOMNode): Promise<void> {
156
- if (!this.accessibilityModel) {
157
- return;
158
- }
159
-
160
- // If this node has been loaded previously, the accessibility tree will return it's cached node.
161
- // Eventually we'll need some mechanism for forcing it to fetch a new node when we are subscribing
162
- // for updates, but TBD later.
163
- // EG for a backend tree like:
164
- //
165
- // A*
166
- // B
167
- // C
168
- // D
169
- // E
170
- // Where only A is already loaded into the model, calling requestAndLoadSubTreeToNode(C) will
171
- // load [A, B, D, C] into the model, and return C.
172
- const inspectedAXNode = await this.accessibilityModel.requestAndLoadSubTreeToNode(selectedNode);
100
+ const ancestors = await AccessibilityTreeUtils.getNodeAndAncestorsFromDOMNode(selectedNode);
101
+ const inspectedAXNode = ancestors.find(node => node.backendDOMNodeId() === selectedNode.backendNodeId());
173
102
  if (!inspectedAXNode) {
174
103
  return;
175
104
  }
105
+ await this.accessibilityTreeComponent.expandNodeIds(ancestors.map(node => node.getFrameId() + '#' + node.id()));
106
+ await this.accessibilityTreeComponent.focusNodeId(AccessibilityTreeUtils.getNodeId(inspectedAXNode));
107
+ }
176
108
 
177
- this.accessibilityTreeComponent.data = {
178
- defaultRenderer: AccessibilityTreeUtils.accessibilityNodeRenderer,
179
- tree: this.treeData,
180
- };
181
-
182
- // These nodes require a special case, as they don't have an unignored node in the
183
- // accessibility tree. Someone inspecting these in the DOM is probably expecting to
184
- // be focused on the root WebArea of the accessibility tree.
185
- // TODO(meredithl): Fix for when the inspected node is ingored in the accessibility
186
- // tree. Eg, inspecting <head> in the DOM tree.
187
- if (selectedNode.nodeName() === 'BODY' || selectedNode.nodeName() === 'HTML') {
188
- this.accessibilityTreeComponent.expandToAndSelectTreeNode(this.treeData[0]);
189
- this.selectedTreeNode = this.treeData[0];
109
+ // A node was revealed through the elements picker.
110
+ async revealAndSelectNode(inspectedNode: SDK.DOMModel.DOMNode): Promise<void> {
111
+ if (inspectedNode === this.inspectedDOMNode) {
190
112
  return;
191
113
  }
192
-
193
- this.selectedTreeNode = AccessibilityTreeUtils.sdkNodeToAXTreeNode(inspectedAXNode);
194
- this.accessibilityTreeComponent.expandToAndSelectTreeNode(this.selectedTreeNode);
114
+ this.inspectedDOMNode = inspectedNode;
115
+ // We only want to load nodes into the model when the AccessibilityTree is visible.
116
+ if (this.isShowing()) {
117
+ await this.loadSubTreeIntoAccessibilityModel(inspectedNode);
118
+ }
195
119
  }
196
120
 
197
- // Selected node in the DOM has changed, and the corresponding accessibility node may be
198
- // unloaded.
121
+ // Selected node in the DOM tree has changed.
199
122
  async selectedNodeChanged(inspectedNode: SDK.DOMModel.DOMNode): Promise<void> {
123
+ if (this.isShowing()) {
124
+ return;
125
+ }
126
+ if (inspectedNode.ownerDocument && (inspectedNode.nodeName() === 'HTML' || inspectedNode.nodeName() === 'BODY')) {
127
+ inspectedNode = inspectedNode.ownerDocument;
128
+ }
200
129
  if (inspectedNode === this.inspectedDOMNode) {
201
130
  return;
202
131
  }
203
132
  this.inspectedDOMNode = inspectedNode;
204
- // We only want to load nodes into the model when the AccessibilityTree is visible.
205
- if (this.isShowing()) {
206
- await this.loadSubTreeIntoAccessibilityModel(inspectedNode);
133
+ }
134
+
135
+ treeUpdated({data}: Common.EventTarget
136
+ .EventTargetEvent<SDK.AccessibilityModel.EventTypes[SDK.AccessibilityModel.Events.TreeUpdated]>):
137
+ void {
138
+ if (!data.root) {
139
+ this.renderTree();
140
+ return;
207
141
  }
142
+ const topFrameId = SDK.FrameManager.FrameManager.instance().getTopFrame()?.id;
143
+ if (data.root?.getFrameId() !== topFrameId) {
144
+ this.renderTree();
145
+ return;
146
+ }
147
+ this.root = data.root;
148
+ this.accessibilityTreeComponent.collapseAllNodes();
149
+
150
+ this.refreshAccessibilityTree();
151
+ }
152
+
153
+ modelAdded(model: SDK.AccessibilityModel.AccessibilityModel): void {
154
+ model.addEventListener(SDK.AccessibilityModel.Events.TreeUpdated, this.treeUpdated, this);
155
+ }
156
+
157
+ modelRemoved(model: SDK.AccessibilityModel.AccessibilityModel): void {
158
+ model.removeEventListener(SDK.AccessibilityModel.Events.TreeUpdated, this.treeUpdated, this);
208
159
  }
209
160
  }
@@ -328,11 +328,6 @@ export class ElementsPanel extends UI.Panel.Panel implements UI.SearchableView.S
328
328
  modelAdded(domModel: SDK.DOMModel.DOMModel): void {
329
329
  const parentModel = domModel.parentModel();
330
330
 
331
- // Different frames will have different DOMModels, we only want to add the accessibility model
332
- // for the top level frame, as the accessibility tree does not yet support exploring IFrames.
333
- if (this.accessibilityTreeView) {
334
- this.accessibilityTreeView.wireToDOMModel(domModel);
335
- }
336
331
  let treeOutline: ElementsTreeOutline|null = parentModel ? ElementsTreeOutline.forDOMModel(parentModel) : null;
337
332
  if (!treeOutline) {
338
333
  treeOutline = new ElementsTreeOutline(true, true);
@@ -507,6 +502,10 @@ export class ElementsPanel extends UI.Panel.Panel implements UI.SearchableView.S
507
502
  crumbs,
508
503
  selectedNode: ElementsComponents.Helper.legacyNodeToElementsComponentsNode(selectedNode),
509
504
  };
505
+
506
+ if (this.accessibilityTreeView) {
507
+ this.accessibilityTreeView.selectedNodeChanged(selectedNode);
508
+ }
510
509
  } else {
511
510
  this.breadcrumbs.data = {crumbs: [], selectedNode: null};
512
511
  }
@@ -837,7 +836,7 @@ export class ElementsPanel extends UI.Panel.Panel implements UI.SearchableView.S
837
836
  if (!treeOutline) {
838
837
  return null;
839
838
  }
840
- return /** @type {?ElementsTreeElement} */ treeOutline.findTreeElement(node) as ElementsTreeElement | null;
839
+ return treeOutline.findTreeElement(node);
841
840
  }
842
841
 
843
842
  private leaveUserAgentShadowDOM(node: SDK.DOMModel.DOMNode): SDK.DOMModel.DOMNode {
@@ -859,7 +858,7 @@ export class ElementsPanel extends UI.Panel.Panel implements UI.SearchableView.S
859
858
  }
860
859
 
861
860
  if (this.accessibilityTreeView) {
862
- this.accessibilityTreeView.selectedNodeChanged(node);
861
+ this.accessibilityTreeView.revealAndSelectNode(node);
863
862
  }
864
863
 
865
864
  await UI.ViewManager.ViewManager.instance().showView('elements', false, !focus);
@@ -1044,6 +1044,7 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
1044
1044
  },
1045
1045
  ]),
1046
1046
  TextEditor.Config.baseConfiguration(initialValue),
1047
+ TextEditor.Config.closeBrackets,
1047
1048
  TextEditor.Config.autocompletion,
1048
1049
  CodeMirror.html.html(),
1049
1050
  TextEditor.Config.domWordWrap.instance(),
@@ -30,6 +30,8 @@ export class StyleEditorWidget extends UI.Widget.VBox {
30
30
  private section?: StylePropertiesSection;
31
31
  private editorContainer: HTMLElement;
32
32
 
33
+ #propertyIndex = -1;
34
+
33
35
  constructor() {
34
36
  super(true);
35
37
  this.contentElement.tabIndex = 0;
@@ -71,6 +73,14 @@ export class StyleEditorWidget extends UI.Widget.VBox {
71
73
  this.editor?.addEventListener('propertydeselected', this.onPropertyDeselected);
72
74
  }
73
75
 
76
+ setPropertyIndex(value: number): void {
77
+ this.#propertyIndex = value;
78
+ }
79
+
80
+ getPropertyIndex(): number {
81
+ return this.#propertyIndex;
82
+ }
83
+
74
84
  unbindContext(): void {
75
85
  this.pane = undefined;
76
86
  this.section = undefined;
@@ -105,8 +115,8 @@ export class StyleEditorWidget extends UI.Widget.VBox {
105
115
  }
106
116
 
107
117
  static createTriggerButton(
108
- pane: StylesSidebarPane, section: StylePropertiesSection, editorClass: {new(): Editor},
109
- buttonTitle: string): HTMLElement {
118
+ pane: StylesSidebarPane, section: StylePropertiesSection, editorClass: {new(): Editor}, buttonTitle: string,
119
+ propertyIndex: number): HTMLElement {
110
120
  const triggerButton = createButton(buttonTitle);
111
121
 
112
122
  triggerButton.onclick = async(event): Promise<void> => {
@@ -115,6 +125,7 @@ export class StyleEditorWidget extends UI.Widget.VBox {
115
125
  const widget = StyleEditorWidget.instance();
116
126
  widget.setEditor(editorClass);
117
127
  widget.bindContext(pane, section);
128
+ widget.setPropertyIndex(propertyIndex);
118
129
  await widget.render();
119
130
  const scrollerElement = triggerButton.enclosingNodeOrSelfWithClass('style-panes-wrapper');
120
131
  const onScroll = (): void => {
@@ -39,12 +39,19 @@ export class StylePropertyHighlighter {
39
39
  * Find the first non-overridden property that matches the provided name, scroll to it and highlight it.
40
40
  */
41
41
  findAndHighlightPropertyName(propertyName: string): void {
42
- const {treeElement, section} = this.findTreeElementAndSection(
43
- treeElement => treeElement.property.name === propertyName && !treeElement.overloaded());
44
- if (treeElement) {
45
- this.scrollAndHighlightTreeElement(treeElement);
46
- if (section) {
47
- section.element.focus();
42
+ for (const section of this.styleSidebarPane.allSections()) {
43
+ if (!section.style().hasActiveProperty(propertyName)) {
44
+ continue;
45
+ }
46
+ section.showAllItems();
47
+ const treeElement = this.findTreeElementFromSection(
48
+ treeElement => treeElement.property.name === propertyName && !treeElement.overloaded(), section);
49
+ if (treeElement) {
50
+ this.scrollAndHighlightTreeElement(treeElement);
51
+ if (section) {
52
+ section.element.focus();
53
+ }
54
+ return;
48
55
  }
49
56
  }
50
57
  }
@@ -57,23 +64,26 @@ export class StylePropertyHighlighter {
57
64
  treeElement: StylePropertyTreeElement|null,
58
65
  section: StylePropertiesSection|null,
59
66
  } {
60
- let result: StylePropertyTreeElement|null = null;
61
- let containingSection: StylePropertiesSection|null = null;
62
67
  for (const section of this.styleSidebarPane.allSections()) {
63
- let treeElement = section.propertiesTreeOutline.firstChild();
64
- while (treeElement && !result && (treeElement instanceof StylePropertyTreeElement)) {
65
- if (compareCb(treeElement)) {
66
- result = treeElement;
67
- break;
68
- }
69
- treeElement = treeElement.traverseNextTreeElement(false, null, true);
68
+ const treeElement = this.findTreeElementFromSection(compareCb, section);
69
+ if (treeElement) {
70
+ return {treeElement, section};
70
71
  }
71
- if (result) {
72
- containingSection = section;
73
- break;
72
+ }
73
+ return {treeElement: null, section: null};
74
+ }
75
+
76
+ private findTreeElementFromSection(
77
+ compareCb: (arg0: StylePropertyTreeElement) => boolean, section: StylePropertiesSection): StylePropertyTreeElement
78
+ |null {
79
+ let treeElement = section.propertiesTreeOutline.firstChild();
80
+ while (treeElement && (treeElement instanceof StylePropertyTreeElement)) {
81
+ if (compareCb(treeElement)) {
82
+ return treeElement;
74
83
  }
84
+ treeElement = treeElement.traverseNextTreeElement(false, null, true);
75
85
  }
76
- return {treeElement: result, section: containingSection};
86
+ return null;
77
87
  }
78
88
 
79
89
  private scrollAndHighlightTreeElement(treeElement: StylePropertyTreeElement): void {
@@ -670,19 +670,22 @@ export class StylePropertyTreeElement extends UI.TreeOutline.TreeElement {
670
670
  const propertyValue = this.property.trimmedValueWithoutImportant();
671
671
  if (propertyValue === 'flex' || propertyValue === 'inline-flex') {
672
672
  const button = StyleEditorWidget.createTriggerButton(
673
- this.parentPaneInternal, section, FlexboxEditor, i18nString(UIStrings.flexboxEditorButton));
673
+ this.parentPaneInternal, section, FlexboxEditor, i18nString(UIStrings.flexboxEditorButton),
674
+ this.property.index);
674
675
  this.listItemElement.appendChild(button);
675
676
  const helper = this.parentPaneInternal.swatchPopoverHelper();
676
- if (helper.isShowing(StyleEditorWidget.instance())) {
677
+ if (helper.isShowing(StyleEditorWidget.instance()) &&
678
+ this.property.index === StyleEditorWidget.instance().getPropertyIndex()) {
677
679
  helper.setAnchorElement(button);
678
680
  }
679
681
  }
680
682
  if (propertyValue === 'grid' || propertyValue === 'inline-grid') {
681
683
  const button = StyleEditorWidget.createTriggerButton(
682
- this.parentPaneInternal, section, GridEditor, i18nString(UIStrings.gridEditorButton));
684
+ this.parentPaneInternal, section, GridEditor, i18nString(UIStrings.gridEditorButton), this.property.index);
683
685
  this.listItemElement.appendChild(button);
684
686
  const helper = this.parentPaneInternal.swatchPopoverHelper();
685
- if (helper.isShowing(StyleEditorWidget.instance())) {
687
+ if (helper.isShowing(StyleEditorWidget.instance()) &&
688
+ this.property.index === StyleEditorWidget.instance().getPropertyIndex()) {
686
689
  helper.setAnchorElement(button);
687
690
  }
688
691
  }
@@ -1922,7 +1922,7 @@ export class StylePropertiesSection {
1922
1922
  }
1923
1923
  }
1924
1924
 
1925
- private showAllItems(event?: Event): void {
1925
+ showAllItems(event?: Event): void {
1926
1926
  if (event) {
1927
1927
  event.consume();
1928
1928
  }
@@ -4,6 +4,7 @@
4
4
 
5
5
  import * as i18n from '../../../core/i18n/i18n.js';
6
6
  import * as Platform from '../../../core/platform/platform.js';
7
+ import * as Protocol from '../../../generated/protocol.js';
7
8
 
8
9
  import * as ComponentHelpers from '../../../ui/components/helpers/helpers.js';
9
10
  import * as Coordinator from '../../../ui/components/render_coordinator/render_coordinator.js';
@@ -31,10 +32,23 @@ function truncateTextIfNeeded(text: string): string {
31
32
  return text;
32
33
  }
33
34
 
35
+ function isPrintable(valueType: Protocol.Accessibility.AXValueType): boolean {
36
+ switch (valueType) {
37
+ case Protocol.Accessibility.AXValueType.Boolean:
38
+ case Protocol.Accessibility.AXValueType.BooleanOrUndefined:
39
+ case Protocol.Accessibility.AXValueType.String:
40
+ case Protocol.Accessibility.AXValueType.Number:
41
+ return true;
42
+ default:
43
+ return false;
44
+ }
45
+ }
46
+
34
47
  export interface AccessibilityTreeNodeData {
35
48
  ignored: boolean;
36
49
  name: string;
37
50
  role: string;
51
+ properties: Protocol.Accessibility.AXProperty[];
38
52
  }
39
53
 
40
54
  export class AccessibilityTreeNode extends HTMLElement {
@@ -44,11 +58,13 @@ export class AccessibilityTreeNode extends HTMLElement {
44
58
  private ignored = true;
45
59
  private name = '';
46
60
  private role = '';
61
+ private properties: Protocol.Accessibility.AXProperty[] = [];
47
62
 
48
63
  set data(data: AccessibilityTreeNodeData) {
49
64
  this.ignored = data.ignored;
50
65
  this.name = data.name;
51
66
  this.role = data.role;
67
+ this.properties = data.properties;
52
68
  this.render();
53
69
  }
54
70
 
@@ -57,12 +73,20 @@ export class AccessibilityTreeNode extends HTMLElement {
57
73
  }
58
74
 
59
75
  private async render(): Promise<void> {
76
+ const role = LitHtml.html`<span class='role-value'>${truncateTextIfNeeded(this.role)}</span>`;
77
+ const name = LitHtml.html`"<span class='attribute-value'>${this.name}</span>"`;
78
+ const properties = this.properties.map(
79
+ ({name, value}) => isPrintable(value.type) ?
80
+ LitHtml.html`&nbsp<span class='attribute-name'>${name}</span>:&nbsp<span class='attribute-value'>${
81
+ value.value}</span>` :
82
+ LitHtml.nothing);
83
+
60
84
  await Coordinator.RenderCoordinator.RenderCoordinator.instance().write('Accessibility node render', () => {
61
85
  // clang-format off
62
86
  LitHtml.render(
63
- LitHtml.html`${this.ignored?
64
- LitHtml.html`<span>${i18nString(UIStrings.ignored)}</span>`:
65
- LitHtml.html`<span class='role-value'>${truncateTextIfNeeded(this.role)}</span>&nbsp"<span class='attribute-value'>${this.name}</span>"`}`,
87
+ this.ignored ?
88
+ LitHtml.html`<span>${i18nString(UIStrings.ignored)}</span>` :
89
+ LitHtml.html`${role}&nbsp${name}${properties}`,
66
90
  this.shadow,
67
91
  {host: this});
68
92
  // clang-format on
@@ -246,6 +246,7 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
246
246
  // TODO(crbug.com/1167717): Make this a const enum again
247
247
  // eslint-disable-next-line rulesdir/const_enum
248
248
  export enum Events {
249
+ // RequestSelected might fire twice for the same "activation"
249
250
  RequestSelected = 'RequestSelected',
250
251
  RequestActivated = 'RequestActivated',
251
252
  }
@@ -1007,7 +1008,10 @@ export class NetworkRequestNode extends NetworkNode {
1007
1008
  cell.style.setProperty('padding-left', leftPadding);
1008
1009
  this.nameCell = cell;
1009
1010
  cell.addEventListener('dblclick', this.openInNewTab.bind(this), false);
1010
- cell.addEventListener('click', () => {
1011
+ cell.addEventListener('mousedown', () => {
1012
+ // When the request panel isn't visible yet, firing the RequestActivated event
1013
+ // doesn't make it visible if no request is selected. So we'll select it first.
1014
+ this.select();
1011
1015
  this.parentView().dispatchEventToListeners(Events.RequestActivated, {showPanel: true});
1012
1016
  });
1013
1017
  let iconElement;
@@ -41,7 +41,7 @@ export class SnippetFileSystem extends Persistence.PlatformFileSystem.PlatformFi
41
41
  private readonly snippetsSetting: Common.Settings.Setting<Snippet[]>;
42
42
  constructor() {
43
43
  // TODO(crbug.com/1253323): Cast to UrlString will be removed when migration to branded types is complete.
44
- super('snippet://' as Platform.DevToolsPath.UrlString, 'snippets');
44
+ super('snippet://', 'snippets');
45
45
  this.lastSnippetIdentifierSetting =
46
46
  Common.Settings.Settings.instance().createSetting('scriptSnippets_lastIdentifier', 0);
47
47
  this.snippetsSetting = Common.Settings.Settings.instance().createSetting('scriptSnippets', []);
@@ -71,6 +71,7 @@ export class BreakpointEditDialog extends UI.Widget.Widget {
71
71
  const editorConfig = [
72
72
  CodeMirror.javascript.javascriptLanguage,
73
73
  TextEditor.Config.baseConfiguration(oldCondition || ''),
74
+ TextEditor.Config.closeBrackets,
74
75
  TextEditor.Config.autocompletion,
75
76
  CodeMirror.EditorView.lineWrapping,
76
77
  TextEditor.Config.showCompletionHint,
@@ -702,8 +702,8 @@ export class DebuggerPlugin extends Plugin {
702
702
  if (this.popoverHelper.isPopoverVisible()) {
703
703
  this.popoverHelper.hidePopover();
704
704
  event.consume();
705
+ return true;
705
706
  }
706
- return true;
707
707
  }
708
708
  if (ctrlDown && this.executionLocation) {
709
709
  this.setControlDown(true);
@@ -851,7 +851,7 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
851
851
  // TODO(crbug.com/1253323): Cast to RawPathString will be removed when migration to branded types is complete.
852
852
  const folderPath = Common.ParsedURL.ParsedURL.capFilePrefix(
853
853
  Persistence.FileSystemWorkspaceBinding.FileSystemWorkspaceBinding.completeURL(project, path) as
854
- Platform.DevToolsPath.RawPathString,
854
+ Platform.DevToolsPath.UrlString,
855
855
  Host.Platform.isWin());
856
856
  contextMenu.revealSection().appendItem(
857
857
  i18nString(UIStrings.openFolder),
@@ -18,9 +18,6 @@ export class Plugin {
18
18
  return false;
19
19
  }
20
20
 
21
- wasShown(): void {
22
- }
23
-
24
21
  willHide(): void {
25
22
  }
26
23