@paulirish/trace_engine 0.0.60 → 0.0.62

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 (302) hide show
  1. package/.tmp/tsbuildinfo/analyze-trace.d.mts.map +1 -1
  2. package/.tmp/tsbuildinfo/tsconfig.tsbuildinfo +1 -1
  3. package/analyze-inspector-issues.mjs +1 -1
  4. package/analyze-trace.mjs +1 -2
  5. package/core/platform/ArrayUtilities.d.ts +2 -0
  6. package/core/platform/ArrayUtilities.js +11 -1
  7. package/core/platform/ArrayUtilities.js.map +1 -1
  8. package/core/platform/HostRuntime.d.ts +4 -0
  9. package/core/platform/HostRuntime.js +25 -0
  10. package/core/platform/HostRuntime.js.map +1 -0
  11. package/core/platform/KeyboardUtilities.d.ts +6 -2
  12. package/core/platform/KeyboardUtilities.js.map +1 -1
  13. package/core/platform/StringUtilities.d.ts +2 -0
  14. package/core/platform/StringUtilities.js +64 -13
  15. package/core/platform/StringUtilities.js.map +1 -1
  16. package/core/platform/api/HostRuntime.d.ts +36 -0
  17. package/core/platform/api/HostRuntime.js +5 -0
  18. package/core/platform/api/HostRuntime.js.map +1 -0
  19. package/core/platform/api/api-tsconfig.json +43 -0
  20. package/core/platform/api/api.d.ts +2 -0
  21. package/core/platform/api/api.js +6 -0
  22. package/core/platform/api/api.js.map +1 -0
  23. package/core/platform/api/api_node_typecheck-tsconfig.json +48 -0
  24. package/core/platform/api/bundle-tsconfig.json +1 -0
  25. package/core/platform/api/devtools_entrypoint-bundle-typescript-tsconfig.json +48 -0
  26. package/core/platform/browser/HostRuntime.d.ts +2 -0
  27. package/core/platform/browser/HostRuntime.js +64 -0
  28. package/core/platform/browser/HostRuntime.js.map +1 -0
  29. package/core/platform/browser/browser-tsconfig.json +48 -0
  30. package/core/platform/browser/browser.d.ts +2 -0
  31. package/core/platform/browser/browser.js +6 -0
  32. package/core/platform/browser/browser.js.map +1 -0
  33. package/core/platform/browser/bundle-tsconfig.json +1 -0
  34. package/core/platform/browser/devtools_entrypoint-bundle-typescript-tsconfig.json +48 -0
  35. package/core/platform/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  36. package/core/platform/node/HostRuntime.d.ts +2 -0
  37. package/core/platform/node/HostRuntime.js +73 -0
  38. package/core/platform/node/HostRuntime.js.map +1 -0
  39. package/core/platform/node/bundle-tsconfig.json +1 -0
  40. package/core/platform/node/devtools_entrypoint-bundle-typescript-tsconfig.json +48 -0
  41. package/core/platform/node/node-tsconfig.json +52 -0
  42. package/core/platform/node/node.d.ts +2 -0
  43. package/core/platform/node/node.js +6 -0
  44. package/core/platform/node/node.js.map +1 -0
  45. package/core/platform/platform-tsconfig.json +17 -5
  46. package/core/platform/platform.d.ts +2 -2
  47. package/core/platform/platform.js +2 -2
  48. package/core/platform/platform.js.map +1 -1
  49. package/core/platform/platform_node_typecheck-tsconfig.json +74 -0
  50. package/generated/protocol.d.ts +1517 -592
  51. package/locales/af.json +83 -38
  52. package/locales/am.json +83 -38
  53. package/locales/ar.json +86 -41
  54. package/locales/as.json +83 -38
  55. package/locales/az.json +83 -38
  56. package/locales/be.json +81 -36
  57. package/locales/bg.json +81 -36
  58. package/locales/bn.json +83 -38
  59. package/locales/bs.json +82 -37
  60. package/locales/ca.json +81 -36
  61. package/locales/cs.json +81 -36
  62. package/locales/cy.json +83 -38
  63. package/locales/da.json +83 -38
  64. package/locales/de.json +81 -36
  65. package/locales/el.json +82 -37
  66. package/locales/en-GB.json +83 -38
  67. package/locales/en-US.json +104 -35
  68. package/locales/en-XL.json +104 -35
  69. package/locales/es-419.json +81 -36
  70. package/locales/es.json +82 -37
  71. package/locales/et.json +83 -38
  72. package/locales/eu.json +81 -36
  73. package/locales/fa.json +84 -39
  74. package/locales/fi.json +81 -36
  75. package/locales/fil.json +83 -38
  76. package/locales/fr-CA.json +82 -37
  77. package/locales/fr.json +168 -123
  78. package/locales/gl.json +82 -37
  79. package/locales/gu.json +82 -37
  80. package/locales/he.json +96 -51
  81. package/locales/hi.json +82 -37
  82. package/locales/hr.json +81 -36
  83. package/locales/hu.json +82 -37
  84. package/locales/hy.json +82 -37
  85. package/locales/id.json +83 -38
  86. package/locales/is.json +82 -37
  87. package/locales/it.json +81 -36
  88. package/locales/ja.json +81 -36
  89. package/locales/ka.json +83 -38
  90. package/locales/kk.json +81 -36
  91. package/locales/km.json +83 -38
  92. package/locales/kn.json +82 -37
  93. package/locales/ko.json +82 -37
  94. package/locales/ky.json +81 -36
  95. package/locales/lo.json +82 -37
  96. package/locales/lt.json +81 -36
  97. package/locales/lv.json +81 -36
  98. package/locales/mk.json +84 -39
  99. package/locales/ml.json +82 -37
  100. package/locales/mn.json +82 -37
  101. package/locales/mr.json +83 -38
  102. package/locales/ms.json +81 -36
  103. package/locales/my.json +82 -37
  104. package/locales/ne.json +82 -37
  105. package/locales/nl.json +82 -37
  106. package/locales/no.json +81 -36
  107. package/locales/or.json +81 -36
  108. package/locales/pa.json +81 -36
  109. package/locales/pl.json +81 -36
  110. package/locales/pt-PT.json +81 -36
  111. package/locales/pt.json +83 -38
  112. package/locales/ro.json +82 -37
  113. package/locales/ru.json +81 -36
  114. package/locales/si.json +81 -36
  115. package/locales/sk.json +81 -36
  116. package/locales/sl.json +81 -36
  117. package/locales/sq.json +82 -37
  118. package/locales/sr-Latn.json +82 -37
  119. package/locales/sr.json +82 -37
  120. package/locales/sv.json +84 -39
  121. package/locales/sw.json +83 -38
  122. package/locales/ta.json +82 -37
  123. package/locales/te.json +82 -37
  124. package/locales/th.json +82 -37
  125. package/locales/tr.json +81 -36
  126. package/locales/uk.json +81 -36
  127. package/locales/ur.json +82 -37
  128. package/locales/uz.json +82 -37
  129. package/locales/vi.json +83 -38
  130. package/locales/zh-HK.json +81 -36
  131. package/locales/zh-TW.json +84 -39
  132. package/locales/zh.json +84 -39
  133. package/locales/zu.json +82 -37
  134. package/models/cpu_profile/CPUProfileDataModel.d.ts +9 -0
  135. package/models/cpu_profile/CPUProfileDataModel.js +9 -7
  136. package/models/cpu_profile/CPUProfileDataModel.js.map +1 -1
  137. package/models/cpu_profile/ProfileTreeModel.d.ts +3 -2
  138. package/models/cpu_profile/ProfileTreeModel.js +6 -7
  139. package/models/cpu_profile/ProfileTreeModel.js.map +1 -1
  140. package/models/cpu_profile/cpu_profile-tsconfig.json +4 -3
  141. package/models/cpu_profile/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  142. package/models/trace/EntityMapper.d.ts +1 -0
  143. package/models/trace/EntityMapper.js +10 -0
  144. package/models/trace/EntityMapper.js.map +1 -1
  145. package/models/trace/EventsSerializer.js +10 -2
  146. package/models/trace/EventsSerializer.js.map +1 -1
  147. package/models/trace/LanternComputationData.d.ts +1 -1
  148. package/models/trace/LanternComputationData.js +3 -8
  149. package/models/trace/LanternComputationData.js.map +1 -1
  150. package/models/trace/ModelImpl.d.ts +1 -0
  151. package/models/trace/ModelImpl.js +9 -6
  152. package/models/trace/ModelImpl.js.map +1 -1
  153. package/models/trace/Processor.js +23 -23
  154. package/models/trace/Processor.js.map +1 -1
  155. package/models/trace/Styles.js +13 -5
  156. package/models/trace/Styles.js.map +1 -1
  157. package/models/trace/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  158. package/models/trace/extras/Initiators.d.ts +12 -0
  159. package/models/trace/extras/Initiators.js +47 -0
  160. package/models/trace/extras/Initiators.js.map +1 -0
  161. package/models/trace/extras/TraceTree.js +13 -5
  162. package/models/trace/extras/TraceTree.js.map +1 -1
  163. package/models/trace/extras/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  164. package/models/trace/extras/extras-tsconfig.json +11 -3
  165. package/models/trace/extras/extras.d.ts +0 -3979
  166. package/models/trace/extras/extras.js +0 -3979
  167. package/models/trace/extras/extras.js.map +1 -1
  168. package/models/trace/handlers/LargestImagePaintHandler.js +2 -2
  169. package/models/trace/handlers/LargestImagePaintHandler.js.map +1 -1
  170. package/models/trace/handlers/LayoutShiftsHandler.js +1 -1
  171. package/models/trace/handlers/LayoutShiftsHandler.js.map +1 -1
  172. package/models/trace/handlers/MetaHandler.d.ts +12 -1
  173. package/models/trace/handlers/MetaHandler.js +10 -1
  174. package/models/trace/handlers/MetaHandler.js.map +1 -1
  175. package/models/trace/handlers/NetworkRequestsHandler.d.ts +8 -1
  176. package/models/trace/handlers/NetworkRequestsHandler.js +22 -4
  177. package/models/trace/handlers/NetworkRequestsHandler.js.map +1 -1
  178. package/models/trace/handlers/PageLoadMetricsHandler.d.ts +13 -3
  179. package/models/trace/handlers/PageLoadMetricsHandler.js +71 -27
  180. package/models/trace/handlers/PageLoadMetricsHandler.js.map +1 -1
  181. package/models/trace/handlers/SamplesHandler.js +59 -6
  182. package/models/trace/handlers/SamplesHandler.js.map +1 -1
  183. package/models/trace/handlers/ScriptsHandler.js +24 -0
  184. package/models/trace/handlers/ScriptsHandler.js.map +1 -1
  185. package/models/trace/handlers/UserTimingsHandler.d.ts +1 -1
  186. package/models/trace/handlers/UserTimingsHandler.js +1 -1
  187. package/models/trace/handlers/UserTimingsHandler.js.map +1 -1
  188. package/models/trace/handlers/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  189. package/models/trace/handlers/handlers-tsconfig.json +13 -3
  190. package/models/trace/helpers/Network.js +1 -1
  191. package/models/trace/helpers/Network.js.map +1 -1
  192. package/models/trace/helpers/SamplesIntegrator.js +1 -8
  193. package/models/trace/helpers/SamplesIntegrator.js.map +1 -1
  194. package/models/trace/helpers/Timing.d.ts +1 -1
  195. package/models/trace/helpers/Timing.js +9 -2
  196. package/models/trace/helpers/Timing.js.map +1 -1
  197. package/models/trace/helpers/Trace.d.ts +1 -0
  198. package/models/trace/helpers/Trace.js +12 -5
  199. package/models/trace/helpers/Trace.js.map +1 -1
  200. package/models/trace/helpers/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  201. package/models/trace/helpers/helpers-tsconfig.json +7 -3
  202. package/models/trace/insights/CLSCulprits.d.ts +1 -1
  203. package/models/trace/insights/CLSCulprits.js +2 -1
  204. package/models/trace/insights/CLSCulprits.js.map +1 -1
  205. package/models/trace/insights/Cache.d.ts +1 -1
  206. package/models/trace/insights/Cache.js +2 -1
  207. package/models/trace/insights/Cache.js.map +1 -1
  208. package/models/trace/insights/CharacterSet.d.ts +49 -0
  209. package/models/trace/insights/CharacterSet.js +132 -0
  210. package/models/trace/insights/CharacterSet.js.map +1 -0
  211. package/models/trace/insights/Common.d.ts +2 -2
  212. package/models/trace/insights/Common.js +1 -6
  213. package/models/trace/insights/Common.js.map +1 -1
  214. package/models/trace/insights/DOMSize.d.ts +1 -1
  215. package/models/trace/insights/DOMSize.js +2 -1
  216. package/models/trace/insights/DOMSize.js.map +1 -1
  217. package/models/trace/insights/DocumentLatency.d.ts +1 -1
  218. package/models/trace/insights/DocumentLatency.js +2 -1
  219. package/models/trace/insights/DocumentLatency.js.map +1 -1
  220. package/models/trace/insights/DuplicatedJavaScript.d.ts +1 -1
  221. package/models/trace/insights/DuplicatedJavaScript.js +2 -1
  222. package/models/trace/insights/DuplicatedJavaScript.js.map +1 -1
  223. package/models/trace/insights/FontDisplay.d.ts +1 -1
  224. package/models/trace/insights/FontDisplay.js +2 -1
  225. package/models/trace/insights/FontDisplay.js.map +1 -1
  226. package/models/trace/insights/ForcedReflow.d.ts +2 -2
  227. package/models/trace/insights/ForcedReflow.js +3 -2
  228. package/models/trace/insights/ForcedReflow.js.map +1 -1
  229. package/models/trace/insights/INPBreakdown.d.ts +1 -1
  230. package/models/trace/insights/INPBreakdown.js +2 -1
  231. package/models/trace/insights/INPBreakdown.js.map +1 -1
  232. package/models/trace/insights/ImageDelivery.d.ts +1 -1
  233. package/models/trace/insights/ImageDelivery.js +2 -1
  234. package/models/trace/insights/ImageDelivery.js.map +1 -1
  235. package/models/trace/insights/LCPBreakdown.d.ts +2 -2
  236. package/models/trace/insights/LCPBreakdown.js +4 -3
  237. package/models/trace/insights/LCPBreakdown.js.map +1 -1
  238. package/models/trace/insights/LCPDiscovery.d.ts +8 -4
  239. package/models/trace/insights/LCPDiscovery.js +18 -11
  240. package/models/trace/insights/LCPDiscovery.js.map +1 -1
  241. package/models/trace/insights/LegacyJavaScript.d.ts +1 -1
  242. package/models/trace/insights/LegacyJavaScript.js +2 -1
  243. package/models/trace/insights/LegacyJavaScript.js.map +1 -1
  244. package/models/trace/insights/Models.d.ts +1 -0
  245. package/models/trace/insights/Models.js +1 -0
  246. package/models/trace/insights/Models.js.map +1 -1
  247. package/models/trace/insights/ModernHTTP.d.ts +1 -1
  248. package/models/trace/insights/ModernHTTP.js +2 -1
  249. package/models/trace/insights/ModernHTTP.js.map +1 -1
  250. package/models/trace/insights/NetworkDependencyTree.d.ts +1 -1
  251. package/models/trace/insights/NetworkDependencyTree.js +6 -4
  252. package/models/trace/insights/NetworkDependencyTree.js.map +1 -1
  253. package/models/trace/insights/RenderBlocking.d.ts +2 -2
  254. package/models/trace/insights/RenderBlocking.js +8 -7
  255. package/models/trace/insights/RenderBlocking.js.map +1 -1
  256. package/models/trace/insights/SlowCSSSelector.d.ts +1 -1
  257. package/models/trace/insights/SlowCSSSelector.js +2 -1
  258. package/models/trace/insights/SlowCSSSelector.js.map +1 -1
  259. package/models/trace/insights/ThirdParties.js +2 -1
  260. package/models/trace/insights/ThirdParties.js.map +1 -1
  261. package/models/trace/insights/Viewport.d.ts +1 -1
  262. package/models/trace/insights/Viewport.js +2 -1
  263. package/models/trace/insights/Viewport.js.map +1 -1
  264. package/models/trace/insights/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  265. package/models/trace/insights/insights-tsconfig.json +26 -3
  266. package/models/trace/insights/types.d.ts +17 -6
  267. package/models/trace/insights/types.js +1 -0
  268. package/models/trace/insights/types.js.map +1 -1
  269. package/models/trace/lantern/core/core-tsconfig.json +4 -3
  270. package/models/trace/lantern/core/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  271. package/models/trace/lantern/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  272. package/models/trace/lantern/graph/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  273. package/models/trace/lantern/graph/graph-tsconfig.json +4 -3
  274. package/models/trace/lantern/lantern-tsconfig.json +4 -3
  275. package/models/trace/lantern/metrics/FirstContentfulPaint.js +6 -6
  276. package/models/trace/lantern/metrics/FirstContentfulPaint.js.map +1 -1
  277. package/models/trace/lantern/metrics/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  278. package/models/trace/lantern/metrics/metrics-tsconfig.json +4 -3
  279. package/models/trace/lantern/simulation/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  280. package/models/trace/lantern/simulation/simulation-tsconfig.json +4 -3
  281. package/models/trace/lantern/types/Lantern.d.ts +7 -7
  282. package/models/trace/lantern/types/Lantern.js.map +1 -1
  283. package/models/trace/lantern/types/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  284. package/models/trace/lantern/types/types-tsconfig.json +4 -3
  285. package/models/trace/trace-tsconfig.json +7 -3
  286. package/models/trace/types/Configuration.d.ts +1 -4
  287. package/models/trace/types/Configuration.js +0 -1
  288. package/models/trace/types/Configuration.js.map +1 -1
  289. package/models/trace/types/File.d.ts +8 -0
  290. package/models/trace/types/File.js.map +1 -1
  291. package/models/trace/types/TraceEvents.d.ts +97 -15
  292. package/models/trace/types/TraceEvents.js +44 -11
  293. package/models/trace/types/TraceEvents.js.map +1 -1
  294. package/models/trace/types/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  295. package/models/trace/types/types-tsconfig.json +10 -3
  296. package/package.json +1 -1
  297. package/test/test-trace-engine.mjs +8 -9
  298. package/.tmp/tsbuildinfo/models/trace/extras/polyfills.d.ts +0 -4
  299. package/.tmp/tsbuildinfo/models/trace/extras/polyfills.d.ts.map +0 -1
  300. package/core/platform/DOMUtilities.d.ts +0 -16
  301. package/core/platform/DOMUtilities.js +0 -123
  302. package/core/platform/DOMUtilities.js.map +0 -1
