@react-native/debugger-frontend 0.73.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 (656) hide show
  1. package/BUILD_INFO +10 -0
  2. package/README.md +22 -0
  3. package/dist/third-party/LICENSE +28 -0
  4. package/dist/third-party/front_end/Images/3d-center.svg +1 -0
  5. package/dist/third-party/front_end/Images/3d-pan.svg +1 -0
  6. package/dist/third-party/front_end/Images/3d-rotate.svg +1 -0
  7. package/dist/third-party/front_end/Images/Images.js +223 -0
  8. package/dist/third-party/front_end/Images/accelerometer-back.svg +1 -0
  9. package/dist/third-party/front_end/Images/accelerometer-bottom.png +0 -0
  10. package/dist/third-party/front_end/Images/accelerometer-front.svg +1 -0
  11. package/dist/third-party/front_end/Images/accelerometer-left.png +0 -0
  12. package/dist/third-party/front_end/Images/accelerometer-right.png +0 -0
  13. package/dist/third-party/front_end/Images/accelerometer-top.png +0 -0
  14. package/dist/third-party/front_end/Images/align-content-center.svg +1 -0
  15. package/dist/third-party/front_end/Images/align-content-end.svg +1 -0
  16. package/dist/third-party/front_end/Images/align-content-space-around.svg +1 -0
  17. package/dist/third-party/front_end/Images/align-content-space-between.svg +1 -0
  18. package/dist/third-party/front_end/Images/align-content-space-evenly.svg +1 -0
  19. package/dist/third-party/front_end/Images/align-content-start.svg +1 -0
  20. package/dist/third-party/front_end/Images/align-content-stretch.svg +1 -0
  21. package/dist/third-party/front_end/Images/align-items-baseline.svg +1 -0
  22. package/dist/third-party/front_end/Images/align-items-center.svg +1 -0
  23. package/dist/third-party/front_end/Images/align-items-end.svg +1 -0
  24. package/dist/third-party/front_end/Images/align-items-start.svg +1 -0
  25. package/dist/third-party/front_end/Images/align-items-stretch.svg +1 -0
  26. package/dist/third-party/front_end/Images/align-self-center.svg +1 -0
  27. package/dist/third-party/front_end/Images/align-self-end.svg +1 -0
  28. package/dist/third-party/front_end/Images/align-self-start.svg +1 -0
  29. package/dist/third-party/front_end/Images/align-self-stretch.svg +1 -0
  30. package/dist/third-party/front_end/Images/arrow-down.svg +1 -0
  31. package/dist/third-party/front_end/Images/arrow-drop-down-dark.svg +1 -0
  32. package/dist/third-party/front_end/Images/arrow-drop-down-light.svg +1 -0
  33. package/dist/third-party/front_end/Images/arrow-up-down-circle.svg +1 -0
  34. package/dist/third-party/front_end/Images/arrow-up-down.svg +1 -0
  35. package/dist/third-party/front_end/Images/arrow-up.svg +1 -0
  36. package/dist/third-party/front_end/Images/bell.svg +1 -0
  37. package/dist/third-party/front_end/Images/bezier-curve-filled.svg +1 -0
  38. package/dist/third-party/front_end/Images/bin.svg +1 -0
  39. package/dist/third-party/front_end/Images/bottom-panel-close.svg +1 -0
  40. package/dist/third-party/front_end/Images/bottom-panel-open.svg +1 -0
  41. package/dist/third-party/front_end/Images/brackets.svg +1 -0
  42. package/dist/third-party/front_end/Images/breakpoint-circle.svg +1 -0
  43. package/dist/third-party/front_end/Images/breakpoint-crossed-filled.svg +1 -0
  44. package/dist/third-party/front_end/Images/breakpoint-crossed.svg +1 -0
  45. package/dist/third-party/front_end/Images/brush-filled.svg +1 -0
  46. package/dist/third-party/front_end/Images/brush.svg +1 -0
  47. package/dist/third-party/front_end/Images/bug.svg +1 -0
  48. package/dist/third-party/front_end/Images/bundle.svg +1 -0
  49. package/dist/third-party/front_end/Images/check-circle.svg +1 -0
  50. package/dist/third-party/front_end/Images/check-double.svg +1 -0
  51. package/dist/third-party/front_end/Images/checker.svg +1 -0
  52. package/dist/third-party/front_end/Images/checkmark.svg +1 -0
  53. package/dist/third-party/front_end/Images/chevron-double-right.svg +1 -0
  54. package/dist/third-party/front_end/Images/chevron-down.svg +1 -0
  55. package/dist/third-party/front_end/Images/chevron-left-dot.svg +1 -0
  56. package/dist/third-party/front_end/Images/chevron-left.svg +1 -0
  57. package/dist/third-party/front_end/Images/chevron-right.svg +1 -0
  58. package/dist/third-party/front_end/Images/chevron-up.svg +1 -0
  59. package/dist/third-party/front_end/Images/chromeLeft.avif +0 -0
  60. package/dist/third-party/front_end/Images/chromeMiddle.avif +0 -0
  61. package/dist/third-party/front_end/Images/chromeRight.avif +0 -0
  62. package/dist/third-party/front_end/Images/clear-list.svg +1 -0
  63. package/dist/third-party/front_end/Images/clear.svg +1 -0
  64. package/dist/third-party/front_end/Images/cloud.svg +1 -0
  65. package/dist/third-party/front_end/Images/code-circle.svg +1 -0
  66. package/dist/third-party/front_end/Images/code.svg +1 -0
  67. package/dist/third-party/front_end/Images/colon.svg +1 -0
  68. package/dist/third-party/front_end/Images/color-picker-filled.svg +1 -0
  69. package/dist/third-party/front_end/Images/color-picker.svg +1 -0
  70. package/dist/third-party/front_end/Images/console-conditional-breakpoint.svg +1 -0
  71. package/dist/third-party/front_end/Images/console-logpoint.svg +1 -0
  72. package/dist/third-party/front_end/Images/cookie.svg +1 -0
  73. package/dist/third-party/front_end/Images/copy.svg +1 -0
  74. package/dist/third-party/front_end/Images/credit-card.svg +1 -0
  75. package/dist/third-party/front_end/Images/cross-circle-filled.svg +1 -0
  76. package/dist/third-party/front_end/Images/cross-circle.svg +1 -0
  77. package/dist/third-party/front_end/Images/cross.svg +1 -0
  78. package/dist/third-party/front_end/Images/cssoverview_icons_2x.avif +0 -0
  79. package/dist/third-party/front_end/Images/custom-typography.svg +1 -0
  80. package/dist/third-party/front_end/Images/database.svg +1 -0
  81. package/dist/third-party/front_end/Images/deployed.svg +1 -0
  82. package/dist/third-party/front_end/Images/device-fold.svg +1 -0
  83. package/dist/third-party/front_end/Images/devices.svg +1 -0
  84. package/dist/third-party/front_end/Images/dock-bottom.svg +1 -0
  85. package/dist/third-party/front_end/Images/dock-left.svg +1 -0
  86. package/dist/third-party/front_end/Images/dock-right.svg +1 -0
  87. package/dist/third-party/front_end/Images/dock-window.svg +1 -0
  88. package/dist/third-party/front_end/Images/document.svg +1 -0
  89. package/dist/third-party/front_end/Images/dots-horizontal.svg +1 -0
  90. package/dist/third-party/front_end/Images/dots-vertical.svg +1 -0
  91. package/dist/third-party/front_end/Images/download.svg +1 -0
  92. package/dist/third-party/front_end/Images/edit.svg +1 -0
  93. package/dist/third-party/front_end/Images/empty.svg +1 -0
  94. package/dist/third-party/front_end/Images/errorWave.svg +1 -0
  95. package/dist/third-party/front_end/Images/exclamation.svg +1 -0
  96. package/dist/third-party/front_end/Images/experiment-check.svg +1 -0
  97. package/dist/third-party/front_end/Images/experiment.svg +1 -0
  98. package/dist/third-party/front_end/Images/eye.svg +1 -0
  99. package/dist/third-party/front_end/Images/file-document.svg +1 -0
  100. package/dist/third-party/front_end/Images/file-font.svg +1 -0
  101. package/dist/third-party/front_end/Images/file-generic.svg +1 -0
  102. package/dist/third-party/front_end/Images/file-image.svg +1 -0
  103. package/dist/third-party/front_end/Images/file-script.svg +1 -0
  104. package/dist/third-party/front_end/Images/file-snippet.svg +1 -0
  105. package/dist/third-party/front_end/Images/file-stylesheet.svg +1 -0
  106. package/dist/third-party/front_end/Images/filter-clear.svg +1 -0
  107. package/dist/third-party/front_end/Images/filter-filled.svg +1 -0
  108. package/dist/third-party/front_end/Images/filter.svg +1 -0
  109. package/dist/third-party/front_end/Images/flex-direction.svg +1 -0
  110. package/dist/third-party/front_end/Images/flex-no-wrap.svg +1 -0
  111. package/dist/third-party/front_end/Images/flex-wrap.svg +1 -0
  112. package/dist/third-party/front_end/Images/flow.svg +1 -0
  113. package/dist/third-party/front_end/Images/fold-more.svg +1 -0
  114. package/dist/third-party/front_end/Images/folder.svg +1 -0
  115. package/dist/third-party/front_end/Images/frame-crossed.svg +1 -0
  116. package/dist/third-party/front_end/Images/frame-icon.svg +1 -0
  117. package/dist/third-party/front_end/Images/frame.svg +1 -0
  118. package/dist/third-party/front_end/Images/gear-filled.svg +1 -0
  119. package/dist/third-party/front_end/Images/gear.svg +1 -0
  120. package/dist/third-party/front_end/Images/gears.svg +1 -0
  121. package/dist/third-party/front_end/Images/heap-snapshot.svg +1 -0
  122. package/dist/third-party/front_end/Images/heap-snapshots.svg +1 -0
  123. package/dist/third-party/front_end/Images/help.svg +1 -0
  124. package/dist/third-party/front_end/Images/iframe-crossed.svg +1 -0
  125. package/dist/third-party/front_end/Images/iframe.svg +1 -0
  126. package/dist/third-party/front_end/Images/import.svg +1 -0
  127. package/dist/third-party/front_end/Images/info-filled.svg +1 -0
  128. package/dist/third-party/front_end/Images/info.svg +1 -0
  129. package/dist/third-party/front_end/Images/issue-cross-filled.svg +1 -0
  130. package/dist/third-party/front_end/Images/issue-exclamation-filled.svg +1 -0
  131. package/dist/third-party/front_end/Images/issue-questionmark-filled.svg +1 -0
  132. package/dist/third-party/front_end/Images/issue-text-filled.svg +1 -0
  133. package/dist/third-party/front_end/Images/justify-content-center.svg +1 -0
  134. package/dist/third-party/front_end/Images/justify-content-end.svg +1 -0
  135. package/dist/third-party/front_end/Images/justify-content-space-around.svg +1 -0
  136. package/dist/third-party/front_end/Images/justify-content-space-between.svg +1 -0
  137. package/dist/third-party/front_end/Images/justify-content-space-evenly.svg +1 -0
  138. package/dist/third-party/front_end/Images/justify-content-start.svg +1 -0
  139. package/dist/third-party/front_end/Images/justify-items-center.svg +1 -0
  140. package/dist/third-party/front_end/Images/justify-items-end.svg +1 -0
  141. package/dist/third-party/front_end/Images/justify-items-start.svg +1 -0
  142. package/dist/third-party/front_end/Images/justify-items-stretch.svg +1 -0
  143. package/dist/third-party/front_end/Images/keyboard-pen.svg +1 -0
  144. package/dist/third-party/front_end/Images/large-arrow-right-filled.svg +1 -0
  145. package/dist/third-party/front_end/Images/largeIcons.svg +2 -0
  146. package/dist/third-party/front_end/Images/layers-filled.svg +1 -0
  147. package/dist/third-party/front_end/Images/layers.svg +1 -0
  148. package/dist/third-party/front_end/Images/left-panel-close.svg +1 -0
  149. package/dist/third-party/front_end/Images/left-panel-open.svg +1 -0
  150. package/dist/third-party/front_end/Images/lighthouse_logo.svg +1 -0
  151. package/dist/third-party/front_end/Images/list.svg +1 -0
  152. package/dist/third-party/front_end/Images/mediumIcons.svg +1 -0
  153. package/dist/third-party/front_end/Images/memory.svg +1 -0
  154. package/dist/third-party/front_end/Images/minus.svg +1 -0
  155. package/dist/third-party/front_end/Images/minus_icon.svg +1 -0
  156. package/dist/third-party/front_end/Images/navigationControls.png +0 -0
  157. package/dist/third-party/front_end/Images/navigationControls_2x.png +0 -0
  158. package/dist/third-party/front_end/Images/network-settings.svg +1 -0
  159. package/dist/third-party/front_end/Images/nodeIcon.avif +0 -0
  160. package/dist/third-party/front_end/Images/node_search_icon.svg +1 -0
  161. package/dist/third-party/front_end/Images/open-externally.svg +1 -0
  162. package/dist/third-party/front_end/Images/pause.svg +1 -0
  163. package/dist/third-party/front_end/Images/performance.svg +1 -0
  164. package/dist/third-party/front_end/Images/person.svg +1 -0
  165. package/dist/third-party/front_end/Images/play.svg +1 -0
  166. package/dist/third-party/front_end/Images/plus.svg +1 -0
  167. package/dist/third-party/front_end/Images/popoverArrows.png +0 -0
  168. package/dist/third-party/front_end/Images/popup.svg +1 -0
  169. package/dist/third-party/front_end/Images/preview_feature_video_thumbnail.svg +1 -0
  170. package/dist/third-party/front_end/Images/profile.svg +1 -0
  171. package/dist/third-party/front_end/Images/react_native/welcomeIcon.png +0 -0
  172. package/dist/third-party/front_end/Images/record-start.svg +1 -0
  173. package/dist/third-party/front_end/Images/record-stop.svg +1 -0
  174. package/dist/third-party/front_end/Images/redo.svg +1 -0
  175. package/dist/third-party/front_end/Images/refresh.svg +1 -0
  176. package/dist/third-party/front_end/Images/replace.svg +1 -0
  177. package/dist/third-party/front_end/Images/replay.svg +1 -0
  178. package/dist/third-party/front_end/Images/resizeDiagonal.svg +1 -0
  179. package/dist/third-party/front_end/Images/resizeHorizontal.svg +1 -0
  180. package/dist/third-party/front_end/Images/resizeVertical.svg +1 -0
  181. package/dist/third-party/front_end/Images/resume.svg +1 -0
  182. package/dist/third-party/front_end/Images/review.svg +1 -0
  183. package/dist/third-party/front_end/Images/right-panel-close.svg +1 -0
  184. package/dist/third-party/front_end/Images/right-panel-open.svg +1 -0
  185. package/dist/third-party/front_end/Images/screen-rotation.svg +1 -0
  186. package/dist/third-party/front_end/Images/search.svg +1 -0
  187. package/dist/third-party/front_end/Images/securityIcons.svg +1 -0
  188. package/dist/third-party/front_end/Images/select-element.svg +1 -0
  189. package/dist/third-party/front_end/Images/settings_14x14_icon.svg +1 -0
  190. package/dist/third-party/front_end/Images/shadow.svg +1 -0
  191. package/dist/third-party/front_end/Images/smallIcons.svg +1 -0
  192. package/dist/third-party/front_end/Images/snippet.svg +1 -0
  193. package/dist/third-party/front_end/Images/star.svg +1 -0
  194. package/dist/third-party/front_end/Images/step-into.svg +1 -0
  195. package/dist/third-party/front_end/Images/step-out.svg +1 -0
  196. package/dist/third-party/front_end/Images/step-over.svg +1 -0
  197. package/dist/third-party/front_end/Images/step.svg +1 -0
  198. package/dist/third-party/front_end/Images/stop.svg +1 -0
  199. package/dist/third-party/front_end/Images/symbol.svg +1 -0
  200. package/dist/third-party/front_end/Images/sync.svg +1 -0
  201. package/dist/third-party/front_end/Images/table.svg +1 -0
  202. package/dist/third-party/front_end/Images/toolbarResizerVertical.png +0 -0
  203. package/dist/third-party/front_end/Images/top-panel-close.svg +1 -0
  204. package/dist/third-party/front_end/Images/top-panel-open.svg +1 -0
  205. package/dist/third-party/front_end/Images/touchCursor.png +0 -0
  206. package/dist/third-party/front_end/Images/touchCursor_2x.png +0 -0
  207. package/dist/third-party/front_end/Images/triangle-bottom-right.svg +1 -0
  208. package/dist/third-party/front_end/Images/triangle-down.svg +1 -0
  209. package/dist/third-party/front_end/Images/triangle-left.svg +1 -0
  210. package/dist/third-party/front_end/Images/triangle-right.svg +1 -0
  211. package/dist/third-party/front_end/Images/triangle-up.svg +1 -0
  212. package/dist/third-party/front_end/Images/undo.svg +1 -0
  213. package/dist/third-party/front_end/Images/warning-filled.svg +1 -0
  214. package/dist/third-party/front_end/Images/warning.svg +1 -0
  215. package/dist/third-party/front_end/Images/warning_icon.svg +1 -0
  216. package/dist/third-party/front_end/Images/watch.svg +1 -0
  217. package/dist/third-party/front_end/Images/whatsnew.avif +0 -0
  218. package/dist/third-party/front_end/Images/width.svg +1 -0
  219. package/dist/third-party/front_end/Tests.js +1662 -0
  220. package/dist/third-party/front_end/core/common/common-legacy.js +1 -0
  221. package/dist/third-party/front_end/core/common/common.js +1 -0
  222. package/dist/third-party/front_end/core/dom_extension/dom_extension.js +1 -0
  223. package/dist/third-party/front_end/core/host/host-legacy.js +1 -0
  224. package/dist/third-party/front_end/core/host/host.js +1 -0
  225. package/dist/third-party/front_end/core/i18n/i18n.js +1 -0
  226. package/dist/third-party/front_end/core/i18n/locales/en-US.json +1 -0
  227. package/dist/third-party/front_end/core/i18n/locales/zh.json +1 -0
  228. package/dist/third-party/front_end/core/platform/platform.js +1 -0
  229. package/dist/third-party/front_end/core/protocol_client/protocol_client-legacy.js +1 -0
  230. package/dist/third-party/front_end/core/protocol_client/protocol_client.js +1 -0
  231. package/dist/third-party/front_end/core/root/root-legacy.js +1 -0
  232. package/dist/third-party/front_end/core/root/root.js +1 -0
  233. package/dist/third-party/front_end/core/sdk/sdk-legacy.js +1 -0
  234. package/dist/third-party/front_end/core/sdk/sdk-meta.js +1 -0
  235. package/dist/third-party/front_end/core/sdk/sdk.js +1 -0
  236. package/dist/third-party/front_end/device_mode_emulation_frame.html +20 -0
  237. package/dist/third-party/front_end/devtools_app.html +20 -0
  238. package/dist/third-party/front_end/devtools_compatibility.js +1595 -0
  239. package/dist/third-party/front_end/emulated_devices/optimized/MotoG4-landscape.avif +0 -0
  240. package/dist/third-party/front_end/emulated_devices/optimized/MotoG4-portrait.avif +0 -0
  241. package/dist/third-party/front_end/emulated_devices/optimized/Nexus5X-landscape.avif +0 -0
  242. package/dist/third-party/front_end/emulated_devices/optimized/Nexus5X-portrait.avif +0 -0
  243. package/dist/third-party/front_end/emulated_devices/optimized/Nexus6P-landscape.avif +0 -0
  244. package/dist/third-party/front_end/emulated_devices/optimized/Nexus6P-portrait.avif +0 -0
  245. package/dist/third-party/front_end/emulated_devices/optimized/google-nest-hub-horizontal.avif +0 -0
  246. package/dist/third-party/front_end/emulated_devices/optimized/google-nest-hub-max-horizontal.avif +0 -0
  247. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-horizontal-default-1x.avif +0 -0
  248. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-horizontal-default-2x.avif +0 -0
  249. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-1x.avif +0 -0
  250. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-2x.avif +0 -0
  251. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-horizontal-navigation-1x.avif +0 -0
  252. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-horizontal-navigation-2x.avif +0 -0
  253. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-vertical-default-1x.avif +0 -0
  254. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-vertical-default-2x.avif +0 -0
  255. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-vertical-keyboard-1x.avif +0 -0
  256. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-vertical-keyboard-2x.avif +0 -0
  257. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-vertical-navigation-1x.avif +0 -0
  258. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-vertical-navigation-2x.avif +0 -0
  259. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-default-1x.avif +0 -0
  260. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-default-2x.avif +0 -0
  261. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-1x.avif +0 -0
  262. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-2x.avif +0 -0
  263. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-1x.avif +0 -0
  264. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-2x.avif +0 -0
  265. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-vertical-default-1x.avif +0 -0
  266. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-vertical-default-2x.avif +0 -0
  267. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-1x.avif +0 -0
  268. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-2x.avif +0 -0
  269. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-vertical-navigation-1x.avif +0 -0
  270. package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-vertical-navigation-2x.avif +0 -0
  271. package/dist/third-party/front_end/emulated_devices/optimized/iPad-landscape.avif +0 -0
  272. package/dist/third-party/front_end/emulated_devices/optimized/iPad-portrait.avif +0 -0
  273. package/dist/third-party/front_end/emulated_devices/optimized/iPhone5-landscape.avif +0 -0
  274. package/dist/third-party/front_end/emulated_devices/optimized/iPhone5-portrait.avif +0 -0
  275. package/dist/third-party/front_end/emulated_devices/optimized/iPhone6-landscape.avif +0 -0
  276. package/dist/third-party/front_end/emulated_devices/optimized/iPhone6-portrait.avif +0 -0
  277. package/dist/third-party/front_end/emulated_devices/optimized/iPhone6Plus-landscape.avif +0 -0
  278. package/dist/third-party/front_end/emulated_devices/optimized/iPhone6Plus-portrait.avif +0 -0
  279. package/dist/third-party/front_end/entrypoints/device_mode_emulation_frame/device_mode_emulation_frame.js +1 -0
  280. package/dist/third-party/front_end/entrypoints/devtools_app/devtools_app.js +1 -0
  281. package/dist/third-party/front_end/entrypoints/formatter_worker/FormatterActions.js +1 -0
  282. package/dist/third-party/front_end/entrypoints/formatter_worker/formatter_worker-entrypoint.js +1 -0
  283. package/dist/third-party/front_end/entrypoints/formatter_worker/formatter_worker.js +1 -0
  284. package/dist/third-party/front_end/entrypoints/heap_snapshot_worker/heap_snapshot_worker-entrypoint.js +1 -0
  285. package/dist/third-party/front_end/entrypoints/heap_snapshot_worker/heap_snapshot_worker-legacy.js +1 -0
  286. package/dist/third-party/front_end/entrypoints/heap_snapshot_worker/heap_snapshot_worker.js +1 -0
  287. package/dist/third-party/front_end/entrypoints/inspector/inspector.js +1 -0
  288. package/dist/third-party/front_end/entrypoints/inspector_main/inspector_main-meta.js +1 -0
  289. package/dist/third-party/front_end/entrypoints/inspector_main/inspector_main.js +1 -0
  290. package/dist/third-party/front_end/entrypoints/js_app/js_app.js +1 -0
  291. package/dist/third-party/front_end/entrypoints/lighthouse_worker/lighthouse_worker.js +1 -0
  292. package/dist/third-party/front_end/entrypoints/main/main-legacy.js +1 -0
  293. package/dist/third-party/front_end/entrypoints/main/main-meta.js +1 -0
  294. package/dist/third-party/front_end/entrypoints/main/main.js +1 -0
  295. package/dist/third-party/front_end/entrypoints/ndb_app/ndb_app.js +1 -0
  296. package/dist/third-party/front_end/entrypoints/node_app/node_app.js +1 -0
  297. package/dist/third-party/front_end/entrypoints/rn_inspector/rn_inspector.js +1 -0
  298. package/dist/third-party/front_end/entrypoints/shell/shell.js +1 -0
  299. package/dist/third-party/front_end/entrypoints/wasmparser_worker/wasmparser_worker-entrypoint.js +1 -0
  300. package/dist/third-party/front_end/entrypoints/wasmparser_worker/wasmparser_worker.js +1 -0
  301. package/dist/third-party/front_end/entrypoints/worker_app/worker_app.js +1 -0
  302. package/dist/third-party/front_end/inspector.html +20 -0
  303. package/dist/third-party/front_end/integration_test_runner.html +40 -0
  304. package/dist/third-party/front_end/js_app.html +20 -0
  305. package/dist/third-party/front_end/legacy_test_runner/legacy_test_runner.js +36 -0
  306. package/dist/third-party/front_end/legacy_test_runner/test_runner/test_runner.js +1 -0
  307. package/dist/third-party/front_end/models/bindings/bindings-legacy.js +1 -0
  308. package/dist/third-party/front_end/models/bindings/bindings.js +1 -0
  309. package/dist/third-party/front_end/models/breakpoints/breakpoints-legacy.js +1 -0
  310. package/dist/third-party/front_end/models/breakpoints/breakpoints.js +1 -0
  311. package/dist/third-party/front_end/models/emulation/emulation.js +1 -0
  312. package/dist/third-party/front_end/models/extensions/extensions-legacy.js +1 -0
  313. package/dist/third-party/front_end/models/extensions/extensions.js +1 -0
  314. package/dist/third-party/front_end/models/formatter/formatter-legacy.js +1 -0
  315. package/dist/third-party/front_end/models/formatter/formatter.js +1 -0
  316. package/dist/third-party/front_end/models/har/har.js +1 -0
  317. package/dist/third-party/front_end/models/heap_snapshot_model/heap_snapshot_model-legacy.js +1 -0
  318. package/dist/third-party/front_end/models/heap_snapshot_model/heap_snapshot_model.js +1 -0
  319. package/dist/third-party/front_end/models/issues_manager/descriptions/CoepCoopSandboxedIframeCannotNavigateToCoopPage.md +4 -0
  320. package/dist/third-party/front_end/models/issues_manager/descriptions/CoepCorpNotSameOrigin.md +8 -0
  321. package/dist/third-party/front_end/models/issues_manager/descriptions/CoepCorpNotSameOriginAfterDefaultedToSameOriginByCoep.md +18 -0
  322. package/dist/third-party/front_end/models/issues_manager/descriptions/CoepCorpNotSameSite.md +7 -0
  323. package/dist/third-party/front_end/models/issues_manager/descriptions/CoepFrameResourceNeedsCoepHeader.md +10 -0
  324. package/dist/third-party/front_end/models/issues_manager/descriptions/CompatibilityModeQuirks.md +5 -0
  325. package/dist/third-party/front_end/models/issues_manager/descriptions/CookieAttributeValueExceedsMaxSize.md +5 -0
  326. package/dist/third-party/front_end/models/issues_manager/descriptions/LowTextContrast.md +5 -0
  327. package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeRead.md +8 -0
  328. package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeSet.md +8 -0
  329. package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteExcludeNavigationContextDowngrade.md +8 -0
  330. package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteInvalidSameParty.md +8 -0
  331. package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureErrorRead.md +8 -0
  332. package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureErrorSet.md +8 -0
  333. package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureWarnRead.md +8 -0
  334. package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureWarnSet.md +8 -0
  335. package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeRead.md +9 -0
  336. package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeSet.md +9 -0
  337. package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteUnspecifiedTreatedAsLaxRead.md +9 -0
  338. package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteUnspecifiedTreatedAsLaxSet.md +9 -0
  339. package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeRead.md +8 -0
  340. package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeSet.md +8 -0
  341. package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteWarnStrictLaxDowngradeStrict.md +8 -0
  342. package/dist/third-party/front_end/models/issues_manager/descriptions/arInsecureContext.md +7 -0
  343. package/dist/third-party/front_end/models/issues_manager/descriptions/arInvalidRegisterOsSourceHeader.md +5 -0
  344. package/dist/third-party/front_end/models/issues_manager/descriptions/arInvalidRegisterOsTriggerHeader.md +5 -0
  345. package/dist/third-party/front_end/models/issues_manager/descriptions/arInvalidRegisterSourceHeader.md +5 -0
  346. package/dist/third-party/front_end/models/issues_manager/descriptions/arInvalidRegisterTriggerHeader.md +5 -0
  347. package/dist/third-party/front_end/models/issues_manager/descriptions/arOsSourceIgnored.md +18 -0
  348. package/dist/third-party/front_end/models/issues_manager/descriptions/arOsTriggerIgnored.md +19 -0
  349. package/dist/third-party/front_end/models/issues_manager/descriptions/arPermissionPolicyDisabled.md +8 -0
  350. package/dist/third-party/front_end/models/issues_manager/descriptions/arSourceAndTriggerHeaders.md +9 -0
  351. package/dist/third-party/front_end/models/issues_manager/descriptions/arSourceIgnored.md +13 -0
  352. package/dist/third-party/front_end/models/issues_manager/descriptions/arTriggerIgnored.md +12 -0
  353. package/dist/third-party/front_end/models/issues_manager/descriptions/arUntrustworthyReportingOrigin.md +10 -0
  354. package/dist/third-party/front_end/models/issues_manager/descriptions/arWebAndOsHeaders.md +11 -0
  355. package/dist/third-party/front_end/models/issues_manager/descriptions/bounceTrackingMitigations.md +3 -0
  356. package/dist/third-party/front_end/models/issues_manager/descriptions/clientHintMetaTagAllowListInvalidOrigin.md +4 -0
  357. package/dist/third-party/front_end/models/issues_manager/descriptions/clientHintMetaTagModifiedHTML.md +4 -0
  358. package/dist/third-party/front_end/models/issues_manager/descriptions/cookieExcludeBlockedWithinFirstPartySet.md +4 -0
  359. package/dist/third-party/front_end/models/issues_manager/descriptions/cookieExcludeDomainNonAscii.md +11 -0
  360. package/dist/third-party/front_end/models/issues_manager/descriptions/cookieWarnDomainNonAscii.md +11 -0
  361. package/dist/third-party/front_end/models/issues_manager/descriptions/corsAllowCredentialsRequired.md +6 -0
  362. package/dist/third-party/front_end/models/issues_manager/descriptions/corsDisabledScheme.md +7 -0
  363. package/dist/third-party/front_end/models/issues_manager/descriptions/corsDisallowedByMode.md +7 -0
  364. package/dist/third-party/front_end/models/issues_manager/descriptions/corsHeaderDisallowedByPreflightResponse.md +5 -0
  365. package/dist/third-party/front_end/models/issues_manager/descriptions/corsInsecurePrivateNetwork.md +10 -0
  366. package/dist/third-party/front_end/models/issues_manager/descriptions/corsInvalidHeaderValues.md +7 -0
  367. package/dist/third-party/front_end/models/issues_manager/descriptions/corsMethodDisallowedByPreflightResponse.md +5 -0
  368. package/dist/third-party/front_end/models/issues_manager/descriptions/corsNoCorsRedirectModeNotFollow.md +5 -0
  369. package/dist/third-party/front_end/models/issues_manager/descriptions/corsOriginMismatch.md +6 -0
  370. package/dist/third-party/front_end/models/issues_manager/descriptions/corsPreflightAllowPrivateNetworkError.md +10 -0
  371. package/dist/third-party/front_end/models/issues_manager/descriptions/corsPreflightResponseInvalid.md +5 -0
  372. package/dist/third-party/front_end/models/issues_manager/descriptions/corsRedirectContainsCredentials.md +5 -0
  373. package/dist/third-party/front_end/models/issues_manager/descriptions/corsWildcardOriginNotAllowed.md +8 -0
  374. package/dist/third-party/front_end/models/issues_manager/descriptions/cspEvalViolation.md +9 -0
  375. package/dist/third-party/front_end/models/issues_manager/descriptions/cspInlineViolation.md +10 -0
  376. package/dist/third-party/front_end/models/issues_manager/descriptions/cspTrustedTypesPolicyViolation.md +5 -0
  377. package/dist/third-party/front_end/models/issues_manager/descriptions/cspTrustedTypesSinkViolation.md +8 -0
  378. package/dist/third-party/front_end/models/issues_manager/descriptions/cspURLViolation.md +10 -0
  379. package/dist/third-party/front_end/models/issues_manager/descriptions/deprecation.md +3 -0
  380. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsHttpNotFound.md +1 -0
  381. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsInvalidResponse.md +1 -0
  382. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsNoResponse.md +1 -0
  383. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestApprovalDeclined.md +1 -0
  384. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestCanceled.md +1 -0
  385. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataHttpNotFound.md +1 -0
  386. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataInvalidResponse.md +1 -0
  387. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataNoResponse.md +1 -0
  388. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestErrorFetchingSignin.md +1 -0
  389. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestErrorIdToken.md +1 -0
  390. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenHttpNotFound.md +1 -0
  391. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidRequest.md +1 -0
  392. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidResponse.md +1 -0
  393. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenNoResponse.md +1 -0
  394. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestInvalidSigninResponse.md +1 -0
  395. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestHttpNotFound.md +1 -0
  396. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestInvalidResponse.md +1 -0
  397. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestNoResponse.md +1 -0
  398. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestTooManyRequests.md +1 -0
  399. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidAccountsResponse.md +1 -0
  400. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidConfigOrWellKnown.md +1 -0
  401. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoAccountSharingPermission.md +1 -0
  402. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoApiPermission.md +1 -0
  403. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoReturningUserFromFetchedAccounts.md +1 -0
  404. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotIframe.md +1 -0
  405. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotPotentiallyTrustworthy.md +1 -0
  406. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSameOrigin.md +1 -0
  407. package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSignedInWithIdp.md +1 -0
  408. package/dist/third-party/front_end/models/issues_manager/descriptions/genericCrossOriginPortalPostMessageError.md +3 -0
  409. package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormAriaLabelledByToNonExistingId.md +8 -0
  410. package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormAutocompleteAttributeEmptyError.md +5 -0
  411. package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormDuplicateIdForInputError.md +5 -0
  412. package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormEmptyIdAndNameAttributesForInputError.md +5 -0
  413. package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormInputAssignedAutocompleteValueToIdOrNameAttributeError.md +5 -0
  414. package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormInputHasWrongButWellIntendedAutocompleteValueError.md +5 -0
  415. package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormInputWithNoLabelError.md +5 -0
  416. package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormLabelForMatchesNonExistingIdError.md +5 -0
  417. package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormLabelForNameError.md +5 -0
  418. package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormLabelHasNeitherForNorNestedInput.md +5 -0
  419. package/dist/third-party/front_end/models/issues_manager/descriptions/heavyAd.md +10 -0
  420. package/dist/third-party/front_end/models/issues_manager/descriptions/mixedContent.md +5 -0
  421. package/dist/third-party/front_end/models/issues_manager/descriptions/sharedArrayBuffer.md +7 -0
  422. package/dist/third-party/front_end/models/issues_manager/descriptions/stylesheetLateImport.md +4 -0
  423. package/dist/third-party/front_end/models/issues_manager/descriptions/stylesheetRequestFailed.md +3 -0
  424. package/dist/third-party/front_end/models/issues_manager/issues_manager.js +1 -0
  425. package/dist/third-party/front_end/models/javascript_metadata/javascript_metadata.js +1 -0
  426. package/dist/third-party/front_end/models/logs/logs-meta.js +1 -0
  427. package/dist/third-party/front_end/models/logs/logs.js +1 -0
  428. package/dist/third-party/front_end/models/persistence/persistence-legacy.js +1 -0
  429. package/dist/third-party/front_end/models/persistence/persistence-meta.js +1 -0
  430. package/dist/third-party/front_end/models/persistence/persistence.js +1 -0
  431. package/dist/third-party/front_end/models/source_map_scopes/source_map_scopes.js +1 -0
  432. package/dist/third-party/front_end/models/text_utils/text_utils-legacy.js +1 -0
  433. package/dist/third-party/front_end/models/text_utils/text_utils.js +1 -0
  434. package/dist/third-party/front_end/models/timeline_model/timeline_model-legacy.js +1 -0
  435. package/dist/third-party/front_end/models/timeline_model/timeline_model.js +1 -0
  436. package/dist/third-party/front_end/models/trace/extras/extras.js +1 -0
  437. package/dist/third-party/front_end/models/trace/handlers/handlers.js +1 -0
  438. package/dist/third-party/front_end/models/trace/helpers/helpers.js +1 -0
  439. package/dist/third-party/front_end/models/trace/trace.js +1 -0
  440. package/dist/third-party/front_end/models/trace/types/types.js +1 -0
  441. package/dist/third-party/front_end/models/workspace/workspace-legacy.js +1 -0
  442. package/dist/third-party/front_end/models/workspace/workspace.js +1 -0
  443. package/dist/third-party/front_end/models/workspace_diff/workspace_diff-legacy.js +1 -0
  444. package/dist/third-party/front_end/models/workspace_diff/workspace_diff.js +1 -0
  445. package/dist/third-party/front_end/ndb_app.html +20 -0
  446. package/dist/third-party/front_end/node_app.html +20 -0
  447. package/dist/third-party/front_end/panels/accessibility/accessibility-legacy.js +1 -0
  448. package/dist/third-party/front_end/panels/accessibility/accessibility-meta.js +1 -0
  449. package/dist/third-party/front_end/panels/accessibility/accessibility.js +1 -0
  450. package/dist/third-party/front_end/panels/animation/animation-legacy.js +1 -0
  451. package/dist/third-party/front_end/panels/animation/animation-meta.js +1 -0
  452. package/dist/third-party/front_end/panels/animation/animation.js +1 -0
  453. package/dist/third-party/front_end/panels/application/application-legacy.js +1 -0
  454. package/dist/third-party/front_end/panels/application/application-meta.js +1 -0
  455. package/dist/third-party/front_end/panels/application/application.js +1 -0
  456. package/dist/third-party/front_end/panels/application/components/components.js +1 -0
  457. package/dist/third-party/front_end/panels/application/preloading/components/components.js +1 -0
  458. package/dist/third-party/front_end/panels/browser_debugger/browser_debugger-legacy.js +1 -0
  459. package/dist/third-party/front_end/panels/browser_debugger/browser_debugger-meta.js +1 -0
  460. package/dist/third-party/front_end/panels/browser_debugger/browser_debugger.js +1 -0
  461. package/dist/third-party/front_end/panels/changes/changes-legacy.js +1 -0
  462. package/dist/third-party/front_end/panels/changes/changes-meta.js +1 -0
  463. package/dist/third-party/front_end/panels/changes/changes.js +1 -0
  464. package/dist/third-party/front_end/panels/console/console-legacy.js +1 -0
  465. package/dist/third-party/front_end/panels/console/console-meta.js +1 -0
  466. package/dist/third-party/front_end/panels/console/console.js +6 -0
  467. package/dist/third-party/front_end/panels/console_counters/console_counters-meta.js +1 -0
  468. package/dist/third-party/front_end/panels/console_counters/console_counters.js +1 -0
  469. package/dist/third-party/front_end/panels/coverage/coverage-legacy.js +1 -0
  470. package/dist/third-party/front_end/panels/coverage/coverage-meta.js +1 -0
  471. package/dist/third-party/front_end/panels/coverage/coverage.js +1 -0
  472. package/dist/third-party/front_end/panels/css_overview/components/components.js +1 -0
  473. package/dist/third-party/front_end/panels/css_overview/css_overview-meta.js +1 -0
  474. package/dist/third-party/front_end/panels/css_overview/css_overview.js +144 -0
  475. package/dist/third-party/front_end/panels/developer_resources/developer_resources-meta.js +1 -0
  476. package/dist/third-party/front_end/panels/developer_resources/developer_resources.js +1 -0
  477. package/dist/third-party/front_end/panels/elements/components/components.js +1 -0
  478. package/dist/third-party/front_end/panels/elements/elements-legacy.js +1 -0
  479. package/dist/third-party/front_end/panels/elements/elements-meta.js +1 -0
  480. package/dist/third-party/front_end/panels/elements/elements.js +1 -0
  481. package/dist/third-party/front_end/panels/emulation/components/components.js +22 -0
  482. package/dist/third-party/front_end/panels/emulation/emulation-legacy.js +1 -0
  483. package/dist/third-party/front_end/panels/emulation/emulation-meta.js +1 -0
  484. package/dist/third-party/front_end/panels/emulation/emulation.js +1 -0
  485. package/dist/third-party/front_end/panels/event_listeners/event_listeners.js +1 -0
  486. package/dist/third-party/front_end/panels/issues/components/components.js +1 -0
  487. package/dist/third-party/front_end/panels/issues/issues-meta.js +1 -0
  488. package/dist/third-party/front_end/panels/issues/issues.js +1 -0
  489. package/dist/third-party/front_end/panels/js_profiler/js_profiler-meta.js +1 -0
  490. package/dist/third-party/front_end/panels/js_profiler/js_profiler.js +1 -0
  491. package/dist/third-party/front_end/panels/layer_viewer/layer_viewer-legacy.js +1 -0
  492. package/dist/third-party/front_end/panels/layer_viewer/layer_viewer-meta.js +1 -0
  493. package/dist/third-party/front_end/panels/layer_viewer/layer_viewer.js +1 -0
  494. package/dist/third-party/front_end/panels/layers/layers-meta.js +1 -0
  495. package/dist/third-party/front_end/panels/layers/layers.js +1 -0
  496. package/dist/third-party/front_end/panels/lighthouse/lighthouse-legacy.js +1 -0
  497. package/dist/third-party/front_end/panels/lighthouse/lighthouse-meta.js +1 -0
  498. package/dist/third-party/front_end/panels/lighthouse/lighthouse.js +66 -0
  499. package/dist/third-party/front_end/panels/media/media-meta.js +1 -0
  500. package/dist/third-party/front_end/panels/media/media.js +25 -0
  501. package/dist/third-party/front_end/panels/mobile_throttling/mobile_throttling-legacy.js +1 -0
  502. package/dist/third-party/front_end/panels/mobile_throttling/mobile_throttling-meta.js +1 -0
  503. package/dist/third-party/front_end/panels/mobile_throttling/mobile_throttling.js +1 -0
  504. package/dist/third-party/front_end/panels/network/components/components.js +1 -0
  505. package/dist/third-party/front_end/panels/network/forward/forward.js +1 -0
  506. package/dist/third-party/front_end/panels/network/network-legacy.js +1 -0
  507. package/dist/third-party/front_end/panels/network/network-meta.js +1 -0
  508. package/dist/third-party/front_end/panels/network/network.js +1 -0
  509. package/dist/third-party/front_end/panels/performance_monitor/performance_monitor-meta.js +1 -0
  510. package/dist/third-party/front_end/panels/performance_monitor/performance_monitor.js +1 -0
  511. package/dist/third-party/front_end/panels/profiler/profiler-legacy.js +1 -0
  512. package/dist/third-party/front_end/panels/profiler/profiler-meta.js +1 -0
  513. package/dist/third-party/front_end/panels/profiler/profiler.js +7 -0
  514. package/dist/third-party/front_end/panels/protocol_monitor/components/components.js +1 -0
  515. package/dist/third-party/front_end/panels/protocol_monitor/protocol_monitor-meta.js +1 -0
  516. package/dist/third-party/front_end/panels/protocol_monitor/protocol_monitor.js +1 -0
  517. package/dist/third-party/front_end/panels/recorder/components/components.js +1 -0
  518. package/dist/third-party/front_end/panels/recorder/controllers/controllers.js +1 -0
  519. package/dist/third-party/front_end/panels/recorder/converters/converters.js +1 -0
  520. package/dist/third-party/front_end/panels/recorder/extensions/extensions.js +1 -0
  521. package/dist/third-party/front_end/panels/recorder/injected/injected.generated.js +1 -0
  522. package/dist/third-party/front_end/panels/recorder/injected/injected.js +1 -0
  523. package/dist/third-party/front_end/panels/recorder/models/models.js +1 -0
  524. package/dist/third-party/front_end/panels/recorder/recorder-actions.js +1 -0
  525. package/dist/third-party/front_end/panels/recorder/recorder-meta.js +1 -0
  526. package/dist/third-party/front_end/panels/recorder/recorder.js +1 -0
  527. package/dist/third-party/front_end/panels/recorder/util/util.js +1 -0
  528. package/dist/third-party/front_end/panels/rn_welcome/rn_welcome-meta.js +1 -0
  529. package/dist/third-party/front_end/panels/rn_welcome/rn_welcome.js +1 -0
  530. package/dist/third-party/front_end/panels/screencast/screencast-meta.js +1 -0
  531. package/dist/third-party/front_end/panels/screencast/screencast.js +1 -0
  532. package/dist/third-party/front_end/panels/search/search-legacy.js +1 -0
  533. package/dist/third-party/front_end/panels/search/search.js +1 -0
  534. package/dist/third-party/front_end/panels/security/security-legacy.js +1 -0
  535. package/dist/third-party/front_end/panels/security/security-meta.js +1 -0
  536. package/dist/third-party/front_end/panels/security/security.js +1 -0
  537. package/dist/third-party/front_end/panels/sensors/sensors-meta.js +1 -0
  538. package/dist/third-party/front_end/panels/sensors/sensors.js +1 -0
  539. package/dist/third-party/front_end/panels/settings/components/components.js +1 -0
  540. package/dist/third-party/front_end/panels/settings/emulation/components/components.js +1 -0
  541. package/dist/third-party/front_end/panels/settings/emulation/emulation-meta.js +1 -0
  542. package/dist/third-party/front_end/panels/settings/emulation/emulation.js +1 -0
  543. package/dist/third-party/front_end/panels/settings/emulation/utils/utils.js +1 -0
  544. package/dist/third-party/front_end/panels/settings/settings-legacy.js +1 -0
  545. package/dist/third-party/front_end/panels/settings/settings-meta.js +1 -0
  546. package/dist/third-party/front_end/panels/settings/settings.js +1 -0
  547. package/dist/third-party/front_end/panels/snippets/snippets-legacy.js +1 -0
  548. package/dist/third-party/front_end/panels/snippets/snippets.js +1 -0
  549. package/dist/third-party/front_end/panels/sources/components/components.js +1 -0
  550. package/dist/third-party/front_end/panels/sources/sources-legacy.js +1 -0
  551. package/dist/third-party/front_end/panels/sources/sources-meta.js +1 -0
  552. package/dist/third-party/front_end/panels/sources/sources.js +1 -0
  553. package/dist/third-party/front_end/panels/timeline/timeline-legacy.js +1 -0
  554. package/dist/third-party/front_end/panels/timeline/timeline-meta.js +1 -0
  555. package/dist/third-party/front_end/panels/timeline/timeline.js +1 -0
  556. package/dist/third-party/front_end/panels/utils/utils.js +1 -0
  557. package/dist/third-party/front_end/panels/web_audio/graph_visualizer/graph_visualizer.js +1 -0
  558. package/dist/third-party/front_end/panels/web_audio/web_audio-legacy.js +1 -0
  559. package/dist/third-party/front_end/panels/web_audio/web_audio-meta.js +1 -0
  560. package/dist/third-party/front_end/panels/web_audio/web_audio.js +1 -0
  561. package/dist/third-party/front_end/panels/webauthn/webauthn-meta.js +1 -0
  562. package/dist/third-party/front_end/panels/webauthn/webauthn.js +1 -0
  563. package/dist/third-party/front_end/rn_inspector.html +20 -0
  564. package/dist/third-party/front_end/services/puppeteer/puppeteer.js +1 -0
  565. package/dist/third-party/front_end/services/tracing/tracing.js +1 -0
  566. package/dist/third-party/front_end/services/window_bounds/window_bounds.js +1 -0
  567. package/dist/third-party/front_end/third_party/acorn/acorn.js +1 -0
  568. package/dist/third-party/front_end/third_party/chromium/client-variations/client-variations.js +1 -0
  569. package/dist/third-party/front_end/third_party/codemirror.next/chunk/angular.js +2 -0
  570. package/dist/third-party/front_end/third_party/codemirror.next/chunk/codemirror.js +2 -0
  571. package/dist/third-party/front_end/third_party/codemirror.next/chunk/cpp.js +2 -0
  572. package/dist/third-party/front_end/third_party/codemirror.next/chunk/java.js +2 -0
  573. package/dist/third-party/front_end/third_party/codemirror.next/chunk/json.js +2 -0
  574. package/dist/third-party/front_end/third_party/codemirror.next/chunk/legacy.js +2 -0
  575. package/dist/third-party/front_end/third_party/codemirror.next/chunk/less.js +2 -0
  576. package/dist/third-party/front_end/third_party/codemirror.next/chunk/markdown.js +2 -0
  577. package/dist/third-party/front_end/third_party/codemirror.next/chunk/php.js +2 -0
  578. package/dist/third-party/front_end/third_party/codemirror.next/chunk/python.js +2 -0
  579. package/dist/third-party/front_end/third_party/codemirror.next/chunk/sass.js +2 -0
  580. package/dist/third-party/front_end/third_party/codemirror.next/chunk/svelte.js +2 -0
  581. package/dist/third-party/front_end/third_party/codemirror.next/chunk/vue.js +2 -0
  582. package/dist/third-party/front_end/third_party/codemirror.next/chunk/wast.js +2 -0
  583. package/dist/third-party/front_end/third_party/codemirror.next/chunk/xml.js +2 -0
  584. package/dist/third-party/front_end/third_party/codemirror.next/codemirror.next.js +2 -0
  585. package/dist/third-party/front_end/third_party/diff/diff-legacy.js +1 -0
  586. package/dist/third-party/front_end/third_party/diff/diff.js +1 -0
  587. package/dist/third-party/front_end/third_party/i18n/i18n.js +1 -0
  588. package/dist/third-party/front_end/third_party/intl-messageformat/intl-messageformat.js +15 -0
  589. package/dist/third-party/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +1297 -0
  590. package/dist/third-party/front_end/third_party/lighthouse/report/report.js +222 -0
  591. package/dist/third-party/front_end/third_party/lit/lit.js +98 -0
  592. package/dist/third-party/front_end/third_party/marked/marked.js +1 -0
  593. package/dist/third-party/front_end/third_party/puppeteer/puppeteer.js +1 -0
  594. package/dist/third-party/front_end/third_party/puppeteer-replay/puppeteer-replay.js +1 -0
  595. package/dist/third-party/front_end/third_party/wasmparser/wasmparser.js +1 -0
  596. package/dist/third-party/front_end/ui/components/adorners/adorners.js +1 -0
  597. package/dist/third-party/front_end/ui/components/buttons/buttons.js +1 -0
  598. package/dist/third-party/front_end/ui/components/chrome_link/chrome_link.js +1 -0
  599. package/dist/third-party/front_end/ui/components/code_highlighter/code_highlighter.js +1 -0
  600. package/dist/third-party/front_end/ui/components/data_grid/data_grid.js +1 -0
  601. package/dist/third-party/front_end/ui/components/dialogs/dialogs.js +1 -0
  602. package/dist/third-party/front_end/ui/components/diff_view/diff_view.js +1 -0
  603. package/dist/third-party/front_end/ui/components/expandable_list/expandable_list.js +1 -0
  604. package/dist/third-party/front_end/ui/components/helpers/helpers.js +1 -0
  605. package/dist/third-party/front_end/ui/components/icon_button/icon_button.js +1 -0
  606. package/dist/third-party/front_end/ui/components/input/input.js +1 -0
  607. package/dist/third-party/front_end/ui/components/issue_counter/issue_counter.js +1 -0
  608. package/dist/third-party/front_end/ui/components/legacy_wrapper/legacy_wrapper.js +1 -0
  609. package/dist/third-party/front_end/ui/components/linear_memory_inspector/linear_memory_inspector-meta.js +1 -0
  610. package/dist/third-party/front_end/ui/components/linear_memory_inspector/linear_memory_inspector.js +1 -0
  611. package/dist/third-party/front_end/ui/components/linkifier/linkifier.js +1 -0
  612. package/dist/third-party/front_end/ui/components/markdown_view/markdown_view.js +1 -0
  613. package/dist/third-party/front_end/ui/components/menus/menus.js +1 -0
  614. package/dist/third-party/front_end/ui/components/node_text/node_text.js +1 -0
  615. package/dist/third-party/front_end/ui/components/panel_feedback/panel_feedback.js +1 -0
  616. package/dist/third-party/front_end/ui/components/panel_introduction_steps/panel_introduction_steps.js +1 -0
  617. package/dist/third-party/front_end/ui/components/render_coordinator/render_coordinator.js +1 -0
  618. package/dist/third-party/front_end/ui/components/report_view/report_view.js +1 -0
  619. package/dist/third-party/front_end/ui/components/request_link_icon/request_link_icon.js +1 -0
  620. package/dist/third-party/front_end/ui/components/settings/settings.js +1 -0
  621. package/dist/third-party/front_end/ui/components/srgb_overlay/srgb_overlay.js +1 -0
  622. package/dist/third-party/front_end/ui/components/survey_link/survey_link.js +1 -0
  623. package/dist/third-party/front_end/ui/components/text_editor/text_editor.js +1 -0
  624. package/dist/third-party/front_end/ui/components/text_prompt/text_prompt.js +1 -0
  625. package/dist/third-party/front_end/ui/components/tree_outline/tree_outline.js +1 -0
  626. package/dist/third-party/front_end/ui/components/two_states_counter/two_states_counter.js +1 -0
  627. package/dist/third-party/front_end/ui/legacy/components/color_picker/color_picker-legacy.js +1 -0
  628. package/dist/third-party/front_end/ui/legacy/components/color_picker/color_picker.js +1 -0
  629. package/dist/third-party/front_end/ui/legacy/components/cookie_table/cookie_table-legacy.js +1 -0
  630. package/dist/third-party/front_end/ui/legacy/components/cookie_table/cookie_table.js +1 -0
  631. package/dist/third-party/front_end/ui/legacy/components/data_grid/data_grid-legacy.js +1 -0
  632. package/dist/third-party/front_end/ui/legacy/components/data_grid/data_grid.js +1 -0
  633. package/dist/third-party/front_end/ui/legacy/components/inline_editor/inline_editor-legacy.js +1 -0
  634. package/dist/third-party/front_end/ui/legacy/components/inline_editor/inline_editor.js +1 -0
  635. package/dist/third-party/front_end/ui/legacy/components/object_ui/object_ui-legacy.js +1 -0
  636. package/dist/third-party/front_end/ui/legacy/components/object_ui/object_ui-meta.js +1 -0
  637. package/dist/third-party/front_end/ui/legacy/components/object_ui/object_ui.js +1 -0
  638. package/dist/third-party/front_end/ui/legacy/components/perf_ui/perf_ui-legacy.js +1 -0
  639. package/dist/third-party/front_end/ui/legacy/components/perf_ui/perf_ui-meta.js +1 -0
  640. package/dist/third-party/front_end/ui/legacy/components/perf_ui/perf_ui.js +12 -0
  641. package/dist/third-party/front_end/ui/legacy/components/quick_open/quick_open-legacy.js +1 -0
  642. package/dist/third-party/front_end/ui/legacy/components/quick_open/quick_open-meta.js +1 -0
  643. package/dist/third-party/front_end/ui/legacy/components/quick_open/quick_open.js +1 -0
  644. package/dist/third-party/front_end/ui/legacy/components/source_frame/source_frame-legacy.js +1 -0
  645. package/dist/third-party/front_end/ui/legacy/components/source_frame/source_frame-meta.js +1 -0
  646. package/dist/third-party/front_end/ui/legacy/components/source_frame/source_frame.js +1 -0
  647. package/dist/third-party/front_end/ui/legacy/components/utils/utils-legacy.js +1 -0
  648. package/dist/third-party/front_end/ui/legacy/components/utils/utils.js +1 -0
  649. package/dist/third-party/front_end/ui/legacy/legacy-legacy.js +1 -0
  650. package/dist/third-party/front_end/ui/legacy/legacy.js +1 -0
  651. package/dist/third-party/front_end/ui/legacy/theme_support/theme_support.js +1 -0
  652. package/dist/third-party/front_end/ui/legacy/utils/utils.js +1 -0
  653. package/dist/third-party/front_end/ui/lit-html/lit-html.js +1 -0
  654. package/dist/third-party/front_end/worker_app.html +20 -0
  655. package/index.js +15 -0
  656. package/package.json +25 -0
