Chromium Code Reviews| 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(); |