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

Unified Diff: third_party/WebKit/Source/devtools/front_end/sdk/CSSModel.js

Issue 2455943003: Backend for css rule tracking (Closed)
Patch Set: Backend for CSS Rule tracking. Created 4 years, 1 month 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
Index: third_party/WebKit/Source/devtools/front_end/sdk/CSSModel.js
diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/CSSModel.js b/third_party/WebKit/Source/devtools/front_end/sdk/CSSModel.js
index 5cd0dd6317059ef166b348072c2f8ea683c94b82..e1f0ba34697f1e4495e2e9a02fa6b5b9cba87717 100644
--- a/third_party/WebKit/Source/devtools/front_end/sdk/CSSModel.js
+++ b/third_party/WebKit/Source/devtools/front_end/sdk/CSSModel.js
@@ -440,6 +440,29 @@ WebInspector.CSSModel = class extends WebInspector.SDKModel {
.catchException(false);
}
+ startRuleUsageTracking() {
+ this._agent.startRuleUsageTracking();
+ }
+
+ /**
+ * @return {!Promise<?Array<!WebInspector.CSSModel.RuleUsage>>}
+ */
+ ruleListPromise() {
+ /**
+ * @param {?string} error
+ * @param {!Array<!Protocol.CSS.RuleUsage>=} ruleUsage
+ * @return {?Array<!WebInspector.CSSModel.RuleUsage>}
+ */
+ function usedRulesCallback(error, ruleUsage) {
+ if (error || !ruleUsage)
+ return null;
+
+ return ruleUsage.map(rule => ({range: rule.range, styleSheetId: rule.styleSheetId, wasUsed: rule.used}));
+ }
+
+ return this._agent.stopRuleUsageTracking(usedRulesCallback);
+ }
+
/**
* @return {!Promise.<!Array.<!WebInspector.CSSMedia>>}
*/
@@ -991,6 +1014,9 @@ WebInspector.CSSModel = class extends WebInspector.SDKModel {
}
};
+/** @typedef {!{range: !Protocol.CSS.SourceRange, styleSheetId: !Protocol.CSS.StyleSheetId, wasUsed: boolean}} */
+WebInspector.CSSModel.RuleUsage;
+
/** @enum {symbol} */
WebInspector.CSSModel.Events = {
LayoutEditorChange: Symbol('LayoutEditorChange'),

Powered by Google App Engine
This is Rietveld 408576698