@@ -8,13 +8,13 @@
8
8
  "forceConsistentCasingInFileNames": true,
9
9
  "inlineSources": true,
10
10
  "lib": [
11
+ "dom",
12
+ "dom.iterable",
11
13
  "ES2023",
12
14
  "ES2024.Promise",
13
15
  "ESNext.Iterator",
14
16
  "ESNext.Collection",
15
- "ESNext.Array",
16
- "dom",
17
- "dom.iterable"
17
+ "ESNext.Array"
18
18
  ],
19
19
  "module": "esnext",
20
20
  "noEmitOnError": true,
@@ -31,6 +31,7 @@
31
31
  "target": "ES2023",
32
32
  "tsBuildInfoFile": "devtools_entrypoint-bundle-typescript-tsconfig.json.tsbuildinfo",
33
33
  "typeRoots": [],
34
+ "types": [],
34
35
  "useUnknownInCatchVariables": false
35
36
  },
36
37
  "files": [
@@ -8,13 +8,13 @@
8
8
  "forceConsistentCasingInFileNames": true,
9
9
  "inlineSources": true,
10
10
  "lib": [
11
+ "dom",
12
+ "dom.iterable",
11
13
  "ES2023",
12
14
  "ES2024.Promise",
13
15
  "ESNext.Iterator",
14
16
  "ESNext.Collection",
15
- "ESNext.Array",
16
- "dom",
17
- "dom.iterable"
17
+ "ESNext.Array"
18
18
  ],
19
19
  "module": "esnext",
20
20
  "noEmitOnError": true,
@@ -31,6 +31,7 @@
31
31
  "target": "ES2023",
32
32
  "tsBuildInfoFile": "types-tsconfig.json.tsbuildinfo",
33
33
  "typeRoots": [],
34
+ "types": [],
34
35
  "useUnknownInCatchVariables": false
35
36
  },
