Index: mojo/bindings/js/handle.cc |
diff --git a/mojo/bindings/js/handle.cc b/mojo/bindings/js/handle.cc |
index baa1baea3a2eb92788fe72d03816b225012cb554..c5d5411609e3a8a3aa4861fb8d60c1cdbe1628cf 100644 |
--- a/mojo/bindings/js/handle.cc |
+++ b/mojo/bindings/js/handle.cc |
@@ -4,6 +4,7 @@ |
#include "mojo/bindings/js/handle.h" |
+#include <sstream> |
#include "mojo/bindings/js/handle_close_observer.h" |
namespace mojo { |
@@ -19,6 +20,24 @@ HandleWrapper::~HandleWrapper() { |
NotifyCloseObservers(); |
} |
+std::string HandleWrapper::ToString() { |
+ std::ostringstream oss; |
+ oss << "[mojo::Handle "; |
+ if (handle_.is_valid()) |
+ oss << handle_.get().value(); |
+ else |
+ oss << "null"; |
+ oss << " " << std::hex << this; |
abarth-chromium
2014/10/24 17:13:27
I don't think you want to leak the address of |thi
hansmuller
2014/10/24 18:14:02
OK, I've removed that.
|
+ oss << "]"; |
+ return oss.str(); |
+} |
+ |
+gin::ObjectTemplateBuilder HandleWrapper::GetObjectTemplateBuilder( |
+ v8::Isolate* isolate) { |
+ return Wrappable<HandleWrapper>::GetObjectTemplateBuilder(isolate) |
+ .SetMethod("toString", &HandleWrapper::ToString); |
+} |
+ |
void HandleWrapper::Close() { |
NotifyCloseObservers(); |
handle_.reset(); |