@paulirish/trace_engine 0.0.52 → 0.0.54

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 (305) hide show
  1. package/.tmp/tsbuildinfo/analyze-inspector-issues.d.mts +13 -0
  2. package/.tmp/tsbuildinfo/analyze-inspector-issues.d.mts.map +1 -0
  3. package/.tmp/tsbuildinfo/tsconfig.tsbuildinfo +1 -1
  4. package/analyze-inspector-issues.mjs +60 -0
  5. package/core/common/common.d.ts +1 -0
  6. package/core/common/common.js +1 -0
  7. package/core/host/host.d.ts +1 -0
  8. package/core/host/host.js +1 -0
  9. package/core/platform/DOMUtilities.d.ts +8 -0
  10. package/core/platform/DOMUtilities.js +14 -0
  11. package/core/platform/DOMUtilities.js.map +1 -1
  12. package/core/platform/ServerTiming.d.ts +31 -0
  13. package/core/platform/ServerTiming.js +212 -0
  14. package/core/platform/ServerTiming.js.map +1 -0
  15. package/core/platform/StringUtilities.d.ts +1 -5
  16. package/core/platform/StringUtilities.js.map +1 -1
  17. package/core/platform/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -2
  18. package/core/platform/platform-tsconfig.json +2 -2
  19. package/core/root/root.d.ts +1 -0
  20. package/core/root/root.js +1 -0
  21. package/core/sdk/sdk.d.ts +1 -0
  22. package/core/sdk/sdk.js +1 -0
  23. package/generated/protocol.d.ts +202 -20
  24. package/locales/af.json +11 -5
  25. package/locales/am.json +7 -1
  26. package/locales/ar.json +7 -1
  27. package/locales/as.json +7 -1
  28. package/locales/az.json +7 -1
  29. package/locales/be.json +7 -1
  30. package/locales/bg.json +7 -1
  31. package/locales/bn.json +7 -1
  32. package/locales/bs.json +7 -1
  33. package/locales/ca.json +7 -1
  34. package/locales/cs.json +7 -1
  35. package/locales/cy.json +7 -1
  36. package/locales/da.json +7 -1
  37. package/locales/de.json +7 -1
  38. package/locales/el.json +7 -1
  39. package/locales/en-GB.json +7 -1
  40. package/locales/en-US.json +49 -7
  41. package/locales/en-XL.json +49 -7
  42. package/locales/es-419.json +7 -1
  43. package/locales/es.json +7 -1
  44. package/locales/et.json +7 -1
  45. package/locales/eu.json +7 -1
  46. package/locales/fa.json +7 -1
  47. package/locales/fi.json +7 -1
  48. package/locales/fil.json +7 -1
  49. package/locales/fr-CA.json +7 -1
  50. package/locales/fr.json +7 -1
  51. package/locales/gl.json +7 -1
  52. package/locales/gu.json +7 -1
  53. package/locales/he.json +7 -1
  54. package/locales/hi.json +7 -1
  55. package/locales/hr.json +7 -1
  56. package/locales/hu.json +7 -1
  57. package/locales/hy.json +7 -1
  58. package/locales/id.json +7 -1
  59. package/locales/is.json +7 -1
  60. package/locales/it.json +7 -1
  61. package/locales/ja.json +7 -1
  62. package/locales/ka.json +7 -1
  63. package/locales/kk.json +7 -1
  64. package/locales/km.json +7 -1
  65. package/locales/kn.json +7 -1
  66. package/locales/ko.json +7 -1
  67. package/locales/ky.json +7 -1
  68. package/locales/lo.json +7 -1
  69. package/locales/lt.json +7 -1
  70. package/locales/lv.json +7 -1
  71. package/locales/mk.json +7 -1
  72. package/locales/ml.json +7 -1
  73. package/locales/mn.json +7 -1
  74. package/locales/mr.json +7 -1
  75. package/locales/ms.json +7 -1
  76. package/locales/my.json +7 -1
  77. package/locales/ne.json +7 -1
  78. package/locales/nl.json +7 -1
  79. package/locales/no.json +7 -1
  80. package/locales/or.json +7 -1
  81. package/locales/pa.json +7 -1
  82. package/locales/pl.json +7 -1
  83. package/locales/pt-PT.json +7 -1
  84. package/locales/pt.json +7 -1
  85. package/locales/ro.json +7 -1
  86. package/locales/ru.json +7 -1
  87. package/locales/si.json +7 -1
  88. package/locales/sk.json +7 -1
  89. package/locales/sl.json +7 -1
  90. package/locales/sq.json +7 -1
  91. package/locales/sr-Latn.json +7 -1
  92. package/locales/sr.json +7 -1
  93. package/locales/sv.json +7 -1
  94. package/locales/sw.json +7 -1
  95. package/locales/ta.json +7 -1
  96. package/locales/te.json +7 -1
  97. package/locales/th.json +7 -1
  98. package/locales/tr.json +7 -1
  99. package/locales/uk.json +7 -1
  100. package/locales/ur.json +7 -1
  101. package/locales/uz.json +7 -1
  102. package/locales/vi.json +7 -1
  103. package/locales/zh-HK.json +7 -1
  104. package/locales/zh-TW.json +7 -1
  105. package/locales/zh.json +7 -1
  106. package/locales/zu.json +7 -1
  107. package/models/cpu_profile/cpu_profile-tsconfig.json +2 -2
  108. package/models/cpu_profile/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -2
  109. package/models/issues_manager/CheckFormsIssuesTrigger.d.ts +1 -0
  110. package/models/issues_manager/CheckFormsIssuesTrigger.js +1 -0
  111. package/models/issues_manager/ContrastCheckTrigger.d.ts +1 -0
  112. package/models/issues_manager/ContrastCheckTrigger.js +1 -0
  113. package/models/issues_manager/DeprecationIssue.d.ts +1 -0
  114. package/models/issues_manager/DeprecationIssue.js +1 -0
  115. package/models/issues_manager/IssueResolver.d.ts +1 -0
  116. package/models/issues_manager/IssueResolver.js +1 -0
  117. package/models/issues_manager/RelatedIssue.d.ts +1 -0
  118. package/models/issues_manager/RelatedIssue.js +1 -0
  119. package/models/issues_manager/SourceFrameIssuesManager.d.ts +1 -0
  120. package/models/issues_manager/SourceFrameIssuesManager.js +1 -0
  121. package/models/trace/LanternComputationData.js +5 -5
  122. package/models/trace/LanternComputationData.js.map +1 -1
  123. package/models/trace/ModelImpl.js +1 -1
  124. package/models/trace/ModelImpl.js.map +1 -1
  125. package/models/trace/Processor.d.ts +1 -3
  126. package/models/trace/Processor.js +1 -1
  127. package/models/trace/Processor.js.map +1 -1
  128. package/models/trace/TracingManager.js.map +1 -1
  129. package/models/trace/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -2
  130. package/models/trace/extras/Metadata.js +2 -2
  131. package/models/trace/extras/Metadata.js.map +1 -1
  132. package/models/trace/extras/StackTraceForEvent.js +24 -16
  133. package/models/trace/extras/StackTraceForEvent.js.map +1 -1
  134. package/models/trace/extras/ThirdParties.js +1 -1
  135. package/models/trace/extras/ThirdParties.js.map +1 -1
  136. package/models/trace/extras/TimelineJSProfile.d.ts +13 -0
  137. package/models/trace/extras/TimelineJSProfile.js +55 -0
  138. package/models/trace/extras/TimelineJSProfile.js.map +1 -0
  139. package/models/trace/extras/TraceFilter.js +2 -2
  140. package/models/trace/extras/TraceFilter.js.map +1 -1
  141. package/models/trace/extras/URLForEntry.d.ts +12 -0
  142. package/models/trace/extras/URLForEntry.js +43 -0
  143. package/models/trace/extras/URLForEntry.js.map +1 -0
  144. package/models/trace/extras/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -2
  145. package/models/trace/extras/extras-tsconfig.json +2 -2
  146. package/models/trace/extras/extras.d.ts +4 -1
  147. package/models/trace/extras/extras.js +4 -1
  148. package/models/trace/handlers/AuctionWorkletsHandler.js +5 -5
  149. package/models/trace/handlers/AuctionWorkletsHandler.js.map +1 -1
  150. package/models/trace/handlers/ExtensionTraceDataHandler.js +4 -4
  151. package/models/trace/handlers/ExtensionTraceDataHandler.js.map +1 -1
  152. package/models/trace/handlers/FlowsHandler.js +3 -3
  153. package/models/trace/handlers/FlowsHandler.js.map +1 -1
  154. package/models/trace/handlers/FramesHandler.js +7 -7
  155. package/models/trace/handlers/FramesHandler.js.map +1 -1
  156. package/models/trace/handlers/LargestImagePaintHandler.js +2 -2
  157. package/models/trace/handlers/LargestImagePaintHandler.js.map +1 -1
  158. package/models/trace/handlers/LayoutShiftsHandler.d.ts +1 -1
  159. package/models/trace/handlers/LayoutShiftsHandler.js +18 -10
  160. package/models/trace/handlers/LayoutShiftsHandler.js.map +1 -1
  161. package/models/trace/handlers/MetaHandler.js +7 -7
  162. package/models/trace/handlers/MetaHandler.js.map +1 -1
  163. package/models/trace/handlers/NetworkRequestsHandler.d.ts +1 -0
  164. package/models/trace/handlers/NetworkRequestsHandler.js +40 -26
  165. package/models/trace/handlers/NetworkRequestsHandler.js.map +1 -1
  166. package/models/trace/handlers/PageLoadMetricsHandler.d.ts +2 -2
  167. package/models/trace/handlers/PageLoadMetricsHandler.js +54 -25
  168. package/models/trace/handlers/PageLoadMetricsHandler.js.map +1 -1
  169. package/models/trace/handlers/RendererHandler.js +1 -1
  170. package/models/trace/handlers/RendererHandler.js.map +1 -1
  171. package/models/trace/handlers/ScreenshotsHandler.js +0 -1
  172. package/models/trace/handlers/ScreenshotsHandler.js.map +1 -1
  173. package/models/trace/handlers/ScriptsHandler.d.ts +5 -1
  174. package/models/trace/handlers/ScriptsHandler.js +51 -20
  175. package/models/trace/handlers/ScriptsHandler.js.map +1 -1
  176. package/models/trace/handlers/ServerTimingsHandler.d.ts +9 -0
  177. package/models/trace/handlers/ServerTimingsHandler.js +106 -0
  178. package/models/trace/handlers/ServerTimingsHandler.js.map +1 -0
  179. package/models/trace/handlers/Threads.d.ts +1 -1
  180. package/models/trace/handlers/Threads.js +17 -7
  181. package/models/trace/handlers/Threads.js.map +1 -1
  182. package/models/trace/handlers/UserInteractionsHandler.js +4 -3
  183. package/models/trace/handlers/UserInteractionsHandler.js.map +1 -1
  184. package/models/trace/handlers/WarningsHandler.js +16 -4
  185. package/models/trace/handlers/WarningsHandler.js.map +1 -1
  186. package/models/trace/handlers/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -2
  187. package/models/trace/handlers/handlers-tsconfig.json +2 -2
  188. package/models/trace/handlers/helpers.js +3 -0
  189. package/models/trace/handlers/helpers.js.map +1 -1
  190. package/models/trace/handlers/types.d.ts +2 -6
  191. package/models/trace/handlers/types.js.map +1 -1
  192. package/models/trace/helpers/SamplesIntegrator.d.ts +1 -1
  193. package/models/trace/helpers/SamplesIntegrator.js +19 -12
  194. package/models/trace/helpers/SamplesIntegrator.js.map +1 -1
  195. package/models/trace/helpers/Trace.js +111 -111
  196. package/models/trace/helpers/Trace.js.map +1 -1
  197. package/models/trace/helpers/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -2
  198. package/models/trace/helpers/helpers-tsconfig.json +2 -2
  199. package/models/trace/insights/CLSCulprits.d.ts +1 -1
  200. package/models/trace/insights/CLSCulprits.js +43 -22
  201. package/models/trace/insights/CLSCulprits.js.map +1 -1
  202. package/models/trace/insights/Cache.js +7 -6
  203. package/models/trace/insights/Cache.js.map +1 -1
  204. package/models/trace/insights/Common.js +7 -3
  205. package/models/trace/insights/Common.js.map +1 -1
  206. package/models/trace/insights/CumulativeLayoutShift.d.ts +57 -0
  207. package/models/trace/insights/CumulativeLayoutShift.js +335 -0
  208. package/models/trace/insights/CumulativeLayoutShift.js.map +1 -0
  209. package/models/trace/insights/DOMSize.js +3 -3
  210. package/models/trace/insights/DOMSize.js.map +1 -1
  211. package/models/trace/insights/DocumentLatency.d.ts +7 -3
  212. package/models/trace/insights/DocumentLatency.js +26 -10
  213. package/models/trace/insights/DocumentLatency.js.map +1 -1
  214. package/models/trace/insights/DuplicatedJavaScript.js +2 -2
  215. package/models/trace/insights/DuplicatedJavaScript.js.map +1 -1
  216. package/models/trace/insights/FontDisplay.js +2 -2
  217. package/models/trace/insights/FontDisplay.js.map +1 -1
  218. package/models/trace/insights/ForcedReflow.js +2 -2
  219. package/models/trace/insights/ForcedReflow.js.map +1 -1
  220. package/models/trace/insights/ImageDelivery.js +2 -2
  221. package/models/trace/insights/ImageDelivery.js.map +1 -1
  222. package/models/trace/insights/InsightRunners.d.ts +9 -0
  223. package/models/trace/insights/InsightRunners.js +13 -0
  224. package/models/trace/insights/InsightRunners.js.map +1 -0
  225. package/models/trace/insights/InteractionToNextPaint.js +3 -3
  226. package/models/trace/insights/InteractionToNextPaint.js.map +1 -1
  227. package/models/trace/insights/LCPDiscovery.js +3 -3
  228. package/models/trace/insights/LCPDiscovery.js.map +1 -1
  229. package/models/trace/insights/LCPPhases.d.ts +1 -1
  230. package/models/trace/insights/LCPPhases.js +4 -4
  231. package/models/trace/insights/LCPPhases.js.map +1 -1
  232. package/models/trace/insights/LargestContentfulPaint.d.ts +38 -0
  233. package/models/trace/insights/LargestContentfulPaint.js +113 -0
  234. package/models/trace/insights/LargestContentfulPaint.js.map +1 -0
  235. package/models/trace/insights/LegacyJavaScript.d.ts +1 -1
  236. package/models/trace/insights/LegacyJavaScript.js +3 -3
  237. package/models/trace/insights/LegacyJavaScript.js.map +1 -1
  238. package/models/trace/insights/ModernHTTP.js +2 -2
  239. package/models/trace/insights/ModernHTTP.js.map +1 -1
  240. package/models/trace/insights/NetworkDependencyTree.d.ts +151 -3
  241. package/models/trace/insights/NetworkDependencyTree.js +650 -12
  242. package/models/trace/insights/NetworkDependencyTree.js.map +1 -1
  243. package/models/trace/insights/RenderBlocking.js +4 -4
  244. package/models/trace/insights/RenderBlocking.js.map +1 -1
  245. package/models/trace/insights/SlowCSSSelector.js +2 -2
  246. package/models/trace/insights/SlowCSSSelector.js.map +1 -1
  247. package/models/trace/insights/ThirdParties.d.ts +1 -1
  248. package/models/trace/insights/ThirdParties.js +3 -3
  249. package/models/trace/insights/ThirdParties.js.map +1 -1
  250. package/models/trace/insights/ThirdPartyWeb.d.ts +13 -0
  251. package/models/trace/insights/ThirdPartyWeb.js +42 -0
  252. package/models/trace/insights/ThirdPartyWeb.js.map +1 -0
  253. package/models/trace/insights/Viewport.js +2 -2
  254. package/models/trace/insights/Viewport.js.map +1 -1
  255. package/models/trace/insights/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -2
  256. package/models/trace/insights/insights-tsconfig.json +2 -2
  257. package/models/trace/insights/types.d.ts +3 -1
  258. package/models/trace/insights/types.js +19 -0
  259. package/models/trace/insights/types.js.map +1 -1
  260. package/models/trace/lantern/core/core-tsconfig.json +2 -2
  261. package/models/trace/lantern/core/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -2
  262. package/models/trace/lantern/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -2
  263. package/models/trace/lantern/graph/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -2
  264. package/models/trace/lantern/graph/graph-tsconfig.json +2 -2
  265. package/models/trace/lantern/lantern-tsconfig.json +2 -2
  266. package/models/trace/lantern/metrics/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -2
  267. package/models/trace/lantern/metrics/metrics-tsconfig.json +2 -2
  268. package/models/trace/lantern/simulation/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -2
  269. package/models/trace/lantern/simulation/simulation-tsconfig.json +2 -2
  270. package/models/trace/lantern/types/Lantern.d.ts +4 -7
  271. package/models/trace/lantern/types/Lantern.js +1 -0
  272. package/models/trace/lantern/types/Lantern.js.map +1 -1
  273. package/models/trace/lantern/types/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -2
  274. package/models/trace/lantern/types/types-tsconfig.json +2 -2
  275. package/models/trace/root-causes/LayoutShift.d.ts +125 -0
  276. package/models/trace/root-causes/LayoutShift.js +519 -0
  277. package/models/trace/root-causes/LayoutShift.js.map +1 -0
  278. package/models/trace/root-causes/RootCauses.d.ts +15 -0
  279. package/models/trace/root-causes/RootCauses.js +12 -0
  280. package/models/trace/root-causes/RootCauses.js.map +1 -0
  281. package/models/trace/root-causes/bundle-tsconfig.json +1 -0
  282. package/models/trace/root-causes/devtools_entrypoint-bundle-typescript-tsconfig.json +42 -0
  283. package/models/trace/root-causes/root-causes-tsconfig.json +55 -0
  284. package/models/trace/root-causes/root-causes.d.ts +1 -0
  285. package/models/trace/root-causes/root-causes.js +5 -0
  286. package/models/trace/root-causes/root-causes.js.map +1 -0
  287. package/models/trace/trace-tsconfig.json +2 -2
  288. package/models/trace/types/Configuration.d.ts +2 -0
  289. package/models/trace/types/Configuration.js.map +1 -1
  290. package/models/trace/types/Extensions.d.ts +1 -3
  291. package/models/trace/types/Extensions.js.map +1 -1
  292. package/models/trace/types/File.d.ts +5 -4
  293. package/models/trace/types/File.js +28 -4
  294. package/models/trace/types/File.js.map +1 -1
  295. package/models/trace/types/TraceEvents.d.ts +55 -28
  296. package/models/trace/types/TraceEvents.js +377 -103
  297. package/models/trace/types/TraceEvents.js.map +1 -1
  298. package/models/trace/types/devtools_entrypoint-bundle-typescript-tsconfig.json +2 -2
  299. package/models/trace/types/types-tsconfig.json +2 -2
  300. package/package.json +1 -1
  301. package/test/test-trace-engine.mjs +77 -0
  302. package/third_party/marked/marked.d.ts +1 -0
  303. package/third_party/marked/marked.js +1 -0
  304. package/.tmp/tsbuildinfo/models/trace/extras/polyfills.d.ts +0 -4
  305. package/.tmp/tsbuildinfo/models/trace/extras/polyfills.d.ts.map +0 -1
