Index: gin/wrappable.cc |
diff --git a/gin/wrappable.cc b/gin/wrappable.cc |
index e9217baa7e213fcd6f38578155e2560b73cad6ae..0338211070af79b655a04895d2114135becd4b35 100644 |
--- a/gin/wrappable.cc |
+++ b/gin/wrappable.cc |
@@ -17,9 +17,9 @@ Wrappable::~Wrappable() { |
} |
v8::Handle<v8::Object> Wrappable::GetWrapper(v8::Isolate* isolate) { |
- v8::Handle<v8::Value> wrapper = ConvertToV8(isolate, this); |
- DCHECK(wrapper->IsObject()); |
- return v8::Handle<v8::Object>::Cast(wrapper); |
+ if (wrapper_.IsEmpty()) |
+ CreateWrapper(isolate); |
+ return v8::Local<v8::Object>::New(isolate, wrapper_); |
} |
void Wrappable::WeakCallback( |
@@ -43,26 +43,4 @@ v8::Handle<v8::Object> Wrappable::CreateWrapper(v8::Isolate* isolate) { |
return wrapper; |
} |
-v8::Handle<v8::Value> Converter<Wrappable*>::ToV8(v8::Isolate* isolate, |
- Wrappable* val) { |
- if (val->wrapper_.IsEmpty()) |
- return val->CreateWrapper(isolate); |
- return v8::Local<v8::Object>::New(isolate, val->wrapper_); |
-} |
- |
-bool Converter<Wrappable*>::FromV8(v8::Isolate* isolate, |
- v8::Handle<v8::Value> val, Wrappable** out) { |
- if (!val->IsObject()) |
- return false; |
- v8::Handle<v8::Object> obj = v8::Handle<v8::Object>::Cast(val); |
- WrapperInfo* info = WrapperInfo::From(obj); |
- if (!info) |
- return false; |
- void* pointer = obj->GetAlignedPointerFromInternalField(kEncodedValueIndex); |
- Wrappable* wrappable = static_cast<Wrappable*>(pointer); |
- CHECK(wrappable->GetWrapperInfo() == info); // Security check for cast above. |
- *out = wrappable; |
- return true; |
-} |
- |
} // namespace gin |