@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.
- package/.tmp/tsbuildinfo/analyze-trace.d.mts.map +1 -1
- package/.tmp/tsbuildinfo/tsconfig.tsbuildinfo +1 -1
- package/analyze-inspector-issues.mjs +1 -1
- package/analyze-trace.mjs +1 -2
- package/core/platform/ArrayUtilities.d.ts +2 -0
- package/core/platform/ArrayUtilities.js +11 -1
- package/core/platform/ArrayUtilities.js.map +1 -1
- package/core/platform/HostRuntime.d.ts +4 -0
- package/core/platform/HostRuntime.js +25 -0
- package/core/platform/HostRuntime.js.map +1 -0
- package/core/platform/KeyboardUtilities.d.ts +6 -2
- package/core/platform/KeyboardUtilities.js.map +1 -1
- package/core/platform/StringUtilities.d.ts +2 -0
- package/core/platform/StringUtilities.js +64 -13
- package/core/platform/StringUtilities.js.map +1 -1
- package/core/platform/api/HostRuntime.d.ts +36 -0
- package/core/platform/api/HostRuntime.js +5 -0
- package/core/platform/api/HostRuntime.js.map +1 -0
- package/core/platform/api/api-tsconfig.json +43 -0
- package/core/platform/api/api.d.ts +2 -0
- package/core/platform/api/api.js +6 -0
- package/core/platform/api/api.js.map +1 -0
- package/core/platform/api/api_node_typecheck-tsconfig.json +48 -0
- package/core/platform/api/bundle-tsconfig.json +1 -0
- package/core/platform/api/devtools_entrypoint-bundle-typescript-tsconfig.json +48 -0
- package/core/platform/browser/HostRuntime.d.ts +2 -0
- package/core/platform/browser/HostRuntime.js +64 -0
- package/core/platform/browser/HostRuntime.js.map +1 -0
- package/core/platform/browser/browser-tsconfig.json +48 -0
- package/core/platform/browser/browser.d.ts +2 -0
- package/core/platform/browser/browser.js +6 -0
- package/core/platform/browser/browser.js.map +1 -0
- package/core/platform/browser/bundle-tsconfig.json +1 -0
- package/core/platform/browser/devtools_entrypoint-bundle-typescript-tsconfig.json +48 -0
- package/core/platform/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
- package/core/platform/node/HostRuntime.d.ts +2 -0
- package/core/platform/node/HostRuntime.js +73 -0
- package/core/platform/node/HostRuntime.js.map +1 -0
- package/core/platform/node/bundle-tsconfig.json +1 -0
- package/core/platform/node/devtools_entrypoint-bundle-typescript-tsconfig.json +48 -0
- package/core/platform/node/node-tsconfig.json +52 -0
- package/core/platform/node/node.d.ts +2 -0
- package/core/platform/node/node.js +6 -0
- package/core/platform/node/node.js.map +1 -0
- package/core/platform/platform-tsconfig.json +17 -5
- package/core/platform/platform.d.ts +2 -2
- package/core/platform/platform.js +2 -2
- package/core/platform/platform.js.map +1 -1
- package/core/platform/platform_node_typecheck-tsconfig.json +74 -0
- package/generated/protocol.d.ts +1517 -592
- package/locales/af.json +83 -38
- package/locales/am.json +83 -38
- package/locales/ar.json +86 -41
- package/locales/as.json +83 -38
- package/locales/az.json +83 -38
- package/locales/be.json +81 -36
- package/locales/bg.json +81 -36
- package/locales/bn.json +83 -38
- package/locales/bs.json +82 -37
- package/locales/ca.json +81 -36
- package/locales/cs.json +81 -36
- package/locales/cy.json +83 -38
- package/locales/da.json +83 -38
- package/locales/de.json +81 -36
- package/locales/el.json +82 -37
- package/locales/en-GB.json +83 -38
- package/locales/en-US.json +104 -35
- package/locales/en-XL.json +104 -35
- package/locales/es-419.json +81 -36
- package/locales/es.json +82 -37
- package/locales/et.json +83 -38
- package/locales/eu.json +81 -36
- package/locales/fa.json +84 -39
- package/locales/fi.json +81 -36
- package/locales/fil.json +83 -38
- package/locales/fr-CA.json +82 -37
- package/locales/fr.json +168 -123
- package/locales/gl.json +82 -37
- package/locales/gu.json +82 -37
- package/locales/he.json +96 -51
- package/locales/hi.json +82 -37
- package/locales/hr.json +81 -36
- package/locales/hu.json +82 -37
- package/locales/hy.json +82 -37
- package/locales/id.json +83 -38
- package/locales/is.json +82 -37
- package/locales/it.json +81 -36
- package/locales/ja.json +81 -36
- package/locales/ka.json +83 -38
- package/locales/kk.json +81 -36
- package/locales/km.json +83 -38
- package/locales/kn.json +82 -37
- package/locales/ko.json +82 -37
- package/locales/ky.json +81 -36
- package/locales/lo.json +82 -37
- package/locales/lt.json +81 -36
- package/locales/lv.json +81 -36
- package/locales/mk.json +84 -39
- package/locales/ml.json +82 -37
- package/locales/mn.json +82 -37
- package/locales/mr.json +83 -38
- package/locales/ms.json +81 -36
- package/locales/my.json +82 -37
- package/locales/ne.json +82 -37
- package/locales/nl.json +82 -37
- package/locales/no.json +81 -36
- package/locales/or.json +81 -36
- package/locales/pa.json +81 -36
- package/locales/pl.json +81 -36
- package/locales/pt-PT.json +81 -36
- package/locales/pt.json +83 -38
- package/locales/ro.json +82 -37
- package/locales/ru.json +81 -36
- package/locales/si.json +81 -36
- package/locales/sk.json +81 -36
- package/locales/sl.json +81 -36
- package/locales/sq.json +82 -37
- package/locales/sr-Latn.json +82 -37
- package/locales/sr.json +82 -37
- package/locales/sv.json +84 -39
- package/locales/sw.json +83 -38
- package/locales/ta.json +82 -37
- package/locales/te.json +82 -37
- package/locales/th.json +82 -37
- package/locales/tr.json +81 -36
- package/locales/uk.json +81 -36
- package/locales/ur.json +82 -37
- package/locales/uz.json +82 -37
- package/locales/vi.json +83 -38
- package/locales/zh-HK.json +81 -36
- package/locales/zh-TW.json +84 -39
- package/locales/zh.json +84 -39
- package/locales/zu.json +82 -37
- package/models/cpu_profile/CPUProfileDataModel.d.ts +9 -0
- package/models/cpu_profile/CPUProfileDataModel.js +9 -7
- package/models/cpu_profile/CPUProfileDataModel.js.map +1 -1
- package/models/cpu_profile/ProfileTreeModel.d.ts +3 -2
- package/models/cpu_profile/ProfileTreeModel.js +6 -7
- package/models/cpu_profile/ProfileTreeModel.js.map +1 -1
- package/models/cpu_profile/cpu_profile-tsconfig.json +4 -3
- package/models/cpu_profile/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
- package/models/trace/EntityMapper.d.ts +1 -0
- package/models/trace/EntityMapper.js +10 -0
- package/models/trace/EntityMapper.js.map +1 -1
- package/models/trace/EventsSerializer.js +10 -2
- package/models/trace/EventsSerializer.js.map +1 -1
- package/models/trace/LanternComputationData.d.ts +1 -1
- package/models/trace/LanternComputationData.js +3 -8
- package/models/trace/LanternComputationData.js.map +1 -1
- package/models/trace/ModelImpl.d.ts +1 -0
- package/models/trace/ModelImpl.js +9 -6
- package/models/trace/ModelImpl.js.map +1 -1
- package/models/trace/Processor.js +23 -23
- package/models/trace/Processor.js.map +1 -1
- package/models/trace/Styles.js +13 -5
- package/models/trace/Styles.js.map +1 -1
- package/models/trace/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
- package/models/trace/extras/Initiators.d.ts +12 -0
- package/models/trace/extras/Initiators.js +47 -0
- package/models/trace/extras/Initiators.js.map +1 -0
- package/models/trace/extras/TraceTree.js +13 -5
- package/models/trace/extras/TraceTree.js.map +1 -1
- package/models/trace/extras/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
- package/models/trace/extras/extras-tsconfig.json +11 -3
- package/models/trace/extras/extras.d.ts +0 -3979
- package/models/trace/extras/extras.js +0 -3979
- package/models/trace/extras/extras.js.map +1 -1
- package/models/trace/handlers/LargestImagePaintHandler.js +2 -2
- package/models/trace/handlers/LargestImagePaintHandler.js.map +1 -1
- package/models/trace/handlers/LayoutShiftsHandler.js +1 -1
- package/models/trace/handlers/LayoutShiftsHandler.js.map +1 -1
- package/models/trace/handlers/MetaHandler.d.ts +12 -1
- package/models/trace/handlers/MetaHandler.js +10 -1
- package/models/trace/handlers/MetaHandler.js.map +1 -1
- package/models/trace/handlers/NetworkRequestsHandler.d.ts +8 -1
- package/models/trace/handlers/NetworkRequestsHandler.js +22 -4
- package/models/trace/handlers/NetworkRequestsHandler.js.map +1 -1
- package/models/trace/handlers/PageLoadMetricsHandler.d.ts +13 -3
- package/models/trace/handlers/PageLoadMetricsHandler.js +71 -27
- package/models/trace/handlers/PageLoadMetricsHandler.js.map +1 -1
- package/models/trace/handlers/SamplesHandler.js +59 -6
- package/models/trace/handlers/SamplesHandler.js.map +1 -1
- package/models/trace/handlers/ScriptsHandler.js +24 -0
- package/models/trace/handlers/ScriptsHandler.js.map +1 -1
- package/models/trace/handlers/UserTimingsHandler.d.ts +1 -1
- package/models/trace/handlers/UserTimingsHandler.js +1 -1
- package/models/trace/handlers/UserTimingsHandler.js.map +1 -1
- package/models/trace/handlers/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
- package/models/trace/handlers/handlers-tsconfig.json +13 -3
- package/models/trace/helpers/Network.js +1 -1
- package/models/trace/helpers/Network.js.map +1 -1
- package/models/trace/helpers/SamplesIntegrator.js +1 -8
- package/models/trace/helpers/SamplesIntegrator.js.map +1 -1
- package/models/trace/helpers/Timing.d.ts +1 -1
- package/models/trace/helpers/Timing.js +9 -2
- package/models/trace/helpers/Timing.js.map +1 -1
- package/models/trace/helpers/Trace.d.ts +1 -0
- package/models/trace/helpers/Trace.js +12 -5
- package/models/trace/helpers/Trace.js.map +1 -1
- package/models/trace/helpers/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
- package/models/trace/helpers/helpers-tsconfig.json +7 -3
- package/models/trace/insights/CLSCulprits.d.ts +1 -1
- package/models/trace/insights/CLSCulprits.js +2 -1
- package/models/trace/insights/CLSCulprits.js.map +1 -1
- package/models/trace/insights/Cache.d.ts +1 -1
- package/models/trace/insights/Cache.js +2 -1
- package/models/trace/insights/Cache.js.map +1 -1
- package/models/trace/insights/CharacterSet.d.ts +49 -0
- package/models/trace/insights/CharacterSet.js +132 -0
- package/models/trace/insights/CharacterSet.js.map +1 -0
- package/models/trace/insights/Common.d.ts +2 -2
- package/models/trace/insights/Common.js +1 -6
- package/models/trace/insights/Common.js.map +1 -1
- package/models/trace/insights/DOMSize.d.ts +1 -1
- package/models/trace/insights/DOMSize.js +2 -1
- package/models/trace/insights/DOMSize.js.map +1 -1
- package/models/trace/insights/DocumentLatency.d.ts +1 -1
- package/models/trace/insights/DocumentLatency.js +2 -1
- package/models/trace/insights/DocumentLatency.js.map +1 -1
- package/models/trace/insights/DuplicatedJavaScript.d.ts +1 -1
- package/models/trace/insights/DuplicatedJavaScript.js +2 -1
- package/models/trace/insights/DuplicatedJavaScript.js.map +1 -1
- package/models/trace/insights/FontDisplay.d.ts +1 -1
- package/models/trace/insights/FontDisplay.js +2 -1
- package/models/trace/insights/FontDisplay.js.map +1 -1
- package/models/trace/insights/ForcedReflow.d.ts +2 -2
- package/models/trace/insights/ForcedReflow.js +3 -2
- package/models/trace/insights/ForcedReflow.js.map +1 -1
- package/models/trace/insights/INPBreakdown.d.ts +1 -1
- package/models/trace/insights/INPBreakdown.js +2 -1
- package/models/trace/insights/INPBreakdown.js.map +1 -1
- package/models/trace/insights/ImageDelivery.d.ts +1 -1
- package/models/trace/insights/ImageDelivery.js +2 -1
- package/models/trace/insights/ImageDelivery.js.map +1 -1
- package/models/trace/insights/LCPBreakdown.d.ts +2 -2
- package/models/trace/insights/LCPBreakdown.js +4 -3
- package/models/trace/insights/LCPBreakdown.js.map +1 -1
- package/models/trace/insights/LCPDiscovery.d.ts +8 -4
- package/models/trace/insights/LCPDiscovery.js +18 -11
- package/models/trace/insights/LCPDiscovery.js.map +1 -1
- package/models/trace/insights/LegacyJavaScript.d.ts +1 -1
- package/models/trace/insights/LegacyJavaScript.js +2 -1
- package/models/trace/insights/LegacyJavaScript.js.map +1 -1
- package/models/trace/insights/Models.d.ts +1 -0
- package/models/trace/insights/Models.js +1 -0
- package/models/trace/insights/Models.js.map +1 -1
- package/models/trace/insights/ModernHTTP.d.ts +1 -1
- package/models/trace/insights/ModernHTTP.js +2 -1
- package/models/trace/insights/ModernHTTP.js.map +1 -1
- package/models/trace/insights/NetworkDependencyTree.d.ts +1 -1
- package/models/trace/insights/NetworkDependencyTree.js +6 -4
- package/models/trace/insights/NetworkDependencyTree.js.map +1 -1
- package/models/trace/insights/RenderBlocking.d.ts +2 -2
- package/models/trace/insights/RenderBlocking.js +8 -7
- package/models/trace/insights/RenderBlocking.js.map +1 -1
- package/models/trace/insights/SlowCSSSelector.d.ts +1 -1
- package/models/trace/insights/SlowCSSSelector.js +2 -1
- package/models/trace/insights/SlowCSSSelector.js.map +1 -1
- package/models/trace/insights/ThirdParties.js +2 -1
- package/models/trace/insights/ThirdParties.js.map +1 -1
- package/models/trace/insights/Viewport.d.ts +1 -1
- package/models/trace/insights/Viewport.js +2 -1
- package/models/trace/insights/Viewport.js.map +1 -1
- package/models/trace/insights/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
- package/models/trace/insights/insights-tsconfig.json +26 -3
- package/models/trace/insights/types.d.ts +17 -6
- package/models/trace/insights/types.js +1 -0
- package/models/trace/insights/types.js.map +1 -1
- package/models/trace/lantern/core/core-tsconfig.json +4 -3
- package/models/trace/lantern/core/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
- package/models/trace/lantern/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
- package/models/trace/lantern/graph/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
- package/models/trace/lantern/graph/graph-tsconfig.json +4 -3
- package/models/trace/lantern/lantern-tsconfig.json +4 -3
- package/models/trace/lantern/metrics/FirstContentfulPaint.js +6 -6
- package/models/trace/lantern/metrics/FirstContentfulPaint.js.map +1 -1
- package/models/trace/lantern/metrics/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
- package/models/trace/lantern/metrics/metrics-tsconfig.json +4 -3
- package/models/trace/lantern/simulation/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
- package/models/trace/lantern/simulation/simulation-tsconfig.json +4 -3
- package/models/trace/lantern/types/Lantern.d.ts +7 -7
- package/models/trace/lantern/types/Lantern.js.map +1 -1
- package/models/trace/lantern/types/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
- package/models/trace/lantern/types/types-tsconfig.json +4 -3
- package/models/trace/trace-tsconfig.json +7 -3
- package/models/trace/types/Configuration.d.ts +1 -4
- package/models/trace/types/Configuration.js +0 -1
- package/models/trace/types/Configuration.js.map +1 -1
- package/models/trace/types/File.d.ts +8 -0
- package/models/trace/types/File.js.map +1 -1
- package/models/trace/types/TraceEvents.d.ts +97 -15
- package/models/trace/types/TraceEvents.js +44 -11
- package/models/trace/types/TraceEvents.js.map +1 -1
- package/models/trace/types/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
- package/models/trace/types/types-tsconfig.json +10 -3
- package/package.json +1 -1
- package/test/test-trace-engine.mjs +8 -9
- package/.tmp/tsbuildinfo/models/trace/extras/polyfills.d.ts +0 -4
- package/.tmp/tsbuildinfo/models/trace/extras/polyfills.d.ts.map +0 -1
- package/core/platform/DOMUtilities.d.ts +0 -16
- package/core/platform/DOMUtilities.js +0 -123
- 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
|
@@ -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
|
|
100
|
-
const values = insightSet.model.ThirdParties
|
|
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 +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"]}
|