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

Unified Diff: Source/devtools/front_end/CSSStyleModel.js

Issue 218703002: DevTools: [wip] move Elements panel off WebInspector.domModel and single tree outline. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 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 | « LayoutTests/inspector/elements/reveal-shadow-dom-node.html ('k') | Source/devtools/front_end/DOMModel.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
}
« no previous file with comments | « LayoutTests/inspector/elements/reveal-shadow-dom-node.html ('k') | Source/devtools/front_end/DOMModel.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698