@@ -0,0 +1 @@
1
+ import*as i from"../../core/i18n/i18n.js";import*as e from"../../ui/legacy/legacy.js";const a={media:"Media",video:"video",showMedia:"Show Media"},n=i.i18n.registerUIStrings("panels/media/media-meta.ts",a),o=i.i18n.getLazilyComputedLocalizedString.bind(void 0,n);let t;e.ViewManager.registerViewExtension({location:"panel",id:"medias",title:o(a.media),commandPrompt:o(a.showMedia),persistence:"closeable",order:100,loadView:async()=>(await async function(){return t||(t=await import("./media.js")),t}()).MainView.MainView.instance(),tags:[o(a.media),o(a.video)]});
@@ -0,0 +1,25 @@
1
+ import*as e from"../../core/i18n/i18n.js";import*as t from"../../ui/legacy/components/data_grid/data_grid.js";import*as s from"../../ui/legacy/components/source_frame/source_frame.js";import*as i from"../../ui/legacy/legacy.js";import*as a from"../../core/sdk/sdk.js";import*as r from"../../core/common/common.js";import*as n from"../../core/host/host.js";import*as o from"../../ui/legacy/components/perf_ui/perf_ui.js";import*as l from"../../ui/legacy/theme_support/theme_support.js";import*as d from"../../core/platform/platform.js";const h=new CSSStyleSheet;h.replaceSync(".no-border-top-datagrid > .data-grid{border-top:0}.event-display-table-contents-table-container > .widget > .data-grid{height:100%}.data-grid .event-display-table-basic-text-table-entry{line-height:26px}.event-display-table-contents-json-wrapper > .json-view{overflow:visible}\n/*# sourceURL=eventDisplayTable.css */\n");const c={timestamp:"Timestamp",eventName:"Event name",value:"Value",eventDisplay:"Event display"},m=e.i18n.registerUIStrings("panels/media/EventDisplayTable.ts",c),p=e.i18n.getLocalizedString.bind(void 0,m);class u extends t.DataGrid.DataGridNode{expandableElement;constructor(e){super(e,!1),this.expandableElement=null}createCell(e){const t=this.createTD(e),a=this.data[e];if("value"===e){const e=t.createChild("div","event-display-table-contents-json-wrapper");this.expandableElement=new s.JSONView.JSONView(new s.JSONView.ParsedJSON(a,"",""),!0),this.expandableElement.markAsRoot(),this.expandableElement.show(e)}else t.classList.add("event-display-table-basic-text-table-entry"),i.UIUtils.createTextChild(t,a);return t}}class g extends i.Widget.VBox{dataGrid;firstEventTime;constructor(){super(),this.contentElement.classList.add("event-display-table-contents-table-container"),this.dataGrid=this.createDataGrid([{id:"displayTimestamp",title:p(c.timestamp),weight:1,sortable:!1},{id:"event",title:p(c.eventName),weight:2,sortable:!1},{id:"value",title:p(c.value),weight:7,sortable:!1}]),this.firstEventTime=0,this.dataGrid.setStriped(!0),this.dataGrid.asWidget().show(this.contentElement)}createDataGrid(e){const s=[];for(const t of e)s.push(g.convertToGridDescriptor(t));const i=new t.DataGrid.DataGridImpl({displayName:p(c.eventDisplay),columns:s,deleteCallback:void 0,editCallback:void 0,refreshCallback:void 0});return i.asWidget().contentElement.classList.add("no-border-top-datagrid"),i}onEvent(e){0===this.firstEventTime&&"number"==typeof e.timestamp&&(this.firstEventTime=e.timestamp);const t=(e=this.subtractFirstEventTime(e)).value;try{const s=JSON.parse(t);e.event=s.event,delete s.event,e.value=s;const i=new u(e),a=this.dataGrid.scrollContainer,r=a.scrollTop===a.scrollHeight-a.offsetHeight;this.dataGrid.rootNode().appendChild(i),r&&(a.scrollTop=a.scrollHeight)}catch(e){}}subtractFirstEventTime(e){return"number"==typeof e.timestamp&&(e.displayTimestamp=(e.timestamp-this.firstEventTime).toFixed(3)),e}static convertToGridDescriptor(e){return{id:e.id,title:e.title,sortable:e.sortable,weight:e.weight||0,sort:t.DataGrid.Order.Ascending}}wasShown(){super.wasShown(),this.registerCSSFiles([h])}}var v=Object.freeze({__proto__:null,EventNode:u,PlayerEventsView:g});class y extends a.SDKModel.SDKModel{enabled;agent;constructor(e){super(e),this.enabled=!1,this.agent=e.mediaAgent(),e.registerMediaDispatcher(this)}async resumeModel(){if(!this.enabled)return Promise.resolve();await this.agent.invoke_enable()}ensureEnabled(){this.agent.invoke_enable(),this.enabled=!0}playerPropertiesChanged(e){this.dispatchEventToListeners("PlayerPropertiesChanged",e)}playerEventsAdded(e){this.dispatchEventToListeners("PlayerEventsAdded",e)}playerMessagesLogged(e){this.dispatchEventToListeners("PlayerMessagesLogged",e)}playerErrorsRaised(e){this.dispatchEventToListeners("PlayerErrorsRaised",e)}playersCreated({players:e}){this.dispatchEventToListeners("PlayersCreated",e)}}a.SDKModel.SDKModel.register(y,{capabilities:a.Target.Capability.Media,autostart:!1});var b=Object.freeze({__proto__:null,MediaModel:y});function w(e,t){const s=Math.pow(10,3-t),i=Math.pow(10,Math.max(0,t));return Math.round(e/s)/i+" s"}class f{minInternal;maxInternal;lowInternal;highInternal;maxRange;minRange;constructor(e,t,s,i){this.minInternal=e,this.maxInternal=t,this.lowInternal=this.minInternal,this.highInternal=this.maxInternal,this.maxRange=s,this.minRange=i}get low(){return this.lowInternal}get high(){return this.highInternal}get min(){return this.minInternal}get max(){return this.maxInternal}get range(){return this.highInternal-this.lowInternal}reassertBounds(){let e=!0;for(;e;){if(e=!1,this.range<this.minRange){e=!0;const t=(this.minRange-this.range)/2;this.highInternal+=t,this.lowInternal-=t}this.lowInternal<this.minInternal&&(e=!0,this.lowInternal=this.minInternal),this.highInternal>this.maxInternal&&(e=!0,this.highInternal=this.maxInternal)}}zoomOut(e,t){const s=this.highInternal-this.lowInternal,i=s*Math.pow(1.1,e)-s,a=i*t,r=i-a;this.lowInternal-=a,this.highInternal+=r,this.reassertBounds()}zoomIn(e,t){const s=this.highInternal-this.lowInternal;if(this.range<=this.minRange)return;const i=s-s/Math.pow(1.1,e),a=i*t,r=i-a;this.lowInternal+=a,this.highInternal-=r,this.reassertBounds()}addMax(e){const t=this.highInternal-this.lowInternal,s=this.highInternal===this.maxInternal,i=this.lowInternal===this.minInternal||t>=this.maxRange;this.maxInternal+=e,s&&i&&(this.highInternal=this.maxInternal),this.reassertBounds()}pushMaxAtLeastTo(e){return this.maxInternal<e&&(this.addMax(e-this.maxInternal),!0)}}var E=Object.freeze({__proto__:null,formatMillisecondsToSeconds:w,Bounds:f});const T="11px "+n.Platform.fontFamily();function x(){return l.ThemeSupport.instance().getComputedValue("--color-text-primary")}const P=["#ffba08","#faa307","#f48c06","#e85d04","#dc2f02","#d00000","#9d0208"],k=["#7400b8","#6930c3","#5e60ce","#5390d9","#4ea8de","#48bfe3","#56cfe1","#64dfdf"];function C(e){const t=r.Color.parse(e)?.as("hsl");return t&&t.l<.5?"#eee":"#444"}class S{timelineData;setLive;setComplete;updateMaxTime;selfIndex;liveInternal;title;colorInternal;fontColorInternal;hoverData;constructor(e,t,s={color:void 0,duration:void 0,hoverData:{},level:0,name:"",startTime:0}){this.timelineData=e,this.setLive=t.setLive,this.setComplete=t.setComplete,this.updateMaxTime=t.updateMaxTime,this.selfIndex=this.timelineData.entryLevels.length,this.liveInternal=!1;const i=void 0===s.duration?0:s.duration;this.timelineData.entryLevels.push(s.level||0),this.timelineData.entryStartTimes.push(s.startTime||0),this.timelineData.entryTotalTimes.push(i),-1===i&&(this.endTime=-1),this.title=s.name||"",this.colorInternal=s.color||P[0],this.fontColorInternal=C(this.colorInternal),this.hoverData=s.hoverData||{}}decorate(e){e.createChild("span").textContent=`Name: ${this.title}`,e.createChild("br");const t=w(this.startTime,2);if(this.liveInternal)e.createChild("span").textContent=`Duration: ${t} - LIVE!`;else if(isNaN(this.duration))e.createChild("span").textContent=`Time: ${t}`;else{const s=w(this.duration+this.startTime,2);e.createChild("span").textContent=`Duration: ${t} - ${s}`}}set endTime(e){if(-1===e)this.timelineData.entryTotalTimes[this.selfIndex]=this.setLive(this.selfIndex),this.liveInternal=!0;else{this.liveInternal=!1;const t=e-this.timelineData.entryStartTimes[this.selfIndex];this.timelineData.entryTotalTimes[this.selfIndex]=t,this.setComplete(this.selfIndex),this.updateMaxTime(e)}}get id(){return this.selfIndex}set level(e){this.timelineData.entryLevels[this.selfIndex]=e}set color(e){this.colorInternal=e,this.fontColorInternal=C(this.colorInternal)}get color(){return this.colorInternal}get fontColor(){return this.fontColorInternal}get startTime(){return this.timelineData.entryStartTimes[this.selfIndex]}get duration(){return this.timelineData.entryTotalTimes[this.selfIndex]}get live(){return this.liveInternal}}class I extends i.Widget.VBox{intervalTimer;lastTimestamp;canTickInternal;ticking;isShown;bounds;dataProvider;delegate;chartGroupExpansionSetting;chart;stoppedPermanently;constructor(){super(),this.intervalTimer=0,this.lastTimestamp=0,this.canTickInternal=!0,this.ticking=!1,this.isShown=!1,this.bounds=new f(0,1e3,3e4,1e3),this.dataProvider=new D(this.bounds,this.updateMaxTime.bind(this)),this.delegate=new M,this.chartGroupExpansionSetting=r.Settings.Settings.instance().createSetting("mediaFlameChartGroupExpansion",{}),this.chart=new o.FlameChart.FlameChart(this.dataProvider,this.delegate,this.chartGroupExpansionSetting),this.chart.disableRangeSelection(),this.chart.bindCanvasEvent("wheel",(e=>{this.onScroll(e)})),this.chart.show(this.contentElement)}addMarker(e){e.duration=NaN,this.startEvent(e)}startEvent(e){void 0===e.duration&&(e.duration=-1);const t=e.startTime||0,s=this.dataProvider.startEvent(e);return this.updateMaxTime(t),s}addGroup(e,t){this.dataProvider.addGroup(e,t)}updateMaxTime(e){this.bounds.pushMaxAtLeastTo(e)&&this.updateRender()}onScroll(e){const t=Math.round(e.deltaY/50),s=e.offsetX/e.srcElement.clientWidth;t>0?this.bounds.zoomOut(t,s):this.bounds.zoomIn(-t,s),this.updateRender()}willHide(){this.isShown=!1,this.ticking&&this.stop()}wasShown(){this.isShown=!0,this.canTickInternal&&!this.ticking&&this.start()}set canTick(e){this.canTickInternal=e,this.ticking&&!e&&this.stop(),!this.ticking&&this.isShown&&e&&this.start()}start(){0===this.lastTimestamp&&(this.lastTimestamp=Date.now()),0!==this.intervalTimer||this.stoppedPermanently||(this.intervalTimer=window.setInterval(this.updateRender.bind(this),16),this.ticking=!0)}stop(e=!1){window.clearInterval(this.intervalTimer),this.intervalTimer=0,e&&(this.stoppedPermanently=!0),this.ticking=!1}updateRender(){if(this.ticking){const e=Date.now(),t=e-this.lastTimestamp;this.lastTimestamp=e,this.bounds.addMax(t)}this.dataProvider.updateMaxTime(this.bounds),this.chart.setWindowTimes(this.bounds.low,this.bounds.high,!0),this.chart.scheduleUpdate()}}class M{constructor(){}windowChanged(e,t,s){}updateRangeSelection(e,t){}updateSelectedGroup(e,t){}}class D{updateMaxTimeHandle;bounds;liveEvents;eventMap;timelineDataInternal;maxLevel;constructor(e,t){this.updateMaxTimeHandle=t,this.bounds=e,this.liveEvents=new Set,this.eventMap=new Map,this.timelineDataInternal=o.FlameChart.FlameChartTimelineData.createEmpty(),this.maxLevel=0}addGroup(e,t){if(this.timelineDataInternal.groups){const t={name:e,startLevel:this.maxLevel,expanded:!0,selectable:!1,style:{height:20,padding:2,collapsible:!1,font:T,color:x(),backgroundColor:"rgba(100 0 0 / 10%)",nestingLevel:0,itemsHeight:20,shareHeaderLine:!1,useFirstLineForOverview:!1,useDecoratorsForOverview:!1},track:null};this.timelineDataInternal.groups.push(t),l.ThemeSupport.instance().addEventListener(l.ThemeChangeEvent.eventName,(()=>{t.style.color=x()}))}this.maxLevel+=t}startEvent(e){if(e.level=e.level||0,e.level>this.maxLevel)throw`level ${e.level} is above the maximum allowed of ${this.maxLevel}`;const t=new S(this.timelineDataInternal,{setLive:this.setLive.bind(this),setComplete:this.setComplete.bind(this),updateMaxTime:this.updateMaxTimeHandle},e);return this.eventMap.set(t.id,t),t}setLive(e){return this.liveEvents.add(e),this.bounds.max}setComplete(e){this.liveEvents.delete(e)}updateMaxTime(e){this.bounds=e;for(const e of this.liveEvents.entries())this.eventMap.get(e[0]).endTime=-1}maxStackDepth(){return this.maxLevel+1}timelineData(){return this.timelineDataInternal}minimumBoundary(){return this.bounds.low}totalTime(){return this.bounds.high}entryColor(e){return this.eventMap.get(e).color}textColor(e){return this.eventMap.get(e).fontColor}entryTitle(e){return this.eventMap.get(e).title}entryFont(e){return T}decorateEntry(e,t,s,i,a,r,n,o,l){return!1}forceDecoration(e){return!1}prepareHighlightedEntryInfo(e){const t=document.createElement("div");return this.eventMap.get(e).decorate(t),t}formatValue(e,t){return e+=Math.round(this.bounds.low),this.bounds.range<2800?w(e,2):this.bounds.range<3e4?w(e,1):w(e,0)}canJumpToEntry(e){return!1}navStartTimes(){return new Map}}var L=Object.freeze({__proto__:null,HotColorScheme:P,ColdColorScheme:k,Event:S,TickingFlameChart:I});const F={playbackStatus:"Playback Status",bufferingStatus:"Buffering Status"},V=e.i18n.registerUIStrings("panels/media/EventTimelineView.ts",F),N=e.i18n.getLocalizedString.bind(void 0,V);class $ extends I{normalizedTimestamp;playbackStatusLastEvent;audioBufferingStateEvent;videoBufferingStateEvent;constructor(){super(),this.normalizedTimestamp=-1.5,this.addGroup(N(F.playbackStatus),2),this.addGroup(N(F.bufferingStatus),2),this.playbackStatusLastEvent=null,this.audioBufferingStateEvent=null,this.videoBufferingStateEvent=null}ensureNoPreviousPlaybackEvent(e){null!==this.playbackStatusLastEvent&&(this.playbackStatusLastEvent.endTime=e,this.playbackStatusLastEvent=null)}onPlaybackEvent(e,t){switch(e.event){case"kPlay":this.canTick=!0,this.ensureNoPreviousPlaybackEvent(t),this.playbackStatusLastEvent=this.startEvent({level:0,startTime:t,name:"Play"});break;case"kPause":this.ensureNoPreviousPlaybackEvent(t),this.playbackStatusLastEvent=this.startEvent({level:0,startTime:t,name:"Pause",color:P[1]});break;case"kWebMediaPlayerDestroyed":this.canTick=!1,this.ensureNoPreviousPlaybackEvent(t),this.addMarker({level:1,startTime:t,name:"Destroyed",color:P[4]});break;case"kSuspended":this.canTick=!1,this.ensureNoPreviousPlaybackEvent(t),this.playbackStatusLastEvent=this.startEvent({level:1,startTime:t,name:"Suspended",color:P[3]});break;case"kEnded":this.ensureNoPreviousPlaybackEvent(t),this.playbackStatusLastEvent=this.startEvent({level:1,startTime:t,name:"Ended",color:P[2]});break;default:throw`_onPlaybackEvent cant handle ${e.event}`}}bufferedEnough(e){return"BUFFERING_HAVE_ENOUGH"===e.state}onBufferingStatus(e,t){let s=null,i=null;if("kBufferingStateChanged"!==e.event)throw`_onPlaybackEvent cant handle ${e.event}`;s=e.value.audio_buffering_state,i=e.value.video_buffering_state,s&&(null!==this.audioBufferingStateEvent&&(this.audioBufferingStateEvent.endTime=t,this.audioBufferingStateEvent=null),this.bufferedEnough(s)||(this.audioBufferingStateEvent=this.startEvent({level:3,startTime:t,name:"Audio Buffering",color:k[1]}))),i&&(null!==this.videoBufferingStateEvent&&(this.videoBufferingStateEvent.endTime=t,this.videoBufferingStateEvent=null),this.bufferedEnough(i)||(this.videoBufferingStateEvent=this.startEvent({level:2,startTime:t,name:"Video Buffering",color:k[0]})))}onEvent(e){-1.5===this.normalizedTimestamp&&(this.normalizedTimestamp=Number(e.timestamp));const t=1e3*(Number(e.timestamp)-this.normalizedTimestamp);switch(e.event){case"kPlay":case"kPause":case"kWebMediaPlayerDestroyed":case"kSuspended":case"kEnded":return this.onPlaybackEvent(e,t);case"kBufferingStateChanged":return this.onBufferingStatus(e,t)}}}const _=new CSSStyleSheet;_.replaceSync(".media-messages-header{background-color:var(--color-background-elevation-1);border-bottom:1px solid var(--color-details-hairline);min-height:26px}.media-messages-body{overflow-y:scroll}.media-messages-level-dropdown-element{height:18px;line-height:18px}.media-messages-level-dropdown-text{float:left}.media-messages-level-dropdown-checkbox{float:left;width:18px;height:100%;padding-left:2px}.media-messages-message-container{font-size:14px;line-height:18px;padding:4px;user-select:text;border-bottom:1px solid var(--color-details-hairline)}.media-message-warning{--override-media-message-warning-background:hsl(45deg 100% 97%);background-color:var(--override-media-message-warning-background)}.-theme-with-dark-background .media-message-warning,\n:host-context(.-theme-with-dark-background) .media-message-warning{--override-media-message-warning-background:rgb(79 58 0)}.media-message-error{--override-media-message-error-background:rgb(255 240 240);background-color:var(--override-media-message-error-background)}.-theme-with-dark-background .media-message-error,\n:host-context(.-theme-with-dark-background) .media-message-error{--override-media-message-error-background:rgb(79 0 0)}.media-messages-message-filtered{display:none}.media-messages-message-unselected{display:none}.status-error-box{font-family:monospace;border:1px solid var(--color-details-hairline);padding:4px}.status-error-field-label{padding-right:10px;color:var(--color-text-secondary)}.status-error-field-labeled{display:flex}\n/*# sourceURL=playerMessagesView.css */\n");const R={default:"Default",custom:"Custom",all:"All",error:"Error",warning:"Warning",info:"Info",debug:"Debug",logLevel:"Log level:",filterLogMessages:"Filter log messages",errorGroupLabel:"Error Group:",errorCodeLabel:"Error Code:",errorDataLabel:"Data:",errorStackLabel:"Stacktrace:",errorCauseLabel:"Caused by:"},B=e.i18n.registerUIStrings("panels/media/PlayerMessagesView.ts",R),U=e.i18n.getLocalizedString.bind(void 0,B);class z{items;view;itemMap;hiddenLevels;bitFieldValue;savedBitFieldValue;defaultTitleInternal;customTitle;allTitle;elementsForItems;constructor(e,t){this.items=e,this.view=t,this.itemMap=new Map,this.hiddenLevels=[],this.bitFieldValue=7,this.savedBitFieldValue=7,this.defaultTitleInternal=U(R.default),this.customTitle=U(R.custom),this.allTitle=U(R.all),this.elementsForItems=new WeakMap}defaultTitle(){return this.defaultTitleInternal}setDefault(e){e.selectItem(this.items.at(0))}populate(){this.items.insert(this.items.length,{title:this.defaultTitleInternal,overwrite:!0,stringValue:"",value:7,selectable:void 0}),this.items.insert(this.items.length,{title:this.allTitle,overwrite:!0,stringValue:"",value:15,selectable:void 0}),this.items.insert(this.items.length,{title:U(R.error),overwrite:!1,stringValue:"error",value:1,selectable:void 0}),this.items.insert(this.items.length,{title:U(R.warning),overwrite:!1,stringValue:"warning",value:2,selectable:void 0}),this.items.insert(this.items.length,{title:U(R.info),overwrite:!1,stringValue:"info",value:4,selectable:void 0}),this.items.insert(this.items.length,{title:U(R.debug),overwrite:!1,stringValue:"debug",value:8,selectable:void 0})}updateCheckMarks(){this.hiddenLevels=[];for(const[e,t]of this.itemMap)if(!t.overwrite){const s=this.elementsForItems.get(t);s&&s.firstChild&&s.firstChild.remove(),s&&e&this.bitFieldValue?i.UIUtils.createTextChild(s.createChild("div"),"✓"):this.hiddenLevels.push(t.stringValue)}}titleFor(e){if(e.overwrite?this.bitFieldValue=e.value:this.bitFieldValue^=e.value,7===this.bitFieldValue)return this.defaultTitleInternal;if(15===this.bitFieldValue)return this.allTitle;const t=this.itemMap.get(this.bitFieldValue);return t?t.title:this.customTitle}createElementForItem(e){const t=document.createElement("div"),s=i.Utils.createShadowRootWithCoreStyles(t,{cssFile:[_],delegatesFocus:void 0}).createChild("div","media-messages-level-dropdown-element"),a=s.createChild("div","media-messages-level-dropdown-checkbox"),r=s.createChild("span","media-messages-level-dropdown-text");return i.UIUtils.createTextChild(r,e.title),this.elementsForItems.set(e,a),this.itemMap.set(e.value,e),this.updateCheckMarks(),this.view.regenerateMessageDisplayCss(this.hiddenLevels),t}isItemSelectable(e){return!0}itemSelected(e){this.updateCheckMarks(),this.view.regenerateMessageDisplayCss(this.hiddenLevels)}highlightedItemChanged(e,t,s,i){}}class O extends i.Widget.VBox{headerPanel;bodyPanel;messageLevelSelector;constructor(){super(),this.headerPanel=this.contentElement.createChild("div","media-messages-header"),this.bodyPanel=this.contentElement.createChild("div","media-messages-body"),this.buildToolbar()}buildToolbar(){const e=new i.Toolbar.Toolbar("media-messages-toolbar",this.headerPanel);e.appendText(U(R.logLevel)),e.appendToolbarItem(this.createDropdown()),e.appendSeparator(),e.appendToolbarItem(this.createFilterInput())}createDropdown(){const e=new i.ListModel.ListModel;this.messageLevelSelector=new z(e,this);const t=new i.SoftDropDown.SoftDropDown(e,this.messageLevelSelector);t.setRowHeight(18),this.messageLevelSelector.populate(),this.messageLevelSelector.setDefault(t);const s=new i.Toolbar.ToolbarItem(t.element);return s.element.classList.add("toolbar-has-dropdown"),s.setEnabled(!0),s.setTitle(this.messageLevelSelector.defaultTitle()),i.ARIAUtils.setLabel(s.element,`${U(R.logLevel)} ${this.messageLevelSelector.defaultTitle()}`),s}createFilterInput(){const e=new i.Toolbar.ToolbarInput(U(R.filterLogMessages));return e.addEventListener(i.Toolbar.ToolbarInput.Event.TextChanged,(e=>{this.filterByString(e)}),this),e}regenerateMessageDisplayCss(e){const t=this.bodyPanel.getElementsByClassName("media-messages-message-container");for(const s of t)this.matchesHiddenLevels(s,e)?s.classList.add("media-messages-message-unselected"):s.classList.remove("media-messages-message-unselected")}matchesHiddenLevels(e,t){for(const s of t)if(e.classList.contains("media-message-"+s))return!0;return!1}filterByString(e){const t=e.data,s=this.bodyPanel.getElementsByClassName("media-messages-message-container");for(const e of s)""===t||e.textContent&&e.textContent.includes(t)?e.classList.remove("media-messages-message-filtered"):e.classList.add("media-messages-message-filtered")}addMessage(e){const t=this.bodyPanel.createChild("div","media-messages-message-container media-message-"+e.level);i.UIUtils.createTextChild(t,e.message)}errorToDiv(e){const t=i.Fragment.Fragment.build`
2
+ <div class="status-error-box">
3
+ <div class="status-error-field-labeled">
4
+ <span class="status-error-field-label" $="status-error-group"></span>
5
+ <span>${e.errorType}</span>
6
+ </div>
7
+ <div class="status-error-field-labeled">
8
+ <span class="status-error-field-label" $="status-error-code"></span>
9
+ <span>${e.code}</span>
10
+ </div>
11
+ <div class="status-error-field-labeled" $="status-error-data">
12
+ </div>
13
+ <div class="status-error-field-labeled" $="status-error-stack">
14
+ </div>
15
+ <div class="status-error-field-labeled" $="status-error-cause">
16
+ </div>
17
+ `;if(t.$("status-error-group").textContent=U(R.errorGroupLabel),t.$("status-error-code").textContent=U(R.errorCodeLabel),0!==Object.keys(e.data).length){const s=t.$("status-error-data").createChild("span","status-error-field-label");i.UIUtils.createTextChild(s,U(R.errorDataLabel));const a=t.$("status-error-data").createChild("div");for(const[t,s]of Object.entries(e.data)){const e=a.createChild("div");i.UIUtils.createTextChild(e,`${t}: ${s}`)}}if(0!==e.stack.length){const s=t.$("status-error-stack").createChild("span","status-error-field-label");i.UIUtils.createTextChild(s,U(R.errorStackLabel));const a=t.$("status-error-stack").createChild("div");for(const t of e.stack){const e=a.createChild("div");i.UIUtils.createTextChild(e,`${t.file}:${t.line}`)}}if(0!==e.cause.length){const s=t.$("status-error-cause").createChild("span","status-error-field-label");i.UIUtils.createTextChild(s,U(R.errorCauseLabel)),t.$("status-error-cause").appendChild(this.errorToDiv(e.cause[0]))}return t.element()}addError(e){this.bodyPanel.createChild("div","media-messages-message-container media-message-error").appendChild(this.errorToDiv(e))}wasShown(){super.wasShown(),this.registerCSSFiles([_])}}const A=new CSSStyleSheet;A.replaceSync(".media-attributes-view{border-bottom:1px solid var(--color-details-hairline)}.media-property-renderer{line-height:20px;min-height:28px;padding:4px 10px;display:block;overflow:hidden}.media-property-renderer-hidden{display:none}.media-property-renderer-title{font-size:12px;float:left;width:150px}.media-property-renderer-title::first-letter{text-transform:uppercase}.media-property-renderer-contents{position:relative;left:200px}.media-property-renderer-contents > .json-view{overflow:hidden;padding:0}.media-property-renderer:nth-child(even){background:var(--color-background-elevation-0)}.media-property-renderer:hover{background:var(--color-background-hover-overlay)}.media-property-renderer:has(.json-view){padding-bottom:0}.-theme-with-dark-background .media-property-renderer:nth-child(even){background:rgb(41 41 41)}.media-property-renderer:has(.json-view > .expanded){padding-bottom:4px}.media-properties-frame{display:block;overflow-x:hidden}\n/*# sourceURL=playerPropertiesView.css */\n");const H={video:"Video",audio:"Audio",track:"Track",decoder:"Decoder",properties:"Properties",textTrack:"Text track",noTextTracks:"No text tracks",resolution:"Resolution",fileSize:"File size",bitrate:"Bitrate",duration:"Duration",startTime:"Start time",streaming:"Streaming",playbackFrameUrl:"Playback frame URL",playbackFrameTitle:"Playback frame title",singleoriginPlayback:"Single-origin playback",rangeHeaderSupport:"`Range` header support",frameRate:"Frame rate",videoPlaybackRoughness:"Video playback roughness",videoFreezingScore:"Video freezing score",rendererName:"Renderer name",decoderName:"Decoder name",noDecoder:"No decoder",hardwareDecoder:"Hardware decoder",decryptingDemuxer:"Decrypting demuxer",encoderName:"Encoder name",noEncoder:"No encoder",hardwareEncoder:"Hardware encoder"},G=e.i18n.registerUIStrings("panels/media/PlayerPropertiesView.ts",H),j=e.i18n.getLocalizedString.bind(void 0,G),W=e.i18n.getLazilyComputedLocalizedString.bind(void 0,G);class J extends i.Widget.VBox{title;contents;value;pseudoColorProtectionElement;constructor(e){super(),this.contentElement.classList.add("media-property-renderer");const t=this.contentElement.createChild("span","media-property-renderer-title");this.contents=this.contentElement.createChild("div","media-property-renderer-contents"),i.UIUtils.createTextChild(t,e),this.title=e,this.value=null,this.pseudoColorProtectionElement=null,this.contentElement.classList.add("media-property-renderer-hidden")}updateData(e,t){if(""===t||null===t)return this.updateDataInternal(e,null);try{t=JSON.parse(t)}catch(e){}return this.updateDataInternal(e,t)}updateDataInternal(e,t){if(null===t)this.changeContents(null);else{if(this.value===t)return;this.value=t,this.changeContents(t)}}unsetNestedContents(){this.contentElement.classList.add("media-property-renderer-hidden"),null===this.pseudoColorProtectionElement&&(this.pseudoColorProtectionElement=document.createElement("div"),this.pseudoColorProtectionElement.classList.add("media-property-renderer"),this.pseudoColorProtectionElement.classList.add("media-property-renderer-hidden"),this.contentElement.parentNode.insertBefore(this.pseudoColorProtectionElement,this.contentElement))}changeNestedContents(e){if(null===e||0===Object.keys(e).length)this.unsetNestedContents();else{null!==this.pseudoColorProtectionElement&&(this.pseudoColorProtectionElement.remove(),this.pseudoColorProtectionElement=null),this.contentElement.classList.remove("media-property-renderer-hidden"),this.contents.removeChildren();new s.JSONView.JSONView(new s.JSONView.ParsedJSON(e,"",""),!0).show(this.contents)}}changeContents(e){if(null===e)this.unsetNestedContents();else{null!==this.pseudoColorProtectionElement&&(this.pseudoColorProtectionElement.remove(),this.pseudoColorProtectionElement=null),this.contentElement.classList.remove("media-property-renderer-hidden"),this.contents.removeChildren();const t=document.createElement("span");t.textContent=e,this.contents.appendChild(t)}}}class K extends J{formatfunction;constructor(e,t){super(e),this.formatfunction=t}updateDataInternal(e,t){null===t?this.changeContents(null):this.changeContents(this.formatfunction(t))}}class X extends J{constructor(e,t){super(e),this.changeContents(t)}}class Y extends J{constructor(e,t){super(e),this.changeNestedContents(t)}}class q extends i.Widget.VBox{contentHash;constructor(e){super(),this.contentHash=0,this.contentElement.classList.add("media-attributes-view");for(const t of e){t.show(this.contentElement);const e=this.contentElement.textContent;null!==e&&(this.contentHash+=d.StringUtilities.hashCode(e))}}getContentHash(){return this.contentHash}}class Q{type;view;constructor(e,t){this.type=t,this.view=e}updateData(e,t){const s=this.view.getTabs(this.type),i=JSON.parse(t);let a=1;for(const e of i)this.addNewTab(s,e,a),a++}addNewTab(t,s,i){const a=[];for(const[t,i]of Object.entries(s))"object"==typeof i?a.push(new Y(e.i18n.lockedString(t),i)):a.push(new X(e.i18n.lockedString(t),i));const r=new q(a);t.addNewTab(i,r)}}class Z extends Q{constructor(e){super(e,"video")}}class ee extends Q{constructor(e){super(e,"text")}}class te extends Q{constructor(e){super(e,"audio")}}const se={Video:W(H.video),Audio:W(H.audio)};class ie extends i.TabbedPane.TabbedPane{decoderName;trackName;constructor(e,t=j(H.track)){super(),this.decoderName=e,this.trackName=t}addNewTab(e,t){const s=j(H.track),i=`Track${e}`;if(this.hasTab(i)){const e=this.tabView(i);if(null===e)return;if(e.getContentHash()===t.getContentHash())return;this.closeTab(i,!1)}this.appendTab(i,`${this.trackName} #${e}`,t,`${this.decoderName} ${s} #${e}`)}}class ae extends ie{constructor(e,t){super(e);const s=`${e} ${j(H.decoder)}`,i=`${s} ${j(H.properties)}`;this.appendTab("DecoderProperties",s,t,i)}}class re extends i.Widget.VBox{isPlaceholder;wrapping;constructor(e,t){super(),this.isPlaceholder=!0,this.wrapping=e,this.wrapping.appendTab("_placeholder",t,new i.Widget.VBox,t),this.wrapping.show(this.contentElement)}addNewTab(e,t){this.isPlaceholder&&(this.wrapping.closeTab("_placeholder"),this.isPlaceholder=!1),this.wrapping.addNewTab(e,t)}}class ne extends i.Widget.VBox{mediaElements;videoDecoderElements;audioDecoderElements;textTrackElements;attributeMap;videoProperties;videoDecoderProperties;audioDecoderProperties;videoDecoderTabs;audioDecoderTabs;textTracksTabs;constructor(){super(),this.contentElement.classList.add("media-properties-frame"),this.mediaElements=[],this.videoDecoderElements=[],this.audioDecoderElements=[],this.textTrackElements=[],this.attributeMap=new Map,this.populateAttributesAndElements(),this.videoProperties=new q(this.mediaElements),this.videoDecoderProperties=new q(this.videoDecoderElements),this.audioDecoderProperties=new q(this.audioDecoderElements),this.videoProperties.show(this.contentElement),this.videoDecoderTabs=new ae(se.Video(),this.videoDecoderProperties),this.videoDecoderTabs.show(this.contentElement),this.audioDecoderTabs=new ae(se.Audio(),this.audioDecoderProperties),this.audioDecoderTabs.show(this.contentElement),this.textTracksTabs=null}lazyCreateTrackTabs(){let e=this.textTracksTabs;if(null===e){const t=new ie(j(H.textTrack));e=new re(t,j(H.noTextTracks)),e.show(this.contentElement),this.textTracksTabs=e}return e}getTabs(e){if("audio"===e)return this.audioDecoderTabs;if("video"===e)return this.videoDecoderTabs;if("text"===e)return this.lazyCreateTrackTabs();throw new Error("Unreachable")}onProperty(e){const t=this.attributeMap.get(e.name);if(!t)throw new Error(`Player property "${e.name}" not supported.`);t.updateData(e.name,e.value)}formatKbps(e){if(""===e)return"0 kbps";return`${Math.floor(Number(e)/1e3)} kbps`}formatTime(e){if(""===e)return"0:00";const t=new Date;return t.setSeconds(Number(e)),t.toISOString().substr(11,8)}formatFileSize(e){if(""===e)return"0 bytes";const t=Number(e);if(t<1e3)return`${e} bytes`;const s=Math.floor(Math.log10(t)/3),i=["bytes","kB","MB","GB","TB"][s];return`${(t/Math.pow(1e3,s)).toFixed(2)} ${i}`}populateAttributesAndElements(){const e=new J(j(H.resolution));this.mediaElements.push(e),this.attributeMap.set("kResolution",e);const t=new K(j(H.fileSize),this.formatFileSize);this.mediaElements.push(t),this.attributeMap.set("kTotalBytes",t);const s=new K(j(H.bitrate),this.formatKbps);this.mediaElements.push(s),this.attributeMap.set("kBitrate",s);const i=new K(j(H.duration),this.formatTime);this.mediaElements.push(i),this.attributeMap.set("kMaxDuration",i);const a=new J(j(H.startTime));this.mediaElements.push(a),this.attributeMap.set("kStartTime",a);const r=new J(j(H.streaming));this.mediaElements.push(r),this.attributeMap.set("kIsStreaming",r);const n=new J(j(H.playbackFrameUrl));this.mediaElements.push(n),this.attributeMap.set("kFrameUrl",n);const o=new J(j(H.playbackFrameTitle));this.mediaElements.push(o),this.attributeMap.set("kFrameTitle",o);const l=new J(j(H.singleoriginPlayback));this.mediaElements.push(l),this.attributeMap.set("kIsSingleOrigin",l);const d=new J(j(H.rangeHeaderSupport));this.mediaElements.push(d),this.attributeMap.set("kIsRangeHeaderSupported",d);const h=new J(j(H.frameRate));this.mediaElements.push(h),this.attributeMap.set("kFramerate",h);const c=new J(j(H.videoPlaybackRoughness));this.mediaElements.push(c),this.attributeMap.set("kVideoPlaybackRoughness",c);const m=new J(j(H.videoFreezingScore));this.mediaElements.push(m),this.attributeMap.set("kVideoPlaybackFreezing",m);const p=new J(j(H.rendererName));this.mediaElements.push(p),this.attributeMap.set("kRendererName",p);const u=new X(j(H.decoderName),j(H.noDecoder));this.videoDecoderElements.push(u),this.attributeMap.set("kVideoDecoderName",u);const g=new J(j(H.hardwareDecoder));this.videoDecoderElements.push(g),this.attributeMap.set("kIsPlatformVideoDecoder",g);const v=new X(j(H.encoderName),j(H.noEncoder));this.videoDecoderElements.push(v),this.attributeMap.set("kVideoEncoderName",v);const y=new J(j(H.hardwareEncoder));this.videoDecoderElements.push(y),this.attributeMap.set("kIsPlatformVideoEncoder",y);const b=new J(j(H.decryptingDemuxer));this.videoDecoderElements.push(b),this.attributeMap.set("kIsVideoDecryptingDemuxerStream",b);const w=new Z(this);this.attributeMap.set("kVideoTracks",w);const f=new X(j(H.decoderName),j(H.noDecoder));this.audioDecoderElements.push(f),this.attributeMap.set("kAudioDecoderName",f);const E=new J(j(H.hardwareDecoder));this.audioDecoderElements.push(E),this.attributeMap.set("kIsPlatformAudioDecoder",E);const T=new J(j(H.decryptingDemuxer));this.audioDecoderElements.push(T),this.attributeMap.set("kIsAudioDecryptingDemuxerStream",T);const x=new te(this);this.attributeMap.set("kAudioTracks",x);const P=new ee(this);this.attributeMap.set("kTextTracks",P)}wasShown(){super.wasShown(),this.registerCSSFiles([A])}}var oe=Object.freeze({__proto__:null,PropertyRenderer:J,FormattedPropertyRenderer:K,DefaultPropertyRenderer:X,NestedPropertyRenderer:Y,DimensionPropertyRenderer:class extends J{width;height;constructor(e){super(e),this.width=0,this.height=0}updateDataInternal(e,t){let s=!1;"width"===e&&Number(t)!==this.width&&(this.width=Number(t),s=!0),"height"===e&&Number(t)!==this.height&&(this.height=Number(t),s=!0),0===this.width||0===this.height?this.changeContents(null):s&&this.changeContents(`${this.width}×${this.height}`)}},AttributesView:q,TrackManager:Q,VideoTrackManager:Z,TextTrackManager:ee,AudioTrackManager:te,PlayerPropertiesView:ne});const le={properties:"Properties",playerProperties:"Player properties",events:"Events",playerEvents:"Player events",messages:"Messages",playerMessages:"Player messages",timeline:"Timeline",playerTimeline:"Player timeline"},de=e.i18n.registerUIStrings("panels/media/PlayerDetailView.ts",le),he=e.i18n.getLocalizedString.bind(void 0,de);class ce extends i.TabbedPane.TabbedPane{eventView;propertyView;messageView;timelineView;constructor(){super(),this.eventView=new g,this.propertyView=new ne,this.messageView=new O,this.timelineView=new $,this.appendTab("properties",he(le.properties),this.propertyView,he(le.playerProperties)),this.appendTab("events",he(le.events),this.eventView,he(le.playerEvents)),this.appendTab("messages",he(le.messages),this.messageView,he(le.playerMessages)),this.appendTab("timeline",he(le.timeline),this.timelineView,he(le.playerTimeline))}onProperty(e){this.propertyView.onProperty(e)}onError(e){this.messageView.addError(e)}onMessage(e){this.messageView.addMessage(e)}onEvent(e){this.eventView.onEvent(e),this.timelineView.onEvent(e)}}var me=Object.freeze({__proto__:null,PlayerDetailView:ce});const pe=new CSSStyleSheet;pe.replaceSync(".tree-outline{padding-left:0;color:var(--color-text-secondary)}li.storage-group-list-item{padding:10px 8px 6px}li.storage-group-list-item:not(:first-child){border-top:1px solid var(--color-details-hairline)}li.storage-group-list-item::before{display:none}.player-entry-row{height:26px;min-height:26px;line-height:26px}.player-entry-status-icon{width:28px;min-width:28px;height:26px;border-right:1px solid var(--color-details-hairline);overflow:hidden}.player-entry-status-icon-centering{margin:auto;display:inherit}.player-entry-frame-title{height:26px;width:125px;min-width:125px;text-overflow:elipsis;padding:0 10px;border-right:1px solid var(--color-details-hairline);overflow:hidden}.player-entry-player-title{height:26px;padding-left:10px;overflow:hidden}.player-entry-row:nth-child(odd){background:var(--color-background-elevation-0)}.player-entry-row:hover{background:var(--color-background-hover-overlay)}.player-entry-row.selected{background:var(--color-primary-variant);color:var(--legacy-selection-fg-color)}.player-entry-row.selected .player-entry-status-icon-centering{filter:invert(100)}.player-entry-header{height:27px;line-height:27px;min-height:27px;padding-left:10px;border-bottom:1px solid var(--color-details-hairline)}\n/*# sourceURL=playerListView.css */\n");const ue={hidePlayer:"Hide player",hideAllOthers:"Hide all others",savePlayerInfo:"Save player info",players:"Players"},ge=e.i18n.registerUIStrings("panels/media/PlayerListView.ts",ue),ve=e.i18n.getLocalizedString.bind(void 0,ge);class ye extends i.Widget.VBox{playerEntryFragments;playerEntriesWithHostnameFrameTitle;mainContainer;currentlySelectedEntry;constructor(e){super(!0),this.playerEntryFragments=new Map,this.playerEntriesWithHostnameFrameTitle=new Set,this.mainContainer=e,this.currentlySelectedEntry=null,this.contentElement.createChild("div","player-entry-header").textContent=ve(ue.players)}createPlayerListEntry(e){const t=i.Fragment.Fragment.build`
18
+ <div class="player-entry-row hbox">
19
+ <div class="player-entry-status-icon vbox">
20
+ <div $="icon" class="player-entry-status-icon-centering"></div>
21
+ </div>
22
+ <div $="frame-title" class="player-entry-frame-title">FrameTitle</div>
23
+ <div $="player-title" class="player-entry-player-title">PlayerTitle</div>
24
+ </div>
25
+ `,s=t.element();return s.addEventListener("click",this.selectPlayer.bind(this,e,s)),s.addEventListener("contextmenu",this.rightClickPlayer.bind(this,e)),t.$("icon").appendChild(i.Icon.Icon.create("pause","media-player")),t}selectPlayer(e,t){this.mainContainer.renderMainPanel(e),null!==this.currentlySelectedEntry&&(this.currentlySelectedEntry.classList.remove("selected"),this.currentlySelectedEntry.classList.remove("force-white-icons")),t.classList.add("selected"),t.classList.add("force-white-icons"),this.currentlySelectedEntry=t}rightClickPlayer(e,t){const s=new i.ContextMenu.ContextMenu(t);return s.headerSection().appendItem(ve(ue.hidePlayer),this.mainContainer.markPlayerForDeletion.bind(this.mainContainer,e)),s.headerSection().appendItem(ve(ue.hideAllOthers),this.mainContainer.markOtherPlayersForDeletion.bind(this.mainContainer,e)),s.headerSection().appendItem(ve(ue.savePlayerInfo),this.mainContainer.exportPlayerData.bind(this.mainContainer,e)),s.show(),!0}setMediaElementFrameTitle(e,t,s){if(this.playerEntriesWithHostnameFrameTitle.has(e))s||this.playerEntriesWithHostnameFrameTitle.delete(e);else if(s)return;if(!this.playerEntryFragments.has(e))return;const i=this.playerEntryFragments.get(e);void 0!==i&&void 0!==i.element()&&(i.$("frame-title").textContent=t)}setMediaElementPlayerTitle(e,t){if(!this.playerEntryFragments.has(e))return;const s=this.playerEntryFragments.get(e);void 0!==s&&(s.$("player-title").textContent=t)}setMediaElementPlayerIcon(e,t){if(!this.playerEntryFragments.has(e))return;const s=this.playerEntryFragments.get(e);if(void 0===s)return;const a=s.$("icon");void 0!==a&&(a.textContent="",a.appendChild(i.Icon.Icon.create(t,"media-player")))}formatAndEvaluate(e,t,s,i,a){s.length<=i||(s.length>=a&&(s=s.substring(0,a-3)+"..."),t.bind(this)(e,s))}addMediaElementItem(e){const t=this.createPlayerListEntry(e);this.contentElement.appendChild(t.element()),this.playerEntryFragments.set(e,t),this.playerEntriesWithHostnameFrameTitle.add(e)}deletePlayer(e){if(!this.playerEntryFragments.has(e))return;const t=this.playerEntryFragments.get(e);void 0!==t&&void 0!==t.element()&&(this.contentElement.removeChild(t.element()),this.playerEntryFragments.delete(e))}onEvent(e,t){const s=JSON.parse(t.value),i=s.event;if("kLoad"!==i)"kPlay"!==i?"kPause"!==i&&"kEnded"!==i?"kWebMediaPlayerDestroyed"!==i||this.setMediaElementPlayerIcon(e,"cross"):this.setMediaElementPlayerIcon(e,"pause"):this.setMediaElementPlayerIcon(e,"play");else{const t=s.url,i=t.substring(t.lastIndexOf("/")+1);this.formatAndEvaluate(e,this.setMediaElementPlayerTitle,i,1,20)}}onProperty(e,t){if("kFrameUrl"!==t.name)"kFrameTitle"===t.name&&t.value&&this.formatAndEvaluate(e,this.setMediaElementFrameTitle,t.value,1,20);else{const s=new URL(t.value).hostname;this.formatAndEvaluate(e,this.setMediaElementFrameTitle,s,1,20)}}onError(e,t){}onMessage(e,t){}wasShown(){super.wasShown(),this.registerCSSFiles([pe])}}var be=Object.freeze({__proto__:null,PlayerListView:ye});class we{properties;messages;events;errors;constructor(){this.properties=new Map,this.messages=[],this.events=[],this.errors=[]}onProperty(e){this.properties.set(e.name,e.value)}onError(e){this.errors.push(e)}onMessage(e){this.messages.push(e)}onEvent(e){this.events.push(e)}export(){return{properties:this.properties,messages:this.messages,events:this.events,errors:this.errors}}}class fe{playerDataCollection;constructor(){this.playerDataCollection=new Map}addPlayer(e){this.playerDataCollection.set(e,new we)}onProperty(e,t){const s=this.playerDataCollection.get(e);s&&s.onProperty(t)}onError(e,t){const s=this.playerDataCollection.get(e);s&&s.onError(t)}onMessage(e,t){const s=this.playerDataCollection.get(e);s&&s.onMessage(t)}onEvent(e,t){const s=this.playerDataCollection.get(e);s&&s.onEvent(t)}exportPlayerData(e){const t=this.playerDataCollection.get(e);if(!t)throw new Error("Unable to find player");return t.export()}deletePlayer(e){this.playerDataCollection.delete(e)}}let Ee;class Te extends i.Panel.PanelWithSidebar{detailPanels;deletedPlayers;downloadStore;sidebar;constructor(e){super("Media"),this.detailPanels=new Map,this.deletedPlayers=new Set,this.downloadStore=e,this.sidebar=new ye(this),this.sidebar.show(this.panelSidebarElement()),a.TargetManager.TargetManager.instance().observeModels(y,this,{scoped:!0})}static instance(e){return Ee&&!e?.forceNew||(Ee=new Te(e?.downloadStore||new fe)),Ee}renderMainPanel(e){if(!this.detailPanels.has(e))return;const t=this.splitWidget().mainWidget();t&&t.detachChildWidgets(),this.detailPanels.get(e)?.show(this.mainElement())}wasShown(){super.wasShown();for(const e of a.TargetManager.TargetManager.instance().models(y,{scoped:!0}))this.addEventListeners(e)}willHide(){for(const e of a.TargetManager.TargetManager.instance().models(y,{scoped:!0}))this.removeEventListeners(e)}modelAdded(e){this.isShowing()&&this.addEventListeners(e)}modelRemoved(e){this.removeEventListeners(e)}addEventListeners(e){e.ensureEnabled(),e.addEventListener("PlayerPropertiesChanged",this.propertiesChanged,this),e.addEventListener("PlayerEventsAdded",this.eventsAdded,this),e.addEventListener("PlayerMessagesLogged",this.messagesLogged,this),e.addEventListener("PlayerErrorsRaised",this.errorsRaised,this),e.addEventListener("PlayersCreated",this.playersCreated,this)}removeEventListeners(e){e.removeEventListener("PlayerPropertiesChanged",this.propertiesChanged,this),e.removeEventListener("PlayerEventsAdded",this.eventsAdded,this),e.removeEventListener("PlayerMessagesLogged",this.messagesLogged,this),e.removeEventListener("PlayerErrorsRaised",this.errorsRaised,this),e.removeEventListener("PlayersCreated",this.playersCreated,this)}onPlayerCreated(e){this.sidebar.addMediaElementItem(e),this.detailPanels.set(e,new ce),this.downloadStore.addPlayer(e)}propertiesChanged(e){for(const t of e.data.properties)this.onProperty(e.data.playerId,t)}eventsAdded(e){for(const t of e.data.events)this.onEvent(e.data.playerId,t)}messagesLogged(e){for(const t of e.data.messages)this.onMessage(e.data.playerId,t)}errorsRaised(e){for(const t of e.data.errors)this.onError(e.data.playerId,t)}shouldPropagate(e){return!this.deletedPlayers.has(e)&&this.detailPanels.has(e)}onProperty(e,t){this.shouldPropagate(e)&&(this.sidebar.onProperty(e,t),this.downloadStore.onProperty(e,t),this.detailPanels.get(e)?.onProperty(t))}onError(e,t){this.shouldPropagate(e)&&(this.sidebar.onError(e,t),this.downloadStore.onError(e,t),this.detailPanels.get(e)?.onError(t))}onMessage(e,t){this.shouldPropagate(e)&&(this.sidebar.onMessage(e,t),this.downloadStore.onMessage(e,t),this.detailPanels.get(e)?.onMessage(t))}onEvent(e,t){this.shouldPropagate(e)&&(this.sidebar.onEvent(e,t),this.downloadStore.onEvent(e,t),this.detailPanels.get(e)?.onEvent(t))}playersCreated(e){for(const t of e.data)this.onPlayerCreated(t)}markPlayerForDeletion(e){this.deletedPlayers.add(e),this.detailPanels.delete(e),this.sidebar.deletePlayer(e),this.downloadStore.deletePlayer(e)}markOtherPlayersForDeletion(e){for(const t of this.detailPanels.keys())t!==e&&this.markPlayerForDeletion(t)}exportPlayerData(e){const t=this.downloadStore.exportPlayerData(e),s="data:application/octet-stream,"+encodeURIComponent(JSON.stringify(t,null,2)),i=document.createElement("a");i.href=s,i.download=e+".json",i.click()}}var xe=Object.freeze({__proto__:null,PlayerDataDownloadManager:fe,MainView:Te});export{xe as MainView,b as MediaModel,me as PlayerDetailView,v as PlayerEventsView,be as PlayerListView,oe as PlayerPropertiesView,L as TickingFlameChart,E as TickingFlameChartHelpers};
@@ -0,0 +1 @@
1
+ import*as t from"./mobile_throttling.js";self.MobileThrottling=self.MobileThrottling||{},MobileThrottling=MobileThrottling||{},MobileThrottling.MobileThrottlingSelector=t.MobileThrottlingSelector.MobileThrottlingSelector,MobileThrottling.NetworkPanelIndicator=t.NetworkPanelIndicator.NetworkPanelIndicator,MobileThrottling.NetworkThrottlingSelector=t.NetworkThrottlingSelector.NetworkThrottlingSelector,MobileThrottling.ThrottlingManager=t.ThrottlingManager.ThrottlingManager,MobileThrottling.ThrottlingManager.ActionDelegate=t.ThrottlingManager.ActionDelegate,MobileThrottling.throttlingManager=t.ThrottlingManager.throttlingManager,MobileThrottling.CPUThrottlingRates=t.ThrottlingPresets.CPUThrottlingRates,MobileThrottling.NoThrottlingConditions=t.ThrottlingPresets.ThrottlingPresets.getNoThrottlingConditions,MobileThrottling.OfflineConditions=t.ThrottlingPresets.ThrottlingPresets.getOfflineConditions,MobileThrottling.LowEndMobileConditions=t.ThrottlingPresets.ThrottlingPresets.getLowEndMobileConditions,MobileThrottling.MidTierMobileConditions=t.ThrottlingPresets.ThrottlingPresets.getMidTierMobileConditions,MobileThrottling.CustomConditions=t.ThrottlingPresets.ThrottlingPresets.getCustomConditions,MobileThrottling.mobilePresets=t.ThrottlingPresets.ThrottlingPresets.getMobilePresets,MobileThrottling.advancedMobilePresets=t.ThrottlingPresets.ThrottlingPresets.getAdvancedMobilePresets,MobileThrottling.networkPresets=t.ThrottlingPresets.ThrottlingPresets.networkPresets,MobileThrottling.cpuThrottlingPresets=t.ThrottlingPresets.ThrottlingPresets.cpuThrottlingPresets,MobileThrottling.ThrottlingSettingsTab=t.ThrottlingSettingsTab.ThrottlingSettingsTab;
@@ -0,0 +1 @@
1
+ import*as t from"../../core/common/common.js";import*as i from"../../core/i18n/i18n.js";import*as n from"../../ui/legacy/legacy.js";const e={throttling:"Throttling",showThrottling:"Show Throttling",goOffline:"Go offline",device:"device",throttlingTag:"throttling",enableSlowGThrottling:"Enable slow `3G` throttling",enableFastGThrottling:"Enable fast `3G` throttling",goOnline:"Go online"},o=i.i18n.registerUIStrings("panels/mobile_throttling/mobile_throttling-meta.ts",e),a=i.i18n.getLazilyComputedLocalizedString.bind(void 0,o);let g;async function r(){return g||(g=await import("./mobile_throttling.js")),g}n.ViewManager.registerViewExtension({location:"settings-view",id:"throttling-conditions",title:a(e.throttling),commandPrompt:a(e.showThrottling),order:35,loadView:async()=>(await r()).ThrottlingSettingsTab.ThrottlingSettingsTab.instance(),settings:["customNetworkConditions"]}),n.ActionRegistration.registerActionExtension({actionId:"network-conditions.network-offline",category:n.ActionRegistration.ActionCategory.NETWORK,title:a(e.goOffline),loadActionDelegate:async()=>(await r()).ThrottlingManager.ActionDelegate.instance(),tags:[a(e.device),a(e.throttlingTag)]}),n.ActionRegistration.registerActionExtension({actionId:"network-conditions.network-low-end-mobile",category:n.ActionRegistration.ActionCategory.NETWORK,title:a(e.enableSlowGThrottling),loadActionDelegate:async()=>(await r()).ThrottlingManager.ActionDelegate.instance(),tags:[a(e.device),a(e.throttlingTag)]}),n.ActionRegistration.registerActionExtension({actionId:"network-conditions.network-mid-tier-mobile",category:n.ActionRegistration.ActionCategory.NETWORK,title:a(e.enableFastGThrottling),loadActionDelegate:async()=>(await r()).ThrottlingManager.ActionDelegate.instance(),tags:[a(e.device),a(e.throttlingTag)]}),n.ActionRegistration.registerActionExtension({actionId:"network-conditions.network-online",category:n.ActionRegistration.ActionCategory.NETWORK,title:a(e.goOnline),loadActionDelegate:async()=>(await r()).ThrottlingManager.ActionDelegate.instance(),tags:[a(e.device),a(e.throttlingTag)]}),t.Settings.registerSettingExtension({storageType:t.Settings.SettingStorageType.Synced,settingName:"customNetworkConditions",settingType:t.Settings.SettingType.ARRAY,defaultValue:[]});
@@ -0,0 +1 @@
1
+ import*as t from"../../core/i18n/i18n.js";import*as e from"../../core/sdk/sdk.js";import*as n from"../../core/common/common.js";import*as i from"../../core/host/host.js";import*as o from"../../ui/components/icon_button/icon_button.js";import*as r from"../../ui/legacy/legacy.js";const s={noThrottling:"No throttling",noInternetConnectivity:"No internet connectivity",lowendMobile:"Low-end mobile",slowGXCpuSlowdown:"Slow 3G & 6x CPU slowdown",midtierMobile:"Mid-tier mobile",fastGXCpuSlowdown:"Fast 3G & 4x CPU slowdown",custom:"Custom",checkNetworkAndPerformancePanels:"Check Network and Performance panels"},a=t.i18n.registerUIStrings("panels/mobile_throttling/ThrottlingPresets.ts",s),l=t.i18n.getLocalizedString.bind(void 0,a);class d{static getNoThrottlingConditions(){return{title:"function"==typeof e.NetworkManager.NoThrottlingConditions.title?e.NetworkManager.NoThrottlingConditions.title():e.NetworkManager.NoThrottlingConditions.title,description:l(s.noThrottling),network:e.NetworkManager.NoThrottlingConditions,cpuThrottlingRate:e.CPUThrottlingManager.CPUThrottlingRates.NoThrottling}}static getOfflineConditions(){return{title:"function"==typeof e.NetworkManager.OfflineConditions.title?e.NetworkManager.OfflineConditions.title():e.NetworkManager.OfflineConditions.title,description:l(s.noInternetConnectivity),network:e.NetworkManager.OfflineConditions,cpuThrottlingRate:e.CPUThrottlingManager.CPUThrottlingRates.NoThrottling}}static getLowEndMobileConditions(){return{title:l(s.lowendMobile),description:l(s.slowGXCpuSlowdown),network:e.NetworkManager.Slow3GConditions,cpuThrottlingRate:e.CPUThrottlingManager.CPUThrottlingRates.LowEndMobile}}static getMidTierMobileConditions(){return{title:l(s.midtierMobile),description:l(s.fastGXCpuSlowdown),network:e.NetworkManager.Fast3GConditions,cpuThrottlingRate:e.CPUThrottlingManager.CPUThrottlingRates.MidTierMobile}}static getCustomConditions(){return{title:l(s.custom),description:l(s.checkNetworkAndPerformancePanels)}}static getMobilePresets(){return[d.getMidTierMobileConditions(),d.getLowEndMobileConditions(),d.getCustomConditions()]}static getAdvancedMobilePresets(){return[d.getOfflineConditions()]}static networkPresets=[e.NetworkManager.Fast3GConditions,e.NetworkManager.Slow3GConditions,e.NetworkManager.OfflineConditions];static cpuThrottlingPresets=[e.CPUThrottlingManager.CPUThrottlingRates.NoThrottling,e.CPUThrottlingManager.CPUThrottlingRates.MidTierMobile,e.CPUThrottlingManager.CPUThrottlingRates.LowEndMobile]}globalThis.MobileThrottling=globalThis.MobileThrottling||{},globalThis.MobileThrottling.networkPresets=d.networkPresets;var c=Object.freeze({__proto__:null,ThrottlingPresets:d});const g={disabled:"Disabled",presets:"Presets",custom:"Custom"},h=t.i18n.registerUIStrings("panels/mobile_throttling/NetworkThrottlingSelector.ts",g),u=t.i18n.getLocalizedString.bind(void 0,h);class w{populateCallback;selectCallback;customNetworkConditionsSetting;options;constructor(t,n,i){this.populateCallback=t,this.selectCallback=n,this.customNetworkConditionsSetting=i,this.customNetworkConditionsSetting.addChangeListener(this.populateOptions,this),e.NetworkManager.MultitargetNetworkManager.instance().addEventListener(e.NetworkManager.MultitargetNetworkManager.Events.ConditionsChanged,(()=>{this.networkConditionsChanged()}),this),this.populateOptions()}revealAndUpdate(){n.Revealer.reveal(this.customNetworkConditionsSetting),this.networkConditionsChanged()}optionSelected(t){e.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(t)}populateOptions(){const t={title:u(g.disabled),items:[e.NetworkManager.NoThrottlingConditions]},n={title:u(g.presets),items:d.networkPresets},i={title:u(g.custom),items:this.customNetworkConditionsSetting.get()};if(this.options=this.populateCallback([t,n,i]),!this.networkConditionsChanged())for(let t=this.options.length-1;t>=0;t--)if(this.options[t]){this.optionSelected(this.options[t]);break}}networkConditionsChanged(){const t=e.NetworkManager.MultitargetNetworkManager.instance().networkConditions();for(let n=0;n<this.options.length;++n){const i=this.options[n];if(i&&e.NetworkManager.networkConditionsEqual(t,i))return this.selectCallback(n),!0}return!1}}var p=Object.freeze({__proto__:null,NetworkThrottlingSelector:w});const C={sS:"{PH1}: {PH2}",add:"Add…",addS:"Add {PH1}",offline:"Offline",forceDisconnectedFromNetwork:"Force disconnected from network",throttling:"Throttling",cpuThrottlingIsEnabled:"CPU throttling is enabled",cpuThrottling:"CPU throttling",noThrottling:"No throttling",dSlowdown:"{PH1}× slowdown",excessConcurrency:"Exceeding the default value may degrade system performance.",resetConcurrency:"Reset to the default value",hardwareConcurrency:"Hardware concurrency",hardwareConcurrencyValue:"Value of navigator.hardwareConcurrency",hardwareConcurrencyIsEnabled:"Hardware concurrency override is enabled"},k=t.i18n.registerUIStrings("panels/mobile_throttling/ThrottlingManager.ts",C),M=t.i18n.getLocalizedString.bind(void 0,k);let b,m;class T{cpuThrottlingControls;cpuThrottlingRates;customNetworkConditionsSetting;currentNetworkThrottlingConditionsSetting;lastNetworkThrottlingConditions;cpuThrottlingManager;#t=!1;get hardwareConcurrencyOverrideEnabled(){return this.#t}constructor(){this.cpuThrottlingManager=e.CPUThrottlingManager.CPUThrottlingManager.instance(),this.cpuThrottlingControls=new Set,this.cpuThrottlingRates=d.cpuThrottlingPresets,this.customNetworkConditionsSetting=n.Settings.Settings.instance().moduleSetting("customNetworkConditions"),this.currentNetworkThrottlingConditionsSetting=n.Settings.Settings.instance().createSetting("preferredNetworkCondition",e.NetworkManager.NoThrottlingConditions),this.currentNetworkThrottlingConditionsSetting.setSerializer(new e.NetworkManager.ConditionsSerializer),e.NetworkManager.MultitargetNetworkManager.instance().addEventListener(e.NetworkManager.MultitargetNetworkManager.Events.ConditionsChanged,(()=>{this.lastNetworkThrottlingConditions=this.currentNetworkThrottlingConditionsSetting.get(),this.currentNetworkThrottlingConditionsSetting.set(e.NetworkManager.MultitargetNetworkManager.instance().networkConditions())})),this.isDirty()&&e.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(this.currentNetworkThrottlingConditionsSetting.get())}static instance(t={forceNew:null}){const{forceNew:e}=t;return b&&!e||(b=new T),b}decorateSelectWithNetworkThrottling(t){let e=[];const n=new w((function(n){t.removeChildren(),e=[];for(let i=0;i<n.length;++i){const o=n[i],s=t.createChild("optgroup");s.label=o.title;for(const t of o.items){const n="function"==typeof t.title?t.title():t.title,i=new Option(n,n);r.ARIAUtils.setLabel(i,M(C.sS,{PH1:o.title,PH2:n})),s.appendChild(i),e.push(t)}if(i===n.length-1){const t=new Option(M(C.add),M(C.add));r.ARIAUtils.setLabel(t,M(C.addS,{PH1:o.title})),s.appendChild(t),e.push(null)}}return e}),(function(e){t.selectedIndex!==e&&(t.selectedIndex=e)}),this.customNetworkConditionsSetting);return t.addEventListener("change",(function(){if(t.selectedIndex===t.options.length-1)n.revealAndUpdate();else{const i=e[t.selectedIndex];i&&n.optionSelected(i)}}),!1),n}createOfflineToolbarCheckbox(){const t=new r.Toolbar.ToolbarCheckbox(M(C.offline),M(C.forceDisconnectedFromNetwork),function(){if(t.checked())e.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(e.NetworkManager.OfflineConditions);else{const t=this.lastNetworkThrottlingConditions.download||this.lastNetworkThrottlingConditions.upload?this.lastNetworkThrottlingConditions:e.NetworkManager.NoThrottlingConditions;e.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(t)}}.bind(this));return e.NetworkManager.MultitargetNetworkManager.instance().addEventListener(e.NetworkManager.MultitargetNetworkManager.Events.ConditionsChanged,(function(){t.setChecked(e.NetworkManager.MultitargetNetworkManager.instance().isOffline())})),t.setChecked(e.NetworkManager.MultitargetNetworkManager.instance().isOffline()),t}createMobileThrottlingButton(){const t=new r.Toolbar.ToolbarMenuButton((function(t){for(let o=0;o<e.length;++o){const r=e[o];r&&(r.title===d.getCustomConditions().title&&r.description===d.getCustomConditions().description||t.defaultSection().appendCheckboxItem(r.title,i.optionSelected.bind(i,r),n===o))}}));t.setTitle(M(C.throttling)),t.setGlyph(""),t.turnIntoSelect(),t.setDarkText();let e=[],n=-1;const i=new y((function(t){e=[];for(const n of t){for(const t of n.items)e.push(t);e.push(null)}return e}),(function(i){n=i;const o=e[i];o&&(t.setText(o.title),t.setTitle(`${o.title} ${o.description}`))}));return t}updatePanelIcon(){const t=this.cpuThrottlingManager.cpuThrottlingRate();if(t===e.CPUThrottlingManager.CPUThrottlingRates.NoThrottling&&!this.hardwareConcurrencyOverrideEnabled)return void r.InspectorView.InspectorView.instance().setPanelIcon("timeline",null);const n=new o.Icon.Icon;n.data={iconName:"warning-filled",color:"var(--icon-warning)",width:"14px",height:"14px"};const i=[];t!==e.CPUThrottlingManager.CPUThrottlingRates.NoThrottling&&i.push(M(C.cpuThrottlingIsEnabled)),this.hardwareConcurrencyOverrideEnabled&&i.push(M(C.hardwareConcurrencyIsEnabled)),n.title=i.join("\n"),r.InspectorView.InspectorView.instance().setPanelIcon("timeline",n)}setCPUThrottlingRate(t){this.cpuThrottlingManager.setCPUThrottlingRate(t),t!==e.CPUThrottlingManager.CPUThrottlingRates.NoThrottling&&i.userMetrics.actionTaken(i.UserMetrics.Action.CpuThrottlingEnabled);const n=this.cpuThrottlingRates.indexOf(t);for(const t of this.cpuThrottlingControls)t.setSelectedIndex(n);this.updatePanelIcon()}createCPUThrottlingSelector(){const t=new r.Toolbar.ToolbarComboBox((t=>this.setCPUThrottlingRate(this.cpuThrottlingRates[t.target.selectedIndex])),M(C.cpuThrottling));this.cpuThrottlingControls.add(t);const e=this.cpuThrottlingManager.cpuThrottlingRate();for(let n=0;n<this.cpuThrottlingRates.length;++n){const i=this.cpuThrottlingRates[n],o=1===i?M(C.noThrottling):M(C.dSlowdown,{PH1:i}),r=t.createOption(o);t.addOption(r),e===i&&t.setSelectedIndex(n)}return t}createHardwareConcurrencySelector(){const t=new r.Toolbar.ToolbarItem(r.UIUtils.createInput("devtools-text-input","number"));t.setTitle(M(C.hardwareConcurrencyValue));const e=t.element;e.min="1",t.setEnabled(!1);const n=new r.Toolbar.ToolbarCheckbox(M(C.hardwareConcurrency)),i=new r.Toolbar.ToolbarButton("Reset concurrency","undo");i.setTitle(M(C.resetConcurrency));const s=new o.Icon.Icon;s.data={iconName:"warning-filled",color:"var(--icon-warning)",width:"14px",height:"14px"};const a=new r.Toolbar.ToolbarItem(s);return a.setTitle(M(C.excessConcurrency)),n.inputElement.disabled=!0,i.element.classList.add("timeline-concurrency-hidden"),a.element.classList.add("timeline-concurrency-hidden"),this.cpuThrottlingManager.getHardwareConcurrency().then((o=>{if(void 0===o)return;const s=t=>{t>=1&&this.cpuThrottlingManager.setHardwareConcurrency(t),t>o?a.element.classList.remove("timeline-concurrency-hidden"):a.element.classList.add("timeline-concurrency-hidden"),t===o?i.element.classList.add("timeline-concurrency-hidden"):i.element.classList.remove("timeline-concurrency-hidden")};e.value=`${o}`,e.oninput=()=>s(Number(e.value)),n.inputElement.disabled=!1,n.inputElement.addEventListener("change",(()=>{this.#t=n.checked(),this.updatePanelIcon(),t.setEnabled(this.hardwareConcurrencyOverrideEnabled),s(this.hardwareConcurrencyOverrideEnabled?Number(e.value):o)})),i.addEventListener(r.Toolbar.ToolbarButton.Events.Click,(()=>{e.value=`${o}`,s(o)}))})),{input:t,reset:i,warning:a,toggle:n}}setHardwareConcurrency(t){this.cpuThrottlingManager.setHardwareConcurrency(t)}isDirty(){const t=e.NetworkManager.MultitargetNetworkManager.instance().networkConditions(),n=this.currentNetworkThrottlingConditionsSetting.get();return!e.NetworkManager.networkConditionsEqual(t,n)}}class N{static instance(t={forceNew:null}){const{forceNew:e}=t;return m&&!e||(m=new N),m}handleAction(t,n){return"network-conditions.network-online"===n?(e.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(e.NetworkManager.NoThrottlingConditions),!0):"network-conditions.network-low-end-mobile"===n?(e.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(e.NetworkManager.Slow3GConditions),!0):"network-conditions.network-mid-tier-mobile"===n?(e.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(e.NetworkManager.Fast3GConditions),!0):"network-conditions.network-offline"===n&&(e.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(e.NetworkManager.OfflineConditions),!0)}}function f(){return T.instance()}var v=Object.freeze({__proto__:null,ThrottlingManager:T,ActionDelegate:N,throttlingManager:f});const x={disabled:"Disabled",presets:"Presets",advanced:"Advanced"},S=t.i18n.registerUIStrings("panels/mobile_throttling/MobileThrottlingSelector.ts",x),P=t.i18n.getLocalizedString.bind(void 0,S);class y{populateCallback;selectCallback;options;constructor(t,n){this.populateCallback=t,this.selectCallback=n,e.CPUThrottlingManager.CPUThrottlingManager.instance().addEventListener(e.CPUThrottlingManager.Events.RateChanged,this.conditionsChanged,this),e.NetworkManager.MultitargetNetworkManager.instance().addEventListener(e.NetworkManager.MultitargetNetworkManager.Events.ConditionsChanged,this.conditionsChanged,this),this.options=this.populateOptions(),this.conditionsChanged()}optionSelected(t){e.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(t.network),f().setCPUThrottlingRate(t.cpuThrottlingRate)}populateOptions(){const t={title:P(x.disabled),items:[d.getNoThrottlingConditions()]},e={title:P(x.presets),items:d.getMobilePresets()},n={title:P(x.advanced),items:d.getAdvancedMobilePresets()};return this.populateCallback([t,e,n])}conditionsChanged(){const t=e.NetworkManager.MultitargetNetworkManager.instance().networkConditions(),n=e.CPUThrottlingManager.CPUThrottlingManager.instance().cpuThrottlingRate();for(let e=0;e<this.options.length;++e){const i=this.options[e];if(i&&"network"in i&&i.network===t&&i.cpuThrottlingRate===n)return void this.selectCallback(e)}const i=d.getCustomConditions();for(let t=0;t<this.options.length;++t){const e=this.options[t];if(e&&e.title===i.title&&e.description===i.description)return void this.selectCallback(t)}}}var I=Object.freeze({__proto__:null,MobileThrottlingSelector:y});const E={networkThrottlingIsEnabled:"Network throttling is enabled",requestsMayBeRewrittenByLocal:"Requests may be rewritten by local overrides",requestsMayBeBlocked:"Requests may be blocked",acceptedEncodingOverrideSet:"The set of accepted `Content-Encoding` headers has been modified by DevTools. See the Network Conditions panel."},U=t.i18n.registerUIStrings("panels/mobile_throttling/NetworkPanelIndicator.ts",E),L=t.i18n.getLocalizedString.bind(void 0,U);var R=Object.freeze({__proto__:null,NetworkPanelIndicator:class{constructor(){if(!r.InspectorView.InspectorView.instance().hasPanel("network"))return;const t=e.NetworkManager.MultitargetNetworkManager.instance();function n(){let n=new o.Icon.Icon;n.data={iconName:"warning-filled",color:"var(--icon-warning)",width:"14px",height:"14px"},t.isThrottling()?r.Tooltip.Tooltip.install(n,L(E.networkThrottlingIsEnabled)):e.NetworkManager.MultitargetNetworkManager.instance().isIntercepting()?r.Tooltip.Tooltip.install(n,L(E.requestsMayBeRewrittenByLocal)):t.isBlocking()?r.Tooltip.Tooltip.install(n,L(E.requestsMayBeBlocked)):t.isAcceptedEncodingOverrideSet()?r.Tooltip.Tooltip.install(n,L(E.acceptedEncodingOverrideSet)):n=null,r.InspectorView.InspectorView.instance().setPanelIcon("network",n)}t.addEventListener(e.NetworkManager.MultitargetNetworkManager.Events.ConditionsChanged,n),t.addEventListener(e.NetworkManager.MultitargetNetworkManager.Events.BlockedPatternsChanged,n),t.addEventListener(e.NetworkManager.MultitargetNetworkManager.Events.InterceptorsChanged,n),t.addEventListener(e.NetworkManager.MultitargetNetworkManager.Events.AcceptedEncodingsChanged,n),n()}}});const O=new CSSStyleSheet;O.replaceSync(":host{overflow:hidden}.header{padding:0 0 6px;border-bottom:1px solid var(--color-details-hairline);font-size:18px;font-weight:normal;flex:none}.add-conditions-button{flex:none;margin:10px 2px;min-width:140px;align-self:flex-start}.conditions-list{max-width:500px;min-width:340px;flex:auto}.conditions-list-item{padding:3px 5px;height:30px;display:flex;align-items:center;position:relative;flex:auto 1 1}.conditions-list-text{white-space:nowrap;text-overflow:ellipsis;flex:0 0 70px;user-select:none;color:var(--color-text-primary);text-align:end;position:relative}.conditions-list-text:last-child{flex-basis:140px;text-align:left}.conditions-edit-row .conditions-list-text:last-child{text-align:right}.conditions-list-title{text-align:start;display:flex;flex:auto;align-items:flex-start}.conditions-list-title-text{overflow:hidden;flex:auto;white-space:nowrap;text-overflow:ellipsis}.conditions-list-separator{flex:0 0 1px;background-color:var(--color-background-elevation-2);height:30px;margin:0 4px}.conditions-list-separator-invisible{visibility:hidden;height:100%!important}.conditions-edit-row{flex:none;display:flex;flex-direction:row;margin:6px 5px}.conditions-edit-row input{width:100%;text-align:inherit}.conditions-edit-optional{position:absolute;bottom:-20px;right:0;color:var(--color-text-disabled)}.editor-buttons{margin-top:10px}\n/*# sourceURL=throttlingSettingsTab.css */\n");const A={networkThrottlingProfiles:"Network Throttling Profiles",addCustomProfile:"Add custom profile...",dms:"{PH1} `ms`",profileName:"Profile Name",download:"Download",upload:"Upload",latency:"Latency",optional:"optional",profileNameCharactersLengthMust:"Profile Name characters length must be between 1 to {PH1} inclusive",sMustBeANumberBetweenSkbsToSkbs:"{PH1} must be a number between {PH2} `kbit/s` to {PH3} `kbit/s` inclusive",latencyMustBeAnIntegerBetweenSms:"Latency must be an integer between {PH1} `ms` to {PH2} `ms` inclusive",dskbits:"{PH1} `kbit/s`",fsmbits:"{PH1} `Mbit/s`"},H=t.i18n.registerUIStrings("panels/mobile_throttling/ThrottlingSettingsTab.ts",A),_=t.i18n.getLocalizedString.bind(void 0,H);let B;class z extends r.Widget.VBox{list;customSetting;editor;constructor(){super(!0);const t=this.contentElement.createChild("div","header");t.textContent=_(A.networkThrottlingProfiles),r.ARIAUtils.markAsHeading(t,1);const e=r.UIUtils.createTextButton(_(A.addCustomProfile),this.addButtonClicked.bind(this),"add-conditions-button");this.contentElement.appendChild(e),this.list=new r.ListWidget.ListWidget(this),this.list.element.classList.add("conditions-list"),this.list.show(this.contentElement),this.customSetting=n.Settings.Settings.instance().moduleSetting("customNetworkConditions"),this.customSetting.addChangeListener(this.conditionsUpdated,this),this.setDefaultFocusedElement(e)}static instance(t={forceNew:null}){const{forceNew:e}=t;return B&&!e||(B=new z),B}wasShown(){super.wasShown(),this.list.registerCSSFiles([O]),this.registerCSSFiles([O]),this.conditionsUpdated()}conditionsUpdated(){this.list.clear();const t=this.customSetting.get();for(let e=0;e<t.length;++e)this.list.appendItem(t[e],!0);this.list.appendSeparator()}addButtonClicked(){this.list.addNewItem(this.customSetting.get().length,{title:()=>"",download:-1,upload:-1,latency:0})}renderItem(t,e){const n=document.createElement("div");n.classList.add("conditions-list-item");const i=n.createChild("div","conditions-list-text conditions-list-title").createChild("div","conditions-list-title-text"),o=this.retrieveOptionsTitle(t);return i.textContent=o,r.Tooltip.Tooltip.install(i,o),n.createChild("div","conditions-list-separator"),n.createChild("div","conditions-list-text").textContent=D(t.download),n.createChild("div","conditions-list-separator"),n.createChild("div","conditions-list-text").textContent=D(t.upload),n.createChild("div","conditions-list-separator"),n.createChild("div","conditions-list-text").textContent=_(A.dms,{PH1:t.latency}),n}removeItemRequested(t,e){const n=this.customSetting.get();n.splice(e,1),this.customSetting.set(n)}retrieveOptionsTitle(t){return"function"==typeof t.title?t.title():t.title}commitEdit(t,e,n){t.title=e.control("title").value.trim();const i=e.control("download").value.trim();t.download=i?125*parseInt(i,10):-1;const o=e.control("upload").value.trim();t.upload=o?125*parseInt(o,10):-1;const r=e.control("latency").value.trim();t.latency=r?parseInt(r,10):0;const s=this.customSetting.get();n&&s.push(t),this.customSetting.set(s)}beginEdit(t){const e=this.createEditor();return e.control("title").value=this.retrieveOptionsTitle(t),e.control("download").value=t.download<=0?"":String(t.download/125),e.control("upload").value=t.upload<=0?"":String(t.upload/125),e.control("latency").value=t.latency?String(t.latency):"",e}createEditor(){if(this.editor)return this.editor;const e=new r.ListWidget.Editor;this.editor=e;const n=e.contentElement(),i=n.createChild("div","conditions-edit-row"),o=i.createChild("div","conditions-list-text conditions-list-title"),s=_(A.profileName);o.createChild("div","conditions-list-title-text").textContent=s,i.createChild("div","conditions-list-separator conditions-list-separator-invisible");const a=i.createChild("div","conditions-list-text"),l=_(A.download);a.createChild("div","conditions-list-title-text").textContent=l,i.createChild("div","conditions-list-separator conditions-list-separator-invisible");const d=i.createChild("div","conditions-list-text").createChild("div","conditions-list-title-text"),c=_(A.upload);d.textContent=c,i.createChild("div","conditions-list-separator conditions-list-separator-invisible");const g=i.createChild("div","conditions-list-text"),h=_(A.latency);g.createChild("div","conditions-list-title-text").textContent=h;const u=n.createChild("div","conditions-edit-row"),w=e.createInput("title","text","",(function(t,e,n){const i=n.value.trim(),o=i.length>0&&i.length<=49;if(!o){const t=_(A.profileNameCharactersLengthMust,{PH1:49});return{valid:o,errorMessage:t}}return{valid:o,errorMessage:void 0}}));r.ARIAUtils.setLabel(w,s),u.createChild("div","conditions-list-text conditions-list-title").appendChild(w),u.createChild("div","conditions-list-separator conditions-list-separator-invisible");let p=u.createChild("div","conditions-list-text");const C=e.createInput("download","text",t.i18n.lockedString("kbit/s"),T);p.appendChild(C),r.ARIAUtils.setLabel(C,l);const k=p.createChild("div","conditions-edit-optional"),M=_(A.optional);k.textContent=M,r.ARIAUtils.setDescription(C,M),u.createChild("div","conditions-list-separator conditions-list-separator-invisible"),p=u.createChild("div","conditions-list-text");const b=e.createInput("upload","text",t.i18n.lockedString("kbit/s"),T);r.ARIAUtils.setLabel(b,c),p.appendChild(b);p.createChild("div","conditions-edit-optional").textContent=M,r.ARIAUtils.setDescription(b,M),u.createChild("div","conditions-list-separator conditions-list-separator-invisible"),p=u.createChild("div","conditions-list-text");const m=e.createInput("latency","text",t.i18n.lockedString("ms"),(function(t,e,n){const i=1e6,o=n.value.trim(),r=Number(o),s=Number.isInteger(r)&&r>=0&&r<=i;if(!s){const t=_(A.latencyMustBeAnIntegerBetweenSms,{PH1:0,PH2:i});return{valid:s,errorMessage:t}}return{valid:s,errorMessage:void 0}}));r.ARIAUtils.setLabel(m,h),p.appendChild(m);return p.createChild("div","conditions-edit-optional").textContent=M,r.ARIAUtils.setDescription(m,M),e;function T(t,e,n){const i=1e7,o=n.value.trim(),r=Number(o),s=n.getAttribute("aria-label"),a=!Number.isNaN(r)&&r>=0&&r<=i;if(!a){return{valid:a,errorMessage:_(A.sMustBeANumberBetweenSkbsToSkbs,{PH1:String(s),PH2:0,PH3:i})}}return{valid:a,errorMessage:void 0}}}}function D(t){if(t<0)return"";const e=t/125;if(e<1e3)return _(A.dskbits,{PH1:e});if(e<1e4){const t=(e/1e3).toFixed(1);return _(A.fsmbits,{PH1:t})}return _(A.fsmbits,{PH1:e/1e3|0})}var j=Object.freeze({__proto__:null,ThrottlingSettingsTab:z});export{I as MobileThrottlingSelector,R as NetworkPanelIndicator,p as NetworkThrottlingSelector,v as ThrottlingManager,c as ThrottlingPresets,j as ThrottlingSettingsTab};
@@ -0,0 +1 @@
1
+ import*as e from"../../../ui/components/helpers/helpers.js";import*as t from"../../../ui/lit-html/lit-html.js";import*as r from"../../../core/sdk/sdk.js";import*as s from"../../../core/i18n/i18n.js";import*as i from"../../../core/host/host.js";import*as o from"../../../ui/components/icon_button/icon_button.js";import*as a from"../../../third_party/chromium/client-variations/client-variations.js";import*as n from"../../../core/platform/platform.js";import*as d from"../../../ui/components/buttons/buttons.js";import*as l from"../forward/forward.js";import*as h from"../../../core/common/common.js";import*as c from"../../../core/root/root.js";import*as u from"../../../models/persistence/persistence.js";import*as p from"../../../models/workspace/workspace.js";import*as m from"../../../ui/components/input/input.js";import*as g from"../../../ui/components/legacy_wrapper/legacy_wrapper.js";import*as v from"../../../ui/legacy/legacy.js";import*as f from"../../sources/sources.js";import*as w from"../../../models/issues_manager/issues_manager.js";import*as R from"../../../ui/components/report_view/report_view.js";const b=new CSSStyleSheet;b.replaceSync(":host{display:inline}.editable{cursor:text;overflow-wrap:anywhere;min-height:18px;line-height:18px;min-width:0.5em;background:transparent;border:none;outline:none;display:inline-block;font-family:var(--monospace-font-family);font-size:var(--monospace-font-size)}.editable:hover,\n.editable:focus{box-shadow:0 0 0 1px var(--color-details-hairline);border-radius:2px}\n/*# sourceURL=EditableSpan.css */\n");const{render:k,html:S}=t;class x extends HTMLElement{static litTagName=t.literal`devtools-editable-span`;#e=this.attachShadow({mode:"open"});#t=this.#r.bind(this);#s="";connectedCallback(){this.#e.adoptedStyleSheets=[b],this.#e.addEventListener("focusin",this.#i.bind(this)),this.#e.addEventListener("keydown",this.#o.bind(this)),this.#e.addEventListener("paste",this.#a.bind(this)),this.#e.addEventListener("input",this.#n.bind(this))}set data(t){this.#s=t.value,e.ScheduledRender.scheduleRender(this,this.#t)}get value(){return this.#e.querySelector("span")?.innerText||""}set value(e){this.#s=e;const t=this.#e.querySelector("span");t&&(t.innerText=e)}#o(e){"Enter"===e.key&&(e.preventDefault(),e.target?.blur())}#n(e){this.#s=e.target.innerText}#i(e){const t=e.target,r=window.getSelection(),s=document.createRange();s.selectNodeContents(t),r?.removeAllRanges(),r?.addRange(s)}#a(e){const t=e;if(e.preventDefault(),t.clipboardData){const e=t.clipboardData.getData("text/plain"),r=this.#e.getSelection()?.getRangeAt(0);if(!r)return;r.deleteContents();const s=document.createTextNode(e);r.insertNode(s),r.selectNodeContents(s),r.collapse(!1);const i=window.getSelection();i?.removeAllRanges(),i?.addRange(r)}}#r(){if(!e.ScheduledRender.isScheduledRender(this))throw new Error("HeaderSectionRow render was not scheduled");k(S`<span contenteditable="true" class="editable" tabindex="0" .innerText="${this.#s}"></span>`,this.#e,{host:this})}focus(){requestAnimationFrame((()=>{this.#e.querySelector(".editable")?.focus()}))}}e.CustomElements.defineComponent("devtools-editable-span",x);var y=Object.freeze({__proto__:null,EditableSpan:x});const $=new CSSStyleSheet;$.replaceSync(':host{display:block;--override-error-background-color:#d93025}.row{display:flex;line-height:20px;padding-left:8px;gap:12px;user-select:text}.row.header-editable{font-family:var(--monospace-font-family);font-size:var(--monospace-font-size)}.header-name{color:var(--color-text-primary);font-weight:400;width:160px;flex-shrink:0;text-transform:capitalize;overflow-wrap:break-word}.header-name.pseudo-header{text-transform:none}.header-editable .header-name{color:var(--color-syntax-1)}.row.header-deleted .header-name{color:var(--color-text-secondary)}.header-value{display:flex;overflow-wrap:anywhere}.header-badge-text{font-variant:small-caps;font-weight:500;white-space:pre-wrap;word-break:break-all;text-transform:none}.header-badge{display:inline;background-color:var(--color-accent-red);color:var(--color-background);border-radius:100vh;padding-left:6px;padding-right:6px}.call-to-action{background-color:var(--color-background-elevation-1);padding:8px;border-radius:2px}.call-to-action-body{padding:6px 0;margin-left:9.5px;border-left:2px solid var(--issue-color-yellow);padding-left:18px;line-height:20px}.call-to-action .explanation{font-weight:bold}.call-to-action code{font-size:90%}.call-to-action .example .comment::before{content:" — "}.link,\n.devtools-link{color:var(--color-link);text-decoration:underline;cursor:pointer;outline-offset:2px}.explanation .link{font-weight:normal}.inline-icon{vertical-align:middle}.row-flex-icon{margin:2px 5px 0}.header-value code{display:block;white-space:pre-wrap;font-size:90%;color:var(--color-text-secondary)}x-link .inline-icon{padding-right:3px}.header-highlight{background-color:var(--override-header-highlight-background-color)}.header-warning{color:var(--override-error-background-color)}.header-overridden{background-color:var(--color-accent-green-background);border-left:3px solid var(--color-accent-green);padding-left:5px}.header-deleted{background-color:var(--color-error-background);border-left:3px solid var(--color-accent-red);color:var(--color-text-secondary);text-decoration:line-through}.header-highlight.header-overridden{background-color:var(--override-header-highlight-background-color);border-left:3px solid var(--color-accent-green);padding-left:5px}.inline-button{vertical-align:middle}.row .inline-button{opacity:0%;visibility:hidden;transition:opacity 200ms;padding-left:2px}.row.header-overridden:focus-within .inline-button,\n.row.header-overridden:hover .inline-button{opacity:100%;visibility:visible}.row:hover .inline-button.enable-editing{opacity:100%;visibility:visible}.flex-right{margin-left:auto}.flex-columns{flex-direction:column}\n/*# sourceURL=HeaderSectionRow.css */\n');const{render:T,html:H}=t,E={activeClientExperimentVariation:"Active `client experiment variation IDs`.",activeClientExperimentVariationIds:"Active `client experiment variation IDs` that trigger server-side behavior.",decoded:"Decoded:",editHeader:"Override header",headerNamesOnlyLetters:"Header names should contain only letters, digits, hyphens or underscores",learnMore:"Learn more",learnMoreInTheIssuesTab:"Learn more in the issues tab",reloadPrompt:"Refresh the page/request for these changes to take effect",removeOverride:"Remove this header override"},q=s.i18n.registerUIStrings("panels/network/components/HeaderSectionRow.ts",E),N=s.i18n.getLocalizedString.bind(void 0,q),C=new URL("../../../Images/bin.svg",import.meta.url).toString(),I=new URL("../../../Images/edit.svg",import.meta.url).toString(),O=e=>/^[a-z0-9_\-]+$/i.test(e),V=(e,t)=>e?.replaceAll(/\s/g," ")===t?.replaceAll(/\s/g," ");class L extends Event{static eventName="headeredited";headerName;headerValue;constructor(e,t){super(L.eventName,{}),this.headerName=e,this.headerValue=t}}class A extends Event{static eventName="headerremoved";headerName;headerValue;constructor(e,t){super(A.eventName,{}),this.headerName=e,this.headerValue=t}}class U extends Event{static eventName="enableheaderediting";constructor(){super(U.eventName,{})}}class D extends HTMLElement{static litTagName=t.literal`devtools-header-section-row`;#e=this.attachShadow({mode:"open"});#d=null;#t=this.#r.bind(this);#l=!1;#h=!0;connectedCallback(){this.#e.adoptedStyleSheets=[$]}set data(t){this.#d=t.header,this.#l=void 0!==this.#d.originalValue&&this.#d.value!==this.#d.originalValue,this.#h=O(this.#d.name),e.ScheduledRender.scheduleRender(this,this.#t)}#r(){if(!e.ScheduledRender.isScheduledRender(this))throw new Error("HeaderSectionRow render was not scheduled");if(!this.#d)return;const r=t.Directives.classMap({row:!0,"header-highlight":Boolean(this.#d.highlight),"header-overridden":Boolean(this.#d.isOverride)||this.#l,"header-editable":Boolean(this.#d.valueEditable),"header-deleted":Boolean(this.#d.isDeleted)}),a=t.Directives.classMap({"header-name":!0,"pseudo-header":this.#d.name.startsWith(":")}),n=t.Directives.classMap({"header-value":!0,"header-warning":Boolean(this.#d.headerValueIncorrect),"flex-columns":"x-client-data"===this.#d.name&&!this.#d.isResponseHeader}),d=this.#d.nameEditable&&this.#d.valueEditable,l=this.#d.nameEditable||this.#d.isDeleted||this.#l;T(H` <div class="${r}"> <div class="${a}"> ${this.#d.headerNotSet?H`<div class="header-badge header-badge-text">${s.i18n.lockedString("not-set")}</div> `:t.nothing} ${d&&!this.#h?H`<${o.Icon.Icon.litTagName} class="inline-icon disallowed-characters" title="${E.headerNamesOnlyLetters}" .data="${{iconName:"cross-circle-filled",width:"16px",height:"16px",color:"var(--icon-error)"}}"> </${o.Icon.Icon.litTagName}>`:t.nothing} ${d&&!this.#d.isDeleted?H`<${x.litTagName} @focusout="${this.#c}" @keydown="${this.#o}" @input="${this.#u}" @paste="${this.#u}" .data="${{value:this.#d.name}}"></${x.litTagName}>`:this.#d.name}: </div> <div class="${n}" @copy="${()=>i.userMetrics.actionTaken(i.UserMetrics.Action.NetworkPanelCopyValue)}"> ${this.#p()} </div> ${l?H`<${o.Icon.Icon.litTagName} class="row-flex-icon flex-right" title="${E.reloadPrompt}" .data="${{iconName:"info",width:"16px",height:"16px",color:"var(--icon-default)"}}"> </${o.Icon.Icon.litTagName}>`:t.nothing} </div> ${this.#m(this.#d.blockedDetails)} `,this.#e,{host:this})}#p(){return this.#d?"x-client-data"!==this.#d.name||this.#d.isResponseHeader?this.#d.isDeleted||!this.#d.valueEditable?H` ${this.#d.value||""} ${this.#g(this.#d)} ${this.#d.isResponseHeader&&!this.#d.isDeleted?H` <${d.Button.Button.litTagName} title="${N(E.editHeader)}" .size="${"TINY"}" .iconUrl="${I}" .variant="${"round"}" .iconWidth="${"16px"}" .iconHeight="${"16px"}" @click="${()=>{this.dispatchEvent(new U)}}" class="enable-editing inline-button"></${d.Button.Button.litTagName}> `:t.nothing} `:H` <${x.litTagName} @focusout="${this.#v}" @input="${this.#f}" @paste="${this.#f}" @keydown="${this.#o}" .data="${{value:this.#d.value||""}}"></${x.litTagName}> ${this.#g(this.#d)} <${d.Button.Button.litTagName} title="${N(E.removeOverride)}" .size="${"TINY"}" .iconUrl="${C}" .variant="${"round"}" .iconWidth="${"13px"}" .iconHeight="${"13px"}" class="remove-header inline-button" @click="${this.#w}"></${d.Button.Button.litTagName}> `:this.#R(this.#d):t.nothing}#R(e){const t=a.parseClientVariations(e.value||""),r=a.formatClientVariations(t,N(E.activeClientExperimentVariation),N(E.activeClientExperimentVariationIds));return H` <div>${e.value||""}</div> <div>${N(E.decoded)}</div> <code>${r}</code> `}focus(){requestAnimationFrame((()=>{this.#e.querySelector(".header-name devtools-editable-span")?.focus()}))}#g(e){if("set-cookie"===e.name&&e.setCookieBlockedReasons){const t=e.setCookieBlockedReasons.map(r.NetworkRequest.setCookieBlockedReasonToUiString).join("\n");return H` <${o.Icon.Icon.litTagName} class="row-flex-icon" title="${t}" .data="${{iconName:"warning-filled",color:"var(--icon-warning)",width:"16px",height:"16px"}}"> </${o.Icon.Icon.litTagName}> `}return t.nothing}#m(e){return e?H` <div class="call-to-action"> <div class="call-to-action-body"> <div class="explanation">${e.explanation()}</div> ${e.examples.map((e=>H` <div class="example"> <code>${e.codeSnippet}</code> ${e.comment?H` <span class="comment">${e.comment()}</span> `:""} </div> `))} ${this.#b(e)} </div> </div> `:t.nothing}#b(e){return e?.reveal?H` <div class="devtools-link" @click="${e.reveal}"> <${o.Icon.Icon.litTagName} class="inline-icon" .data="${{iconName:"issue-exclamation-filled",color:"var(--icon-warning)",width:"16px",height:"16px"}}"> </${o.Icon.Icon.litTagName}>${N(E.learnMoreInTheIssuesTab)} </div> `:e?.link?H` <x-link href="${e.link.url}" class="link"> <${o.Icon.Icon.litTagName} class="inline-icon" .data="${{iconName:"open-externally",color:"var(--icon-link)",width:"20px",height:"20px"}}"> </${o.Icon.Icon.litTagName}>${N(E.learnMore)} </x-link> `:t.nothing}#v(t){const r=t.target;if(!this.#d)return;const s=r.value.trim();V(s,this.#d.value?.trim())||(this.#d.value=s,this.dispatchEvent(new L(this.#d.name,s)),e.ScheduledRender.scheduleRender(this,this.#t));window.getSelection()?.removeAllRanges()}#c(t){const r=t.target;if(!this.#d)return;const s=n.StringUtilities.toLowerCaseString(r.value.trim());""===s?r.value=this.#d.name:V(s,this.#d.name.trim())||(this.#d.name=s,this.dispatchEvent(new L(s,this.#d.value||"")),e.ScheduledRender.scheduleRender(this,this.#t));window.getSelection()?.removeAllRanges()}#w(){if(!this.#d)return;const e=this.#e.querySelector(".header-value devtools-editable-span");this.#d.originalValue&&(e.value=this.#d?.originalValue),this.dispatchEvent(new A(this.#d.name,this.#d.value||""))}#o(e){const t=e,r=e.target;"Escape"===t.key&&(e.consume(),r.matches(".header-name devtools-editable-span")?(r.value=this.#d?.name||"",this.#u(e)):r.matches(".header-value devtools-editable-span")&&(r.value=this.#d?.value||"",this.#f(e)),r.blur())}#u(t){const r=t.target,s=O(r.value);this.#h!==s&&(this.#h=s,e.ScheduledRender.scheduleRender(this,this.#t))}#f(t){const r=t.target,s=void 0!==this.#d?.originalValue&&!V(this.#d?.originalValue||"",r.value);this.#l!==s&&(this.#l=s,this.#d&&(this.#d.highlight=!1),e.ScheduledRender.scheduleRender(this,this.#t))}}e.CustomElements.defineComponent("devtools-header-section-row",D);var F=Object.freeze({__proto__:null,isValidHeaderName:O,compareHeaders:V,HeaderEditedEvent:L,HeaderRemovedEvent:A,EnableHeaderEditingEvent:U,HeaderSectionRow:D});const P=new CSSStyleSheet;P.replaceSync(':host{display:block}devtools-header-section-row:last-of-type{margin-bottom:10px}devtools-header-section-row:first-of-type{margin-top:2px}.call-to-action{background-color:var(--color-background-elevation-1);padding:8px;border-radius:2px}.call-to-action-body{padding:6px 0;margin-left:9.5px;border-left:2px solid var(--issue-color-yellow);padding-left:18px;line-height:20px}.call-to-action .explanation{font-weight:bold}.call-to-action code{font-size:90%}.call-to-action .example .comment::before{content:" — "}.link,\n.devtools-link{color:var(--color-link);text-decoration:underline;cursor:pointer;outline-offset:2px}.explanation .link{font-weight:normal}.inline-icon{vertical-align:middle}\n/*# sourceURL=RequestHeaderSection.css */\n');const{render:M,html:_}=t,B={learnMore:"Learn more",provisionalHeadersAreShownDisableCache:"Provisional headers are shown. Disable cache to see full headers.",onlyProvisionalHeadersAre:"Only provisional headers are available because this request was not sent over the network and instead was served from a local cache, which doesn’t store the original request headers. Disable cache to see full request headers.",provisionalHeadersAreShown:"Provisional headers are shown."},W=s.i18n.registerUIStrings("panels/network/components/RequestHeaderSection.ts",B),z=s.i18n.getLocalizedString.bind(void 0,W);class j extends HTMLElement{static litTagName=t.literal`devtools-request-header-section`;#e=this.attachShadow({mode:"open"});#k;#S=[];connectedCallback(){this.#e.adoptedStyleSheets=[P]}set data(e){this.#k=e.request,this.#S=this.#k.requestHeaders().map((e=>({name:n.StringUtilities.toLowerCaseString(e.name),value:e.value}))),this.#S.sort(((e,t)=>n.StringUtilities.compare(e.name,t.name))),e.toReveal?.section===l.UIRequestLocation.UIHeaderSection.Request&&this.#S.filter((t=>t.name===e.toReveal?.header?.toLowerCase())).forEach((e=>{e.highlight=!0})),this.#r()}#r(){this.#k&&M(_` ${this.#x()} ${this.#S.map((e=>_` <${D.litTagName} .data="${{header:e}}"></${D.litTagName}> `))} `,this.#e,{host:this})}#x(){if(!this.#k||void 0!==this.#k.requestHeadersText())return t.nothing;let e,r="";return this.#k.cachedInMemory()||this.#k.cached()?(e=z(B.provisionalHeadersAreShownDisableCache),r=z(B.onlyProvisionalHeadersAre)):e=z(B.provisionalHeadersAreShown),_` <div class="call-to-action"> <div class="call-to-action-body"> <div class="explanation" title="${r}"> <${o.Icon.Icon.litTagName} class="inline-icon" .data="${{iconName:"warning-filled",color:"var(--icon-warning)",width:"16px",height:"16px"}}"> </${o.Icon.Icon.litTagName}> ${e} <x-link href="https://developer.chrome.com/docs/devtools/network/reference/#provisional-headers" class="link">${z(B.learnMore)}</x-link> </div> </div> </div> `}}e.CustomElements.defineComponent("devtools-request-header-section",j);var K=Object.freeze({__proto__:null,RequestHeaderSection:j});const G=new CSSStyleSheet;G.replaceSync(":host{display:block}devtools-header-section-row:last-of-type{margin-bottom:10px}devtools-header-section-row:first-of-type{margin-top:2px}.add-header-button{margin:-4px 0 10px 5px}\n/*# sourceURL=ResponseHeaderSection.css */\n");const{render:Y,html:J}=t,X={addHeader:"Add header",chooseThisOptionIfTheResourceAnd:"Choose this option if the resource and the document are served from the same site.",onlyChooseThisOptionIfAn:"Only choose this option if an arbitrary website including this resource does not impose a security risk.",thisDocumentWasBlockedFrom:"This document was blocked from loading in an `iframe` with a `sandbox` attribute because this document specified a cross-origin opener policy.",toEmbedThisFrameInYourDocument:"To embed this frame in your document, the response needs to enable the cross-origin embedder policy by specifying the following response header:",toUseThisResourceFromADifferent:"To use this resource from a different origin, the server needs to specify a cross-origin resource policy in the response headers:",toUseThisResourceFromADifferentOrigin:"To use this resource from a different origin, the server may relax the cross-origin resource policy response header:",toUseThisResourceFromADifferentSite:"To use this resource from a different site, the server may relax the cross-origin resource policy response header:"},Q=s.i18n.registerUIStrings("panels/network/components/ResponseHeaderSection.ts",X),Z=s.i18n.getLocalizedString.bind(void 0,Q),ee=s.i18n.getLazilyComputedLocalizedString.bind(void 0,Q),te=new URL("../../../Images/plus.svg",import.meta.url).toString();class re extends HTMLElement{static litTagName=t.literal`devtools-response-header-section`;#e=this.attachShadow({mode:"open"});#k;#y=[];#$=[];#T=null;#H=[];#E=!1;connectedCallback(){this.#e.adoptedStyleSheets=[G]}set data(e){this.#k=e.request;const t=this.#k.sortedResponseHeaders.concat(this.#k.setCookieHeaders);t.sort((function(e,t){return n.StringUtilities.compare(e.name.toLowerCase(),t.name.toLowerCase())})),this.#y=t.map((e=>({name:n.StringUtilities.toLowerCaseString(e.name),value:e.value.replace(/\s/g," ")})));const r=[];if(this.#k.wasBlocked()){const e=se.get(this.#k.blockedReason());if(e){if(w.RelatedIssue.hasIssueOfCategory(this.#k,w.Issue.IssueCategory.CrossOriginEmbedderPolicy)){const t=()=>{i.userMetrics.issuesPanelOpenedFrom(i.UserMetrics.IssueOpener.LearnMoreLinkCOEP),this.#k&&w.RelatedIssue.reveal(this.#k,w.Issue.IssueCategory.CrossOriginEmbedderPolicy)};e.blockedDetails&&(e.blockedDetails.reveal=t)}r.push(e)}}this.#y=function(e,t){let r=0,s=0;const i=[];for(;r<e.length&&s<t.length;)e[r].name<t[s].name?i.push({...e[r++],headerNotSet:!1}):e[r].name>t[s].name?i.push({...t[s++],headerNotSet:!0}):i.push({...t[s++],...e[r++],headerNotSet:!1});for(;r<e.length;)i.push({...e[r++],headerNotSet:!1});for(;s<t.length;)i.push({...t[s++],headerNotSet:!0});return i}(this.#y,r);const s=this.#k.blockedResponseCookies(),o=new Map(s?.map((e=>[e.cookieLine.replace(/\s/g," "),e.blockedReasons])));for(const e of this.#y)if("set-cookie"===e.name&&e.value){const t=o.get(e.value);t&&(e.setCookieBlockedReasons=t)}e.toReveal?.section===l.UIRequestLocation.UIHeaderSection.Response&&this.#y.filter((t=>V(t.name,e.toReveal?.header?.toLowerCase()))).forEach((e=>{e.highlight=!0}));const a=this.#k.getAssociatedData("ResponseHeaderSection");a?this.#$=a:(this.#$=this.#y.map((e=>({name:e.name,value:e.value,originalValue:e.value}))),this.#q()),this.#N(),this.#k.setAssociatedData("ResponseHeaderSection",this.#$),this.#r()}#C(){this.#k&&(this.#E=!1,this.#$=this.#y.map((e=>({name:e.name,value:e.value,originalValue:e.value}))),this.#q(),this.#k.setAssociatedData("ResponseHeaderSection",this.#$))}async#N(){if(this.#k){if(this.#T=u.NetworkPersistenceManager.NetworkPersistenceManager.instance().getHeadersUISourceCodeFromUrl(this.#k.url()),!this.#T)return this.#C(),void this.#r();try{const e=await this.#T.requestContent();if(this.#H=JSON.parse(e.content||"[]"),!this.#H.every(u.NetworkPersistenceManager.isHeaderOverride))throw"Type mismatch after parsing";this.#E=c.Runtime.experiments.isEnabled(c.Runtime.ExperimentName.HEADER_OVERRIDES)&&h.Settings.Settings.instance().moduleSetting("persistenceNetworkOverridesEnabled").get();for(const e of this.#$)e.valueEditable=this.#E}catch(e){console.error("Failed to parse",this.#T?.url()||"source code file","for locally overriding headers."),this.#C()}finally{this.#r()}}}#q(){if(!this.#k||0===this.#k.originalResponseHeaders.length)return;const e=new Map;for(const t of this.#k?.originalResponseHeaders||[]){const r=n.StringUtilities.toLowerCaseString(t.name),s=e.get(r);s?s.push(t.value.replace(/\s/g," ")):e.set(r,[t.value.replace(/\s/g," ")])}const t=new Map;for(const e of this.#y){if(e.headerNotSet)continue;const r=t.get(e.name);r?r.push(e.value||""):t.set(e.name,[e.value||""])}const r=(e,t,r)=>{const s=t.get(e),i=r.get(e);if(!s||!i||s.length!==i.length)return!0;s.sort(),i.sort();for(let e=0;e<s.length;e++)if(!V(s[e],i[e]))return!0;return!1};for(const s of t.keys())"set-cookie"!==s&&r(s,t,e)&&this.#$.filter((e=>V(e.name,s))).forEach((e=>{e.isOverride=!0}));this.#$.filter((e=>"set-cookie"===e.name)).forEach((e=>{void 0===this.#k?.originalResponseHeaders.find((t=>"set-cookie"===n.StringUtilities.toLowerCaseString(t.name)&&V(t.value,e.value)))&&(e.isOverride=!0)}))}#I(e){const t=e.target;if(void 0===t.dataset.index)return;const r=Number(t.dataset.index);this.#O(e.headerName,e.headerValue,r),i.userMetrics.actionTaken(i.UserMetrics.Action.HeaderOverrideHeaderEdited)}#V(e){const t=u.NetworkPersistenceManager.NetworkPersistenceManager.instance().rawPathFromUrl(e,!0),r=t.lastIndexOf("/");return h.ParsedURL.ParsedURL.substring(t,r+1)}#L(){this.#T?.setWorkingCopy(JSON.stringify(this.#H,null,2)),this.#T?.commitWorkingCopy()}#A(e,t,r){for(let s=this.#H.length-1;s>=0;s--){const i=this.#H[s];if(i.applyTo!==e)continue;const o=i.headers.findIndex((e=>V(e.name,t)&&V(e.value,r)));if(!(o<0))return i.headers.splice(o,1),void(0===i.headers.length&&this.#H.splice(s,1))}}#U(e){const t=e.target;if(void 0===t.dataset.index||!this.#k)return;const r=Number(t.dataset.index),s=this.#V(this.#k.url());this.#A(s,e.headerName,e.headerValue),this.#L(),this.#$[r].isDeleted=!0,this.#r(),i.userMetrics.actionTaken(i.UserMetrics.Action.HeaderOverrideHeaderRemoved)}#O(e,t,r){if(!this.#k)return;0===this.#k.originalResponseHeaders.length&&(this.#k.originalResponseHeaders=this.#k.sortedResponseHeaders.map((e=>({...e}))));const s=this.#$[r].name,i=this.#$[r].value;this.#$[r].name=e,this.#$[r].value=t;let o=[];"set-cookie"===e?o.push({name:e,value:t}):o=this.#$.filter((t=>V(t.name,e)&&(!V(t.value,t.originalValue)||t.isOverride)));const a=this.#V(this.#k.url());let n=null;const[d]=this.#H.slice(-1);if(d?.applyTo===a?n=d:(n={applyTo:a,headers:[]},this.#H.push(n)),"set-cookie"===e){const e=n.headers.findIndex((e=>V(e.name,s)&&V(e.value,i)));e>=0&&n.headers.splice(e,1)}else n.headers=n.headers.filter((t=>!V(t.name,e)));if(!V(this.#$[r].name,s))for(let e=0;e<n.headers.length;++e)if(V(n.headers[e].name,s)&&V(n.headers[e].value,i)){n.headers.splice(e,1);break}for(const e of o)n.headers.push({name:e.name,value:e.value||""});0===n.headers.length&&this.#H.pop(),this.#L()}#D(){this.#$.push({name:n.StringUtilities.toLowerCaseString(s.i18n.lockedString("header-name")),value:s.i18n.lockedString("header value"),isOverride:!0,nameEditable:!0,valueEditable:!0});const e=this.#$.length-1;this.#O(this.#$[e].name,this.#$[e].value||"",e),this.#r();const t=this.#e.querySelectorAll("devtools-header-section-row"),[r]=Array.from(t).slice(-1);r?.focus(),i.userMetrics.actionTaken(i.UserMetrics.Action.HeaderOverrideHeaderAdded)}#r(){if(!this.#k)return;const e=this.#$.map(((e,t)=>({...this.#y[t],...e,isResponseHeader:!0})));Y(J` ${e.map(((e,t)=>J` <${D.litTagName} .data="${{header:e}}" @headeredited="${this.#I}" @headerremoved="${this.#U}" @enableheaderediting="${this.#F}" data-index="${t}"></${D.litTagName}> `))} ${this.#E?J` <${d.Button.Button.litTagName} class="add-header-button" .variant="${"secondary"}" .iconUrl="${te}" .iconWidth="${"12px"}" .iconHeight="${"12px"}" @click="${this.#D}"> ${Z(X.addHeader)} </${d.Button.Button.litTagName}> `:t.nothing} `,this.#e,{host:this})}async#F(){if(!this.#k)return;i.userMetrics.actionTaken(i.UserMetrics.Action.HeaderOverrideEnableEditingClicked);const e=this.#k.url(),t=u.NetworkPersistenceManager.NetworkPersistenceManager.instance();t.project()?(h.Settings.Settings.instance().moduleSetting("persistenceNetworkOverridesEnabled").set(!0),await t.getOrCreateHeadersUISourceCodeFromUrl(e)):v.InspectorView.InspectorView.instance().displaySelectOverrideFolderInfobar((async()=>{await f.SourcesNavigator.OverridesNavigatorView.instance().setupNewWorkspace(),await t.getOrCreateHeadersUISourceCodeFromUrl(e)}))}}e.CustomElements.defineComponent("devtools-response-header-section",re);const se=new Map([["coep-frame-resource-needs-coep-header",{name:n.StringUtilities.toLowerCaseString("cross-origin-embedder-policy"),value:null,blockedDetails:{explanation:ee(X.toEmbedThisFrameInYourDocument),examples:[{codeSnippet:"Cross-Origin-Embedder-Policy: require-corp",comment:void 0}],link:{url:"https://web.dev/coop-coep/"}}}],["corp-not-same-origin-after-defaulted-to-same-origin-by-coep",{name:n.StringUtilities.toLowerCaseString("cross-origin-resource-policy"),value:null,blockedDetails:{explanation:ee(X.toUseThisResourceFromADifferent),examples:[{codeSnippet:"Cross-Origin-Resource-Policy: same-site",comment:ee(X.chooseThisOptionIfTheResourceAnd)},{codeSnippet:"Cross-Origin-Resource-Policy: cross-origin",comment:ee(X.onlyChooseThisOptionIfAn)}],link:{url:"https://web.dev/coop-coep/"}}}],["coop-sandboxed-iframe-cannot-navigate-to-coop-page",{name:n.StringUtilities.toLowerCaseString("cross-origin-opener-policy"),value:null,headerValueIncorrect:!1,blockedDetails:{explanation:ee(X.thisDocumentWasBlockedFrom),examples:[],link:{url:"https://web.dev/coop-coep/"}}}],["corp-not-same-site",{name:n.StringUtilities.toLowerCaseString("cross-origin-resource-policy"),value:null,headerValueIncorrect:!0,blockedDetails:{explanation:ee(X.toUseThisResourceFromADifferentSite),examples:[{codeSnippet:"Cross-Origin-Resource-Policy: cross-origin",comment:ee(X.onlyChooseThisOptionIfAn)}],link:null}}],["corp-not-same-origin",{name:n.StringUtilities.toLowerCaseString("cross-origin-resource-policy"),value:null,headerValueIncorrect:!0,blockedDetails:{explanation:ee(X.toUseThisResourceFromADifferentOrigin),examples:[{codeSnippet:"Cross-Origin-Resource-Policy: same-site",comment:ee(X.chooseThisOptionIfTheResourceAnd)},{codeSnippet:"Cross-Origin-Resource-Policy: cross-origin",comment:ee(X.onlyChooseThisOptionIfAn)}],link:null}}]]);var ie=Object.freeze({__proto__:null,RESPONSE_HEADER_SECTION_DATA_KEY:"ResponseHeaderSection",ResponseHeaderSection:re});const oe=new CSSStyleSheet;oe.replaceSync('devtools-request-headers-category{--override-header-highlight-background-color:#ffff78}.-theme-with-dark-background devtools-request-headers-category,\n:host-context(.-theme-with-dark-background) devtools-request-headers-category{--override-header-highlight-background-color:#4c4c33}.header{background-color:var(--color-background-elevation-1);border-bottom:var(--legacy-divider-border);border-top:var(--legacy-divider-border);line-height:25px;padding:0 5px}.header::marker{color:rgb(110 110 110);font-size:11px;line-height:1}.header:focus{background-color:var(--legacy-focus-bg-color)}details[open] .header-count{display:none}details .hide-when-closed{display:none}details[open] .hide-when-closed{display:block}details summary input{vertical-align:middle}.row{display:flex;line-height:20px;padding-left:8px;gap:12px;user-select:text}div.raw-headers-row{display:block}.row:first-of-type{margin-top:2px}.row:last-child{margin-bottom:10px}.header-name{color:var(--color-text-primary);font-weight:400;width:160px;flex-shrink:0;text-transform:capitalize}.header-value{word-break:break-all}.green-circle::before,\n.red-circle::before,\n.yellow-circle::before{content:"";display:inline-block;width:12px;height:12px;border-radius:6px;vertical-align:text-top;margin-right:2px}.green-circle::before{background-color:var(--color-accent-green)}.red-circle::before{background-color:var(--color-accent-red)}.yellow-circle::before{background-color:var(--issue-color-yellow)}.status-with-comment{color:var(--color-text-secondary)}.raw-headers{font-family:var(--source-code-font-family);font-size:var(--source-code-font-size);white-space:pre-wrap;word-break:break-all}.link,\n.devtools-link{color:var(--color-link);text-decoration:underline;cursor:pointer;outline-offset:2px}.inline-icon{vertical-align:middle}.header-grid-container{display:inline-grid;grid-template-columns:156px 50px 1fr;grid-gap:4px;width:calc(100% - 15px)}.header-grid-container div:last-child{text-align:right}.header .devtools-link{color:var(--color-text-primary)}x-link{position:relative}x-link .inline-icon{padding-right:3px}.purple.dot::before{background-color:var(--color-purple-bright);content:url("Images/empty.svg");width:6px;height:6px;border-radius:50%;outline:1px solid var(--icon-gap-toolbar);left:9px;position:absolute;top:11px;z-index:1}summary label{color:var(--color-text-secondary)}summary label:hover{color:var(--color-text-primary)}\n/*# sourceURL=RequestHeadersView.css */\n');const{render:ae,html:ne}=t,de={fromDiskCache:"(from disk cache)",fromMemoryCache:"(from memory cache)",fromPrefetchCache:"(from prefetch cache)",fromServiceWorker:"(from `service worker`)",fromSignedexchange:"(from signed-exchange)",fromWebBundle:"(from Web Bundle)",general:"General",headerOverrides:"Header overrides",raw:"Raw",referrerPolicy:"Referrer Policy",remoteAddress:"Remote Address",requestHeaders:"Request Headers",requestMethod:"Request Method",requestUrl:"Request URL",responseHeaders:"Response Headers",revealHeaderOverrides:"Reveal header override definitions",showMore:"Show more",statusCode:"Status Code"},le=s.i18n.registerUIStrings("panels/network/components/RequestHeadersView.ts",de),he=s.i18n.getLocalizedString.bind(void 0,le);class ce extends g.LegacyWrapper.WrappableComponent{#k;static litTagName=t.literal`devtools-request-headers`;#e=this.attachShadow({mode:"open"});#P=!1;#M=!1;#_=!1;#B=!1;#W=void 0;#z=p.Workspace.WorkspaceImpl.instance();constructor(e){super(),this.#k=e}wasShown(){this.#k.addEventListener(r.NetworkRequest.Events.RemoteAddressChanged,this.#j,this),this.#k.addEventListener(r.NetworkRequest.Events.FinishedLoading,this.#j,this),this.#k.addEventListener(r.NetworkRequest.Events.RequestHeadersChanged,this.#j,this),this.#k.addEventListener(r.NetworkRequest.Events.ResponseHeadersChanged,this.#K,this),this.#j()}willHide(){this.#k.removeEventListener(r.NetworkRequest.Events.RemoteAddressChanged,this.#j,this),this.#k.removeEventListener(r.NetworkRequest.Events.FinishedLoading,this.#j,this),this.#k.removeEventListener(r.NetworkRequest.Events.RequestHeadersChanged,this.#j,this),this.#k.removeEventListener(r.NetworkRequest.Events.ResponseHeadersChanged,this.#K,this)}#K(){this.#k.deleteAssociatedData("ResponseHeaderSection"),this.render()}#j(){this.render()}revealHeader(e,t){this.#W={section:e,header:t},this.render()}connectedCallback(){this.#e.adoptedStyleSheets=[oe],this.#z.addEventListener(p.Workspace.Events.UISourceCodeAdded,this.#G,this),this.#z.addEventListener(p.Workspace.Events.UISourceCodeRemoved,this.#G,this),h.Settings.Settings.instance().moduleSetting("persistenceNetworkOverridesEnabled").addChangeListener(this.render,this)}disconnectedCallback(){this.#z.removeEventListener(p.Workspace.Events.UISourceCodeAdded,this.#G,this),this.#z.removeEventListener(p.Workspace.Events.UISourceCodeRemoved,this.#G,this),h.Settings.Settings.instance().moduleSetting("persistenceNetworkOverridesEnabled").removeChangeListener(this.render,this)}#G(e){this.#Y()===e.data.url()&&this.render()}async render(){this.#k&&ae(ne` ${this.#J()} ${this.#X()} ${this.#Q()} `,this.#e,{host:this})}#X(){if(!this.#k)return t.nothing;return ne` <${pe.litTagName} @togglerawevent="${()=>{this.#P=!this.#P,this.render()}}" .data="${{name:"responseHeaders",title:he(de.responseHeaders),headerCount:this.#k.sortedResponseHeaders.length,checked:this.#k.responseHeadersText?this.#P:void 0,additionalContent:this.#Z(),forceOpen:this.#W?.section===l.UIRequestLocation.UIHeaderSection.Response}}" aria-label="${he(de.responseHeaders)}"> ${this.#P?this.#ee(this.#k.responseHeadersText,!0):ne` <${re.litTagName} .data="${{request:this.#k,toReveal:this.#W}}"></${re.litTagName}> `} </${pe.litTagName}> `}#Z(){if(!c.Runtime.experiments.isEnabled(c.Runtime.ExperimentName.HEADER_OVERRIDES)||!this.#z.uiSourceCodeForURL(this.#Y()))return t.nothing;const e=h.Settings.Settings.instance().moduleSetting("persistenceNetworkOverridesEnabled"),r=ne` <${o.Icon.Icon.litTagName} class="${e.get()?"inline-icon dot purple":"inline-icon"}" .data="${{iconName:"document",color:"var(--icon-default)",width:"16px",height:"16px"}}"> </${o.Icon.Icon.litTagName}>`;return ne` <x-link href="https://goo.gle/devtools-override" class="link devtools-link"> <${o.Icon.Icon.litTagName} class="inline-icon" .data="${{iconName:"help",color:"var(--icon-link)",width:"16px",height:"16px"}}"> </${o.Icon.Icon.litTagName}></x-link> <x-link @click="${e=>{e.preventDefault();const t=this.#z.uiSourceCodeForURL(this.#Y());t&&(f.SourcesPanel.SourcesPanel.instance().showUISourceCode(t),f.SourcesPanel.SourcesPanel.instance().revealInNavigator(t))}}" class="link devtools-link" title="${de.revealHeaderOverrides}"> ${r}${he(de.headerOverrides)} </x-link> `}#Y(){if(!this.#k)return n.DevToolsPath.EmptyUrlString;const e=u.NetworkPersistenceManager.NetworkPersistenceManager.instance().fileUrlFromNetworkUrl(this.#k.url(),!0);return e.substring(0,e.lastIndexOf("/"))+"/"+u.NetworkPersistenceManager.HEADERS_FILENAME}#Q(){if(!this.#k)return t.nothing;const e=this.#k.requestHeadersText();return ne` <${pe.litTagName} @togglerawevent="${()=>{this.#M=!this.#M,this.render()}}" .data="${{name:"requestHeaders",title:he(de.requestHeaders),headerCount:this.#k.requestHeaders().length,checked:e?this.#M:void 0,forceOpen:this.#W?.section===l.UIRequestLocation.UIHeaderSection.Request}}" aria-label="${he(de.requestHeaders)}"> ${this.#M&&e?this.#ee(e,!1):ne` <${j.litTagName} .data="${{request:this.#k,toReveal:this.#W}}"></${j.litTagName}> `} </${pe.litTagName}> `}#ee(r,s){const i=r.trim(),o=!(s?this.#_:this.#B)&&i.length>3e3,a=()=>{s?this.#_=!0:this.#B=!0,this.render()},n=e=>{if(!(s?this.#_:this.#B)){const t=new v.ContextMenu.ContextMenu(e);t.newSection().appendItem(he(de.showMore),a),t.show()}};return ne` <div class="row raw-headers-row" on-render="${e.Directives.nodeRenderedCallback((e=>{o&&e.addEventListener("contextmenu",n)}))}"> <div class="raw-headers">${o?i.substring(0,3e3):i}</div> ${o?ne` <${d.Button.Button.litTagName} .size="${"SMALL"}" .variant="${"secondary"}" @click="${a}">${he(de.showMore)}</${d.Button.Button.litTagName}> `:t.nothing} </div> `}#J(){if(!this.#k)return t.nothing;const e=[];this.#k.statusCode<300||304===this.#k.statusCode?e.push("green-circle"):this.#k.statusCode<400?e.push("yellow-circle"):e.push("red-circle");let r=this.#k.statusCode+" "+this.#k.statusText;return this.#k.cachedInMemory()?(r+=" "+he(de.fromMemoryCache),e.push("status-with-comment")):this.#k.fetchedViaServiceWorker?(r+=" "+he(de.fromServiceWorker),e.push("status-with-comment")):this.#k.redirectSourceSignedExchangeInfoHasNoErrors()?(r+=" "+he(de.fromSignedexchange),e.push("status-with-comment")):this.#k.webBundleInnerRequestInfo()?(r+=" "+he(de.fromWebBundle),e.push("status-with-comment")):this.#k.fromPrefetchCache()?(r+=" "+he(de.fromPrefetchCache),e.push("status-with-comment")):this.#k.cached()&&(r+=" "+he(de.fromDiskCache),e.push("status-with-comment")),ne` <${pe.litTagName} .data="${{name:"general",title:he(de.general),forceOpen:this.#W?.section===l.UIRequestLocation.UIHeaderSection.General}}" aria-label="${he(de.general)}"> ${this.#te(he(de.requestUrl),this.#k.url())} ${this.#k.statusCode?this.#te(he(de.requestMethod),this.#k.requestMethod):t.nothing} ${this.#k.statusCode?this.#te(he(de.statusCode),r,e):t.nothing} ${this.#k.remoteAddress()?this.#te(he(de.remoteAddress),this.#k.remoteAddress()):t.nothing} ${this.#k.referrerPolicy()?this.#te(he(de.referrerPolicy),String(this.#k.referrerPolicy())):t.nothing} </${pe.litTagName}> `}#te(e,t,r){const s=this.#W?.section===l.UIRequestLocation.UIHeaderSection.General&&e.toLowerCase()===this.#W?.header?.toLowerCase();return ne` <div class="row ${s?"header-highlight":""}"> <div class="header-name">${e}:</div> <div class="header-value ${r?.join(" ")}" @copy="${()=>i.userMetrics.actionTaken(i.UserMetrics.Action.NetworkPanelCopyValue)}">${t}</div> </div> `}}class ue extends Event{static eventName="togglerawevent";constructor(){super(ue.eventName,{})}}class pe extends HTMLElement{static litTagName=t.literal`devtools-request-headers-category`;#e=this.attachShadow({mode:"open"});#re;#se=h.UIString.LocalizedEmptyString;#ie=void 0;#oe=void 0;#ae=void 0;#ne=void 0;connectedCallback(){this.#e.adoptedStyleSheets=[oe,m.checkboxStyles]}set data(e){this.#se=e.title,this.#re=h.Settings.Settings.instance().createSetting("request-info-"+e.name+"-category-expanded",!0),this.#ie=e.headerCount,this.#oe=e.checked,this.#ae=e.additionalContent,this.#ne=e.forceOpen,this.#r()}#de(){this.dispatchEvent(new ue)}#r(){const e=!this.#re||this.#re.get()||this.#ne;ae(ne` <details ?open="${e}" @toggle="${this.#le}"> <summary class="header" @keydown="${this.#he}"> <div class="header-grid-container"> <div> ${this.#se}${void 0!==this.#ie?ne`<span class="header-count"> (${this.#ie})</span>`:t.nothing} </div> <div class="hide-when-closed"> ${void 0!==this.#oe?ne` <label><input type="checkbox" .checked="${this.#oe}" @change="${this.#de}">${he(de.raw)}</label> `:t.nothing} </div> <div class="hide-when-closed">${this.#ae}</div> </div></summary> <slot></slot> </details> `,this.#e,{host:this})}#he(e){if(!e.target)return;const t=e.target.parentElement;if(!t)throw new Error("<details> element is not found for a <summary> element");switch(e.key){case"ArrowLeft":t.open=!1;break;case"ArrowRight":t.open=!0}}#le(e){this.#re?.set(e.target.open)}}e.CustomElements.defineComponent("devtools-request-headers",ce),e.CustomElements.defineComponent("devtools-request-headers-category",pe);var me=Object.freeze({__proto__:null,RequestHeadersView:ce,ToggleRawHeadersEvent:ue,Category:pe});const ge=new CSSStyleSheet;ge.replaceSync(".code{font-family:var(--monospace-font-family);font-size:var(--monospace-font-size)}.issuers-list{display:flex;flex-direction:column;list-style-type:none;padding:0;margin:0}.status-icon{margin:0 0.3em 2px 0;vertical-align:middle}\n/*# sourceURL=RequestTrustTokensView.css */\n");const ve={parameters:"Parameters",type:"Type",refreshPolicy:"Refresh policy",issuers:"Issuers",topLevelOrigin:"Top level origin",issuer:"Issuer",result:"Result",status:"Status",numberOfIssuedTokens:"Number of issued tokens",success:"Success",failure:"Failure",theOperationsResultWasServedFrom:"The operations result was served from cache.",theOperationWasFulfilledLocally:"The operation was fulfilled locally, no request was sent.",theKeysForThisPSTIssuerAreUnavailable:"The keys for this PST issuer are unavailable. The issuer may need to be registered via the Chrome registration process.",aClientprovidedArgumentWas:"A client-provided argument was malformed or otherwise invalid.",eitherNoInputsForThisOperation:"Either no inputs for this operation are available or the output exceeds the operations quota.",theServersResponseWasMalformedOr:"The servers response was malformed or otherwise invalid.",theOperationFailedForAnUnknown:"The operation failed for an unknown reason."},fe=s.i18n.registerUIStrings("panels/network/components/RequestTrustTokensView.ts",ve),we=s.i18n.getLocalizedString.bind(void 0,fe);class Re extends g.LegacyWrapper.WrappableComponent{static litTagName=t.literal`devtools-trust-token-report`;#e=this.attachShadow({mode:"open"});#k;constructor(e){super(),this.#k=e}wasShown(){this.#k.addEventListener(r.NetworkRequest.Events.TrustTokenResultAdded,this.render,this),this.render()}willHide(){this.#k.removeEventListener(r.NetworkRequest.Events.TrustTokenResultAdded,this.render,this)}connectedCallback(){this.#e.adoptedStyleSheets=[ge]}async render(){if(!this.#k)throw new Error("Trying to render a Trust Token report without providing data");t.render(t.html`<${R.ReportView.Report.litTagName}> ${this.#ce()} ${this.#ue()} </${R.ReportView.Report.litTagName}> `,this.#e,{host:this})}#ce(){const e=this.#k.trustTokenParams();return e?t.html` <${R.ReportView.ReportSectionHeader.litTagName}>${we(ve.parameters)}</${R.ReportView.ReportSectionHeader.litTagName}> ${ye(we(ve.type),e.operation.toString())} ${this.#pe(e)} ${this.#me(e)} ${this.#ge()} <${R.ReportView.ReportSectionDivider.litTagName}></${R.ReportView.ReportSectionDivider.litTagName}> `:t.nothing}#pe(e){return"Redemption"!==e.operation?t.nothing:ye(we(ve.refreshPolicy),e.refreshPolicy.toString())}#me(e){return e.issuers&&0!==e.issuers.length?t.html` <${R.ReportView.ReportKey.litTagName}>${we(ve.issuers)}</${R.ReportView.ReportKey.litTagName}> <${R.ReportView.ReportValue.litTagName}> <ul class="issuers-list"> ${e.issuers.map((e=>t.html`<li>${e}`))} </ul> </${R.ReportView.ReportValue.litTagName}> `:t.nothing}#ge(){const e=this.#k.trustTokenOperationDoneEvent();return e?t.html` ${xe(we(ve.topLevelOrigin),e.topLevelOrigin)} ${xe(we(ve.issuer),e.issuerOrigin)}`:t.nothing}#ue(){const e=this.#k.trustTokenOperationDoneEvent();return e?t.html` <${R.ReportView.ReportSectionHeader.litTagName}>${we(ve.result)}</${R.ReportView.ReportSectionHeader.litTagName}> <${R.ReportView.ReportKey.litTagName}>${we(ve.status)}</${R.ReportView.ReportKey.litTagName}> <${R.ReportView.ReportValue.litTagName}> <span> <${o.Icon.Icon.litTagName} class="status-icon" .data="${r=e.status,Se(r)?be:ke}"> </${o.Icon.Icon.litTagName}> <strong>${function(e){return Se(e)?we(ve.success):we(ve.failure)}(e.status)}</strong> ${function(e){switch(e){case"Ok":return null;case"AlreadyExists":return we(ve.theOperationsResultWasServedFrom);case"FulfilledLocally":return we(ve.theOperationWasFulfilledLocally);case"InvalidArgument":return we(ve.aClientprovidedArgumentWas);case"ResourceExhausted":return we(ve.eitherNoInputsForThisOperation);case"BadResponse":return we(ve.theServersResponseWasMalformedOr);case"MissingIssuerKeys":return we(ve.theKeysForThisPSTIssuerAreUnavailable);case"FailedPrecondition":case"Unavailable":case"InternalError":case"Unauthorized":case"UnknownError":return we(ve.theOperationFailedForAnUnknown)}}(e.status)} </span> </${R.ReportView.ReportValue.litTagName}> ${this.#ve(e)} <${R.ReportView.ReportSectionDivider.litTagName}></${R.ReportView.ReportSectionDivider.litTagName}> `:t.nothing;var r}#ve(e){return"Issuance"!==e.type?t.nothing:xe(we(ve.numberOfIssuedTokens),e.issuedTokenCount)}}const be={color:"var(--icon-checkmark-green)",iconName:"check-circle",width:"16px",height:"16px"},ke={color:"var(--icon-error)",iconName:"cross-circle-filled",width:"16px",height:"16px"};function Se(e){return"Ok"===e||"AlreadyExists"===e||"FulfilledLocally"===e}function xe(e,r){return void 0===r?t.nothing:t.html` <${R.ReportView.ReportKey.litTagName}>${e}</${R.ReportView.ReportKey.litTagName}> <${R.ReportView.ReportValue.litTagName}>${r}</${R.ReportView.ReportValue.litTagName}> `}function ye(e,r){return t.html` <${R.ReportView.ReportKey.litTagName}>${e}</${R.ReportView.ReportKey.litTagName}> <${R.ReportView.ReportValue.litTagName} class="code">${r}</${R.ReportView.ReportValue.litTagName}> `}e.CustomElements.defineComponent("devtools-trust-token-report",Re);var $e=Object.freeze({__proto__:null,RequestTrustTokensView:Re,statusConsideredSuccess:Se});export{y as EditableSpan,F as HeaderSectionRow,K as RequestHeaderSection,me as RequestHeadersView,$e as RequestTrustTokensView,ie as ResponseHeaderSection};
@@ -0,0 +1 @@
1
+ var e,t,r,o=Object.freeze({__proto__:null,NetworkRequestId:class{requestId;manager;constructor(e,t){this.requestId=e,this.manager=t}}});!function(e){e.Domain="domain",e.HasResponseHeader="has-response-header",e.ResponseHeaderValueSetCookie="response-header-set-cookie",e.Is="is",e.LargerThan="larger-than",e.Method="method",e.MimeType="mime-type",e.MixedContent="mixed-content",e.Priority="priority",e.Scheme="scheme",e.SetCookieDomain="set-cookie-domain",e.SetCookieName="set-cookie-name",e.SetCookieValue="set-cookie-value",e.ResourceType="resource-type",e.CookieDomain="cookie-domain",e.CookieName="cookie-name",e.CookiePath="cookie-path",e.CookieValue="cookie-value",e.StatusCode="status-code",e.Url="url"}(e||(e={})),function(e){e.Running="running",e.FromCache="from-cache",e.ServiceWorkerIntercepted="service-worker-intercepted",e.ServiceWorkerInitiated="service-worker-initiated"}(t||(t={})),function(e){e.All="all",e.Displayed="displayed",e.Blocked="blocked",e.BlockOverridden="block-overridden"}(r||(r={}));class i{filters;constructor(e){this.filters=e}static filters(e){return new i(e)}}var s,n,a=Object.freeze({__proto__:null,get FilterType(){return e},get IsFilterType(){return t},get MixedContentFilterValues(){return r},UIRequestFilter:i});!function(e){e.General="General",e.Request="Request",e.Response="Response"}(s||(s={})),function(e){e.Cookies="cookies",e.EventSource="eventSource",e.Headers="headers",e.HeadersComponent="headersComponent",e.Payload="payload",e.Initiator="initiator",e.Preview="preview",e.Response="response",e.Timing="timing",e.TrustTokens="trustTokens",e.WsFrames="webSocketFrames"}(n||(n={}));class c{request;header;searchMatch;isUrlMatch;tab;filterOptions;constructor(e,t,r,o,i,s){this.request=e,this.header=t,this.searchMatch=r,this.isUrlMatch=o,this.tab=i,this.filterOptions=s}static requestHeaderMatch(e,t){return new c(e,{section:s.Request,header:t},null,!1,void 0,void 0)}static responseHeaderMatch(e,t){return new c(e,{section:s.Response,header:t},null,!1,void 0,void 0)}static bodyMatch(e,t){return new c(e,null,t,!1,void 0,void 0)}static urlMatch(e){return new c(e,null,null,!0,void 0,void 0)}static header(e,t,r){return new c(e,{section:t,header:{name:r,value:""}},null,!1,void 0,void 0)}static tab(e,t,r){return new c(e,null,null,!1,t,r)}}var u=Object.freeze({__proto__:null,get UIHeaderSection(){return s},get UIRequestTabs(){return n},UIRequestLocation:c});export{o as NetworkRequestId,a as UIFilter,u as UIRequestLocation};
@@ -0,0 +1 @@
1
+ import*as e from"./forward/forward.js";import*as o from"./network.js";self.Network=self.Network||{},Network=Network||{},Network.BinaryResourceView=o.BinaryResourceView.BinaryResourceView,Network.BlockedURLsPane=o.BlockedURLsPane.BlockedURLsPane,Network.EventSourceMessageNode=o.EventSourceMessagesView.EventSourceMessageNode,Network.NetworkConfigView=o.NetworkConfigView.NetworkConfigView,Network.NetworkConfigView._userAgentGroups=o.NetworkConfigView.userAgentGroups,Network.NetworkNode=o.NetworkDataGridNode.NetworkNode,Network.NetworkItemView=o.NetworkItemView.NetworkItemView,Network.NetworkLogView=o.NetworkLogView.NetworkLogView,Network.NetworkLogView.isRequestFilteredOut=o.NetworkLogView.isRequestFilteredOut,Network.NetworkLogView.HTTPRequestsFilter=o.NetworkLogView.NetworkLogView.getHTTPRequestsFilter,Network.NetworkLogView.FilterType=e.UIFilter.FilterType,Network.NetworkLogViewColumns=o.NetworkLogViewColumns.NetworkLogViewColumns,Network.NetworkOverview=o.NetworkOverview.NetworkOverview,Network.NetworkPanel=o.NetworkPanel.NetworkPanel,Network.SearchNetworkView=o.NetworkPanel.SearchNetworkView,Network.NetworkPanel.ContextMenuProvider=o.NetworkPanel.ContextMenuProvider,Network.NetworkPanel.RequestRevealer=o.NetworkPanel.RequestRevealer,Network.NetworkPanel.ActionDelegate=o.NetworkPanel.ActionDelegate,Network.NetworkTimeCalculator=o.NetworkTimeCalculator.NetworkTimeCalculator,Network.NetworkWaterfallColumn=o.NetworkWaterfallColumn.NetworkWaterfallColumn,Network.RequestHTMLView=o.RequestHTMLView.RequestHTMLView,Network.RequestHeadersView=o.RequestHeadersView.RequestHeadersView,Network.RequestPayloadView=o.RequestPayloadView.RequestPayloadView,Network.RequestPreviewView=o.RequestPreviewView.RequestPreviewView,Network.RequestResponseView=o.RequestResponseView.RequestResponseView,Network.RequestTimingView=o.RequestTimingView.RequestTimingView,Network.RequestTimeRangeNames=o.RequestTimingView.RequestTimeRangeNames,Network.ResourceWebSocketFrameView=o.ResourceWebSocketFrameView.ResourceWebSocketFrameView,Network.ResourceWebSocketFrameNode=o.ResourceWebSocketFrameView.ResourceWebSocketFrameNode,Network.SignedExchangeInfoView=o.SignedExchangeInfoView.SignedExchangeInfoView;
@@ -0,0 +1 @@
1
+ import*as e from"../../core/common/common.js";import*as t from"../../core/i18n/i18n.js";import*as o from"../../core/sdk/sdk.js";import*as r from"../../models/workspace/workspace.js";import*as n from"./forward/forward.js";import*as a from"../../ui/legacy/legacy.js";const i={showNetwork:"Show Network",network:"Network",showNetworkRequestBlocking:"Show Network request blocking",networkRequestBlocking:"Network request blocking",showNetworkConditions:"Show Network conditions",networkConditions:"Network conditions",diskCache:"disk cache",networkThrottling:"network throttling",showSearch:"Show Search",search:"Search",recordNetworkLog:"Record network log",stopRecordingNetworkLog:"Stop recording network log",hideRequestDetails:"Hide request details",colorcodeResourceTypes:"Color-code resource types",colorCode:"color code",resourceType:"resource type",colorCodeByResourceType:"Color code by resource type",useDefaultColors:"Use default colors",groupNetworkLogByFrame:"Group network log by frame",netWork:"network",frame:"frame",group:"group",groupNetworkLogItemsByFrame:"Group network log items by frame",dontGroupNetworkLogItemsByFrame:"Don't group network log items by frame",clear:"Clear network log"},s=t.i18n.registerUIStrings("panels/network/network-meta.ts",i),c=t.i18n.getLazilyComputedLocalizedString.bind(void 0,s);let l;async function g(){return l||(l=await import("./network.js")),l}function w(e){return void 0===l?[]:e(l)}a.ViewManager.registerViewExtension({location:"panel",id:"network",commandPrompt:c(i.showNetwork),title:c(i.network),order:40,loadView:async()=>(await g()).NetworkPanel.NetworkPanel.instance()}),a.ViewManager.registerViewExtension({location:"drawer-view",id:"network.blocked-urls",commandPrompt:c(i.showNetworkRequestBlocking),title:c(i.networkRequestBlocking),persistence:"closeable",order:60,loadView:async()=>(await g()).BlockedURLsPane.BlockedURLsPane.instance()}),a.ViewManager.registerViewExtension({location:"drawer-view",id:"network.config",commandPrompt:c(i.showNetworkConditions),title:c(i.networkConditions),persistence:"closeable",order:40,tags:[c(i.diskCache),c(i.networkThrottling),t.i18n.lockedLazyString("useragent"),t.i18n.lockedLazyString("user agent"),t.i18n.lockedLazyString("user-agent")],loadView:async()=>(await g()).NetworkConfigView.NetworkConfigView.instance()}),a.ViewManager.registerViewExtension({location:"network-sidebar",id:"network.search-network-tab",commandPrompt:c(i.showSearch),title:c(i.search),persistence:"permanent",loadView:async()=>(await g()).NetworkPanel.SearchNetworkView.instance()}),a.ActionRegistration.registerActionExtension({actionId:"network.toggle-recording",category:a.ActionRegistration.ActionCategory.NETWORK,iconClass:"record-start",toggleable:!0,toggledIconClass:"record-stop",toggleWithRedColor:!0,contextTypes:()=>w((e=>[e.NetworkPanel.NetworkPanel])),loadActionDelegate:async()=>(await g()).NetworkPanel.ActionDelegate.instance(),options:[{value:!0,title:c(i.recordNetworkLog)},{value:!1,title:c(i.stopRecordingNetworkLog)}],bindings:[{shortcut:"Ctrl+E",platform:"windows,linux"},{shortcut:"Meta+E",platform:"mac"}]}),a.ActionRegistration.registerActionExtension({actionId:"network.clear",category:a.ActionRegistration.ActionCategory.NETWORK,title:c(i.clear),iconClass:"clear",loadActionDelegate:async()=>(await g()).NetworkPanel.ActionDelegate.instance(),contextTypes:()=>w((e=>[e.NetworkPanel.NetworkPanel])),bindings:[{shortcut:"Ctrl+L"},{shortcut:"Meta+K",platform:"mac"}]}),a.ActionRegistration.registerActionExtension({actionId:"network.hide-request-details",category:a.ActionRegistration.ActionCategory.NETWORK,title:c(i.hideRequestDetails),contextTypes:()=>w((e=>[e.NetworkPanel.NetworkPanel])),loadActionDelegate:async()=>(await g()).NetworkPanel.ActionDelegate.instance(),bindings:[{shortcut:"Esc"}]}),a.ActionRegistration.registerActionExtension({actionId:"network.search",category:a.ActionRegistration.ActionCategory.NETWORK,title:c(i.search),contextTypes:()=>w((e=>[e.NetworkPanel.NetworkPanel])),loadActionDelegate:async()=>(await g()).NetworkPanel.ActionDelegate.instance(),bindings:[{platform:"mac",shortcut:"Meta+F",keybindSets:["devToolsDefault","vsCode"]},{platform:"windows,linux",shortcut:"Ctrl+F",keybindSets:["devToolsDefault","vsCode"]}]}),e.Settings.registerSettingExtension({category:e.Settings.SettingCategory.NETWORK,storageType:e.Settings.SettingStorageType.Synced,title:c(i.colorcodeResourceTypes),settingName:"networkColorCodeResourceTypes",settingType:e.Settings.SettingType.BOOLEAN,defaultValue:!1,tags:[c(i.colorCode),c(i.resourceType)],options:[{value:!0,title:c(i.colorCodeByResourceType)},{value:!1,title:c(i.useDefaultColors)}]}),e.Settings.registerSettingExtension({category:e.Settings.SettingCategory.NETWORK,storageType:e.Settings.SettingStorageType.Synced,title:c(i.groupNetworkLogByFrame),settingName:"network.group-by-frame",settingType:e.Settings.SettingType.BOOLEAN,defaultValue:!1,tags:[c(i.netWork),c(i.frame),c(i.group)],options:[{value:!0,title:c(i.groupNetworkLogItemsByFrame)},{value:!1,title:c(i.dontGroupNetworkLogItemsByFrame)}]}),a.ViewManager.registerLocationResolver({name:"network-sidebar",category:a.ViewManager.ViewLocationCategory.NETWORK,loadResolver:async()=>(await g()).NetworkPanel.NetworkPanel.instance()}),a.ContextMenu.registerProvider({contextTypes:()=>[o.NetworkRequest.NetworkRequest,o.Resource.Resource,r.UISourceCode.UISourceCode],loadProvider:async()=>(await g()).NetworkPanel.ContextMenuProvider.instance(),experiment:void 0}),e.Revealer.registerRevealer({contextTypes:()=>[o.NetworkRequest.NetworkRequest],destination:e.Revealer.RevealerDestination.NETWORK_PANEL,loadRevealer:async()=>(await g()).NetworkPanel.RequestRevealer.instance()}),e.Revealer.registerRevealer({contextTypes:()=>[n.UIRequestLocation.UIRequestLocation],loadRevealer:async()=>(await g()).NetworkPanel.RequestLocationRevealer.instance(),destination:void 0}),e.Revealer.registerRevealer({contextTypes:()=>[n.NetworkRequestId.NetworkRequestId],destination:e.Revealer.RevealerDestination.NETWORK_PANEL,loadRevealer:async()=>(await g()).NetworkPanel.RequestIdRevealer.instance()}),e.Revealer.registerRevealer({contextTypes:()=>[n.UIFilter.UIRequestFilter],destination:e.Revealer.RevealerDestination.NETWORK_PANEL,loadRevealer:async()=>(await g()).NetworkPanel.NetworkLogWithFilterRevealer.instance()});