@browserless.io/browserless 2.2.0-beta-6 → 2.2.0

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 (1313) hide show
  1. package/CHANGELOG.md +21 -2
  2. package/bin/browserless.js +1 -1
  3. package/bin/scaffold/README.md +8 -7
  4. package/build/browserless.js +7 -6
  5. package/build/browsers/chrome.cdp.d.ts +6 -0
  6. package/build/browsers/chrome.cdp.js +6 -0
  7. package/build/browsers/chrome.playwright.d.ts +6 -0
  8. package/build/browsers/chrome.playwright.js +6 -0
  9. package/build/browsers/{cdp-chromium.d.ts → chromium.cdp.d.ts} +3 -2
  10. package/build/browsers/{cdp-chromium.js → chromium.cdp.js} +16 -10
  11. package/build/browsers/{playwright-chromium.d.ts → chromium.playwright.d.ts} +3 -2
  12. package/build/browsers/{playwright-chromium.js → chromium.playwright.js} +6 -5
  13. package/build/browsers/{playwright-firefox.d.ts → firefox.playwright.d.ts} +2 -2
  14. package/build/browsers/{playwright-firefox.js → firefox.playwright.js} +4 -4
  15. package/build/browsers/index.d.ts +20 -10
  16. package/build/browsers/index.js +110 -11
  17. package/build/browsers/{playwright-webkit.d.ts → webkit.playwright.d.ts} +2 -2
  18. package/build/browsers/{playwright-webkit.js → webkit.playwright.js} +4 -4
  19. package/build/data/selectors.json +1 -1
  20. package/build/exports.d.ts +6 -4
  21. package/build/exports.js +6 -4
  22. package/build/http.d.ts +22 -1
  23. package/build/http.js +21 -0
  24. package/build/router.js +19 -3
  25. package/build/routes/{chromium/http/content-post.body.json → chrome/http/content.post.body.json} +8 -8
  26. package/build/routes/chrome/http/content.post.d.ts +7 -0
  27. package/build/routes/chrome/http/content.post.js +6 -0
  28. package/build/routes/chrome/http/download.post.d.ts +7 -0
  29. package/build/routes/chrome/http/download.post.js +6 -0
  30. package/build/routes/chrome/http/function.post.d.ts +7 -0
  31. package/build/routes/chrome/http/function.post.js +6 -0
  32. package/build/routes/chrome/http/json-list.get.d.ts +1 -0
  33. package/build/routes/chrome/http/json-list.get.js +1 -0
  34. package/build/routes/chrome/http/json-new.put.d.ts +1 -0
  35. package/build/routes/chrome/http/json-new.put.js +1 -0
  36. package/build/routes/chrome/http/json-protocol.get.d.ts +1 -0
  37. package/build/routes/chrome/http/json-protocol.get.js +1 -0
  38. package/build/routes/chrome/http/json-version.get.d.ts +1 -0
  39. package/build/routes/chrome/http/json-version.get.js +1 -0
  40. package/build/routes/chrome/http/json-version.get.response.json +44 -0
  41. package/build/routes/{chromium/http/pdf-post.body.json → chrome/http/pdf.post.body.json} +8 -8
  42. package/build/routes/chrome/http/pdf.post.d.ts +7 -0
  43. package/build/routes/chrome/http/pdf.post.js +6 -0
  44. package/build/routes/chrome/http/performance.post.d.ts +7 -0
  45. package/build/routes/chrome/http/performance.post.js +6 -0
  46. package/build/routes/{chromium/http/scrape-post.body.json → chrome/http/scrape.post.body.json} +8 -8
  47. package/build/routes/chrome/http/scrape.post.d.ts +7 -0
  48. package/build/routes/chrome/http/scrape.post.js +6 -0
  49. package/build/routes/{chromium/http/screenshot-post.body.json → chrome/http/screenshot.post.body.json} +8 -8
  50. package/build/routes/chrome/http/screenshot.post.d.ts +7 -0
  51. package/build/routes/chrome/http/screenshot.post.js +6 -0
  52. package/build/routes/chrome/tests/content.spec.js +311 -0
  53. package/build/routes/chrome/tests/download.spec.js +67 -0
  54. package/build/routes/chrome/tests/function.spec.d.ts +1 -0
  55. package/build/routes/chrome/tests/function.spec.js +245 -0
  56. package/build/routes/chrome/tests/json-version.spec.d.ts +1 -0
  57. package/build/routes/chrome/tests/json-version.spec.js +37 -0
  58. package/build/routes/chrome/tests/page-websocket.spec.d.ts +1 -0
  59. package/build/routes/chrome/tests/page-websocket.spec.js +97 -0
  60. package/build/routes/chrome/tests/pdf.spec.d.ts +1 -0
  61. package/build/routes/chrome/tests/pdf.spec.js +333 -0
  62. package/build/routes/chrome/tests/performance.spec.d.ts +1 -0
  63. package/build/routes/chrome/tests/performance.spec.js +124 -0
  64. package/build/routes/chrome/tests/scrape.spec.d.ts +1 -0
  65. package/build/routes/chrome/tests/scrape.spec.js +354 -0
  66. package/build/routes/chrome/tests/screenshot.spec.d.ts +1 -0
  67. package/build/routes/chrome/tests/screenshot.spec.js +339 -0
  68. package/build/routes/chrome/tests/websocket.spec.d.ts +1 -0
  69. package/build/routes/chrome/tests/websocket.spec.js +371 -0
  70. package/build/routes/chrome/ws/browser.d.ts +6 -0
  71. package/build/routes/chrome/ws/browser.js +5 -0
  72. package/build/routes/chrome/ws/cdp.d.ts +7 -0
  73. package/build/routes/chrome/ws/cdp.js +6 -0
  74. package/build/routes/chrome/ws/cdp.query.json +120 -0
  75. package/build/routes/chrome/ws/page.d.ts +6 -0
  76. package/build/routes/chrome/ws/page.js +5 -0
  77. package/build/routes/chrome/ws/page.query.json +120 -0
  78. package/build/routes/chrome/ws/playwright.d.ts +7 -0
  79. package/build/routes/chrome/ws/playwright.js +6 -0
  80. package/build/routes/chromium/http/content.post.body.json +510 -0
  81. package/build/routes/chromium/http/content.post.d.ts +1 -0
  82. package/build/routes/chromium/http/content.post.js +1 -0
  83. package/build/routes/chromium/http/content.post.query.json +183 -0
  84. package/build/routes/chromium/http/content.post.response.json +5 -0
  85. package/build/routes/chromium/http/download.post.body.json +32 -0
  86. package/build/routes/chromium/http/download.post.d.ts +1 -0
  87. package/build/routes/chromium/http/download.post.js +1 -0
  88. package/build/routes/chromium/http/download.post.query.json +120 -0
  89. package/build/routes/chromium/http/download.post.response.json +4 -0
  90. package/build/routes/chromium/http/function.post.body.json +32 -0
  91. package/build/routes/chromium/http/function.post.d.ts +1 -0
  92. package/build/routes/chromium/http/function.post.js +1 -0
  93. package/build/routes/chromium/http/function.post.query.json +120 -0
  94. package/build/routes/chromium/http/function.post.response.json +4 -0
  95. package/build/routes/chromium/http/json-list.get.d.ts +1 -0
  96. package/build/routes/chromium/http/json-list.get.js +1 -0
  97. package/build/routes/chromium/http/json-list.get.response.json +52 -0
  98. package/build/routes/chromium/http/json-new.put.d.ts +1 -0
  99. package/build/routes/chromium/http/json-new.put.js +1 -0
  100. package/build/routes/chromium/http/json-new.put.response.json +44 -0
  101. package/build/routes/chromium/http/json-protocol.get.d.ts +1 -0
  102. package/build/routes/chromium/http/json-protocol.get.js +1 -0
  103. package/build/routes/chromium/http/json-protocol.get.response.json +6 -0
  104. package/build/routes/chromium/http/json-version.get.d.ts +1 -0
  105. package/build/routes/chromium/http/json-version.get.js +1 -0
  106. package/build/routes/chromium/http/json-version.get.response.json +44 -0
  107. package/build/routes/chromium/http/pdf.post.body.json +654 -0
  108. package/build/routes/chromium/http/pdf.post.d.ts +1 -0
  109. package/build/routes/chromium/http/pdf.post.js +1 -0
  110. package/build/routes/chromium/http/pdf.post.query.json +120 -0
  111. package/build/routes/chromium/http/pdf.post.response.json +5 -0
  112. package/build/routes/chromium/http/performance.post.body.json +26 -0
  113. package/build/routes/chromium/http/performance.post.d.ts +1 -0
  114. package/build/routes/chromium/http/performance.post.js +1 -0
  115. package/build/routes/chromium/http/performance.post.query.json +120 -0
  116. package/build/routes/chromium/http/performance.post.response.json +7 -0
  117. package/build/routes/chromium/http/scrape.post.body.json +557 -0
  118. package/build/routes/chromium/http/scrape.post.d.ts +1 -0
  119. package/build/routes/chromium/http/scrape.post.js +1 -0
  120. package/build/routes/chromium/http/scrape.post.query.json +183 -0
  121. package/build/routes/chromium/http/scrape.post.response.json +309 -0
  122. package/build/routes/chromium/http/screenshot.post.body.json +600 -0
  123. package/build/routes/chromium/http/screenshot.post.d.ts +1 -0
  124. package/build/routes/chromium/http/screenshot.post.js +1 -0
  125. package/build/routes/chromium/http/screenshot.post.query.json +120 -0
  126. package/build/routes/chromium/http/screenshot.post.response.json +5 -0
  127. package/build/routes/chromium/tests/content.spec.js +16 -16
  128. package/build/routes/chromium/tests/download.spec.js +3 -3
  129. package/build/routes/chromium/tests/function.spec.js +10 -10
  130. package/build/routes/chromium/tests/page-websocket.spec.d.ts +1 -0
  131. package/build/routes/chromium/tests/page-websocket.spec.js +97 -0
  132. package/build/routes/chromium/tests/pdf.spec.js +16 -16
  133. package/build/routes/chromium/tests/performance.spec.js +7 -7
  134. package/build/routes/chromium/tests/scrape.spec.js +15 -15
  135. package/build/routes/chromium/tests/screenshot.spec.js +17 -17
  136. package/build/routes/chromium/tests/websocket.spec.js +31 -37
  137. package/build/routes/chromium/ws/browser.d.ts +1 -16
  138. package/build/routes/chromium/ws/browser.js +1 -10
  139. package/build/routes/chromium/ws/cdp.d.ts +1 -0
  140. package/build/routes/chromium/ws/cdp.js +1 -0
  141. package/build/routes/chromium/ws/cdp.query.json +120 -0
  142. package/build/routes/chromium/ws/page.d.ts +1 -16
  143. package/build/routes/chromium/ws/page.js +1 -10
  144. package/build/routes/chromium/ws/playwright.d.ts +1 -0
  145. package/build/routes/chromium/ws/playwright.js +1 -0
  146. package/build/routes/firefox/ws/{playwright-firefox.d.ts → playwright.d.ts} +5 -5
  147. package/build/routes/firefox/ws/{playwright-firefox.js → playwright.js} +4 -4
  148. package/build/routes/management/http/{sessions-get.response.json → sessions.get.response.json} +11 -1
  149. package/build/routes/management/http/{static-get.js → static.get.js} +2 -2
  150. package/build/routes/webkit/ws/{playwright-webkit.d.ts → playwright.d.ts} +5 -5
  151. package/build/routes/webkit/ws/{playwright-webkit.js → playwright.js} +4 -4
  152. package/build/routes/webkit/ws/playwright.query.json +100 -0
  153. package/build/{routes/chromium/ws/cdp-chromium.d.ts → shared/browser.ws.d.ts} +4 -4
  154. package/build/shared/browser.ws.js +12 -0
  155. package/build/{routes/chromium/ws/playwright-chromium.d.ts → shared/chromium.playwright.ws.d.ts} +4 -4
  156. package/build/{routes/chromium/ws/playwright-chromium.js → shared/chromium.playwright.ws.js} +6 -3
  157. package/build/shared/chromium.ws.d.ts +16 -0
  158. package/build/shared/chromium.ws.js +10 -0
  159. package/build/{routes/chromium/http/content-post.d.ts → shared/content.http.d.ts} +3 -3
  160. package/build/{routes/chromium/http/content-post.js → shared/content.http.js} +3 -3
  161. package/build/{routes/chromium/http/download-post.d.ts → shared/download.http.d.ts} +3 -3
  162. package/build/{routes/chromium/http/download-post.js → shared/download.http.js} +4 -4
  163. package/build/{routes/chromium/http/function-post.d.ts → shared/function.http.d.ts} +3 -3
  164. package/build/{routes/chromium/http/function-post.js → shared/function.http.js} +4 -4
  165. package/build/{routes/chromium/http/json-new.d.ts → shared/json-list.http.d.ts} +2 -3
  166. package/build/{routes/chromium/http/json-list.js → shared/json-list.http.js} +5 -8
  167. package/build/{routes/chromium/http/json-list.d.ts → shared/json-new.http.d.ts} +2 -3
  168. package/build/shared/json-new.http.js +34 -0
  169. package/build/{routes/chromium/http/json-protocol-get.js → shared/json-protocol.http.js} +2 -2
  170. package/build/{routes/chromium/http/json-version-get.js → shared/json-version.http.js} +3 -3
  171. package/build/shared/page.ws.d.ts +16 -0
  172. package/build/shared/page.ws.js +13 -0
  173. package/build/{routes/chromium/http/pdf-post.d.ts → shared/pdf.http.d.ts} +3 -3
  174. package/build/{routes/chromium/http/pdf-post.js → shared/pdf.http.js} +3 -3
  175. package/build/{routes/chromium/http/performance.d.ts → shared/performance.http.d.ts} +3 -3
  176. package/build/{routes/chromium/http/performance.js → shared/performance.http.js} +4 -4
  177. package/build/{routes/chromium/http/scrape-post.d.ts → shared/scrape.http.d.ts} +3 -3
  178. package/build/{routes/chromium/http/scrape-post.js → shared/scrape.http.js} +3 -3
  179. package/build/{routes/chromium/http/screenshot-post.d.ts → shared/screenshot.http.d.ts} +3 -3
  180. package/build/{routes/chromium/http/screenshot-post.js → shared/screenshot.http.js} +3 -3
  181. package/build/shared/utils/performance/child.d.ts +1 -0
  182. package/build/{routes/chromium → shared}/utils/performance/main.js +1 -1
  183. package/build/shared/utils/performance/types.js +1 -0
  184. package/build/shim.js +2 -1
  185. package/build/types.d.ts +10 -8
  186. package/build/utils.d.ts +8 -3
  187. package/build/utils.js +24 -11
  188. package/docker/base/Dockerfile +1 -1
  189. package/docker/chrome/Dockerfile +4 -4
  190. package/docker/chromium/.dockerignore +16 -0
  191. package/docker/chromium/Dockerfile +40 -0
  192. package/docker/firefox/Dockerfile +1 -1
  193. package/docker/multi/Dockerfile +13 -1
  194. package/docker/webkit/Dockerfile +1 -1
  195. package/extensions/ublock/3p-filters.html +1 -1
  196. package/extensions/ublock/_locales/ar/messages.json +4 -0
  197. package/extensions/ublock/_locales/az/messages.json +4 -0
  198. package/extensions/ublock/_locales/be/messages.json +4 -0
  199. package/extensions/ublock/_locales/bg/messages.json +5 -1
  200. package/extensions/ublock/_locales/bn/messages.json +4 -0
  201. package/extensions/ublock/_locales/br_FR/messages.json +6 -2
  202. package/extensions/ublock/_locales/bs/messages.json +4 -0
  203. package/extensions/ublock/_locales/ca/messages.json +4 -0
  204. package/extensions/ublock/_locales/cs/messages.json +4 -0
  205. package/extensions/ublock/_locales/cv/messages.json +4 -0
  206. package/extensions/ublock/_locales/cy/messages.json +1294 -0
  207. package/extensions/ublock/_locales/da/messages.json +4 -0
  208. package/extensions/ublock/_locales/de/messages.json +5 -1
  209. package/extensions/ublock/_locales/el/messages.json +4 -0
  210. package/extensions/ublock/_locales/en/messages.json +4 -0
  211. package/extensions/ublock/_locales/en_GB/messages.json +4 -0
  212. package/extensions/ublock/_locales/eo/messages.json +9 -5
  213. package/extensions/ublock/_locales/es/messages.json +4 -0
  214. package/extensions/ublock/_locales/et/messages.json +4 -0
  215. package/extensions/ublock/_locales/eu/messages.json +8 -4
  216. package/extensions/ublock/_locales/fa/messages.json +4 -0
  217. package/extensions/ublock/_locales/fi/messages.json +4 -0
  218. package/extensions/ublock/_locales/fil/messages.json +4 -0
  219. package/extensions/ublock/_locales/fr/messages.json +4 -0
  220. package/extensions/ublock/_locales/fy/messages.json +4 -0
  221. package/extensions/ublock/_locales/gl/messages.json +4 -0
  222. package/extensions/ublock/_locales/gu/messages.json +4 -0
  223. package/extensions/ublock/_locales/he/messages.json +4 -0
  224. package/extensions/ublock/_locales/hi/messages.json +4 -0
  225. package/extensions/ublock/_locales/hr/messages.json +4 -0
  226. package/extensions/ublock/_locales/hu/messages.json +4 -0
  227. package/extensions/ublock/_locales/hy/messages.json +4 -0
  228. package/extensions/ublock/_locales/id/messages.json +5 -1
  229. package/extensions/ublock/_locales/it/messages.json +4 -0
  230. package/extensions/ublock/_locales/ja/messages.json +4 -0
  231. package/extensions/ublock/_locales/ka/messages.json +34 -30
  232. package/extensions/ublock/_locales/kk/messages.json +4 -0
  233. package/extensions/ublock/_locales/kn/messages.json +4 -0
  234. package/extensions/ublock/_locales/ko/messages.json +4 -0
  235. package/extensions/ublock/_locales/ku/messages.json +4 -0
  236. package/extensions/ublock/_locales/lt/messages.json +4 -0
  237. package/extensions/ublock/_locales/lv/messages.json +4 -0
  238. package/extensions/ublock/_locales/mk/messages.json +4 -0
  239. package/extensions/ublock/_locales/ml/messages.json +4 -0
  240. package/extensions/ublock/_locales/mr/messages.json +4 -0
  241. package/extensions/ublock/_locales/ms/messages.json +13 -9
  242. package/extensions/ublock/_locales/nb/messages.json +4 -0
  243. package/extensions/ublock/_locales/nl/messages.json +4 -0
  244. package/extensions/ublock/_locales/no/messages.json +4 -0
  245. package/extensions/ublock/_locales/oc/messages.json +4 -0
  246. package/extensions/ublock/_locales/pa/messages.json +4 -0
  247. package/extensions/ublock/_locales/pl/messages.json +5 -1
  248. package/extensions/ublock/_locales/pt_BR/messages.json +4 -0
  249. package/extensions/ublock/_locales/pt_PT/messages.json +4 -0
  250. package/extensions/ublock/_locales/ro/messages.json +5 -1
  251. package/extensions/ublock/_locales/ru/messages.json +4 -0
  252. package/extensions/ublock/_locales/si/messages.json +4 -0
  253. package/extensions/ublock/_locales/sk/messages.json +4 -0
  254. package/extensions/ublock/_locales/sl/messages.json +4 -0
  255. package/extensions/ublock/_locales/so/messages.json +4 -0
  256. package/extensions/ublock/_locales/sq/messages.json +4 -0
  257. package/extensions/ublock/_locales/sr/messages.json +4 -0
  258. package/extensions/ublock/_locales/sv/messages.json +4 -0
  259. package/extensions/ublock/_locales/sw/messages.json +4 -0
  260. package/extensions/ublock/_locales/ta/messages.json +4 -0
  261. package/extensions/ublock/_locales/te/messages.json +4 -0
  262. package/extensions/ublock/_locales/th/messages.json +12 -8
  263. package/extensions/ublock/_locales/tr/messages.json +4 -0
  264. package/extensions/ublock/_locales/uk/messages.json +4 -0
  265. package/extensions/ublock/_locales/ur/messages.json +4 -0
  266. package/extensions/ublock/_locales/vi/messages.json +4 -0
  267. package/extensions/ublock/_locales/zh_CN/messages.json +6 -2
  268. package/extensions/ublock/_locales/zh_TW/messages.json +6 -2
  269. package/extensions/ublock/assets/assets.json +11 -11
  270. package/extensions/ublock/assets/resources/scriptlets.js +660 -378
  271. package/extensions/ublock/assets/thirdparties/easylist/easylist.txt +7173 -3455
  272. package/extensions/ublock/assets/thirdparties/easylist/easyprivacy.txt +18829 -1918
  273. package/extensions/ublock/assets/thirdparties/pgl.yoyo.org/as/serverlist +21 -26
  274. package/extensions/ublock/assets/thirdparties/publicsuffix.org/list/effective_tld_names.dat +118 -46
  275. package/extensions/ublock/assets/thirdparties/urlhaus-filter/urlhaus-filter-online.txt +710 -1117
  276. package/extensions/ublock/assets/ublock/badlists.txt +0 -4
  277. package/extensions/ublock/assets/ublock/badware.min.txt +116 -105
  278. package/extensions/ublock/assets/ublock/filters.min.txt +1443 -1097
  279. package/extensions/ublock/assets/ublock/privacy.min.txt +50 -31
  280. package/extensions/ublock/assets/ublock/quick-fixes.min.txt +97 -108
  281. package/extensions/ublock/assets/ublock/unbreak.min.txt +64 -21
  282. package/extensions/ublock/css/1p-filters.css +4 -0
  283. package/extensions/ublock/css/3p-filters.css +6 -4
  284. package/extensions/ublock/css/common.css +1 -1
  285. package/extensions/ublock/css/fa-icons.css +1 -0
  286. package/extensions/ublock/css/logger-ui.css +72 -52
  287. package/extensions/ublock/css/popup-fenix.css +1 -1
  288. package/extensions/ublock/img/fontawesome/fontawesome-defs.svg +1 -0
  289. package/extensions/ublock/js/3p-filters.js +3 -3
  290. package/extensions/ublock/js/assets.js +7 -4
  291. package/extensions/ublock/js/background.js +1 -3
  292. package/extensions/ublock/js/benchmarks.js +1 -0
  293. package/extensions/ublock/js/broadcast.js +12 -0
  294. package/extensions/ublock/js/click2load.js +2 -3
  295. package/extensions/ublock/js/codemirror/ubo-static-filtering.js +1 -0
  296. package/extensions/ublock/js/commands.js +10 -0
  297. package/extensions/ublock/js/contentscript-extra.js +13 -11
  298. package/extensions/ublock/js/contentscript.js +0 -31
  299. package/extensions/ublock/js/contextmenu.js +5 -1
  300. package/extensions/ublock/js/dyna-rules.js +83 -52
  301. package/extensions/ublock/js/fa-icons.js +1 -0
  302. package/extensions/ublock/js/filtering-context.js +0 -2
  303. package/extensions/ublock/js/i18n.js +1 -5
  304. package/extensions/ublock/js/logger-ui.js +71 -38
  305. package/extensions/ublock/js/logger.js +18 -14
  306. package/extensions/ublock/js/messaging.js +17 -5
  307. package/extensions/ublock/js/popup-fenix.js +6 -6
  308. package/extensions/ublock/js/scriptlet-filtering-core.js +14 -12
  309. package/extensions/ublock/js/scriptlet-filtering.js +149 -53
  310. package/extensions/ublock/js/scriptlets/scriptlet-loglevel-1.js +49 -0
  311. package/extensions/ublock/js/scriptlets/scriptlet-loglevel-2.js +49 -0
  312. package/extensions/ublock/js/scriptlets/should-inject-contentscript.js +1 -1
  313. package/extensions/ublock/js/static-dnr-filtering.js +4 -2
  314. package/extensions/ublock/js/static-filtering-parser.js +14 -8
  315. package/extensions/ublock/js/static-net-filtering.js +32 -30
  316. package/extensions/ublock/js/storage.js +18 -4
  317. package/extensions/ublock/js/traffic.js +3 -3
  318. package/extensions/ublock/js/ublock.js +1 -1
  319. package/extensions/ublock/js/vapi-background.js +15 -7
  320. package/extensions/ublock/logger-ui.html +18 -10
  321. package/extensions/ublock/manifest.json +4 -1
  322. package/extensions/ublock/web_accessible_resources/chartbeat.js +3 -0
  323. package/package.json +12 -11
  324. package/scripts/build-function.js +1 -1
  325. package/scripts/build-open-api.js +3 -2
  326. package/scripts/clean.js +6 -1
  327. package/scripts/install-debugger.js +20 -0
  328. package/scripts/install-devtools.js +40 -0
  329. package/src/browserless.ts +11 -9
  330. package/src/browsers/chrome.cdp.ts +10 -0
  331. package/src/browsers/chrome.playwright.ts +10 -0
  332. package/src/browsers/{cdp-chromium.ts → chromium.cdp.ts} +20 -13
  333. package/src/browsers/{playwright-chromium.ts → chromium.playwright.ts} +7 -6
  334. package/src/browsers/{playwright-firefox.ts → firefox.playwright.ts} +5 -5
  335. package/src/browsers/index.ts +160 -23
  336. package/src/browsers/{playwright-webkit.ts → webkit.playwright.ts} +5 -5
  337. package/src/exports.ts +6 -4
  338. package/src/http.ts +21 -0
  339. package/src/router.ts +21 -5
  340. package/src/routes/chrome/http/content.post.ts +14 -0
  341. package/src/routes/chrome/http/download.post.ts +14 -0
  342. package/src/routes/chrome/http/function.post.ts +14 -0
  343. package/src/routes/chrome/http/json-list.get.ts +1 -0
  344. package/src/routes/chrome/http/json-new.put.ts +1 -0
  345. package/src/routes/chrome/http/json-protocol.get.ts +1 -0
  346. package/src/routes/chrome/http/json-version.get.ts +1 -0
  347. package/src/routes/chrome/http/pdf.post.ts +14 -0
  348. package/src/routes/chrome/http/performance.post.ts +14 -0
  349. package/src/routes/chrome/http/scrape.post.ts +14 -0
  350. package/src/routes/chrome/http/screenshot.post.ts +14 -0
  351. package/src/routes/chrome/tests/content.spec.ts +375 -0
  352. package/src/routes/chrome/tests/download.spec.ts +77 -0
  353. package/src/routes/chrome/tests/function.spec.ts +282 -0
  354. package/src/routes/chrome/tests/json-version.spec.ts +52 -0
  355. package/src/routes/chrome/tests/page-websocket.spec.ts +129 -0
  356. package/src/routes/chrome/tests/pdf.spec.ts +380 -0
  357. package/src/routes/chrome/tests/performance.spec.ts +155 -0
  358. package/src/routes/chrome/tests/scrape.spec.ts +417 -0
  359. package/src/routes/chrome/tests/screenshot.spec.ts +387 -0
  360. package/src/routes/chrome/tests/websocket.spec.ts +491 -0
  361. package/src/routes/chrome/ws/browser.ts +8 -0
  362. package/src/routes/chrome/ws/cdp.ts +12 -0
  363. package/src/routes/chrome/ws/page.ts +8 -0
  364. package/src/routes/chrome/ws/playwright.ts +12 -0
  365. package/src/routes/chromium/http/content.post.ts +6 -0
  366. package/src/routes/chromium/http/download.post.ts +6 -0
  367. package/src/routes/chromium/http/function.post.ts +6 -0
  368. package/src/routes/chromium/http/json-list.get.ts +1 -0
  369. package/src/routes/chromium/http/json-new.put.ts +1 -0
  370. package/src/routes/chromium/http/json-protocol.get.ts +1 -0
  371. package/src/routes/chromium/http/json-version.get.ts +1 -0
  372. package/src/routes/chromium/http/pdf.post.ts +6 -0
  373. package/src/routes/chromium/http/performance.post.ts +6 -0
  374. package/src/routes/chromium/http/scrape.post.ts +6 -0
  375. package/src/routes/chromium/http/screenshot.post.ts +6 -0
  376. package/src/routes/chromium/tests/content.spec.ts +36 -28
  377. package/src/routes/chromium/tests/download.spec.ts +3 -3
  378. package/src/routes/chromium/tests/function.spec.ts +18 -15
  379. package/src/routes/chromium/tests/page-websocket.spec.ts +129 -0
  380. package/src/routes/chromium/tests/pdf.spec.ts +31 -26
  381. package/src/routes/chromium/tests/performance.spec.ts +46 -34
  382. package/src/routes/chromium/tests/scrape.spec.ts +23 -20
  383. package/src/routes/chromium/tests/screenshot.spec.ts +24 -24
  384. package/src/routes/chromium/tests/websocket.spec.ts +31 -40
  385. package/src/routes/chromium/ws/browser.ts +1 -29
  386. package/src/routes/chromium/ws/cdp.ts +1 -0
  387. package/src/routes/chromium/ws/page.ts +1 -29
  388. package/src/routes/chromium/ws/playwright.ts +4 -0
  389. package/src/routes/firefox/ws/{playwright-firefox.ts → playwright.ts} +5 -5
  390. package/src/routes/management/http/{static-get.ts → static.get.ts} +2 -2
  391. package/src/routes/webkit/ws/{playwright-webkit.ts → playwright.ts} +5 -5
  392. package/src/shared/browser.ws.ts +34 -0
  393. package/src/{routes/chromium/ws/playwright-chromium.ts → shared/chromium.playwright.ws.ts} +7 -4
  394. package/src/{routes/chromium/ws/cdp-chromium.ts → shared/chromium.ws.ts} +6 -6
  395. package/src/{routes/chromium/http/content-post.ts → shared/content.http.ts} +4 -4
  396. package/src/{routes/chromium/http/download-post.ts → shared/download.http.ts} +4 -4
  397. package/src/{routes/chromium/http/function-post.ts → shared/function.http.ts} +4 -4
  398. package/src/shared/json-list.http.ts +35 -0
  399. package/src/{routes/chromium/http/json-new.ts → shared/json-new.http.ts} +23 -7
  400. package/src/{routes/chromium/http/json-protocol-get.ts → shared/json-protocol.http.ts} +3 -5
  401. package/src/{routes/chromium/http/json-version-get.ts → shared/json-version.http.ts} +4 -5
  402. package/src/shared/page.ws.ts +35 -0
  403. package/src/{routes/chromium/http/pdf-post.ts → shared/pdf.http.ts} +4 -4
  404. package/src/{routes/chromium/http/performance.ts → shared/performance.http.ts} +4 -4
  405. package/src/{routes/chromium/http/scrape-post.ts → shared/scrape.http.ts} +4 -4
  406. package/src/{routes/chromium/http/screenshot-post.ts → shared/screenshot.http.ts} +4 -4
  407. package/src/{routes/chromium → shared}/utils/function/handler.ts +2 -2
  408. package/src/{routes/chromium → shared}/utils/performance/main.ts +1 -2
  409. package/src/shim.ts +2 -1
  410. package/src/types.ts +27 -20
  411. package/src/utils.ts +32 -14
  412. package/static/devtools/Images/accelerometer-back.svg +1 -0
  413. package/static/devtools/Images/accelerometer-bottom.png +0 -0
  414. package/static/devtools/Images/accelerometer-front.svg +1 -0
  415. package/static/devtools/Images/accelerometer-left.png +0 -0
  416. package/static/devtools/Images/accelerometer-right.png +0 -0
  417. package/static/devtools/Images/accelerometer-top.png +0 -0
  418. package/static/devtools/Images/baseline-icon.svg +1 -0
  419. package/static/devtools/Images/breaking_change_icon.svg +1 -0
  420. package/static/devtools/Images/checkboxCheckmark.svg +1 -0
  421. package/static/devtools/Images/checker.png +0 -0
  422. package/static/devtools/Images/chevrons.svg +1 -0
  423. package/static/devtools/Images/chromeDisabledSelect.png +0 -0
  424. package/static/devtools/Images/chromeDisabledSelect_2x.png +0 -0
  425. package/static/devtools/Images/chromeLeft.avif +0 -0
  426. package/static/devtools/Images/chromeMiddle.avif +0 -0
  427. package/static/devtools/Images/chromeRight.avif +0 -0
  428. package/static/devtools/Images/chromeSelect.svg +1 -0
  429. package/static/devtools/Images/chromeSelectDark.svg +1 -0
  430. package/static/devtools/Images/cssoverview_icons_2x.avif +0 -0
  431. package/static/devtools/Images/dropdown_7x6_icon.svg +1 -0
  432. package/static/devtools/Images/elements_panel_icon.svg +1 -0
  433. package/static/devtools/Images/errorWave.svg +1 -0
  434. package/static/devtools/Images/error_icon.svg +1 -0
  435. package/static/devtools/Images/feedback_thin_16x16_icon.svg +1 -0
  436. package/static/devtools/Images/flex-align-content-center-icon.svg +1 -0
  437. package/static/devtools/Images/flex-align-content-end-icon.svg +1 -0
  438. package/static/devtools/Images/flex-align-content-space-around-icon.svg +1 -0
  439. package/static/devtools/Images/flex-align-content-space-between-icon.svg +1 -0
  440. package/static/devtools/Images/flex-align-content-space-evenly-icon.svg +1 -0
  441. package/static/devtools/Images/flex-align-content-start-icon.svg +1 -0
  442. package/static/devtools/Images/flex-align-content-stretch-icon.svg +1 -0
  443. package/static/devtools/Images/flex-align-items-center-icon.svg +1 -0
  444. package/static/devtools/Images/flex-align-items-flex-end-icon.svg +1 -0
  445. package/static/devtools/Images/flex-align-items-flex-start-icon.svg +1 -0
  446. package/static/devtools/Images/flex-align-items-stretch-icon.svg +1 -0
  447. package/static/devtools/Images/flex-align-self-center-icon.svg +1 -0
  448. package/static/devtools/Images/flex-align-self-flex-end-icon.svg +1 -0
  449. package/static/devtools/Images/flex-align-self-flex-start-icon.svg +1 -0
  450. package/static/devtools/Images/flex-align-self-stretch-icon.svg +1 -0
  451. package/static/devtools/Images/flex-direction-icon.svg +1 -0
  452. package/static/devtools/Images/flex-justify-content-center-icon.svg +1 -0
  453. package/static/devtools/Images/flex-justify-content-flex-end-icon.svg +1 -0
  454. package/static/devtools/Images/flex-justify-content-flex-start-icon.svg +1 -0
  455. package/static/devtools/Images/flex-justify-content-space-around-icon.svg +1 -0
  456. package/static/devtools/Images/flex-justify-content-space-between-icon.svg +1 -0
  457. package/static/devtools/Images/flex-justify-content-space-evenly-icon.svg +1 -0
  458. package/static/devtools/Images/ic_checkmark_16x16.svg +3 -0
  459. package/static/devtools/Images/ic_delete_filter.svg +1 -0
  460. package/static/devtools/Images/ic_delete_list.svg +1 -0
  461. package/static/devtools/Images/ic_info_black_18dp.svg +1 -0
  462. package/static/devtools/Images/ic_page_next_16x16_icon.svg +1 -0
  463. package/static/devtools/Images/ic_page_prev_16x16_icon.svg +1 -0
  464. package/static/devtools/Images/ic_redo_16x16_icon.svg +1 -0
  465. package/static/devtools/Images/ic_show_node_16x16.svg +4 -0
  466. package/static/devtools/Images/ic_suggest_color.svg +6 -0
  467. package/static/devtools/Images/ic_undo_16x16_icon.svg +1 -0
  468. package/static/devtools/Images/ic_warning_black_18dp.svg +1 -0
  469. package/static/devtools/Images/issue-text-icon.svg +1 -0
  470. package/static/devtools/Images/largeIcons.svg +1 -0
  471. package/static/devtools/Images/lighthouse_logo.svg +1 -0
  472. package/static/devtools/Images/link_icon.svg +1 -0
  473. package/static/devtools/Images/mediumIcons.svg +1 -0
  474. package/static/devtools/Images/navigationControls.png +0 -0
  475. package/static/devtools/Images/navigationControls_2x.png +0 -0
  476. package/static/devtools/Images/network_panel_icon.svg +1 -0
  477. package/static/devtools/Images/nodeIcon.avif +0 -0
  478. package/static/devtools/Images/node_search_icon.svg +1 -0
  479. package/static/devtools/Images/popoverArrows.png +0 -0
  480. package/static/devtools/Images/profileGroupIcon.png +0 -0
  481. package/static/devtools/Images/profileIcon.png +0 -0
  482. package/static/devtools/Images/profileSmallIcon.png +0 -0
  483. package/static/devtools/Images/radioDot-dark-theme.png +0 -0
  484. package/static/devtools/Images/radioDot.png +0 -0
  485. package/static/devtools/Images/refresh_12x12_icon.svg +1 -0
  486. package/static/devtools/Images/resizeDiagonal.svg +1 -0
  487. package/static/devtools/Images/resizeHorizontal.svg +1 -0
  488. package/static/devtools/Images/resizeVertical.svg +1 -0
  489. package/static/devtools/Images/resourceCSSIcon.png +0 -0
  490. package/static/devtools/Images/resourceDocumentIcon.png +0 -0
  491. package/static/devtools/Images/resourceDocumentIconSmall.png +0 -0
  492. package/static/devtools/Images/resourceJSIcon.png +0 -0
  493. package/static/devtools/Images/resourcePlainIcon.png +0 -0
  494. package/static/devtools/Images/resourcePlainIconSmall.png +0 -0
  495. package/static/devtools/Images/resourcesTimeGraphIcon.avif +0 -0
  496. package/static/devtools/Images/searchNext.png +0 -0
  497. package/static/devtools/Images/searchPrev.png +0 -0
  498. package/static/devtools/Images/securityIcons.svg +1 -0
  499. package/static/devtools/Images/settings_14x14_icon.svg +1 -0
  500. package/static/devtools/Images/smallIcons.svg +1 -0
  501. package/static/devtools/Images/sources_panel_icon.svg +1 -0
  502. package/static/devtools/Images/speech.png +0 -0
  503. package/static/devtools/Images/toolbarResizerVertical.png +0 -0
  504. package/static/devtools/Images/touchCursor.png +0 -0
  505. package/static/devtools/Images/touchCursor_2x.png +0 -0
  506. package/static/devtools/Images/treeoutlineTriangles.svg +1 -0
  507. package/static/devtools/Images/warning_icon.svg +1 -0
  508. package/static/devtools/Images/whatsnew.avif +0 -0
  509. package/static/devtools/Tests.js +1654 -0
  510. package/static/devtools/accessibility/accessibility-legacy.js +1 -0
  511. package/static/devtools/accessibility/accessibility-meta.js +1 -0
  512. package/static/devtools/accessibility/accessibility.js +1 -0
  513. package/static/devtools/accessibility/accessibility_module.js +1 -0
  514. package/static/devtools/accessibility_test_runner/accessibility_test_runner.js +77 -0
  515. package/static/devtools/accessibility_test_runner/accessibility_test_runner_module.js +0 -0
  516. package/static/devtools/animation/animation-legacy.js +1 -0
  517. package/static/devtools/animation/animation-meta.js +1 -0
  518. package/static/devtools/animation/animation.js +1 -0
  519. package/static/devtools/animation/animation_module.js +1 -0
  520. package/static/devtools/application_test_runner/AppcacheTestRunner.js +220 -0
  521. package/static/devtools/application_test_runner/CacheStorageTestRunner.js +286 -0
  522. package/static/devtools/application_test_runner/IndexedDBTestRunner.js +476 -0
  523. package/static/devtools/application_test_runner/ResourceTreeTestRunner.js +99 -0
  524. package/static/devtools/application_test_runner/ResourcesTestRunner.js +167 -0
  525. package/static/devtools/application_test_runner/ServiceWorkersTestRunner.js +131 -0
  526. package/static/devtools/application_test_runner/application_test_runner.js +10 -0
  527. package/static/devtools/application_test_runner/application_test_runner_module.js +0 -0
  528. package/static/devtools/axe_core_test_runner/axe_core_test_runner.js +174 -0
  529. package/static/devtools/axe_core_test_runner/axe_core_test_runner_module.js +0 -0
  530. package/static/devtools/bindings/bindings-legacy.js +1 -0
  531. package/static/devtools/bindings/bindings.js +1 -0
  532. package/static/devtools/bindings_test_runner/AutomappingTestRunner.js +130 -0
  533. package/static/devtools/bindings_test_runner/BindingsTestRunner.js +238 -0
  534. package/static/devtools/bindings_test_runner/IsolatedFilesystemTestRunner.js +287 -0
  535. package/static/devtools/bindings_test_runner/OverridesTestRunner.js +26 -0
  536. package/static/devtools/bindings_test_runner/PersistenceTestRunner.js +109 -0
  537. package/static/devtools/bindings_test_runner/bindings_test_runner.js +9 -0
  538. package/static/devtools/bindings_test_runner/bindings_test_runner_module.js +0 -0
  539. package/static/devtools/browser_debugger/browser_debugger-legacy.js +1 -0
  540. package/static/devtools/browser_debugger/browser_debugger-meta.js +1 -0
  541. package/static/devtools/browser_debugger/browser_debugger.js +1 -0
  542. package/static/devtools/browser_debugger/browser_debugger_module.js +1 -0
  543. package/static/devtools/browser_sdk/browser_sdk-meta.js +1 -0
  544. package/static/devtools/browser_sdk/browser_sdk.js +1 -0
  545. package/static/devtools/changes/changes-legacy.js +1 -0
  546. package/static/devtools/changes/changes-meta.js +1 -0
  547. package/static/devtools/changes/changes.js +1 -0
  548. package/static/devtools/changes/changes_module.js +1 -0
  549. package/static/devtools/client_variations/client_variations.js +1 -0
  550. package/static/devtools/client_variations/client_variations_module.js +0 -0
  551. package/static/devtools/cm/cm.js +1 -0
  552. package/static/devtools/cm/cm_module.js +1 -0
  553. package/static/devtools/cm_headless/cm_headless.js +1 -0
  554. package/static/devtools/color_picker/color_picker-legacy.js +1 -0
  555. package/static/devtools/color_picker/color_picker.js +1 -0
  556. package/static/devtools/color_picker/color_picker_module.js +1 -0
  557. package/static/devtools/common/common-legacy.js +1 -0
  558. package/static/devtools/common/common.js +1 -0
  559. package/static/devtools/component_helpers/component_helpers.js +1 -0
  560. package/static/devtools/components/components-legacy.js +1 -0
  561. package/static/devtools/components/components.js +1 -0
  562. package/static/devtools/console/console-legacy.js +1 -0
  563. package/static/devtools/console/console-meta.js +1 -0
  564. package/static/devtools/console/console.js +6 -0
  565. package/static/devtools/console/console_module.js +1 -0
  566. package/static/devtools/console_counters/console_counters-legacy.js +1 -0
  567. package/static/devtools/console_counters/console_counters.js +1 -0
  568. package/static/devtools/console_test_runner/console_test_runner.js +696 -0
  569. package/static/devtools/console_test_runner/console_test_runner_module.js +0 -0
  570. package/static/devtools/cookie_table/cookie_table-legacy.js +1 -0
  571. package/static/devtools/cookie_table/cookie_table.js +1 -0
  572. package/static/devtools/cookie_table/cookie_table_module.js +1 -0
  573. package/static/devtools/coverage/coverage-legacy.js +1 -0
  574. package/static/devtools/coverage/coverage-meta.js +1 -0
  575. package/static/devtools/coverage/coverage.js +1 -0
  576. package/static/devtools/coverage/coverage_module.js +1 -0
  577. package/static/devtools/coverage_test_runner/coverage_test_runner.js +151 -0
  578. package/static/devtools/coverage_test_runner/coverage_test_runner_module.js +0 -0
  579. package/static/devtools/cpu_profiler_test_runner/cpu_profiler_test_runner.js +72 -0
  580. package/static/devtools/cpu_profiler_test_runner/cpu_profiler_test_runner_module.js +0 -0
  581. package/static/devtools/css_overview/css_overview-meta.js +1 -0
  582. package/static/devtools/css_overview/css_overview.js +146 -0
  583. package/static/devtools/css_overview/css_overview_module.js +1 -0
  584. package/static/devtools/data_grid/data_grid-legacy.js +1 -0
  585. package/static/devtools/data_grid/data_grid.js +1 -0
  586. package/static/devtools/data_grid/data_grid_module.js +1 -0
  587. package/static/devtools/data_grid_test_runner/data_grid_test_runner.js +78 -0
  588. package/static/devtools/data_grid_test_runner/data_grid_test_runner_module.js +0 -0
  589. package/static/devtools/developer_resources/developer_resources-legacy.js +1 -0
  590. package/static/devtools/developer_resources/developer_resources-meta.js +1 -0
  591. package/static/devtools/developer_resources/developer_resources.js +1 -0
  592. package/static/devtools/developer_resources/developer_resources_module.js +1 -0
  593. package/static/devtools/device_mode_test_runner/device_mode_test_runner.js +45 -0
  594. package/static/devtools/device_mode_test_runner/device_mode_test_runner_module.js +0 -0
  595. package/static/devtools/devtools_app.html +20 -0
  596. package/static/devtools/devtools_app.js +1 -0
  597. package/static/devtools/devtools_compatibility.js +1546 -0
  598. package/static/devtools/diff/diff-legacy.js +1 -0
  599. package/static/devtools/diff/diff.js +1 -0
  600. package/static/devtools/diff/diff_module.js +0 -0
  601. package/static/devtools/dom_extension/dom_extension.js +1 -0
  602. package/static/devtools/elements/elements-legacy.js +1 -0
  603. package/static/devtools/elements/elements-meta.js +1 -0
  604. package/static/devtools/elements/elements.js +469 -0
  605. package/static/devtools/elements/elements_module.js +1 -0
  606. package/static/devtools/elements_test_runner/EditDOMTestRunner.js +78 -0
  607. package/static/devtools/elements_test_runner/ElementsPanelShadowSelectionOnRefreshTestRunner.js +39 -0
  608. package/static/devtools/elements_test_runner/ElementsTestRunner.js +1280 -0
  609. package/static/devtools/elements_test_runner/SetOuterHTMLTestRunner.js +115 -0
  610. package/static/devtools/elements_test_runner/StylesUpdateLinksTestRunner.js +134 -0
  611. package/static/devtools/elements_test_runner/elements_test_runner.js +9 -0
  612. package/static/devtools/elements_test_runner/elements_test_runner_module.js +0 -0
  613. package/static/devtools/emulated_devices/emulated_devices_module.js +0 -0
  614. package/static/devtools/emulated_devices/optimized/MotoG4-landscape.avif +0 -0
  615. package/static/devtools/emulated_devices/optimized/MotoG4-portrait.avif +0 -0
  616. package/static/devtools/emulated_devices/optimized/Nexus5X-landscape.avif +0 -0
  617. package/static/devtools/emulated_devices/optimized/Nexus5X-portrait.avif +0 -0
  618. package/static/devtools/emulated_devices/optimized/Nexus6P-landscape.avif +0 -0
  619. package/static/devtools/emulated_devices/optimized/Nexus6P-portrait.avif +0 -0
  620. package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-default-1x.avif +0 -0
  621. package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-default-2x.avif +0 -0
  622. package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-1x.avif +0 -0
  623. package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-2x.avif +0 -0
  624. package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-navigation-1x.avif +0 -0
  625. package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-navigation-2x.avif +0 -0
  626. package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-default-1x.avif +0 -0
  627. package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-default-2x.avif +0 -0
  628. package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-keyboard-1x.avif +0 -0
  629. package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-keyboard-2x.avif +0 -0
  630. package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-navigation-1x.avif +0 -0
  631. package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-navigation-2x.avif +0 -0
  632. package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-default-1x.avif +0 -0
  633. package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-default-2x.avif +0 -0
  634. package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-1x.avif +0 -0
  635. package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-2x.avif +0 -0
  636. package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-1x.avif +0 -0
  637. package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-2x.avif +0 -0
  638. package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-default-1x.avif +0 -0
  639. package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-default-2x.avif +0 -0
  640. package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-1x.avif +0 -0
  641. package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-2x.avif +0 -0
  642. package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-navigation-1x.avif +0 -0
  643. package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-navigation-2x.avif +0 -0
  644. package/static/devtools/emulated_devices/optimized/iPad-landscape.avif +0 -0
  645. package/static/devtools/emulated_devices/optimized/iPad-portrait.avif +0 -0
  646. package/static/devtools/emulated_devices/optimized/iPhone5-landscape.avif +0 -0
  647. package/static/devtools/emulated_devices/optimized/iPhone5-portrait.avif +0 -0
  648. package/static/devtools/emulated_devices/optimized/iPhone6-landscape.avif +0 -0
  649. package/static/devtools/emulated_devices/optimized/iPhone6-portrait.avif +0 -0
  650. package/static/devtools/emulated_devices/optimized/iPhone6Plus-landscape.avif +0 -0
  651. package/static/devtools/emulated_devices/optimized/iPhone6Plus-portrait.avif +0 -0
  652. package/static/devtools/emulation/emulation-legacy.js +1 -0
  653. package/static/devtools/emulation/emulation-meta.js +1 -0
  654. package/static/devtools/emulation/emulation.js +1 -0
  655. package/static/devtools/event_listeners/event_listeners-legacy.js +1 -0
  656. package/static/devtools/event_listeners/event_listeners.js +1 -0
  657. package/static/devtools/event_listeners/event_listeners_module.js +1 -0
  658. package/static/devtools/extensions/extensions-legacy.js +1 -0
  659. package/static/devtools/extensions/extensions.js +1 -0
  660. package/static/devtools/extensions_test_runner/ExtensionsNetworkTestRunner.js +27 -0
  661. package/static/devtools/extensions_test_runner/ExtensionsTestRunner.js +68 -0
  662. package/static/devtools/extensions_test_runner/extensions_test_runner.js +6 -0
  663. package/static/devtools/extensions_test_runner/extensions_test_runner_module.js +0 -0
  664. package/static/devtools/formatter/formatter-legacy.js +1 -0
  665. package/static/devtools/formatter/formatter.js +1 -0
  666. package/static/devtools/formatter/formatter_module.js +0 -0
  667. package/static/devtools/formatter_worker/FormatterActions.js +1 -0
  668. package/static/devtools/formatter_worker/formatter_worker-entrypoint.js +1 -0
  669. package/static/devtools/formatter_worker/formatter_worker.js +1 -0
  670. package/static/devtools/har_importer/har_importer-legacy.js +1 -0
  671. package/static/devtools/har_importer/har_importer.js +1 -0
  672. package/static/devtools/har_importer/har_importer_module.js +0 -0
  673. package/static/devtools/heap_profiler_test_runner/heap_profiler_test_runner.js +740 -0
  674. package/static/devtools/heap_profiler_test_runner/heap_profiler_test_runner_module.js +0 -0
  675. package/static/devtools/heap_snapshot_model/heap_snapshot_model-legacy.js +1 -0
  676. package/static/devtools/heap_snapshot_model/heap_snapshot_model.js +1 -0
  677. package/static/devtools/heap_snapshot_model/heap_snapshot_model_module.js +0 -0
  678. package/static/devtools/heap_snapshot_worker/heap_snapshot_worker-entrypoint.js +1 -0
  679. package/static/devtools/heap_snapshot_worker/heap_snapshot_worker-legacy.js +1 -0
  680. package/static/devtools/heap_snapshot_worker/heap_snapshot_worker.js +1 -0
  681. package/static/devtools/heap_snapshot_worker/heap_snapshot_worker_module.js +0 -0
  682. package/static/devtools/help/help-legacy.js +1 -0
  683. package/static/devtools/help/help-meta.js +1 -0
  684. package/static/devtools/help/help.js +1 -0
  685. package/static/devtools/help/help_module.js +1 -0
  686. package/static/devtools/host/host-legacy.js +1 -0
  687. package/static/devtools/host/host.js +1 -0
  688. package/static/devtools/i18n/i18n.js +1 -0
  689. package/static/devtools/i18n/i18n_locales-tsconfig.json +8 -0
  690. package/static/devtools/i18n/locales/en-US.json +3566 -0
  691. package/static/devtools/inline_editor/inline_editor-legacy.js +1 -0
  692. package/static/devtools/inline_editor/inline_editor.js +203 -0
  693. package/static/devtools/inline_editor/inline_editor_module.js +1 -0
  694. package/static/devtools/input/input-legacy.js +1 -0
  695. package/static/devtools/input/input-meta.js +1 -0
  696. package/static/devtools/input/input.js +1 -0
  697. package/static/devtools/input/input_module.js +1 -0
  698. package/static/devtools/inspector.html +20 -0
  699. package/static/devtools/inspector.js +1 -0
  700. package/static/devtools/inspector_main/inspector_main-legacy.js +1 -0
  701. package/static/devtools/inspector_main/inspector_main-meta.js +1 -0
  702. package/static/devtools/inspector_main/inspector_main.js +1 -0
  703. package/static/devtools/integration_test_runner.html +14 -0
  704. package/static/devtools/integration_test_runner.js +2 -0
  705. package/static/devtools/issues/issues-legacy.js +1 -0
  706. package/static/devtools/issues/issues-meta.js +1 -0
  707. package/static/devtools/issues/issues.js +67 -0
  708. package/static/devtools/issues/issues_module.js +1 -0
  709. package/static/devtools/javascript_metadata/javascript_metadata-legacy.js +1 -0
  710. package/static/devtools/javascript_metadata/javascript_metadata.js +1 -0
  711. package/static/devtools/javascript_metadata/javascript_metadata_module.js +0 -0
  712. package/static/devtools/js_app.html +20 -0
  713. package/static/devtools/js_app.js +1 -0
  714. package/static/devtools/js_main/js_main-legacy.js +1 -0
  715. package/static/devtools/js_main/js_main.js +1 -0
  716. package/static/devtools/js_profiler/js_profiler-meta.js +1 -0
  717. package/static/devtools/js_profiler/js_profiler.js +1 -0
  718. package/static/devtools/js_profiler/js_profiler_module.js +0 -0
  719. package/static/devtools/layer_viewer/layer_viewer-legacy.js +1 -0
  720. package/static/devtools/layer_viewer/layer_viewer.js +1 -0
  721. package/static/devtools/layer_viewer/layer_viewer_module.js +1 -0
  722. package/static/devtools/layers/layers-legacy.js +1 -0
  723. package/static/devtools/layers/layers-meta.js +1 -0
  724. package/static/devtools/layers/layers.js +1 -0
  725. package/static/devtools/layers/layers_module.js +0 -0
  726. package/static/devtools/layers_test_runner/layers_test_runner.js +156 -0
  727. package/static/devtools/layers_test_runner/layers_test_runner_module.js +0 -0
  728. package/static/devtools/lighthouse/lighthouse-legacy.js +1 -0
  729. package/static/devtools/lighthouse/lighthouse-meta.js +1 -0
  730. package/static/devtools/lighthouse/lighthouse.js +70 -0
  731. package/static/devtools/lighthouse/lighthouse_module.js +1 -0
  732. package/static/devtools/lighthouse_test_runner/lighthouse_test_runner.js +136 -0
  733. package/static/devtools/lighthouse_test_runner/lighthouse_test_runner_module.js +0 -0
  734. package/static/devtools/lighthouse_worker/LighthouseService.js +195 -0
  735. package/static/devtools/lighthouse_worker/lighthouse_worker.js +6 -0
  736. package/static/devtools/lighthouse_worker.js +1 -0
  737. package/static/devtools/linear_memory_inspector/linear_memory_inspector-legacy.js +1 -0
  738. package/static/devtools/linear_memory_inspector/linear_memory_inspector-meta.js +1 -0
  739. package/static/devtools/linear_memory_inspector/linear_memory_inspector.js +399 -0
  740. package/static/devtools/linear_memory_inspector/linear_memory_inspector_module.js +0 -0
  741. package/static/devtools/main/main-legacy.js +1 -0
  742. package/static/devtools/main/main.js +1 -0
  743. package/static/devtools/media/media-legacy.js +1 -0
  744. package/static/devtools/media/media-meta.js +1 -0
  745. package/static/devtools/media/media.js +1 -0
  746. package/static/devtools/media/media_module.js +1 -0
  747. package/static/devtools/mobile_throttling/mobile_throttling-legacy.js +1 -0
  748. package/static/devtools/mobile_throttling/mobile_throttling-meta.js +1 -0
  749. package/static/devtools/mobile_throttling/mobile_throttling.js +1 -0
  750. package/static/devtools/ndb_app.html +20 -0
  751. package/static/devtools/ndb_app.js +1 -0
  752. package/static/devtools/network/network-legacy.js +1 -0
  753. package/static/devtools/network/network-meta.js +1 -0
  754. package/static/devtools/network/network.js +72 -0
  755. package/static/devtools/network/network_module.js +1 -0
  756. package/static/devtools/network_test_runner/network_test_runner.js +280 -0
  757. package/static/devtools/network_test_runner/network_test_runner_module.js +0 -0
  758. package/static/devtools/node_app.html +20 -0
  759. package/static/devtools/node_app.js +1 -0
  760. package/static/devtools/node_debugger/node_debugger-meta.js +1 -0
  761. package/static/devtools/node_debugger/node_debugger.js +1 -0
  762. package/static/devtools/node_debugger/node_debugger_module.js +0 -0
  763. package/static/devtools/node_main/node_main-legacy.js +1 -0
  764. package/static/devtools/node_main/node_main-meta.js +1 -0
  765. package/static/devtools/node_main/node_main.js +1 -0
  766. package/static/devtools/object_ui/object_ui-legacy.js +1 -0
  767. package/static/devtools/object_ui/object_ui.js +3 -0
  768. package/static/devtools/object_ui/object_ui_module.js +1 -0
  769. package/static/devtools/perf_ui/perf_ui-legacy.js +1 -0
  770. package/static/devtools/perf_ui/perf_ui.js +152 -0
  771. package/static/devtools/perf_ui/perf_ui_module.js +1 -0
  772. package/static/devtools/performance_monitor/performance_monitor-legacy.js +1 -0
  773. package/static/devtools/performance_monitor/performance_monitor-meta.js +1 -0
  774. package/static/devtools/performance_monitor/performance_monitor.js +1 -0
  775. package/static/devtools/performance_monitor/performance_monitor_module.js +1 -0
  776. package/static/devtools/performance_test_runner/TimelineDataTestRunner.js +5375 -0
  777. package/static/devtools/performance_test_runner/TimelineTestRunner.js +446 -0
  778. package/static/devtools/performance_test_runner/performance_test_runner.js +6 -0
  779. package/static/devtools/performance_test_runner/performance_test_runner_module.js +0 -0
  780. package/static/devtools/persistence/persistence-legacy.js +1 -0
  781. package/static/devtools/persistence/persistence-meta.js +1 -0
  782. package/static/devtools/persistence/persistence.js +1 -0
  783. package/static/devtools/platform/platform.js +1 -0
  784. package/static/devtools/profiler/profiler-legacy.js +1 -0
  785. package/static/devtools/profiler/profiler-meta.js +1 -0
  786. package/static/devtools/profiler/profiler.js +8 -0
  787. package/static/devtools/profiler/profiler_module.js +1 -0
  788. package/static/devtools/protocol_client/protocol_client-legacy.js +1 -0
  789. package/static/devtools/protocol_client/protocol_client.js +1 -0
  790. package/static/devtools/protocol_monitor/protocol_monitor-legacy.js +1 -0
  791. package/static/devtools/protocol_monitor/protocol_monitor-meta.js +1 -0
  792. package/static/devtools/protocol_monitor/protocol_monitor.js +1 -0
  793. package/static/devtools/protocol_monitor/protocol_monitor_module.js +1 -0
  794. package/static/devtools/quick_open/quick_open-legacy.js +1 -0
  795. package/static/devtools/quick_open/quick_open.js +1 -0
  796. package/static/devtools/quick_open/quick_open_module.js +1 -0
  797. package/static/devtools/recorder/recorder.js +1 -0
  798. package/static/devtools/resources/resources-legacy.js +1 -0
  799. package/static/devtools/resources/resources-meta.js +1 -0
  800. package/static/devtools/resources/resources.js +28 -0
  801. package/static/devtools/resources/resources_module.js +1 -0
  802. package/static/devtools/root/root-legacy.js +1 -0
  803. package/static/devtools/root/root.js +1 -0
  804. package/static/devtools/screencast/screencast-legacy.js +1 -0
  805. package/static/devtools/screencast/screencast.js +1 -0
  806. package/static/devtools/sdk/sdk-legacy.js +1 -0
  807. package/static/devtools/sdk/sdk.js +2 -0
  808. package/static/devtools/sdk_test_runner/sdk_test_runner.js +297 -0
  809. package/static/devtools/sdk_test_runner/sdk_test_runner_module.js +0 -0
  810. package/static/devtools/search/search-legacy.js +1 -0
  811. package/static/devtools/search/search.js +1 -0
  812. package/static/devtools/search/search_module.js +1 -0
  813. package/static/devtools/security/security-legacy.js +1 -0
  814. package/static/devtools/security/security-meta.js +1 -0
  815. package/static/devtools/security/security.js +1 -0
  816. package/static/devtools/security/security_module.js +1 -0
  817. package/static/devtools/security_test_runner/security_test_runner.js +32 -0
  818. package/static/devtools/security_test_runner/security_test_runner_module.js +0 -0
  819. package/static/devtools/services/services-legacy.js +1 -0
  820. package/static/devtools/services/services.js +1 -0
  821. package/static/devtools/settings/settings-legacy.js +1 -0
  822. package/static/devtools/settings/settings-meta.js +1 -0
  823. package/static/devtools/settings/settings.js +1 -0
  824. package/static/devtools/settings/settings_module.js +1 -0
  825. package/static/devtools/shell.js +1 -0
  826. package/static/devtools/snippets/snippets-legacy.js +1 -0
  827. package/static/devtools/snippets/snippets.js +1 -0
  828. package/static/devtools/snippets/snippets_module.js +0 -0
  829. package/static/devtools/source_frame/source_frame-legacy.js +1 -0
  830. package/static/devtools/source_frame/source_frame.js +1 -0
  831. package/static/devtools/source_frame/source_frame_module.js +1 -0
  832. package/static/devtools/sources/sources-legacy.js +1 -0
  833. package/static/devtools/sources/sources-meta.js +1 -0
  834. package/static/devtools/sources/sources.js +13 -0
  835. package/static/devtools/sources/sources_module.js +1 -0
  836. package/static/devtools/sources_test_runner/AutocompleteTestRunner.js +46 -0
  837. package/static/devtools/sources_test_runner/DebuggerTestRunner.js +895 -0
  838. package/static/devtools/sources_test_runner/EditorTestRunner.js +237 -0
  839. package/static/devtools/sources_test_runner/LiveEditTestRunner.js +33 -0
  840. package/static/devtools/sources_test_runner/SearchTestRunner.js +158 -0
  841. package/static/devtools/sources_test_runner/SourcesTestRunner.js +173 -0
  842. package/static/devtools/sources_test_runner/sources_test_runner.js +10 -0
  843. package/static/devtools/sources_test_runner/sources_test_runner_module.js +0 -0
  844. package/static/devtools/startup/startup.js +1 -0
  845. package/static/devtools/test_runner/test_runner.js +1 -0
  846. package/static/devtools/text_editor/text_editor-legacy.js +1 -0
  847. package/static/devtools/text_editor/text_editor.js +1 -0
  848. package/static/devtools/text_editor/text_editor_module.js +1 -0
  849. package/static/devtools/text_utils/text_utils-legacy.js +1 -0
  850. package/static/devtools/text_utils/text_utils.js +1 -0
  851. package/static/devtools/theme_support/theme_support.js +1 -0
  852. package/static/devtools/third_party/acorn/acorn-tsconfig.json +8 -0
  853. package/static/devtools/third_party/acorn/acorn.js +1 -0
  854. package/static/devtools/third_party/acorn/package/dist/acorn.d.ts +209 -0
  855. package/static/devtools/third_party/acorn/package/dist/acorn.mjs +5261 -0
  856. package/static/devtools/third_party/acorn/package/dist/acorn.mjs.d.ts +2 -0
  857. package/static/devtools/third_party/acorn/package/dist/acorn.mjs.map +1 -0
  858. package/static/devtools/third_party/acorn-loose/acorn-loose-tsconfig.json +8 -0
  859. package/static/devtools/third_party/acorn-loose/package/dist/acorn-loose.d.ts +16 -0
  860. package/static/devtools/third_party/acorn-loose/package/dist/acorn-loose.mjs +1418 -0
  861. package/static/devtools/third_party/axe-core/axe.js +16423 -0
  862. package/static/devtools/third_party/chromium/chromium-tsconfig.json +8 -0
  863. package/static/devtools/third_party/chromium/client-variations/ClientVariations.d.ts +13 -0
  864. package/static/devtools/third_party/chromium/client-variations/ClientVariations.js +27 -0
  865. package/static/devtools/third_party/codemirror/codemirror-tsconfig.json +72 -0
  866. package/static/devtools/third_party/codemirror/package/addon/comment/comment.d.ts +4 -0
  867. package/static/devtools/third_party/codemirror/package/addon/comment/comment.js +211 -0
  868. package/static/devtools/third_party/codemirror/package/addon/edit/closebrackets.d.ts +1 -0
  869. package/static/devtools/third_party/codemirror/package/addon/edit/closebrackets.js +201 -0
  870. package/static/devtools/third_party/codemirror/package/addon/edit/matchbrackets.d.ts +1 -0
  871. package/static/devtools/third_party/codemirror/package/addon/edit/matchbrackets.js +158 -0
  872. package/static/devtools/third_party/codemirror/package/addon/fold/brace-fold.d.ts +1 -0
  873. package/static/devtools/third_party/codemirror/package/addon/fold/brace-fold.js +105 -0
  874. package/static/devtools/third_party/codemirror/package/addon/fold/foldcode.d.ts +1 -0
  875. package/static/devtools/third_party/codemirror/package/addon/fold/foldcode.js +157 -0
  876. package/static/devtools/third_party/codemirror/package/addon/fold/foldgutter.d.ts +1 -0
  877. package/static/devtools/third_party/codemirror/package/addon/fold/foldgutter.js +163 -0
  878. package/static/devtools/third_party/codemirror/package/addon/mode/multiplex.d.ts +1 -0
  879. package/static/devtools/third_party/codemirror/package/addon/mode/multiplex.js +131 -0
  880. package/static/devtools/third_party/codemirror/package/addon/mode/overlay.d.ts +1 -0
  881. package/static/devtools/third_party/codemirror/package/addon/mode/overlay.js +90 -0
  882. package/static/devtools/third_party/codemirror/package/addon/mode/simple.d.ts +1 -0
  883. package/static/devtools/third_party/codemirror/package/addon/mode/simple.js +216 -0
  884. package/static/devtools/third_party/codemirror/package/addon/runmode/runmode-standalone.d.ts +1 -0
  885. package/static/devtools/third_party/codemirror/package/addon/runmode/runmode-standalone.js +333 -0
  886. package/static/devtools/third_party/codemirror/package/addon/selection/active-line.d.ts +1 -0
  887. package/static/devtools/third_party/codemirror/package/addon/selection/active-line.js +72 -0
  888. package/static/devtools/third_party/codemirror/package/addon/selection/mark-selection.d.ts +1 -0
  889. package/static/devtools/third_party/codemirror/package/addon/selection/mark-selection.js +119 -0
  890. package/static/devtools/third_party/codemirror/package/lib/codemirror.d.ts +1 -0
  891. package/static/devtools/third_party/codemirror/package/lib/codemirror.js +9800 -0
  892. package/static/devtools/third_party/codemirror/package/mode/clike/clike.d.ts +4 -0
  893. package/static/devtools/third_party/codemirror/package/mode/clike/clike.js +935 -0
  894. package/static/devtools/third_party/codemirror/package/mode/clojure/clojure.d.ts +4 -0
  895. package/static/devtools/third_party/codemirror/package/mode/clojure/clojure.js +292 -0
  896. package/static/devtools/third_party/codemirror/package/mode/coffeescript/coffeescript.d.ts +4 -0
  897. package/static/devtools/third_party/codemirror/package/mode/coffeescript/coffeescript.js +359 -0
  898. package/static/devtools/third_party/codemirror/package/mode/css/css.d.ts +1 -0
  899. package/static/devtools/third_party/codemirror/package/mode/css/css.js +864 -0
  900. package/static/devtools/third_party/codemirror/package/mode/htmlembedded/htmlembedded.d.ts +1 -0
  901. package/static/devtools/third_party/codemirror/package/mode/htmlembedded/htmlembedded.js +37 -0
  902. package/static/devtools/third_party/codemirror/package/mode/htmlmixed/htmlmixed.d.ts +1 -0
  903. package/static/devtools/third_party/codemirror/package/mode/htmlmixed/htmlmixed.js +153 -0
  904. package/static/devtools/third_party/codemirror/package/mode/javascript/javascript.d.ts +1 -0
  905. package/static/devtools/third_party/codemirror/package/mode/javascript/javascript.js +942 -0
  906. package/static/devtools/third_party/codemirror/package/mode/jsx/jsx.d.ts +4 -0
  907. package/static/devtools/third_party/codemirror/package/mode/jsx/jsx.js +148 -0
  908. package/static/devtools/third_party/codemirror/package/mode/livescript/livescript.d.ts +4 -0
  909. package/static/devtools/third_party/codemirror/package/mode/livescript/livescript.js +280 -0
  910. package/static/devtools/third_party/codemirror/package/mode/markdown/markdown.d.ts +1 -0
  911. package/static/devtools/third_party/codemirror/package/mode/markdown/markdown.js +886 -0
  912. package/static/devtools/third_party/codemirror/package/mode/php/php.d.ts +1 -0
  913. package/static/devtools/third_party/codemirror/package/mode/php/php.js +234 -0
  914. package/static/devtools/third_party/codemirror/package/mode/python/python.d.ts +1 -0
  915. package/static/devtools/third_party/codemirror/package/mode/python/python.js +399 -0
  916. package/static/devtools/third_party/codemirror/package/mode/shell/shell.d.ts +1 -0
  917. package/static/devtools/third_party/codemirror/package/mode/shell/shell.js +168 -0
  918. package/static/devtools/third_party/codemirror/package/mode/wast/wast.d.ts +1 -0
  919. package/static/devtools/third_party/codemirror/package/mode/wast/wast.js +41 -0
  920. package/static/devtools/third_party/codemirror/package/mode/xml/xml.d.ts +1 -0
  921. package/static/devtools/third_party/codemirror/package/mode/xml/xml.js +413 -0
  922. package/static/devtools/third_party/i18n/bundle-tsconfig.json +8 -0
  923. package/static/devtools/third_party/i18n/i18n.d.ts +108 -0
  924. package/static/devtools/third_party/i18n/i18n.js +4336 -0
  925. package/static/devtools/third_party/lighthouse/lighthouse-dt-bundle.d.ts +1 -0
  926. package/static/devtools/third_party/lighthouse/lighthouse-dt-bundle.js +1140 -0
  927. package/static/devtools/third_party/lighthouse/lighthouse-tsconfig.json +10 -0
  928. package/static/devtools/third_party/lighthouse/locales/ar-XB.json +2066 -0
  929. package/static/devtools/third_party/lighthouse/locales/ar.json +2066 -0
  930. package/static/devtools/third_party/lighthouse/locales/bg.json +2066 -0
  931. package/static/devtools/third_party/lighthouse/locales/ca.json +2066 -0
  932. package/static/devtools/third_party/lighthouse/locales/cs.json +2066 -0
  933. package/static/devtools/third_party/lighthouse/locales/da.json +2066 -0
  934. package/static/devtools/third_party/lighthouse/locales/de.json +2066 -0
  935. package/static/devtools/third_party/lighthouse/locales/el.json +2066 -0
  936. package/static/devtools/third_party/lighthouse/locales/en-GB.json +2066 -0
  937. package/static/devtools/third_party/lighthouse/locales/en-US.json +2297 -0
  938. package/static/devtools/third_party/lighthouse/locales/en-XA.json +2066 -0
  939. package/static/devtools/third_party/lighthouse/locales/en-XL.json +2297 -0
  940. package/static/devtools/third_party/lighthouse/locales/es-419.json +2066 -0
  941. package/static/devtools/third_party/lighthouse/locales/es.json +2066 -0
  942. package/static/devtools/third_party/lighthouse/locales/fi.json +2066 -0
  943. package/static/devtools/third_party/lighthouse/locales/fil.json +2066 -0
  944. package/static/devtools/third_party/lighthouse/locales/fr.json +2066 -0
  945. package/static/devtools/third_party/lighthouse/locales/he.json +2066 -0
  946. package/static/devtools/third_party/lighthouse/locales/hi.json +2066 -0
  947. package/static/devtools/third_party/lighthouse/locales/hr.json +2066 -0
  948. package/static/devtools/third_party/lighthouse/locales/hu.json +2066 -0
  949. package/static/devtools/third_party/lighthouse/locales/id.json +2066 -0
  950. package/static/devtools/third_party/lighthouse/locales/it.json +2066 -0
  951. package/static/devtools/third_party/lighthouse/locales/ja.json +2066 -0
  952. package/static/devtools/third_party/lighthouse/locales/ko.json +2066 -0
  953. package/static/devtools/third_party/lighthouse/locales/lt.json +2066 -0
  954. package/static/devtools/third_party/lighthouse/locales/lv.json +2066 -0
  955. package/static/devtools/third_party/lighthouse/locales/nl.json +2066 -0
  956. package/static/devtools/third_party/lighthouse/locales/no.json +2066 -0
  957. package/static/devtools/third_party/lighthouse/locales/pl.json +2066 -0
  958. package/static/devtools/third_party/lighthouse/locales/pt-PT.json +2066 -0
  959. package/static/devtools/third_party/lighthouse/locales/pt.json +2066 -0
  960. package/static/devtools/third_party/lighthouse/locales/ro.json +2066 -0
  961. package/static/devtools/third_party/lighthouse/locales/ru.json +2066 -0
  962. package/static/devtools/third_party/lighthouse/locales/sk.json +2066 -0
  963. package/static/devtools/third_party/lighthouse/locales/sl.json +2066 -0
  964. package/static/devtools/third_party/lighthouse/locales/sr-Latn.json +2066 -0
  965. package/static/devtools/third_party/lighthouse/locales/sr.json +2066 -0
  966. package/static/devtools/third_party/lighthouse/locales/sv.json +2066 -0
  967. package/static/devtools/third_party/lighthouse/locales/ta.json +2066 -0
  968. package/static/devtools/third_party/lighthouse/locales/te.json +2066 -0
  969. package/static/devtools/third_party/lighthouse/locales/th.json +2066 -0
  970. package/static/devtools/third_party/lighthouse/locales/tr.json +2066 -0
  971. package/static/devtools/third_party/lighthouse/locales/uk.json +2066 -0
  972. package/static/devtools/third_party/lighthouse/locales/vi.json +2066 -0
  973. package/static/devtools/third_party/lighthouse/locales/zh-HK.json +2066 -0
  974. package/static/devtools/third_party/lighthouse/locales/zh-TW.json +2066 -0
  975. package/static/devtools/third_party/lighthouse/locales/zh.json +2066 -0
  976. package/static/devtools/third_party/lighthouse/report-assets/report-generator.d.ts +1 -0
  977. package/static/devtools/third_party/lighthouse/report-assets/report-generator.js +167 -0
  978. package/static/devtools/third_party/lighthouse/report-assets/report.d.ts +1 -0
  979. package/static/devtools/third_party/lighthouse/report-assets/report.js +5032 -0
  980. package/static/devtools/third_party/lit-html/lit-html-tsconfig.json +22 -0
  981. package/static/devtools/third_party/lit-html/lit-html.js +120 -0
  982. package/static/devtools/third_party/lit-html/package/directives/class-map.d.ts +28 -0
  983. package/static/devtools/third_party/lit-html/package/directives/class-map.js +101 -0
  984. package/static/devtools/third_party/lit-html/package/directives/class-map.js.map +1 -0
  985. package/static/devtools/third_party/lit-html/package/directives/if-defined.d.ts +22 -0
  986. package/static/devtools/third_party/lit-html/package/directives/if-defined.js +37 -0
  987. package/static/devtools/third_party/lit-html/package/directives/if-defined.js.map +1 -0
  988. package/static/devtools/third_party/lit-html/package/directives/live.d.ts +38 -0
  989. package/static/devtools/third_party/lit-html/package/directives/live.js +73 -0
  990. package/static/devtools/third_party/lit-html/package/directives/live.js.map +1 -0
  991. package/static/devtools/third_party/lit-html/package/directives/repeat.d.ts +37 -0
  992. package/static/devtools/third_party/lit-html/package/directives/repeat.js +415 -0
  993. package/static/devtools/third_party/lit-html/package/directives/repeat.js.map +1 -0
  994. package/static/devtools/third_party/lit-html/package/directives/style-map.d.ts +36 -0
  995. package/static/devtools/third_party/lit-html/package/directives/style-map.js +78 -0
  996. package/static/devtools/third_party/lit-html/package/directives/style-map.js.map +1 -0
  997. package/static/devtools/third_party/lit-html/package/lib/default-template-processor.d.ts +39 -0
  998. package/static/devtools/third_party/lit-html/package/lib/default-template-processor.js +52 -0
  999. package/static/devtools/third_party/lit-html/package/lib/default-template-processor.js.map +1 -0
  1000. package/static/devtools/third_party/lit-html/package/lib/directive.d.ts +59 -0
  1001. package/static/devtools/third_party/lit-html/package/lib/directive.js +63 -0
  1002. package/static/devtools/third_party/lit-html/package/lib/directive.js.map +1 -0
  1003. package/static/devtools/third_party/lit-html/package/lib/dom.d.ts +29 -0
  1004. package/static/devtools/third_party/lit-html/package/lib/dom.js +44 -0
  1005. package/static/devtools/third_party/lit-html/package/lib/dom.js.map +1 -0
  1006. package/static/devtools/third_party/lit-html/package/lib/part.d.ts +46 -0
  1007. package/static/devtools/third_party/lit-html/package/lib/part.js +23 -0
  1008. package/static/devtools/third_party/lit-html/package/lib/part.js.map +1 -0
  1009. package/static/devtools/third_party/lit-html/package/lib/parts.d.ts +148 -0
  1010. package/static/devtools/third_party/lit-html/package/lib/parts.js +476 -0
  1011. package/static/devtools/third_party/lit-html/package/lib/parts.js.map +1 -0
  1012. package/static/devtools/third_party/lit-html/package/lib/render.d.ts +33 -0
  1013. package/static/devtools/third_party/lit-html/package/lib/render.js +43 -0
  1014. package/static/devtools/third_party/lit-html/package/lib/render.js.map +1 -0
  1015. package/static/devtools/third_party/lit-html/package/lib/template-factory.d.ts +57 -0
  1016. package/static/devtools/third_party/lit-html/package/lib/template-factory.js +48 -0
  1017. package/static/devtools/third_party/lit-html/package/lib/template-factory.js.map +1 -0
  1018. package/static/devtools/third_party/lit-html/package/lib/template-instance.d.ts +30 -0
  1019. package/static/devtools/third_party/lit-html/package/lib/template-instance.js +134 -0
  1020. package/static/devtools/third_party/lit-html/package/lib/template-instance.js.map +1 -0
  1021. package/static/devtools/third_party/lit-html/package/lib/template-result.d.ts +42 -0
  1022. package/static/devtools/third_party/lit-html/package/lib/template-result.js +131 -0
  1023. package/static/devtools/third_party/lit-html/package/lib/template-result.js.map +1 -0
  1024. package/static/devtools/third_party/lit-html/package/lib/template.d.ts +92 -0
  1025. package/static/devtools/third_party/lit-html/package/lib/template.js +215 -0
  1026. package/static/devtools/third_party/lit-html/package/lib/template.js.map +1 -0
  1027. package/static/devtools/third_party/lit-html/package/lit-html.d.ts +42 -0
  1028. package/static/devtools/third_party/lit-html/package/lit-html.js +59 -0
  1029. package/static/devtools/third_party/lit-html/package/lit-html.js.map +1 -0
  1030. package/static/devtools/third_party/marked/marked-tsconfig.json +8 -0
  1031. package/static/devtools/third_party/marked/marked.js +1 -0
  1032. package/static/devtools/third_party/marked/package/lib/marked.esm.d.ts +1 -0
  1033. package/static/devtools/third_party/marked/package/lib/marked.esm.js +2584 -0
  1034. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.d.ts +53 -0
  1035. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.d.ts.map +1 -0
  1036. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.js +64 -0
  1037. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.d.ts +176 -0
  1038. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.d.ts.map +1 -0
  1039. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.js +356 -0
  1040. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.d.ts +21 -0
  1041. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.d.ts.map +1 -0
  1042. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.js +81 -0
  1043. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts +423 -0
  1044. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts.map +1 -0
  1045. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js +516 -0
  1046. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts +39 -0
  1047. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts.map +1 -0
  1048. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js +76 -0
  1049. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.d.ts +26 -0
  1050. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.d.ts.map +1 -0
  1051. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.js +30 -0
  1052. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts +120 -0
  1053. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts.map +1 -0
  1054. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.js +266 -0
  1055. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectionTransport.d.ts +22 -0
  1056. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectionTransport.d.ts.map +1 -0
  1057. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectionTransport.js +15 -0
  1058. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.d.ts +72 -0
  1059. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.d.ts.map +1 -0
  1060. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.js +60 -0
  1061. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.d.ts +181 -0
  1062. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.d.ts.map +1 -0
  1063. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.js +316 -0
  1064. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts +174 -0
  1065. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts.map +1 -0
  1066. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.js +647 -0
  1067. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts +53 -0
  1068. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts.map +1 -0
  1069. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js +77 -0
  1070. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.d.ts +33 -0
  1071. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.d.ts.map +1 -0
  1072. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.js +873 -0
  1073. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.d.ts +76 -0
  1074. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.d.ts.map +1 -0
  1075. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.js +92 -0
  1076. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.d.ts +25 -0
  1077. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.d.ts.map +1 -0
  1078. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.js +33 -0
  1079. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts +34 -0
  1080. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts.map +1 -0
  1081. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js +37 -0
  1082. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.d.ts +59 -0
  1083. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.d.ts.map +1 -0
  1084. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.js +15 -0
  1085. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.d.ts +89 -0
  1086. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.d.ts.map +1 -0
  1087. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.js +109 -0
  1088. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.d.ts +82 -0
  1089. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.d.ts.map +1 -0
  1090. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.js +83 -0
  1091. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.d.ts +189 -0
  1092. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.d.ts.map +1 -0
  1093. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.js +313 -0
  1094. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.d.ts +60 -0
  1095. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.d.ts.map +1 -0
  1096. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.js +66 -0
  1097. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts +735 -0
  1098. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts.map +1 -0
  1099. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js +962 -0
  1100. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts +276 -0
  1101. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -0
  1102. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js +421 -0
  1103. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts +128 -0
  1104. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts.map +1 -0
  1105. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.js +150 -0
  1106. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts +322 -0
  1107. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts.map +1 -0
  1108. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.js +463 -0
  1109. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts +439 -0
  1110. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts.map +1 -0
  1111. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js +724 -0
  1112. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.d.ts +62 -0
  1113. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.d.ts.map +1 -0
  1114. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.js +145 -0
  1115. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts +80 -0
  1116. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -0
  1117. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js +262 -0
  1118. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts +152 -0
  1119. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts.map +1 -0
  1120. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.js +31 -0
  1121. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts +910 -0
  1122. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts.map +1 -0
  1123. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js +1343 -0
  1124. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Product.d.ts +21 -0
  1125. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Product.d.ts.map +1 -0
  1126. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Product.js +15 -0
  1127. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.d.ts +135 -0
  1128. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.d.ts.map +1 -0
  1129. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.js +133 -0
  1130. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PuppeteerViewport.d.ts +24 -0
  1131. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PuppeteerViewport.d.ts.map +1 -0
  1132. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PuppeteerViewport.js +0 -0
  1133. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.d.ts +66 -0
  1134. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.d.ts.map +1 -0
  1135. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js +157 -0
  1136. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.d.ts +61 -0
  1137. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.d.ts.map +1 -0
  1138. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.js +72 -0
  1139. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts +98 -0
  1140. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts.map +1 -0
  1141. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.js +137 -0
  1142. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.d.ts +28 -0
  1143. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.d.ts.map +1 -0
  1144. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.js +43 -0
  1145. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.d.ts +47 -0
  1146. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.d.ts.map +1 -0
  1147. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.js +94 -0
  1148. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.d.ts +40 -0
  1149. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.d.ts.map +1 -0
  1150. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.js +403 -0
  1151. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.d.ts +102 -0
  1152. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.d.ts.map +1 -0
  1153. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.js +109 -0
  1154. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.d.ts +22 -0
  1155. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.d.ts.map +1 -0
  1156. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.js +24 -0
  1157. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.d.ts +17 -0
  1158. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.d.ts.map +1 -0
  1159. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.js +20 -0
  1160. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.d.ts +66 -0
  1161. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.d.ts.map +1 -0
  1162. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js +288 -0
  1163. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts +17 -0
  1164. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts.map +1 -0
  1165. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/environment.js +16 -0
  1166. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.d.ts +18 -0
  1167. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.d.ts.map +1 -0
  1168. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.js +39 -0
  1169. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.d.ts +18 -0
  1170. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.d.ts.map +1 -0
  1171. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.js +22 -0
  1172. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts +132 -0
  1173. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts.map +1 -0
  1174. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js +468 -0
  1175. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts +40 -0
  1176. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts.map +1 -0
  1177. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js +197 -0
  1178. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts +42 -0
  1179. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts.map +1 -0
  1180. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.js +0 -0
  1181. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts +16 -0
  1182. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts.map +1 -0
  1183. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js +469 -0
  1184. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts +29 -0
  1185. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -0
  1186. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.js +34 -0
  1187. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts +31 -0
  1188. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts.map +1 -0
  1189. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.js +61 -0
  1190. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.d.ts +156 -0
  1191. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.d.ts.map +1 -0
  1192. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.js +183 -0
  1193. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/install.d.ts +18 -0
  1194. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/install.d.ts.map +1 -0
  1195. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/install.js +151 -0
  1196. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.d.ts +18 -0
  1197. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.d.ts.map +1 -0
  1198. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.js +23 -0
  1199. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node.d.ts +18 -0
  1200. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node.d.ts.map +1 -0
  1201. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node.js +22 -0
  1202. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +22 -0
  1203. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts.map +1 -0
  1204. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +19 -0
  1205. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/web.d.ts +18 -0
  1206. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/web.d.ts.map +1 -0
  1207. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/web.js +22 -0
  1208. package/static/devtools/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.d.ts +22 -0
  1209. package/static/devtools/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.d.ts.map +1 -0
  1210. package/static/devtools/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.js +53 -0
  1211. package/static/devtools/third_party/puppeteer/puppeteer-tsconfig.json +58 -0
  1212. package/static/devtools/third_party/puppeteer/puppeteer.js +1 -0
  1213. package/static/devtools/third_party/wasmparser/package/dist/esm/WasmDis.js +1595 -0
  1214. package/static/devtools/third_party/wasmparser/package/dist/esm/WasmParser.js +3120 -0
  1215. package/static/devtools/third_party/wasmparser/wasmparser-tsconfig.json +9 -0
  1216. package/static/devtools/timeline/timeline-legacy.js +1 -0
  1217. package/static/devtools/timeline/timeline-meta.js +1 -0
  1218. package/static/devtools/timeline/timeline.js +1 -0
  1219. package/static/devtools/timeline/timeline_module.js +1 -0
  1220. package/static/devtools/timeline_model/timeline_model-legacy.js +1 -0
  1221. package/static/devtools/timeline_model/timeline_model.js +1 -0
  1222. package/static/devtools/timeline_model/timeline_model_module.js +0 -0
  1223. package/static/devtools/toolbox.html +20 -0
  1224. package/static/devtools/toolbox.js +1 -0
  1225. package/static/devtools/toolbox_bootstrap/toolbox_bootstrap.js +1 -0
  1226. package/static/devtools/ui/components/components.js +378 -0
  1227. package/static/devtools/ui/ui-legacy.js +1 -0
  1228. package/static/devtools/ui/ui.js +3 -0
  1229. package/static/devtools/ui/utils/utils.js +1 -0
  1230. package/static/devtools/wasmparser_worker/wasmparser_worker-entrypoint.js +1 -0
  1231. package/static/devtools/wasmparser_worker/wasmparser_worker.js +1 -0
  1232. package/static/devtools/web_audio/graph_visualizer/graph_visualizer.js +1 -0
  1233. package/static/devtools/web_audio/web_audio-legacy.js +1 -0
  1234. package/static/devtools/web_audio/web_audio-meta.js +1 -0
  1235. package/static/devtools/web_audio/web_audio.js +23 -0
  1236. package/static/devtools/web_audio/web_audio_module.js +1 -0
  1237. package/static/devtools/webauthn/webauthn-legacy.js +1 -0
  1238. package/static/devtools/webauthn/webauthn-meta.js +1 -0
  1239. package/static/devtools/webauthn/webauthn.js +6 -0
  1240. package/static/devtools/webauthn/webauthn_module.js +1 -0
  1241. package/static/devtools/worker_app.html +20 -0
  1242. package/static/devtools/worker_app.js +1 -0
  1243. package/static/devtools/worker_main/worker_main-legacy.js +1 -0
  1244. package/static/devtools/worker_main/worker_main.js +1 -0
  1245. package/static/devtools/worker_service/worker_service.js +1 -0
  1246. package/static/devtools/workspace/workspace-legacy.js +1 -0
  1247. package/static/devtools/workspace/workspace.js +1 -0
  1248. package/static/devtools/workspace_diff/workspace_diff-legacy.js +1 -0
  1249. package/static/devtools/workspace_diff/workspace_diff.js +1 -0
  1250. package/static/devtools/workspace_diff/workspace_diff_module.js +0 -0
  1251. package/static/docs/swagger.json +2337 -279
  1252. package/static/function/client.js +1037 -992
  1253. package/build/routes/chromium/http/json-new.js +0 -23
  1254. package/build/routes/chromium/http/json-version-get.response.json +0 -37
  1255. package/build/routes/chromium/utils/cdp.d.ts +0 -2
  1256. package/build/routes/chromium/utils/cdp.js +0 -14
  1257. package/build/routes/chromium/ws/cdp-chromium.js +0 -10
  1258. package/src/routes/chromium/http/json-list.ts +0 -50
  1259. package/src/routes/chromium/utils/cdp.ts +0 -19
  1260. package/build/routes/{chromium/http/content-post.query.json → chrome/http/content.post.query.json} +0 -0
  1261. package/build/routes/{chromium/http/content-post.response.json → chrome/http/content.post.response.json} +0 -0
  1262. package/build/routes/{chromium/http/download-post.body.json → chrome/http/download.post.body.json} +0 -0
  1263. package/build/routes/{chromium/http/download-post.query.json → chrome/http/download.post.query.json} +0 -0
  1264. package/build/routes/{chromium/http/download-post.response.json → chrome/http/download.post.response.json} +0 -0
  1265. package/build/routes/{chromium/http/function-post.body.json → chrome/http/function.post.body.json} +0 -0
  1266. package/build/routes/{chromium/http/function-post.query.json → chrome/http/function.post.query.json} +0 -0
  1267. package/build/routes/{chromium/http/function-post.response.json → chrome/http/function.post.response.json} +0 -0
  1268. package/build/routes/{chromium/http/json-list.response.json → chrome/http/json-list.get.response.json} +0 -0
  1269. package/build/routes/{chromium/http/json-new.response.json → chrome/http/json-new.put.response.json} +0 -0
  1270. package/build/routes/{chromium/http/json-protocol-get.response.json → chrome/http/json-protocol.get.response.json} +0 -0
  1271. package/build/routes/{chromium/http/pdf-post.query.json → chrome/http/pdf.post.query.json} +0 -0
  1272. package/build/routes/{chromium/http/pdf-post.response.json → chrome/http/pdf.post.response.json} +0 -0
  1273. package/build/routes/{chromium/http/performance.body.json → chrome/http/performance.post.body.json} +0 -0
  1274. package/build/routes/{chromium/http/performance.query.json → chrome/http/performance.post.query.json} +0 -0
  1275. package/build/routes/{chromium/http/performance.response.json → chrome/http/performance.post.response.json} +0 -0
  1276. package/build/routes/{chromium/http/scrape-post.query.json → chrome/http/scrape.post.query.json} +0 -0
  1277. package/build/routes/{chromium/http/scrape-post.response.json → chrome/http/scrape.post.response.json} +0 -0
  1278. package/build/routes/{chromium/http/screenshot-post.query.json → chrome/http/screenshot.post.query.json} +0 -0
  1279. package/build/routes/{chromium/http/screenshot-post.response.json → chrome/http/screenshot.post.response.json} +0 -0
  1280. package/build/routes/{chromium/utils/performance/child.d.ts → chrome/tests/content.spec.d.ts} +0 -0
  1281. package/build/routes/{chromium/utils/performance/types.js → chrome/tests/download.spec.d.ts} +0 -0
  1282. package/build/routes/{chromium/ws/cdp-chromium.query.json → chrome/ws/browser.query.json} +0 -0
  1283. package/build/routes/{chromium/ws/playwright-chromium.query.json → chrome/ws/playwright.query.json} +0 -0
  1284. package/build/routes/{firefox/ws/playwright-firefox.query.json → chromium/ws/playwright.query.json} +0 -0
  1285. package/build/routes/{webkit/ws/playwright-webkit.query.json → firefox/ws/playwright.query.json} +0 -0
  1286. package/build/routes/management/http/{config-get.d.ts → config.get.d.ts} +0 -0
  1287. package/build/routes/management/http/{config-get.js → config.get.js} +0 -0
  1288. package/build/routes/management/http/{config-get.response.json → config.get.response.json} +0 -0
  1289. package/build/routes/management/http/{metrics-total-get.d.ts → metrics-total.get.d.ts} +0 -0
  1290. package/build/routes/management/http/{metrics-total-get.js → metrics-total.get.js} +0 -0
  1291. package/build/routes/management/http/{metrics-total-get.response.json → metrics-total.get.response.json} +0 -0
  1292. package/build/routes/management/http/{metrics-get.d.ts → metrics.get.d.ts} +0 -0
  1293. package/build/routes/management/http/{metrics-get.js → metrics.get.js} +0 -0
  1294. package/build/routes/management/http/{metrics-get.response.json → metrics.get.response.json} +0 -0
  1295. package/build/routes/management/http/{sessions-get.d.ts → sessions.get.d.ts} +0 -0
  1296. package/build/routes/management/http/{sessions-get.js → sessions.get.js} +0 -0
  1297. package/build/routes/management/http/{static-get.d.ts → static.get.d.ts} +0 -0
  1298. package/build/{routes/chromium/http/json-protocol-get.d.ts → shared/json-protocol.http.d.ts} +1 -1
  1299. package/build/{routes/chromium/http/json-version-get.d.ts → shared/json-version.http.d.ts} +1 -1
  1300. /package/build/{routes/chromium → shared}/utils/function/client.d.ts +0 -0
  1301. /package/build/{routes/chromium → shared}/utils/function/client.js +0 -0
  1302. /package/build/{routes/chromium → shared}/utils/function/handler.d.ts +0 -0
  1303. /package/build/{routes/chromium → shared}/utils/function/handler.js +0 -0
  1304. /package/build/{routes/chromium → shared}/utils/performance/child.js +0 -0
  1305. /package/build/{routes/chromium → shared}/utils/performance/main.d.ts +0 -0
  1306. /package/build/{routes/chromium → shared}/utils/performance/types.d.ts +0 -0
  1307. /package/src/routes/management/http/{config-get.ts → config.get.ts} +0 -0
  1308. /package/src/routes/management/http/{metrics-total-get.ts → metrics-total.get.ts} +0 -0
  1309. /package/src/routes/management/http/{metrics-get.ts → metrics.get.ts} +0 -0
  1310. /package/src/routes/management/http/{sessions-get.ts → sessions.get.ts} +0 -0
  1311. /package/src/{routes/chromium → shared}/utils/function/client.ts +0 -0
  1312. /package/src/{routes/chromium → shared}/utils/performance/child.ts +0 -0
  1313. /package/src/{routes/chromium → shared}/utils/performance/types.ts +0 -0