@@ -1,17 +1,60 @@
1
1
  // Copyright 2022 The Chromium Authors. All rights reserved.
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
+ // Trace Events.
5
+ export var Phase;
6
+ (function (Phase) {
7
+ // Standard
8
+ Phase["BEGIN"] = "B";
9
+ Phase["END"] = "E";
10
+ Phase["COMPLETE"] = "X";
11
+ Phase["INSTANT"] = "I";
12
+ Phase["COUNTER"] = "C";
13
+ // Async
14
+ Phase["ASYNC_NESTABLE_START"] = "b";
15
+ Phase["ASYNC_NESTABLE_INSTANT"] = "n";
16
+ Phase["ASYNC_NESTABLE_END"] = "e";
17
+ Phase["ASYNC_STEP_INTO"] = "T";
18
+ Phase["ASYNC_BEGIN"] = "S";
19
+ Phase["ASYNC_END"] = "F";
20
+ Phase["ASYNC_STEP_PAST"] = "p";
21
+ // Flow
22
+ Phase["FLOW_START"] = "s";
23
+ Phase["FLOW_STEP"] = "t";
24
+ Phase["FLOW_END"] = "f";
25
+ // Sample
26
+ Phase["SAMPLE"] = "P";
27
+ // Object
28
+ Phase["OBJECT_CREATED"] = "N";
29
+ Phase["OBJECT_SNAPSHOT"] = "O";
30
+ Phase["OBJECT_DESTROYED"] = "D";
31
+ // Metadata
32
+ Phase["METADATA"] = "M";
33
+ // Memory Dump
34
+ Phase["MEMORY_DUMP_GLOBAL"] = "V";
35
+ Phase["MEMORY_DUMP_PROCESS"] = "v";
36
+ // Mark
37
+ Phase["MARK"] = "R";
38
+ // Clock sync
39
+ Phase["CLOCK_SYNC"] = "c";
40
+ })(Phase || (Phase = {}));
4
41
  export function isNestableAsyncPhase(phase) {
5
- return phase === "b" /* Phase.ASYNC_NESTABLE_START */ || phase === "e" /* Phase.ASYNC_NESTABLE_END */ ||
6
- phase === "n" /* Phase.ASYNC_NESTABLE_INSTANT */;
42
+ return phase === Phase.ASYNC_NESTABLE_START || phase === Phase.ASYNC_NESTABLE_END ||
43
+ phase === Phase.ASYNC_NESTABLE_INSTANT;
7
44
  }
