Chromium Code Reviews| 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 c821e3832fb5f9e934e6198b5399c755bb7c01a8..5eb9c09962f42674140a292252557348b572b26f 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/sdk/CSSModel.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/sdk/CSSModel.js |
| @@ -439,6 +439,29 @@ WebInspector.CSSModel = class extends WebInspector.SDKModel { |
| .catchException(false); |
| } |
| + startRuleUsageTracking() { |
| + this._agent.startRuleUsageTracking(); |
| + } |
| + |
| + /** |
| + * @return {!Promise<?Array<!WebInspector.CSSModel.RuleUsageTracker>>} |
| + */ |
| + ruleListPromise() { |
| + /** |
| + * @param {?string} error |
| + * @param {!Array<!CSSAgent.RuleUsage>=} ruleUsage |
| + * @return {?Array<!WebInspector.CSSModel.RuleUsageTracker>} |
| + */ |
| + 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>>} |
| */ |
| @@ -990,6 +1013,9 @@ WebInspector.CSSModel = class extends WebInspector.SDKModel { |
| } |
| }; |
| +/** @typedef {!{range: !CSSAgent.SourceRange, styleSheetId: !CSSAgent.StyleSheetId, wasUsed: boolean}} */ |
| +WebInspector.CSSModel.RuleUsageTracker; |
|
caseq
2016/11/03 00:13:08
Why is it called tracker? Is it tracking something
|
| + |
| /** @enum {symbol} */ |
| WebInspector.CSSModel.Events = { |
| LayoutEditorChange: Symbol('LayoutEditorChange'), |