@paulirish/trace_engine 0.0.9 → 0.0.11

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 (292) hide show
  1. package/analyze-trace.mjs +1 -1
  2. package/core/platform/DevToolsPath.d.ts +23 -0
  3. package/core/platform/DevToolsPath.js +7 -0
  4. package/core/platform/DevToolsPath.js.map +1 -0
  5. package/core/platform/MimeType.d.ts +27 -0
  6. package/core/platform/MimeType.js +137 -0
  7. package/core/platform/MimeType.js.map +1 -0
  8. package/core/platform/Timing.d.ts +7 -0
  9. package/core/platform/Timing.js +13 -0
  10. package/core/platform/Timing.js.map +1 -0
  11. package/core/platform/UIString.d.ts +3 -0
  12. package/core/platform/UIString.js +5 -0
  13. package/core/platform/UIString.js.map +1 -0
  14. package/core/platform/UserVisibleError.d.ts +12 -0
  15. package/core/platform/UserVisibleError.js +23 -0
  16. package/core/platform/UserVisibleError.js.map +1 -0
  17. package/core/platform/array-utilities.d.ts +66 -0
  18. package/core/platform/array-utilities.js +199 -0
  19. package/core/platform/array-utilities.js.map +1 -0
  20. package/core/platform/brand.d.ts +14 -0
  21. package/core/platform/brand.js +5 -0
  22. package/core/platform/brand.js.map +1 -0
  23. package/core/platform/bundle-tsconfig.json +1 -0
  24. package/core/platform/date-utilities.d.ts +2 -0
  25. package/core/platform/date-utilities.js +14 -0
  26. package/core/platform/date-utilities.js.map +1 -0
  27. package/core/platform/dcheck-tsconfig.json +8 -0
  28. package/core/platform/dcheck.d.ts +4 -0
  29. package/core/platform/dcheck.js +5 -0
  30. package/core/platform/devtools_entrypoint-bundle-tsconfig-tsconfig.json +40 -0
  31. package/core/platform/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
  32. package/core/platform/dom-utilities.d.ts +8 -0
  33. package/core/platform/dom-utilities.js +109 -0
  34. package/core/platform/dom-utilities.js.map +1 -0
  35. package/core/platform/keyboard-utilities.d.ts +17 -0
  36. package/core/platform/keyboard-utilities.js +22 -0
  37. package/core/platform/keyboard-utilities.js.map +1 -0
  38. package/core/platform/map-utilities.d.ts +18 -0
  39. package/core/platform/map-utilities.js +76 -0
  40. package/core/platform/map-utilities.js.map +1 -0
  41. package/core/platform/number-utilities.d.ts +15 -0
  42. package/core/platform/number-utilities.js +82 -0
  43. package/core/platform/number-utilities.js.map +1 -0
  44. package/core/platform/platform-tsconfig.json +59 -0
  45. package/core/platform/platform.d.ts +19 -0
  46. package/core/platform/platform.js +54 -0
  47. package/core/platform/platform.js.compressed +0 -0
  48. package/core/platform/platform.js.hash +1 -0
  49. package/core/platform/platform.js.map +1 -0
  50. package/core/platform/platform.prebundle.d.ts +15 -0
  51. package/core/platform/platform.prebundle.js +50 -0
  52. package/core/platform/platform.prebundle.js.map +1 -0
  53. package/core/platform/platform.prebundle.ts +64 -0
  54. package/core/platform/promise-utilities.d.ts +10 -0
  55. package/core/platform/promise-utilities.js +18 -0
  56. package/core/platform/promise-utilities.js.map +1 -0
  57. package/core/platform/set-utilities.d.ts +2 -0
  58. package/core/platform/set-utilities.js +23 -0
  59. package/core/platform/set-utilities.js.map +1 -0
  60. package/core/platform/string-utilities.d.ts +71 -0
  61. package/core/platform/string-utilities.js +513 -0
  62. package/core/platform/string-utilities.js.map +1 -0
  63. package/core/platform/typescript-utilities.d.ts +56 -0
  64. package/core/platform/typescript-utilities.js +25 -0
  65. package/core/platform/typescript-utilities.js.map +1 -0
  66. package/generated/protocol.d.ts +17923 -0
  67. package/generated/protocol.js +5 -0
  68. package/models/cpu_profile/CPUProfileDataModel.d.ts +77 -0
  69. package/models/cpu_profile/CPUProfileDataModel.js +508 -0
  70. package/models/cpu_profile/CPUProfileDataModel.js.map +1 -0
  71. package/models/cpu_profile/ProfileTreeModel.d.ts +29 -0
  72. package/models/cpu_profile/ProfileTreeModel.js +95 -0
  73. package/models/cpu_profile/ProfileTreeModel.js.map +1 -0
  74. package/models/cpu_profile/bundle-tsconfig.json +1 -0
  75. package/models/cpu_profile/cpu_profile-tsconfig.json +51 -0
  76. package/models/cpu_profile/cpu_profile.d.ts +3 -0
  77. package/models/cpu_profile/cpu_profile.js +7 -0
  78. package/models/cpu_profile/cpu_profile.js.map +1 -0
  79. package/models/cpu_profile/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
  80. package/models/trace/EntriesFilter.d.ts +55 -0
  81. package/models/trace/EntriesFilter.js +243 -0
  82. package/models/trace/EntriesFilter.js.map +1 -0
  83. package/models/trace/LegacyTracingModel.d.ts +1 -0
  84. package/models/trace/LegacyTracingModel.js +1 -0
  85. package/models/trace/LegacyTracingModel.js.map +1 -0
  86. package/models/trace/ModelImpl.d.ts +110 -0
  87. package/models/trace/ModelImpl.js +175 -0
  88. package/models/trace/ModelImpl.js.map +1 -0
  89. package/models/trace/Processor.d.ts +36 -0
  90. package/models/trace/Processor.js +213 -0
  91. package/models/trace/Processor.js.map +1 -0
  92. package/models/trace/SDKServices.js +104 -0
  93. package/models/trace/SDKServices.js.map +7 -0
  94. package/models/trace/TraceProcessor.js +133 -0
  95. package/models/trace/TraceProcessor.js.map +7 -0
  96. package/models/trace/TracingManager.d.ts +1 -0
  97. package/models/trace/TracingManager.js +1 -0
  98. package/models/trace/TracingManager.js.map +1 -0
  99. package/models/trace/TreeManipulator.js +85 -0
  100. package/models/trace/TreeManipulator.js.map +7 -0
  101. package/models/trace/bundle-tsconfig.json +1 -0
  102. package/models/trace/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
  103. package/models/trace/devtools_entrypoint-legacy-typescript-tsconfig.json +43 -0
  104. package/models/trace/extras/FetchNodes.d.ts +46 -0
  105. package/models/trace/extras/FetchNodes.js +145 -0
  106. package/models/trace/extras/FetchNodes.js.map +1 -0
  107. package/models/trace/extras/FilmStrip.d.ts +19 -0
  108. package/models/trace/extras/FilmStrip.js +44 -0
  109. package/models/trace/extras/FilmStrip.js.map +1 -0
  110. package/models/trace/extras/MainThreadActivity.d.ts +2 -0
  111. package/models/trace/extras/MainThreadActivity.js +77 -0
  112. package/models/trace/extras/MainThreadActivity.js.map +1 -0
  113. package/models/trace/extras/Metadata.d.ts +2 -0
  114. package/models/trace/extras/Metadata.js +44 -0
  115. package/models/trace/extras/Metadata.js.map +1 -0
  116. package/models/trace/extras/bundle-tsconfig.json +1 -0
  117. package/models/trace/extras/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
  118. package/models/trace/extras/extras-tsconfig.json +59 -0
  119. package/models/trace/extras/extras.d.ts +1 -0
  120. package/models/trace/extras/extras.js +1 -0
  121. package/models/trace/extras/extras.js.map +1 -0
  122. package/models/trace/frames/TimelineFrameModel.js +392 -0
  123. package/models/trace/frames/TimelineFrameModel.js.map +7 -0
  124. package/models/trace/frames/bundle-tsconfig.json +1 -0
  125. package/models/trace/frames/devtools_entrypoint-bundle-typescript-tsconfig.json +43 -0
  126. package/models/trace/frames/frames-tsconfig.json +58 -0
  127. package/models/trace/frames/frames.js +5 -0
  128. package/models/trace/frames/frames.js.map +7 -0
  129. package/models/trace/handlers/AnimationHandler.d.ts +8 -0
  130. package/models/trace/handlers/AnimationHandler.js +32 -0
  131. package/models/trace/handlers/AnimationHandler.js.map +1 -0
  132. package/models/trace/handlers/AuctionWorkletsHandler.d.ts +8 -0
  133. package/models/trace/handlers/AuctionWorkletsHandler.js +160 -0
  134. package/models/trace/handlers/AuctionWorkletsHandler.js.map +1 -0
  135. package/models/trace/handlers/FramesHandler.d.ts +76 -0
  136. package/models/trace/handlers/FramesHandler.js +457 -0
  137. package/models/trace/handlers/FramesHandler.js.map +1 -0
  138. package/models/trace/handlers/GPUHandler.d.ts +11 -0
  139. package/models/trace/handlers/GPUHandler.js +54 -0
  140. package/models/trace/handlers/GPUHandler.js.map +1 -0
  141. package/models/trace/handlers/InitiatorsHandler.d.ts +10 -0
  142. package/models/trace/handlers/InitiatorsHandler.js +184 -0
  143. package/models/trace/handlers/InitiatorsHandler.js.map +1 -0
  144. package/models/trace/handlers/InvalidationsHandler.d.ts +10 -0
  145. package/models/trace/handlers/InvalidationsHandler.js +120 -0
  146. package/models/trace/handlers/InvalidationsHandler.js.map +1 -0
  147. package/models/trace/handlers/LargestImagePaintHandler.d.ts +5 -0
  148. package/models/trace/handlers/LargestImagePaintHandler.js +38 -0
  149. package/models/trace/handlers/LargestImagePaintHandler.js.map +1 -0
  150. package/models/trace/handlers/LargestTextPaintHandler.d.ts +5 -0
  151. package/models/trace/handlers/LargestTextPaintHandler.js +26 -0
  152. package/models/trace/handlers/LargestTextPaintHandler.js.map +1 -0
  153. package/models/trace/handlers/LayerTreeHandler.d.ts +13 -0
  154. package/models/trace/handlers/LayerTreeHandler.js +116 -0
  155. package/models/trace/handlers/LayerTreeHandler.js.map +1 -0
  156. package/models/trace/handlers/LayoutShiftsHandler.d.ts +44 -0
  157. package/models/trace/handlers/LayoutShiftsHandler.js +347 -0
  158. package/models/trace/handlers/LayoutShiftsHandler.js.map +1 -0
  159. package/models/trace/handlers/MemoryHandler.d.ts +7 -0
  160. package/models/trace/handlers/MemoryHandler.js +20 -0
  161. package/models/trace/handlers/MemoryHandler.js.map +1 -0
  162. package/models/trace/handlers/MetaHandler.d.ts +37 -0
  163. package/models/trace/handlers/MetaHandler.js +338 -0
  164. package/models/trace/handlers/MetaHandler.js.map +1 -0
  165. package/models/trace/handlers/Migration.js +27 -0
  166. package/models/trace/handlers/Migration.js.map +7 -0
  167. package/models/trace/handlers/ModelHandlers.d.ts +21 -0
  168. package/models/trace/handlers/ModelHandlers.js +25 -0
  169. package/models/trace/handlers/ModelHandlers.js.map +1 -0
  170. package/models/trace/handlers/NetworkRequestsHandler.d.ts +17 -0
  171. package/models/trace/handlers/NetworkRequestsHandler.js +361 -0
  172. package/models/trace/handlers/NetworkRequestsHandler.js.map +1 -0
  173. package/models/trace/handlers/PageLoadMetricsHandler.d.ts +67 -0
  174. package/models/trace/handlers/PageLoadMetricsHandler.js +407 -0
  175. package/models/trace/handlers/PageLoadMetricsHandler.js.map +1 -0
  176. package/models/trace/handlers/RendererHandler.d.ts +101 -0
  177. package/models/trace/handlers/RendererHandler.js +325 -0
  178. package/models/trace/handlers/RendererHandler.js.map +1 -0
  179. package/models/trace/handlers/SamplesHandler.d.ts +46 -0
  180. package/models/trace/handlers/SamplesHandler.js +215 -0
  181. package/models/trace/handlers/SamplesHandler.js.map +1 -0
  182. package/models/trace/handlers/ScreenshotsHandler.d.ts +7 -0
  183. package/models/trace/handlers/ScreenshotsHandler.js +79 -0
  184. package/models/trace/handlers/ScreenshotsHandler.js.map +1 -0
  185. package/models/trace/handlers/Threads.d.ts +33 -0
  186. package/models/trace/handlers/Threads.js +95 -0
  187. package/models/trace/handlers/Threads.js.map +1 -0
  188. package/models/trace/handlers/UberFramesHandler.js +293 -0
  189. package/models/trace/handlers/UberFramesHandler.js.map +7 -0
  190. package/models/trace/handlers/UserInteractionsHandler.d.ts +57 -0
  191. package/models/trace/handlers/UserInteractionsHandler.js +267 -0
  192. package/models/trace/handlers/UserInteractionsHandler.js.map +1 -0
  193. package/models/trace/handlers/UserTimingsHandler.d.ts +28 -0
  194. package/models/trace/handlers/UserTimingsHandler.js +108 -0
  195. package/models/trace/handlers/UserTimingsHandler.js.map +1 -0
  196. package/models/trace/handlers/WarningsHandler.d.ts +14 -0
  197. package/models/trace/handlers/WarningsHandler.js +125 -0
  198. package/models/trace/handlers/WarningsHandler.js.map +1 -0
  199. package/models/trace/handlers/WorkersHandler.d.ts +11 -0
  200. package/models/trace/handlers/WorkersHandler.js +52 -0
  201. package/models/trace/handlers/WorkersHandler.js.map +1 -0
  202. package/models/trace/handlers/bundle-tsconfig.json +1 -0
  203. package/models/trace/handlers/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
  204. package/models/trace/handlers/handlers-tsconfig.json +79 -0
  205. package/models/trace/handlers/handlers.d.ts +3 -0
  206. package/models/trace/handlers/handlers.js +7 -0
  207. package/models/trace/handlers/handlers.js.map +1 -0
  208. package/models/trace/handlers/types.d.ts +45 -0
  209. package/models/trace/handlers/types.js +18 -0
  210. package/models/trace/handlers/types.js.map +1 -0
  211. package/models/trace/helpers/SamplesIntegrator.d.ts +49 -0
  212. package/models/trace/helpers/SamplesIntegrator.js +397 -0
  213. package/models/trace/helpers/SamplesIntegrator.js.map +1 -0
  214. package/models/trace/helpers/Timing.d.ts +26 -0
  215. package/models/trace/helpers/Timing.js +162 -0
  216. package/models/trace/helpers/Timing.js.map +1 -0
  217. package/models/trace/helpers/Trace.d.ts +37 -0
  218. package/models/trace/helpers/Trace.js +230 -0
  219. package/models/trace/helpers/Trace.js.map +1 -0
  220. package/models/trace/helpers/TreeHelpers.d.ts +90 -0
  221. package/models/trace/helpers/TreeHelpers.js +222 -0
  222. package/models/trace/helpers/TreeHelpers.js.map +1 -0
  223. package/models/trace/helpers/bundle-tsconfig.json +1 -0
  224. package/models/trace/helpers/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
  225. package/models/trace/helpers/helpers-tsconfig.json +59 -0
  226. package/models/trace/helpers/helpers.d.ts +4 -0
  227. package/models/trace/helpers/helpers.js +8 -0
  228. package/models/trace/helpers/helpers.js.map +1 -0
  229. package/models/trace/legacy-tsconfig.json +1 -0
  230. package/models/trace/root-causes/LayoutShift.d.ts +119 -0
  231. package/models/trace/root-causes/LayoutShift.js +517 -0
  232. package/models/trace/root-causes/LayoutShift.js.map +1 -0
  233. package/models/trace/root-causes/RootCauses.d.ts +14 -0
  234. package/models/trace/root-causes/RootCauses.js +11 -0
  235. package/models/trace/root-causes/RootCauses.js.map +1 -0
  236. package/models/trace/root-causes/bundle-tsconfig.json +1 -0
  237. package/models/trace/root-causes/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
  238. package/models/trace/root-causes/root-causes-tsconfig.json +57 -0
  239. package/models/trace/root-causes/root-causes.d.ts +1 -0
  240. package/models/trace/root-causes/root-causes.js +5 -0
  241. package/models/trace/root-causes/root-causes.js.map +1 -0
  242. package/models/trace/sdk_services/DOMNodeLookup.js +41 -0
  243. package/models/trace/sdk_services/DOMNodeLookup.js.map +7 -0
  244. package/models/trace/sdk_services/LayoutShifts.js +68 -0
  245. package/models/trace/sdk_services/LayoutShifts.js.map +7 -0
  246. package/models/trace/sdk_services/bundle-tsconfig.json +1 -0
  247. package/models/trace/sdk_services/devtools_entrypoint-bundle-typescript-tsconfig.json +41 -0
  248. package/models/trace/sdk_services/sdk_services-tsconfig.json +57 -0
  249. package/models/trace/sdk_services/sdk_services.js +7 -0
  250. package/models/trace/sdk_services/sdk_services.js.map +7 -0
  251. package/models/trace/trace-legacy.js +16 -0
  252. package/models/trace/trace-legacy.js.map +7 -0
  253. package/models/trace/trace-tsconfig.json +69 -0
  254. package/models/trace/trace.d.ts +11 -0
  255. package/models/trace/trace.js +17 -0
  256. package/models/trace/trace.js.map +1 -0
  257. package/models/trace/types/Configuration.d.ts +33 -0
  258. package/models/trace/types/Configuration.js +29 -0
  259. package/models/trace/types/Configuration.js.map +1 -0
  260. package/models/trace/types/File.d.ts +23 -0
  261. package/models/trace/types/File.js +5 -0
  262. package/models/trace/types/File.js.map +1 -0
  263. package/models/trace/types/Timing.d.ts +25 -0
  264. package/models/trace/types/Timing.js +16 -0
  265. package/models/trace/types/Timing.js.map +1 -0
  266. package/models/trace/types/TraceEvents.d.ts +1571 -0
  267. package/models/trace/types/TraceEvents.js +388 -0
  268. package/models/trace/types/TraceEvents.js.map +1 -0
  269. package/models/trace/types/bundle-tsconfig.json +1 -0
  270. package/models/trace/types/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
  271. package/models/trace/types/types-tsconfig.json +47 -0
  272. package/models/trace/types/types.d.ts +4 -0
  273. package/models/trace/types/types.js +8 -0
  274. package/models/trace/types/types.js.map +1 -0
  275. package/models/trace/worker/Processor.js +143 -0
  276. package/models/trace/worker/Processor.js.map +7 -0
  277. package/models/trace/worker/Types.js +1 -0
  278. package/models/trace/worker/Types.js.map +7 -0
  279. package/models/trace/worker/bundle-tsconfig.json +1 -0
  280. package/models/trace/worker/devtools_entrypoint-bundle-typescript-tsconfig.json +41 -0
  281. package/models/trace/worker/devtools_entrypoint-worker_entrypoint-typescript-tsconfig.json +41 -0
  282. package/models/trace/worker/processor-tsconfig.json +45 -0
  283. package/models/trace/worker/worker.js +7 -0
  284. package/models/trace/worker/worker.js.map +7 -0
  285. package/models/trace/worker/worker_entrypoint-tsconfig.json +1 -0
  286. package/models/trace/worker/worker_entrypoint.js +36 -0
  287. package/models/trace/worker/worker_entrypoint.js.map +7 -0
  288. package/package.json +2 -2
  289. package/TracingManager.js +0 -0
  290. package/extras/extras.js +0 -0
  291. package/trace.mjs +0 -6980
  292. package/trace.mjs.map +0 -8