8
45
  export function isPhaseAsync(phase) {
9
- return isNestableAsyncPhase(phase) || phase === "S" /* Phase.ASYNC_BEGIN */ || phase === "T" /* Phase.ASYNC_STEP_INTO */ ||
10
- phase === "F" /* Phase.ASYNC_END */ || phase === "p" /* Phase.ASYNC_STEP_PAST */;
46
+ return isNestableAsyncPhase(phase) || phase === Phase.ASYNC_BEGIN || phase === Phase.ASYNC_STEP_INTO ||
47
+ phase === Phase.ASYNC_END || phase === Phase.ASYNC_STEP_PAST;
11
48
  }
12
49
  export function isFlowPhase(phase) {
13
- return phase === "s" /* Phase.FLOW_START */ || phase === "t" /* Phase.FLOW_STEP */ || phase === "f" /* Phase.FLOW_END */;
14
- }
50
+ return phase === Phase.FLOW_START || phase === Phase.FLOW_STEP || phase === Phase.FLOW_END;
51
+ }
52
+ export var Scope;
53
+ (function (Scope) {
54
+ Scope["THREAD"] = "t";
55
+ Scope["PROCESS"] = "p";
56
+ Scope["GLOBAL"] = "g";
57
+ })(Scope || (Scope = {}));
15
58
  export function objectIsCallFrame(object) {
16
59
  return ('functionName' in object && typeof object.functionName === 'string') &&
17
60
  ('scriptId' in object && (typeof object.scriptId === 'string' || typeof object.scriptId === 'number')) &&
@@ -20,8 +63,16 @@ export function objectIsCallFrame(object) {
20
63
  ('url' in object && typeof object.url === 'string');
21
64
  }
22
65
  export function isRunTask(event) {
23
- return event.name === "RunTask" /* Name.RUN_TASK */;
24
- }
66
+ return event.name === Name.RUN_TASK;
67
+ }
68
+ export var AuctionWorkletType;
69
+ (function (AuctionWorkletType) {
70
+ AuctionWorkletType["BIDDER"] = "bidder";
71
+ AuctionWorkletType["SELLER"] = "seller";
72
+ // Not expected to be used, but here as a fallback in case new types get
73
+ // added and we have yet to update the trace engine.
74
+ AuctionWorkletType["UNKNOWN"] = "unknown";
75
+ })(AuctionWorkletType || (AuctionWorkletType = {}));
25
76
  export function isAuctionWorkletRunningInProcess(event) {
26
77
  return event.name === 'AuctionWorkletRunningInProcess';
27
78
  }
@@ -29,13 +80,13 @@ export function isAuctionWorkletDoneWithProcess(event) {
29
80
  return event.name === 'AuctionWorkletDoneWithProcess';
30
81
  }
31
82
  export function isLegacyScreenshot(event) {
32
- return event.name === "Screenshot" /* Name.SCREENSHOT */ && 'id' in event;
83
+ return event.name === Name.SCREENSHOT && 'id' in event;
33
84
  }
34
85
  export function isLegacySyntheticScreenshot(event) {
35
- return event.name === "Screenshot" /* Name.SCREENSHOT */ && 'dataUri' in (event.args ?? {});
86
+ return event.name === Name.SCREENSHOT && 'dataUri' in (event.args ?? {});
36
87
  }
37
88
  export function isScreenshot(event) {
38
- return event.name === "Screenshot" /* Name.SCREENSHOT */ && 'source_id' in (event.args ?? {});
89
+ return event.name === Name.SCREENSHOT && 'source_id' in (event.args ?? {});
39
90
  }
