@paulirish/trace_engine 0.0.57 → 0.0.58

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 (272) hide show
  1. package/.tmp/tsbuildinfo/tsconfig.tsbuildinfo +1 -1
  2. package/core/platform/Brand.d.ts +8 -1
  3. package/core/platform/Brand.js.map +1 -1
  4. package/core/platform/DevToolsPath.d.ts +1 -1
  5. package/core/platform/DevToolsPath.js +1 -1
  6. package/core/platform/DevToolsPath.js.map +1 -1
  7. package/core/platform/StringUtilities.d.ts +12 -2
  8. package/core/platform/StringUtilities.js +31 -7
  9. package/core/platform/StringUtilities.js.map +1 -1
  10. package/generated/protocol.d.ts +8209 -7941
  11. package/locales/af.json +75 -60
  12. package/locales/am.json +75 -60
  13. package/locales/ar.json +86 -71
  14. package/locales/as.json +74 -59
  15. package/locales/az.json +75 -60
  16. package/locales/be.json +75 -60
  17. package/locales/bg.json +75 -60
  18. package/locales/bn.json +74 -59
  19. package/locales/bs.json +74 -59
  20. package/locales/ca.json +75 -60
  21. package/locales/cs.json +75 -60
  22. package/locales/cy.json +75 -60
  23. package/locales/da.json +75 -60
  24. package/locales/de.json +74 -59
  25. package/locales/el.json +75 -60
  26. package/locales/en-GB.json +74 -59
  27. package/locales/en-US.json +0 -6
  28. package/locales/en-XL.json +0 -6
  29. package/locales/es-419.json +74 -59
  30. package/locales/es.json +75 -60
  31. package/locales/et.json +74 -59
  32. package/locales/eu.json +75 -60
  33. package/locales/fa.json +77 -62
  34. package/locales/fi.json +74 -59
  35. package/locales/fil.json +75 -60
  36. package/locales/fr-CA.json +75 -60
  37. package/locales/fr.json +75 -60
  38. package/locales/gl.json +75 -60
  39. package/locales/gu.json +74 -59
  40. package/locales/he.json +97 -82
  41. package/locales/hi.json +75 -60
  42. package/locales/hr.json +75 -60
  43. package/locales/hu.json +75 -60
  44. package/locales/hy.json +75 -60
  45. package/locales/id.json +75 -60
  46. package/locales/is.json +74 -59
  47. package/locales/it.json +74 -59
  48. package/locales/ja.json +75 -60
  49. package/locales/ka.json +74 -59
  50. package/locales/kk.json +75 -60
  51. package/locales/km.json +75 -60
  52. package/locales/kn.json +75 -60
  53. package/locales/ko.json +75 -60
  54. package/locales/ky.json +75 -60
  55. package/locales/lo.json +74 -59
  56. package/locales/lt.json +75 -60
  57. package/locales/lv.json +75 -60
  58. package/locales/mk.json +74 -59
  59. package/locales/ml.json +74 -59
  60. package/locales/mn.json +75 -60
  61. package/locales/mr.json +74 -59
  62. package/locales/ms.json +74 -59
  63. package/locales/my.json +75 -60
  64. package/locales/ne.json +76 -61
  65. package/locales/nl.json +74 -59
  66. package/locales/no.json +75 -60
  67. package/locales/or.json +75 -60
  68. package/locales/pa.json +75 -60
  69. package/locales/pl.json +74 -59
  70. package/locales/pt-PT.json +75 -60
  71. package/locales/pt.json +75 -60
  72. package/locales/ro.json +75 -60
  73. package/locales/ru.json +75 -60
  74. package/locales/si.json +75 -60
  75. package/locales/sk.json +74 -59
  76. package/locales/sl.json +75 -60
  77. package/locales/sq.json +75 -60
  78. package/locales/sr-Latn.json +74 -59
  79. package/locales/sr.json +74 -59
  80. package/locales/sv.json +75 -60
  81. package/locales/sw.json +75 -60
  82. package/locales/ta.json +75 -60
  83. package/locales/te.json +74 -59
  84. package/locales/th.json +77 -62
  85. package/locales/tr.json +75 -60
  86. package/locales/uk.json +75 -60
  87. package/locales/ur.json +74 -59
  88. package/locales/uz.json +75 -60
  89. package/locales/vi.json +74 -59
  90. package/locales/zh-HK.json +75 -60
  91. package/locales/zh-TW.json +75 -60
  92. package/locales/zh.json +75 -60
  93. package/locales/zu.json +75 -60
  94. package/models/trace/ModelImpl.d.ts +0 -1
  95. package/models/trace/ModelImpl.js +15 -3
  96. package/models/trace/ModelImpl.js.map +1 -1
  97. package/models/trace/Processor.js +8 -4
  98. package/models/trace/Processor.js.map +1 -1
  99. package/models/trace/extras/ThirdParties.js +1 -2
  100. package/models/trace/extras/ThirdParties.js.map +1 -1
  101. package/models/trace/extras/TraceTree.d.ts +4 -1
  102. package/models/trace/extras/TraceTree.js +7 -2
  103. package/models/trace/extras/TraceTree.js.map +1 -1
  104. package/models/trace/handlers/AnimationFramesHandler.d.ts +1 -0
  105. package/models/trace/handlers/AnimationFramesHandler.js +8 -0
  106. package/models/trace/handlers/AnimationFramesHandler.js.map +1 -1
  107. package/models/trace/handlers/ExtensionTraceDataHandler.d.ts +1 -1
  108. package/models/trace/handlers/ExtensionTraceDataHandler.js +1 -1
  109. package/models/trace/handlers/ExtensionTraceDataHandler.js.map +1 -1
  110. package/models/trace/handlers/FramesHandler.js +38 -28
  111. package/models/trace/handlers/FramesHandler.js.map +1 -1
  112. package/models/trace/handlers/ImagePaintingHandler.d.ts +2 -1
  113. package/models/trace/handlers/ImagePaintingHandler.js.map +1 -1
  114. package/models/trace/handlers/InitiatorsHandler.js +27 -0
  115. package/models/trace/handlers/InitiatorsHandler.js.map +1 -1
  116. package/models/trace/handlers/NetworkRequestsHandler.js +3 -0
  117. package/models/trace/handlers/NetworkRequestsHandler.js.map +1 -1
  118. package/models/trace/handlers/RendererHandler.d.ts +0 -5
  119. package/models/trace/handlers/RendererHandler.js +9 -12
  120. package/models/trace/handlers/RendererHandler.js.map +1 -1
  121. package/models/trace/handlers/SamplesHandler.js +4 -6
  122. package/models/trace/handlers/SamplesHandler.js.map +1 -1
  123. package/models/trace/handlers/ScriptsHandler.d.ts +4 -3
  124. package/models/trace/handlers/ScriptsHandler.js +3 -0
  125. package/models/trace/handlers/ScriptsHandler.js.map +1 -1
  126. package/models/trace/handlers/UserInteractionsHandler.d.ts +4 -2
  127. package/models/trace/handlers/UserInteractionsHandler.js.map +1 -1
  128. package/models/trace/handlers/helpers.d.ts +3 -6
  129. package/models/trace/handlers/helpers.js +17 -9
  130. package/models/trace/handlers/helpers.js.map +1 -1
  131. package/models/trace/handlers/types.d.ts +4 -1
  132. package/models/trace/handlers/types.js.map +1 -1
  133. package/models/trace/helpers/SamplesIntegrator.d.ts +1 -0
  134. package/models/trace/helpers/SamplesIntegrator.js +8 -0
  135. package/models/trace/helpers/SamplesIntegrator.js.map +1 -1
  136. package/models/trace/helpers/Timing.js +2 -0
  137. package/models/trace/helpers/Timing.js.map +1 -1
  138. package/models/trace/helpers/Trace.d.ts +1 -1
  139. package/models/trace/helpers/Trace.js +1 -1
  140. package/models/trace/helpers/Trace.js.map +1 -1
  141. package/models/trace/helpers/TreeHelpers.d.ts +1 -1
  142. package/models/trace/helpers/TreeHelpers.js.map +1 -1
  143. package/models/trace/insights/CLSCulprits.d.ts +2 -2
  144. package/models/trace/insights/CLSCulprits.js +2 -2
  145. package/models/trace/insights/CLSCulprits.js.map +1 -1
  146. package/models/trace/insights/Common.d.ts +6 -5
  147. package/models/trace/insights/Common.js +29 -17
  148. package/models/trace/insights/Common.js.map +1 -1
  149. package/models/trace/insights/DOMSize.d.ts +1 -1
  150. package/models/trace/insights/DOMSize.js +1 -1
  151. package/models/trace/insights/DOMSize.js.map +1 -1
  152. package/models/trace/insights/DocumentLatency.d.ts +2 -2
  153. package/models/trace/insights/DocumentLatency.js +2 -2
  154. package/models/trace/insights/DocumentLatency.js.map +1 -1
  155. package/models/trace/insights/DuplicatedJavaScript.d.ts +1 -0
  156. package/models/trace/insights/DuplicatedJavaScript.js +3 -3
  157. package/models/trace/insights/DuplicatedJavaScript.js.map +1 -1
  158. package/models/trace/insights/ForcedReflow.d.ts +3 -3
  159. package/models/trace/insights/ForcedReflow.js +3 -3
  160. package/models/trace/insights/ForcedReflow.js.map +1 -1
  161. package/models/trace/insights/INPBreakdown.d.ts +5 -5
  162. package/models/trace/insights/INPBreakdown.js +5 -5
  163. package/models/trace/insights/INPBreakdown.js.map +1 -1
  164. package/models/trace/insights/ImageDelivery.d.ts +2 -0
  165. package/models/trace/insights/ImageDelivery.js +3 -0
  166. package/models/trace/insights/ImageDelivery.js.map +1 -1
  167. package/models/trace/insights/LCPBreakdown.d.ts +6 -6
  168. package/models/trace/insights/LCPBreakdown.js +10 -8
  169. package/models/trace/insights/LCPBreakdown.js.map +1 -1
  170. package/models/trace/insights/LCPDiscovery.d.ts +2 -2
  171. package/models/trace/insights/LCPDiscovery.js +3 -3
  172. package/models/trace/insights/LCPDiscovery.js.map +1 -1
  173. package/models/trace/insights/LegacyJavaScript.d.ts +1 -0
  174. package/models/trace/insights/LegacyJavaScript.js +3 -3
  175. package/models/trace/insights/LegacyJavaScript.js.map +1 -1
  176. package/models/trace/insights/ModernHTTP.js +1 -1
  177. package/models/trace/insights/ModernHTTP.js.map +1 -1
  178. package/models/trace/insights/RenderBlocking.d.ts +1 -1
  179. package/models/trace/insights/RenderBlocking.js +1 -1
  180. package/models/trace/insights/RenderBlocking.js.map +1 -1
  181. package/models/trace/insights/SlowCSSSelector.d.ts +8 -8
  182. package/models/trace/insights/SlowCSSSelector.js +8 -8
  183. package/models/trace/insights/SlowCSSSelector.js.map +1 -1
  184. package/models/trace/lantern/graph/BaseNode.d.ts +1 -1
  185. package/models/trace/lantern/graph/BaseNode.js +1 -1
  186. package/models/trace/lantern/graph/BaseNode.js.map +1 -1
  187. package/models/trace/lantern/simulation/SimulationTimingMap.js +1 -1
  188. package/models/trace/lantern/simulation/SimulationTimingMap.js.map +1 -1
  189. package/models/trace/types/Configuration.d.ts +7 -0
  190. package/models/trace/types/Configuration.js +1 -0
  191. package/models/trace/types/Configuration.js.map +1 -1
  192. package/models/trace/types/Extensions.d.ts +1 -1
  193. package/models/trace/types/Extensions.js.map +1 -1
  194. package/models/trace/types/File.d.ts +3 -0
  195. package/models/trace/types/File.js.map +1 -1
  196. package/models/trace/types/Overlays.d.ts +6 -1
  197. package/models/trace/types/Overlays.js.map +1 -1
  198. package/models/trace/types/TraceEvents.d.ts +54 -29
  199. package/models/trace/types/TraceEvents.js +7 -1
  200. package/models/trace/types/TraceEvents.js.map +1 -1
  201. package/package.json +1 -1
  202. package/test/test-trace-engine.mjs +0 -1
  203. package/core/platform/devtools_entrypoint-bundle-tsconfig-tsconfig.json +0 -43
  204. package/core/platform/platform.prebundle.d.ts +0 -18
  205. package/core/platform/platform.prebundle.js +0 -53
  206. package/core/platform/platform.prebundle.js.map +0 -1
  207. package/core/platform/platform.prebundle.ts +0 -71
  208. package/models/cpu_profile/cpu_profile.prebundle.d.ts +0 -3
  209. package/models/cpu_profile/cpu_profile.prebundle.js +0 -7
  210. package/models/cpu_profile/cpu_profile.prebundle.js.map +0 -1
  211. package/models/cpu_profile/cpu_profile.prebundle.ts +0 -11
  212. package/models/cpu_profile/devtools_entrypoint-bundle-tsconfig-tsconfig.json +0 -43
  213. package/models/trace/devtools_entrypoint-bundle-tsconfig-tsconfig.json +0 -61
  214. package/models/trace/extras/devtools_entrypoint-bundle-tsconfig-tsconfig.json +0 -43
  215. package/models/trace/extras/extras.prebundle.d.ts +0 -7
  216. package/models/trace/extras/extras.prebundle.js +0 -11
  217. package/models/trace/extras/extras.prebundle.js.map +0 -1
  218. package/models/trace/extras/extras.prebundle.ts +0 -11
  219. package/models/trace/handlers/devtools_entrypoint-bundle-tsconfig-tsconfig.json +0 -43
  220. package/models/trace/handlers/handlers.prebundle.d.ts +0 -4
  221. package/models/trace/handlers/handlers.prebundle.js +0 -8
  222. package/models/trace/handlers/handlers.prebundle.js.map +0 -1
  223. package/models/trace/handlers/handlers.prebundle.ts +0 -8
  224. package/models/trace/helpers/devtools_entrypoint-bundle-tsconfig-tsconfig.json +0 -43
  225. package/models/trace/helpers/helpers.prebundle.d.ts +0 -7
  226. package/models/trace/helpers/helpers.prebundle.js +0 -11
  227. package/models/trace/helpers/helpers.prebundle.js.map +0 -1
  228. package/models/trace/helpers/helpers.prebundle.ts +0 -11
  229. package/models/trace/insights/devtools_entrypoint-bundle-tsconfig-tsconfig.json +0 -43
  230. package/models/trace/insights/insights.prebundle.d.ts +0 -4
  231. package/models/trace/insights/insights.prebundle.js +0 -8
  232. package/models/trace/insights/insights.prebundle.js.map +0 -1
  233. package/models/trace/insights/insights.prebundle.ts +0 -8
  234. package/models/trace/lantern/core/core.prebundle.d.ts +0 -2
  235. package/models/trace/lantern/core/core.prebundle.js +0 -6
  236. package/models/trace/lantern/core/core.prebundle.js.map +0 -1
  237. package/models/trace/lantern/core/core.prebundle.ts +0 -6
  238. package/models/trace/lantern/core/devtools_entrypoint-bundle-tsconfig-tsconfig.json +0 -43
  239. package/models/trace/lantern/devtools_entrypoint-bundle-tsconfig-tsconfig.json +0 -43
  240. package/models/trace/lantern/graph/devtools_entrypoint-bundle-tsconfig-tsconfig.json +0 -43
  241. package/models/trace/lantern/graph/graph.prebundle.d.ts +0 -4
  242. package/models/trace/lantern/graph/graph.prebundle.js +0 -8
  243. package/models/trace/lantern/graph/graph.prebundle.js.map +0 -1
  244. package/models/trace/lantern/graph/graph.prebundle.ts +0 -8
  245. package/models/trace/lantern/lantern.prebundle.d.ts +0 -6
  246. package/models/trace/lantern/lantern.prebundle.js +0 -10
  247. package/models/trace/lantern/lantern.prebundle.js.map +0 -1
  248. package/models/trace/lantern/lantern.prebundle.ts +0 -17
  249. package/models/trace/lantern/metrics/devtools_entrypoint-bundle-tsconfig-tsconfig.json +0 -43
  250. package/models/trace/lantern/metrics/metrics.prebundle.d.ts +0 -8
  251. package/models/trace/lantern/metrics/metrics.prebundle.js +0 -12
  252. package/models/trace/lantern/metrics/metrics.prebundle.js.map +0 -1
  253. package/models/trace/lantern/metrics/metrics.prebundle.ts +0 -12
  254. package/models/trace/lantern/simulation/devtools_entrypoint-bundle-tsconfig-tsconfig.json +0 -43
  255. package/models/trace/lantern/simulation/simulation.prebundle.d.ts +0 -6
  256. package/models/trace/lantern/simulation/simulation.prebundle.js +0 -10
  257. package/models/trace/lantern/simulation/simulation.prebundle.js.map +0 -1
  258. package/models/trace/lantern/simulation/simulation.prebundle.ts +0 -10
  259. package/models/trace/lantern/types/devtools_entrypoint-bundle-tsconfig-tsconfig.json +0 -43
  260. package/models/trace/lantern/types/types.prebundle.d.ts +0 -1
  261. package/models/trace/lantern/types/types.prebundle.js +0 -5
  262. package/models/trace/lantern/types/types.prebundle.js.map +0 -1
  263. package/models/trace/lantern/types/types.prebundle.ts +0 -5
  264. package/models/trace/trace.prebundle.d.ts +0 -10
  265. package/models/trace/trace.prebundle.js +0 -14
  266. package/models/trace/trace.prebundle.js.map +0 -1
  267. package/models/trace/trace.prebundle.ts +0 -25
  268. package/models/trace/types/devtools_entrypoint-bundle-tsconfig-tsconfig.json +0 -43
  269. package/models/trace/types/types.prebundle.d.ts +0 -5
  270. package/models/trace/types/types.prebundle.js +0 -9
  271. package/models/trace/types/types.prebundle.js.map +0 -1
  272. package/models/trace/types/types.prebundle.ts +0 -9
