chrome-devtools-frontend 1.0.1030946 → 1.0.1032245

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 (319) hide show
  1. package/config/gni/devtools_grd_files.gni +5 -0
  2. package/front_end/core/host/UserMetrics.ts +2 -1
  3. package/front_end/core/i18n/locales/af.json +301 -31
  4. package/front_end/core/i18n/locales/am.json +307 -37
  5. package/front_end/core/i18n/locales/ar.json +299 -29
  6. package/front_end/core/i18n/locales/as.json +294 -24
  7. package/front_end/core/i18n/locales/az.json +302 -32
  8. package/front_end/core/i18n/locales/be.json +303 -33
  9. package/front_end/core/i18n/locales/bg.json +296 -26
  10. package/front_end/core/i18n/locales/bn.json +294 -24
  11. package/front_end/core/i18n/locales/bs.json +298 -28
  12. package/front_end/core/i18n/locales/ca.json +302 -32
  13. package/front_end/core/i18n/locales/cs.json +295 -25
  14. package/front_end/core/i18n/locales/cy.json +294 -24
  15. package/front_end/core/i18n/locales/da.json +299 -29
  16. package/front_end/core/i18n/locales/de.json +301 -31
  17. package/front_end/core/i18n/locales/el.json +301 -31
  18. package/front_end/core/i18n/locales/en-GB.json +294 -24
  19. package/front_end/core/i18n/locales/en-US.json +22 -7
  20. package/front_end/core/i18n/locales/en-XL.json +22 -7
  21. package/front_end/core/i18n/locales/es-419.json +298 -28
  22. package/front_end/core/i18n/locales/es.json +306 -36
  23. package/front_end/core/i18n/locales/et.json +299 -29
  24. package/front_end/core/i18n/locales/eu.json +301 -31
  25. package/front_end/core/i18n/locales/fa.json +301 -31
  26. package/front_end/core/i18n/locales/fi.json +295 -25
  27. package/front_end/core/i18n/locales/fil.json +295 -25
  28. package/front_end/core/i18n/locales/fr-CA.json +296 -26
  29. package/front_end/core/i18n/locales/fr.json +296 -26
  30. package/front_end/core/i18n/locales/gl.json +296 -26
  31. package/front_end/core/i18n/locales/gu.json +295 -25
  32. package/front_end/core/i18n/locales/he.json +300 -30
  33. package/front_end/core/i18n/locales/hi.json +306 -36
  34. package/front_end/core/i18n/locales/hr.json +298 -28
  35. package/front_end/core/i18n/locales/hu.json +301 -31
  36. package/front_end/core/i18n/locales/hy.json +296 -26
  37. package/front_end/core/i18n/locales/id.json +295 -25
  38. package/front_end/core/i18n/locales/is.json +294 -24
  39. package/front_end/core/i18n/locales/it.json +298 -28
  40. package/front_end/core/i18n/locales/ja.json +300 -30
  41. package/front_end/core/i18n/locales/ka.json +294 -24
  42. package/front_end/core/i18n/locales/kk.json +305 -35
  43. package/front_end/core/i18n/locales/km.json +300 -30
  44. package/front_end/core/i18n/locales/kn.json +302 -32
  45. package/front_end/core/i18n/locales/ko.json +297 -27
  46. package/front_end/core/i18n/locales/ky.json +297 -27
  47. package/front_end/core/i18n/locales/lo.json +297 -27
  48. package/front_end/core/i18n/locales/lt.json +295 -25
  49. package/front_end/core/i18n/locales/lv.json +301 -31
  50. package/front_end/core/i18n/locales/mk.json +294 -24
  51. package/front_end/core/i18n/locales/ml.json +297 -27
  52. package/front_end/core/i18n/locales/mn.json +296 -26
  53. package/front_end/core/i18n/locales/mr.json +298 -28
  54. package/front_end/core/i18n/locales/ms.json +296 -26
  55. package/front_end/core/i18n/locales/my.json +301 -31
  56. package/front_end/core/i18n/locales/ne.json +302 -32
  57. package/front_end/core/i18n/locales/nl.json +304 -34
  58. package/front_end/core/i18n/locales/no.json +294 -24
  59. package/front_end/core/i18n/locales/or.json +303 -33
  60. package/front_end/core/i18n/locales/pa.json +301 -31
  61. package/front_end/core/i18n/locales/pl.json +298 -28
  62. package/front_end/core/i18n/locales/pt-PT.json +299 -29
  63. package/front_end/core/i18n/locales/pt.json +298 -28
  64. package/front_end/core/i18n/locales/ro.json +297 -27
  65. package/front_end/core/i18n/locales/ru.json +296 -26
  66. package/front_end/core/i18n/locales/si.json +299 -29
  67. package/front_end/core/i18n/locales/sk.json +301 -31
  68. package/front_end/core/i18n/locales/sl.json +301 -31
  69. package/front_end/core/i18n/locales/sq.json +304 -34
  70. package/front_end/core/i18n/locales/sr-Latn.json +296 -26
  71. package/front_end/core/i18n/locales/sr.json +296 -26
  72. package/front_end/core/i18n/locales/sv.json +295 -25
  73. package/front_end/core/i18n/locales/sw.json +298 -28
  74. package/front_end/core/i18n/locales/ta.json +301 -31
  75. package/front_end/core/i18n/locales/te.json +333 -63
  76. package/front_end/core/i18n/locales/th.json +294 -24
  77. package/front_end/core/i18n/locales/tr.json +294 -24
  78. package/front_end/core/i18n/locales/uk.json +296 -26
  79. package/front_end/core/i18n/locales/ur.json +295 -25
  80. package/front_end/core/i18n/locales/uz.json +298 -28
  81. package/front_end/core/i18n/locales/vi.json +303 -33
  82. package/front_end/core/i18n/locales/zh-HK.json +294 -24
  83. package/front_end/core/i18n/locales/zh-TW.json +300 -30
  84. package/front_end/core/i18n/locales/zh.json +299 -29
  85. package/front_end/core/i18n/locales/zu.json +302 -32
  86. package/front_end/core/platform/string-utilities.ts +2 -5
  87. package/front_end/core/root/Runtime.ts +1 -0
  88. package/front_end/core/sdk/Target.ts +4 -0
  89. package/front_end/entrypoints/inspector_main/InspectorMain.ts +4 -1
  90. package/front_end/entrypoints/main/MainImpl.ts +3 -0
  91. package/front_end/generated/InspectorBackendCommands.js +3 -3
  92. package/front_end/generated/SupportedCSSProperties.js +2 -4
  93. package/front_end/generated/protocol.ts +2 -1
  94. package/front_end/models/issues_manager/DeprecationIssue.ts +12 -1
  95. package/front_end/models/text_utils/CodeMirrorUtils.ts +1 -2
  96. package/front_end/models/timeline_model/TimelineModel.ts +52 -0
  97. package/front_end/panels/application/components/StackTrace.ts +2 -2
  98. package/front_end/panels/elements/AccessibilityTreeView.ts +8 -2
  99. package/front_end/panels/elements/CSSRuleValidator.ts +12 -13
  100. package/front_end/panels/elements/ElementsTreeOutline.ts +23 -7
  101. package/front_end/panels/elements/TopLayerContainer.ts +17 -28
  102. package/front_end/panels/elements/accessibilityTreeView.css +10 -0
  103. package/front_end/panels/elements/components/AccessibilityTreeNode.ts +4 -5
  104. package/front_end/panels/elements/components/accessibilityTreeNode.css +9 -0
  105. package/front_end/panels/elements/components/cssHintDetailsView.css +6 -2
  106. package/front_end/panels/elements/stylesSectionTree.css +1 -1
  107. package/front_end/panels/network/NetworkItemView.ts +15 -2
  108. package/front_end/panels/network/components/RequestHeadersView.css +13 -0
  109. package/front_end/panels/network/components/RequestHeadersView.ts +59 -57
  110. package/front_end/panels/sources/BreakpointsSidebarPane.ts +37 -0
  111. package/front_end/panels/sources/FilteredUISourceCodeListProvider.ts +7 -0
  112. package/front_end/panels/sources/ScopeChainSidebarPane.ts +3 -3
  113. package/front_end/panels/sources/sources-meta.ts +3 -0
  114. package/front_end/panels/sources/sources.ts +2 -0
  115. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +21 -2
  116. package/front_end/panels/timeline/TimelineUIUtils.ts +16 -0
  117. package/front_end/services/puppeteer/PuppeteerConnection.ts +7 -1
  118. package/front_end/third_party/codemirror.next/bundle.ts +1 -1
  119. package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
  120. package/front_end/third_party/codemirror.next/chunk/cpp.js +1 -1
  121. package/front_end/third_party/codemirror.next/chunk/java.js +1 -1
  122. package/front_end/third_party/codemirror.next/chunk/json.js +1 -1
  123. package/front_end/third_party/codemirror.next/chunk/legacy.js +1 -1
  124. package/front_end/third_party/codemirror.next/chunk/markdown.js +1 -1
  125. package/front_end/third_party/codemirror.next/chunk/php.js +1 -1
  126. package/front_end/third_party/codemirror.next/chunk/python.js +1 -1
  127. package/front_end/third_party/codemirror.next/chunk/wast.js +1 -1
  128. package/front_end/third_party/codemirror.next/chunk/xml.js +1 -1
  129. package/front_end/third_party/codemirror.next/codemirror.next.d.ts +342 -1314
  130. package/front_end/third_party/codemirror.next/codemirror.next.js +1 -1
  131. package/front_end/third_party/codemirror.next/package.json +21 -21
  132. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.d.ts +15 -2
  133. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.d.ts.map +1 -1
  134. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.js +95 -76
  135. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.js.map +1 -1
  136. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.d.ts.map +1 -1
  137. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js +7 -1
  138. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
  139. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ChromeTargetManager.d.ts +37 -0
  140. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ChromeTargetManager.d.ts.map +1 -0
  141. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ChromeTargetManager.js +297 -0
  142. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ChromeTargetManager.js.map +1 -0
  143. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.d.ts +4 -0
  144. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.d.ts.map +1 -1
  145. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.js +10 -2
  146. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.js.map +1 -1
  147. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.d.ts.map +1 -1
  148. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.js +2 -2
  149. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.js.map +1 -1
  150. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.d.ts +4 -0
  151. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.d.ts.map +1 -1
  152. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.js +16 -2
  153. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.js.map +1 -1
  154. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ElementHandle.d.ts.map +1 -1
  155. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ElementHandle.js +36 -36
  156. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ElementHandle.js.map +1 -1
  157. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FirefoxTargetManager.d.ts +45 -0
  158. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FirefoxTargetManager.d.ts.map +1 -0
  159. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FirefoxTargetManager.js +196 -0
  160. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FirefoxTargetManager.js.map +1 -0
  161. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.d.ts +8 -1
  162. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.d.ts.map +1 -1
  163. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js +105 -72
  164. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js.map +1 -1
  165. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.d.ts +4 -0
  166. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.d.ts.map +1 -1
  167. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js +6 -0
  168. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js.map +1 -1
  169. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.d.ts.map +1 -1
  170. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.js +5 -5
  171. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.js.map +1 -1
  172. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.d.ts +4 -0
  173. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.d.ts.map +1 -1
  174. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.js +29 -8
  175. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.js.map +1 -1
  176. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.d.ts +1 -1
  177. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.d.ts.map +1 -1
  178. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.js +43 -68
  179. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.js.map +1 -1
  180. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Puppeteer.d.ts +0 -2
  181. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Puppeteer.d.ts.map +1 -1
  182. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Puppeteer.js.map +1 -1
  183. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.d.ts +10 -1
  184. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.d.ts.map +1 -1
  185. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.js +21 -5
  186. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.js.map +1 -1
  187. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TargetManager.d.ts +55 -0
  188. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TargetManager.d.ts.map +1 -0
  189. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TargetManager.js +18 -0
  190. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TargetManager.js.map +1 -0
  191. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.d.ts +21 -0
  192. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.d.ts.map +1 -1
  193. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.js +47 -2
  194. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.js.map +1 -1
  195. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
  196. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
  197. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
  198. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js +3 -2
  199. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js.map +1 -1
  200. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.d.ts.map +1 -1
  201. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.js +1 -1
  202. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.js.map +1 -1
  203. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -1
  204. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.js +2 -1
  205. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/NodeWebSocketTransport.js.map +1 -1
  206. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.d.ts.map +1 -1
  207. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.js +0 -3
  208. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.js.map +1 -1
  209. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer.d.ts +1 -0
  210. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer.d.ts.map +1 -1
  211. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer.js.map +1 -1
  212. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +1 -1
  213. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +1 -1
  214. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/types.d.ts +3 -0
  215. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/types.d.ts.map +1 -1
  216. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/types.js +3 -0
  217. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/types.js.map +1 -1
  218. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts +15 -2
  219. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts.map +1 -1
  220. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js +95 -76
  221. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js.map +1 -1
  222. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts.map +1 -1
  223. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js +7 -1
  224. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js.map +1 -1
  225. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ChromeTargetManager.d.ts +37 -0
  226. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ChromeTargetManager.d.ts.map +1 -0
  227. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ChromeTargetManager.js +293 -0
  228. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ChromeTargetManager.js.map +1 -0
  229. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts +4 -0
  230. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts.map +1 -1
  231. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.js +10 -2
  232. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.js.map +1 -1
  233. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts.map +1 -1
  234. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.js +3 -3
  235. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.js.map +1 -1
  236. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts +4 -0
  237. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts.map +1 -1
  238. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js +14 -1
  239. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js.map +1 -1
  240. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ElementHandle.d.ts.map +1 -1
  241. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ElementHandle.js +36 -36
  242. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ElementHandle.js.map +1 -1
  243. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FirefoxTargetManager.d.ts +45 -0
  244. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FirefoxTargetManager.d.ts.map +1 -0
  245. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FirefoxTargetManager.js +192 -0
  246. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FirefoxTargetManager.js.map +1 -0
  247. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts +8 -1
  248. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts.map +1 -1
  249. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js +106 -73
  250. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js.map +1 -1
  251. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts +4 -0
  252. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts.map +1 -1
  253. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js +6 -0
  254. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js.map +1 -1
  255. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.d.ts.map +1 -1
  256. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.js +5 -5
  257. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.js.map +1 -1
  258. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts +4 -0
  259. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -1
  260. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js +30 -9
  261. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js.map +1 -1
  262. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts +1 -1
  263. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts.map +1 -1
  264. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js +45 -47
  265. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js.map +1 -1
  266. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.d.ts +0 -2
  267. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.d.ts.map +1 -1
  268. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.js.map +1 -1
  269. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts +10 -1
  270. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts.map +1 -1
  271. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.js +21 -5
  272. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.js.map +1 -1
  273. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TargetManager.d.ts +55 -0
  274. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TargetManager.d.ts.map +1 -0
  275. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TargetManager.js +17 -0
  276. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TargetManager.js.map +1 -0
  277. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.d.ts +21 -0
  278. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.d.ts.map +1 -1
  279. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.js +44 -1
  280. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.js.map +1 -1
  281. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +1 -1
  282. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +1 -1
  283. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
  284. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js +3 -2
  285. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js.map +1 -1
  286. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/FirefoxLauncher.d.ts.map +1 -1
  287. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/FirefoxLauncher.js +1 -1
  288. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/FirefoxLauncher.js.map +1 -1
  289. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -1
  290. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.js +1 -0
  291. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.js.map +1 -1
  292. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.d.ts.map +1 -1
  293. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.js +0 -3
  294. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.js.map +1 -1
  295. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer.d.ts +1 -0
  296. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer.d.ts.map +1 -1
  297. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer.js.map +1 -1
  298. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +1 -1
  299. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +1 -1
  300. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/types.d.ts +3 -0
  301. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/types.d.ts.map +1 -1
  302. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/types.js +3 -0
  303. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/types.js.map +1 -1
  304. package/front_end/third_party/puppeteer/package/lib/types.d.ts +37 -2
  305. package/front_end/third_party/puppeteer/package/package.json +7 -6
  306. package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspector.ts +2 -3
  307. package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorController.ts +97 -17
  308. package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorPane.ts +1 -1
  309. package/front_end/ui/components/linear_memory_inspector/LinearMemoryViewerUtils.ts +4 -0
  310. package/front_end/ui/legacy/Icon.ts +1 -1
  311. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +9 -7
  312. package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +18 -17
  313. package/package.json +1 -1
  314. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/tsconfig.cjs.tsbuildinfo +0 -1
  315. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/tsconfig.tsbuildinfo +0 -1
  316. package/front_end/third_party/puppeteer/package/lib/cjs/vendor/tsconfig.cjs.tsbuildinfo +0 -1
  317. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/tsconfig.esm.tsbuildinfo +0 -1
  318. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/tsconfig.tsbuildinfo +0 -1
  319. package/front_end/third_party/puppeteer/package/lib/esm/vendor/tsconfig.esm.tsbuildinfo +0 -1