@@ -0,0 +1 @@
1
+ import{TimelineFrameModel as e,TimelineIRModel as i,TimelineJSProfile as l,TimelineModel as n,TimelineModelFilter as o,TimelineProfileTree as T,TracingLayerTree as m}from"./timeline_model.js";self.TimelineModel=self.TimelineModel||{},TimelineModel=TimelineModel||{},TimelineModel.TimelineFrameModel=e.TimelineFrameModel,TimelineModel.TracingFrameLayerTree=e.TracingFrameLayerTree,TimelineModel.TimelineFrame=e.TimelineFrame,TimelineModel.LayerPaintEvent=e.LayerPaintEvent,TimelineModel.PendingFrame=e.PendingFrame,TimelineModel.TimelineIRModel=i.TimelineIRModel,TimelineModel.TimelineIRModel.Phases=i.Phases,TimelineModel.TimelineIRModel.InputEvents=i.InputEvents,TimelineModel.TimelineJSProfileProcessor=l.TimelineJSProfileProcessor,TimelineModel.TimelineModel=n.TimelineModelImpl,TimelineModel.TimelineModel.Track=n.Track,TimelineModel.TimelineModel.TrackType=n.TrackType,TimelineModel.TimelineModel.RecordType=n.RecordType,TimelineModel.TimelineModel.PageFrame=n.PageFrame,TimelineModel.TimelineModel.NetworkRequest=n.NetworkRequest,TimelineModel.InvalidationTrackingEvent=n.InvalidationTrackingEvent,TimelineModel.InvalidationTracker=n.InvalidationTracker,TimelineModel.TimelineAsyncEventTracker=n.TimelineAsyncEventTracker,TimelineModel.TimelineData=n.TimelineData,TimelineModel.TimelineModelFilter=o.TimelineModelFilter,TimelineModel.TimelineVisibleEventsFilter=o.TimelineVisibleEventsFilter,TimelineModel.TimelineInvisibleEventsFilter=o.TimelineInvisibleEventsFilter,TimelineModel.ExclusiveNameFilter=o.ExclusiveNameFilter,TimelineModel.TimelineProfileTree={},TimelineModel.TimelineProfileTree.Node=T.Node,TimelineModel.TimelineProfileTree.TopDownNode=T.TopDownNode,TimelineModel.TimelineProfileTree.TopDownRootNode=T.TopDownRootNode,TimelineModel.TimelineProfileTree.BottomUpRootNode=T.BottomUpRootNode,TimelineModel.TimelineProfileTree.GroupNode=T.GroupNode,TimelineModel.TimelineProfileTree.BottomUpNode=T.BottomUpNode,TimelineModel.TimelineProfileTree.eventURL=T.eventURL,TimelineModel.TimelineProfileTree.eventStackFrame=T.eventStackFrame,TimelineModel.TracingLayerTree=m.TracingLayerTree,TimelineModel.TracingLayer=m.TracingLayer;
@@ -0,0 +1 @@
1
+ import{Console as e,Settings as t,SegmentedRange as s,UIString as a}from"../common/common.js";import{ls as r,ArrayUtilities as i}from"../platform/platform.js";import{Runtime as n}from"../root/root.js";import{TracingModel as o,SDKModel as l,CPUProfileDataModel as d,LayerTreeBase as c,PaintProfiler as h}from"../sdk/sdk.js";class m{static generateTracingEventsFromCpuProfile(e,t){const s=e.idleNode,a=e.programNode||null,r=e.gcNode,i=e.samples||[],n=e.timestamps,l=[],d=new Map;d.set(a,[]);for(let a=0;a<i.length;++a){let c=e.nodeByIndex(a);if(!c){console.error(`Node with unknown id ${i[a]} at index ${a}`);continue}if(c===r||c===s)continue;let h=d.get(c);if(!h){h=new Array(c.depth+1),d.set(c,h);for(let e=0;c.parent;c=c.parent)h[e++]=c}const m=new o.Event(o.DevToolsTimelineEventCategory,p.JSSample,o.Phase.Instant,n[a],t);m.args.data={stackTrace:h},l.push(m)}return l}static generateJSFrameEvents(e,t){const s=[],a=[],r=[];let i=0,n=!1;const{showAllEvents:l,showRuntimeCallStats:d,showNativeFunctions:c}=t;function h(e,t){if(r.length){const s=r[r.length-1];e<s&&(console.error(`Child stack is shallower (${e}) than the parent stack (${s}) at ${t}`),e=s)}a.length<e&&(console.error("Trying to truncate higher than the current stack size at "+t),e=a.length);for(let e=0;e<a.length;++e)a[e].setEndTime(t);a.length=e}function u(e){const t=p,i=e.name===t.JSSample?e.args.data.stackTrace.slice().reverse():a.map((e=>e.args.data));!function(e){if(l)return;let t=null,s=0;for(let r=0;r<e.length;++r){const i=e[r],n=i.url,o=n&&n.startsWith("native ");if(!c&&o)continue;const l=m.isNativeRuntimeFrame(i);if(l&&(a=i.functionName,!d||!Boolean(m.nativeGroup(a))))continue;const h=l?m.nativeGroup(i.functionName):null;t&&t===h||(t=h,e[s++]=i)}var a;e.length=s}(i);const n=e.endTime||e.startTime,u=Math.min(i.length,a.length);let _;for(_=r[r.length-1]||0;_<u;++_){const e=i[_],t=a[_].args.data;if(T=t,(g=e).scriptId!==T.scriptId||g.functionName!==T.functionName||g.lineNumber!==T.lineNumber)break;a[_].setEndTime(Math.max(a[_].endTime,n))}var g,T;for(h(_,e.startTime);_<i.length;++_){const r=i[_],l=new o.Event(o.DevToolsTimelineEventCategory,t.JSFrame,o.Phase.Complete,e.startTime,e.thread);l.ordinal=e.ordinal,l.addArgs({data:r}),l.setEndTime(n),a.push(l),s.push(l)}}const g=e.find(o.TracingModel.isTopLevelEvent),T=g?g.startTime:0;return _.forEachEvent(e,(function(e){n&&(h(r.pop(),e.startTime),n=!1),e.ordinal=++i,u(e),r.push(a.length)}),(function(e){h(r.pop(),e.endTime)}),(function(e,t){if(e.ordinal=++i,t&&function(e){switch(e.name){case p.RunMicrotasks:case p.FunctionCall:case p.EvaluateScript:case p.EvaluateModule:case p.EventDispatch:case p.V8Execute:return!0}return!1}(t)||n)u(e);else if(e.name===p.JSSample&&0===a.length){n=!0;const t=a.length;u(e),r.push(t)}}),T),s}static isNativeRuntimeFrame(e){return"native V8Runtime"===e.url}static nativeGroup(e){return e.startsWith("Parse")?m.NativeGroups.Parse:e.startsWith("Compile")||e.startsWith("Recompile")?m.NativeGroups.Compile:null}static buildTraceProfileFromCpuProfile(e,t,s,a){const i=[];if(s&&g("TracingStartedInPage",{data:{sessionId:"1"}},0,0,"M"),a||(a=r`Thread ${t}`),g(o.MetadataEvent.ThreadName,{name:a},0,0,"M","__metadata"),!e)return i;const n=new Map,l=e.nodes;for(let e=0;e<l.length;++e)n.set(l[e].id,l[e]);let d=null,c=null,h=e.startTime,m=0;const u=e.samples,_=e.timeDeltas;for(let e=0;e<u.length;++e){m=h,h+=_[e];const t=n.get(u[e]).callFrame.functionName;"(idle)"!==t?(d||(d=g("MessageLoop::RunTask",{},m,0,"X","toplevel")),"(program)"===t?c&&(c.dur=m-c.ts,c=null):c||(c=g("FunctionCall",{data:{sessionId:"1"}},m))):p()}return p(),g("CpuProfile",{data:{cpuProfile:e}},e.endTime,0,"I"),i;function p(){d&&(d.dur=m-d.ts),c&&(c.dur=m-c.ts),d=null,c=null}function g(e,s,a,r,n,o){const l={cat:o||"disabled-by-default-devtools.timeline",name:e,ph:n||"X",pid:1,tid:t,ts:a,args:s};return r&&(l.dur=r),i.push(l),l}}}m.NativeGroups={Compile:"Compile",Parse:"Parse"};var u=Object.freeze({__proto__:null,TimelineJSProfileProcessor:m});class _{constructor(){this._isGenericTrace,this._tracks,this._namedTracks,this._inspectedTargetEvents,this._timeMarkerEvents,this._sessionId,this._mainFrameNodeId,this._pageFrames,this._cpuProfiles,this._workerIdByThread,this._requestsFromBrowser,this._mainFrame,this._minimumRecordTime=0,this._maximumRecordTime=0,this._totalBlockingTime=0,this._estimatedTotalBlockingTime=0,this._asyncEventTracker,this._invalidationTracker,this._layoutInvalidate,this._lastScheduleStyleRecalculation,this._paintImageEventByPixelRefId,this._lastPaintForLayer,this._lastRecalculateStylesEvent,this._currentScriptEvent,this._eventStack,this._knownInputEvents,this._browserFrameTracking,this._persistentIds,this._legacyCurrentPage,this._reset(),this._resetProcessingState(),this._currentTaskLayoutAndRecalcEvents=[],this._tracingModel=null}static forEachEvent(e,t,s,a,r,i,n){r=r||0,i=i||1/0;const l=[];for(let d=_._topLevelEventEndingAfter(e,r);d<e.length;++d){const c=e[d];if((c.endTime||c.startTime)<r)continue;if(c.startTime>=i)break;if(o.TracingModel.isAsyncPhase(c.phase)||o.TracingModel.isFlowPhase(c.phase))continue;let h=l[l.length-1];for(;h&&void 0!==h.endTime&&h.endTime<=c.startTime;)l.pop(),s(h),h=l[l.length-1];n&&!n(c)||(c.duration?(t(c),l.push(c)):a&&a(c,l[l.length-1]||null))}for(;l.length;){const e=l.pop();e&&s(e)}}static _topLevelEventEndingAfter(e,t){let s=i.upperBound(e,t,((e,t)=>e-t.startTime))-1;for(;s>0&&!o.TracingModel.isTopLevelEvent(e[s]);)s--;return Math.max(s,0)}isMarkerEvent(e){const t=p;switch(e.name){case t.TimeStamp:return!0;case t.MarkFirstPaint:case t.MarkFCP:return Boolean(this._mainFrame)&&e.args.frame===this._mainFrame.frameId&&Boolean(e.args.data);case t.MarkDOMContent:case t.MarkLoad:case t.MarkLCPCandidate:case t.MarkLCPInvalidate:return Boolean(e.args.data.isMainFrame);default:return!1}}isInteractiveTimeEvent(e){return e.name===p.InteractiveTime}isLayoutShiftEvent(e){return e.name===p.LayoutShift}isUserTimingEvent(e){return e.categoriesString===_.Category.UserTiming}isParseHTMLEvent(e){return e.name===p.ParseHTML}isLCPCandidateEvent(e){return e.name===p.MarkLCPCandidate&&Boolean(e.args.data.isMainFrame)}isLCPInvalidateEvent(e){return e.name===p.MarkLCPInvalidate&&Boolean(e.args.data.isMainFrame)}isFCPEvent(e){return e.name===p.MarkFCP&&Boolean(this._mainFrame)&&e.args.frame===this._mainFrame.frameId}isLongRunningTask(e){return e.name===p.Task&&F.forEvent(e).warning===_.WarningType.LongTask}isNavigationStartEvent(e){return e.name===p.NavigationStart}isMainFrameNavigationStartEvent(e){return this.isNavigationStartEvent(e)&&e.args.data.isLoadingMainFrame&&e.args.data.documentLoaderURL}static globalEventId(e,t){const s=e.args.data||e.args.beginData,a=s&&s[t];return a?`${e.thread.process().id()}.${a}`:""}static eventFrameId(e){const t=e.args.data||e.args.beginData;return t&&t.frame||""}cpuProfiles(){return this._cpuProfiles}totalBlockingTime(){return-1===this._totalBlockingTime?{time:this._estimatedTotalBlockingTime,estimated:!0}:{time:this._totalBlockingTime,estimated:!1}}targetByEvent(e){const t=this._workerIdByThread.get(e.thread),s=l.TargetManager.instance().mainTarget();return t?l.TargetManager.instance().targetById(t):s}navStartTimes(){return this._tracingModel?this._tracingModel.navStartTimes():new Map}setEvents(e){this._reset(),this._resetProcessingState(),this._tracingModel=e,this._minimumRecordTime=e.minimumRecordTime(),this._maximumRecordTime=e.maximumRecordTime();const t=[];for(const s of e.sortedProcesses())if("Renderer"===s.name())for(const e of s.sortedThreads()){const s=e.removeEventsByName(p.LayoutShift);t.push(...s)}if(this._processSyncBrowserEvents(e),this._browserFrameTracking)this._processThreadsForBrowserFrames(e);else{const t=this._processMetadataEvents(e);this._isGenericTrace=!t,t?this._processMetadataAndThreads(e,t):this._processGenericTrace(e)}this._inspectedTargetEvents.sort(o.Event.compareStartTime),this._processAsyncBrowserEvents(e),this._buildGPUEvents(e),this._buildLoadingEvents(e,t),this._resetProcessingState()}_processGenericTrace(e){let t=o.TracingModel.browserMainThread(e);!t&&e.sortedProcesses().length&&(t=e.sortedProcesses()[0].sortedThreads()[0]);for(const s of e.sortedProcesses())for(const a of s.sortedThreads())this._processThreadEvents(e,[{from:0,to:1/0}],a,a===t,!1,!0,null)}_processMetadataAndThreads(e,t){let s=0;for(let a=0,r=t.page.length;a<r;a++){const i=t.page[a],n=i.thread.process(),o=a+1<r?t.page[a+1].startTime:1/0;if(s!==o){this._legacyCurrentPage=i.args.data&&i.args.data.page;for(const a of n.sortedThreads()){let r=null;if(a.name()===_.WorkerThreadName||a.name()===_.WorkerThreadNameLegacy){const e=t.workers.find((e=>e.args.data.workerThreadId===a.id()&&(e.args.data.sessionId===this._sessionId||Boolean(this._pageFrames.get(_.eventFrameId(e))))));if(!e)continue;const s=e.args.data.workerId;s&&this._workerIdByThread.set(a,s),r=e.args.data.url||""}this._processThreadEvents(e,[{from:s,to:o}],a,a===i.thread,Boolean(r),!0,r)}s=o}}}_processThreadsForBrowserFrames(e){const t=new Map;for(const e of this._pageFrames.values())for(let s=0;s<e.processes.length;s++){const a=e.processes[s].processId;let r=t.get(a);r||(r=[],t.set(a,r));const i=s===e.processes.length-1?e.deletedTime||1/0:e.processes[s+1].time;r.push({from:e.processes[s].time,to:i,main:!e.parent,url:e.processes[s].url})}const s=e.devToolsMetadataEvents();for(const a of e.sortedProcesses()){const r=t.get(a.id());if(!r)continue;r.sort(((e,t)=>e.from-t.from||e.to-t.to));const i=[];let n=null,o=null,l=!1;for(const e of r){const t=i[i.length-1];!t||e.from>t.to?i.push({from:e.from,to:e.to}):t.to=e.to,e.main&&(l=!0),e.url&&(e.main&&(o=e.url),n=e.url)}for(const t of a.sortedThreads())if(t.name()===_.RendererMainThreadName)this._processThreadEvents(e,i,t,!0,!1,l,l?o:n);else if(t.name()===_.WorkerThreadName||t.name()===_.WorkerThreadNameLegacy){const r=s.find((e=>e.name===_.DevToolsMetadataEvent.TracingSessionIdForWorker&&(e.thread.process()===a&&(e.args.data.workerThreadId===t.id()&&Boolean(this._pageFrames.get(_.eventFrameId(e)))))));if(!r)continue;this._workerIdByThread.set(t,r.args.data.workerId||""),this._processThreadEvents(e,i,t,!1,!0,!1,r.args.data.url||"")}else this._processThreadEvents(e,i,t,!1,!1,!1,null)}}_processMetadataEvents(t){const s=t.devToolsMetadataEvents(),a=[],r=[];for(const e of s)if(e.name===_.DevToolsMetadataEvent.TracingStartedInPage){a.push(e),e.args.data&&e.args.data.persistentIds&&(this._persistentIds=!0);(e.args.data&&e.args.data.frames||[]).forEach((t=>this._addPageFrame(e,t))),this._mainFrame=this.rootFrames()[0]}else e.name===_.DevToolsMetadataEvent.TracingSessionIdForWorker?r.push(e):e.name===_.DevToolsMetadataEvent.TracingStartedInBrowser&&(console.assert(!this._mainFrameNodeId,"Multiple sessions in trace"),this._mainFrameNodeId=e.args.frameTreeNodeId);if(!a.length)return null;const i=a[0].args.sessionId||a[0].args.data.sessionId;this._sessionId=i;const n=new Set;const l={page:a.filter((function(e){let t=e.args;t.data&&(t=t.data);const s=t.sessionId;return s===i||(n.add(s),!1)})).sort(o.Event.compareStartTime),workers:r.sort(o.Event.compareStartTime)};return n.size&&e.Console.instance().error("Timeline recording was started in more than one page simultaneously. Session id mismatch: "+this._sessionId+" and "+[...n]+"."),l}_processSyncBrowserEvents(e){const t=o.TracingModel.browserMainThread(e);t&&t.events().forEach(this._processBrowserEvent,this)}_processAsyncBrowserEvents(e){const t=o.TracingModel.browserMainThread(e);t&&this._processAsyncEvents(t,[{from:0,to:1/0}])}_buildGPUEvents(e){const t=e.threadByName("GPU Process","CrGpuMain");if(!t)return;const s=p.GPUTask,a=this._ensureNamedTrack(T.GPU);a.thread=t,a.events=t.events().filter((e=>e.name===s))}_buildLoadingEvents(e,t){const s=e.threadByName("Renderer","CrRendererMain");if(!s)return;const a=this._ensureNamedTrack(T.Experience);a.thread=s,a.events=t;for(const e of a.events)if(e.categoriesString="experience",e.name===p.LayoutShift){const t=e.args.data||e.args.beginData||{};F.forEvent(e).backendNodeId=t.impacted_nodes&&t.impacted_nodes.length>0?t.impacted_nodes[0].node_id:0}}_resetProcessingState(){this._asyncEventTracker=new S,this._invalidationTracker=new I,this._layoutInvalidate={},this._lastScheduleStyleRecalculation={},this._paintImageEventByPixelRefId={},this._lastPaintForLayer={},this._lastRecalculateStylesEvent=null,this._currentScriptEvent=null,this._eventStack=[],this._knownInputEvents=new Set,this._browserFrameTracking=!1,this._persistentIds=!1,this._legacyCurrentPage=null}_extractCpuProfile(t,s){const a=s.events();let r,i=null,n=a[a.length-1];if(n&&n.name===p.CpuProfile){const e=n.args.data;r=e&&e.cpuProfile,i=this.targetByEvent(n)}if(!r){if(n=a.find((e=>e.name===p.Profile)),!n)return null;i=this.targetByEvent(n);const s=t.profileGroup(n);if(!s)return e.Console.instance().error("Invalid CPU profile format."),null;r={startTime:1e3*n.startTime,endTime:0,nodes:[],samples:[],timeDeltas:[],lines:[]};for(const t of s.children){const s=t.args.data;"startTime"in s&&(r.startTime=1e3*t.startTime),"endTime"in s&&(r.endTime=1e3*t.startTime);const a=s.cpuProfile||{},i=a.samples||[],n=s.lines||Array(i.length).fill(0);if(r.nodes.push(...a.nodes||[]),r.lines.push(...n),r.samples&&r.samples.push(...i),r.timeDeltas&&r.timeDeltas.push(...s.timeDeltas||[]),r.samples&&r.timeDeltas&&r.samples.length!==r.timeDeltas.length)return e.Console.instance().error("Failed to parse CPU profile."),null}if(!r.endTime&&r.timeDeltas){const e=r.timeDeltas;r.endTime=e.reduce(((e,t)=>e+t),r.startTime)}}try{const e=r,t=new d.CPUProfileDataModel(e,i);return this._cpuProfiles.push(t),t}catch(t){e.Console.instance().error("Failed to parse CPU profile.")}return null}_injectJSFrameEvents(e,s){const a=this._extractCpuProfile(e,s);let r=s.events();const l=a?m.generateTracingEventsFromCpuProfile(a,s):null;if(l&&l.length&&(r=i.mergeOrdered(r,l,o.Event.orderedCompareStartTime)),l||r.some((e=>e.name===p.JSSample))){const e=m.generateJSFrameEvents(r,{showAllEvents:n.experiments.isEnabled("timelineShowAllEvents"),showRuntimeCallStats:n.experiments.isEnabled("timelineV8RuntimeCallStats"),showNativeFunctions:t.Settings.instance().moduleSetting("showNativeFunctionsInJSProfile").get()});e&&e.length&&(r=i.mergeOrdered(e,r,o.Event.orderedCompareStartTime))}return r}_processThreadEvents(e,t,s,a,n,l,d){const c=new g;c.name=s.name()||r`Thread ${s.id()}`,c.type=T.Other,c.thread=s,a?(c.type=T.MainThread,c.url=d||"",c.forMainFrame=l):n?(c.type=T.Worker,c.url=d||"",c.name=c.url?r`Worker — ${c.url}`:r`Dedicated Worker`):s.name().startsWith("CompositorTileWorker")&&(c.type=T.Raster),this._tracks.push(c);const h=this._injectJSFrameEvents(e,s);this._eventStack=[];const m=this._eventStack;if(n){const e=h.find((e=>e.name===p.Profile));if(e){const t=this.targetByEvent(e);t&&(c.name=r`Worker: ${t.name()} — ${c.url}`)}}for(const e of t){let t=i.lowerBound(h,e.from,((e,t)=>e-t.startTime));for(;t<h.length;t++){const s=h[t];if(s.startTime>=e.to)break;this.isInteractiveTimeEvent(s)&&-1===this._totalBlockingTime&&(this._totalBlockingTime=s.args.args.total_blocking_time_ms);const r=s.name===p.Task&&s.duration&&s.duration>50;a&&r&&s.duration&&(this._estimatedTotalBlockingTime+=s.duration-50);let i=m[m.length-1];for(;i&&void 0!==i.endTime&&i.endTime<=s.startTime;)m.pop(),i=m[m.length-1];if(this._processEvent(s)){if(!o.TracingModel.isAsyncPhase(s.phase)&&s.duration){if(m.length){const e=m[m.length-1];e&&(e.selfTime-=s.duration,e.selfTime<0&&this._fixNegativeDuration(e,s))}s.selfTime=s.duration,m.length||c.tasks.push(s),m.push(s)}this.isMarkerEvent(s)&&this._timeMarkerEvents.push(s),c.events.push(s),this._inspectedTargetEvents.push(s)}}}this._processAsyncEvents(s,t)}_fixNegativeDuration(e,t){e.selfTime<-.001&&console.error(`Children are longer than parent at ${e.startTime} (${(t.startTime-this.minimumRecordTime()).toFixed(3)} by ${(-e.selfTime).toFixed(3)}`),e.selfTime=0}_processAsyncEvents(e,t){const s=e.asyncEvents(),a=new Map;function r(e){return a.has(e)||a.set(e,[]),a.get(e)}for(const e of t){let t=i.lowerBound(s,e.from,(function(e,t){return e-t.startTime}));for(;t<s.length;++t){const a=s[t];if(a.startTime>=e.to)break;if(a.hasCategory(_.Category.Console))r(T.Console).push(a);else if(a.hasCategory(_.Category.UserTiming))r(T.Timings).push(a);else if(a.name!==p.Animation)if(a.hasCategory(_.Category.LatencyInfo)||a.name===p.ImplSideFling){const e=a.steps[a.steps.length-1];if(!e)throw new Error("AsyncEvent.steps access is out of bounds.");if(e.phase!==o.Phase.AsyncEnd)continue;const t=e.args.data;if(a.causedFrame=Boolean(t&&t.INPUT_EVENT_LATENCY_RENDERER_SWAP_COMPONENT),a.hasCategory(_.Category.LatencyInfo)){if(e.id&&!this._knownInputEvents.has(e.id))continue;if(a.name===p.InputLatencyMouseMove&&!a.causedFrame)continue;if(t.is_coalesced)continue;const s=t.INPUT_EVENT_LATENCY_RENDERER_MAIN_COMPONENT;if(s){const e=s.time/1e3;F.forEvent(a.steps[0]).timeWaitingForMainThread=e-a.steps[0].startTime}}r(T.Input).push(a)}else;else r(T.Animation).push(a)}}for(const[t,s]of a){const a=this._ensureNamedTrack(t);a.thread=e,a.asyncEvents=i.mergeOrdered(a.asyncEvents,s,o.Event.compareStartTime)}}_processEvent(e){const t=p,s=this._eventStack;if(!s.length){if(this._currentTaskLayoutAndRecalcEvents&&this._currentTaskLayoutAndRecalcEvents.length){if(this._currentTaskLayoutAndRecalcEvents.reduce(((e,t)=>void 0===t.duration?e:e+t.duration),0)>_.Thresholds.ForcedLayout)for(const e of this._currentTaskLayoutAndRecalcEvents){F.forEvent(e).warning=e.name===t.Layout?_.WarningType.ForcedLayout:_.WarningType.ForcedStyle}}this._currentTaskLayoutAndRecalcEvents=[]}this._currentScriptEvent&&void 0!==this._currentScriptEvent.endTime&&e.startTime>this._currentScriptEvent.endTime&&(this._currentScriptEvent=null);const a=e.args.data||e.args.beginData||{},r=F.forEvent(e);if(a.stackTrace&&(r.stackTrace=a.stackTrace),r.stackTrace&&e.name!==t.JSSample)for(let e=0;e<r.stackTrace.length;++e)--r.stackTrace[e].lineNumber,--r.stackTrace[e].columnNumber;let i=_.eventFrameId(e);const n=s[s.length-1];switch(!i&&n&&(i=F.forEvent(n).frameId),r.frameId=i||this._mainFrame&&this._mainFrame.frameId||"",this._asyncEventTracker.processEvent(e),this.isMarkerEvent(e)&&this._ensureNamedTrack(T.Timings),e.name){case t.ResourceSendRequest:case t.WebSocketCreate:r.setInitiator(s[s.length-1]||null),r.url=a.url;break;case t.ScheduleStyleRecalculation:this._lastScheduleStyleRecalculation[a.frame]=e;break;case t.UpdateLayoutTree:case t.RecalculateStyles:this._invalidationTracker.didRecalcStyle(e),e.args.beginData&&r.setInitiator(this._lastScheduleStyleRecalculation[e.args.beginData.frame]),this._lastRecalculateStylesEvent=e,this._currentScriptEvent&&this._currentTaskLayoutAndRecalcEvents.push(e);break;case t.ScheduleStyleInvalidationTracking:case t.StyleRecalcInvalidationTracking:case t.StyleInvalidatorInvalidationTracking:case t.LayoutInvalidationTracking:this._invalidationTracker.addInvalidation(new y(e));break;case t.InvalidateLayout:{let t=e;const s=a.frame;!this._layoutInvalidate[s]&&this._lastRecalculateStylesEvent&&void 0!==this._lastRecalculateStylesEvent.endTime&&this._lastRecalculateStylesEvent.endTime>e.startTime&&(t=F.forEvent(this._lastRecalculateStylesEvent).initiator()),this._layoutInvalidate[s]=t;break}case t.Layout:{this._invalidationTracker.didLayout(e);const t=e.args.beginData.frame;r.setInitiator(this._layoutInvalidate[t]),e.args.endData&&(r.backendNodeId=e.args.endData.rootNode),this._layoutInvalidate[t]=null,this._currentScriptEvent&&this._currentTaskLayoutAndRecalcEvents.push(e);break}case t.Task:void 0!==e.duration&&e.duration>_.Thresholds.LongTask&&(r.warning=_.WarningType.LongTask);break;case t.EventDispatch:void 0!==e.duration&&e.duration>_.Thresholds.RecurringHandler&&(r.warning=_.WarningType.LongHandler);break;case t.TimerFire:case t.FireAnimationFrame:void 0!==e.duration&&e.duration>_.Thresholds.RecurringHandler&&(r.warning=_.WarningType.LongRecurringHandler);break;case t.FunctionCall:"string"==typeof a.scriptName&&(a.url=a.scriptName),"number"==typeof a.scriptLine&&(a.lineNumber=a.scriptLine);case t.EvaluateScript:case t.CompileScript:"number"==typeof a.lineNumber&&--a.lineNumber,"number"==typeof a.columnNumber&&--a.columnNumber;case t.RunMicrotasks:this._currentScriptEvent||(this._currentScriptEvent=e);break;case t.SetLayerTreeId:{if(this._sessionId&&a.sessionId&&this._sessionId===a.sessionId){this._mainFrameLayerTreeId=a.layerTreeId;break}const t=_.eventFrameId(e),s=this._pageFrames.get(t);if(!s||s.parent)return!1;this._mainFrameLayerTreeId=a.layerTreeId;break}case t.Paint:{if(this._invalidationTracker.didPaint(e),r.backendNodeId=a.nodeId,!a.layerId)break;const t=a.layerId;this._lastPaintForLayer[t]=e;break}case t.DisplayItemListSnapshot:case t.PictureSnapshot:{const s=this._findAncestorEvent(t.UpdateLayer);if(!s||s.args.layerTreeId!==this._mainFrameLayerTreeId)break;const a=this._lastPaintForLayer[s.args.layerId];a&&(F.forEvent(a).picture=e);break}case t.ScrollLayer:r.backendNodeId=a.nodeId;break;case t.PaintImage:r.backendNodeId=a.nodeId,r.url=a.url;break;case t.DecodeImage:case t.ResizeImage:{let e=this._findAncestorEvent(t.PaintImage);if(!e){const s=this._findAncestorEvent(t.DecodeLazyPixelRef);e=s&&this._paintImageEventByPixelRefId[s.args.LazyPixelRef]}if(!e)break;const s=F.forEvent(e);r.backendNodeId=s.backendNodeId,r.url=s.url;break}case t.DrawLazyPixelRef:{const s=this._findAncestorEvent(t.PaintImage);if(!s)break;this._paintImageEventByPixelRefId[e.args.LazyPixelRef]=s;const a=F.forEvent(s);r.backendNodeId=a.backendNodeId,r.url=a.url;break}case t.FrameStartedLoading:if(r.frameId!==e.args.frame)return!1;break;case t.MarkLCPCandidate:r.backendNodeId=a.nodeId;break;case t.MarkDOMContent:case t.MarkLoad:{const t=_.eventFrameId(e);if(!this._pageFrames.has(t))return!1;break}case t.CommitLoad:{if(this._browserFrameTracking)break;const t=_.eventFrameId(e),s=Boolean(a.isMainFrame),r=this._pageFrames.get(t);if(r)r.update(e.startTime,a);else if(this._persistentIds){if(s)return!1;if(!this._addPageFrame(e,a))return!1}else if(a.page&&a.page!==this._legacyCurrentPage)return!1;if(s){const e=this._pageFrames.get(t);e&&(this._mainFrame=e)}break}case t.FireIdleCallback:void 0!==e.duration&&e.duration>a.allottedMilliseconds+_.Thresholds.IdleCallbackAddon&&(r.warning=_.WarningType.IdleDeadlineExceeded)}return!0}_processBrowserEvent(e){if(e.name!==p.LatencyInfoFlow)if(e.name!==p.ResourceWillSendRequest){if(e.hasCategory(o.DevToolsMetadataEventCategory)&&e.args.data){const t=e.args.data;if(e.name===_.DevToolsMetadataEvent.TracingStartedInBrowser){if(!t.persistentIds)return;this._browserFrameTracking=!0,this._mainFrameNodeId=t.frameTreeNodeId;return void(t.frames||[]).forEach((e=>{const t=e.parent&&this._pageFrames.get(e.parent);if(e.parent&&!t)return;let s=this._pageFrames.get(e.frame);s||(s=new v(e),this._pageFrames.set(s.frameId,s),t?t.addChild(s):this._mainFrame=s),s.update(this._minimumRecordTime,e)}))}if(e.name===_.DevToolsMetadataEvent.FrameCommittedInBrowser&&this._browserFrameTracking){let s=this._pageFrames.get(t.frame);if(!s){const e=t.parent&&this._pageFrames.get(t.parent);if(!e)return;s=new v(t),this._pageFrames.set(s.frameId,s),e.addChild(s)}return void s.update(e.startTime,t)}if(e.name===_.DevToolsMetadataEvent.ProcessReadyInBrowser&&this._browserFrameTracking){const e=this._pageFrames.get(t.frame);return void(e&&e.processReady(t.processPseudoId,t.processId))}if(e.name===_.DevToolsMetadataEvent.FrameDeletedInBrowser&&this._browserFrameTracking){const s=this._pageFrames.get(t.frame);return void(s&&(s.deletedTime=e.startTime))}}}else{const t=e.args.data.requestId;"string"==typeof t&&this._requestsFromBrowser.set(t,e)}else{const t=e.args.frameTreeNodeId;"number"==typeof t&&t===this._mainFrameNodeId&&e.bind_id&&this._knownInputEvents.add(e.bind_id)}}_ensureNamedTrack(e){let t=this._namedTracks.get(e);return t||(t=new g,t.type=e,this._tracks.push(t),this._namedTracks.set(e,t),t)}_findAncestorEvent(e){for(let t=this._eventStack.length-1;t>=0;--t){const s=this._eventStack[t];if(s.name===e)return s}return null}_addPageFrame(e,t){const s=t.parent&&this._pageFrames.get(t.parent);if(t.parent&&!s)return!1;const a=new v(t);return this._pageFrames.set(a.frameId,a),a.update(e.startTime,t),s&&s.addChild(a),!0}_reset(){this._isGenericTrace=!1,this._tracks=[],this._namedTracks=new Map,this._inspectedTargetEvents=[],this._timeMarkerEvents=[],this._sessionId=null,this._mainFrameNodeId=null,this._cpuProfiles=[],this._workerIdByThread=new WeakMap,this._pageFrames=new Map,this._requestsFromBrowser=new Map,this._minimumRecordTime=0,this._maximumRecordTime=0,this._totalBlockingTime=-1,this._estimatedTotalBlockingTime=0}isGenericTrace(){return this._isGenericTrace}tracingModel(){return this._tracingModel}minimumRecordTime(){return this._minimumRecordTime}maximumRecordTime(){return this._maximumRecordTime}inspectedTargetEvents(){return this._inspectedTargetEvents}tracks(){return this._tracks}isEmpty(){return 0===this.minimumRecordTime()&&0===this.maximumRecordTime()}timeMarkerEvents(){return this._timeMarkerEvents}rootFrames(){return Array.from(this._pageFrames.values()).filter((e=>!e.parent))}pageURL(){return this._mainFrame&&this._mainFrame.url||""}pageFrameById(e){return e&&this._pageFrames.get(e)||null}networkRequests(){if(this.isGenericTrace())return[];const e=new Map,t=[],s=[],a=p,r=new Set([a.ResourceWillSendRequest,a.ResourceSendRequest,a.ResourceReceiveResponse,a.ResourceReceivedData,a.ResourceFinish,a.ResourceMarkAsCached]),i=this.inspectedTargetEvents();for(let e=0;e<i.length;++e){const t=i[e];if(!r.has(t.name))continue;const s=_.globalEventId(t,"requestId");if(t.name===a.ResourceSendRequest&&this._requestsFromBrowser.has(t.args.data.requestId)){const e=t.args.data.requestId,a=this._requestsFromBrowser.get(e);a&&n(a,s)}n(t,s)}function n(a,r){let i=e.get(r);i?i.addEvent(a):(i=new f(a),e.set(r,i),i.startTime?t.push(i):s.push(i))}return s.concat(t)}}const p={Task:"RunTask",Program:"Program",EventDispatch:"EventDispatch",GPUTask:"GPUTask",Animation:"Animation",RequestMainThreadFrame:"RequestMainThreadFrame",BeginFrame:"BeginFrame",NeedsBeginFrameChanged:"NeedsBeginFrameChanged",BeginMainThreadFrame:"BeginMainThreadFrame",ActivateLayerTree:"ActivateLayerTree",DrawFrame:"DrawFrame",DroppedFrame:"DroppedFrame",HitTest:"HitTest",ScheduleStyleRecalculation:"ScheduleStyleRecalculation",RecalculateStyles:"RecalculateStyles",UpdateLayoutTree:"UpdateLayoutTree",InvalidateLayout:"InvalidateLayout",Layout:"Layout",LayoutShift:"LayoutShift",UpdateLayer:"UpdateLayer",UpdateLayerTree:"UpdateLayerTree",PaintSetup:"PaintSetup",Paint:"Paint",PaintImage:"PaintImage",Rasterize:"Rasterize",RasterTask:"RasterTask",ScrollLayer:"ScrollLayer",CompositeLayers:"CompositeLayers",InteractiveTime:"InteractiveTime",ScheduleStyleInvalidationTracking:"ScheduleStyleInvalidationTracking",StyleRecalcInvalidationTracking:"StyleRecalcInvalidationTracking",StyleInvalidatorInvalidationTracking:"StyleInvalidatorInvalidationTracking",LayoutInvalidationTracking:"LayoutInvalidationTracking",ParseHTML:"ParseHTML",ParseAuthorStyleSheet:"ParseAuthorStyleSheet",TimerInstall:"TimerInstall",TimerRemove:"TimerRemove",TimerFire:"TimerFire",XHRReadyStateChange:"XHRReadyStateChange",XHRLoad:"XHRLoad",CompileScript:"v8.compile",EvaluateScript:"EvaluateScript",CompileModule:"v8.compileModule",EvaluateModule:"v8.evaluateModule",WasmStreamFromResponseCallback:"v8.wasm.streamFromResponseCallback",WasmCompiledModule:"v8.wasm.compiledModule",WasmCachedModule:"v8.wasm.cachedModule",WasmModuleCacheHit:"v8.wasm.moduleCacheHit",WasmModuleCacheInvalid:"v8.wasm.moduleCacheInvalid",FrameStartedLoading:"FrameStartedLoading",CommitLoad:"CommitLoad",MarkLoad:"MarkLoad",MarkDOMContent:"MarkDOMContent",MarkFirstPaint:"firstPaint",MarkFCP:"firstContentfulPaint",MarkLCPCandidate:"largestContentfulPaint::Candidate",MarkLCPInvalidate:"largestContentfulPaint::Invalidate",NavigationStart:"navigationStart",TimeStamp:"TimeStamp",ConsoleTime:"ConsoleTime",UserTiming:"UserTiming",ResourceWillSendRequest:"ResourceWillSendRequest",ResourceSendRequest:"ResourceSendRequest",ResourceReceiveResponse:"ResourceReceiveResponse",ResourceReceivedData:"ResourceReceivedData",ResourceFinish:"ResourceFinish",ResourceMarkAsCached:"ResourceMarkAsCached",RunMicrotasks:"RunMicrotasks",FunctionCall:"FunctionCall",GCEvent:"GCEvent",MajorGC:"MajorGC",MinorGC:"MinorGC",JSFrame:"JSFrame",JSSample:"JSSample",V8Sample:"V8Sample",JitCodeAdded:"JitCodeAdded",JitCodeMoved:"JitCodeMoved",StreamingCompileScript:"v8.parseOnBackground",StreamingCompileScriptWaiting:"v8.parseOnBackgroundWaiting",StreamingCompileScriptParsing:"v8.parseOnBackgroundParsing",V8Execute:"V8.Execute",UpdateCounters:"UpdateCounters",RequestAnimationFrame:"RequestAnimationFrame",CancelAnimationFrame:"CancelAnimationFrame",FireAnimationFrame:"FireAnimationFrame",RequestIdleCallback:"RequestIdleCallback",CancelIdleCallback:"CancelIdleCallback",FireIdleCallback:"FireIdleCallback",WebSocketCreate:"WebSocketCreate",WebSocketSendHandshakeRequest:"WebSocketSendHandshakeRequest",WebSocketReceiveHandshakeResponse:"WebSocketReceiveHandshakeResponse",WebSocketDestroy:"WebSocketDestroy",EmbedderCallback:"EmbedderCallback",SetLayerTreeId:"SetLayerTreeId",TracingStartedInPage:"TracingStartedInPage",TracingSessionIdForWorker:"TracingSessionIdForWorker",DecodeImage:"Decode Image",ResizeImage:"Resize Image",DrawLazyPixelRef:"Draw LazyPixelRef",DecodeLazyPixelRef:"Decode LazyPixelRef",LazyPixelRef:"LazyPixelRef",LayerTreeHostImplSnapshot:"cc::LayerTreeHostImpl",PictureSnapshot:"cc::Picture",DisplayItemListSnapshot:"cc::DisplayItemList",LatencyInfo:"LatencyInfo",LatencyInfoFlow:"LatencyInfo.Flow",InputLatencyMouseMove:"InputLatency::MouseMove",InputLatencyMouseWheel:"InputLatency::MouseWheel",ImplSideFling:"InputHandlerProxy::HandleGestureFling::started",GCCollectGarbage:"BlinkGC.AtomicPhase",CryptoDoEncrypt:"DoEncrypt",CryptoDoEncryptReply:"DoEncryptReply",CryptoDoDecrypt:"DoDecrypt",CryptoDoDecryptReply:"DoDecryptReply",CryptoDoDigest:"DoDigest",CryptoDoDigestReply:"DoDigestReply",CryptoDoSign:"DoSign",CryptoDoSignReply:"DoSignReply",CryptoDoVerify:"DoVerify",CryptoDoVerifyReply:"DoVerifyReply",CpuProfile:"CpuProfile",Profile:"Profile",AsyncTask:"AsyncTask"};_.Category={Console:"blink.console",UserTiming:"blink.user_timing",LatencyInfo:"latencyInfo",Loading:"loading"},_.WarningType={LongTask:"LongTask",ForcedStyle:"ForcedStyle",ForcedLayout:"ForcedLayout",IdleDeadlineExceeded:"IdleDeadlineExceeded",LongHandler:"LongHandler",LongRecurringHandler:"LongRecurringHandler",V8Deopt:"V8Deopt"},_.WorkerThreadName="DedicatedWorker thread",_.WorkerThreadNameLegacy="DedicatedWorker Thread",_.RendererMainThreadName="CrRendererMain",_.BrowserMainThreadName="CrBrowserMain",_.DevToolsMetadataEvent={TracingStartedInBrowser:"TracingStartedInBrowser",TracingStartedInPage:"TracingStartedInPage",TracingSessionIdForWorker:"TracingSessionIdForWorker",FrameCommittedInBrowser:"FrameCommittedInBrowser",ProcessReadyInBrowser:"ProcessReadyInBrowser",FrameDeletedInBrowser:"FrameDeletedInBrowser"},_.Thresholds={LongTask:50,Handler:150,RecurringHandler:50,ForcedLayout:30,IdleCallbackAddon:5};class g{constructor(){this.name="",this.type=T.Other,this.forMainFrame=!1,this.url="",this.events=[],this.asyncEvents=[],this.tasks=[],this._syncEvents=null,this.thread=null}syncEvents(){if(this.events.length)return this.events;if(this._syncEvents)return this._syncEvents;const e=[];function t(){const t=e[e.length-1];if(void 0!==t){const e=t.endTime;if(void 0!==e)return e}throw new Error("End time does not exist on event.")}this._syncEvents=[];for(const s of this.asyncEvents){const a=s.startTime;let r=s.endTime;for(void 0===r&&(r=a);e.length&&a>=t();)e.pop();if(e.length&&r>t()){this._syncEvents=[];break}const i=new o.Event(s.categoriesString,s.name,o.Phase.Complete,a,s.thread);i.setEndTime(r),i.addArgs(s.args),this._syncEvents.push(i),e.push(i)}return this._syncEvents}}const T={MainThread:Symbol("MainThread"),Worker:Symbol("Worker"),Input:Symbol("Input"),Animation:Symbol("Animation"),Timings:Symbol("Timings"),Console:Symbol("Console"),Raster:Symbol("Raster"),GPU:Symbol("GPU"),Experience:Symbol("Experience"),Other:Symbol("Other")};class v{constructor(e){this.frameId=e.frame,this.url=e.url||"",this.name=e.name,this.children=[],this.parent=null,this.processes=[],this.deletedTime=null,this.ownerNode=null}update(e,t){this.url=t.url||"",this.name=t.name,t.processId?this.processes.push({time:e,processId:t.processId,processPseudoId:"",url:t.url||""}):this.processes.push({time:e,processId:-1,processPseudoId:t.processPseudoId,url:t.url||""})}processReady(e,t){for(const s of this.processes)s.processPseudoId===e&&(s.processPseudoId="",s.processId=t)}addChild(e){this.children.push(e),e.parent=this}}class f{constructor(e){const t=p,s=e.name===t.ResourceSendRequest||e.name===t.ResourceWillSendRequest;this.startTime=s?e.startTime:0,this.endTime=1/0,this.encodedDataLength=0,this.decodedBodyLength=0,this.children=[],this.timing,this.mimeType,this.url,this.requestMethod,this._transferSize=0,this._maybeDiskCached=!1,this._memoryCached=!1,this.addEvent(e)}addEvent(e){this.children.push(e);const t=p;this.startTime=Math.min(this.startTime,e.startTime);const s=e.args.data;s.mimeType&&(this.mimeType=s.mimeType),"priority"in s&&(this.priority=s.priority),e.name===t.ResourceFinish&&(this.endTime=e.startTime),s.finishTime&&(this.finishTime=1e3*s.finishTime),this.responseTime||e.name!==t.ResourceReceiveResponse&&e.name!==t.ResourceReceivedData||(this.responseTime=e.startTime);const a=s.encodedDataLength||0;e.name===t.ResourceMarkAsCached&&(this._memoryCached=!0),e.name===t.ResourceReceiveResponse&&(s.fromCache&&(this._maybeDiskCached=!0),s.fromServiceWorker&&(this.fromServiceWorker=!0),s.hasCachedResource&&(this.hasCachedResource=!0),this.encodedDataLength=a),e.name===t.ResourceReceivedData&&(this.encodedDataLength+=a),e.name===t.ResourceFinish&&a&&(this.encodedDataLength=a,this._transferSize=a);const r=s.decodedBodyLength;e.name===t.ResourceFinish&&r&&(this.decodedBodyLength=r),this.url||(this.url=s.url),this.requestMethod||(this.requestMethod=s.requestMethod),this.timing||(this.timing=s.timing),s.fromServiceWorker&&(this.fromServiceWorker=!0)}cached(){return Boolean(this._memoryCached)||Boolean(this._maybeDiskCached)&&!this._transferSize&&!this.fromServiceWorker}memoryCached(){return this._memoryCached}getSendReceiveTiming(){if(this.cached()||!this.timing)return{sendStartTime:this.startTime,headersEndTime:this.startTime};const e=1e3*this.timing.requestTime;return{sendStartTime:e+this.timing.sendStart,headersEndTime:e+this.timing.receiveHeadersEnd}}getStartTime(){return Math.min(this.startTime,!this.cached()&&this.timing&&1e3*this.timing.requestTime||1/0)}beginTime(){return Math.min(this.getStartTime(),!this.cached()&&this.timing&&1e3*this.timing.pushStart||1/0)}}class y{constructor(e){this.type=e.name,this.startTime=e.startTime,this._tracingEvent=e;const t=e.args.data;this.frame=t.frame,this.nodeId=t.nodeId,this.nodeName=t.nodeName,this.invalidationSet=t.invalidationSet,this.invalidatedSelectorId=t.invalidatedSelectorId,this.changedId=t.changedId,this.changedClass=t.changedClass,this.changedAttribute=t.changedAttribute,this.changedPseudo=t.changedPseudo,this.selectorPart=t.selectorPart,this.extraData=t.extraData,this.invalidationList=t.invalidationList,this.cause={reason:t.reason,stackTrace:t.stackTrace},this.linkedRecalcStyleEvent=!1,this.linkedLayoutEvent=!1,!this.cause.reason&&this.cause.stackTrace&&this.type===p.LayoutInvalidationTracking&&(this.cause.reason="Layout forced")}}class I{constructor(){this._lastRecalcStyle=null,this._lastPaintWithLayer=null,this._didPaint=!1,this._initializePerFrameState(),this._invalidations={},this._invalidationsByNodeId={}}static invalidationEventsFor(e){return R.get(e)||null}addInvalidation(e){if(this._startNewFrameIfNeeded(),!e.nodeId)return console.error("Invalidation lacks node information."),void console.error(e);const t=p;if(e.type===t.StyleRecalcInvalidationTracking&&"StyleInvalidator"===e.cause.reason)return;if(e.type===t.ScheduleStyleInvalidationTracking||e.type===t.StyleInvalidatorInvalidationTracking||e.type===t.StyleRecalcInvalidationTracking){e.startTime&&this._lastRecalcStyle&&void 0!==this._lastRecalcStyle.endTime&&e.startTime>=this._lastRecalcStyle.startTime&&e.startTime<=this._lastRecalcStyle.endTime&&this._associateWithLastRecalcStyleEvent(e)}this._invalidations[e.type]?this._invalidations[e.type].push(e):this._invalidations[e.type]=[e],e.nodeId&&(this._invalidationsByNodeId[e.nodeId]?this._invalidationsByNodeId[e.nodeId].push(e):this._invalidationsByNodeId[e.nodeId]=[e])}didRecalcStyle(e){this._lastRecalcStyle=e;const t=[p.ScheduleStyleInvalidationTracking,p.StyleInvalidatorInvalidationTracking,p.StyleRecalcInvalidationTracking];for(const e of this._invalidationsOfTypes(t))this._associateWithLastRecalcStyleEvent(e)}_associateWithLastRecalcStyleEvent(e){if(e.linkedRecalcStyleEvent)return;const t=p;if(!this._lastRecalcStyle)throw new Error("Last recalculate style event not set.");const s=this._lastRecalcStyle.args.beginData.frame;e.type===t.StyleInvalidatorInvalidationTracking?this._addSyntheticStyleRecalcInvalidations(this._lastRecalcStyle,s,e):e.type===t.ScheduleStyleInvalidationTracking||this._addInvalidationToEvent(this._lastRecalcStyle,s,e),e.linkedRecalcStyleEvent=!0}_addSyntheticStyleRecalcInvalidations(e,t,s){if(s.invalidationList){if(!s.nodeId)return console.error("Invalidation lacks node information."),void console.error(s);for(let e=0;e<s.invalidationList.length;e++){const a=s.invalidationList[e].id;let r;const i=this._invalidationsByNodeId[s.nodeId]||[];for(let e=0;e<i.length;e++){const s=i[e];s.frame===t&&s.invalidationSet===a&&s.type===p.ScheduleStyleInvalidationTracking&&(r=s)}r?this._addSyntheticStyleRecalcInvalidation(r._tracingEvent,s):console.error("Failed to lookup the event that scheduled a style invalidator invalidation.")}}else this._addSyntheticStyleRecalcInvalidation(s._tracingEvent,s)}_addSyntheticStyleRecalcInvalidation(e,t){const s=new y(e);s.type=p.StyleRecalcInvalidationTracking,t.cause.reason&&(s.cause.reason=t.cause.reason),t.selectorPart&&(s.selectorPart=t.selectorPart),this.addInvalidation(s),s.linkedRecalcStyleEvent||this._associateWithLastRecalcStyleEvent(s)}didLayout(e){const t=e.args.beginData.frame;for(const s of this._invalidationsOfTypes([p.LayoutInvalidationTracking]))s.linkedLayoutEvent||(this._addInvalidationToEvent(e,t,s),s.linkedLayoutEvent=!0)}didPaint(e){this._didPaint=!0}_addInvalidationToEvent(e,t,s){if(t!==s.frame)return;const a=R.get(e);a?a.push(s):R.set(e,[s])}_invalidationsOfTypes(e){const t=this._invalidations;return e||(e=Object.keys(t)),function*(){if(e)for(let s=0;s<e.length;++s){const a=t[e[s]]||[];for(let e=0;e<a.length;++e)yield a[e]}}()}_startNewFrameIfNeeded(){this._didPaint&&this._initializePerFrameState()}_initializePerFrameState(){this._invalidations={},this._invalidationsByNodeId={},this._lastRecalcStyle=null,this._lastPaintWithLayer=null,this._didPaint=!1}}class S{constructor(){if(S._initialize(),this._initiatorByType=new Map,S._asyncEvents)for(const e of S._asyncEvents.keys())this._initiatorByType.set(e,new Map)}static _initialize(){if(S._asyncEvents)return;const e=new Map,t=p;e.set(t.TimerInstall,{causes:[t.TimerFire],joinBy:"timerId"}),e.set(t.ResourceSendRequest,{causes:[t.ResourceMarkAsCached,t.ResourceReceiveResponse,t.ResourceReceivedData,t.ResourceFinish],joinBy:"requestId"}),e.set(t.RequestAnimationFrame,{causes:[t.FireAnimationFrame],joinBy:"id"}),e.set(t.RequestIdleCallback,{causes:[t.FireIdleCallback],joinBy:"id"}),e.set(t.WebSocketCreate,{causes:[t.WebSocketSendHandshakeRequest,t.WebSocketReceiveHandshakeResponse,t.WebSocketDestroy],joinBy:"identifier"}),S._asyncEvents=e,S._typeToInitiator=new Map;for(const t of e){const e=t[1].causes;for(const s of e)S._typeToInitiator.set(s,t[0])}}processEvent(e){if(!S._typeToInitiator||!S._asyncEvents)return;let t=S._typeToInitiator.get(e.name);const s=!t;t||(t=e.name);const a=S._asyncEvents.get(t);if(!a)return;const r=_.globalEventId(e,a.joinBy);if(!r)return;const i=this._initiatorByType.get(t);if(i){if(s)return void i.set(r,e);const t=i.get(r),a=F.forEvent(e);a.setInitiator(t||null),!a.frameId&&t&&(a.frameId=_.eventFrameId(t))}}}S._asyncEvents=null,S._typeToInitiator=null;class F{constructor(){this.warning=null,this.previewElement=null,this.url=null,this.backendNodeId=0,this.stackTrace=null,this.picture=null,this._initiator=null,this.frameId="",this.timeWaitingForMainThread}setInitiator(e){if(this._initiator=e,!e||this.url)return;const t=F.forEvent(e).url;t&&(this.url=t)}initiator(){return this._initiator}topFrame(){const e=this.stackTraceForSelfOrInitiator();return e&&e[0]||null}stackTraceForSelfOrInitiator(){return this.stackTrace||this._initiator&&F.forEvent(this._initiator).stackTrace}static forEvent(e){let t=k.get(e);return t||(t=new F,k.set(e,t)),t}}const k=new WeakMap,R=new WeakMap;var E=Object.freeze({__proto__:null,TimelineModelImpl:_,RecordType:p,Track:g,TrackType:T,PageFrame:v,NetworkRequest:f,InvalidationTrackingEvent:y,InvalidationTracker:I,TimelineAsyncEventTracker:S,TimelineData:F,InvalidationCause:undefined,MetadataEvents:undefined});class C{accept(e){return!0}}class P extends C{constructor(e){super(),this._visibleTypes=new Set(e)}accept(e){return this._visibleTypes.has(P._eventType(e))}static _eventType(e){return e.hasCategory(_.Category.Console)?p.ConsoleTime:e.hasCategory(_.Category.UserTiming)?p.UserTiming:e.hasCategory(_.Category.LatencyInfo)?p.LatencyInfo:e.name}}var M=Object.freeze({__proto__:null,TimelineModelFilter:C,TimelineVisibleEventsFilter:P,TimelineInvisibleEventsFilter:class extends C{constructor(e){super(),this._invisibleTypes=new Set(e)}accept(e){return!this._invisibleTypes.has(P._eventType(e))}},ExclusiveNameFilter:class extends C{constructor(e){super(),this._excludeNames=new Set(e)}accept(e){return!this._excludeNames.has(e.name)}}});class w extends c.LayerTreeBase{constructor(e){super(e),this._tileById=new Map,this._paintProfilerModel=e&&e.model(h.PaintProfilerModel)}async setLayers(e,t,s){const a=new Set;if(e)this._extractNodeIdsToResolve(a,{},e);else if(t)for(let e=0;e<t.length;++e)this._extractNodeIdsToResolve(a,{},t[e]);await this.resolveBackendNodeIds(a);const r=this.layersById;if(this.layersById=new Map,this.setContentRoot(null),e){const t=this._innerSetLayers(r,e);this.setRoot(t)}else if(t){const e=t.map(this._innerSetLayers.bind(this,r)),s=this.contentRoot();if(!s)throw new Error("Content root is not set.");this.setRoot(s);for(let t=0;t<e.length;++t)e[t].id()!==s.id()&&s.addChild(e[t])}this._setPaints(s)}setTiles(e){this._tileById=new Map;for(const t of e)this._tileById.set(t.id,t)}pictureForRasterTile(t){const s=this._tileById.get("cc::Tile/"+t);if(!s)return e.Console.instance().error(`Tile ${t} is missing`),Promise.resolve(null);const a=this.layerById(s.layer_id);return a?a._pictureForRect(s.content_rect):(e.Console.instance().error(`Layer ${s.layer_id} for tile ${t} is not found`),Promise.resolve(null))}_setPaints(e){for(let t=0;t<e.length;++t){const s=this.layersById.get(e[t].layerId());s&&s._addPaintEvent(e[t])}}_innerSetLayers(e,t){let s=e.get(t.layer_id);s?s._reset(t):s=new L(this._paintProfilerModel,t),this.layersById.set(t.layer_id,s),t.owner_node&&s._setNode(this.backendNodeIdToNode().get(t.owner_node)||null),!this.contentRoot()&&s.drawsContent()&&this.setContentRoot(s);for(let a=0;t.children&&a<t.children.length;++a)s.addChild(this._innerSetLayers(e,t.children[a]));return s}_extractNodeIdsToResolve(e,t,s){const a=s.owner_node;a&&!this.backendNodeIdToNode().has(a)&&e.add(a);for(let a=0;s.children&&a<s.children.length;++a)this._extractNodeIdsToResolve(e,t,s.children[a])}}class L{constructor(e,t){this._parentLayerId=null,this._parent=null,this._layerId="",this._node=null,this._offsetX=-1,this._offsetY=-1,this._width=-1,this._height=-1,this._children=[],this._quad=[],this._scrollRects=[],this._gpuMemoryUsage=-1,this._paints=[],this._compositingReasonIds=[],this._drawsContent=!1,this._paintProfilerModel=e,this._reset(t)}_reset(e){this._node=null,this._layerId=String(e.layer_id),this._offsetX=e.position[0],this._offsetY=e.position[1],this._width=e.bounds.width,this._height=e.bounds.height,this._children=[],this._parentLayerId=null,this._parent=null,this._quad=e.layer_quad||[],this._createScrollRects(e),this._compositingReasonIds=e.compositing_reason_ids||e.debug_info&&e.debug_info.compositing_reason_ids||[],this._drawsContent=Boolean(e.draws_content),this._gpuMemoryUsage=e.gpu_memory_usage,this._paints=[]}id(){return this._layerId}parentId(){return this._parentLayerId}parent(){return this._parent}isRoot(){return!this.parentId()}children(){return this._children}addChild(e){const t=e;t._parent&&console.assert(!1,"Child already has a parent"),this._children.push(t),t._parent=this,t._parentLayerId=this._layerId}_setNode(e){this._node=e}node(){return this._node}nodeForSelfOrAncestor(){let e=this;for(;e;e=e.parent())if(e.node())return e.node();return null}offsetX(){return this._offsetX}offsetY(){return this._offsetY}width(){return this._width}height(){return this._height}transform(){return null}quad(){return this._quad}anchorPoint(){return[.5,.5,0]}invisible(){return!1}paintCount(){return 0}lastPaintRect(){return null}scrollRects(){return this._scrollRects}stickyPositionConstraint(){return null}gpuMemoryUsage(){return this._gpuMemoryUsage}snapshots(){return this._paints.map((e=>e.snapshotPromise().then((e=>{if(!e)return null;return{rect:{x:e.rect[0],y:e.rect[1],width:e.rect[2],height:e.rect[3]},snapshot:e.snapshot}}))))}_pictureForRect(e){return Promise.all(this._paints.map((e=>e.picturePromise()))).then((s=>{const a=s.filter((s=>{return s&&(a=s.rect,r=e,t(a[0],a[0]+a[2],r[0],r[0]+r[2])&&t(a[1],a[1]+a[3],r[1],r[1]+r[3]));var a,r})).map((e=>({x:e.rect[0],y:e.rect[1],picture:e.serializedPicture})));if(!a.length||!this._paintProfilerModel)return null;const r=a.reduce(((e,t)=>Math.min(e,t.x)),1/0),i=a.reduce(((e,t)=>Math.min(e,t.y)),1/0),n={x:e[0]-r,y:e[1]-i,width:e[2],height:e[3]};return this._paintProfilerModel.loadSnapshotFromFragments(a).then((e=>e?{rect:n,snapshot:e}:null))}));function t(e,t,s,a){return console.assert(e<=t&&s<=a,"segments should be specified as ordered pairs"),t>s&&e<a}}_scrollRectsFromParams(e,t){return{rect:{x:e[0],y:e[1],width:e[2],height:e[3]},type:t}}_createScrollRects(e){const t=[];e.non_fast_scrollable_region&&t.push(this._scrollRectsFromParams(e.non_fast_scrollable_region,c.Layer.ScrollRectType.NonFastScrollable)),e.touch_event_handler_region&&t.push(this._scrollRectsFromParams(e.touch_event_handler_region,c.Layer.ScrollRectType.TouchEventHandler)),e.wheel_event_handler_region&&t.push(this._scrollRectsFromParams(e.wheel_event_handler_region,c.Layer.ScrollRectType.WheelEventHandler)),e.scroll_event_handler_region&&t.push(this._scrollRectsFromParams(e.scroll_event_handler_region,c.Layer.ScrollRectType.RepaintsOnScroll)),this._scrollRects=t}_addPaintEvent(e){this._paints.push(e)}requestCompositingReasonIds(){return Promise.resolve(this._compositingReasonIds)}drawsContent(){return this._drawsContent}}var b=Object.freeze({__proto__:null,TracingLayerTree:w,TracingLayer:L,TracingLayerPayload:undefined,TracingLayerTile:undefined});const N=new WeakMap;class B{constructor(){this._segments,this._drags,this._cssAnimations,this._responses,this._scrolls,this.reset()}static phaseForEvent(e){return N.get(e)}populate(e,t){if(this.reset(),!e)return;this._processInputLatencies(e),t&&this._processAnimations(t);const a=new s.SegmentedRange;a.appendRange(this._drags),a.appendRange(this._cssAnimations),a.appendRange(this._scrolls),a.appendRange(this._responses),this._segments=a.segments()}_processInputLatencies(t){const s=A,r=D,i=B._mergeThresholdsMs;let n,o,l,d,c,h,m;for(let _=0;_<t.length;++_){const p=t[_];_>0&&t[_].startTime<t[_-1].startTime&&console.assert(!1,"Unordered input events");switch(this._inputEventType(p.name)){case s.ScrollBegin:this._scrolls.append(this._segmentForEvent(p,r.Scroll)),n=p;break;case s.ScrollEnd:n?this._scrolls.append(this._segmentForEventRange(n,p,r.Scroll)):this._scrolls.append(this._segmentForEvent(p,r.Scroll)),n=null;break;case s.ScrollUpdate:l=null,this._scrolls.append(this._segmentForEvent(p,r.Scroll));break;case s.FlingStart:if(o){e.Console.instance().error(a.UIString("Two flings at the same time? %s vs %s",o.startTime,p.startTime));break}o=p;break;case s.FlingCancel:if(!o)break;this._scrolls.append(this._segmentForEventRange(o,p,r.Fling)),o=null;break;case s.ImplSideFling:this._scrolls.append(this._segmentForEvent(p,r.Fling));break;case s.ShowPress:case s.Tap:case s.KeyDown:case s.KeyDownRaw:case s.KeyUp:case s.Char:case s.Click:case s.ContextMenu:this._responses.append(this._segmentForEvent(p,r.Response));break;case s.TouchStart:if(l){e.Console.instance().error(a.UIString("Two touches at the same time? %s vs %s",l.startTime,p.startTime));break}l=p,this._setPhaseForEvent(p,r.Response),d=null;break;case s.TouchCancel:l=null;break;case s.TouchMove:d?this._drags.append(this._segmentForEvent(p,r.Drag)):l&&(d=p,this._responses.append(this._segmentForEventRange(l,p,r.Response)));break;case s.TouchEnd:l=null;break;case s.MouseDown:h=p,m=null;break;case s.MouseMove:h&&!m&&h.startTime+i.mouse>p.startTime?(this._responses.append(this._segmentForEvent(h,r.Response)),this._responses.append(this._segmentForEvent(p,r.Response))):h&&this._drags.append(this._segmentForEvent(p,r.Drag)),m=p;break;case s.MouseUp:this._responses.append(this._segmentForEvent(p,r.Response)),h=null;break;case s.MouseWheel:c&&u(i.mouse,c,p)?this._scrolls.append(this._segmentForEventRange(c,p,r.Scroll)):this._scrolls.append(this._segmentForEvent(p,r.Scroll)),c=p}}function u(e,t,s){return void 0!==t.endTime&&(t.endTime<s.startTime&&s.startTime<t.endTime+e)}}_processAnimations(e){for(let t=0;t<e.length;++t)this._cssAnimations.append(this._segmentForEvent(e[t],D.Animation))}_segmentForEvent(e,t){return this._setPhaseForEvent(e,t),new s.Segment(e.startTime,void 0!==e.endTime?e.endTime:Number.MAX_SAFE_INTEGER,t)}_segmentForEventRange(e,t,a){return this._setPhaseForEvent(e,a),this._setPhaseForEvent(t,a),new s.Segment(e.startTime,void 0!==e.endTime?e.endTime:Number.MAX_SAFE_INTEGER,a)}_setPhaseForEvent(e,t){N.set(e.steps[0],t)}interactionRecords(){return this._segments}reset(){const e=B._mergeThresholdsMs;function t(e,t,s){return t.end+e>=s.begin&&t.data===s.data?t:null}this._segments=[],this._drags=new s.SegmentedRange(t.bind(null,e.mouse)),this._cssAnimations=new s.SegmentedRange(t.bind(null,e.animation)),this._responses=new s.SegmentedRange(t.bind(null,0)),this._scrolls=new s.SegmentedRange(t.bind(null,e.animation))}_inputEventType(e){const t="InputLatency::";return e.startsWith(t)?e.substr(t.length):e===A.ImplSideFling?e:(console.error("Unrecognized input latency event: "+e),null)}}const D={Idle:"Idle",Response:"Response",Scroll:"Scroll",Fling:"Fling",Drag:"Drag",Animation:"Animation",Uncategorized:"Uncategorized"},A={Char:"Char",Click:"GestureClick",ContextMenu:"ContextMenu",FlingCancel:"GestureFlingCancel",FlingStart:"GestureFlingStart",ImplSideFling:p.ImplSideFling,KeyDown:"KeyDown",KeyDownRaw:"RawKeyDown",KeyUp:"KeyUp",LatencyScrollUpdate:"ScrollUpdate",MouseDown:"MouseDown",MouseMove:"MouseMove",MouseUp:"MouseUp",MouseWheel:"MouseWheel",PinchBegin:"GesturePinchBegin",PinchEnd:"GesturePinchEnd",PinchUpdate:"GesturePinchUpdate",ScrollBegin:"GestureScrollBegin",ScrollEnd:"GestureScrollEnd",ScrollUpdate:"GestureScrollUpdate",ScrollUpdateRenderer:"ScrollUpdate",ShowPress:"GestureShowPress",Tap:"GestureTap",TapCancel:"GestureTapCancel",TapDown:"GestureTapDown",TouchCancel:"TouchCancel",TouchEnd:"TouchEnd",TouchMove:"TouchMove",TouchStart:"TouchStart"};B._mergeThresholdsMs={animation:1,mouse:40},B._eventIRPhase=Symbol("eventIRPhase");var W=Object.freeze({__proto__:null,TimelineIRModel:B,Phases:D,InputEvents:A});class x{constructor(e){this._categoryMapper=e,this._frames,this._frameById,this._minimumRecordTime,this._lastFrame,this._mainFrameCommitted,this._mainFrameRequested,this._minimumRecordTime,this._lastLayerTree,this._framePendingActivation,this._currentTaskTimeByCategory,this._target,this.reset()}frames(e,t){if(!e&&!t)return this._frames;const s=i.lowerBound(this._frames,e||0,((e,t)=>e-t.endTime)),a=i.lowerBound(this._frames,t||1/0,((e,t)=>e-t.startTime));return this._frames.slice(s,a)}hasRasterTile(e){const t=e.args.tileData;if(!t)return!1;const s=t.sourceFrameNumber,a=s&&this._frameById[s];return!(!a||!a.layerTree)}rasterTilePromise(e){if(!this._target)return Promise.resolve(null);const t=e.args.tileData,s=t.sourceFrameNumber,a=t.tileId&&t.tileId.id_ref,r=s&&this._frameById[s];return r&&r.layerTree&&a?r.layerTree.layerTreePromise().then((e=>e&&e.pictureForRasterTile(a))):Promise.resolve(null)}reset(){this._minimumRecordTime=1/0,this._frames=[],this._frameById={},this._lastFrame=null,this._lastLayerTree=null,this._mainFrameCommitted=!1,this._mainFrameRequested=!1,this._framePendingCommit=null,this._lastBeginFrame=null,this._lastDroppedFrame=null,this._lastNeedsBeginFrame=null,this._framePendingActivation=null,this._lastTaskBeginTime=null,this._target=null,this._layerTreeId=null,this._currentTaskTimeByCategory={}}handleBeginFrame(e){this._lastFrame||this._startFrame(e),this._lastBeginFrame=e}handleDroppedFrame(e){this._lastFrame||this._startFrame(e),this._lastDroppedFrame=e}handleDrawFrame(e){if(this._lastFrame){if(this._mainFrameCommitted||!this._mainFrameRequested){if(this._lastNeedsBeginFrame){const e=this._framePendingActivation?this._framePendingActivation.triggerTime:this._lastBeginFrame||this._lastNeedsBeginFrame;e>this._lastFrame.startTime&&(this._lastFrame.idle=!0,this._startFrame(e),this._framePendingActivation&&this._commitPendingFrame(),this._lastBeginFrame=null),this._lastNeedsBeginFrame=null}this._lastDroppedFrame&&(this._lastFrame.dropped=!0,this._startFrame(this._lastDroppedFrame),this._lastDroppedFrame=null),this._startFrame(e)}this._mainFrameCommitted=!1}else this._startFrame(e)}handleActivateLayerTree(){this._lastFrame&&this._framePendingActivation&&!this._lastNeedsBeginFrame&&this._commitPendingFrame()}handleRequestMainThreadFrame(){this._lastFrame&&(this._mainFrameRequested=!0)}handleCompositeLayers(){this._framePendingCommit&&(this._framePendingActivation=this._framePendingCommit,this._framePendingCommit=null,this._mainFrameRequested=!1,this._mainFrameCommitted=!0)}handleLayerTreeSnapshot(e){this._lastLayerTree=e}handleNeedFrameChanged(e,t){t&&(this._lastNeedsBeginFrame=e)}_startFrame(e){this._lastFrame&&this._flushFrame(this._lastFrame,e),this._lastFrame=new U(e,e-this._minimumRecordTime)}_flushFrame(e,t){e._setLayerTree(this._lastLayerTree),e._setEndTime(t),this._lastLayerTree&&this._lastLayerTree._setPaints(e._paints);const s=this._frames[this._frames.length-1];this._frames.length&&s&&(e.startTime!==s.endTime||e.startTime>e.endTime)&&console.assert(!1,`Inconsistent frame time for frame ${this._frames.length} (${e.startTime} - ${e.endTime})`),this._frames.push(e),"number"==typeof e._mainFrameId&&(this._frameById[e._mainFrameId]=e)}_commitPendingFrame(){this._framePendingActivation&&this._lastFrame&&(this._lastFrame._addTimeForCategories(this._framePendingActivation.timeByCategory),this._lastFrame._paints=this._framePendingActivation.paints,this._lastFrame._mainFrameId=this._framePendingActivation.mainFrameId,this._framePendingActivation=null)}addTraceEvents(e,t,s){this._target=e;let a=0;this._currentProcessMainThread=s.length&&s[0].thread||null;for(let e=0;e<t.length;++e){for(;a+1<s.length&&s[a+1].time<=t[e].startTime;)this._currentProcessMainThread=s[++a].thread;this._addTraceEvent(t[e])}this._currentProcessMainThread=null}_addTraceEvent(e){const t=p;if(e.startTime&&e.startTime<this._minimumRecordTime&&(this._minimumRecordTime=e.startTime),e.name===t.SetLayerTreeId)this._layerTreeId=e.args.layerTreeId||e.args.data.layerTreeId;else if(e.id&&e.phase===o.Phase.SnapshotObject&&e.name===t.LayerTreeHostImplSnapshot&&Number(e.id)===this._layerTreeId&&this._target){const t=e;this.handleLayerTreeSnapshot(new G(this._target,t))}else this._processCompositorEvents(e),e.thread===this._currentProcessMainThread?this._addMainThreadTraceEvent(e):this._lastFrame&&e.selfTime&&!o.TracingModel.isTopLevelEvent(e)&&this._lastFrame._addTimeForCategory(this._categoryMapper(e),e.selfTime)}_processCompositorEvents(e){const t=p;if(e.args.layerTreeId!==this._layerTreeId)return;const s=e.startTime;e.name===t.BeginFrame?this.handleBeginFrame(s):e.name===t.DrawFrame?this.handleDrawFrame(s):e.name===t.ActivateLayerTree?this.handleActivateLayerTree():e.name===t.RequestMainThreadFrame?this.handleRequestMainThreadFrame():e.name===t.NeedsBeginFrameChanged?this.handleNeedFrameChanged(s,e.args.data&&e.args.data.needsBeginFrame):e.name===t.DroppedFrame&&this.handleDroppedFrame(s)}_addMainThreadTraceEvent(e){const t=p;o.TracingModel.isTopLevelEvent(e)&&(this._currentTaskTimeByCategory={},this._lastTaskBeginTime=e.startTime),!this._framePendingCommit&&x._mainFrameMarkers.indexOf(e.name)>=0&&(this._framePendingCommit=new H(this._lastTaskBeginTime||e.startTime,this._currentTaskTimeByCategory)),this._framePendingCommit?(this._addTimeForCategory(this._framePendingCommit.timeByCategory,e),e.name===t.BeginMainThreadFrame&&e.args.data&&e.args.data.frameId&&(this._framePendingCommit.mainFrameId=e.args.data.frameId),e.name===t.Paint&&e.args.data.layerId&&F.forEvent(e).picture&&this._target&&this._framePendingCommit.paints.push(new q(e,this._target)),e.name===t.CompositeLayers&&e.args.layerTreeId===this._layerTreeId&&this.handleCompositeLayers()):this._addTimeForCategory(this._currentTaskTimeByCategory,e)}_addTimeForCategory(e,t){if(!t.selfTime)return;const s=this._categoryMapper(t);e[s]=(e[s]||0)+t.selfTime}}x._mainFrameMarkers=[p.ScheduleStyleRecalculation,p.InvalidateLayout,p.BeginMainThreadFrame,p.ScrollLayer];class G{constructor(e,t){this._target=e,this._snapshot=t,this._paints}async layerTreePromise(){const e=await this._snapshot.objectPromise();if(!e)return null;const t=e.device_viewport_size,s=e.active_tiles,a=e.active_tree.root_layer,r=e.active_tree.layers,i=new w(this._target);return i.setViewportSize(t),i.setTiles(s),await i.setLayers(a,r,this._paints||[]),i}paints(){return this._paints||[]}_setPaints(e){this._paints=e}}class U{constructor(e,t){this.startTime=e,this.startTimeOffset=t,this.endTime=this.startTime,this.duration=0,this.timeByCategory={},this.cpuTime=0,this.idle=!1,this.dropped=!1,this.layerTree=null,this._paints=[],this._mainFrameId=void 0}hasWarnings(){return!1}_setEndTime(e){this.endTime=e,this.duration=this.endTime-this.startTime}_setLayerTree(e){this.layerTree=e}_addTimeForCategories(e){for(const t in e)this._addTimeForCategory(t,e[t])}_addTimeForCategory(e,t){this.timeByCategory[e]=(this.timeByCategory[e]||0)+t,this.cpuTime+=t}}class q{constructor(e,t){this._event=e,this._target=t}layerId(){return this._event.args.data.layerId}event(){return this._event}picturePromise(){const e=F.forEvent(this._event).picture;return e?e.objectPromise().then((e=>{if(!e)return null;const t=e.params&&e.params.layer_rect,s=e.skp64;return t&&s?{rect:t,serializedPicture:s}:null})):Promise.resolve(null)}async snapshotPromise(){const e=this._target&&this._target.model(h.PaintProfilerModel),t=await this.picturePromise();if(!t||!e)return null;const s=await e.loadSnapshot(t.serializedPicture);return s?{rect:t.rect,snapshot:s}:null}}class H{constructor(e,t){this.timeByCategory=t,this.paints=[],this.mainFrameId=void 0,this.triggerTime=e}}var z=Object.freeze({__proto__:null,TimelineFrameModel:x,TracingFrameLayerTree:G,TimelineFrame:U,LayerPaintEvent:q,PendingFrame:H});class O{constructor(e,t){this.totalTime=0,this.selfTime=0,this.id=e,this.event=t,this.parent,this._groupId="",this._isGroupNode=!1,this._depth=0}isGroupNode(){return this._isGroupNode}hasChildren(){throw"Not implemented"}setHasChildren(e){throw"Not implemented"}children(){throw"Not implemented"}searchTree(e,t){t=t||[],this.event&&e(this.event)&&t.push(this);for(const s of this.children().values())s.searchTree(e,t);return t}}class $ extends O{constructor(e,t,s){super(e,t),this._root=s&&s._root,this._hasChildren=!1,this._children=null,this.parent=s}hasChildren(){return this._hasChildren}setHasChildren(e){this._hasChildren=e}children(){return this._children||this._buildChildren()}_buildChildren(){const e=[];for(let t=this;t.parent&&!t._isGroupNode;t=t.parent)e.push(t);e.reverse();const t=new Map,s=this,a=this._root;if(!a)return this._children=t,this._children;const r=a._startTime,i=a._endTime,n=a._doNotAggregate?function(t){++d,c===e.length&&d<=e.length+2&&m(t,0);--d}:void 0,o=a._doNotAggregate?void 0:X,l=a._eventGroupIdCallback;let d=0,c=0,h=null;function m(a,r){if(d===e.length+2){if(!h)return;return h.setHasChildren(!0),void(h.selfTime-=r)}let i,n="";o?(i=o(a),n=l?l(a):"",n&&(i+="/"+n)):i=Symbol("uniqueId");let c=t.get(i);c||(c=new $(i,a,s),c._groupId=n,t.set(i,c)),c.selfTime+=r,c.totalTime+=r,h=c}return _.forEachEvent(a._events,(function(t){if(++d,d>e.length+2)return;if(!function(t){if(c===e.length)return!0;if(c!==d-1)return!1;if(!t.endTime)return!1;if(!o)return t===e[c].event&&++c,!1;let s=o(t);const a=l?l(t):"";a&&(s+="/"+a);s===e[c].id&&++c;return!1}(t))return;const s=(void 0!==t.endTime?Math.min(t.endTime,i):i)-Math.max(r,t.startTime);s<0&&console.error("Negative event duration");m(t,s)}),(function(e){--d,c>d&&(c=d)}),n,r,i,a._filter),this._children=t,t}}class j extends O{constructor(e,t,s){super(e,s),this._children=new Map,this.parent=t,this._isGroupNode=!0}addChild(e,t,s){this._children.set(e.id,e),this.selfTime+=t,this.totalTime+=s,e.parent=this}hasChildren(){return!0}children(){return this._children}}class J extends O{constructor(e,t,s,a,r){super(t,s),this.parent=r,this._root=e,this._depth=(r._depth||0)+1,this._cachedChildren=null,this._hasChildren=a}hasChildren(){return this._hasChildren}setHasChildren(e){this._hasChildren=e}children(){if(this._cachedChildren)return this._cachedChildren;const e=[0],t=[],s=[],a=new Map,r=this._root._startTime,i=this._root._endTime;let n=r;const o=this;return _.forEachEvent(this._root._events,(function(a){const n=(void 0!==a.endTime?Math.min(a.endTime,i):i)-Math.max(a.startTime,r);n<0&&console.assert(!1,"Negative duration of an event");e[e.length-1]-=n,e.push(n);const o=X(a);t.push(o),s.push(a)}),(function(r){const l=e.pop(),d=t.pop();let c;for(s.pop(),c=o;c._depth>1;c=c.parent)if(c.id!==t[t.length+1-c._depth])return;if(c.id!==d||t.length<o._depth)return;const h=t[t.length-o._depth];if(c=a.get(h),!c){const e=s[s.length-o._depth],t=s.length>o._depth;c=new J(o._root,h,e,t,o),a.set(h,c)}const m=void 0!==r.endTime?Math.min(r.endTime,i):i,u=m-Math.max(r.startTime,n);c.selfTime+=l||0,c.totalTime+=u,n=m}),void 0,r,i,this._root._filter),this._cachedChildren=this._root._filterChildren(a),this._cachedChildren}searchTree(e,t){return t=t||[],this.event&&e(this.event)&&t.push(this),t}}function V(e){return e.name===p.JSFrame?e.args.data||null:F.forEvent(e).topFrame()}function X(e){if(e.name===p.TimeStamp)return`${e.name}:${e.args.data.message}`;if(e.name!==p.JSFrame)return e.name;const t=e.args.data,s=t.scriptId||t.url||"",a=t.functionName;return`f:${m.isNativeRuntimeFrame(t)?m.nativeGroup(a)||a:`${a}:${t.lineNumber}:${t.columnNumber}`}@${s}`}var K=Object.freeze({__proto__:null,Node:O,TopDownNode:$,TopDownRootNode:class extends ${constructor(e,t,s,a,r,i){super("",null,null),this._root=this,this._events=e,this._filter=e=>t.every((t=>t.accept(e))),this._startTime=s,this._endTime=a,this._eventGroupIdCallback=i,this._doNotAggregate=r,this.totalTime=a-s,this.selfTime=this.totalTime}children(){return this._children||this._grouppedTopNodes()}_grouppedTopNodes(){const e=super.children();for(const t of e.values())this.selfTime-=t.totalTime;if(!this._eventGroupIdCallback)return e;const t=new Map;for(const s of e.values()){const e=this._eventGroupIdCallback(s.event);let a=t.get(e);a||(a=new j(e,this,s.event),t.set(e,a)),a.addChild(s,s.selfTime,s.totalTime)}return this._children=t,t}},BottomUpRootNode:class extends O{constructor(e,t,s,a,r,i){super("",null),this._children=null,this._events=e,this._textFilter=t,this._filter=e=>s.every((t=>t.accept(e))),this._startTime=a,this._endTime=r,this._eventGroupIdCallback=i,this.totalTime=r-a}hasChildren(){return!0}_filterChildren(e){for(const[t,s]of e)s.event&&!this._textFilter.accept(s.event)&&e.delete(t);return e}children(){return this._children||(this._children=this._filterChildren(this._grouppedTopNodes())),this._children}_ungrouppedTopNodes(){const e=this,t=this._startTime,s=this._endTime,a=new Map,r=[s-t],i=[],n=new Map;_.forEachEvent(this._events,(function(e){const a=(void 0!==e.endTime?Math.min(e.endTime,s):s)-Math.max(e.startTime,t);r[r.length-1]-=a,r.push(a);const o=X(e),l=!n.has(o);l&&n.set(o,a);i.push(l)}),(function(t){const s=X(t);let o=a.get(s);o||(o=new J(e,s,t,!1,e),a.set(s,o));o.selfTime+=r.pop()||0,i.pop()&&(o.totalTime+=n.get(s)||0,n.delete(s));i.length&&o.setHasChildren(!0)}),void 0,t,s,this._filter),this.selfTime=r.pop()||0;for(const e of a)e[1].selfTime<=0&&a.delete(e[0]);return a}_grouppedTopNodes(){const e=this._ungrouppedTopNodes();if(!this._eventGroupIdCallback)return e;const t=new Map;for(const s of e.values()){const e=this._eventGroupIdCallback(s.event);let a=t.get(e);a||(a=new j(e,this,s.event),t.set(e,a)),a.addChild(s,s.selfTime,s.selfTime)}return t}},GroupNode:j,BottomUpNode:J,eventURL:function(e){const t=e.args.data||e.args.beginData;if(t&&t.url)return t.url;let s=V(e);for(;s;){const e=s.url;if(e)return e;s=s.parent}return null},eventStackFrame:V,_eventId:X,ChildrenCache:undefined});export{z as TimelineFrameModel,W as TimelineIRModel,u as TimelineJSProfile,E as TimelineModel,M as TimelineModelFilter,K as TimelineProfileTree,b as TracingLayerTree};
@@ -0,0 +1,20 @@
1
+ <!--
2
+ * Copyright 2018 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
+ <!DOCTYPE html>
7
+ <html lang="en">
8
+ <meta charset="utf-8">
9
+ <title>DevTools</title>
10
+ <style>
11
+ @media (prefers-color-scheme: dark) {
12
+ body {
13
+ background-color: rgb(41 42 45);
14
+ }
15
+ }
16
+ </style>
17
+ <meta http-equiv="Content-Security-Policy" content="object-src 'none'; script-src 'self' 'unsafe-eval' 'unsafe-inline' https://chrome-devtools-frontend.appspot.com">
18
+ <meta name="referrer" content="no-referrer">
19
+ <script type="module" src="toolbox.js"></script>
20
+ <body class="undocked" id="-blink-dev-tools">
@@ -0,0 +1 @@
1
+ Root.allDescriptors.push(...[{"dependencies":[],"modules":["platform.js","utilities.js","date-utilities.js","map-utilities.js","keyboard-utilities.js","set-utilities.js","string-utilities.js","number-utilities.js","array-utilities.js","UIString.js"],"name":"platform"},{"dependencies":["platform","dom_extension"],"modules":[],"name":"toolbox_bootstrap"},{"dependencies":["platform"],"modules":[],"name":"dom_extension"}]);Root.applicationDescriptor={"modules":[{"type":"autostart","name":"platform"},{"type":"autostart","name":"toolbox_bootstrap"},{"type":"autostart","name":"dom_extension"}]};import*as RootModule from'./root/root.js';import*as Startup from'./startup/startup.js';Startup.RuntimeInstantiator.startApplication('toolbox');
@@ -0,0 +1 @@
1
+ import{runOnWindowLoad as o}from"../platform/platform.js";o((function(){if(!window.opener)return;window.opener.Emulation.AdvancedApp._instance().toolboxLoaded(document)}));
@@ -0,0 +1,378 @@
1
+ import{render as e,html as t,nothing as o,Directives as i}from"../../third_party/lit-html/lit-html.js";import*as s from"../../common/common.js";import{ls as n,UIString as r}from"../../common/common.js";import{Platform as l}from"../../host/host.js";import{assertNever as a,KeyboardUtilities as c,NumberUtilities as h}from"../../platform/platform.js";import{ContextMenu as d,Widget as u}from"../ui.js";import{ResourceUtils as m}from"../../bindings/bindings.js";class p extends HTMLElement{constructor(){super(...arguments),this.shadow=this.attachShadow({mode:"open"}),this.clickHandler=()=>{},this.counters=[]}set data(e){this.counters=e.counters,this.clickHandler=e.clickHandler,this.render()}setCounts(e){if(e.length!==this.counters.length)throw new Error(`Wrong number of texts, expected ${this.counters.length} but got ${e.length}`);for(let t=0;t<e.length;++t)this.counters[t].count=e[t];this.render()}onClickHandler(e){e.preventDefault(),this.clickHandler()}render(){return e(t`
2
+ <style>
3
+ :host {
4
+ white-space: normal;
5
+ }
6
+
7
+ .counter-button {
8
+ cursor: pointer;
9
+ background-color: var(--toolbar-bg-color);
10
+ border: 1px solid var(--divider-color);
11
+ border-radius: 2px;
12
+ color: var(--tab-selected-fg-color);
13
+ margin-right: 2px;
14
+ display: inline-flex;
15
+ align-items: center;
16
+ }
17
+
18
+ .counter-button:hover,
19
+ .counter-button:focus-visible {
20
+ background-color: var(--toolbar-hover-bg-color);
21
+ }
22
+
23
+ .counter-button-title {
24
+ margin-left: 0.5ex;
25
+ }
26
+
27
+ .status-icon {
28
+ margin-left: 1ex;
29
+ }
30
+
31
+ .status-icon:first-child {
32
+ margin-left: inherit;
33
+ }
34
+ </style>
35
+ <button class="counter-button" @click=${this.onClickHandler}>
36
+ ${this.counters.filter((e=>Boolean(e.count))).map((e=>t`
37
+ <devtools-icon class="status-icon"
38
+ .data=${{iconName:e.iconName,color:e.iconColor||"",width:"1.5ex",height:"1.5ex"}}>
39
+ </devtools-icon>
40
+ <span class="counter-button-title">${e.count}</span>
41
+ </button>`))}
42
+ `,this.shadow,{eventContext:this})}}customElements.define("counter-button",p);var f=Object.freeze({__proto__:null,CounterButton:p});const w=e=>t`${e}`;var g=Object.freeze({__proto__:null,primitiveRenderer:w,codeBlockRenderer:e=>{if(!e)return o;const i=String(e),s=i.length>13?i.substring(0,10)+"...":i;return t`<code>${s}</code>`}});function b(e,t){const o=e.cells.find((e=>e.columnId===t));if(void 0===o)throw new Error(`Found a row that was missing an entry for column ${t}.`);return o}function v(e){return e.renderer?e.renderer(e.value):w(e.value)}function x(e,t){const o=e.filter((e=>e.visible)).reduce(((e,t)=>e+t.widthWeighting),0),i=e.find((e=>e.id===t));if(!i)throw new Error("Could not find column with ID "+t);if(i.widthWeighting<1)throw new Error(`Error with column ${t}: width weightings must be >= 1.`);return i.visible?Math.round(i.widthWeighting/o*100):0}function C(e){const{key:t,currentFocusedCell:o,columns:i,rows:s}=e,[n,r]=o;switch(t){case"ArrowLeft":{if(n===i.findIndex((e=>e.visible)))return[n,r];let e=n;for(let t=e-1;t>=0;t--){if(i[t].visible){e=t;break}}return[e,r]}case"ArrowRight":{let e=n;for(let t=e+1;t<i.length;t++){if(i[t].visible){e=t;break}}return[e,r]}case"ArrowUp":{const e=i.some((e=>!0===e.sortable))?0:1;if(r===e)return[n,r];let t=r;for(let o=r-1;o>=e;o--){if(0===o){t=0;break}if(!s[o-1].hidden){t=o;break}}return[n,t]}case"ArrowDown":{if(0===r){const e=s.findIndex((e=>!e.hidden));return e>-1?[n,e+1]:[n,r]}let e=r;for(let t=e+1;t<s.length+1;t++){if(!s[t-1].hidden){e=t;break}}return[n,e]}default:return a(t,"Unknown arrow key: "+t)}}const y=e=>{const{columns:t,rows:o}=e,i=t.some((e=>!0===e.sortable))?0:o.findIndex((e=>!e.hidden))+1;return[t.findIndex((e=>e.visible)),i]};class k extends Event{constructor(e){super("context-menu-column-sort-click"),this.data={column:e}}}class S extends Event{constructor(){super("context-menu-header-reset-click")}}var R=Object.freeze({__proto__:null,getRowEntryForColumnId:b,renderCellValue:v,calculateColumnWidthPercentageFromWeighting:x,handleArrowKeyNavigation:C,calculateFirstFocusableCell:y,ContextMenuColumnSortClickEvent:k,ContextMenuHeaderResetClickEvent:S});function $(e,t){const o=!t.visible,i=e.data.columns.map((e=>(e===t&&(e.visible=o),e)));e.data={...e.data,columns:i}}function M(e,t){const{columns:o}=e.data;for(const i of o)i.hideable&&t.defaultSection().appendCheckboxItem(i.title,(()=>{$(e,i)}),i.visible)}function E(e,t){const o=e.data.columns.filter((e=>!0===e.sortable));if(o.length>0)for(const i of o)t.defaultSection().appendItem(i.title,(()=>{e.dispatchEvent(new k(i))}))}const{ls:z}=s;class I extends Event{constructor(e,t){super("column-header-click"),this.data={column:e,columnIndex:t}}}class L extends Event{constructor(e){super("new-user-filter-text",{composed:!0}),this.data={filterText:e}}}class _ extends Event{constructor(e,t){super("cell-focused",{composed:!0}),this.data={cell:e,row:t}}}const H=new Set([" ","Enter"]);class T extends HTMLElement{constructor(){super(...arguments),this.shadow=this.attachShadow({mode:"open"}),this.columns=[],this.rows=[],this.sortState=null,this.pendingScroll=0,this.scheduledRenderId=0,this.contextMenus=void 0,this.currentResize=null,this.boundOnResizePointerUp=this.onResizePointerUp.bind(this),this.boundOnResizePointerMove=this.onResizePointerMove.bind(this),this.boundOnResizePointerDown=this.onResizePointerDown.bind(this),this.focusableCell=[0,1],this.hasRenderedAtLeastOnce=!1,this.pendingScrollUpdate=!1}get data(){return{columns:this.columns,rows:this.rows,activeSort:this.sortState,contextMenus:this.contextMenus}}set data(e){if(this.columns=e.columns,this.rows=e.rows,this.sortState=e.activeSort,this.contextMenus=e.contextMenus,this.hasRenderedAtLeastOnce||(this.focusableCell=y({columns:this.columns,rows:this.rows})),this.hasRenderedAtLeastOnce){const[e,t]=this.focusableCell,o=e>this.columns.length,i=t>this.rows.length;this.focusableCell=o||i?[o?this.columns.length:e,i?this.rows.length:t]:y({columns:this.columns,rows:this.rows})}this.scheduleRender()}scrollToBottomIfRequired(){if(!1===this.hasRenderedAtLeastOnce)return;const e=this.getCurrentlyFocusableCell();if(e&&e===this.shadow.activeElement)return;const t=this.shadow.querySelector(".wrapping-container");t&&(cancelAnimationFrame(this.pendingScroll),this.pendingScroll=requestAnimationFrame((()=>{t.scrollTo(0,t.scrollHeight)})))}getCurrentlyFocusableCell(){const[e,t]=this.focusableCell;return this.shadow.querySelector(`[data-row-index="${t}"][data-col-index="${e}"]`)}focusCell([e,t]){const[o,i]=this.focusableCell;o===e&&i===t||(this.focusableCell=[e,t]);const s=this.getCurrentlyFocusableCell();if(!s)throw new Error("Unexpected error: could not find cell marked as focusable");s.focus(),this.scheduleRender()}onTableKeyDown(e){const t=e.key;if(H.has(t)){const e=this.getCurrentlyFocusableCell(),[t,o]=this.focusableCell,i=this.columns[t];e&&0===o&&i&&i.sortable&&this.onColumnHeaderClick(i,t)}if(!c.keyIsArrowKey(t))return;const o=C({key:t,currentFocusedCell:this.focusableCell,columns:this.columns,rows:this.rows});this.focusCell(o)}onColumnHeaderClick(e,t){this.dispatchEvent(new I(e,t))}ariaSortForHeader(e){return!e.sortable||this.sortState&&this.sortState.columnId===e.id?this.sortState&&this.sortState.columnId===e.id?"ASC"===this.sortState.direction?"ascending":"descending":void 0:"none"}renderFillerRow(){const e=this.columns.map(((e,s)=>{if(!e.visible)return o;const n=i.classMap({firstVisibleColumn:0===s});return t`<td tabindex="-1" class=${n} data-filler-row-column-index=${s}></td>`}));return t`<tr tabindex="-1" class="filler-row">${e}</tr>`}cleanUpAfterResizeColumnComplete(){this.currentResize&&(this.currentResize.documentForCursorChange.body.style.cursor=this.currentResize.cursorToRestore,this.currentResize=null,this.scheduleRender())}onResizePointerDown(e){if(1!==e.buttons||l.isMac()&&e.ctrlKey)return;e.preventDefault();const t=e.target;if(!t)return;const o=t.dataset.columnIndex;if(!o)return;const i=globalThis.parseInt(o,10),s=this.columns.findIndex(((e,t)=>t>i&&!0===e.visible)),n=this.shadow.querySelector(`td[data-filler-row-column-index="${i}"]`),r=this.shadow.querySelector(`td[data-filler-row-column-index="${s}"]`);if(!n||!r)return;const a=this.shadow.querySelector(`col[data-col-column-index="${i}"]`),c=this.shadow.querySelector(`col[data-col-column-index="${s}"]`);if(!a||!c)return;const h=e.target.ownerDocument;h&&(this.currentResize={leftCellCol:a,rightCellCol:c,leftCellColInitialPercentageWidth:globalThis.parseInt(a.style.width,10),rightCellColInitialPercentageWidth:globalThis.parseInt(c.style.width,10),initialLeftCellWidth:n.clientWidth,initialRightCellWidth:r.clientWidth,initialMouseX:e.x,documentForCursorChange:h,cursorToRestore:t.style.cursor},h.body.style.cursor="col-resize",t.setPointerCapture(e.pointerId),t.addEventListener("pointermove",this.boundOnResizePointerMove))}onResizePointerMove(e){if(e.preventDefault(),!this.currentResize)return;const t=this.currentResize.leftCellColInitialPercentageWidth+this.currentResize.rightCellColInitialPercentageWidth-10,o=e.x-this.currentResize.initialMouseX,i=Math.abs(o)/(this.currentResize.initialLeftCellWidth+this.currentResize.initialRightCellWidth)*100;let s,n;o>0?(s=h.clamp(this.currentResize.leftCellColInitialPercentageWidth+i,10,t),n=h.clamp(this.currentResize.rightCellColInitialPercentageWidth-i,10,t)):o<0&&(s=h.clamp(this.currentResize.leftCellColInitialPercentageWidth-i,10,t),n=h.clamp(this.currentResize.rightCellColInitialPercentageWidth+i,10,t)),s&&n&&(this.currentResize.leftCellCol.style.width=Math.floor(s)+"%",this.currentResize.rightCellCol.style.width=Math.ceil(n)+"%")}onResizePointerUp(e){e.preventDefault();const t=e.target;t&&(t.releasePointerCapture(e.pointerId),t.removeEventListener("pointermove",this.boundOnResizePointerMove),this.cleanUpAfterResizeColumnComplete())}renderResizeForCell(e,o){const[i]=o;return i!==this.getIndexOfLastVisibleColumn()&&e.visible?t`<span class="cell-resize-handle"
43
+ @pointerdown=${this.boundOnResizePointerDown}
44
+ @pointerup=${this.boundOnResizePointerUp}
45
+ data-column-index=${i}
46
+ ></span>`:t``}getIndexOfLastVisibleColumn(){let e=this.columns.length-1;for(;e>-1;e--){if(this.columns[e].visible)break}return e}onHeaderContextMenu(e){if(2!==e.button)return;const t=new d.ContextMenu(e);M(this,t);E(this,t.defaultSection().appendSubMenuItem(z`Sort By`)),t.defaultSection().appendItem(z`Reset Columns`,(()=>{this.dispatchEvent(new S)})),this.contextMenus&&this.contextMenus.headerRow&&this.contextMenus.headerRow(t,this.columns),t.show()}onBodyRowContextMenu(e){if(2!==e.button)return;if(!(e.target&&e.target instanceof HTMLElement))return;const t=e.target.dataset.rowIndex;if(!t)return;const o=parseInt(t,10),i=this.rows[o-1],s=new d.ContextMenu(e);E(this,s.defaultSection().appendSubMenuItem(z`Sort By`));const n=s.defaultSection().appendSubMenuItem(z`Header Options`);M(this,n),n.defaultSection().appendItem(z`Reset Columns`,(()=>{this.dispatchEvent(new S)})),this.contextMenus&&this.contextMenus.bodyRow&&this.contextMenus.bodyRow(s,this.columns,i),s.show()}onScroll(){this.pendingScrollUpdate=!0,this.scheduleRender()}scheduleRender(){0===this.scheduledRenderId&&(this.scheduledRenderId=requestAnimationFrame((()=>{this.pendingScrollUpdate?this.pendingScrollUpdate=!1:this.scrollToBottomIfRequired(),this.render(),this.alignScrollHandlers(),this.scheduledRenderId=0})))}alignScrollHandlers(){requestAnimationFrame((()=>{const e=this.shadow.querySelectorAll("th:not(.hidden)"),t=this.shadow.querySelectorAll(".cell-resize-handle");this.shadow.querySelector("table")&&e.forEach(((e,o)=>{const{right:i}=e.getBoundingClientRect();t[o]&&(t[o].style.left=i-20+"px")}))}))}render(){const s=this.columns.findIndex((e=>e.visible)),n=this.columns.some((e=>!0===e.sortable));e(t`
47
+ <style>
48
+ :host {
49
+ --table-divider-color: var(--color-details-hairline);
50
+ --toolbar-bg-color: var(--color-background-elevation-1);
51
+ --selected-row-color: var(--color-background-elevation-1);
52
+
53
+ height: 100%;
54
+ display: block;
55
+ }
56
+
57
+ /* Ensure that vertically we don't overflow */
58
+ .wrapping-container {
59
+ overflow-y: scroll;
60
+
61
+ /* Use max-height instead of height to ensure that the
62
+ table does not use more space than necessary. */
63
+ height: 100%;
64
+ position: relative;
65
+ }
66
+
67
+ table {
68
+ border-spacing: 0;
69
+ width: 100%;
70
+ height: 100%;
71
+
72
+ /* To make sure that we properly hide overflowing text
73
+ when horizontal space is too narrow. */
74
+ table-layout: fixed;
75
+ }
76
+
77
+ tr {
78
+ outline: none;
79
+ }
80
+
81
+ tbody tr {
82
+ background-color: var(--color-background);
83
+ }
84
+
85
+ tbody tr.selected {
86
+ background-color: var(--selected-row-color);
87
+ }
88
+
89
+ td,
90
+ th {
91
+ padding: 1px 4px;
92
+
93
+ /* Divider between each cell, except the first one (see below) */
94
+ border-left: 1px solid var(--table-divider-color);
95
+ color: var(--color-text-primary);
96
+ line-height: 18px;
97
+ height: 18px;
98
+ user-select: text;
99
+
100
+ /* Ensure that text properly cuts off if horizontal space is too narrow */
101
+ white-space: nowrap;
102
+ text-overflow: ellipsis;
103
+ overflow: hidden;
104
+ position: relative;
105
+ }
106
+
107
+ .cell-resize-handle {
108
+ top: 0;
109
+ height: 100%;
110
+ z-index: 3;
111
+ width: 20px;
112
+ cursor: col-resize;
113
+ position: absolute;
114
+ }
115
+
116
+ /* There is no divider before the first cell */
117
+ td.firstVisibleColumn,
118
+ th.firstVisibleColumn {
119
+ border-left: none;
120
+ }
121
+
122
+ th {
123
+ font-weight: normal;
124
+ text-align: left;
125
+ border-bottom: 1px solid var(--table-divider-color);
126
+ position: sticky;
127
+ top: 0;
128
+ z-index: 2;
129
+ background-color: var(--toolbar-bg-color);
130
+ }
131
+
132
+ .hidden {
133
+ display: none;
134
+ }
135
+
136
+ .filler-row td {
137
+ /* By making the filler row cells 100% they take up any extra height,
138
+ * leaving the cells with content to be the regular height, and the
139
+ * final filler row to be as high as it needs to be to fill the empty
140
+ * space.
141
+ */
142
+ height: 100%;
143
+ pointer-events: none;
144
+ }
145
+
146
+ .filler-row td .cell-resize-handle {
147
+ pointer-events: all;
148
+ }
149
+
150
+ [aria-sort]:hover {
151
+ cursor: pointer;
152
+ }
153
+
154
+ [aria-sort="descending"]::after {
155
+ content: " ";
156
+ border-left: 0.3em solid transparent;
157
+ border-right: 0.3em solid transparent;
158
+ border-top: 0.3em solid black;
159
+ position: absolute;
160
+ right: 0.5em;
161
+ top: 0.6em;
162
+ }
163
+
164
+ [aria-sort="ascending"]::after {
165
+ content: " ";
166
+ border-bottom: 0.3em solid black;
167
+ border-left: 0.3em solid transparent;
168
+ border-right: 0.3em solid transparent;
169
+ position: absolute;
170
+ right: 0.5em;
171
+ top: 0.6em;
172
+ }
173
+ </style>
174
+ ${this.columns.map(((e,t)=>this.renderResizeForCell(e,[t,0])))}
175
+ <div class="wrapping-container" @scroll=${this.onScroll}>
176
+ <table
177
+ aria-rowcount=${this.rows.length}
178
+ aria-colcount=${this.columns.length}
179
+ @keydown=${this.onTableKeyDown}
180
+ >
181
+ <colgroup>
182
+ ${this.columns.map(((e,i)=>{const s=`width: ${x(this.columns,e.id)}%`;return e.visible?t`<col style=${s} data-col-column-index=${i}>`:o}))}
183
+ </colgroup>
184
+ <thead>
185
+ <tr @contextmenu=${this.onHeaderContextMenu}>
186
+ ${this.columns.map(((e,o)=>{const r=i.classMap({hidden:!e.visible,firstVisibleColumn:o===s}),l=n&&o===this.focusableCell[0]&&0===this.focusableCell[1];return t`<th class=${r}
187
+ data-grid-header-cell=${e.id}
188
+ @click=${()=>{this.focusCell([o,0]),this.onColumnHeaderClick(e,o)}}
189
+ title=${e.title}
190
+ aria-sort=${i.ifDefined(this.ariaSortForHeader(e))}
191
+ aria-colindex=${o+1}
192
+ data-row-index='0'
193
+ data-col-index=${o}
194
+ tabindex=${i.ifDefined(n?l?"0":"-1":void 0)}
195
+ >${e.title}</th>`}))}
196
+ </tr>
197
+ </thead>
198
+ <tbody>
199
+ ${i.repeat(this.rows,(e=>this.rows.indexOf(e)),((e,o)=>{const n=this.getCurrentlyFocusableCell(),[,r]=this.focusableCell,l=o+1,a=!!n&&(n===this.shadow.activeElement&&l===r),c=i.classMap({selected:a,hidden:!0===e.hidden});return t`
200
+ <tr
201
+ aria-rowindex=${o+1}
202
+ class=${c}
203
+ @contextmenu=${this.onBodyRowContextMenu}
204
+ >${this.columns.map(((o,n)=>{const r=b(e,o.id),a=i.classMap({hidden:!o.visible,firstVisibleColumn:n===s}),c=n===this.focusableCell[0]&&l===this.focusableCell[1],h=o.visible?v(r):null;return t`<td
205
+ class=${a}
206
+ tabindex=${c?"0":"-1"}
207
+ aria-colindex=${n+1}
208
+ title=${r.title||String(r.value)}
209
+ data-row-index=${l}
210
+ data-col-index=${n}
211
+ data-grid-value-cell-for-column=${o.id}
212
+ @focus=${()=>{this.dispatchEvent(new _(r,e))}}
213
+ @click=${()=>{this.focusCell([n,l])}}
214
+ >${h}</td>`}))}
215
+ `}))}
216
+ ${this.renderFillerRow()}
217
+ </tbody>
218
+ </table>
219
+ </div>
220
+ `,this.shadow,{eventContext:this}),this.hasRenderedAtLeastOnce=!0}}customElements.define("devtools-data-grid",T);var O=Object.freeze({__proto__:null,ColumnHeaderClickEvent:I,NewUserFilterTextEvent:L,BodyCellFocusedEvent:_,DataGrid:T});class F extends HTMLElement{constructor(){super(...arguments),this.shadow=this.attachShadow({mode:"open"}),this.hasRenderedAtLeastOnce=!1,this.columns=[],this.rows=[],this.contextMenus=void 0,this.originalColumns=[],this.originalRows=[],this.sortState=null,this.filters=[]}get data(){return{columns:this.originalColumns,rows:this.originalRows,filters:this.filters,contextMenus:this.contextMenus}}set data(e){this.originalColumns=e.columns,this.originalRows=e.rows,this.contextMenus=e.contextMenus,this.filters=e.filters||[],this.contextMenus=e.contextMenus,this.columns=[...this.originalColumns],this.rows=this.cloneAndFilterRows(e.rows,this.filters),!this.hasRenderedAtLeastOnce&&e.initialSort&&(this.sortState=e.initialSort,this.sortRows(this.sortState)),this.render()}testRowWithFilter(e,t){let o=!1;const{key:i,text:s,negative:n,regex:r}=t;let l;if(i){const t=b(e,i);l=JSON.stringify(t.value).toLowerCase()}else l=JSON.stringify(e.cells.map((e=>e.value))).toLowerCase();return r?o=r.test(l):s&&(o=l.includes(s.toLowerCase())),n?!o:o}cloneAndFilterRows(e,t){return 0===t.length?[...e]:e.map((e=>{let o=!0;for(const i of t){if(!this.testRowWithFilter(e,i)){o=!1;break}}return{...e,hidden:!o}}))}sortRows(e){const{columnId:t,direction:o}=e;this.rows.sort(((e,i)=>{const s=b(e,t),n=b(i,t),r="number"==typeof s.value?s.value:String(s.value).toUpperCase(),l="number"==typeof n.value?n.value:String(n.value).toUpperCase();return r<l?"ASC"===o?-1:1:r>l?"ASC"===o?1:-1:0})),this.render()}onColumnHeaderClick(e){const{column:t}=e.data;this.applySortOnColumn(t)}applySortOnColumn(e){if(this.sortState&&this.sortState.columnId===e.id){const{columnId:e,direction:t}=this.sortState;this.sortState="DESC"===t?null:{columnId:e,direction:"DESC"}}else this.sortState={columnId:e.id,direction:"ASC"};this.sortState?this.sortRows(this.sortState):(this.rows=[...this.originalRows],this.render())}onContextMenuColumnSortClick(e){this.applySortOnColumn(e.data.column)}onContextMenuHeaderResetClick(){this.sortState=null,this.rows=[...this.originalRows],this.render()}render(){e(t`
221
+ <style>
222
+ :host {
223
+ display: block;
224
+ height: 100%;
225
+ overflow: hidden;
226
+ }
227
+ </style>
228
+ <devtools-data-grid .data=${{columns:this.columns,rows:this.rows,activeSort:this.sortState,contextMenus:this.contextMenus}}
229
+ @column-header-click=${this.onColumnHeaderClick}
230
+ @context-menu-column-sort-click=${this.onContextMenuColumnSortClick}
231
+ @context-menu-header-reset-click=${this.onContextMenuHeaderResetClick}
232
+ ></devtools-data-grid>
233
+ `,this.shadow,{eventContext:this}),this.hasRenderedAtLeastOnce=!0}}customElements.define("devtools-data-grid-controller",F);var P=Object.freeze({__proto__:null,DataGridController:F});class A extends u.VBox{constructor(e){super(!0,!0),this.dataGrid=new F,this.dataGrid.data=e,this.contentElement.appendChild(this.dataGrid)}data(){return this.dataGrid.data}update(e){this.dataGrid.data=e}}var D=Object.freeze({__proto__:null,DataGridControllerIntegrator:A});const N=e=>void 0!==e;class W extends HTMLElement{constructor(){super(...arguments),this.shadow=this.attachShadow({mode:"open"}),this.iconPath="",this.color="rgb(110 110 110)",this.width="100%",this.height="100%"}set data(e){const{width:t,height:o}=e;this.color=e.color,this.width=N(t)?t:N(o)?o:this.width,this.height=N(o)?o:N(t)?t:this.height,this.iconPath="iconPath"in e?e.iconPath:`Images/${e.iconName}.svg`,"iconName"in e&&(this.iconName=e.iconName),this.render()}get data(){const e={color:this.color,width:this.width,height:this.height};return this.iconName?{...e,iconName:this.iconName}:{...e,iconPath:this.iconPath}}getStyles(){const{iconPath:e,width:t,height:o,color:i}=this,s={width:t,height:o,display:"block"};return i?{...s,webkitMaskImage:`url(${e})`,webkitMaskPosition:"center",webkitMaskRepeat:"no-repeat",webkitMaskSize:"100%",backgroundColor:`var(--icon-color, ${i})`}:{...s,backgroundImage:`url(${e})`,backgroundPosition:"center",backgroundRepeat:"no-repeat",backgroundSize:"100%"}}render(){e(t`
234
+ <style>
235
+ :host {
236
+ display: inline-block;
237
+ white-space: nowrap;
238
+ }
239
+ </style>
240
+ <div class="icon-basic" style=${i.styleMap(this.getStyles())}></div>
241
+ `,this.shadow)}}customElements.get("devtools-icon")||customElements.define("devtools-icon",W);var U=Object.freeze({__proto__:null,Icon:W});class j extends Event{constructor(e){super("linkifier-activated",{bubbles:!0,composed:!0}),this.data=e}}class q extends HTMLElement{constructor(){super(...arguments),this.shadow=this.attachShadow({mode:"open"}),this.url=""}set data(e){this.url=e.url,this.lineNumber=e.lineNumber,this.columnNumber=e.columnNumber,this.render()}onLinkActivation(e){e.preventDefault();const t=new j({url:this.url,lineNumber:this.lineNumber,columnNumber:this.columnNumber});this.dispatchEvent(t)}render(){if(!this.url)throw new Error("Cannot construct a Linkifier without providing a valid string URL.");return e(t`
242
+ <style>
243
+ .link:link,
244
+ .link:visited {
245
+ color: var(--color-link);
246
+ text-decoration: underline;
247
+ cursor: pointer;
248
+ }
249
+ </style>
250
+ <a class="link" href=${this.url} @click=${this.onLinkActivation}>${function(e,t){if(e){let o=""+m.displayNameForURL(e);return void 0!==t&&(o+=":"+(t+1)),o}throw new Error("New linkifier component error: don't know how to generate link text for given arguments")}(this.url,this.lineNumber)}</a>
251
+ `,this.shadow,{eventContext:this})}}customElements.define("devtools-linkifier",q);var B=Object.freeze({__proto__:null,LinkifierClick:j,Linkifier:q});class G extends HTMLElement{constructor(){super(...arguments),this.shadow=this.attachShadow({mode:"open"}),this.reportTitle=""}set data({reportTitle:e}){this.reportTitle=e,this.render()}connectedCallback(){this.render()}render(){e(t`
252
+ <style>
253
+ .content {
254
+ background-color: var(--color-background);
255
+ overflow: auto;
256
+ display: grid;
257
+ grid-template-columns: min-content auto;
258
+ }
259
+
260
+ .report-title {
261
+ padding: 12px 24px;
262
+ font-size: 15px;
263
+ white-space: nowrap;
264
+ overflow: hidden;
265
+ text-overflow: ellipsis;
266
+ border-bottom: 1px solid var(--color-details-hairline);
267
+ color: var(--color-text-primary);
268
+ background-color: var(--color-background);
269
+ }
270
+ </style>
271
+
272
+ ${this.reportTitle?t`<div class="report-title">${this.reportTitle}</div>`:o}
273
+ <div class="content">
274
+ <slot></slot>
275
+ </div>
276
+ `,this.shadow)}}class V extends HTMLElement{constructor(){super(...arguments),this.shadow=this.attachShadow({mode:"open"})}connectedCallback(){this.render()}render(){e(t`
277
+ <style>
278
+ :host {
279
+ grid-column-start: span 2;
280
+ }
281
+
282
+ .section-header {
283
+ padding: 12px;
284
+ margin-left: 18px;
285
+ display: flex;
286
+ flex-direction: row;
287
+ align-items: center;
288
+ flex: auto;
289
+ text-overflow: ellipsis;
290
+ overflow: hidden;
291
+ font-weight: bold;
292
+ color: var(--color-text-primary);
293
+ }
294
+ </style>
295
+ <div class="section-header">
296
+ <slot></slot>
297
+ </div>
298
+ `,this.shadow)}}class K extends HTMLElement{constructor(){super(...arguments),this.shadow=this.attachShadow({mode:"open"})}connectedCallback(){this.render()}render(){e(t`
299
+ <style>
300
+ :host {
301
+ grid-column-start: span 2;
302
+ }
303
+
304
+ .section-divider {
305
+ margin-top: 12px;
306
+ border-bottom: 1px solid var(--color-details-hairline);
307
+ }
308
+ </style>
309
+ <div class="section-divider">
310
+ </div>
311
+ `,this.shadow)}}class J extends HTMLElement{constructor(){super(...arguments),this.shadow=this.attachShadow({mode:"open"})}connectedCallback(){this.render()}render(){e(t`
312
+ <style>
313
+ :host {
314
+ line-height: 28px;
315
+ margin: 8px 0 0 0;
316
+ }
317
+
318
+ .key {
319
+ color: var(--color-text-secondary);
320
+ padding: 0 6px;
321
+ text-align: right;
322
+ white-space: pre;
323
+ }
324
+ </style>
325
+ <div class="key"><slot></slot></div>
326
+ `,this.shadow)}}class X extends HTMLElement{constructor(){super(...arguments),this.shadow=this.attachShadow({mode:"open"})}connectedCallback(){this.render()}render(){e(t`
327
+ <style>
328
+ :host {
329
+ line-height: 28px;
330
+ margin: 8px 0 0 0;
331
+ }
332
+
333
+ .value {
334
+ color: var(--color-text-primary);
335
+ margin-inline-start: 0;
336
+ padding: 0 6px;
337
+ }
338
+ </style>
339
+ <div class="value"><slot></slot></div>
340
+ `,this.shadow)}}customElements.define("devtools-report",G),customElements.define("devtools-report-section-header",V),customElements.define("devtools-report-key",J),customElements.define("devtools-report-value",X),customElements.define("devtools-report-divider",K);var Q=Object.freeze({__proto__:null,Report:G,ReportSectionHeader:V,ReportSectionDivider:K,ReportKey:J,ReportValue:X});const Y=n;class Z extends HTMLElement{constructor(){super(...arguments),this.shadow=this.attachShadow({mode:"open"}),this.trigger="",this.promptText=r.LocalizedEmptyString,this.canShowSurvey=()=>{},this.showSurvey=()=>{},this.state="Checking"}set data(e){this.trigger=e.trigger,this.promptText=e.promptText,this.canShowSurvey=e.canShowSurvey,this.showSurvey=e.showSurvey,this.checkSurvey()}checkSurvey(){this.state="Checking",this.canShowSurvey(this.trigger,(({canShowSurvey:e})=>{this.state=e?"ShowLink":"DontShowLink",this.render()}))}sendSurvey(){this.state="Sending",this.render(),this.showSurvey(this.trigger,(({surveyShown:e})=>{this.state=e?"SurveyShown":"Failed",this.render()}))}render(){if("Checking"===this.state||"DontShowLink"===this.state)return;let o=this.promptText;"Sending"===this.state?o=Y`Opening survey …`:"SurveyShown"===this.state?o=Y`Thank you for your feedback`:"Failed"===this.state&&(o=Y`An error occurred with the survey`);let i="";"Sending"===this.state?i="pending-link":"Failed"!==this.state&&"SurveyShown"!==this.state||(i="disabled-link");const s="ShowLink"!==this.state,n=t`
341
+ <style>
342
+ .link-icon {
343
+ vertical-align: sub;
344
+ margin-right: 0.5ch;
345
+ }
346
+
347
+ .link {
348
+ padding: 4px 0 0 0;
349
+ text-decoration: underline;
350
+ cursor: pointer;
351
+ font-size: 14px;
352
+ color: var(--issue-link);
353
+ border: none;
354
+ background: none;
355
+ }
356
+
357
+ .link:focus:not(:focus-visible) {
358
+ outline: none;
359
+ }
360
+
361
+ .pending-link {
362
+ opacity: 75%;
363
+ pointer-events: none;
364
+ cursor: default;
365
+ text-decoration: none;
366
+ }
367
+
368
+ .disabled-link {
369
+ pointer-events: none;
370
+ cursor: default;
371
+ text-decoration: none;
372
+ }
373
+ </style>
374
+ <button class="link ${i}" tabindex=${s?"-1":"0"} aria-disabled=${s} @click=${this.sendSurvey}>
375
+ <devtools-icon class="link-icon" .data=${{iconName:"feedback_thin_16x16_icon",color:"var(--issue-link)",width:"16px",height:"16px"}}></devtools-icon><!--
376
+ -->${o}
377
+ </button>
378
+ `;e(n,this.shadow,{eventContext:this})}}customElements.define("devtools-survey-link",Z);var ee=Object.freeze({__proto__:null,SurveyLink:Z});export{f as CounterButton,O as DataGrid,P as DataGridController,D as DataGridControllerIntegrator,g as DataGridRenderers,R as DataGridUtils,U as Icon,B as Linkifier,Q as ReportView,ee as SurveyLink};
@@ -0,0 +1 @@
1
+ import{DockController as e,Context as t,ContextFlavorListener as o,ContextMenu as r,Dialog as i,EmptyWidget as n,Fragment as a,Geometry as l,GlassPane as I,InspectorView as U,ListControl as s,ListModel as g,Panel as c,SearchableView as d,SettingsUI as u,ShortcutRegistry as C,SoftContextMenu as S,SoftDropDown as m,SplitWidget as h,SuggestBox as T,SyntaxHighlighter as y,TabbedPane as p,TextEditor as D,TextPrompt as P,Toolbar as w,Tooltip as x,TreeOutline as b,UIUtils as v,View as E,ViewManager as V,Widget as L,XLink as M}from"./ui.js";self.UI=self.UI||{},UI=UI||{},UI.DockController=e.DockController,UI.DockController.State=e.State,UI.DockController.Events=e.Events,UI.DockController.ToggleDockActionDelegate=e.ToggleDockActionDelegate,UI.DockController.CloseButtonProvider=e.CloseButtonProvider,UI.Context=t.Context,UI.ContextFlavorListener=o.ContextFlavorListener,UI.ContextMenu=r.ContextMenu,UI.ContextMenu.Provider=r.Provider,UI.Dialog=i.Dialog,UI.EmptyWidget=n.EmptyWidget,UI.Fragment=a.Fragment,UI.html=a.html,UI.Geometry={},UI.Geometry.Vector=l.Vector,UI.Geometry.CubicBezier=l.CubicBezier,UI.Geometry.EulerAngles=l.EulerAngles,UI.Geometry.scalarProduct=l.scalarProduct,UI.Geometry.crossProduct=l.crossProduct,UI.Geometry.calculateAngle=l.calculateAngle,UI.Geometry.degreesToRadians=l.degreesToRadians,UI.Geometry.radiansToDegrees=l.radiansToDegrees,UI.Size=l.Size,UI.GlassPane=I.GlassPane,UI.GlassPane._panes=I.GlassPanePanes,UI.InspectorView=U.InspectorView,UI.InspectorView.ActionDelegate=U.ActionDelegate,UI.ListControl=s.ListControl,UI.ListMode=s.ListMode,UI.ListModel=g.ListModel,UI.Panel=c.Panel,UI.panels={},UI.SearchableView=d.SearchableView,UI.SearchableView.SearchConfig=d.SearchConfig,UI.Searchable=d.Searchable,UI.SettingUI=u.SettingUI,UI.ShortcutRegistry=C.ShortcutRegistry,UI.ShortcutRegistry.ForwardedShortcut=C.ForwardedShortcut,UI.SoftContextMenu=S.SoftContextMenu,UI.SoftDropDown=m.SoftDropDown,UI.SplitWidget=h.SplitWidget,UI.SuggestBox=T.SuggestBox,UI.SyntaxHighlighter=y.SyntaxHighlighter,UI.TabbedPane=p.TabbedPane,UI.TabbedPane.Events=p.Events,UI.TextEditor=D.TextEditor,UI.TextEditorFactory=D.TextEditorFactory,UI.TextPrompt=P.TextPrompt,UI.Toolbar=w.Toolbar,UI.ToolbarItem=w.ToolbarItem,UI.ToolbarItem.Provider=w.Provider,UI.Tooltip=x.Tooltip,UI.Tooltip._symbol=x.TooltipSymbol,UI.TreeOutline=b.TreeOutline,UI.TreeOutline.Events=b.Events,UI.TreeElement=b.TreeElement,UI.TreeOutlineInShadow=b.TreeOutlineInShadow,UI.Renderer=v.Renderer,UI.isBeingEdited=v.isBeingEdited,UI.isEditing=v.isEditing,UI.highlightRangesWithStyleClass=v.highlightRangesWithStyleClass,UI.applyDomChanges=v.applyDomChanges,UI.revertDomChanges=v.revertDomChanges,UI.beautifyFunctionName=v.beautifyFunctionName,UI.View=E.View,UI.SimpleView=E.SimpleView,UI.ViewLocation=E.ViewLocation,UI.ViewLocationResolver=E.ViewLocationResolver,UI.ViewManager=V.ViewManager,UI.ViewManager._ContainerWidget=V.ContainerWidget,UI.Widget=L.Widget,UI.XLink=M.XLink,UI.XLink.ContextMenuProvider=M.ContextMenuProvider,self.UI.context=t.Context.instance(),UI.dockController;