@@ -1,3 +1,4 @@
1
+ // import type * as UI from '../../../ui/legacy/legacy.js';
1
2
  // import type * as Lit from '../../../ui/lit/lit.js';
2
3
  import type { EntriesLinkState } from './File.js';
3
4
  import type { Micro, TraceWindowMicro } from './Timing.js';
@@ -104,7 +105,11 @@ export interface TimingsMarkerFieldResult {
104
105
  value: Micro;
105
106
  pageScope: 'url' | 'origin';
106
107
  }
108
+ export interface BottomInfoBar {
109
+ type: 'BOTTOM_INFO_BAR';
110
+ infobar: any;
111
+ }
107
112
  /**
108
113
  * All supported overlay types.
109
114
  */
110
- export type Overlay = EntrySelected | EntryOutline | TimeRangeLabel | EntryLabel | EntriesLink | TimespanBreakdown | TimestampMarker | CandyStripedTimeRange | TimingsMarker;
115
+ export type Overlay = EntrySelected | EntryOutline | TimeRangeLabel | EntryLabel | EntriesLink | TimespanBreakdown | TimestampMarker | CandyStripedTimeRange | TimingsMarker | BottomInfoBar;
@@ -1 +1 @@
1
- {"version":3,"file":"Overlays.js","sourceRoot":"","sources":["../../../../../../../front_end/models/trace/types/Overlays.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B","sourcesContent":["// Copyright 2025 The Chromium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\nimport type * as Lit from '../../../ui/lit/lit.js';\n\nimport type {EntriesLinkState} from './File.js';\nimport type {Micro, TraceWindowMicro} from './Timing.js';\nimport type {Event, LegacyTimelineFrame, PageLoadEvent} from './TraceEvents.js';\n\n/**\n * Represents which flamechart an entry is rendered in.\n * We need to know this because when we place an overlay for an entry we need\n * to adjust its Y value if it's in the main chart which is drawn below the\n * network chart\n */\nexport type EntryChartLocation = 'main'|'network';\n\n/**\n * You can add overlays to trace events, but also right now frames are drawn on\n * the timeline but they are not trace events, so we need to allow for that.\n * In the future when the frames track has been migrated to be powered by\n * animation frames (crbug.com/345144583), we can remove the requirement to\n * support TimelineFrame instances (which themselves will be removed from the\n * codebase.)\n */\nexport type OverlayEntry = Event|LegacyTimelineFrame;\n\n/**\n * Represents when a user has selected an entry in the timeline\n */\nexport interface EntrySelected {\n type: 'ENTRY_SELECTED';\n entry: OverlayEntry;\n}\n\n/**\n * Drawn around an entry when we want to highlight it to the user.\n */\nexport interface EntryOutline {\n type: 'ENTRY_OUTLINE';\n entry: OverlayEntry;\n outlineReason: 'ERROR'|'INFO';\n}\n\n/**\n * Represents an object created when a user creates a label for an entry in the timeline.\n */\nexport interface EntryLabel {\n type: 'ENTRY_LABEL';\n entry: OverlayEntry;\n label: string;\n}\n\nexport interface EntriesLink {\n type: 'ENTRIES_LINK';\n state: EntriesLinkState;\n entryFrom: OverlayEntry;\n entryTo?: OverlayEntry;\n}\n\n/**\n * Represents a time range on the trace. Also used when the user shift+clicks\n * and drags to create a time range.\n */\nexport interface TimeRangeLabel {\n type: 'TIME_RANGE';\n bounds: TraceWindowMicro;\n label: string;\n showDuration: boolean;\n}\n\n/**\n * Used to highlight with a red-candy stripe a time range. It takes an entry\n * because this entry is the row that will be used to place the candy stripe,\n * and its height will be set to the height of that row.\n */\nexport interface CandyStripedTimeRange {\n type: 'CANDY_STRIPED_TIME_RANGE';\n bounds: TraceWindowMicro;\n entry: Event;\n}\n\n/**\n * An EntryBreakdown, or section, that makes up a TimespanBreakdown.\n */\nexport interface TimespanBreakdownEntryBreakdown {\n bounds: TraceWindowMicro;\n label: string|Lit.LitTemplate;\n showDuration: boolean;\n}\n\n/**\n * Represents a timespan on a trace broken down into parts. Each part has a label to it.\n * If an entry is defined, the breakdown will be vertically positioned based on it.\n */\nexport interface TimespanBreakdown {\n type: 'TIMESPAN_BREAKDOWN';\n sections: TimespanBreakdownEntryBreakdown[];\n entry?: Event;\n renderLocation?: 'BOTTOM_OF_TIMELINE'|'BELOW_EVENT'|'ABOVE_EVENT';\n}\n\nexport interface TimestampMarker {\n type: 'TIMESTAMP_MARKER';\n timestamp: Micro;\n}\n\n/**\n * Represents a timings marker. This has a line that runs up the whole canvas.\n * We can hold an array of entries, in the case we want to hold more than one with the same timestamp.\n * The adjusted timestamp being the timestamp for the event adjusted by closest navigation.\n */\nexport interface TimingsMarker {\n type: 'TIMINGS_MARKER';\n entries: PageLoadEvent[];\n entryToFieldResult: Map<PageLoadEvent, TimingsMarkerFieldResult>;\n adjustedTimestamp: Micro;\n}\n\nexport interface TimingsMarkerFieldResult {\n value: Micro;\n pageScope: 'url'|'origin';\n}\n\n/**\n * All supported overlay types.\n */\nexport type Overlay = EntrySelected|EntryOutline|TimeRangeLabel|EntryLabel|EntriesLink|TimespanBreakdown|\n TimestampMarker|CandyStripedTimeRange|TimingsMarker;\n"]}
1
+ {"version":3,"file":"Overlays.js","sourceRoot":"","sources":["../../../../../../../front_end/models/trace/types/Overlays.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B","sourcesContent":["// Copyright 2025 The Chromium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\nimport type * as UI from '../../../ui/legacy/legacy.js';\nimport type * as Lit from '../../../ui/lit/lit.js';\n\nimport type {EntriesLinkState} from './File.js';\nimport type {Micro, TraceWindowMicro} from './Timing.js';\nimport type {Event, LegacyTimelineFrame, PageLoadEvent} from './TraceEvents.js';\n\n/**\n * Represents which flamechart an entry is rendered in.\n * We need to know this because when we place an overlay for an entry we need\n * to adjust its Y value if it's in the main chart which is drawn below the\n * network chart\n */\nexport type EntryChartLocation = 'main'|'network';\n\n/**\n * You can add overlays to trace events, but also right now frames are drawn on\n * the timeline but they are not trace events, so we need to allow for that.\n * In the future when the frames track has been migrated to be powered by\n * animation frames (crbug.com/345144583), we can remove the requirement to\n * support TimelineFrame instances (which themselves will be removed from the\n * codebase.)\n */\nexport type OverlayEntry = Event|LegacyTimelineFrame;\n\n/**\n * Represents when a user has selected an entry in the timeline\n */\nexport interface EntrySelected {\n type: 'ENTRY_SELECTED';\n entry: OverlayEntry;\n}\n\n/**\n * Drawn around an entry when we want to highlight it to the user.\n */\nexport interface EntryOutline {\n type: 'ENTRY_OUTLINE';\n entry: OverlayEntry;\n outlineReason: 'ERROR'|'INFO';\n}\n\n/**\n * Represents an object created when a user creates a label for an entry in the timeline.\n */\nexport interface EntryLabel {\n type: 'ENTRY_LABEL';\n entry: OverlayEntry;\n label: string;\n}\n\nexport interface EntriesLink {\n type: 'ENTRIES_LINK';\n state: EntriesLinkState;\n entryFrom: OverlayEntry;\n entryTo?: OverlayEntry;\n}\n\n/**\n * Represents a time range on the trace. Also used when the user shift+clicks\n * and drags to create a time range.\n */\nexport interface TimeRangeLabel {\n type: 'TIME_RANGE';\n bounds: TraceWindowMicro;\n label: string;\n showDuration: boolean;\n}\n\n/**\n * Used to highlight with a red-candy stripe a time range. It takes an entry\n * because this entry is the row that will be used to place the candy stripe,\n * and its height will be set to the height of that row.\n */\nexport interface CandyStripedTimeRange {\n type: 'CANDY_STRIPED_TIME_RANGE';\n bounds: TraceWindowMicro;\n entry: Event;\n}\n\n/**\n * An EntryBreakdown, or section, that makes up a TimespanBreakdown.\n */\nexport interface TimespanBreakdownEntryBreakdown {\n bounds: TraceWindowMicro;\n label: string|Lit.LitTemplate;\n showDuration: boolean;\n}\n\n/**\n * Represents a timespan on a trace broken down into parts. Each part has a label to it.\n * If an entry is defined, the breakdown will be vertically positioned based on it.\n */\nexport interface TimespanBreakdown {\n type: 'TIMESPAN_BREAKDOWN';\n sections: TimespanBreakdownEntryBreakdown[];\n entry?: Event;\n renderLocation?: 'BOTTOM_OF_TIMELINE'|'BELOW_EVENT'|'ABOVE_EVENT';\n}\n\nexport interface TimestampMarker {\n type: 'TIMESTAMP_MARKER';\n timestamp: Micro;\n}\n\n/**\n * Represents a timings marker. This has a line that runs up the whole canvas.\n * We can hold an array of entries, in the case we want to hold more than one with the same timestamp.\n * The adjusted timestamp being the timestamp for the event adjusted by closest navigation.\n */\nexport interface TimingsMarker {\n type: 'TIMINGS_MARKER';\n entries: PageLoadEvent[];\n entryToFieldResult: Map<PageLoadEvent, TimingsMarkerFieldResult>;\n adjustedTimestamp: Micro;\n}\n\nexport interface TimingsMarkerFieldResult {\n value: Micro;\n pageScope: 'url'|'origin';\n}\n\nexport interface BottomInfoBar {\n type: 'BOTTOM_INFO_BAR';\n infobar: UI.Infobar.Infobar;\n}\n\n/**\n * All supported overlay types.\n */\nexport type Overlay = EntrySelected|EntryOutline|TimeRangeLabel|EntryLabel|EntriesLink|TimespanBreakdown|\n TimestampMarker|CandyStripedTimeRange|TimingsMarker|BottomInfoBar;\n"]}
@@ -1194,8 +1194,9 @@ export interface UserTimingMeasure extends Event {
1194
1194
  traceId: number;
1195
1195
  };
1196
1196
  }
1197
- /** ChromeFrameReporter args for PipelineReporter event.
1198
- Matching proto: https://source.chromium.org/chromium/chromium/src/+/main:third_party/perfetto/protos/perfetto/trace/track_event/chrome_frame_reporter.proto
1197
+ /**
1198
+ * ChromeFrameReporter args for PipelineReporter event.
1199
+ * Matching proto: https://source.chromium.org/chromium/chromium/src/+/main:third_party/perfetto/protos/perfetto/trace/track_event/chrome_frame_reporter.proto
1199
1200
  */
1200
1201
  interface ChromeFrameReporter {
1201
1202
  state: State;
@@ -1203,11 +1204,15 @@ interface ChromeFrameReporter {
1203
1204
  /** The reason is set only if |state| is not |STATE_UPDATED_ALL|. */
1204
1205
  reason: FrameDropReason;
1205
1206
  frame_source: number;
1206
- /** Identifies a BeginFrameArgs (along with the source_id).
1207
- See comments in components/viz/common/frame_sinks/begin_frame_args.h. */
1207
+ /**
1208
+ * Identifies a BeginFrameArgs (along with the source_id).
1209
+ * See comments in components/viz/common/frame_sinks/begin_frame_args.h.
1210
+ */
1208
1211
  frame_sequence: number;
1209
- /** If this is a dropped frame (i.e. if |state| is set to |STATE_DROPPED| or
1210
- |STATE_PRESENTED_PARTIAL|), then indicates whether this frame impacts smoothness. */
1212
+ /**
1213
+ * If this is a dropped frame (i.e. if |state| is set to |STATE_DROPPED| or
1214
+ * |STATE_PRESENTED_PARTIAL|), then indicates whether this frame impacts smoothness.
1215
+ */
1211
1216
  affects_smoothness: boolean;
1212
1217
  /** The type of active scroll. */
1213
1218
  scroll_state: ScrollState;
@@ -1217,48 +1222,66 @@ interface ChromeFrameReporter {
1217
1222
  has_compositor_animation: boolean;
1218
1223
  /** If any touch-driven UX (not scroll) is active during this frame. */
1219
1224
  has_smooth_input_main: boolean;
1220
- /** Whether the frame contained any missing content (i.e. whether there was
1221
- checkerboarding in the frame). */
1225
+ /**
1226
+ * Whether the frame contained any missing content (i.e. whether there was
1227
+ * checkerboarding in the frame).
1228
+ */
1222
1229
  has_missing_content: boolean;
1223
1230
  /** The id of layer_tree_host that the frame has been produced for. */
1224
1231
  layer_tree_host_id: number;
1225
1232
  /** If total latency of PipelineReporter exceeds a certain limit. */
1226
1233
  has_high_latency: boolean;
1227
- /** Indicate if the frame is "FORKED" (i.e. a PipelineReporter event starts at
1228
- the same frame sequence as another PipelineReporter) or "BACKFILL"
1229
- (i.e. dropped frames when there are no partial compositor updates). */
1234
+ /**
1235
+ * Indicate if the frame is "FORKED" (i.e. a PipelineReporter event starts at
1236
+ * the same frame sequence as another PipelineReporter) or "BACKFILL"
1237
+ * (i.e. dropped frames when there are no partial compositor updates).
1238
+ */
1230
1239
  frame_type: FrameType;
1231
- /** The breakdown stage of PipelineReporter that is most likely accountable for
1232
- high latency. */
1240
+ /**
1241
+ * The breakdown stage of PipelineReporter that is most likely accountable for
1242
+ * high latency.
1243
+ */
1233
1244
  high_latency_contribution_stage: string[];
1234
1245
  }
1235
1246
  declare const enum State {
1236
1247
  /** The frame did not have any updates to present. **/
1237
1248
  STATE_NO_UPDATE_DESIRED = "STATE_NO_UPDATE_DESIRED",
1238
- /** The frame presented all the desired updates (i.e. any updates requested
1239
- from both the compositor thread and main-threads were handled). **/
1249
+ /**
1250
+ * The frame presented all the desired updates (i.e. any updates requested
1251
+ * from both the compositor thread and main-threads were handled). *
1252
+ */
1240
1253
  STATE_PRESENTED_ALL = "STATE_PRESENTED_ALL",
1241
- /** The frame was presented with some updates, but also missed some updates
1242
- (e.g. missed updates from the main-thread, but included updates from the
1243
- compositor thread). **/
1254
+ /**
1255
+ * The frame was presented with some updates, but also missed some updates
1256
+ * (e.g. missed updates from the main-thread, but included updates from the
1257
+ * compositor thread). *
1258
+ */
1244
1259
  STATE_PRESENTED_PARTIAL = "STATE_PRESENTED_PARTIAL",
1245
- /** The frame was dropped, i.e. some updates were desired for the frame, but
1246
- was not presented. **/
1260
+ /**
1261
+ * The frame was dropped, i.e. some updates were desired for the frame, but
1262
+ * was not presented. *
1263
+ */
1247
1264
  STATE_DROPPED = "STATE_DROPPED"
1248
1265
  }
1249
1266
  declare const enum FrameDropReason {
1250
1267
  REASON_UNSPECIFIED = "REASON_UNSPECIFIED",
1251
- /** Frame was dropped by the display-compositor.
1252
- The display-compositor may drop a frame some times (e.g. the frame missed
1253
- the deadline, or was blocked on surface-sync, etc.) **/
1268
+ /**
1269
+ * Frame was dropped by the display-compositor.
1270
+ * The display-compositor may drop a frame some times (e.g. the frame missed
1271
+ * the deadline, or was blocked on surface-sync, etc.) *
1272
+ */
1254
1273
  REASON_DISPLAY_COMPOSITOR = "REASON_DISPLAY_COMPOSITOR",
1255
- /** Frame was dropped because of the main-thread.
1256
- The main-thread may cause a frame to be dropped, e.g. if the main-thread
1257
- is running expensive javascript, or doing a lot of layout updates, etc. **/
1274
+ /**
1275
+ * Frame was dropped because of the main-thread.
1276
+ * The main-thread may cause a frame to be dropped, e.g. if the main-thread
1277
+ * is running expensive javascript, or doing a lot of layout updates, etc. *
1278
+ */
1258
1279
  REASON_MAIN_THREAD = "REASON_MAIN_THREAD",
1259
- /** Frame was dropped by the client compositor.
1260
- The client compositor can drop some frames too (e.g. attempting to
1261
- recover latency, missing the deadline, etc.). **/
1280
+ /**
1281
+ * Frame was dropped by the client compositor.
1282
+ * The client compositor can drop some frames too (e.g. attempting to
1283
+ * recover latency, missing the deadline, etc.). *
1284
+ */
1262
1285
  REASON_CLIENT_COMPOSITOR = "REASON_CLIENT_COMPOSITOR"
1263
1286
  }
1264
1287
  declare const enum ScrollState {
@@ -1788,6 +1811,7 @@ export interface FireAnimationFrame extends Complete {
1788
1811
  };
1789
1812
  };
1790
1813
  }
1814
+ export declare function isFireAnimationFrame(event: Event): event is FireAnimationFrame;
1791
1815
  export interface RequestAnimationFrame extends Instant {
1792
1816
  name: Name.REQUEST_ANIMATION_FRAME;
1793
1817
  args: Args & {
@@ -1832,6 +1856,7 @@ export interface RequestIdleCallback extends Instant {
1832
1856
  };
1833
1857
  };
1834
1858
  }
1859
+ export declare function isRequestIdleCallback(event: Event): event is RequestIdleCallback;
1835
1860
  export interface WebSocketCreate extends Instant {
1836
1861
  name: Name.WEB_SOCKET_CREATE;
1837
1862
  args: Args & {
@@ -248,7 +248,7 @@ export function isUpdateLayoutTree(event) {
248
248
  return event.name === Name.UPDATE_LAYOUT_TREE;
249
249
  }
250
250
  export function isLayout(event) {
251
- return event.name === Name.LAYOUT;
251
+ return event.name === Name.LAYOUT && Boolean(event.args && 'beginData' in event.args);
252
252
  }
253
253
  export function isInvalidateLayout(event) {
254
254
  return event.name === Name.INVALIDATE_LAYOUT;
@@ -521,12 +521,18 @@ export function isDisplayListItemListSnapshot(event) {
521
521
  export function isLayerTreeHostImplSnapshot(event) {
522
522
  return event.name === Name.LAYER_TREE_HOST_IMPL_SNAPSHOT;
523
523
  }
524
+ export function isFireAnimationFrame(event) {
525
+ return event.name === Name.FIRE_ANIMATION_FRAME;
526
+ }
524
527
  export function isTimerInstall(event) {
525
528
  return event.name === Name.TIMER_INSTALL;
526
529
  }
527
530
  export function isTimerFire(event) {
528
531
  return event.name === Name.TIMER_FIRE;
529
532
  }
533
+ export function isRequestIdleCallback(event) {
534
+ return event.name === Name.REQUEST_IDLE_CALLBACK;
535
+ }
530
536
  export function isWebSocketCreate(event) {
531
537
  return event.name === Name.WEB_SOCKET_CREATE;
532
538
  }