@@ -73,6 +73,9 @@ export class Target extends ProtocolClient.InspectorBackend.TargetBase {
73
73
  case Type.Browser:
74
74
  this.#capabilitiesMask = Capability.Target | Capability.IO;
75
75
  break;
76
+ case Type.Tab:
77
+ this.#capabilitiesMask = Capability.Target;
78
+ break;
76
79
  }
77
80
  this.#typeInternal = type;
78
81
  this.#parentTargetInternal = parentTarget;
@@ -227,6 +230,7 @@ export enum Type {
227
230
  Node = 'node',
228
231
  Browser = 'browser',
229
232
  AuctionWorklet = 'auction-worklet',
233
+ Tab = 'tab',
230
234
  }
231
235
 
232
236
  // TODO(crbug.com/1167717): Make this a const enum again
@@ -52,7 +52,10 @@ export class InspectorMainImpl implements Common.Runnable.Runnable {
52
52
  async run(): Promise<void> {
53
53
  let firstCall = true;
54
54
  await SDK.Connections.initMainConnection(async () => {
55
- const type = Root.Runtime.Runtime.queryParam('v8only') ? SDK.Target.Type.Node : SDK.Target.Type.Frame;
55
+ const type = Root.Runtime.Runtime.queryParam('v8only') ?
56
+ SDK.Target.Type.Node :
57
+ (Root.Runtime.Runtime.queryParam('targetType') === 'tab' ? SDK.Target.Type.Tab : SDK.Target.Type.Frame);
58
+ // TODO(crbug.com/1348385): support waiting for debugger with tab target.
56
59
  const waitForDebuggerInPage =
57
60
  type === SDK.Target.Type.Frame && Root.Runtime.Runtime.queryParam('panel') === 'sources';
58
61
  const target = SDK.TargetManager.TargetManager.instance().createTarget(
@@ -322,6 +322,9 @@ export class MainImpl {
322
322
  'evaluateExpressionsWithSourceMaps', 'Console: Resolve variable names in expressions using source maps',
323
323
  undefined);
324
324
  Root.Runtime.experiments.register('instrumentationBreakpoints', 'Enable instrumentation breakpoints', true);
325
+ Root.Runtime.experiments.register(
326
+ Root.Runtime.ExperimentName.BREAKPOINT_VIEW, 'Enable re-designed Breakpoint Sidebar Pane in the Sources Panel',
327
+ true);
325
328
 
326
329
  // Dual-screen
327
330
  Root.Runtime.experiments.register(
@@ -52,8 +52,8 @@ inspectorBackend.registerCommand("Animation.setPlaybackRate", [{"name": "playbac
52
52
  inspectorBackend.registerCommand("Animation.setTiming", [{"name": "animationId", "type": "string", "optional": false}, {"name": "duration", "type": "number", "optional": false}, {"name": "delay", "type": "number", "optional": false}], []);
53
53
 
54
54
  // Audits.
55
- inspectorBackend.registerEnum("Audits.CookieExclusionReason", {ExcludeSameSiteUnspecifiedTreatedAsLax: "ExcludeSameSiteUnspecifiedTreatedAsLax", ExcludeSameSiteNoneInsecure: "ExcludeSameSiteNoneInsecure", ExcludeSameSiteLax: "ExcludeSameSiteLax", ExcludeSameSiteStrict: "ExcludeSameSiteStrict", ExcludeInvalidSameParty: "ExcludeInvalidSameParty", ExcludeSamePartyCrossPartyContext: "ExcludeSamePartyCrossPartyContext"});
56
- inspectorBackend.registerEnum("Audits.CookieWarningReason", {WarnSameSiteUnspecifiedCrossSiteContext: "WarnSameSiteUnspecifiedCrossSiteContext", WarnSameSiteNoneInsecure: "WarnSameSiteNoneInsecure", WarnSameSiteUnspecifiedLaxAllowUnsafe: "WarnSameSiteUnspecifiedLaxAllowUnsafe", WarnSameSiteStrictLaxDowngradeStrict: "WarnSameSiteStrictLaxDowngradeStrict", WarnSameSiteStrictCrossDowngradeStrict: "WarnSameSiteStrictCrossDowngradeStrict", WarnSameSiteStrictCrossDowngradeLax: "WarnSameSiteStrictCrossDowngradeLax", WarnSameSiteLaxCrossDowngradeStrict: "WarnSameSiteLaxCrossDowngradeStrict", WarnSameSiteLaxCrossDowngradeLax: "WarnSameSiteLaxCrossDowngradeLax", WarnAttributeValueExceedsMaxSize: "WarnAttributeValueExceedsMaxSize"});
55
+ inspectorBackend.registerEnum("Audits.CookieExclusionReason", {ExcludeSameSiteUnspecifiedTreatedAsLax: "ExcludeSameSiteUnspecifiedTreatedAsLax", ExcludeSameSiteNoneInsecure: "ExcludeSameSiteNoneInsecure", ExcludeSameSiteLax: "ExcludeSameSiteLax", ExcludeSameSiteStrict: "ExcludeSameSiteStrict", ExcludeInvalidSameParty: "ExcludeInvalidSameParty", ExcludeSamePartyCrossPartyContext: "ExcludeSamePartyCrossPartyContext", ExcludeDomainNonASCII: "ExcludeDomainNonASCII"});
56
+ inspectorBackend.registerEnum("Audits.CookieWarningReason", {WarnSameSiteUnspecifiedCrossSiteContext: "WarnSameSiteUnspecifiedCrossSiteContext", WarnSameSiteNoneInsecure: "WarnSameSiteNoneInsecure", WarnSameSiteUnspecifiedLaxAllowUnsafe: "WarnSameSiteUnspecifiedLaxAllowUnsafe", WarnSameSiteStrictLaxDowngradeStrict: "WarnSameSiteStrictLaxDowngradeStrict", WarnSameSiteStrictCrossDowngradeStrict: "WarnSameSiteStrictCrossDowngradeStrict", WarnSameSiteStrictCrossDowngradeLax: "WarnSameSiteStrictCrossDowngradeLax", WarnSameSiteLaxCrossDowngradeStrict: "WarnSameSiteLaxCrossDowngradeStrict", WarnSameSiteLaxCrossDowngradeLax: "WarnSameSiteLaxCrossDowngradeLax", WarnAttributeValueExceedsMaxSize: "WarnAttributeValueExceedsMaxSize", WarnDomainNonASCII: "WarnDomainNonASCII"});
57
57
  inspectorBackend.registerEnum("Audits.CookieOperation", {SetCookie: "SetCookie", ReadCookie: "ReadCookie"});
58
58
  inspectorBackend.registerEnum("Audits.MixedContentResolutionStatus", {MixedContentBlocked: "MixedContentBlocked", MixedContentAutomaticallyUpgraded: "MixedContentAutomaticallyUpgraded", MixedContentWarning: "MixedContentWarning"});
59
59
  inspectorBackend.registerEnum("Audits.MixedContentResourceType", {AttributionSrc: "AttributionSrc", Audio: "Audio", Beacon: "Beacon", CSPReport: "CSPReport", Download: "Download", EventSource: "EventSource", Favicon: "Favicon", Font: "Font", Form: "Form", Frame: "Frame", Image: "Image", Import: "Import", Manifest: "Manifest", Ping: "Ping", PluginData: "PluginData", PluginResource: "PluginResource", Prefetch: "Prefetch", Resource: "Resource", Script: "Script", ServiceWorker: "ServiceWorker", SharedWorker: "SharedWorker", Stylesheet: "Stylesheet", Track: "Track", Video: "Video", Worker: "Worker", XMLHttpRequest: "XMLHttpRequest", XSLT: "XSLT"});
@@ -67,7 +67,7 @@ inspectorBackend.registerEnum("Audits.AttributionReportingIssueType", {Permissio
67
67
  inspectorBackend.registerEnum("Audits.GenericIssueErrorType", {CrossOriginPortalPostMessageError: "CrossOriginPortalPostMessageError"});
68
68
  inspectorBackend.registerEnum("Audits.DeprecationIssueType", {AuthorizationCoveredByWildcard: "AuthorizationCoveredByWildcard", CanRequestURLHTTPContainingNewline: "CanRequestURLHTTPContainingNewline", ChromeLoadTimesConnectionInfo: "ChromeLoadTimesConnectionInfo", ChromeLoadTimesFirstPaintAfterLoadTime: "ChromeLoadTimesFirstPaintAfterLoadTime", ChromeLoadTimesWasAlternateProtocolAvailable: "ChromeLoadTimesWasAlternateProtocolAvailable", CookieWithTruncatingChar: "CookieWithTruncatingChar", CrossOriginAccessBasedOnDocumentDomain: "CrossOriginAccessBasedOnDocumentDomain", CrossOriginWindowAlert: "CrossOriginWindowAlert", CrossOriginWindowConfirm: "CrossOriginWindowConfirm", CSSSelectorInternalMediaControlsOverlayCastButton: "CSSSelectorInternalMediaControlsOverlayCastButton", DeprecationExample: "DeprecationExample", DocumentDomainSettingWithoutOriginAgentClusterHeader: "DocumentDomainSettingWithoutOriginAgentClusterHeader", EventPath: "EventPath", ExpectCTHeader: "ExpectCTHeader", GeolocationInsecureOrigin: "GeolocationInsecureOrigin", GeolocationInsecureOriginDeprecatedNotRemoved: "GeolocationInsecureOriginDeprecatedNotRemoved", GetUserMediaInsecureOrigin: "GetUserMediaInsecureOrigin", HostCandidateAttributeGetter: "HostCandidateAttributeGetter", IdentityInCanMakePaymentEvent: "IdentityInCanMakePaymentEvent", InsecurePrivateNetworkSubresourceRequest: "InsecurePrivateNetworkSubresourceRequest", LegacyConstraintGoogIPv6: "LegacyConstraintGoogIPv6", LocalCSSFileExtensionRejected: "LocalCSSFileExtensionRejected", MediaSourceAbortRemove: "MediaSourceAbortRemove", MediaSourceDurationTruncatingBuffered: "MediaSourceDurationTruncatingBuffered", NavigateEventRestoreScroll: "NavigateEventRestoreScroll", NavigateEventTransitionWhile: "NavigateEventTransitionWhile", NoSysexWebMIDIWithoutPermission: "NoSysexWebMIDIWithoutPermission", NotificationInsecureOrigin: "NotificationInsecureOrigin", NotificationPermissionRequestedIframe: "NotificationPermissionRequestedIframe", ObsoleteWebRtcCipherSuite: "ObsoleteWebRtcCipherSuite", OpenWebDatabaseInsecureContext: "OpenWebDatabaseInsecureContext", OverflowVisibleOnReplacedElement: "OverflowVisibleOnReplacedElement", PersistentQuotaType: "PersistentQuotaType", PictureSourceSrc: "PictureSourceSrc", PrefixedCancelAnimationFrame: "PrefixedCancelAnimationFrame", PrefixedRequestAnimationFrame: "PrefixedRequestAnimationFrame", PrefixedStorageInfo: "PrefixedStorageInfo", PrefixedVideoDisplayingFullscreen: "PrefixedVideoDisplayingFullscreen", PrefixedVideoEnterFullscreen: "PrefixedVideoEnterFullscreen", PrefixedVideoEnterFullScreen: "PrefixedVideoEnterFullScreen", PrefixedVideoExitFullscreen: "PrefixedVideoExitFullscreen", PrefixedVideoExitFullScreen: "PrefixedVideoExitFullScreen", PrefixedVideoSupportsFullscreen: "PrefixedVideoSupportsFullscreen", RangeExpand: "RangeExpand", RequestedSubresourceWithEmbeddedCredentials: "RequestedSubresourceWithEmbeddedCredentials", RTCConstraintEnableDtlsSrtpFalse: "RTCConstraintEnableDtlsSrtpFalse", RTCConstraintEnableDtlsSrtpTrue: "RTCConstraintEnableDtlsSrtpTrue", RTCPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics: "RTCPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics", RTCPeerConnectionSdpSemanticsPlanB: "RTCPeerConnectionSdpSemanticsPlanB", RtcpMuxPolicyNegotiate: "RtcpMuxPolicyNegotiate", SharedArrayBufferConstructedWithoutIsolation: "SharedArrayBufferConstructedWithoutIsolation", TextToSpeech_DisallowedByAutoplay: "TextToSpeech_DisallowedByAutoplay", V8SharedArrayBufferConstructedInExtensionWithoutIsolation: "V8SharedArrayBufferConstructedInExtensionWithoutIsolation", XHRJSONEncodingDetection: "XHRJSONEncodingDetection", XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload: "XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload", XRSupportsSession: "XRSupportsSession"});
69
69
  inspectorBackend.registerEnum("Audits.ClientHintIssueReason", {MetaTagAllowListInvalidOrigin: "MetaTagAllowListInvalidOrigin", MetaTagModifiedHTML: "MetaTagModifiedHTML"});
70
- inspectorBackend.registerEnum("Audits.FederatedAuthRequestIssueReason", {ApprovalDeclined: "ApprovalDeclined", TooManyRequests: "TooManyRequests", ManifestListHttpNotFound: "ManifestListHttpNotFound", ManifestListNoResponse: "ManifestListNoResponse", ManifestListInvalidResponse: "ManifestListInvalidResponse", ManifestNotInManifestList: "ManifestNotInManifestList", ManifestListTooBig: "ManifestListTooBig", ManifestHttpNotFound: "ManifestHttpNotFound", ManifestNoResponse: "ManifestNoResponse", ManifestInvalidResponse: "ManifestInvalidResponse", ClientMetadataHttpNotFound: "ClientMetadataHttpNotFound", ClientMetadataNoResponse: "ClientMetadataNoResponse", ClientMetadataInvalidResponse: "ClientMetadataInvalidResponse", ClientMetadataMissingPrivacyPolicyUrl: "ClientMetadataMissingPrivacyPolicyUrl", DisabledInSettings: "DisabledInSettings", ErrorFetchingSignin: "ErrorFetchingSignin", InvalidSigninResponse: "InvalidSigninResponse", AccountsHttpNotFound: "AccountsHttpNotFound", AccountsNoResponse: "AccountsNoResponse", AccountsInvalidResponse: "AccountsInvalidResponse", IdTokenHttpNotFound: "IdTokenHttpNotFound", IdTokenNoResponse: "IdTokenNoResponse", IdTokenInvalidResponse: "IdTokenInvalidResponse", IdTokenInvalidRequest: "IdTokenInvalidRequest", ErrorIdToken: "ErrorIdToken", Canceled: "Canceled"});
70
+ inspectorBackend.registerEnum("Audits.FederatedAuthRequestIssueReason", {ApprovalDeclined: "ApprovalDeclined", TooManyRequests: "TooManyRequests", ManifestListHttpNotFound: "ManifestListHttpNotFound", ManifestListNoResponse: "ManifestListNoResponse", ManifestListInvalidResponse: "ManifestListInvalidResponse", ManifestNotInManifestList: "ManifestNotInManifestList", ManifestListTooBig: "ManifestListTooBig", ManifestHttpNotFound: "ManifestHttpNotFound", ManifestNoResponse: "ManifestNoResponse", ManifestInvalidResponse: "ManifestInvalidResponse", ClientMetadataHttpNotFound: "ClientMetadataHttpNotFound", ClientMetadataNoResponse: "ClientMetadataNoResponse", ClientMetadataInvalidResponse: "ClientMetadataInvalidResponse", DisabledInSettings: "DisabledInSettings", ErrorFetchingSignin: "ErrorFetchingSignin", InvalidSigninResponse: "InvalidSigninResponse", AccountsHttpNotFound: "AccountsHttpNotFound", AccountsNoResponse: "AccountsNoResponse", AccountsInvalidResponse: "AccountsInvalidResponse", IdTokenHttpNotFound: "IdTokenHttpNotFound", IdTokenNoResponse: "IdTokenNoResponse", IdTokenInvalidResponse: "IdTokenInvalidResponse", IdTokenInvalidRequest: "IdTokenInvalidRequest", ErrorIdToken: "ErrorIdToken", Canceled: "Canceled"});
71
71
  inspectorBackend.registerEnum("Audits.InspectorIssueCode", {CookieIssue: "CookieIssue", MixedContentIssue: "MixedContentIssue", BlockedByResponseIssue: "BlockedByResponseIssue", HeavyAdIssue: "HeavyAdIssue", ContentSecurityPolicyIssue: "ContentSecurityPolicyIssue", SharedArrayBufferIssue: "SharedArrayBufferIssue", TrustedWebActivityIssue: "TrustedWebActivityIssue", LowTextContrastIssue: "LowTextContrastIssue", CorsIssue: "CorsIssue", AttributionReportingIssue: "AttributionReportingIssue", QuirksModeIssue: "QuirksModeIssue", NavigatorUserAgentIssue: "NavigatorUserAgentIssue", GenericIssue: "GenericIssue", DeprecationIssue: "DeprecationIssue", ClientHintIssue: "ClientHintIssue", FederatedAuthRequestIssue: "FederatedAuthRequestIssue"});
72
72
  inspectorBackend.registerEvent("Audits.issueAdded", ["issue"]);
73
73
  inspectorBackend.registerEnum("Audits.GetEncodedResponseRequestEncoding", {Webp: "webp", Jpeg: "jpeg", Png: "png"});
@@ -1290,8 +1290,7 @@ export const generatedProperties = [
1290
1290
  "keywords": [
1291
1291
  "normal",
1292
1292
  "inline-size",
1293
- "size",
1294
- "style"
1293
+ "size"
1295
1294
  ],
1296
1295
  "name": "container-type"
1297
1296
  },
@@ -4073,8 +4072,7 @@ export const generatedPropertyValues = {
4073
4072
  "values": [
4074
4073
  "normal",
4075
4074
  "inline-size",
4076
- "size",
4077
- "style"
4075
+ "size"
4078
4076
  ]
4079
4077
  },
4080
4078
  "content-visibility": {
@@ -703,6 +703,7 @@ export namespace Audits {
703
703
  ExcludeSameSiteStrict = 'ExcludeSameSiteStrict',
704
704
  ExcludeInvalidSameParty = 'ExcludeInvalidSameParty',
705
705
  ExcludeSamePartyCrossPartyContext = 'ExcludeSamePartyCrossPartyContext',
706
+ ExcludeDomainNonASCII = 'ExcludeDomainNonASCII',
706
707
  }
707
708
 
708
709
  export const enum CookieWarningReason {
@@ -715,6 +716,7 @@ export namespace Audits {
715
716
  WarnSameSiteLaxCrossDowngradeStrict = 'WarnSameSiteLaxCrossDowngradeStrict',
716
717
  WarnSameSiteLaxCrossDowngradeLax = 'WarnSameSiteLaxCrossDowngradeLax',
717
718
  WarnAttributeValueExceedsMaxSize = 'WarnAttributeValueExceedsMaxSize',
719
+ WarnDomainNonASCII = 'WarnDomainNonASCII',
718
720
  }
719
721
 
720
722
  export const enum CookieOperation {
@@ -1116,7 +1118,6 @@ export namespace Audits {
1116
1118
  ClientMetadataHttpNotFound = 'ClientMetadataHttpNotFound',
1117
1119
  ClientMetadataNoResponse = 'ClientMetadataNoResponse',
1118
1120
  ClientMetadataInvalidResponse = 'ClientMetadataInvalidResponse',
1119
- ClientMetadataMissingPrivacyPolicyUrl = 'ClientMetadataMissingPrivacyPolicyUrl',
1120
1121
  DisabledInSettings = 'DisabledInSettings',
1121
1122
  ErrorFetchingSignin = 'ErrorFetchingSignin',
1122
1123
  InvalidSigninResponse = 'InvalidSigninResponse',
@@ -287,7 +287,9 @@ const UIStrings = {
287
287
  v8SharedArrayBufferConstructedInExtensionWithoutIsolation:
288
288
  'Extensions should opt into cross-origin isolation to continue using `SharedArrayBuffer`. See https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/.',
289
289
  /**
290
- * @description TODO(crbug.com/1318881): Description needed for translation
290
+ * @description Warning displayed to developers that they are using
291
+ * `XMLHttpRequest` API in a way that they expect an unsupported character
292
+ * encoding `UTF-16` could be used in the server reply.
291
293
  */
292
294
  xhrJSONEncodingDetection: 'UTF-16 is not supported by response json in `XMLHttpRequest`',
293
295
  /**
@@ -434,6 +436,15 @@ export class DeprecationIssue extends Issue {
434
436
  messageFunction = i18nLazyString(UIStrings.mediaSourceDurationTruncatingBuffered);
435
437
  feature = 6107495151960064;
436
438
  break;
439
+ case Protocol.Audits.DeprecationIssueType.NavigateEventRestoreScroll:
440
+ messageFunction = i18nLazyString(
441
+ UIStrings.deprecatedWithReplacement, {PH1: 'navigateEvent.restoreScroll()', PH2: 'navigateEvent.scroll()'});
442
+ break;
443
+ case Protocol.Audits.DeprecationIssueType.NavigateEventTransitionWhile:
444
+ messageFunction = i18nLazyString(
445
+ UIStrings.deprecatedWithReplacement,
446
+ {PH1: 'navigateEvent.transitionWhile()', PH2: 'navigateEvent.intercept()'});
447
+ break;
437
448
  case Protocol.Audits.DeprecationIssueType.NoSysexWebMIDIWithoutPermission:
438
449
  messageFunction = i18nLazyString(UIStrings.noSysexWebMIDIWithoutPermission);
439
450
  feature = 5138066234671104;
@@ -34,8 +34,7 @@ type Tokenizer = (line: string, callback: (value: string, style: string|null) =>
34
34
  export function createCssTokenizer(): Tokenizer {
35
35
  async function tokenize(line: string, callback: (value: string, style: string|null) => void): Promise<void> {
36
36
  const streamParser = await CodeMirror.cssStreamParser();
37
- const stream = new CodeMirror.StringStream();
38
- stream.string = line;
37
+ const stream = new CodeMirror.StringStream(line, 4, 2);
39
38
 
40
39
  const state = streamParser.startState();
41
40
  let lastPos = stream.pos;
@@ -47,6 +47,10 @@ const UIStrings = {
47
47
  */
48
48
  threadS: 'Thread {PH1}',
49
49
  /**
50
+ *@description Text shown when rendering the User Interactions track in the Performance panel
51
+ */
52
+ userInteractions: 'User Interactions',
53
+ /**
50
54
  *@description Title of a worker in the timeline flame chart of the Performance panel
51
55
  *@example {https://google.com} PH1
52
56
  */
@@ -244,6 +248,29 @@ export class TimelineModelImpl {
244
248
  isUserTimingEvent(event: SDK.TracingModel.Event): boolean {
245
249
  return event.categoriesString === TimelineModelImpl.Category.UserTiming;
246
250
  }
251
+
252
+ isEventTimingInteractionEvent(event: SDK.TracingModel.Event): boolean {
253
+ if (event.name !== RecordType.EventTiming) {
254
+ return false;
255
+ }
256
+ type InteractionEventData = {
257
+ duration?: number, interactionId: number,
258
+ };
259
+ const data = event.args.data as InteractionEventData;
260
+ // Filter out:
261
+ // 1. events without a duration, or a duration of 0
262
+ // 2. events without an interactionId, or with an interactionId of 0,
263
+ // which indicates that it's not a "top level" interaction event and
264
+ // we can therefore ignore it. This can happen with "mousedown" for
265
+ // example; an interaction ID is assigned to the "pointerdown" event
266
+ // as it's the "first" event to be triggered when the user clicks,
267
+ // but the browser doesn't attempt to assign IDs to all subsequent
268
+ // events, as that's a hard heuristic to get right.
269
+ const duration = data.duration || 0;
270
+ const interactionId = data.interactionId || 0;
271
+ return (duration > 0 && interactionId > 0);
272
+ }
273
+
247
274
  isParseHTMLEvent(event: SDK.TracingModel.Event): boolean {
248
275
  return event.name === RecordType.ParseHTML;
249
276
  }
@@ -362,9 +389,32 @@ export class TimelineModelImpl {
362
389
  this.processAsyncBrowserEvents(tracingModel);
363
390
  this.buildGPUEvents(tracingModel);
364
391
  this.buildLoadingEvents(tracingModel, layoutShiftEvents);
392
+ this.collectInteractionEvents(tracingModel);
365
393
  this.resetProcessingState();
366
394
  }
367
395
 
396
+ private collectInteractionEvents(tracingModel: SDK.TracingModel.TracingModel): void {
397
+ const mainRendererThread = tracingModel.getThreadByName('Renderer', 'CrRendererMain');
398
+ if (!mainRendererThread) {
399
+ return;
400
+ }
401
+
402
+ const interactionEvents: SDK.TracingModel.AsyncEvent[] = [];
403
+
404
+ const track = this.ensureNamedTrack(TrackType.UserInteractions);
405
+ track.thread = mainRendererThread;
406
+ track.name = UIStrings.userInteractions;
407
+ track.forMainFrame = true;
408
+
409
+ for (const event of mainRendererThread.asyncEvents()) {
410
+ if (!this.isEventTimingInteractionEvent(event)) {
411
+ continue;
412
+ }
413
+ interactionEvents.push(event);
414
+ }
415
+ track.asyncEvents = interactionEvents;
416
+ }
417
+
368
418
  private processGenericTrace(tracingModel: SDK.TracingModel.TracingModel): void {
369
419
  let browserMainThread = SDK.TracingModel.TracingModel.browserMainThread(tracingModel);
370
420
  if (!browserMainThread && tracingModel.sortedProcesses().length) {
@@ -1610,6 +1660,7 @@ export enum RecordType {
1610
1660
  TimeStamp = 'TimeStamp',
1611
1661
  ConsoleTime = 'ConsoleTime',
1612
1662
  UserTiming = 'UserTiming',
1663
+ EventTiming = 'EventTiming',
1613
1664
 
1614
1665
  ResourceWillSendRequest = 'ResourceWillSendRequest',
1615
1666
  ResourceSendRequest = 'ResourceSendRequest',
@@ -1822,6 +1873,7 @@ export enum TrackType {
1822
1873
  GPU = 'GPU',
1823
1874
  Experience = 'Experience',
1824
1875
  Other = 'Other',
1876
+ UserInteractions = 'UserInteractions',
1825
1877
  }
1826
1878
 
1827
1879
  const enum WorkletType {
@@ -155,7 +155,7 @@ export class StackTrace extends HTMLElement {
155
155
  const expandableRows = [];
156
156
  let hiddenCallFramesCount = 0;
157
157
  for (const item of this.#stackTraceRows) {
158
- if (this.#showHidden || (!item.ignoreListHide && !item.rowCountHide)) {
158
+ if (this.#showHidden || !item.ignoreListHide) {
159
159
  if ('functionName' in item) {
160
160
  expandableRows.push(LitHtml.html`
161
161
  <${StackTraceRow.litTagName} data-stack-trace-row .data=${{
@@ -168,7 +168,7 @@ export class StackTrace extends HTMLElement {
168
168
  `);
169
169
  }
170
170
  }
171
- if (!this.#showHidden && 'functionName' in item && (item.ignoreListHide || item.rowCountHide)) {
171
+ if (!this.#showHidden && 'functionName' in item && item.ignoreListHide) {
172
172
  hiddenCallFramesCount++;
173
173
  }
174
174
  }
@@ -7,6 +7,7 @@ import * as SDK from '../../core/sdk/sdk.js';
7
7
  import * as TreeOutline from '../../ui/components/tree_outline/tree_outline.js';
8
8
  import * as UI from '../../ui/legacy/legacy.js';
9
9
  import * as AccessibilityTreeUtils from './AccessibilityTreeUtils.js';
10
+ import accessibilityTreeViewStyles from './accessibilityTreeView.css.js';
10
11
  import {ElementsPanel} from './ElementsPanel.js';
11
12
 
12
13
  export class AccessibilityTreeView extends UI.Widget.VBox implements
@@ -21,8 +22,12 @@ export class AccessibilityTreeView extends UI.Widget.VBox implements
21
22
  // toggleButton is bound to a click handler on ElementsPanel to switch between the DOM tree
22
23
  // and accessibility tree views.
23
24
  this.toggleButton = toggleButton;
24
- this.contentElement.appendChild(this.toggleButton);
25
- this.contentElement.appendChild(this.accessibilityTreeComponent);
25
+
26
+ const container = this.contentElement.createChild('div');
27
+
28
+ container.classList.add('accessibility-tree-view-container');
29
+ container.appendChild(this.toggleButton);
30
+ container.appendChild(this.accessibilityTreeComponent);
26
31
 
27
32
  SDK.TargetManager.TargetManager.instance().observeModels(SDK.AccessibilityModel.AccessibilityModel, this);
28
33
 
@@ -61,6 +66,7 @@ export class AccessibilityTreeView extends UI.Widget.VBox implements
61
66
  if (this.inspectedDOMNode) {
62
67
  await this.loadSubTreeIntoAccessibilityModel(this.inspectedDOMNode);
63
68
  }
69
+ this.registerCSSFiles([accessibilityTreeViewStyles]);
64
70
  }
65
71
 
66
72
  async refreshAccessibilityTree(): Promise<void> {
@@ -14,47 +14,46 @@ import {
14
14
 
15
15
  const UIStrings = {
16
16
  /**
17
- *@description The type of the CSS rule validation message that is shown in the Style panel. "Deprecated property" means that the property in the declaration is deprecated and should not be used.
17
+ *@description The type of the CSS rule validation message shown in the Style pane. "Deprecated property" means that a property in the declaration is deprecated and should not be used.
18
18
  */
19
19
  deprecatedPropertyHintPrefix: 'Deprecated property',
20
20
  /**
21
- *@description The type of the CSS rule validation message that is shown in the Style panel. "Inactive property" means that a property declaration was valid syntactially but didn't have expected effect.
21
+ *@description The type of the CSS rule validation message shown in the Style pane. "Inactive property" means that a property declaration was valid syntactially but didn't have expected effect.
22
22
  */
23
23
  inactivePropertyHintPrefix: 'Inactive property',
24
24
  /**
25
- *@description The message that is shown in the Style panel when the user hovers over a property that has not effect due to some other property.
25
+ *@description The message shown in the Style pane when the user hovers over a property that has no effect due to some other property.
26
26
  *@example {flex-wrap: nowrap} REASON_PROPERTY_DECLARATION_CODE
27
27
  *@example {align-content} AFFECTED_PROPERTY_DECLARATION_CODE
28
28
  */
29
29
  ruleViolatedBySameElementRuleReason:
30
- 'This element has the {REASON_PROPERTY_DECLARATION_CODE} property and, therefore, {AFFECTED_PROPERTY_DECLARATION_CODE} has no effect.',
30
+ 'The {REASON_PROPERTY_DECLARATION_CODE} property on the same element bypasses the effect of {AFFECTED_PROPERTY_DECLARATION_CODE}.',
31
31
  /**
32
- *@description The message that is shown in the Style panel when the user hovers over a property declaration that has not effect due to some other property.
32
+ *@description The message shown in the Style pane when the user hovers over a property declaration that has no effect due to some other property.
33
33
  *@example {flex-wrap: nowrap} REASON_PROPERTY_DECLARATION_CODE
34
34
  */
35
- ruleViolatedBySameElementRuleFix:
36
- 'For this property to work, please remove or change the value of {REASON_PROPERTY_DECLARATION_CODE}.',
35
+ ruleViolatedBySameElementRuleFix: 'Try removing {REASON_PROPERTY_DECLARATION_CODE} or changing its value.',
37
36
  /**
38
- *@description The message that is shown in the Style panel when the user hovers over a property declaration that has not effect due to the current property value.
37
+ *@description The message shown in the Style pane when the user hovers over a property declaration that has no effect due to the current property value.
39
38
  *@example {display: block} EXISTING_PROPERTY_DECLARATION
40
39
  *@example {display: flex} TARGET_PROPERTY_DECLARATION
41
40
  */
42
41
  ruleViolatedBySameElementRuleChangeSuggestion:
43
- 'For this property to work, please change the {EXISTING_PROPERTY_DECLARATION} rule to {TARGET_PROPERTY_DECLARATION}.',
42
+ 'Try changing the {EXISTING_PROPERTY_DECLARATION} property to {TARGET_PROPERTY_DECLARATION}.',
44
43
  /**
45
- *@description The message that is shown in the Style panel when the user hovers over a property declaration that has not effect due to properties of the parent element.
44
+ *@description The message shown in the Style pane when the user hovers over a property declaration that has no effect due to properties of the parent element.
46
45
  *@example {display: block} REASON_PROPERTY_DECLARATION_CODE
47
46
  *@example {flex} AFFECTED_PROPERTY_DECLARATION_CODE
48
47
  */
49
48
  ruleViolatedByParentElementRuleReason:
50
- 'Parent element has {REASON_PROPERTY_DECLARATION_CODE} rule, therefore this elements {AFFECTED_PROPERTY_DECLARATION_CODE} has no effect.',
49
+ 'The {REASON_PROPERTY_DECLARATION_CODE} property on the parent element bypasses the effect of {AFFECTED_PROPERTY_DECLARATION_CODE}.',
51
50
  /**
52
- *@description The message that is shown in the Style panel when the user hovers over a property declaration that has not effect due to the properties of the parent element.
51
+ *@description The message shown in the Style pane when the user hovers over a property declaration that has no effect due to the properties of the parent element.
53
52
  *@example {display: block} EXISTING_PARENT_ELEMENT_RULE
54
53
  *@example {display: flex} TARGET_PARENT_ELEMENT_RULE
55
54
  */
56
55
  ruleViolatedByParentElementRuleFix:
57
- 'Please change parent element\'s {EXISTING_PARENT_ELEMENT_RULE} to {TARGET_PARENT_ELEMENT_RULE} to fix this issue.',
56
+ 'Try changing the {EXISTING_PARENT_ELEMENT_RULE} property on the parent to {TARGET_PARENT_ELEMENT_RULE}.',
58
57
  };
59
58
  const str_ = i18n.i18n.registerUIStrings('panels/elements/CSSRuleValidator.ts', UIStrings);
60
59
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
@@ -103,7 +103,7 @@ export class ElementsTreeOutline extends
103
103
  private treeElementBeingDragged?: ElementsTreeElement;
104
104
  private dragOverTreeElement?: ElementsTreeElement;
105
105
  private updateModifiedNodesTimeout?: number;
106
- private topLayerContainer?: TopLayerContainer;
106
+ #topLayerContainerByParent: Map<UI.TreeOutline.TreeElement, TopLayerContainer> = new Map();
107
107
 
108
108
  constructor(omitRootDOMNode?: boolean, selectEnabled?: boolean, hideGutter?: boolean) {
109
109
  super();
@@ -453,7 +453,7 @@ export class ElementsTreeOutline extends
453
453
  }
454
454
  }
455
455
 
456
- this.createTopLayerContainer();
456
+ void this.createTopLayerContainer(this.rootElement(), this.rootDOMNode.domModel());
457
457
 
458
458
  if (selectedNode) {
459
459
  this.revealAndSelectNode(selectedNode, true);
@@ -1183,9 +1183,16 @@ export class ElementsTreeOutline extends
1183
1183
  });
1184
1184
  }
1185
1185
 
1186
- createTopLayerContainer(): void {
1187
- this.topLayerContainer = new TopLayerContainer(this);
1188
- void this.topLayerContainer.throttledUpdateTopLayerElements();
1186
+ async createTopLayerContainer(parent: UI.TreeOutline.TreeElement, domModel: SDK.DOMModel.DOMModel): Promise<void> {
1187
+ if (!parent.treeOutline || !(parent.treeOutline instanceof ElementsTreeOutline)) {
1188
+ return;
1189
+ }
1190
+ const container = new TopLayerContainer(parent.treeOutline, domModel);
1191
+ await container.throttledUpdateTopLayerElements();
1192
+ if (container.currentTopLayerElements.size > 0) {
1193
+ parent.appendChild(container);
1194
+ }
1195
+ this.#topLayerContainerByParent.set(parent, container);
1189
1196
  }
1190
1197
 
1191
1198
  private createElementTreeElement(node: SDK.DOMModel.DOMNode, isClosingTag?: boolean): ElementsTreeElement {
@@ -1342,6 +1349,9 @@ export class ElementsTreeOutline extends
1342
1349
  isClosingTag?: boolean): ElementsTreeElement {
1343
1350
  const newElement = this.createElementTreeElement(child, isClosingTag);
1344
1351
  treeElement.insertChild(newElement, index);
1352
+ if (child.nodeType() === Node.DOCUMENT_NODE) {
1353
+ void this.createTopLayerContainer(newElement, child.domModel());
1354
+ }
1345
1355
  return newElement;
1346
1356
  }
1347
1357
 
@@ -1447,8 +1457,14 @@ export class ElementsTreeOutline extends
1447
1457
  }
1448
1458
  }
1449
1459
 
1450
- private topLayerElementsChanged(): void {
1451
- void this.topLayerContainer?.throttledUpdateTopLayerElements();
1460
+ private async topLayerElementsChanged(): Promise<void> {
1461
+ for (const [parent, container] of this.#topLayerContainerByParent) {
1462
+ await container.throttledUpdateTopLayerElements();
1463
+ if (container.currentTopLayerElements.size > 0 && container.parent !== parent) {
1464
+ parent.appendChild(container);
1465
+ }
1466
+ container.hidden = container.currentTopLayerElements.size === 0;
1467
+ }
1452
1468
  }
1453
1469
 
1454
1470
  private static treeOutlineSymbol = Symbol('treeOutline');
@@ -14,23 +14,24 @@ import {type ElementsTreeElement} from './ElementsTreeElement.js';
14
14
 
15
15
  const UIStrings = {
16
16
  /**
17
- * @description Top layer is rendered closest to the user within a viewport, therefore its elements always appear on top of all other content
18
- */
19
- topLayer: 'top-layer',
17
+ *@description Link text content in Elements Tree Outline of the Elements panel. When clicked, it "reveals" the true location of an element.
18
+ */
19
+ reveal: 'reveal',
20
20
  };
21
21
 
22
22
  const str_ = i18n.i18n.registerUIStrings('panels/elements/TopLayerContainer.ts', UIStrings);
23
23
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
24
24
 
25
25
  export class TopLayerContainer extends UI.TreeOutline.TreeElement {
26
- domContainer: ElementsTreeOutline.ElementsTreeOutline;
26
+ tree: ElementsTreeOutline.ElementsTreeOutline;
27
+ domModel: SDK.DOMModel.DOMModel;
27
28
  currentTopLayerElements: Set<ElementsTreeElement>;
28
29
  topLayerUpdateThrottler: Common.Throttler.Throttler;
29
- #inserted = false;
30
30
 
31
- constructor(domContainer: ElementsTreeOutline.ElementsTreeOutline) {
31
+ constructor(tree: ElementsTreeOutline.ElementsTreeOutline, domModel: SDK.DOMModel.DOMModel) {
32
32
  super('#top-layer');
33
- this.domContainer = domContainer;
33
+ this.tree = tree;
34
+ this.domModel = domModel;
34
35
  this.currentTopLayerElements = new Set();
35
36
  this.topLayerUpdateThrottler = new Common.Throttler.Throttler(1);
36
37
  }
@@ -44,26 +45,19 @@ export class TopLayerContainer extends UI.TreeOutline.TreeElement {
44
45
  this.removeCurrentTopLayerElementsAdorners();
45
46
  this.currentTopLayerElements = new Set();
46
47
 
47
- const domModel = this.domContainer.rootDOMNode?.domModel();
48
- if (!domModel) {
49
- this.hidden = true;
50
- return;
51
- }
52
-
53
- const newTopLayerElementsIDs = await domModel.getTopLayerElements();
48
+ const newTopLayerElementsIDs = await this.domModel.getTopLayerElements();
54
49
  if (!newTopLayerElementsIDs || newTopLayerElementsIDs.length === 0) {
55
- this.hidden = true;
56
50
  return;
57
51
  }
58
52
 
59
53
  let topLayerElementIndex = 0;
60
54
  for (let i = 0; i < newTopLayerElementsIDs.length; i++) {
61
- const topLayerDOMNode = domModel.idToDOMNode.get(newTopLayerElementsIDs[i]);
55
+ const topLayerDOMNode = this.domModel.idToDOMNode.get(newTopLayerElementsIDs[i]);
62
56
  if (topLayerDOMNode && topLayerDOMNode.nodeName() !== '::backdrop') {
63
57
  const topLayerElementShortcut = new SDK.DOMModel.DOMNodeShortcut(
64
- domModel.target(), topLayerDOMNode.backendNodeId(), 0, topLayerDOMNode.nodeName());
58
+ this.domModel.target(), topLayerDOMNode.backendNodeId(), 0, topLayerDOMNode.nodeName());
65
59
  const topLayerElementRepresentation = new ElementsTreeOutline.ShortcutTreeElement(topLayerElementShortcut);
66
- const topLayerTreeElement = this.domContainer.treeElementByNode.get(topLayerDOMNode);
60
+ const topLayerTreeElement = this.tree.treeElementByNode.get(topLayerDOMNode);
67
61
  if (!topLayerTreeElement) {
68
62
  continue;
69
63
  }
@@ -73,21 +67,16 @@ export class TopLayerContainer extends UI.TreeOutline.TreeElement {
73
67
  this.currentTopLayerElements.add(topLayerTreeElement);
74
68
  this.appendChild(topLayerElementRepresentation);
75
69
  // Add the element's backdrop if previous top layer element is a backdrop.
76
- const previousTopLayerDOMNode = (i > 0) ? domModel.idToDOMNode.get(newTopLayerElementsIDs[i - 1]) : undefined;
70
+ const previousTopLayerDOMNode =
71
+ (i > 0) ? this.domModel.idToDOMNode.get(newTopLayerElementsIDs[i - 1]) : undefined;
77
72
  if (previousTopLayerDOMNode && previousTopLayerDOMNode.nodeName() === '::backdrop') {
78
73
  const backdropElementShortcut = new SDK.DOMModel.DOMNodeShortcut(
79
- domModel.target(), previousTopLayerDOMNode.backendNodeId(), 0, previousTopLayerDOMNode.nodeName());
74
+ this.domModel.target(), previousTopLayerDOMNode.backendNodeId(), 0, previousTopLayerDOMNode.nodeName());
80
75
  const backdropElementRepresentation = new ElementsTreeOutline.ShortcutTreeElement(backdropElementShortcut);
81
76
  topLayerElementRepresentation.appendChild(backdropElementRepresentation);
82
77
  }
83
78
  }
84
79
  }
85
-
86
- this.hidden = topLayerElementIndex <= 0;
87
- if (!this.hidden && !this.#inserted) {
88
- this.domContainer.appendChild(this);
89
- this.#inserted = true;
90
- }
91
80
  }
92
81
 
93
82
  private removeCurrentTopLayerElementsAdorners(): void {
@@ -118,8 +107,8 @@ export class TopLayerContainer extends UI.TreeOutline.TreeElement {
118
107
  adorner.addInteraction(onClick, {
119
108
  isToggle: false,
120
109
  shouldPropagateOnKeydown: false,
121
- ariaLabelDefault: i18nString(UIStrings.topLayer),
122
- ariaLabelActive: i18nString(UIStrings.topLayer),
110
+ ariaLabelDefault: i18nString(UIStrings.reveal),
111
+ ariaLabelActive: i18nString(UIStrings.reveal),
123
112
  });
124
113
  adorner.addEventListener('mousedown', e => e.consume(), false);
125
114
  }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright 2022 The Chromium Authors. All rights reserved.
3
+ * Use of this source code is governed by a BSD-style license that can be
4
+ * found in the LICENSE file.
5
+ */
6
+
7
+ .accessibility-tree-view-container {
8
+ height: 100%;
9
+ overflow: auto;
10
+ }
@@ -77,16 +77,15 @@ export class AccessibilityTreeNode extends HTMLElement {
77
77
  const name = LitHtml.html`"<span class='attribute-value'>${this.#name}</span>"`;
78
78
  const properties = this.#properties.map(
79
79
  ({name, value}) => isPrintable(value.type) ?
80
- LitHtml.html`&nbsp<span class='attribute-name'>${name}</span>:&nbsp<span class='attribute-value'>${
80
+ LitHtml.html` <span class='attribute-name'>${name}</span>:&nbsp;<span class='attribute-value'>${
81
81
  value.value}</span>` :
82
82
  LitHtml.nothing);
83
-
83
+ const content = this.#ignored ? LitHtml.html`<span>${i18nString(UIStrings.ignored)}</span>` :
84
+ LitHtml.html`${role}&nbsp;${name}${properties}`;
84
85
  await Coordinator.RenderCoordinator.RenderCoordinator.instance().write('Accessibility node render', () => {
85
86
  // clang-format off
86
87
  LitHtml.render(
87
- this.#ignored ?
88
- LitHtml.html`<span>${i18nString(UIStrings.ignored)}</span>` :
89
- LitHtml.html`${role}&nbsp${name}${properties}`,
88
+ LitHtml.html`<div class='container'>${content}</div>`,
90
89
  this.#shadow,
91
90
  {host: this});
92
91
  // clang-format on
@@ -4,6 +4,15 @@
4
4
  * found in the LICENSE file.
5
5
  */
6
6
 
7
+ .container {
8
+ width: 100%;
9
+ display: inline-block;
10
+ }
11
+
12
+ .container:hover {
13
+ background-color: var(--item-hover-color);
14
+ }
15
+
7
16
  span {
8
17
  color: var(--color-syntax-8);
9
18
  font-family: var(--monospace-font-family);
@@ -4,10 +4,14 @@
4
4
  * found in the LICENSE file.
5
5
  */
6
6
 
7
+ :host {
8
+ padding: 6px;
9
+ }
10
+
7
11
  .hint-popup-wrapper {
8
- width: 400px;
9
- line-height: 1.1;
12
+ max-width: 232px;
10
13
  font-size: 12px;
14
+ line-height: 1.4;
11
15
  }
12
16
 
13
17
  code {
@@ -159,7 +159,7 @@ ol.expanded {
159
159
  position: absolute;
160
160
  top: 0;
161
161
  bottom: 0;
162
- margin: auto auto auto 5px;
162
+ margin: auto auto auto 3px;
163
163
  display: inline-block;
164
164
  cursor: pointer;
165
165
  transform: scale(0.9);
@@ -311,7 +311,20 @@ export class NetworkItemView extends UI.TabbedPane.TabbedPane {
311
311
  }
312
312
 
313
313
  revealHeader(section: NetworkForward.UIRequestLocation.UIHeaderSection, header: string|undefined): void {
314
- this.selectTabInternal(NetworkForward.UIRequestLocation.UIRequestTabs.Headers);
315
- this.headersView.revealHeader(section, header);
314
+ if (Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.HEADER_OVERRIDES)) {
315
+ this.selectTabInternal(NetworkForward.UIRequestLocation.UIRequestTabs.HeadersComponent);
316
+ this.headersViewComponent.revealHeader(section, header);
317
+ } else {
318
+ this.selectTabInternal(NetworkForward.UIRequestLocation.UIRequestTabs.Headers);
319
+ this.headersView.revealHeader(section, header);
320
+ }
321
+ }
322
+
323
+ getHeadersView(): RequestHeadersView {
324
+ return this.headersView;
325
+ }
326
+
327
+ getHeadersViewComponent(): NetworkComponents.RequestHeadersView.RequestHeadersView {
328
+ return this.headersViewComponent;
316
329
  }
317
330
  }