Chromium Code Reviews| Index: Source/devtools/front_end/CSSStyleModel.js |
| diff --git a/Source/devtools/front_end/CSSStyleModel.js b/Source/devtools/front_end/CSSStyleModel.js |
| index c0c37d4fc976a3820d1db2dd260e1f3f348d0c22..2bc2333ef636e6aad5b30f34c9ab835d3de20334 100644 |
| --- a/Source/devtools/front_end/CSSStyleModel.js |
| +++ b/Source/devtools/front_end/CSSStyleModel.js |
| @@ -46,6 +46,8 @@ WebInspector.CSSStyleModel = function(target) |
| this._resetStyleSheets(); |
| } |
| +WebInspector.CSSStyleModel.PseudoStatePropertyName = "pseudoState"; |
| + |
| /** |
| * @param {!WebInspector.CSSStyleModel} cssModel |
| * @param {!Array.<!CSSAgent.RuleMatch>|undefined} matchArray |
| @@ -215,16 +217,6 @@ WebInspector.CSSStyleModel.prototype = { |
| }, |
| /** |
| - * @param {!DOMAgent.NodeId} nodeId |
| - * @param {?Array.<string>|undefined} forcedPseudoClasses |
| - * @param {function()=} userCallback |
| - */ |
| - forcePseudoState: function(nodeId, forcedPseudoClasses, userCallback) |
| - { |
| - CSSAgent.forcePseudoState(nodeId, forcedPseudoClasses || [], userCallback); |
| - }, |
| - |
| - /** |
| * @param {!CSSAgent.CSSRuleId} ruleId |
| * @param {!DOMAgent.NodeId} nodeId |
| * @param {string} newSelector |
| @@ -573,6 +565,33 @@ WebInspector.CSSStyleModel.prototype = { |
| return uiLocation || null; |
| }, |
| + /** |
| + * @param {!WebInspector.DOMNode} node |
| + * @param {string} pseudoClass |
| + * @param {boolean} enable |
| + * @return {boolean} |
| + */ |
| + forcePseudoState: function(node, pseudoClass, enable) |
| + { |
| + var pseudoClasses = node.getUserProperty(WebInspector.CSSStyleModel.PseudoStatePropertyName); |
| + if (enable) { |
| + pseudoClasses = pseudoClasses || []; |
| + if (pseudoClasses.indexOf(pseudoClass) >= 0) |
| + return false; |
| + pseudoClasses.push(pseudoClass); |
| + node.setUserProperty(WebInspector.CSSStyleModel.PseudoStatePropertyName, pseudoClasses); |
| + } else { |
| + if (!pseudoClasses || pseudoClasses.indexOf(pseudoClass) < 0) |
| + return false; |
| + pseudoClasses.remove(pseudoClass); |
| + if (!pseudoClasses.length) |
| + node.removeUserProperty(WebInspector.CSSStyleModel.PseudoStatePropertyName); |
| + } |
| + |
| + CSSAgent.forcePseudoState(node.id, node.getUserProperty(WebInspector.CSSStyleModel.PseudoStatePropertyName) || []); |
|
sergeyv
2014/03/31 13:29:20
we already have node.getUserProperty(WebInspector.
pfeldman
2014/03/31 13:45:50
Done.
|
| + return true; |
| + }, |
| + |
| __proto__: WebInspector.Object.prototype |
| } |