36
37
  "files": [
@@ -45,12 +46,18 @@
45
46
  "../../../../../../../node_modules/@types/filesystem/index.d.ts"
46
47
  ],
47
48
  "references": [
49
+ {
50
+ "path": "../../../core/platform/bundle-tsconfig.json"
51
+ },
48
52
  {
49
53
  "path": "../../../core/sdk/bundle-tsconfig.json"
50
54
  },
51
55
  {
52
56
  "path": "../../../generated/generated-tsconfig.json"
53
57
  },
58
+ {
59
+ "path": "../../../generated/protocol-tsconfig.json"
60
+ },
54
61
  {
55
62
  "path": "../../crux-manager/bundle-tsconfig.json"
56
63
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paulirish/trace_engine",
3
- "version": "0.0.60",
3
+ "version": "0.0.62",
4
4
  "description": "",
5
5
  "main": "models/trace/trace.js",
6
6
  "scripts": {
@@ -2,8 +2,8 @@
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
4
 
5
- import {strict as assert} from 'assert';
6
- import fs from 'fs';
5
+ import {strict as assert} from 'node:assert';
6
+ import fs from 'node:fs';
7
7
  import test from 'node:test';
8
8
 
9
9
  import {analyzeTrace} from '../analyze-trace.mjs';
@@ -35,7 +35,7 @@ test('numeric values are set and look legit', t => {
35
35
  for (const datum of shouldBeNumbers) {
36
36
  assert.equal(typeof datum, 'number');
37
37
  if (typeof datum !== 'number')
38
- throw new Error();
38
+ {throw new Error();}
39
39
  assert.equal(isNaN(datum), false);
40
40
  assert.equal(datum > 10, true);
41
41
  }
@@ -53,7 +53,7 @@ test('string values are set and look legit', t => {
53
53
  for (const datum of shouldBeStrings) {
54
54
  assert.equal(typeof datum, 'string');
55
55
  if (typeof datum !== 'string')
56
- throw new Error();
56
+ {throw new Error();}
57
57
  assert.equal(datum.length > 10, true);
58
58
  }
59
59
  });
@@ -85,6 +85,7 @@ test('insights look ok', t => {
85
85
  'SlowCSSSelector',
86
86
  'ForcedReflow',
87
87
  'Cache',
88
+ 'CharacterSet',
88
89
  'ModernHTTP',
89
90
  'LegacyJavaScript',
90
91
  ]);
@@ -96,8 +97,8 @@ test('insights look ok', t => {
96
97
  assert.ok(typeof insightItem === 'object', `insightName ${insightName} is not an object`);
97
98
  }
98
99
 
99
- const entityNames = insightSet.model.ThirdParties.entitySummaries.map(s => s.entity.name);
100
- const values = insightSet.model.ThirdParties.entitySummaries.values();
100
+ const entityNames = insightSet.model.ThirdParties?.entitySummaries.map(s => s.entity.name) ?? [];
101
+ const values = insightSet.model.ThirdParties?.entitySummaries.values() ?? [];
101
102
  const simplified = Object.fromEntries(values.map((v, i) => [entityNames[i], {transferSize: v.transferSize, mainThreadTime: v.mainThreadTime}]));
102
103
 
103
104
  const expected = {
@@ -124,14 +125,13 @@ test('bottom-up summary is good', t => {
124
125
  visibleEvents.concat([Trace.Types.Events.Name.SYNTHETIC_NETWORK_REQUEST]));
125
126
  const milliBounds = Trace.Helpers.Timing.traceWindowMilliSeconds(parsedTrace.data.Meta.traceBounds);
126
127
 
127
-
128
128
  const mainThreadProbably =
129
129
  Trace.Handlers.Threads.threadsInTrace(parsedTrace.data)
130
130
  .filter(t => t.type === Trace.Handlers.Threads.ThreadType.MAIN_THREAD && t.processIsOnMainFrame)
131
131
  .sort((a, b) => b.entries.length - a.entries.length)
132
132
  .at(0);
133
133
  if (!mainThreadProbably)
134
- assert.fail('No main thread found in trace');
134
+ {assert.fail('No main thread found in trace');}
135
135
 
136
136
  /** @param {Trace.Types.Events.Event} event */
137
137
  const groupingFunction = event => event.name;
@@ -178,7 +178,6 @@ Decode Image 0.043ms
178
178
  `.trim());
179
179
  });
180
180
 
181
-
182
181
  // TODO: needs more work...
183
182
  // test('inspector issues ok', t => {
184
183
  // const artifactsPath = [
@@ -1,4 +0,0 @@
1
- export = implementation;
2
- export = implementation;
3
- declare var implementation: any;
4
- //# sourceMappingURL=polyfills.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"polyfills.d.ts","sourceRoot":"","sources":["../../../../../models/trace/extras/polyfills.js"],"names":[],"mappings":";;AAshHM,gCAAmB"}
@@ -1,16 +0,0 @@
1
- /**
2
- * `document.activeElement` will not enter shadow roots to find the element
3
- * that has focus; use this method if you need to traverse through any shadow
4
- * roots to find the actual, specific focused element.
5
- */
6
- export declare function deepActiveElement(doc: Document): Element | null;
7
- export declare function getEnclosingShadowRootForNode(node: Node): Node | null;
8
- export declare function rangeOfWord(rootNode: Node, offset: number, stopCharacters: string, stayWithinNode: Node, direction?: string): Range;
9
- /**
10
- * Appends the list of `styles` as individual `<style>` elements to the
11
- * given `node`.
12
- *
13
- * @param node the `Node` to append the `<style>` elements to.
14
- * @param styles an optional list of styles to append to the `node`.
15
- */
16
- export declare function appendStyle(node: Node, ...styles: string[]): void;
@@ -1,123 +0,0 @@
1
- // Copyright 2022 The Chromium Authors
2
- // Use of this source code is governed by a BSD-style license that can be
3
- // found in the LICENSE file.
4
- /**
5
- * `document.activeElement` will not enter shadow roots to find the element
6
- * that has focus; use this method if you need to traverse through any shadow
7
- * roots to find the actual, specific focused element.
8
- */
9
- export function deepActiveElement(doc) {
10
- let activeElement = doc.activeElement;
11
- while (activeElement?.shadowRoot?.activeElement) {
12
- activeElement = activeElement.shadowRoot.activeElement;
13
- }
14
- return activeElement;
15
- }
16
- export function getEnclosingShadowRootForNode(node) {
17
- let parentNode = node.parentNodeOrShadowHost();
18
- while (parentNode) {
19
- if (parentNode instanceof ShadowRoot) {
20
- return parentNode;
21
- }
22
- parentNode = parentNode.parentNodeOrShadowHost();
23
- }
24
- return null;
25
- }
26
- export function rangeOfWord(rootNode, offset, stopCharacters, stayWithinNode, direction) {
27
- let startNode;
28
- let startOffset = 0;
29
- let endNode;
30
- let endOffset = 0;
31
- if (!stayWithinNode) {
32
- stayWithinNode = rootNode;
33
- }
34
- if (!direction || direction === 'backward' || direction === 'both') {
35
- let node = rootNode;
36
- while (node) {
37
- if (node === stayWithinNode) {
38
- if (!startNode) {
39
- startNode = stayWithinNode;
40
- }
41
- break;
42
- }
43
- if (node.nodeType === Node.TEXT_NODE && node.nodeValue !== null) {
44
- const start = (node === rootNode ? (offset - 1) : (node.nodeValue.length - 1));
45
- for (let i = start; i >= 0; --i) {
46
- if (stopCharacters.indexOf(node.nodeValue[i]) !== -1) {
47
- startNode = node;
48
- startOffset = i + 1;
49
- break;
50
- }
51
- }
52
- }
53
- if (startNode) {
54
- break;
55
- }
56
- node = node.traversePreviousNode(stayWithinNode);
57
- }
58
- if (!startNode) {
59
- startNode = stayWithinNode;
60
- startOffset = 0;
61
- }
62
- }
63
- else {
64
- startNode = rootNode;
65
- startOffset = offset;
66
- }
67
- if (!direction || direction === 'forward' || direction === 'both') {
68
- let node = rootNode;
69
- while (node) {
70
- if (node === stayWithinNode) {
71
- if (!endNode) {
72
- endNode = stayWithinNode;
73
- }
74
- break;
75
- }
76
- if (node.nodeType === Node.TEXT_NODE && node.nodeValue !== null) {
77
- const start = (node === rootNode ? offset : 0);
78
- for (let i = start; i < node.nodeValue.length; ++i) {
79
- if (stopCharacters.indexOf(node.nodeValue[i]) !== -1) {
80
- endNode = node;
81
- endOffset = i;
82
- break;
83
- }
84
- }
85
- }
86
- if (endNode) {
87
- break;
88
- }
89
- node = node.traverseNextNode(stayWithinNode);
90
- }
91
- if (!endNode) {
92
- endNode = stayWithinNode;
93
- endOffset = stayWithinNode.nodeType === Node.TEXT_NODE ? stayWithinNode.nodeValue?.length || 0 :
94
- stayWithinNode.childNodes.length;
95
- }
96
- }
97
- else {
98
- endNode = rootNode;
99
- endOffset = offset;
100
- }
101
- if (!rootNode.ownerDocument) {
102
- throw new Error('No `ownerDocument` found for rootNode');
103
- }
104
- const result = rootNode.ownerDocument.createRange();
105
- result.setStart(startNode, startOffset);
106
- result.setEnd(endNode, endOffset);
107
- return result;
108
- }
109
- /**
110
- * Appends the list of `styles` as individual `<style>` elements to the
111
- * given `node`.
112
- *
113
- * @param node the `Node` to append the `<style>` elements to.
114
- * @param styles an optional list of styles to append to the `node`.
115
- */
116
- export function appendStyle(node, ...styles) {
117
- for (const cssText of styles) {
118
- const style = (node.ownerDocument ?? document).createElement('style');
119
- style.textContent = cssText;
120
- node.appendChild(style);
121
- }
122
- }
123
- //# sourceMappingURL=DOMUtilities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DOMUtilities.js","sourceRoot":"","sources":["../../../../../../front_end/core/platform/DOMUtilities.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2022 The Chromium Authors\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n/**\n * `document.activeElement` will not enter shadow roots to find the element\n * that has focus; use this method if you need to traverse through any shadow\n * roots to find the actual, specific focused element.\n */\nexport function deepActiveElement(doc: Document): Element|null {\n let activeElement: Element|null = doc.activeElement;\n while (activeElement?.shadowRoot?.activeElement) {\n activeElement = activeElement.shadowRoot.activeElement;\n }\n return activeElement;\n}\n\nexport function getEnclosingShadowRootForNode(node: Node): Node|null {\n let parentNode = node.parentNodeOrShadowHost();\n while (parentNode) {\n if (parentNode instanceof ShadowRoot) {\n return parentNode;\n }\n parentNode = parentNode.parentNodeOrShadowHost();\n }\n return null;\n}\n\nexport function rangeOfWord(\n rootNode: Node, offset: number, stopCharacters: string, stayWithinNode: Node, direction?: string): Range {\n let startNode;\n let startOffset = 0;\n let endNode;\n let endOffset = 0;\n\n if (!stayWithinNode) {\n stayWithinNode = rootNode;\n }\n\n if (!direction || direction === 'backward' || direction === 'both') {\n let node: Node|null = rootNode;\n while (node) {\n if (node === stayWithinNode) {\n if (!startNode) {\n startNode = stayWithinNode;\n }\n break;\n }\n\n if (node.nodeType === Node.TEXT_NODE && node.nodeValue !== null) {\n const start = (node === rootNode ? (offset - 1) : (node.nodeValue.length - 1));\n for (let i = start; i >= 0; --i) {\n if (stopCharacters.indexOf(node.nodeValue[i]) !== -1) {\n startNode = node;\n startOffset = i + 1;\n break;\n }\n }\n }\n\n if (startNode) {\n break;\n }\n\n node = node.traversePreviousNode(stayWithinNode);\n }\n\n if (!startNode) {\n startNode = stayWithinNode;\n startOffset = 0;\n }\n } else {\n startNode = rootNode;\n startOffset = offset;\n }\n\n if (!direction || direction === 'forward' || direction === 'both') {\n let node: (Node|null)|Node = rootNode;\n while (node) {\n if (node === stayWithinNode) {\n if (!endNode) {\n endNode = stayWithinNode;\n }\n break;\n }\n\n if (node.nodeType === Node.TEXT_NODE && node.nodeValue !== null) {\n const start = (node === rootNode ? offset : 0);\n for (let i = start; i < node.nodeValue.length; ++i) {\n if (stopCharacters.indexOf(node.nodeValue[i]) !== -1) {\n endNode = node;\n endOffset = i;\n break;\n }\n }\n }\n\n if (endNode) {\n break;\n }\n\n node = node.traverseNextNode(stayWithinNode);\n }\n\n if (!endNode) {\n endNode = stayWithinNode;\n endOffset = stayWithinNode.nodeType === Node.TEXT_NODE ? stayWithinNode.nodeValue?.length || 0 :\n stayWithinNode.childNodes.length;\n }\n } else {\n endNode = rootNode;\n endOffset = offset;\n }\n\n if (!rootNode.ownerDocument) {\n throw new Error('No `ownerDocument` found for rootNode');\n }\n const result = rootNode.ownerDocument.createRange();\n result.setStart(startNode, startOffset);\n result.setEnd(endNode, endOffset);\n\n return result;\n}\n\n/**\n * Appends the list of `styles` as individual `<style>` elements to the\n * given `node`.\n *\n * @param node the `Node` to append the `<style>` elements to.\n * @param styles an optional list of styles to append to the `node`.\n */\nexport function appendStyle(node: Node, ...styles: CSSInJS[]): void {\n for (const cssText of styles) {\n const style = (node.ownerDocument ?? document).createElement('style');\n style.textContent = cssText;\n node.appendChild(style);\n }\n}\n"]}