| Index: src/api.cc
 | 
| ===================================================================
 | 
| --- src/api.cc	(revision 1813)
 | 
| +++ src/api.cc	(working copy)
 | 
| @@ -3260,6 +3260,16 @@
 | 
|  }
 | 
|  
 | 
|  
 | 
| +static v8::Debug::MessageHandler message_handler = NULL;
 | 
| +
 | 
| +static void MessageHandlerWrapper(const v8::Debug::Message& message) {
 | 
| +  if (message_handler) {
 | 
| +    v8::String::Value json(message.GetJSON());
 | 
| +    message_handler(*json, json.length(), message.GetClientData());
 | 
| +  }
 | 
| +}
 | 
| +
 | 
| +
 | 
|  void Debug::SetMessageHandler(v8::Debug::MessageHandler handler,
 | 
|                                bool message_handler_thread) {
 | 
|    EnsureInitialized("v8::Debug::SetMessageHandler");
 | 
| @@ -3267,6 +3277,20 @@
 | 
|    // Message handler thread not supported any more. Parameter temporally left in
 | 
|    // the API for client compatability reasons.
 | 
|    CHECK(!message_handler_thread);
 | 
| +
 | 
| +  // TODO(sgjesse) support the old message handler API through a simple wrapper.
 | 
| +  message_handler = handler;
 | 
| +  if (message_handler != NULL) {
 | 
| +    i::Debugger::SetMessageHandler(MessageHandlerWrapper);
 | 
| +  } else {
 | 
| +    i::Debugger::SetMessageHandler(NULL);
 | 
| +  }
 | 
| +}
 | 
| +
 | 
| +
 | 
| +void Debug::SetMessageHandler2(v8::Debug::MessageHandler2 handler) {
 | 
| +  EnsureInitialized("v8::Debug::SetMessageHandler");
 | 
| +  ENTER_V8;
 | 
|    i::Debugger::SetMessageHandler(handler);
 | 
|  }
 | 
|  
 | 
| 
 |