Index: third_party/WebKit/Source/devtools/front_end/coverage/CoverageView.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/coverage/CoverageView.js b/third_party/WebKit/Source/devtools/front_end/coverage/CoverageView.js |
index 0ebc822efc0b17e2bd8f7a51a0ea1a9f084660a3..77c48d09308036de7080c6c5b37316dfd0229582 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/coverage/CoverageView.js |
+++ b/third_party/WebKit/Source/devtools/front_end/coverage/CoverageView.js |
@@ -74,7 +74,7 @@ Coverage.CoverageView = class extends UI.VBox { |
} |
/** |
- * @param {!Array<!Coverage.CoverageInfo>} coverageInfo |
+ * @param {!Array<!Coverage.URLCoverageInfo>} coverageInfo |
*/ |
async _updateViews(coverageInfo) { |
this._updateStats(coverageInfo); |
@@ -85,14 +85,14 @@ Coverage.CoverageView = class extends UI.VBox { |
} |
/** |
- * @param {!Array<!Coverage.CoverageInfo>} coverageInfo |
+ * @param {!Array<!Coverage.URLCoverageInfo>} coverageInfo |
*/ |
_updateStats(coverageInfo) { |
var total = 0; |
var unused = 0; |
for (var info of coverageInfo) { |
- total += info.size || 0; |
- unused += info.unusedSize || 0; |
+ total += info.size(); |
+ unused += info.unusedSize(); |
} |
var percentUnused = total ? Math.round(100 * unused / total) : 0; |
@@ -102,49 +102,16 @@ Coverage.CoverageView = class extends UI.VBox { |
} |
/** |
- * @param {!Coverage.CoverageInfo} coverageInfo |
+ * @param {!Coverage.URLCoverageInfo} coverageInfo |
*/ |
static async _updateGutter(coverageInfo) { |
- var uiSourceCode = Workspace.workspace.uiSourceCodeForURL(coverageInfo.contentProvider.contentURL()); |
+ var uiSourceCode = Workspace.workspace.uiSourceCodeForURL(coverageInfo.url()); |
if (!uiSourceCode) |
return; |
// FIXME: gutter should be set in terms of offsets and therefore should not require contents. |
- var contents = await coverageInfo.contentProvider.requestContent(); |
- if (!contents) |
- return; |
- var text = new Common.Text(contents); |
- var lastOffset = 0; |
- var rangesByDepth = []; |
- for (var segment of coverageInfo.segments) { |
- if (typeof segment.count !== 'number') { |
- lastOffset = segment.end; |
- continue; |
- } |
- var startPosition = text.positionFromOffset(lastOffset); |
- var endPosition = text.positionFromOffset(segment.end); |
- if (!startPosition.lineNumber) |
- startPosition.columnNumber += coverageInfo.columnOffset; |
- startPosition.lineNumber += coverageInfo.lineOffset; |
- if (!endPosition.lineNumber) |
- endPosition.columnNumber += coverageInfo.columnOffset; |
- endPosition.lineNumber += coverageInfo.lineOffset; |
- |
- var ranges = rangesByDepth[segment.depth - 1]; // depth === 0 => count === undefined |
- if (!ranges) { |
- ranges = []; |
- rangesByDepth[segment.depth - 1] = ranges; |
- } |
- ranges.push({ |
- count: segment.count, |
- range: new Common.TextRange( |
- startPosition.lineNumber, startPosition.columnNumber, endPosition.lineNumber, endPosition.columnNumber) |
- }); |
- lastOffset = segment.end; |
- } |
- for (var ranges of rangesByDepth) { |
- for (var r of ranges) |
- uiSourceCode.addDecoration(r.range, Coverage.CoverageView.LineDecorator.type, r.count); |
- } |
+ var ranges = await coverageInfo.buildTextRanges(); |
+ for (var r of ranges) |
+ uiSourceCode.addDecoration(r.range, Coverage.CoverageView.LineDecorator.type, r.count); |
} |
}; |