Skip to content

Commit e7fad58

Browse files
authored
misc(treemap): fix sizes not showing for source map nodes (#16593)
1 parent 94b051f commit e7fad58

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

treemap/app/src/main.js

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -792,7 +792,7 @@ class TreemapViewer {
792792
* @param {LH.Treemap.Node} node
793793
*/
794794
getNodeCompressionRatio(node) {
795-
if (node.encodedBytes) {
795+
if (node.encodedBytes !== undefined) {
796796
return node.encodedBytes / node.resourceBytes;
797797
}
798798

@@ -801,7 +801,7 @@ class TreemapViewer {
801801
return depthOneNode.encodedBytes / depthOneNode.resourceBytes;
802802
}
803803

804-
return 1;
804+
return null;
805805
}
806806

807807
/**
@@ -844,11 +844,23 @@ class TreemapViewer {
844844

845845
if (!sizes) {
846846
const compressionRatio = this.getNodeCompressionRatio(node);
847+
848+
// script-treemap-data nodes have a value for encodedBytes when it comes
849+
// directly from a network record. But nodes from a source map bundle don't
850+
// have that, so in that case estimate it from the compression ratio of the
851+
// depth 1 node.
852+
let encodedBytes;
853+
if (node.encodedBytes !== undefined) {
854+
encodedBytes = node.encodedBytes;
855+
} else if (compressionRatio !== null) {
856+
encodedBytes = node.resourceBytes * compressionRatio;
857+
}
858+
847859
sizes = {
848-
size: this.getNodeDisplaySize(node, compressionRatio) ?? 0,
860+
size: this.getNodeDisplaySize(node, compressionRatio ?? 1) ?? 0,
849861
resourceBytes: node.resourceBytes,
850-
encodedBytes: node.encodedBytes,
851-
unusedBytes: this.getNodeUnusedBytes(node, compressionRatio),
862+
encodedBytes,
863+
unusedBytes: this.getNodeUnusedBytes(node, compressionRatio ?? 1),
852864
};
853865
this.nodeToSizesMap.set(node, sizes);
854866
}

0 commit comments

Comments
 (0)