Commit 31ef8e69 authored by Jasper Chapman-Black's avatar Jasper Chapman-Black Committed by Commit Bot

SuperSize: Improve .sizediff usability

* Use WebAssembly backend for .sizediff
* Fix bug where an empty .sizediff included all before/after symbols.
* When displaying diff status, handle case where tree node has no
  children (I think this case only occurs when loading an empty diff).

Change-Id: Ibb9aa309dacc87d92f2166922350a235297d85f4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1945361Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Commit-Queue: Jasper Chapman-Black <jaspercb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#720569}
parent eadef3f6
...@@ -178,7 +178,9 @@ def _SaveSizeInfoToFile(size_info, ...@@ -178,7 +178,9 @@ def _SaveSizeInfoToFile(size_info,
file_object: File opened for writing file_object: File opened for writing
sparse_symbols: If present, only save these symbols to the file sparse_symbols: If present, only save these symbols to the file
""" """
raw_symbols = sparse_symbols or size_info.raw_symbols raw_symbols = sparse_symbols
if raw_symbols is None:
raw_symbols = size_info.raw_symbols
# Created by supersize header # Created by supersize header
file_obj.write('# Created by //tools/binary_size\n') file_obj.write('# Created by //tools/binary_size\n')
file_obj.write('%s\n' % _SERIALIZATION_VERSION) file_obj.write('%s\n' % _SERIALIZATION_VERSION)
......
...@@ -7,7 +7,8 @@ ...@@ -7,7 +7,8 @@
let _innerWorker = null; let _innerWorker = null;
const urlParams = new URLSearchParams(window.location.search); const urlParams = new URLSearchParams(window.location.search);
if (urlParams.get('load_url').endsWith('.size')) { const loadUrl = urlParams.get('load_url');
if (loadUrl.endsWith('.size') || loadUrl.endsWith('.sizediff')) {
console.log('Using WebAssembly web worker'); console.log('Using WebAssembly web worker');
_innerWorker = new Worker('tree-worker-wasm.js'); _innerWorker = new Worker('tree-worker-wasm.js');
} else { } else {
......
...@@ -325,15 +325,17 @@ function _makeIconTemplateGetter() { ...@@ -325,15 +325,17 @@ function _makeIconTemplateGetter() {
* @returns {SVGSVGElement} * @returns {SVGSVGElement}
*/ */
function getDiffStatusTemplate(node) { function getDiffStatusTemplate(node) {
const entries = Object.entries(node.childStats);
let key = 'unchanged'; let key = 'unchanged';
// Leaf nodes only have one stat entry. if (entries.length != 0) {
const statsEntry = Object.entries(node.childStats)[0][1]; const statsEntry = entries[0][1];
if (statsEntry.added) { if (statsEntry.added) {
key = 'added'; key = 'added';
} else if (statsEntry.removed) { } else if (statsEntry.removed) {
key = 'removed'; key = 'removed';
} else if (statsEntry.changed) { } else if (statsEntry.changed) {
key = 'changed'; key = 'changed';
}
} }
return statusIcons[key].cloneNode(true); return statusIcons[key].cloneNode(true);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment