Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 /** | 5 /** |
| 6 * @fileoverview Dom and DomNode are used to represent remote DOM in the | 6 * @fileoverview Dom and DomNode are used to represent remote DOM in the |
| 7 * web inspector. | 7 * web inspector. |
| 8 */ | 8 */ |
| 9 goog.provide('devtools.DomAgent'); | 9 goog.provide('devtools.DomAgent'); |
| 10 goog.provide('devtools.DomDocument'); | 10 goog.provide('devtools.DomDocument'); |
| (...skipping 811 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 822 /** | 822 /** |
| 823 * Returns all properties of the given node. | 823 * Returns all properties of the given node. |
| 824 * @param {number} nodeId Node to get properties for. | 824 * @param {number} nodeId Node to get properties for. |
| 825 * @param {Array.<string>} path Path to the object. | 825 * @param {Array.<string>} path Path to the object. |
| 826 * @param {number} protoDepth Depth to the exact proto level. | 826 * @param {number} protoDepth Depth to the exact proto level. |
| 827 * @param {function(string):undefined} callback Function to call with the | 827 * @param {function(string):undefined} callback Function to call with the |
| 828 * result. | 828 * result. |
| 829 */ | 829 */ |
| 830 devtools.DomAgent.prototype.getNodePropertiesAsync = function(nodeId, | 830 devtools.DomAgent.prototype.getNodePropertiesAsync = function(nodeId, |
| 831 path, protoDepth, callback) { | 831 path, protoDepth, callback) { |
| 832 var mycallback = | 832 var callbackId = this.utilityFunctionCallbackWrapper_(callback); |
| 833 goog.bind(this.utilityFunctionCallbackWrapper_, this, callback); | |
| 834 var callbackId = devtools.Callback.wrap(mycallback); | |
| 835 RemoteToolsAgent.ExecuteUtilityFunction(callbackId, | 833 RemoteToolsAgent.ExecuteUtilityFunction(callbackId, |
| 836 'getProperties', nodeId, | 834 'getProperties', nodeId, |
| 837 goog.json.serialize([path, protoDepth])); | 835 goog.json.serialize([path, protoDepth])); |
| 838 }; | 836 }; |
| 839 | 837 |
| 840 | 838 |
| 841 /** | 839 /** |
| 842 * Returns prototype chain for a given node. | 840 * Returns prototype chain for a given node. |
| 843 * @param {number} nodeId Node to get prototypes for. | 841 * @param {number} nodeId Node to get prototypes for. |
| 844 * @param {Function} callback. | 842 * @param {Function} callback. |
| 845 */ | 843 */ |
| 846 devtools.DomAgent.prototype.getNodePrototypesAsync = function(nodeId, | 844 devtools.DomAgent.prototype.getNodePrototypesAsync = function(nodeId, |
| 847 callback) { | 845 callback) { |
| 848 var mycallback = | 846 var callbackId = this.utilityFunctionCallbackWrapper_(callback); |
| 849 goog.bind(this.utilityFunctionCallbackWrapper_, this, callback); | |
| 850 var callbackId = devtools.Callback.wrap(mycallback); | |
| 851 RemoteToolsAgent.ExecuteUtilityFunction(callbackId, | 847 RemoteToolsAgent.ExecuteUtilityFunction(callbackId, |
| 852 'getPrototypes', nodeId, '[]'); | 848 'getPrototypes', nodeId, '[]'); |
| 853 }; | 849 }; |
| 854 | 850 |
| 855 | 851 |
| 856 /** | 852 /** |
| 857 * Returns styles for given node. | 853 * Returns styles for given node. |
| 858 * @param {devtools.DomNode} node Node to get prototypes for. | 854 * @param {devtools.DomNode} node Node to get prototypes for. |
| 859 * @param {boolean} authorOnly Returns only author styles if true. | 855 * @param {boolean} authorOnly Returns only author styles if true. |
| 860 * @param {Function} callback. | 856 * @param {Function} callback. |
| 861 */ | 857 */ |
| 862 devtools.DomAgent.prototype.getNodeStylesAsync = function(node, | 858 devtools.DomAgent.prototype.getNodeStylesAsync = function(node, |
| 863 authorOnly, callback) { | 859 authorOnly, callback) { |
| 864 var mycallback = | 860 var callbackId = this.utilityFunctionCallbackWrapper_(callback); |
| 865 goog.bind(this.utilityFunctionCallbackWrapper_, this, callback); | |
| 866 var callbackId = devtools.Callback.wrap(mycallback); | |
| 867 RemoteToolsAgent.ExecuteUtilityFunction(callbackId, | 861 RemoteToolsAgent.ExecuteUtilityFunction(callbackId, |
| 868 'getStyles', | 862 'getStyles', |
| 869 node.id_, | 863 node.id_, |
| 870 goog.json.serialize([authorOnly])); | 864 goog.json.serialize([authorOnly])); |
| 871 }; | 865 }; |
| 872 | 866 |
| 873 | 867 |
| 874 /** | 868 /** |
| 875 * Toggles style with given id on/off. | 869 * Toggles style with given id on/off. |
| 876 * @param {devtools.CSSStyleDeclaration} style Style to toggle. | 870 * @param {devtools.CSSStyleDeclaration} style Style to toggle. |
| 877 * @param {boolean} enabled True if style should be enabled. | 871 * @param {boolean} enabled True if style should be enabled. |
| 878 * @param {string} name Style name. | 872 * @param {string} name Style name. |
| 879 * @param {Function} callback. | 873 * @param {Function} callback. |
| 880 */ | 874 */ |
| 881 devtools.DomAgent.prototype.toggleNodeStyleAsync = function( | 875 devtools.DomAgent.prototype.toggleNodeStyleAsync = function( |
| 882 style, enabled, name, callback) { | 876 style, enabled, name, callback) { |
| 883 var mycallback = | 877 var callbackId = this.utilityFunctionCallbackWrapper_(callback); |
| 884 goog.bind(this.utilityFunctionCallbackWrapper_, this, callback); | |
| 885 var callbackId = devtools.Callback.wrap(mycallback); | |
| 886 RemoteToolsAgent.ExecuteUtilityFunction(callbackId, | 878 RemoteToolsAgent.ExecuteUtilityFunction(callbackId, |
| 887 'toggleNodeStyle', | 879 'toggleNodeStyle', |
| 888 style.nodeId_, | 880 style.nodeId_, |
| 889 goog.json.serialize([style.id_, enabled, name])); | 881 goog.json.serialize([style.id_, enabled, name])); |
| 890 }; | 882 }; |
| 891 | 883 |
| 892 | 884 |
| 893 /** | 885 /** |
| 886 * Applies new text to a style. | |
| 887 * @param {devtools.CSSStyleDeclaration} style Style to edit. | |
| 888 * @param {string} name Property name to edit. | |
| 889 * @param {string} styleText Text to set the style from. | |
| 890 * @param {Function} callback. | |
| 891 */ | |
| 892 devtools.DomAgent.prototype.applyStyleTextAsync = function( | |
| 893 style, name, styleText, callback) { | |
| 894 var callbackId = this.utilityFunctionCallbackWrapper_(callback); | |
| 895 RemoteToolsAgent.ExecuteUtilityFunction(callbackId, | |
|
yurys
2009/04/30 09:55:40
style: wrong arguments alignment
pfeldman
2009/04/30 10:00:16
Done.
| |
| 896 'applyStyleText', | |
| 897 style.nodeId_, | |
| 898 goog.json.serialize([style.id_, name, styleText])); | |
| 899 }; | |
| 900 | |
| 901 | |
| 902 /** | |
| 894 * Dumps exception if something went wrong in ExecuteUtilityFunction. | 903 * Dumps exception if something went wrong in ExecuteUtilityFunction. |
| 904 * @param {Function} callback Callback to wrap. | |
| 905 * @return {number} Callback id. | |
| 895 */ | 906 */ |
| 896 devtools.DomAgent.prototype.utilityFunctionCallbackWrapper_ = | 907 devtools.DomAgent.prototype.utilityFunctionCallbackWrapper_ = |
| 897 function(callback, result, exception) { | 908 function(callback) { |
| 898 if (exception && exception.length) { | 909 var mycallback = function(result, exception) { |
| 899 debugPrint('Exception in ExecuteUtilityFunction styles:' + exception); | 910 if (exception && exception.length) { |
| 900 return; | 911 debugPrint('Exception in ExecuteUtilityFunction styles:' + exception); |
| 901 } | 912 return; |
| 902 callback(result); | 913 } |
| 914 callback(result); | |
| 915 }; | |
| 916 return devtools.Callback.wrap(mycallback); | |
| 903 }; | 917 }; |
| 904 | 918 |
| 905 | 919 |
| 906 /** | 920 /** |
| 907 * Represents remote CSSStyleDeclaration for using in StyleSidebarPane. | 921 * Represents remote CSSStyleDeclaration for using in StyleSidebarPane. |
| 908 * @param {id, Array<Object>} payload built by inject's getStyle from the | 922 * @param {id, Array<Object>} payload built by inject's getStyle from the |
| 909 * injected js. | 923 * injected js. |
| 910 * @constructor | 924 * @constructor |
| 911 */ | 925 */ |
| 912 devtools.CSSStyleDeclaration = function(payload) { | 926 devtools.CSSStyleDeclaration = function(payload) { |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 979 function onlyTextChild() { | 993 function onlyTextChild() { |
| 980 if (!this.children) { | 994 if (!this.children) { |
| 981 return null; | 995 return null; |
| 982 } else if (this.children.length == 1 && | 996 } else if (this.children.length == 1 && |
| 983 this.children[0].nodeType == Node.TEXT_NODE) { | 997 this.children[0].nodeType == Node.TEXT_NODE) { |
| 984 return this.children[0]; | 998 return this.children[0]; |
| 985 } else { | 999 } else { |
| 986 return null; | 1000 return null; |
| 987 } | 1001 } |
| 988 } | 1002 } |
| OLD | NEW |