| |
| /* |
| * weinre is available under *either* the terms of the modified BSD license *or* the |
| * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text. |
| * |
| * Copyright (c) 2011 IBM Corporation |
| */ |
| |
| requireClass ../common/Weinre |
| |
| //----------------------------------------------------------------------------- |
| class WiCSSImpl |
| this.dummyComputedStyle = false |
| |
| //----------------------------------------------------------------------------- |
| method getStylesForNode(/*int*/ nodeId, callback) |
| var result = {} |
| |
| var node = Weinre.nodeStore.getNode(nodeId) |
| if (!node) { |
| Weinre.logWarning(arguments.callee.signature + " passed an invalid nodeId: " + nodeId) |
| return |
| } |
| |
| var computedStyle |
| |
| if (this.dummyComputedStyle) { |
| computedStyle = { |
| styleId: null, |
| properties: [], |
| shorthandValues: [], |
| cssProperties: [] |
| } |
| } |
| else { |
| computedStyle = Weinre.cssStore.getComputedStyle(node) |
| } |
| |
| var result = { |
| inlineStyle: Weinre.cssStore.getInlineStyle(node), |
| computedStyle: computedStyle, |
| matchedCSSRules: Weinre.cssStore.getMatchedCSSRules(node), |
| styleAttributes: Weinre.cssStore.getStyleAttributes(node), |
| pseudoElements: Weinre.cssStore.getPseudoElements(node), |
| inherited: [] |
| } |
| |
| var parentNode = node.parentNode |
| |
| while (parentNode) { |
| var parentStyle = { |
| inlineStyle: Weinre.cssStore.getInlineStyle(parentNode), |
| matchedCSSRules: Weinre.cssStore.getMatchedCSSRules(parentNode), |
| } |
| |
| result.inherited.push(parentStyle) |
| parentNode = parentNode.parentNode |
| } |
| |
| if (callback) { |
| Weinre.WeinreTargetCommands.sendClientCallback(callback, [result]) |
| } |
| |
| //----------------------------------------------------------------------------- |
| method getComputedStyleForNode(/*int*/ nodeId, callback) |
| var node = Weinre.nodeStore.getNode(nodeId) |
| if (!node) { |
| Weinre.logWarning(arguments.callee.signature + " passed an invalid nodeId: " + nodeId) |
| return |
| } |
| |
| var result = Weinre.cssStore.getComputedStyle(node) |
| |
| if (callback) { |
| Weinre.WeinreTargetCommands.sendClientCallback(callback, [result]) |
| } |
| |
| |
| //----------------------------------------------------------------------------- |
| method getInlineStyleForNode(/*int*/ nodeId, callback) |
| var node = Weinre.nodeStore.getNode(nodeId) |
| if (!node) { |
| Weinre.logWarning(arguments.callee.signature + " passed an invalid nodeId: " + nodeId) |
| return |
| } |
| |
| var result = Weinre.cssStore.getInlineStyle(node) |
| |
| if (callback) { |
| Weinre.WeinreTargetCommands.sendClientCallback(callback, [result]) |
| } |
| |
| //----------------------------------------------------------------------------- |
| method getAllStyles(callback) |
| // callback: function(/*any[]*/ styleSheetIds) |
| Weinre.notImplemented(arguments.callee.signature) |
| |
| |
| //----------------------------------------------------------------------------- |
| method getStyleSheet(/*string*/ styleSheetId, callback) |
| // callback: function(/*any*/ styleSheet) |
| Weinre.notImplemented(arguments.callee.signature) |
| |
| |
| //----------------------------------------------------------------------------- |
| method getStyleSheetText(/*string*/ styleSheetId, callback) |
| // callback: function(/*string*/ url, /*string*/ text) |
| Weinre.notImplemented(arguments.callee.signature) |
| |
| |
| //----------------------------------------------------------------------------- |
| method setStyleSheetText(/*string*/ styleSheetId, /*string*/ text, callback) |
| // callback: function(/*boolean*/ success) |
| Weinre.notImplemented(arguments.callee.signature) |
| |
| |
| //----------------------------------------------------------------------------- |
| method setPropertyText(/*any*/ styleId, /*int*/ propertyIndex, /*string*/ text, /*boolean*/ overwrite, callback) |
| // callback: function(/*any*/ style) |
| |
| var result = Weinre.cssStore.setPropertyText(styleId, propertyIndex, text, overwrite) |
| |
| if (callback) { |
| Weinre.WeinreTargetCommands.sendClientCallback(callback, [result]) |
| } |
| |
| //----------------------------------------------------------------------------- |
| method toggleProperty(/*any*/ styleId, /*int*/ propertyIndex, /*boolean*/ disable, callback) |
| |
| var result = Weinre.cssStore.toggleProperty(styleId, propertyIndex, disable) |
| |
| if (callback) { |
| Weinre.WeinreTargetCommands.sendClientCallback(callback, [result]) |
| } |
| |
| //----------------------------------------------------------------------------- |
| method setRuleSelector(/*any*/ ruleId, /*string*/ selector, callback) |
| // callback: function(/*any*/ rule) |
| Weinre.notImplemented(arguments.callee.signature) |
| |
| |
| //----------------------------------------------------------------------------- |
| method addRule(/*int*/ contextNodeId, /*string*/ selector, callback) |
| // callback: function(/*any*/ rule) |
| Weinre.notImplemented(arguments.callee.signature) |
| |
| |
| //----------------------------------------------------------------------------- |
| method getSupportedCSSProperties(callback) |
| return Weinre.getCSSProperties() |
| |
| |
| //----------------------------------------------------------------------------- |
| method querySelectorAll(/*int*/ documentId, /*string*/ selector, callback) |
| // callback: function(/*any[]*/ result) |
| Weinre.notImplemented(arguments.callee.signature) |