40
91
  const markerTypeGuards = [
41
92
  isMarkDOMContent,
@@ -47,7 +98,7 @@ const markerTypeGuards = [
47
98
  ];
48
99
  export const MarkerName = ['MarkDOMContent', 'MarkLoad', 'firstPaint', 'firstContentfulPaint', 'largestContentfulPaint::Candidate'];
49
100
  export function isMarkerEvent(event) {
50
- if (event.ph === "I" /* Phase.INSTANT */ || event.ph === "R" /* Phase.MARK */) {
101
+ if (event.ph === Phase.INSTANT || event.ph === Phase.MARK) {
51
102
  return markerTypeGuards.some(fn => fn(event));
52
103
  }
53
104
  return false;
@@ -57,7 +108,7 @@ const pageLoadEventTypeGuards = [
57
108
  isInteractiveTime,
58
109
  ];
59
110
  export function eventIsPageLoadEvent(event) {
60
- if (event.ph === "I" /* Phase.INSTANT */ || event.ph === "R" /* Phase.MARK */) {
111
+ if (event.ph === Phase.INSTANT || event.ph === Phase.MARK) {
61
112
  return pageLoadEventTypeGuards.some(fn => fn(event));
62
113
  }
63
114
  return false;
@@ -66,41 +117,59 @@ export function isTracingSessionIdForWorker(event) {
66
117
  return event.name === 'TracingSessionIdForWorker';
67
118
  }
68
119
  export const NO_NAVIGATION = 'NO_NAVIGATION';
120
+ export var LayoutInvalidationReason;
121
+ (function (LayoutInvalidationReason) {
122
+ LayoutInvalidationReason["SIZE_CHANGED"] = "Size changed";
123
+ LayoutInvalidationReason["ATTRIBUTE"] = "Attribute";
124
+ LayoutInvalidationReason["ADDED_TO_LAYOUT"] = "Added to layout";
125
+ LayoutInvalidationReason["SCROLLBAR_CHANGED"] = "Scrollbar changed";
126
+ LayoutInvalidationReason["REMOVED_FROM_LAYOUT"] = "Removed from layout";
127
+ LayoutInvalidationReason["STYLE_CHANGED"] = "Style changed";
128
+ LayoutInvalidationReason["FONTS_CHANGED"] = "Fonts changed";
129
+ LayoutInvalidationReason["UNKNOWN"] = "Unknown";
130
+ })(LayoutInvalidationReason || (LayoutInvalidationReason = {}));
69
131
  export function isScheduleStyleInvalidationTracking(event) {
70
- return event.name === "ScheduleStyleInvalidationTracking" /* Name.SCHEDULE_STYLE_INVALIDATION_TRACKING */;
132
+ return event.name === Name.SCHEDULE_STYLE_INVALIDATION_TRACKING;
71
133
  }
134
+ export var StyleRecalcInvalidationReason;
135
+ (function (StyleRecalcInvalidationReason) {
136
+ StyleRecalcInvalidationReason["ANIMATION"] = "Animation";
137
+ })(StyleRecalcInvalidationReason || (StyleRecalcInvalidationReason = {}));
72
138
  export function isStyleRecalcInvalidationTracking(event) {
73
- return event.name === "StyleRecalcInvalidationTracking" /* Name.STYLE_RECALC_INVALIDATION_TRACKING */;
139
+ return event.name === Name.STYLE_RECALC_INVALIDATION_TRACKING;
74
140
  }
75
141
  export function isStyleInvalidatorInvalidationTracking(event) {
76
- return event.name === "StyleInvalidatorInvalidationTracking" /* Name.STYLE_INVALIDATOR_INVALIDATION_TRACKING */;
142
+ return event.name === Name.STYLE_INVALIDATOR_INVALIDATION_TRACKING;
77
143
  }
78
144
  export function isBeginCommitCompositorFrame(event) {
79
- return event.name === "BeginCommitCompositorFrame" /* Name.BEGIN_COMMIT_COMPOSITOR_FRAME */;
145
+ return event.name === Name.BEGIN_COMMIT_COMPOSITOR_FRAME;
80
146
  }
81
147
  export function isParseMetaViewport(event) {
82
- return event.name === "ParseMetaViewport" /* Name.PARSE_META_VIEWPORT */;
148
+ return event.name === Name.PARSE_META_VIEWPORT;
149
+ }
150
+ export function isLinkPreconnect(event) {
151
+ return event.name === Name.LINK_PRECONNECT;
83
152
  }
84
153
  export function isScheduleStyleRecalculation(event) {
85
- return event.name === "ScheduleStyleRecalculation" /* Name.SCHEDULE_STYLE_RECALCULATION */;
154
+ return event.name === Name.SCHEDULE_STYLE_RECALCULATION;
86
155
  }
87
156
  export function isRenderFrameImplCreateChildFrame(event) {
88
- return event.name === "RenderFrameImpl::createChildFrame" /* Name.RENDER_FRAME_IMPL_CREATE_CHILD_FRAME */;
157
+ return event.name === Name.RENDER_FRAME_IMPL_CREATE_CHILD_FRAME;
89
158
  }
90
159
  export function isLayoutImageUnsized(event) {
91
- return event.name === "LayoutImageUnsized" /* Name.LAYOUT_IMAGE_UNSIZED */;
160
+ return event.name === Name.LAYOUT_IMAGE_UNSIZED;
92
161
  }
93
162
  export function isAnimationFrameAsyncStart(data) {
94
- return data.name === "AnimationFrame" /* Name.ANIMATION_FRAME */ && data.ph === "b" /* Phase.ASYNC_NESTABLE_START */;
163
+ return data.name === Name.ANIMATION_FRAME && data.ph === Phase.ASYNC_NESTABLE_START;
95
164
  }
96
165
  export function isAnimationFrameAsyncEnd(data) {
97
- return data.name === "AnimationFrame" /* Name.ANIMATION_FRAME */ && data.ph === "e" /* Phase.ASYNC_NESTABLE_END */;
166
+ return data.name === Name.ANIMATION_FRAME && data.ph === Phase.ASYNC_NESTABLE_END;
98
167
  }
99
168
  export function isAnimationFramePresentation(data) {
100
- return data.name === "AnimationFrame::Presentation" /* Name.ANIMATION_FRAME_PRESENTATION */;
169
+ return data.name === Name.ANIMATION_FRAME_PRESENTATION;
101
170
  }
102
171
  export function isPipelineReporter(event) {
103
- return event.name === "PipelineReporter" /* Name.PIPELINE_REPORTER */;
172
+ return event.name === Name.PIPELINE_REPORTER;
104
173
  }
105
174
  export function isSyntheticBased(event) {
106
175
  return 'rawSourceEvent' in event;
@@ -110,50 +179,50 @@ export function isSyntheticInteraction(event) {
110
179
  }
111
180
  export function isDrawFrame(event) {
112
181
  // The extra check for INSTANT here is because in the past DrawFrame events had an ASYNC_NESTABLE_START and ASYNC_NESTABLE_END pair. We don't want to support those old events, so we have to check we are dealing with an instant event.
113
- return event.name === "DrawFrame" /* Name.DRAW_FRAME */ && event.ph === "I" /* Phase.INSTANT */;
182
+ return event.name === Name.DRAW_FRAME && event.ph === Phase.INSTANT;
114
183
  }
115
184
  export function isBeginFrame(event) {
116
185
  // Old traces did not have frameSeqId; but we do not want to support these.
117
- return Boolean(event.name === "BeginFrame" /* Name.BEGIN_FRAME */ && event.args && 'frameSeqId' in event.args);
186
+ return Boolean(event.name === Name.BEGIN_FRAME && event.args && 'frameSeqId' in event.args);
118
187
  }
119
188
  export function isDroppedFrame(event) {
120
189
  // Old traces did not have frameSeqId; but we do not want to support these.
121
- return Boolean(event.name === "DroppedFrame" /* Name.DROPPED_FRAME */ && event.args && 'frameSeqId' in event.args);
190
+ return Boolean(event.name === Name.DROPPED_FRAME && event.args && 'frameSeqId' in event.args);
122
191
  }
123
192
  export function isRequestMainThreadFrame(event) {
124
- return event.name === "RequestMainThreadFrame" /* Name.REQUEST_MAIN_THREAD_FRAME */;
193
+ return event.name === Name.REQUEST_MAIN_THREAD_FRAME;
125
194
  }
126
195
  export function isBeginMainThreadFrame(event) {
127
- return event.name === "BeginMainThreadFrame" /* Name.BEGIN_MAIN_THREAD_FRAME */;
196
+ return event.name === Name.BEGIN_MAIN_THREAD_FRAME;
128
197
  }
129
198
  export function isNeedsBeginFrameChanged(event) {
130
- return event.name === "NeedsBeginFrameChanged" /* Name.NEEDS_BEGIN_FRAME_CHANGED */;
199
+ return event.name === Name.NEEDS_BEGIN_FRAME_CHANGED;
131
200
  }
132
201
  export function isCommit(event) {
133
202
  // Old traces did not have frameSeqId; but we do not want to support these.
134
- return Boolean(event.name === "Commit" /* Name.COMMIT */ && event.args && 'frameSeqId' in event.args);
203
+ return Boolean(event.name === Name.COMMIT && event.args && 'frameSeqId' in event.args);
135
204
  }
136
205
  export function isRasterTask(event) {
137
- return event.name === "RasterTask" /* Name.RASTER_TASK */;
206
+ return event.name === Name.RASTER_TASK;
138
207
  }
139
208
  export function isCompositeLayers(event) {
140
- return event.name === "CompositeLayers" /* Name.COMPOSITE_LAYERS */;
209
+ return event.name === Name.COMPOSITE_LAYERS;
141
210
  }
142
211
  export function isActivateLayerTree(event) {
143
- return event.name === "ActivateLayerTree" /* Name.ACTIVATE_LAYER_TREE */;
212
+ return event.name === Name.ACTIVATE_LAYER_TREE;
144
213
  }
145
214
  export function isInvalidationTracking(event) {
146
215
  return isScheduleStyleInvalidationTracking(event) || isStyleRecalcInvalidationTracking(event) ||
147
216
  isStyleInvalidatorInvalidationTracking(event) || isLayoutInvalidationTracking(event);
148
217
  }
149
218
  export function isDrawLazyPixelRef(event) {
150
- return event.name === "Draw LazyPixelRef" /* Name.DRAW_LAZY_PIXEL_REF */;
219
+ return event.name === Name.DRAW_LAZY_PIXEL_REF;
151
220
  }
152
221
  export function isDecodeLazyPixelRef(event) {
153
- return event.name === "Decode LazyPixelRef" /* Name.DECODE_LAZY_PIXEL_REF */;
222
+ return event.name === Name.DECODE_LAZY_PIXEL_REF;
154
223
  }
155
224
  export function isDecodeImage(event) {
156
- return event.name === "Decode Image" /* Name.DECODE_IMAGE */;
225
+ return event.name === Name.DECODE_IMAGE;
157
226
  }
158
227
  export var SelectorTimingsKey;
159
228
  (function (SelectorTimingsKey) {
@@ -166,22 +235,22 @@ export var SelectorTimingsKey;
166
235
  SelectorTimingsKey["StyleSheetId"] = "style_sheet_id";
167
236
  })(SelectorTimingsKey || (SelectorTimingsKey = {}));
168
237
  export function isSelectorStats(event) {
169
- return event.name === "SelectorStats" /* Name.SELECTOR_STATS */;
238
+ return event.name === Name.SELECTOR_STATS;
170
239
  }
171
240
  export function isUpdateLayoutTree(event) {
172
- return event.name === "UpdateLayoutTree" /* Name.UPDATE_LAYOUT_TREE */;
241
+ return event.name === Name.UPDATE_LAYOUT_TREE;
173
242
  }
174
243
  export function isLayout(event) {
175
- return event.name === "Layout" /* Name.LAYOUT */;
244
+ return event.name === Name.LAYOUT;
176
245
  }
177
246
  export function isInvalidateLayout(event) {
178
- return event.name === "InvalidateLayout" /* Name.INVALIDATE_LAYOUT */;
247
+ return event.name === Name.INVALIDATE_LAYOUT;
179
248
  }
180
249
  export function isDebuggerAsyncTaskScheduled(event) {
181
- return event.name === "v8::Debugger::AsyncTaskScheduled" /* Name.DEBUGGER_ASYNC_TASK_SCHEDULED */;
250
+ return event.name === Name.DEBUGGER_ASYNC_TASK_SCHEDULED;
182
251
  }
183
252
  export function isDebuggerAsyncTaskRun(event) {
184
- return event.name === "v8::Debugger::AsyncTaskRun" /* Name.DEBUGGER_ASYNC_TASK_RUN */;
253
+ return event.name === Name.DEBUGGER_ASYNC_TASK_RUN;
185
254
  }
186
255
  export function ProfileID(value) {
187
256
  return value;
@@ -202,19 +271,19 @@ export function WorkerId(value) {
202
271
  return value;
203
272
  }
204
273
  export function isComplete(event) {
205
- return event.ph === "X" /* Phase.COMPLETE */;
274
+ return event.ph === Phase.COMPLETE;
206
275
  }
207
276
  export function isBegin(event) {
208
- return event.ph === "B" /* Phase.BEGIN */;
277
+ return event.ph === Phase.BEGIN;
209
278
  }
210
279
  export function isEnd(event) {
211
- return event.ph === "E" /* Phase.END */;
280
+ return event.ph === Phase.END;
212
281
  }
213
282
  export function isDispatch(event) {
214
283
  return event.name === 'EventDispatch';
215
284
  }
216
285
  export function isInstant(event) {
217
- return event.ph === "I" /* Phase.INSTANT */;
286
+ return event.ph === Phase.INSTANT;
218
287
  }
219
288
  export function isRendererEvent(event) {
220
289
  return isInstant(event) || isComplete(event);
@@ -223,10 +292,10 @@ export function isFireIdleCallback(event) {
223
292
  return event.name === 'FireIdleCallback';
224
293
  }
225
294
  export function isSchedulePostMessage(event) {
226
- return event.name === "SchedulePostMessage" /* Name.SCHEDULE_POST_MESSAGE */;
295
+ return event.name === Name.SCHEDULE_POST_MESSAGE;
227
296
  }
228
297
  export function isHandlePostMessage(event) {
229
- return event.name === "HandlePostMessage" /* Name.HANDLE_POST_MESSAGE */;
298
+ return event.name === Name.HANDLE_POST_MESSAGE;
230
299
  }
231
300
  export function isUpdateCounters(event) {
232
301
  return event.name === 'UpdateCounters';
@@ -235,13 +304,13 @@ export function isDOMStats(event) {
235
304
  return event.name === 'DOMStats';
236
305
  }
237
306
  export function isThreadName(event) {
238
- return event.name === "thread_name" /* Name.THREAD_NAME */;
307
+ return event.name === Name.THREAD_NAME;
239
308
  }
240
309
  export function isProcessName(event) {
241
310
  return event.name === 'process_name';
242
311
  }
243
312
  export function isTracingStartedInBrowser(event) {
244
- return event.name === "TracingStartedInBrowser" /* Name.TRACING_STARTED_IN_BROWSER */;
313
+ return event.name === Name.TRACING_STARTED_IN_BROWSER;
245
314
  }
246
315
  export function isFrameCommittedInBrowser(event) {
247
316
  return event.name === 'FrameCommittedInBrowser';
@@ -264,16 +333,16 @@ export function isSyntheticAnimation(event) {
264
333
  return 'beginEvent' in data && 'endEvent' in data;
265
334
  }
266
335
  export function isLayoutShift(event) {
267
- return event.name === "LayoutShift" /* Name.LAYOUT_SHIFT */;
336
+ return event.name === Name.LAYOUT_SHIFT;
268
337
  }
269
338
  export function isLayoutInvalidationTracking(event) {
270
- return event.name === "LayoutInvalidationTracking" /* Name.LAYOUT_INVALIDATION_TRACKING */;
339
+ return event.name === Name.LAYOUT_INVALIDATION_TRACKING;
271
340
  }
272
341
  export function isFirstContentfulPaint(event) {
273
342
  return event.name === 'firstContentfulPaint';
274
343
  }
275
344
  export function isLargestContentfulPaintCandidate(event) {
276
- return event.name === "largestContentfulPaint::Candidate" /* Name.MARK_LCP_CANDIDATE */;
345
+ return event.name === Name.MARK_LCP_CANDIDATE;
277
346
  }
278
347
  export function isLargestImagePaintCandidate(event) {
279
348
  return event.name === 'LargestImagePaint::Candidate';
@@ -294,13 +363,13 @@ export function isInteractiveTime(event) {
294
363
  return event.name === 'InteractiveTime';
295
364
  }
296
365
  export function isEventTiming(event) {
297
- return event.name === "EventTiming" /* Name.EVENT_TIMING */;
366
+ return event.name === Name.EVENT_TIMING;
298
367
  }
299
368
  export function isEventTimingEnd(event) {
300
- return isEventTiming(event) && event.ph === "e" /* Phase.ASYNC_NESTABLE_END */;
369
+ return isEventTiming(event) && event.ph === Phase.ASYNC_NESTABLE_END;
301
370
  }
302
371
  export function isEventTimingStart(event) {
303
- return isEventTiming(event) && event.ph === "b" /* Phase.ASYNC_NESTABLE_START */;
372
+ return isEventTiming(event) && event.ph === Phase.ASYNC_NESTABLE_START;
304
373
  }
305
374
  export function isGPUTask(event) {
306
375
  return event.name === 'GPUTask';
@@ -341,7 +410,7 @@ export function isReceivedDataEvent(event) {
341
410
  event.name === 'ResourceReceiveResponse';
342
411
  }
343
412
  export function isSyntheticNetworkRequest(event) {
344
- return event.name === "SyntheticNetworkRequest" /* Name.SYNTHETIC_NETWORK_REQUEST */;
413
+ return event.name === Name.SYNTHETIC_NETWORK_REQUEST;
345
414
  }
346
415
  export function isSyntheticWebSocketConnection(event) {
347
416
  return event.name === 'SyntheticWebSocketConnection';
@@ -386,104 +455,104 @@ export function isUserTiming(event) {
386
455
  return event.cat === 'blink.user_timing';
387
456
  }
388
457
  export function isDomLoading(event) {
389
- return event.name === "domLoading" /* Name.DOM_LOADING */;
458
+ return event.name === Name.DOM_LOADING;
390
459
  }
391
460
  export function isBeginRemoteFontLoad(event) {
392
- return event.name === "BeginRemoteFontLoad" /* Name.BEGIN_REMOTE_FONT_LOAD */;
461
+ return event.name === Name.BEGIN_REMOTE_FONT_LOAD;
393
462
  }
394
463
  export function isRemoteFontLoaded(event) {
395
- return event.name === "RemoteFontLoaded" /* Name.REMOTE_FONT_LOADED */;
464
+ return event.name === Name.REMOTE_FONT_LOADED;
396
465
  }
397
466
  export function isPerformanceMeasure(event) {
398
467
  return isUserTiming(event) && isPhaseAsync(event.ph);
399
468
  }
400
469
  export function isPerformanceMeasureBegin(event) {
401
- return isPerformanceMeasure(event) && event.ph === "b" /* Phase.ASYNC_NESTABLE_START */;
470
+ return isPerformanceMeasure(event) && event.ph === Phase.ASYNC_NESTABLE_START;
402
471
  }
403
472
  export function isPerformanceMark(event) {
404
- return isUserTiming(event) && (event.ph === "R" /* Phase.MARK */ || event.ph === "I" /* Phase.INSTANT */);
473
+ return isUserTiming(event) && (event.ph === Phase.MARK || event.ph === Phase.INSTANT);
405
474
  }
406
475
  export function isConsoleTime(event) {
407
476
  return event.cat === 'blink.console' && isPhaseAsync(event.ph);
408
477
  }
409
478
  export function isConsoleTimeStamp(event) {
410
- return event.ph === "I" /* Phase.INSTANT */ && event.name === "TimeStamp" /* Name.TIME_STAMP */;
479
+ return event.ph === Phase.INSTANT && event.name === Name.TIME_STAMP;
411
480
  }
412
481
  export function isUserTimingMeasure(event) {
413
- return event.name === "UserTiming::Measure" /* Name.USER_TIMING_MEASURE */;
482
+ return event.name === Name.USER_TIMING_MEASURE;
414
483
  }
415
484
  export function isParseHTML(event) {
416
485
  return event.name === 'ParseHTML';
417
486
  }
418
487
  export function isSyntheticLayoutShift(event) {
419
- return event.name === "SyntheticLayoutShift" /* Name.SYNTHETIC_LAYOUT_SHIFT */;
488
+ return event.name === Name.SYNTHETIC_LAYOUT_SHIFT;
420
489
  }
421
490
  export function isSyntheticLayoutShiftCluster(event) {
422
- return event.name === "SyntheticLayoutShiftCluster" /* Name.SYNTHETIC_LAYOUT_SHIFT_CLUSTER */;
491
+ return event.name === Name.SYNTHETIC_LAYOUT_SHIFT_CLUSTER;
423
492
  }
424
493
  export function isProfileCall(event) {
425
494
  return 'callFrame' in event;
426
495
  }
427
496
  export function isPaint(event) {
428
- return event.name === "Paint" /* Name.PAINT */;
497
+ return event.name === Name.PAINT;
429
498
  }
430
499
  export function isPaintImage(event) {
431
- return event.name === "PaintImage" /* Name.PAINT_IMAGE */;
500
+ return event.name === Name.PAINT_IMAGE;
432
501
  }
433
502
  export function isScrollLayer(event) {
434
- return event.name === "ScrollLayer" /* Name.SCROLL_LAYER */;
503
+ return event.name === Name.SCROLL_LAYER;
435
504
  }
436
505
  export function isSetLayerId(event) {
437
- return event.name === "SetLayerTreeId" /* Name.SET_LAYER_TREE_ID */;
506
+ return event.name === Name.SET_LAYER_TREE_ID;
438
507
  }
439
508
  export function isUpdateLayer(event) {
440
- return event.name === "UpdateLayer" /* Name.UPDATE_LAYER */;
509
+ return event.name === Name.UPDATE_LAYER;
441
510
  }
442
511
  export function isDisplayListItemListSnapshot(event) {
443
- return event.name === "cc::DisplayItemList" /* Name.DISPLAY_ITEM_LIST_SNAPSHOT */;
512
+ return event.name === Name.DISPLAY_ITEM_LIST_SNAPSHOT;
444
513
  }
445
514
  export function isLayerTreeHostImplSnapshot(event) {
446
- return event.name === "cc::LayerTreeHostImpl" /* Name.LAYER_TREE_HOST_IMPL_SNAPSHOT */;
515
+ return event.name === Name.LAYER_TREE_HOST_IMPL_SNAPSHOT;
447
516
  }
448
517
  export function isFireAnimationFrame(event) {
449
- return event.name === "FireAnimationFrame" /* Name.FIRE_ANIMATION_FRAME */;
518
+ return event.name === Name.FIRE_ANIMATION_FRAME;
450
519
  }
451
520
  export function isRequestAnimationFrame(event) {
452
- return event.name === "RequestAnimationFrame" /* Name.REQUEST_ANIMATION_FRAME */;
521
+ return event.name === Name.REQUEST_ANIMATION_FRAME;
453
522
  }
454
523
  export function isTimerInstall(event) {
455
- return event.name === "TimerInstall" /* Name.TIMER_INSTALL */;
524
+ return event.name === Name.TIMER_INSTALL;
456
525
  }
457
526
  export function isTimerFire(event) {
458
- return event.name === "TimerFire" /* Name.TIMER_FIRE */;
527
+ return event.name === Name.TIMER_FIRE;
459
528
  }
460
529
  export function isRequestIdleCallback(event) {
461
- return event.name === "RequestIdleCallback" /* Name.REQUEST_IDLE_CALLBACK */;
530
+ return event.name === Name.REQUEST_IDLE_CALLBACK;
462
531
  }
463
532
  export function isWebSocketCreate(event) {
464
- return event.name === "WebSocketCreate" /* Name.WEB_SOCKET_CREATE */;
533
+ return event.name === Name.WEB_SOCKET_CREATE;
465
534
  }
466
535
  export function isWebSocketInfo(event) {
467
- return event.name === "WebSocketSendHandshakeRequest" /* Name.WEB_SOCKET_SEND_HANDSHAKE_REQUEST */ ||
468
- event.name === "WebSocketReceiveHandshakeResponse" /* Name.WEB_SOCKET_RECEIVE_HANDSHAKE_REQUEST */ || event.name === "WebSocketDestroy" /* Name.WEB_SOCKET_DESTROY */;
536
+ return event.name === Name.WEB_SOCKET_SEND_HANDSHAKE_REQUEST ||
537
+ event.name === Name.WEB_SOCKET_RECEIVE_HANDSHAKE_REQUEST || event.name === Name.WEB_SOCKET_DESTROY;
469
538
  }
470
539
  export function isWebSocketTransfer(event) {
471
- return event.name === "WebSocketSend" /* Name.WEB_SOCKET_SEND */ || event.name === "WebSocketReceive" /* Name.WEB_SOCKET_RECEIVE */;
540
+ return event.name === Name.WEB_SOCKET_SEND || event.name === Name.WEB_SOCKET_RECEIVE;
472
541
  }
473
542
  export function isWebSocketSend(event) {
474
- return event.name === "WebSocketSend" /* Name.WEB_SOCKET_SEND */;
543
+ return event.name === Name.WEB_SOCKET_SEND;
475
544
  }
476
545
  export function isWebSocketReceive(event) {
477
- return event.name === "WebSocketReceive" /* Name.WEB_SOCKET_RECEIVE */;
546
+ return event.name === Name.WEB_SOCKET_RECEIVE;
478
547
  }
479
548
  export function isWebSocketSendHandshakeRequest(event) {
480
- return event.name === "WebSocketSendHandshakeRequest" /* Name.WEB_SOCKET_SEND_HANDSHAKE_REQUEST */;
549
+ return event.name === Name.WEB_SOCKET_SEND_HANDSHAKE_REQUEST;
481
550
  }
482
551
  export function isWebSocketReceiveHandshakeResponse(event) {
483
- return event.name === "WebSocketReceiveHandshakeResponse" /* Name.WEB_SOCKET_RECEIVE_HANDSHAKE_REQUEST */;
552
+ return event.name === Name.WEB_SOCKET_RECEIVE_HANDSHAKE_REQUEST;
484
553
  }
485
554
  export function isWebSocketDestroy(event) {
486
- return event.name === "WebSocketDestroy" /* Name.WEB_SOCKET_DESTROY */;
555
+ return event.name === Name.WEB_SOCKET_DESTROY;
487
556
  }
488
557
  export function isWebSocketTraceEvent(event) {
489
558
  return isWebSocketCreate(event) || isWebSocketInfo(event) || isWebSocketTransfer(event);
@@ -492,19 +561,19 @@ export function isWebSocketEvent(event) {
492
561
  return isWebSocketTraceEvent(event) || isSyntheticWebSocketConnection(event);
493
562
  }
494
563
  export function isV8Compile(event) {
495
- return event.name === "v8.compile" /* Name.COMPILE */;
564
+ return event.name === Name.COMPILE;
496
565
  }
497
566
  export function isFunctionCall(event) {
498
- return event.name === "FunctionCall" /* Name.FUNCTION_CALL */;
567
+ return event.name === Name.FUNCTION_CALL;
499
568
  }
500
569
  export function isSchedulePostTaskCallback(event) {
501
- return event.name === "SchedulePostTaskCallback" /* Name.SCHEDULE_POST_TASK_CALLBACK */;
570
+ return event.name === Name.SCHEDULE_POST_TASK_CALLBACK;
502
571
  }
503
572
  export function isRunPostTaskCallback(event) {
504
- return event.name === "RunPostTaskCallback" /* Name.RUN_POST_TASK_CALLBACK */;
573
+ return event.name === Name.RUN_POST_TASK_CALLBACK;
505
574
  }
506
575
  export function isAbortPostTaskCallback(event) {
507
- return event.name === "AbortPostTaskCallback" /* Name.ABORT_POST_TASK_CALLBACK */;
576
+ return event.name === Name.ABORT_POST_TASK_CALLBACK;
508
577
  }
509
578
  /**
510
579
  * Generally, before JS is executed, a trace event is dispatched that
@@ -514,14 +583,14 @@ export function isAbortPostTaskCallback(event) {
514
583
  */
515
584
  export function isJSInvocationEvent(event) {
516
585
  switch (event.name) {
517
- case "RunMicrotasks" /* Name.RUN_MICROTASKS */:
518
- case "FunctionCall" /* Name.FUNCTION_CALL */:
586
+ case Name.RUN_MICROTASKS:
587
+ case Name.FUNCTION_CALL:
519
588
  // TODO(paulirish): Define types for these Evaluate* events
520
- case "EvaluateScript" /* Name.EVALUATE_SCRIPT */:
521
- case "v8.evaluateModule" /* Name.EVALUATE_MODULE */:
522
- case "EventDispatch" /* Name.EVENT_DISPATCH */:
523
- case "V8.Execute" /* Name.V8_EXECUTE */:
524
- case "V8Console::runTask" /* Name.V8_CONSOLE_RUN_TASK */:
589
+ case Name.EVALUATE_SCRIPT:
590
+ case Name.EVALUATE_MODULE:
591
+ case Name.EVENT_DISPATCH:
592
+ case Name.V8_EXECUTE:
593
+ case Name.V8_CONSOLE_RUN_TASK:
525
594
  return true;
526
595
  }
527
596
  // Also consider any new v8 trace events. (eg 'V8.RunMicrotasks' and 'v8.run')
@@ -534,11 +603,216 @@ export function isJSInvocationEvent(event) {
534
603
  return false;
535
604
  }
536
605
  export function isConsoleRunTask(event) {
537
- return event.name === "V8Console::runTask" /* Name.V8_CONSOLE_RUN_TASK */;
606
+ return event.name === Name.V8_CONSOLE_RUN_TASK;
538
607
  }
539
608
  export function isFlowPhaseEvent(event) {
540
- return event.ph === "s" /* Phase.FLOW_START */ || event.ph === "t" /* Phase.FLOW_STEP */ || event.ph === "f" /* Phase.FLOW_END */;
609
+ return event.ph === Phase.FLOW_START || event.ph === Phase.FLOW_STEP || event.ph === Phase.FLOW_END;
541
610
  }
611
+ export function isParseAuthorStyleSheetEvent(event) {
612
+ return event.name === Name.PARSE_AUTHOR_STYLE_SHEET;
613
+ }
614
+ /**
615
+ * This is an exhaustive list of events we track in the Performance
616
+ * panel. Note not all of them are necessarliry shown in the flame
617
+ * chart, some of them we only use for parsing.
618
+ * TODO(crbug.com/1428024): Complete this enum.
619
+ */
620
+ export var Name;
621
+ (function (Name) {
622
+ /* Metadata */
623
+ Name["THREAD_NAME"] = "thread_name";
624
+ /* Task */
625
+ Name["PROGRAM"] = "Program";
626
+ Name["RUN_TASK"] = "RunTask";
627
+ Name["ASYNC_TASK"] = "AsyncTask";
628
+ Name["RUN_MICROTASKS"] = "RunMicrotasks";
629
+ /* Load */
630
+ Name["XHR_LOAD"] = "XHRLoad";
631
+ Name["XHR_READY_STATE_CHANGED"] = "XHRReadyStateChange";
632
+ /* Parse */
633
+ Name["PARSE_HTML"] = "ParseHTML";
634
+ Name["PARSE_CSS"] = "ParseAuthorStyleSheet";
635
+ /* V8 */
636
+ Name["COMPILE_CODE"] = "V8.CompileCode";
637
+ Name["COMPILE_MODULE"] = "V8.CompileModule";
638
+ // Although V8 emits the V8.CompileScript event, the event that actually
639
+ // contains the useful information about the script (URL, etc), is contained
640
+ // in the v8.compile event.
641
+ // Yes, it is all lowercase compared to all the rest of the V8... events,
642
+ // that is not a typo :)
643
+ Name["COMPILE"] = "v8.compile";
644
+ Name["COMPILE_SCRIPT"] = "V8.CompileScript";
645
+ Name["OPTIMIZE"] = "V8.OptimizeCode";
646
+ Name["WASM_STREAM_FROM_RESPONSE_CALLBACK"] = "v8.wasm.streamFromResponseCallback";
647
+ Name["WASM_COMPILED_MODULE"] = "v8.wasm.compiledModule";
648
+ Name["WASM_CACHED_MODULE"] = "v8.wasm.cachedModule";
649
+ Name["WASM_MODULE_CACHE_HIT"] = "v8.wasm.moduleCacheHit";
650
+ Name["WASM_MODULE_CACHE_INVALID"] = "v8.wasm.moduleCacheInvalid";
651
+ /* Js */
652
+ Name["PROFILE_CALL"] = "ProfileCall";
653
+ Name["EVALUATE_SCRIPT"] = "EvaluateScript";
654
+ Name["FUNCTION_CALL"] = "FunctionCall";
655
+ Name["EVENT_DISPATCH"] = "EventDispatch";
656
+ Name["EVALUATE_MODULE"] = "v8.evaluateModule";
657
+ Name["REQUEST_MAIN_THREAD_FRAME"] = "RequestMainThreadFrame";
658
+ Name["REQUEST_ANIMATION_FRAME"] = "RequestAnimationFrame";
659
+ Name["CANCEL_ANIMATION_FRAME"] = "CancelAnimationFrame";
660
+ Name["FIRE_ANIMATION_FRAME"] = "FireAnimationFrame";
661
+ Name["REQUEST_IDLE_CALLBACK"] = "RequestIdleCallback";
662
+ Name["CANCEL_IDLE_CALLBACK"] = "CancelIdleCallback";
663
+ Name["FIRE_IDLE_CALLBACK"] = "FireIdleCallback";
664
+ Name["TIMER_INSTALL"] = "TimerInstall";
665
+ Name["TIMER_REMOVE"] = "TimerRemove";
666
+ Name["TIMER_FIRE"] = "TimerFire";
667
+ Name["WEB_SOCKET_CREATE"] = "WebSocketCreate";
668
+ Name["WEB_SOCKET_SEND_HANDSHAKE"] = "WebSocketSendHandshakeRequest";
669
+ Name["WEB_SOCKET_RECEIVE_HANDSHAKE"] = "WebSocketReceiveHandshakeResponse";
670
+ Name["WEB_SOCKET_DESTROY"] = "WebSocketDestroy";
671
+ Name["WEB_SOCKET_SEND"] = "WebSocketSend";
672
+ Name["WEB_SOCKET_RECEIVE"] = "WebSocketReceive";
673
+ Name["CRYPTO_DO_ENCRYPT"] = "DoEncrypt";
674
+ Name["CRYPTO_DO_ENCRYPT_REPLY"] = "DoEncryptReply";
675
+ Name["CRYPTO_DO_DECRYPT"] = "DoDecrypt";
676
+ Name["CRYPTO_DO_DECRYPT_REPLY"] = "DoDecryptReply";
677
+ Name["CRYPTO_DO_DIGEST"] = "DoDigest";
678
+ Name["CRYPTO_DO_DIGEST_REPLY"] = "DoDigestReply";
679
+ Name["CRYPTO_DO_SIGN"] = "DoSign";
680
+ Name["CRYPTO_DO_SIGN_REPLY"] = "DoSignReply";
681
+ Name["CRYPTO_DO_VERIFY"] = "DoVerify";
682
+ Name["CRYPTO_DO_VERIFY_REPLY"] = "DoVerifyReply";
683
+ Name["V8_EXECUTE"] = "V8.Execute";
684
+ Name["V8_CONSOLE_RUN_TASK"] = "V8Console::runTask";
685
+ Name["SCHEDULE_POST_TASK_CALLBACK"] = "SchedulePostTaskCallback";
686
+ Name["RUN_POST_TASK_CALLBACK"] = "RunPostTaskCallback";
687
+ Name["ABORT_POST_TASK_CALLBACK"] = "AbortPostTaskCallback";
688
+ Name["DEBUGGER_ASYNC_TASK_RUN"] = "v8::Debugger::AsyncTaskRun";
689
+ Name["DEBUGGER_ASYNC_TASK_SCHEDULED"] = "v8::Debugger::AsyncTaskScheduled";
690
+ /* Gc */
691
+ Name["GC"] = "GCEvent";
692
+ Name["DOMGC"] = "BlinkGC.AtomicPhase";
693
+ Name["MAJOR_GC"] = "MajorGC";
694
+ Name["MINOR_GC"] = "MinorGC";
695
+ Name["GC_COLLECT_GARBARGE"] = "BlinkGC.AtomicPhase";
696
+ Name["CPPGC_SWEEP"] = "CppGC.IncrementalSweep";
697
+ /* Layout */
698
+ Name["SCHEDULE_STYLE_RECALCULATION"] = "ScheduleStyleRecalculation";
699
+ Name["LAYOUT"] = "Layout";
700
+ Name["UPDATE_LAYOUT_TREE"] = "UpdateLayoutTree";
701
+ Name["INVALIDATE_LAYOUT"] = "InvalidateLayout";
702
+ Name["LAYOUT_INVALIDATION_TRACKING"] = "LayoutInvalidationTracking";
703
+ Name["COMPUTE_INTERSECTION"] = "ComputeIntersections";
704
+ Name["HIT_TEST"] = "HitTest";
705
+ Name["PRE_PAINT"] = "PrePaint";
706
+ Name["LAYERIZE"] = "Layerize";
707
+ Name["LAYOUT_SHIFT"] = "LayoutShift";
708
+ Name["SYNTHETIC_LAYOUT_SHIFT"] = "SyntheticLayoutShift";
709
+ Name["SYNTHETIC_LAYOUT_SHIFT_CLUSTER"] = "SyntheticLayoutShiftCluster";
710
+ Name["UPDATE_LAYER_TREE"] = "UpdateLayerTree";
711
+ Name["SCHEDULE_STYLE_INVALIDATION_TRACKING"] = "ScheduleStyleInvalidationTracking";
712
+ Name["STYLE_RECALC_INVALIDATION_TRACKING"] = "StyleRecalcInvalidationTracking";
713
+ Name["STYLE_INVALIDATOR_INVALIDATION_TRACKING"] = "StyleInvalidatorInvalidationTracking";
714
+ Name["SELECTOR_STATS"] = "SelectorStats";
715
+ Name["BEGIN_COMMIT_COMPOSITOR_FRAME"] = "BeginCommitCompositorFrame";
716
+ Name["PARSE_META_VIEWPORT"] = "ParseMetaViewport";
717
+ /* Paint */
718
+ Name["SCROLL_LAYER"] = "ScrollLayer";
719
+ Name["UPDATE_LAYER"] = "UpdateLayer";
720
+ Name["PAINT_SETUP"] = "PaintSetup";
721
+ Name["PAINT"] = "Paint";
722
+ Name["PAINT_IMAGE"] = "PaintImage";
723
+ Name["COMMIT"] = "Commit";
724
+ Name["COMPOSITE_LAYERS"] = "CompositeLayers";
725
+ Name["RASTER_TASK"] = "RasterTask";
726
+ Name["IMAGE_DECODE_TASK"] = "ImageDecodeTask";
727
+ Name["IMAGE_UPLOAD_TASK"] = "ImageUploadTask";
728
+ Name["DECODE_IMAGE"] = "Decode Image";
729
+ Name["DRAW_LAZY_PIXEL_REF"] = "Draw LazyPixelRef";
730
+ Name["DECODE_LAZY_PIXEL_REF"] = "Decode LazyPixelRef";
731
+ Name["GPU_TASK"] = "GPUTask";
732
+ Name["RASTERIZE"] = "Rasterize";
733
+ Name["EVENT_TIMING"] = "EventTiming";
734
+ /* Compile */
735
+ Name["OPTIMIZE_CODE"] = "V8.OptimizeCode";
736
+ Name["CACHE_SCRIPT"] = "v8.produceCache";
737
+ Name["CACHE_MODULE"] = "v8.produceModuleCache";
738
+ // V8Sample events are coming from tracing and contain raw stacks with function addresses.
739
+ // After being processed with help of JitCodeAdded and JitCodeMoved events they
740
+ // get translated into function infos and stored as stacks in JSSample events.
741
+ Name["V8_SAMPLE"] = "V8Sample";
742
+ Name["JIT_CODE_ADDED"] = "JitCodeAdded";
743
+ Name["JIT_CODE_MOVED"] = "JitCodeMoved";
744
+ Name["STREAMING_COMPILE_SCRIPT"] = "v8.parseOnBackground";
745
+ Name["STREAMING_COMPILE_SCRIPT_WAITING"] = "v8.parseOnBackgroundWaiting";
746
+ Name["STREAMING_COMPILE_SCRIPT_PARSING"] = "v8.parseOnBackgroundParsing";
747
+ Name["BACKGROUND_DESERIALIZE"] = "v8.deserializeOnBackground";
748
+ Name["FINALIZE_DESERIALIZATION"] = "V8.FinalizeDeserialization";
749
+ /* Markers */
750
+ Name["COMMIT_LOAD"] = "CommitLoad";
751
+ Name["MARK_LOAD"] = "MarkLoad";
752
+ Name["MARK_DOM_CONTENT"] = "MarkDOMContent";
753
+ Name["MARK_FIRST_PAINT"] = "firstPaint";
754
+ Name["MARK_FCP"] = "firstContentfulPaint";
755
+ Name["MARK_LCP_CANDIDATE"] = "largestContentfulPaint::Candidate";
756
+ Name["MARK_LCP_INVALIDATE"] = "largestContentfulPaint::Invalidate";
757
+ Name["NAVIGATION_START"] = "navigationStart";
758
+ Name["CONSOLE_TIME"] = "ConsoleTime";
759
+ Name["USER_TIMING"] = "UserTiming";
760
+ Name["INTERACTIVE_TIME"] = "InteractiveTime";
761
+ Name["TIME_STAMP"] = "TimeStamp";
762
+ /* Frames */
763
+ Name["BEGIN_FRAME"] = "BeginFrame";
764
+ Name["NEEDS_BEGIN_FRAME_CHANGED"] = "NeedsBeginFrameChanged";
765
+ Name["BEGIN_MAIN_THREAD_FRAME"] = "BeginMainThreadFrame";
766
+ Name["ACTIVATE_LAYER_TREE"] = "ActivateLayerTree";
767
+ Name["DRAW_FRAME"] = "DrawFrame";
768
+ Name["DROPPED_FRAME"] = "DroppedFrame";
769
+ Name["FRAME_STARTED_LOADING"] = "FrameStartedLoading";
770
+ Name["PIPELINE_REPORTER"] = "PipelineReporter";
771
+ Name["SCREENSHOT"] = "Screenshot";
772
+ /* Network request events */
773
+ Name["RESOURCE_WILL_SEND_REQUEST"] = "ResourceWillSendRequest";
774
+ Name["RESOURCE_SEND_REQUEST"] = "ResourceSendRequest";
775
+ Name["RESOURCE_RECEIVE_RESPONSE"] = "ResourceReceiveResponse";
776
+ Name["RESOURCE_RECEIVE_DATA"] = "ResourceReceivedData";
777
+ Name["RESOURCE_FINISH"] = "ResourceFinish";
778
+ Name["RESOURCE_MARK_AS_CACHED"] = "ResourceMarkAsCached";
779
+ /* Web sockets */
780
+ Name["WEB_SOCKET_SEND_HANDSHAKE_REQUEST"] = "WebSocketSendHandshakeRequest";
781
+ Name["WEB_SOCKET_RECEIVE_HANDSHAKE_REQUEST"] = "WebSocketReceiveHandshakeResponse";
782
+ /* CPU Profiling */
783
+ Name["PROFILE"] = "Profile";
784
+ Name["START_PROFILING"] = "CpuProfiler::StartProfiling";
785
+ Name["PROFILE_CHUNK"] = "ProfileChunk";
786
+ Name["UPDATE_COUNTERS"] = "UpdateCounters";
787
+ Name["JS_SAMPLE"] = "JSSample";
788
+ /* Other */
789
+ Name["ANIMATION"] = "Animation";
790
+ Name["PARSE_AUTHOR_STYLE_SHEET"] = "ParseAuthorStyleSheet";
791
+ Name["EMBEDDER_CALLBACK"] = "EmbedderCallback";
792
+ Name["SET_LAYER_TREE_ID"] = "SetLayerTreeId";
793
+ Name["TRACING_STARTED_IN_PAGE"] = "TracingStartedInPage";
794
+ Name["TRACING_STARTED_IN_BROWSER"] = "TracingStartedInBrowser";
795
+ Name["TRACING_SESSION_ID_FOR_WORKER"] = "TracingSessionIdForWorker";
796
+ Name["LAZY_PIXEL_REF"] = "LazyPixelRef";
797
+ Name["LAYER_TREE_HOST_IMPL_SNAPSHOT"] = "cc::LayerTreeHostImpl";
798
+ Name["PICTURE_SNAPSHOT"] = "cc::Picture";
799
+ Name["DISPLAY_ITEM_LIST_SNAPSHOT"] = "cc::DisplayItemList";
800
+ Name["INPUT_LATENCY_MOUSE_MOVE"] = "InputLatency::MouseMove";
801
+ Name["INPUT_LATENCY_MOUSE_WHEEL"] = "InputLatency::MouseWheel";
802
+ Name["IMPL_SIDE_FLING"] = "InputHandlerProxy::HandleGestureFling::started";
803
+ Name["SCHEDULE_POST_MESSAGE"] = "SchedulePostMessage";
804
+ Name["HANDLE_POST_MESSAGE"] = "HandlePostMessage";
805
+ Name["RENDER_FRAME_IMPL_CREATE_CHILD_FRAME"] = "RenderFrameImpl::createChildFrame";
806
+ Name["LAYOUT_IMAGE_UNSIZED"] = "LayoutImageUnsized";
807
+ Name["DOM_LOADING"] = "domLoading";
808
+ Name["BEGIN_REMOTE_FONT_LOAD"] = "BeginRemoteFontLoad";
809
+ Name["REMOTE_FONT_LOADED"] = "RemoteFontLoaded";
810
+ Name["ANIMATION_FRAME"] = "AnimationFrame";
811
+ Name["ANIMATION_FRAME_PRESENTATION"] = "AnimationFrame::Presentation";
812
+ Name["SYNTHETIC_NETWORK_REQUEST"] = "SyntheticNetworkRequest";
813
+ Name["USER_TIMING_MEASURE"] = "UserTiming::Measure";
814
+ Name["LINK_PRECONNECT"] = "LinkPreconnect";
815
+ })(Name || (Name = {}));
542
816
  // NOT AN EXHAUSTIVE LIST: just some categories we use and refer
543
817
  // to in multiple places.
544
818
  export const Categories = {