OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 28 matching lines...) Expand all Loading... | |
39 this._pendingCommandsMajorState = []; | 39 this._pendingCommandsMajorState = []; |
40 this._styleLoader = new WebInspector.CSSStyleModel.ComputedStyleLoader(this) ; | 40 this._styleLoader = new WebInspector.CSSStyleModel.ComputedStyleLoader(this) ; |
41 this._domModel.addEventListener(WebInspector.DOMModel.Events.UndoRedoRequest ed, this._undoRedoRequested, this); | 41 this._domModel.addEventListener(WebInspector.DOMModel.Events.UndoRedoRequest ed, this._undoRedoRequested, this); |
42 this._domModel.addEventListener(WebInspector.DOMModel.Events.UndoRedoComplet ed, this._undoRedoCompleted, this); | 42 this._domModel.addEventListener(WebInspector.DOMModel.Events.UndoRedoComplet ed, this._undoRedoCompleted, this); |
43 WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeMod el.EventTypes.MainFrameCreatedOrNavigated, this._mainFrameCreatedOrNavigated, th is); | 43 WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeMod el.EventTypes.MainFrameCreatedOrNavigated, this._mainFrameCreatedOrNavigated, th is); |
44 InspectorBackend.registerCSSDispatcher(new WebInspector.CSSDispatcher(this)) ; | 44 InspectorBackend.registerCSSDispatcher(new WebInspector.CSSDispatcher(this)) ; |
45 CSSAgent.enable(this._wasEnabled.bind(this)); | 45 CSSAgent.enable(this._wasEnabled.bind(this)); |
46 this._resetStyleSheets(); | 46 this._resetStyleSheets(); |
47 } | 47 } |
48 | 48 |
49 WebInspector.CSSStyleModel.PseudoStatePropertyName = "pseudoState"; | |
50 | |
49 /** | 51 /** |
50 * @param {!WebInspector.CSSStyleModel} cssModel | 52 * @param {!WebInspector.CSSStyleModel} cssModel |
51 * @param {!Array.<!CSSAgent.RuleMatch>|undefined} matchArray | 53 * @param {!Array.<!CSSAgent.RuleMatch>|undefined} matchArray |
52 */ | 54 */ |
53 WebInspector.CSSStyleModel.parseRuleMatchArrayPayload = function(cssModel, match Array) | 55 WebInspector.CSSStyleModel.parseRuleMatchArrayPayload = function(cssModel, match Array) |
54 { | 56 { |
55 if (!matchArray) | 57 if (!matchArray) |
56 return []; | 58 return []; |
57 | 59 |
58 var result = []; | 60 var result = []; |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
208 if (error || !inlinePayload) | 210 if (error || !inlinePayload) |
209 userCallback(null, null); | 211 userCallback(null, null); |
210 else | 212 else |
211 userCallback(WebInspector.CSSStyleDeclaration.parsePayload(this, inlinePayload), attributesStylePayload ? WebInspector.CSSStyleDeclaration.parse Payload(this, attributesStylePayload) : null); | 213 userCallback(WebInspector.CSSStyleDeclaration.parsePayload(this, inlinePayload), attributesStylePayload ? WebInspector.CSSStyleDeclaration.parse Payload(this, attributesStylePayload) : null); |
212 } | 214 } |
213 | 215 |
214 CSSAgent.getInlineStylesForNode(nodeId, callback.bind(this, userCallback )); | 216 CSSAgent.getInlineStylesForNode(nodeId, callback.bind(this, userCallback )); |
215 }, | 217 }, |
216 | 218 |
217 /** | 219 /** |
218 * @param {!DOMAgent.NodeId} nodeId | |
219 * @param {?Array.<string>|undefined} forcedPseudoClasses | |
220 * @param {function()=} userCallback | |
221 */ | |
222 forcePseudoState: function(nodeId, forcedPseudoClasses, userCallback) | |
223 { | |
224 CSSAgent.forcePseudoState(nodeId, forcedPseudoClasses || [], userCallbac k); | |
225 }, | |
226 | |
227 /** | |
228 * @param {!CSSAgent.CSSRuleId} ruleId | 220 * @param {!CSSAgent.CSSRuleId} ruleId |
229 * @param {!DOMAgent.NodeId} nodeId | 221 * @param {!DOMAgent.NodeId} nodeId |
230 * @param {string} newSelector | 222 * @param {string} newSelector |
231 * @param {function(!WebInspector.CSSRule)} successCallback | 223 * @param {function(!WebInspector.CSSRule)} successCallback |
232 * @param {function()} failureCallback | 224 * @param {function()} failureCallback |
233 */ | 225 */ |
234 setRuleSelector: function(ruleId, nodeId, newSelector, successCallback, fail ureCallback) | 226 setRuleSelector: function(ruleId, nodeId, newSelector, successCallback, fail ureCallback) |
235 { | 227 { |
236 /** | 228 /** |
237 * @param {!DOMAgent.NodeId} nodeId | 229 * @param {!DOMAgent.NodeId} nodeId |
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
566 styleSheetIds = styleSheetIds.concat(frameIdToSheetIds[frameId]); | 558 styleSheetIds = styleSheetIds.concat(frameIdToSheetIds[frameId]); |
567 var uiLocation; | 559 var uiLocation; |
568 for (var i = 0; !uiLocation && i < styleSheetIds.length; ++i) { | 560 for (var i = 0; !uiLocation && i < styleSheetIds.length; ++i) { |
569 var header = this.styleSheetHeaderForId(styleSheetIds[i]); | 561 var header = this.styleSheetHeaderForId(styleSheetIds[i]); |
570 console.assert(header); | 562 console.assert(header); |
571 uiLocation = header.rawLocationToUILocation(rawLocation.lineNumber, rawLocation.columnNumber); | 563 uiLocation = header.rawLocationToUILocation(rawLocation.lineNumber, rawLocation.columnNumber); |
572 } | 564 } |
573 return uiLocation || null; | 565 return uiLocation || null; |
574 }, | 566 }, |
575 | 567 |
568 /** | |
569 * @param {!WebInspector.DOMNode} node | |
570 * @param {string} pseudoClass | |
571 * @param {boolean} enable | |
572 * @return {boolean} | |
573 */ | |
574 forcePseudoState: function(node, pseudoClass, enable) | |
575 { | |
576 var pseudoClasses = node.getUserProperty(WebInspector.CSSStyleModel.Pseu doStatePropertyName); | |
577 if (enable) { | |
578 pseudoClasses = pseudoClasses || []; | |
579 if (pseudoClasses.indexOf(pseudoClass) >= 0) | |
580 return false; | |
581 pseudoClasses.push(pseudoClass); | |
582 node.setUserProperty(WebInspector.CSSStyleModel.PseudoStatePropertyN ame, pseudoClasses); | |
583 } else { | |
584 if (!pseudoClasses || pseudoClasses.indexOf(pseudoClass) < 0) | |
585 return false; | |
586 pseudoClasses.remove(pseudoClass); | |
587 if (!pseudoClasses.length) | |
588 node.removeUserProperty(WebInspector.CSSStyleModel.PseudoStatePr opertyName); | |
589 } | |
590 | |
591 CSSAgent.forcePseudoState(node.id, node.getUserProperty(WebInspector.CSS StyleModel.PseudoStatePropertyName) || []); | |
sergeyv
2014/03/31 13:29:20
we already have node.getUserProperty(WebInspector.
pfeldman
2014/03/31 13:45:50
Done.
| |
592 return true; | |
593 }, | |
594 | |
576 __proto__: WebInspector.Object.prototype | 595 __proto__: WebInspector.Object.prototype |
577 } | 596 } |
578 | 597 |
579 /** | 598 /** |
580 * @constructor | 599 * @constructor |
581 * @extends {WebInspector.LiveLocation} | 600 * @extends {WebInspector.LiveLocation} |
582 * @param {!WebInspector.CSSStyleModel} model | 601 * @param {!WebInspector.CSSStyleModel} model |
583 * @param {?WebInspector.CSSStyleSheetHeader} header | 602 * @param {?WebInspector.CSSStyleSheetHeader} header |
584 * @param {!WebInspector.CSSLocation} rawLocation | 603 * @param {!WebInspector.CSSLocation} rawLocation |
585 * @param {function(!WebInspector.UILocation):(boolean|undefined)} updateDelegat e | 604 * @param {function(!WebInspector.UILocation):(boolean|undefined)} updateDelegat e |
(...skipping 998 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1584 for (var i = 0; i < callbacks.length; ++i) | 1603 for (var i = 0; i < callbacks.length; ++i) |
1585 callbacks[i](computedStyle); | 1604 callbacks[i](computedStyle); |
1586 } | 1605 } |
1587 } | 1606 } |
1588 } | 1607 } |
1589 | 1608 |
1590 /** | 1609 /** |
1591 * @type {!WebInspector.CSSStyleModel} | 1610 * @type {!WebInspector.CSSStyleModel} |
1592 */ | 1611 */ |
1593 WebInspector.cssModel; | 1612 WebInspector.cssModel; |
OLD | NEW |