Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(609)

Unified Diff: third_party/WebKit/Source/devtools/front_end/coverage/CoverageView.js

Issue 2721563003: DevTools: add CSS/JS type indication to coverage view (Closed)
Patch Set: DevTools: add CSS/JS type indication to coverage view Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/Source/devtools/front_end/coverage/CoverageListView.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 5c40b1e10ea9286ef2f21ecf3ce9a0c39fd5c7bd..27fba039c99e2173483ca04bdb9b00b125f71ccb 100644
--- a/third_party/WebKit/Source/devtools/front_end/coverage/CoverageView.js
+++ b/third_party/WebKit/Source/devtools/front_end/coverage/CoverageView.js
@@ -8,10 +8,25 @@ Coverage.RangeUsage;
/** @typedef {{styleSheetHeader: !SDK.CSSStyleSheetHeader, ranges: !Array<!Coverage.RangeUsage>}} */
Coverage.StyleSheetUsage;
-/** @typedef {{url: string, size: (number|undefined), unusedSize: (number|undefined), usedSize: (number|undefined),
- * ranges: !Array<!Coverage.RangeUsage>}} */
+/** @typedef {{
+ * url: string,
+ * size: (number|undefined),
+ * unusedSize: (number|undefined),
+ * usedSize: (number|undefined),
+ * type: !Coverage.CoverageType,
+ * ranges: !Array<!Coverage.RangeUsage>
+ * }}
+ */
Coverage.CoverageInfo;
+/**
+ * @enum {number}
+ */
+Coverage.CoverageType = {
+ CSS: (1 << 0),
+ JavaScript: (1 << 1),
+};
+
Coverage.CoverageView = class extends UI.VBox {
constructor() {
super(true);
@@ -112,6 +127,7 @@ Coverage.CoverageView = class extends UI.VBox {
lastEntry.size += entry.size;
lastEntry.usedSize += entry.usedSize;
lastEntry.unusedSize += entry.unusedSize;
+ lastEntry.type |= entry.type;
} else {
result.push(entry);
}
@@ -153,20 +169,9 @@ Coverage.CoverageView = class extends UI.VBox {
ranges.push({range: textRange, wasUsed: !!range.count});
}
}
- promises.push(convertToCoverageInfo(script, ranges));
+ promises.push(Coverage.CoverageView._coverageInfoForText(script, script.lineOffset, script.columnOffset, ranges));
}
return Promise.all(promises);
-
- /**
- * @param {!SDK.Script} script
- * @param {!Array<!Coverage.RangeUsage>} ranges
- * @return {!Promise<!Coverage.CoverageInfo>}
- */
- function convertToCoverageInfo(script, ranges) {
- return script.requestContent().then(
- content => Coverage.CoverageView._coverageInfoForText(
- script.contentURL(), script.lineOffset, script.columnOffset, content, ranges));
- }
}
/**
@@ -205,33 +210,30 @@ Coverage.CoverageView = class extends UI.VBox {
rule.range.endColumn + (rule.range.endLine ? 0 : styleSheetHeader.startColumn));
ranges.push({range: textRange, wasUsed: rule.wasUsed});
}
- return Promise.all(Array.from(rulesByStyleSheet.entries(), entry => convertToCoverageInfo(entry[0], entry[1])));
-
- /**
- * @param {!SDK.CSSStyleSheetHeader} styleSheetHeader
- * @param {!Array<!Coverage.RangeUsage>} ranges
- * @return {!Promise<!Coverage.CoverageInfo>}
- */
- function convertToCoverageInfo(styleSheetHeader, ranges) {
- return styleSheetHeader.requestContent().then(
- content => Coverage.CoverageView._coverageInfoForText(
- styleSheetHeader.sourceURL, styleSheetHeader.startLine, styleSheetHeader.startColumn, content, ranges));
- }
+ return Promise.all(Array.from(
+ rulesByStyleSheet.entries(), entry => Coverage.CoverageView._coverageInfoForText(
alph 2017/02/28 01:10:38 nit: ([header, ranges]) => Coverage.CoverageView._
+ entry[0], entry[0].startLine, entry[0].startColumn, entry[1])));
}
/**
- * @param {string} url
+ * @param {!Common.ContentProvider} contentProvider
* @param {number} startLine
* @param {number} startColumn
- * @param {?string} content
* @param {!Array<!Coverage.RangeUsage>} ranges
- * @return {!Coverage.CoverageInfo}
+ * @return {!Promise<!Coverage.CoverageInfo>}
*/
- static _coverageInfoForText(url, startLine, startColumn, content, ranges) {
- var coverageInfo = {
- url: url,
- ranges: ranges,
- };
+ static async _coverageInfoForText(contentProvider, startLine, startColumn, ranges) {
+ var url = contentProvider.contentURL();
+ var coverageType;
+ if (contentProvider.contentType().isScript())
+ coverageType = Coverage.CoverageType.JavaScript;
+ else if (contentProvider.contentType().isStyleSheet())
+ coverageType = Coverage.CoverageType.CSS;
+ else
+ console.assert(false, `Unexpected resource type ${contentProvider.contentType().name} for ${url}`);
+
+ var coverageInfo = {url: url, ranges: ranges, type: coverageType};
+ var content = await contentProvider.requestContent();
if (!content)
return coverageInfo;
« no previous file with comments | « third_party/WebKit/Source/devtools/front_end/coverage/CoverageListView.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698