@@ -0,0 +1 @@
1
+ {"compilerOptions":{"composite":true,"outDir":".","baseUrl":".","rootDir":"../../../../../../../front_end/models/trace/root-causes"},"files":["../../../../../../../front_end/models/trace/root-causes/root-causes.ts"],"references":[{"path":"./root-causes-tsconfig.json"}]}
@@ -0,0 +1,44 @@
1
+ {
2
+ "compilerOptions": {
3
+ "allowJs": true,
4
+ "checkJs": true,
5
+ "composite": true,
6
+ "declaration": true,
7
+ "experimentalDecorators": true,
8
+ "forceConsistentCasingInFileNames": true,
9
+ "inlineSources": true,
10
+ "lib": [
11
+ "esnext",
12
+ "dom",
13
+ "dom.iterable"
14
+ ],
15
+ "module": "esnext",
16
+ "noEmitOnError": true,
17
+ "noFallthroughCasesInSwitch": true,
18
+ "noImplicitOverride": true,
19
+ "noImplicitReturns": true,
20
+ "noUnusedLocals": false,
21
+ "outDir": ".",
22
+ "rootDir": "../../../../../../../front_end/models/trace/root-causes",
23
+ "skipLibCheck": true,
24
+ "sourceMap": true,
25
+ "strict": true,
26
+ "target": "esnext",
27
+ "tsBuildInfoFile": "devtools_entrypoint-bundle-typescript-tsconfig.json.tsbuildinfo",
28
+ "typeRoots": [],
29
+ "useUnknownInCatchVariables": false
30
+ },
31
+ "files": [
32
+ "../../../../../../../front_end/models/trace/root-causes/root-causes.ts",
33
+ "../../../../../../../front_end/legacy/legacy-defs.d.ts",
34
+ "../../../../../../../front_end/global_typings/global_defs.d.ts",
35
+ "../../../../../../../front_end/global_typings/request_idle_callback.d.ts",
36
+ "../../../../../../../node_modules/@types/filesystem/index.d.ts",
37
+ "../../../../../../../node_modules/@webgpu/types/dist/index.d.ts"
38
+ ],
39
+ "references": [
40
+ {
41
+ "path": "./root-causes-tsconfig.json"
42
+ }
43
+ ]
44
+ }
@@ -0,0 +1,57 @@
1
+ {
2
+ "compilerOptions": {
3
+ "allowJs": true,
4
+ "checkJs": true,
5
+ "composite": true,
6
+ "declaration": true,
7
+ "experimentalDecorators": true,
8
+ "forceConsistentCasingInFileNames": true,
9
+ "inlineSources": true,
10
+ "lib": [
11
+ "esnext",
12
+ "dom",
13
+ "dom.iterable"
14
+ ],
15
+ "module": "esnext",
16
+ "noEmitOnError": true,
17
+ "noFallthroughCasesInSwitch": true,
18
+ "noImplicitOverride": true,
19
+ "noImplicitReturns": true,
20
+ "noUnusedLocals": false,
21
+ "outDir": ".",
22
+ "rootDir": "../../../../../../../front_end/models/trace/root-causes",
23
+ "skipLibCheck": true,
24
+ "sourceMap": true,
25
+ "strict": true,
26
+ "target": "esnext",
27
+ "tsBuildInfoFile": "root-causes-tsconfig.json.tsbuildinfo",
28
+ "typeRoots": [],
29
+ "useUnknownInCatchVariables": false
30
+ },
31
+ "files": [
32
+ "../../../../../../../front_end/models/trace/root-causes/LayoutShift.ts",
33
+ "../../../../../../../front_end/models/trace/root-causes/RootCauses.ts",
34
+ "../../../../../../../front_end/legacy/legacy-defs.d.ts",
35
+ "../../../../../../../front_end/global_typings/global_defs.d.ts",
36
+ "../../../../../../../front_end/global_typings/request_idle_callback.d.ts",
37
+ "../../../../../../../node_modules/@types/filesystem/index.d.ts",
38
+ "../../../../../../../node_modules/@webgpu/types/dist/index.d.ts"
39
+ ],
40
+ "references": [
41
+ {
42
+ "path": "../../../core/common/bundle-tsconfig.json"
43
+ },
44
+ {
45
+ "path": "../../../core/platform/bundle-tsconfig.json"
46
+ },
47
+ {
48
+ "path": "../../../core/root/bundle-tsconfig.json"
49
+ },
50
+ {
51
+ "path": "../handlers/bundle-tsconfig.json"
52
+ },
53
+ {
54
+ "path": "../types/bundle-tsconfig.json"
55
+ }
56
+ ]
57
+ }
@@ -0,0 +1 @@
1
+ export * as RootCauses from './RootCauses.js';
@@ -0,0 +1,5 @@
1
+ // Copyright 2023 The Chromium Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+ export * as RootCauses from './RootCauses.js';
5
+ //# sourceMappingURL=root-causes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root-causes.js","sourceRoot":"","sources":["../../../../../../../front_end/models/trace/root-causes/root-causes.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AAE7B,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC","sourcesContent":["// Copyright 2023 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\nexport * as RootCauses from './RootCauses.js';\n"]}
@@ -0,0 +1,41 @@
1
+ import * as SDK from "../../../core/sdk/sdk.js";
2
+ const singleNodeCache = /* @__PURE__ */ new Map();
3
+ const batchNodesCache = /* @__PURE__ */ new Map();
4
+ export function _TEST_clearCache() {
5
+ singleNodeCache.clear();
6
+ batchNodesCache.clear();
7
+ }
8
+ export async function forNodeId(modelData, nodeId) {
9
+ const fromCache = singleNodeCache.get(modelData)?.get(nodeId);
10
+ if (fromCache !== void 0) {
11
+ return fromCache;
12
+ }
13
+ const target = SDK.TargetManager.TargetManager.instance().mainFrameTarget();
14
+ const domModel = target?.model(SDK.DOMModel.DOMModel);
15
+ if (!domModel) {
16
+ return null;
17
+ }
18
+ const domNodesMap = await domModel.pushNodesByBackendIdsToFrontend(/* @__PURE__ */ new Set([nodeId]));
19
+ const result = domNodesMap?.get(nodeId) || null;
20
+ const cacheForModel = singleNodeCache.get(modelData) || /* @__PURE__ */ new Map();
21
+ cacheForModel.set(nodeId, result);
22
+ singleNodeCache.set(modelData, cacheForModel);
23
+ return result;
24
+ }
25
+ export async function forMultipleNodeIds(modelData, nodeIds) {
26
+ const fromCache = batchNodesCache.get(modelData)?.get(nodeIds);
27
+ if (fromCache) {
28
+ return fromCache;
29
+ }
30
+ const target = SDK.TargetManager.TargetManager.instance().mainFrameTarget();
31
+ const domModel = target?.model(SDK.DOMModel.DOMModel);
32
+ if (!domModel) {
33
+ return /* @__PURE__ */ new Map();
34
+ }
35
+ const domNodesMap = await domModel.pushNodesByBackendIdsToFrontend(nodeIds) || /* @__PURE__ */ new Map();
36
+ const cacheForModel = batchNodesCache.get(modelData) || /* @__PURE__ */ new Map();
37
+ cacheForModel.set(nodeIds, domNodesMap);
38
+ batchNodesCache.set(modelData, cacheForModel);
39
+ return domNodesMap;
40
+ }
41
+ //# sourceMappingURL=DOMNodeLookup.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../front_end/models/trace/sdk_services/DOMNodeLookup.ts"],
4
+ "sourcesContent": ["// Copyright 2022 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 Handlers from '../handlers/handlers.js';\nimport type * as Protocol from '../../../generated/protocol.js';\nimport * as SDK from '../../../core/sdk/sdk.js';\n\nconst singleNodeCache =\n new Map<Handlers.Types.TraceParseData, Map<Protocol.DOM.BackendNodeId, SDK.DOMModel.DOMNode|null>>();\nconst batchNodesCache = new Map<\n Handlers.Types.TraceParseData,\n Map<Set<Protocol.DOM.BackendNodeId>, Map<Protocol.DOM.BackendNodeId, SDK.DOMModel.DOMNode|null>>>();\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function _TEST_clearCache(): void {\n singleNodeCache.clear();\n batchNodesCache.clear();\n}\n\n/**\n * Looks up the DOM Node on the page for the given BackendNodeId. Uses the\n * provided TraceParseData as the cache and will cache the result after the\n * first lookup.\n */\nexport async function forNodeId(\n modelData: Handlers.Types.TraceParseData, nodeId: Protocol.DOM.BackendNodeId): Promise<SDK.DOMModel.DOMNode|null> {\n const fromCache = singleNodeCache.get(modelData)?.get(nodeId);\n if (fromCache !== undefined) {\n return fromCache;\n }\n\n const target = SDK.TargetManager.TargetManager.instance().mainFrameTarget();\n const domModel = target?.model(SDK.DOMModel.DOMModel);\n if (!domModel) {\n return null;\n }\n\n const domNodesMap = await domModel.pushNodesByBackendIdsToFrontend(new Set([nodeId]));\n const result = domNodesMap?.get(nodeId) || null;\n\n const cacheForModel =\n singleNodeCache.get(modelData) || new Map<Protocol.DOM.BackendNodeId, SDK.DOMModel.DOMNode|null>();\n cacheForModel.set(nodeId, result);\n singleNodeCache.set(modelData, cacheForModel);\n\n return result;\n}\n\n/**\n * Takes a set of Protocol.DOM.BackendNodeId ids and will return a map of NodeId=>DOMNode.\n * Results are cached based on 1) the provided TraceParseData and 2) the provided set of IDs.\n */\nexport async function forMultipleNodeIds(\n modelData: Handlers.Types.TraceParseData,\n nodeIds: Set<Protocol.DOM.BackendNodeId>): Promise<Map<Protocol.DOM.BackendNodeId, SDK.DOMModel.DOMNode|null>> {\n const fromCache = batchNodesCache.get(modelData)?.get(nodeIds);\n if (fromCache) {\n return fromCache;\n }\n const target = SDK.TargetManager.TargetManager.instance().mainFrameTarget();\n const domModel = target?.model(SDK.DOMModel.DOMModel);\n if (!domModel) {\n return new Map();\n }\n\n const domNodesMap = await domModel.pushNodesByBackendIdsToFrontend(nodeIds) || new Map();\n\n const cacheForModel = batchNodesCache.get(modelData) ||\n new Map<Set<Protocol.DOM.BackendNodeId>, Map<Protocol.DOM.BackendNodeId, SDK.DOMModel.DOMNode|null>>();\n cacheForModel.set(nodeIds, domNodesMap);\n batchNodesCache.set(modelData, cacheForModel);\n\n return domNodesMap;\n}\n"],
5
+ "mappings": "AAMA;AAEA,MAAM,kBACF,oBAAI;AACR,MAAM,kBAAkB,oBAAI;AAKrB,mCAAkC;AACvC,kBAAgB;AAChB,kBAAgB;AAAA;AAQlB,gCACI,WAA0C,QAAwE;AACpH,QAAM,YAAY,gBAAgB,IAAI,YAAY,IAAI;AACtD,MAAI,cAAc,QAAW;AAC3B,WAAO;AAAA;AAGT,QAAM,SAAS,IAAI,cAAc,cAAc,WAAW;AAC1D,QAAM,WAAW,QAAQ,MAAM,IAAI,SAAS;AAC5C,MAAI,CAAC,UAAU;AACb,WAAO;AAAA;AAGT,QAAM,cAAc,MAAM,SAAS,gCAAgC,oBAAI,IAAI,CAAC;AAC5E,QAAM,SAAS,aAAa,IAAI,WAAW;AAE3C,QAAM,gBACF,gBAAgB,IAAI,cAAc,oBAAI;AAC1C,gBAAc,IAAI,QAAQ;AAC1B,kBAAgB,IAAI,WAAW;AAE/B,SAAO;AAAA;AAOT,yCACI,WACA,SAA+G;AACjH,QAAM,YAAY,gBAAgB,IAAI,YAAY,IAAI;AACtD,MAAI,WAAW;AACb,WAAO;AAAA;AAET,QAAM,SAAS,IAAI,cAAc,cAAc,WAAW;AAC1D,QAAM,WAAW,QAAQ,MAAM,IAAI,SAAS;AAC5C,MAAI,CAAC,UAAU;AACb,WAAO,oBAAI;AAAA;AAGb,QAAM,cAAc,MAAM,SAAS,gCAAgC,YAAY,oBAAI;AAEnF,QAAM,gBAAgB,gBAAgB,IAAI,cACtC,oBAAI;AACR,gBAAc,IAAI,SAAS;AAC3B,kBAAgB,IAAI,WAAW;AAE/B,SAAO;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,68 @@
1
+ import * as SDK from "../../../core/sdk/sdk.js";
2
+ import { forNodeId } from "./DOMNodeLookup.js";
3
+ const layoutShiftSourcesCache = /* @__PURE__ */ new Map();
4
+ const normalizedNodesCache = /* @__PURE__ */ new Map();
5
+ export function _TEST_clearCache() {
6
+ layoutShiftSourcesCache.clear();
7
+ normalizedNodesCache.clear();
8
+ }
9
+ export async function sourcesForLayoutShift(modelData, event) {
10
+ const fromCache = layoutShiftSourcesCache.get(modelData)?.get(event);
11
+ if (fromCache) {
12
+ return fromCache;
13
+ }
14
+ const impactedNodes = event.args.data?.impacted_nodes;
15
+ if (!impactedNodes) {
16
+ return [];
17
+ }
18
+ const sources = [];
19
+ await Promise.all(impactedNodes.map(async (node) => {
20
+ const domNode = await forNodeId(modelData, node.node_id);
21
+ if (domNode) {
22
+ sources.push({
23
+ previousRect: new DOMRect(node.old_rect[0], node.old_rect[1], node.old_rect[2], node.old_rect[3]),
24
+ currentRect: new DOMRect(node.new_rect[0], node.new_rect[1], node.new_rect[2], node.new_rect[3]),
25
+ node: domNode
26
+ });
27
+ }
28
+ }));
29
+ const cacheForModel = layoutShiftSourcesCache.get(modelData) || /* @__PURE__ */ new Map();
30
+ cacheForModel.set(event, sources);
31
+ layoutShiftSourcesCache.set(modelData, cacheForModel);
32
+ return sources;
33
+ }
34
+ export async function normalizedImpactedNodesForLayoutShift(modelData, event) {
35
+ const fromCache = normalizedNodesCache.get(modelData)?.get(event);
36
+ if (fromCache) {
37
+ return fromCache;
38
+ }
39
+ const impactedNodes = event.args?.data?.impacted_nodes;
40
+ if (!impactedNodes) {
41
+ return [];
42
+ }
43
+ let viewportScale = null;
44
+ const target = SDK.TargetManager.TargetManager.instance().mainFrameTarget();
45
+ const evaluateResult = await target?.runtimeAgent().invoke_evaluate({ expression: "window.devicePixelRatio" });
46
+ if (evaluateResult?.result.type === "number") {
47
+ viewportScale = evaluateResult?.result.value ?? null;
48
+ }
49
+ if (!viewportScale) {
50
+ return impactedNodes;
51
+ }
52
+ const normalizedNodes = [];
53
+ for (const impactedNode of impactedNodes) {
54
+ const newNode = { ...impactedNode };
55
+ for (let i = 0; i < impactedNode.old_rect.length; i++) {
56
+ newNode.old_rect[i] /= viewportScale;
57
+ }
58
+ for (let i = 0; i < impactedNode.new_rect.length; i++) {
59
+ newNode.new_rect[i] /= viewportScale;
60
+ }
61
+ normalizedNodes.push(newNode);
62
+ }
63
+ const cacheForModel = normalizedNodesCache.get(modelData) || /* @__PURE__ */ new Map();
64
+ cacheForModel.set(event, normalizedNodes);
65
+ normalizedNodesCache.set(modelData, cacheForModel);
66
+ return normalizedNodes;
67
+ }
68
+ //# sourceMappingURL=LayoutShifts.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../front_end/models/trace/sdk_services/LayoutShifts.ts"],
4
+ "sourcesContent": ["// Copyright 2022 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.\nimport type * as Handlers from '../handlers/handlers.js';\nimport type * as Types from '../types/types.js';\nimport * as SDK from '../../../core/sdk/sdk.js';\n\nimport {forNodeId} from './DOMNodeLookup.js';\n\nconst layoutShiftSourcesCache = new Map<\n Handlers.Types.TraceParseData, Map<Types.TraceEvents.TraceEventLayoutShift, readonly LayoutShiftSource[]>>();\n\nconst normalizedNodesCache = new Map<\n Handlers.Types.TraceParseData,\n Map<Types.TraceEvents.TraceEventLayoutShift, readonly Types.TraceEvents.TraceImpactedNode[]>>();\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function _TEST_clearCache(): void {\n layoutShiftSourcesCache.clear();\n normalizedNodesCache.clear();\n}\n\nexport interface LayoutShiftSource {\n previousRect: DOMRect;\n currentRect: DOMRect;\n node: SDK.DOMModel.DOMNode;\n}\n\n/**\n * Calculates and returns a list of sources for a LayoutShift.\n * Here, a source is considered as a node that moved and contributed to the\n * given LayoutShift existing and the score it was given. Each source returned\n * contains a reference to the DOM Node, and its dimensions (as a DOMRect), both\n * before and now, so we can see how this node changed and how that impacted the\n * layout shift.\n *\n * This data is cached based on the provided model data and the given layout\n * shift, so it is is safe to call multiple times with the same input.\n */\nexport async function sourcesForLayoutShift(\n modelData: Handlers.Types.TraceParseData,\n event: Types.TraceEvents.TraceEventLayoutShift): Promise<readonly LayoutShiftSource[]> {\n const fromCache = layoutShiftSourcesCache.get(modelData)?.get(event);\n if (fromCache) {\n return fromCache;\n }\n const impactedNodes = event.args.data?.impacted_nodes;\n if (!impactedNodes) {\n return [];\n }\n const sources: LayoutShiftSource[] = [];\n await Promise.all(impactedNodes.map(async node => {\n const domNode = await forNodeId(modelData, node.node_id);\n if (domNode) {\n sources.push({\n previousRect: new DOMRect(node.old_rect[0], node.old_rect[1], node.old_rect[2], node.old_rect[3]),\n currentRect: new DOMRect(node.new_rect[0], node.new_rect[1], node.new_rect[2], node.new_rect[3]),\n node: domNode,\n });\n }\n }));\n const cacheForModel =\n layoutShiftSourcesCache.get(modelData) || new Map<Types.TraceEvents.TraceEventLayoutShift, LayoutShiftSource[]>();\n cacheForModel.set(event, sources);\n layoutShiftSourcesCache.set(modelData, cacheForModel);\n return sources;\n}\n\n/**\n * Takes a LayoutShift and normalizes its node dimensions based on the device\n * pixel ratio (DPR) of the user's display.\n * This is required because the Layout Instability API is not based on CSS\n * pixels, but physical pixels. Therefore we need to map these to normalized CSS\n * pixels if we can. For example, if the user is on a device with a DPR of 2,\n * the values of the node dimensions reported by the Instability API need to be\n * divided by 2 to be accurate.\n * This function is safe to call multiple times as results are cached based on\n * the provided model data.\n * See https://crbug.com/1300309 for details.\n */\nexport async function normalizedImpactedNodesForLayoutShift(\n modelData: Handlers.Types.TraceParseData,\n event: Types.TraceEvents.TraceEventLayoutShift): Promise<readonly Types.TraceEvents.TraceImpactedNode[]> {\n const fromCache = normalizedNodesCache.get(modelData)?.get(event);\n if (fromCache) {\n return fromCache;\n }\n const impactedNodes = event.args?.data?.impacted_nodes;\n if (!impactedNodes) {\n return [];\n }\n\n let viewportScale: number|null = null;\n const target = SDK.TargetManager.TargetManager.instance().mainFrameTarget();\n // Get the CSS-to-physical pixel ratio of the device the inspected\n // target is running at.\n const evaluateResult = await target?.runtimeAgent().invoke_evaluate({expression: 'window.devicePixelRatio'});\n if (evaluateResult?.result.type === 'number') {\n viewportScale = evaluateResult?.result.value as number ?? null;\n }\n\n if (!viewportScale) {\n // Bail and return the nodes as is.\n return impactedNodes;\n }\n\n const normalizedNodes: Types.TraceEvents.TraceImpactedNode[] = [];\n for (const impactedNode of impactedNodes) {\n const newNode = {...impactedNode};\n for (let i = 0; i < impactedNode.old_rect.length; i++) {\n newNode.old_rect[i] /= viewportScale;\n }\n for (let i = 0; i < impactedNode.new_rect.length; i++) {\n newNode.new_rect[i] /= viewportScale;\n }\n normalizedNodes.push(newNode);\n }\n\n const cacheForModel = normalizedNodesCache.get(modelData) ||\n new Map<Types.TraceEvents.TraceEventLayoutShift, readonly Types.TraceEvents.TraceImpactedNode[]>();\n cacheForModel.set(event, normalizedNodes);\n normalizedNodesCache.set(modelData, cacheForModel);\n\n return normalizedNodes;\n}\n"],
5
+ "mappings": "AAKA;AAEA;AAEA,MAAM,0BAA0B,oBAAI;AAGpC,MAAM,uBAAuB,oBAAI;AAK1B,mCAAkC;AACvC,0BAAwB;AACxB,uBAAqB;AAAA;AAoBvB,4CACI,WACA,OAAuF;AACzF,QAAM,YAAY,wBAAwB,IAAI,YAAY,IAAI;AAC9D,MAAI,WAAW;AACb,WAAO;AAAA;AAET,QAAM,gBAAgB,MAAM,KAAK,MAAM;AACvC,MAAI,CAAC,eAAe;AAClB,WAAO;AAAA;AAET,QAAM,UAA+B;AACrC,QAAM,QAAQ,IAAI,cAAc,IAAI,OAAM,SAAQ;AAChD,UAAM,UAAU,MAAM,UAAU,WAAW,KAAK;AAChD,QAAI,SAAS;AACX,cAAQ,KAAK;AAAA,QACX,cAAc,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,SAAS,IAAI,KAAK,SAAS,IAAI,KAAK,SAAS;AAAA,QAC9F,aAAa,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,SAAS,IAAI,KAAK,SAAS,IAAI,KAAK,SAAS;AAAA,QAC7F,MAAM;AAAA;AAAA;AAAA;AAIZ,QAAM,gBACF,wBAAwB,IAAI,cAAc,oBAAI;AAClD,gBAAc,IAAI,OAAO;AACzB,0BAAwB,IAAI,WAAW;AACvC,SAAO;AAAA;AAeT,4DACI,WACA,OAAyG;AAC3G,QAAM,YAAY,qBAAqB,IAAI,YAAY,IAAI;AAC3D,MAAI,WAAW;AACb,WAAO;AAAA;AAET,QAAM,gBAAgB,MAAM,MAAM,MAAM;AACxC,MAAI,CAAC,eAAe;AAClB,WAAO;AAAA;AAGT,MAAI,gBAA6B;AACjC,QAAM,SAAS,IAAI,cAAc,cAAc,WAAW;AAG1D,QAAM,iBAAiB,MAAM,QAAQ,eAAe,gBAAgB,EAAC,YAAY;AACjF,MAAI,gBAAgB,OAAO,SAAS,UAAU;AAC5C,oBAAgB,gBAAgB,OAAO,SAAmB;AAAA;AAG5D,MAAI,CAAC,eAAe;AAElB,WAAO;AAAA;AAGT,QAAM,kBAAyD;AAC/D,aAAW,gBAAgB,eAAe;AACxC,UAAM,UAAU,KAAI;AACpB,aAAS,IAAI,GAAG,IAAI,aAAa,SAAS,QAAQ,KAAK;AACrD,cAAQ,SAAS,MAAM;AAAA;AAEzB,aAAS,IAAI,GAAG,IAAI,aAAa,SAAS,QAAQ,KAAK;AACrD,cAAQ,SAAS,MAAM;AAAA;AAEzB,oBAAgB,KAAK;AAAA;AAGvB,QAAM,gBAAgB,qBAAqB,IAAI,cAC3C,oBAAI;AACR,gBAAc,IAAI,OAAO;AACzB,uBAAqB,IAAI,WAAW;AAEpC,SAAO;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ {"compilerOptions":{"composite":true,"outDir":".","baseUrl":".","rootDir":"../../../../../../../front_end/models/trace/sdk_services"},"files":["../../../../../../../front_end/models/trace/sdk_services/sdk_services.ts"],"references":[{"path":"./sdk_services-tsconfig.json"}]}
@@ -0,0 +1,41 @@
1
+ {
2
+ "compilerOptions": {
3
+ "allowJs": true,
4
+ "checkJs": true,
5
+ "composite": true,
6
+ "declaration": true,
7
+ "experimentalDecorators": true,
8
+ "forceConsistentCasingInFileNames": true,
9
+ "inlineSources": true,
10
+ "lib": [
11
+ "esnext",
12
+ "dom",
13
+ "dom.iterable"
14
+ ],
15
+ "module": "esnext",
16
+ "noEmitOnError": true,
17
+ "noFallthroughCasesInSwitch": true,
18
+ "noImplicitReturns": true,
19
+ "outDir": ".",
20
+ "rootDir": "../../../../../../../front_end/models/trace/sdk_services",
21
+ "skipLibCheck": true,
22
+ "sourceMap": true,
23
+ "strict": true,
24
+ "target": "esnext",
25
+ "tsBuildInfoFile": "devtools_entrypoint-bundle-typescript-tsconfig.json.tsbuildinfo",
26
+ "typeRoots": [],
27
+ "useUnknownInCatchVariables": false
28
+ },
29
+ "files": [
30
+ "../../../../../../../front_end/models/trace/sdk_services/sdk_services.ts",
31
+ "../../../../../../../front_end/legacy/legacy-defs.d.ts",
32
+ "../../../../../../../front_end/global_typings/global_defs.d.ts",
33
+ "../../../../../../../front_end/global_typings/request_idle_callback.d.ts",
34
+ "../../../../../../../node_modules/@types/filesystem/index.d.ts"
35
+ ],
36
+ "references": [
37
+ {
38
+ "path": "./sdk_services-tsconfig.json"
39
+ }
40
+ ]
41
+ }
@@ -0,0 +1,57 @@
1
+ {
2
+ "compilerOptions": {
3
+ "allowJs": true,
4
+ "checkJs": true,
5
+ "composite": true,
6
+ "declaration": true,
7
+ "experimentalDecorators": true,
8
+ "forceConsistentCasingInFileNames": true,
9
+ "inlineSources": true,
10
+ "lib": [
11
+ "esnext",
12
+ "dom",
13
+ "dom.iterable"
14
+ ],
15
+ "module": "esnext",
16
+ "noEmitOnError": true,
17
+ "noFallthroughCasesInSwitch": true,
18
+ "noImplicitReturns": true,
19
+ "outDir": ".",
20
+ "rootDir": "../../../../../../../front_end/models/trace/sdk_services",
21
+ "skipLibCheck": true,
22
+ "sourceMap": true,
23
+ "strict": true,
24
+ "target": "esnext",
25
+ "tsBuildInfoFile": "sdk_services-tsconfig.json.tsbuildinfo",
26
+ "typeRoots": [],
27
+ "useUnknownInCatchVariables": false
28
+ },
29
+ "files": [
30
+ "../../../../../../../front_end/models/trace/sdk_services/DOMNodeLookup.ts",
31
+ "../../../../../../../front_end/models/trace/sdk_services/LayoutShifts.ts",
32
+ "../../../../../../../front_end/legacy/legacy-defs.d.ts",
33
+ "../../../../../../../front_end/global_typings/global_defs.d.ts",
34
+ "../../../../../../../front_end/global_typings/request_idle_callback.d.ts",
35
+ "../../../../../../../node_modules/@types/filesystem/index.d.ts"
36
+ ],
37
+ "references": [
38
+ {
39
+ "path": "../../../core/platform/bundle-tsconfig.json"
40
+ },
41
+ {
42
+ "path": "../../../core/sdk/bundle-tsconfig.json"
43
+ },
44
+ {
45
+ "path": "../../../generated/generated-tsconfig.json"
46
+ },
47
+ {
48
+ "path": "../handlers/bundle-tsconfig.json"
49
+ },
50
+ {
51
+ "path": "../helpers/bundle-tsconfig.json"
52
+ },
53
+ {
54
+ "path": "../types/bundle-tsconfig.json"
55
+ }
56
+ ]
57
+ }
@@ -0,0 +1,7 @@
1
+ import * as DOMNodeLookup from "./DOMNodeLookup.js";
2
+ import * as LayoutShifts from "./LayoutShifts.js";
3
+ export {
4
+ DOMNodeLookup,
5
+ LayoutShifts
6
+ };
7
+ //# sourceMappingURL=sdk_services.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../front_end/models/trace/sdk_services/sdk_services.ts"],
4
+ "sourcesContent": ["// Copyright 2022 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 * as DOMNodeLookup from './DOMNodeLookup.js';\nimport * as LayoutShifts from './LayoutShifts.js';\n\nexport {\n DOMNodeLookup,\n LayoutShifts,\n};\n"],
5
+ "mappings": "AAIA;AACA;AAEA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,16 @@
1
+ import * as TraceModule from "./trace.js";
2
+ self.SDK = self.SDK || {};
3
+ SDK = SDK || {};
4
+ SDK.TracingManager = TraceModule.TracingManager.TracingManager;
5
+ SDK.TracingModel = TraceModule.Legacy.TracingModel;
6
+ SDK.TracingModel.Event = TraceModule.Legacy.Event;
7
+ SDK.TracingModel.LegacyTopLevelEventCategory = TraceModule.Legacy.LegacyTopLevelEventCategory;
8
+ SDK.TracingModel.DevToolsMetadataEventCategory = TraceModule.Legacy.DevToolsMetadataEventCategory;
9
+ self.Trace = self.Trace || {};
10
+ Trace = Trace || {};
11
+ Trace.TracingManager = TraceModule.TracingManager.TracingManager;
12
+ Trace.TracingModel = TraceModule.Legacy.TracingModel;
13
+ Trace.TracingModel.Event = TraceModule.Legacy.Event;
14
+ Trace.TracingModel.LegacyTopLevelEventCategory = TraceModule.Legacy.LegacyTopLevelEventCategory;
15
+ Trace.TracingModel.DevToolsMetadataEventCategory = TraceModule.Legacy.DevToolsMetadataEventCategory;
16
+ //# sourceMappingURL=trace-legacy.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../front_end/models/trace/trace-legacy.ts"],
4
+ "sourcesContent": ["// Copyright 2023 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\n// @ts-nocheck\n\nimport * as TraceModule from './trace.js';\n\n// All the Layout Tests expect to find the TracingManager and TracingModel on\n// SDK, not on the Trace namespace. To enable the frontend change to land,\n// these are exposed on both here. We can then update the layout tests in a\n// separate CL, and then update this code so it does not change the SDK global\n\nself.SDK = self.SDK || {};\nSDK = SDK || {};\n/** @constructor */\nSDK.TracingManager = TraceModule.TracingManager.TracingManager;\n\n/** @constructor */\nSDK.TracingModel = TraceModule.Legacy.TracingModel;\n\n/** @constructor */\nSDK.TracingModel.Event = TraceModule.Legacy.Event;\n\nSDK.TracingModel.LegacyTopLevelEventCategory = TraceModule.Legacy.LegacyTopLevelEventCategory;\nSDK.TracingModel.DevToolsMetadataEventCategory = TraceModule.Legacy.DevToolsMetadataEventCategory;\n\nself.Trace = self.Trace || {};\nTrace = Trace || {};\n/** @constructor */\nTrace.TracingManager = TraceModule.TracingManager.TracingManager;\n\n/** @constructor */\nTrace.TracingModel = TraceModule.Legacy.TracingModel;\n\n/** @constructor */\nTrace.TracingModel.Event = TraceModule.Legacy.Event;\n\nTrace.TracingModel.LegacyTopLevelEventCategory = TraceModule.Legacy.LegacyTopLevelEventCategory;\nTrace.TracingModel.DevToolsMetadataEventCategory = TraceModule.Legacy.DevToolsMetadataEventCategory;\n"],
5
+ "mappings": "AAMA;AAOA,KAAK,MAAM,KAAK,OAAO;AACvB,MAAM,OAAO;AAEb,IAAI,iBAAiB,YAAY,eAAe;AAGhD,IAAI,eAAe,YAAY,OAAO;AAGtC,IAAI,aAAa,QAAQ,YAAY,OAAO;AAE5C,IAAI,aAAa,8BAA8B,YAAY,OAAO;AAClE,IAAI,aAAa,gCAAgC,YAAY,OAAO;AAEpE,KAAK,QAAQ,KAAK,SAAS;AAC3B,QAAQ,SAAS;AAEjB,MAAM,iBAAiB,YAAY,eAAe;AAGlD,MAAM,eAAe,YAAY,OAAO;AAGxC,MAAM,aAAa,QAAQ,YAAY,OAAO;AAE9C,MAAM,aAAa,8BAA8B,YAAY,OAAO;AACpE,MAAM,aAAa,gCAAgC,YAAY,OAAO;",
6
+ "names": []
7
+ }
@@ -0,0 +1,69 @@
1
+ {
2
+ "compilerOptions": {
3
+ "allowJs": true,
4
+ "checkJs": true,
5
+ "composite": true,
6
+ "declaration": true,
7
+ "experimentalDecorators": true,
8
+ "forceConsistentCasingInFileNames": true,
9
+ "inlineSources": true,
10
+ "lib": [
11
+ "esnext",
12
+ "dom",
13
+ "dom.iterable"
14
+ ],
15
+ "module": "esnext",
16
+ "noEmitOnError": true,
17
+ "noFallthroughCasesInSwitch": true,
18
+ "noImplicitOverride": true,
19
+ "noImplicitReturns": true,
20
+ "noUnusedLocals": false,
21
+ "outDir": ".",
22
+ "rootDir": "../../../../../../front_end/models/trace",
23
+ "skipLibCheck": true,
24
+ "sourceMap": true,
25
+ "strict": true,
26
+ "target": "esnext",
27
+ "tsBuildInfoFile": "trace-tsconfig.json.tsbuildinfo",
28
+ "typeRoots": [],
29
+ "useUnknownInCatchVariables": false
30
+ },
31
+ "files": [
32
+ "../../../../../../front_end/models/trace/EntriesFilter.ts",
33
+ "../../../../../../front_end/models/trace/LegacyTracingModel.ts",
34
+ "../../../../../../front_end/models/trace/ModelImpl.ts",
35
+ "../../../../../../front_end/models/trace/Processor.ts",
36
+ "../../../../../../front_end/models/trace/TracingManager.ts",
37
+ "../../../../../../front_end/legacy/legacy-defs.d.ts",
38
+ "../../../../../../front_end/global_typings/global_defs.d.ts",
39
+ "../../../../../../front_end/global_typings/request_idle_callback.d.ts",
40
+ "../../../../../../node_modules/@types/filesystem/index.d.ts",
41
+ "../../../../../../node_modules/@webgpu/types/dist/index.d.ts"
42
+ ],
43
+ "references": [
44
+ {
45
+ "path": "../../core/common/bundle-tsconfig.json"
46
+ },
47
+ {
48
+ "path": "../../core/platform/bundle-tsconfig.json"
49
+ },
50
+ {
51
+ "path": "../../core/sdk/bundle-tsconfig.json"
52
+ },
53
+ {
54
+ "path": "extras/bundle-tsconfig.json"
55
+ },
56
+ {
57
+ "path": "handlers/bundle-tsconfig.json"
58
+ },
59
+ {
60
+ "path": "helpers/bundle-tsconfig.json"
61
+ },
62
+ {
63
+ "path": "root-causes/bundle-tsconfig.json"
64
+ },
65
+ {
66
+ "path": "types/bundle-tsconfig.json"
67
+ }
68
+ ]
69
+ }
@@ -0,0 +1,11 @@
1
+ import * as EntriesFilter from './EntriesFilter.js';
2
+ import * as Extras from './extras/extras.js';
3
+ import * as Handlers from './handlers/handlers.js';
4
+ import * as Helpers from './helpers/helpers.js';
5
+ import * as Legacy from './LegacyTracingModel.js';
6
+ import * as TraceModel from './ModelImpl.js';
7
+ import * as Processor from './Processor.js';
8
+ import * as RootCauses from './root-causes/root-causes.js';
9
+ import * as TracingManager from './TracingManager.js';
10
+ import * as Types from './types/types.js';
11
+ export { EntriesFilter, Extras, Handlers, Helpers, Legacy, Processor, RootCauses, TraceModel, TracingManager, Types, };
@@ -0,0 +1,17 @@
1
+ // Copyright 2022 The Chromium Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+ import * as EntriesFilter from './EntriesFilter.js';
5
+ import * as Extras from './extras/extras.js';
6
+ import * as Handlers from './handlers/handlers.js';
7
+ import * as Helpers from './helpers/helpers.js';
8
+ // Purposefully use a shorter name here so references to this are
9
+ // Legacy.TracingModel.
10
+ import * as Legacy from './LegacyTracingModel.js';
11
+ import * as TraceModel from './ModelImpl.js';
12
+ import * as Processor from './Processor.js';
13
+ import * as RootCauses from './root-causes/root-causes.js';
14
+ import * as TracingManager from './TracingManager.js';
15
+ import * as Types from './types/types.js';
16
+ export { EntriesFilter, Extras, Handlers, Helpers, Legacy, Processor, RootCauses, TraceModel, TracingManager, Types, };
17
+ //# sourceMappingURL=trace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../../../../front_end/models/trace/trace.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AAE7B,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,iEAAiE;AACjE,uBAAuB;AACvB,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EACL,aAAa,EACb,MAAM,EACN,QAAQ,EACR,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,EACd,KAAK,GACN,CAAC","sourcesContent":["// Copyright 2022 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 * as EntriesFilter from './EntriesFilter.js';\nimport * as Extras from './extras/extras.js';\nimport * as Handlers from './handlers/handlers.js';\nimport * as Helpers from './helpers/helpers.js';\n// Purposefully use a shorter name here so references to this are\n// Legacy.TracingModel.\nimport * as Legacy from './LegacyTracingModel.js';\nimport * as TraceModel from './ModelImpl.js';\nimport * as Processor from './Processor.js';\nimport * as RootCauses from './root-causes/root-causes.js';\nimport * as TracingManager from './TracingManager.js';\nimport * as Types from './types/types.js';\n\nexport {\n EntriesFilter,\n Extras,\n Handlers,\n Helpers,\n Legacy,\n Processor,\n RootCauses,\n TraceModel,\n TracingManager,\n Types,\n};\n"]}
@@ -0,0 +1,33 @@
1
+ export type Configuration = Readonly<{
2
+ settings: {};
3
+ experiments: {
4
+ /**
5
+ * Include V8 RCS in the timeline
6
+ */
7
+ timelineV8RuntimeCallStats: boolean;
8
+ /**
9
+ * Show all events: disable the default filtering which hides and excludes some events.
10
+ */
11
+ timelineShowAllEvents: boolean;
12
+ };
13
+ processing: {
14
+ /**
15
+ * How long the processor should pause between event chunks.
16
+ */
17
+ pauseDuration: number;
18
+ /**
19
+ * How many events should be processed before yielding to the main thread for a pause.
20
+ */
21
+ eventsPerChunk: number;
22
+ };
23
+ }>;
24
+ export declare const DEFAULT: Configuration;
25
+ /**
26
+ * Generates a key that can be used to represent this config in a cache. This is
27
+ * used mainly in tests, where we want to avoid re-parsing a file if we have
28
+ * already processed it with the same configuration. This cache key purposefully
29
+ * does not include all settings in the configuration; the processing settings
30
+ * do not impact the actual resulting data. Only new flags in the config that
31
+ * alter parsing should be added to this cache key.
32
+ */
33
+ export declare function configToCacheKey(config: Configuration): string;
@@ -0,0 +1,29 @@
1
+ // Copyright 2023 The Chromium Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+ export const DEFAULT = {
5
+ settings: {},
6
+ experiments: {
7
+ timelineV8RuntimeCallStats: false,
8
+ timelineShowAllEvents: false,
9
+ },
10
+ processing: {
11
+ eventsPerChunk: 15_000,
12
+ pauseDuration: 1,
13
+ },
14
+ };
15
+ /**
16
+ * Generates a key that can be used to represent this config in a cache. This is
17
+ * used mainly in tests, where we want to avoid re-parsing a file if we have
18
+ * already processed it with the same configuration. This cache key purposefully
19
+ * does not include all settings in the configuration; the processing settings
20
+ * do not impact the actual resulting data. Only new flags in the config that
21
+ * alter parsing should be added to this cache key.
22
+ */
23
+ export function configToCacheKey(config) {
24
+ return [
25
+ `experiments.timelineShowAllEvents:${config.experiments.timelineShowAllEvents}`,
26
+ `experiments.timelineV8RuntimeCallStats:${config.experiments.timelineV8RuntimeCallStats}`,
27
+ ].join('-');
28
+ }
29
+ //# sourceMappingURL=Configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Configuration.js","sourceRoot":"","sources":["../../../../../../../front_end/models/trace/types/Configuration.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B;AA4B7B,MAAM,CAAC,MAAM,OAAO,GAAkB;IACpC,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE;QACX,0BAA0B,EAAE,KAAK;QACjC,qBAAqB,EAAE,KAAK;KAC7B;IACD,UAAU,EAAE;QACV,cAAc,EAAE,MAAM;QACtB,aAAa,EAAE,CAAC;KACjB;CACF,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAqB;IACpD,OAAO;QACL,qCAAqC,MAAM,CAAC,WAAW,CAAC,qBAAqB,EAAE;QAC/E,0CAA0C,MAAM,CAAC,WAAW,CAAC,0BAA0B,EAAE;KAC1F,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC","sourcesContent":["// Copyright 2023 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\nexport type Configuration = Readonly<{\n settings: {\n // Currently empty but defining here as we will migrate more settings into this.\n },\n experiments: {\n /**\n * Include V8 RCS in the timeline\n */\n timelineV8RuntimeCallStats: boolean,\n /**\n * Show all events: disable the default filtering which hides and excludes some events.\n */\n timelineShowAllEvents: boolean,\n },\n processing: {\n /**\n * How long the processor should pause between event chunks.\n */\n pauseDuration: number,\n /**\n * How many events should be processed before yielding to the main thread for a pause.\n */\n eventsPerChunk: number,\n },\n}>;\n\nexport const DEFAULT: Configuration = {\n settings: {},\n experiments: {\n timelineV8RuntimeCallStats: false,\n timelineShowAllEvents: false,\n },\n processing: {\n eventsPerChunk: 15_000,\n pauseDuration: 1,\n },\n};\n\n/**\n * Generates a key that can be used to represent this config in a cache. This is\n * used mainly in tests, where we want to avoid re-parsing a file if we have\n * already processed it with the same configuration. This cache key purposefully\n * does not include all settings in the configuration; the processing settings\n * do not impact the actual resulting data. Only new flags in the config that\n * alter parsing should be added to this cache key.\n */\nexport function configToCacheKey(config: Configuration): string {\n return [\n `experiments.timelineShowAllEvents:${config.experiments.timelineShowAllEvents}`,\n `experiments.timelineV8RuntimeCallStats:${config.experiments.timelineV8RuntimeCallStats}`,\n ].join('-');\n}\n"]}
@@ -0,0 +1,23 @@
1
+ import { type TraceEventData } from './TraceEvents.js';
2
+ export type TraceFile = {
3
+ traceEvents: readonly TraceEventData[];
4
+ metadata: MetaData;
5
+ };
6
+ export declare const enum DataOrigin {
7
+ CPUProfile = "CPUProfile",
8
+ TraceEvents = "TraceEvents"
9
+ }
10
+ /**
11
+ * Trace metadata that we persist to the file. This will allow us to
12
+ * store specifics for the trace, e.g., which tracks should be visible
13
+ * on load.
14
+ */
15
+ export interface MetaData {
16
+ source?: 'DevTools';
17
+ startTime?: string;
18
+ networkThrottling?: string;
19
+ cpuThrottling?: number;
20
+ hardwareConcurrency?: number;
21
+ dataOrigin?: DataOrigin;
22
+ }
23
+ export type Contents = TraceFile | TraceEventData[];
@@ -0,0 +1,5 @@
1
+ // Copyright 2023 The Chromium Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+ export {};
5
+ //# sourceMappingURL=File.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"File.js","sourceRoot":"","sources":["../../../../../../../front_end/models/trace/types/File.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,yEAAyE;AACzE,6BAA6B","sourcesContent":["// Copyright 2023 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 TraceEventData} from './TraceEvents.js';\nexport type TraceFile = {\n traceEvents: readonly TraceEventData[],\n metadata: MetaData,\n};\n\nexport const enum DataOrigin {\n CPUProfile = 'CPUProfile',\n TraceEvents = 'TraceEvents',\n}\n\n/**\n * Trace metadata that we persist to the file. This will allow us to\n * store specifics for the trace, e.g., which tracks should be visible\n * on load.\n */\nexport interface MetaData {\n source?: 'DevTools';\n startTime?: string;\n networkThrottling?: string;\n cpuThrottling?: number;\n hardwareConcurrency?: number;\n dataOrigin?: DataOrigin;\n}\n\nexport type Contents = TraceFile|TraceEventData[];\n"]}