summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-28 16:30:14 +0000
committerpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-28 16:30:14 +0000
commite8fcf02200ce501b751419fdd47f940208df99fb (patch)
tree50983ac843d49c95a89f951dc660edee59a37cd8
parent5ca9dbacd478c35c99fdfa33b4cbe7af719eb7d4 (diff)
downloadchromium_src-e8fcf02200ce501b751419fdd47f940208df99fb.zip
chromium_src-e8fcf02200ce501b751419fdd47f940208df99fb.tar.gz
chromium_src-e8fcf02200ce501b751419fdd47f940208df99fb.tar.bz2
DevTools: Add support for non-trivial console messages.
Review URL: http://codereview.chromium.org/113953 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17074 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--webkit/glue/devtools/js/inject_dispatch.js17
1 files changed, 15 insertions, 2 deletions
diff --git a/webkit/glue/devtools/js/inject_dispatch.js b/webkit/glue/devtools/js/inject_dispatch.js
index 404779a..81cfc4b 100644
--- a/webkit/glue/devtools/js/inject_dispatch.js
+++ b/webkit/glue/devtools/js/inject_dispatch.js
@@ -40,10 +40,23 @@ function devtools$$dispatch(functionName, node, json_args) {
*/
var dispatch = function(method, var_args) {
// Handle all messages with non-primitieve arguments here.
- // TODO(pfeldman): Add more.
if (method == 'inspectedWindowCleared') {
return;
}
- var call = JSON.stringify(Array.prototype.slice.call(arguments));
+ var args = Array.prototype.slice.call(arguments);
+
+ // Serialize objects here.
+ if (method == 'addMessageToConsole') {
+ // Skip first argument since it is serializable.
+ for (var i = 1; i < args.length; ++i) {
+ var type = typeof args[i];
+ if (type == 'object') {
+ args[i] = Object.prototype.toString(args[i]);
+ } else if (type == 'function') {
+ args[i] = args[i].toString();
+ }
+ }
+ }
+ var call = JSON.stringify(args);
RemoteWebInspector.dispatch(call);
};