| Index: gin/wrappable.cc
|
| diff --git a/gin/wrappable.cc b/gin/wrappable.cc
|
| index 0338211070af79b655a04895d2114135becd4b35..03152e35d79a20a4eae10806256152dcb28ed791 100644
|
| --- a/gin/wrappable.cc
|
| +++ b/gin/wrappable.cc
|
| @@ -9,27 +9,31 @@
|
|
|
| namespace gin {
|
|
|
| -Wrappable::Wrappable() {
|
| +WrapperInfo* WrappableTraitsTest::GetWrapperInfo() {
|
| + return &WrappableTraits<WrappableTraitsTest>::kWrapperInfo;
|
| }
|
|
|
| -Wrappable::~Wrappable() {
|
| +WrappableBase::WrappableBase() {
|
| +}
|
| +
|
| +WrappableBase::~WrappableBase() {
|
| wrapper_.Reset();
|
| }
|
|
|
| -v8::Handle<v8::Object> Wrappable::GetWrapper(v8::Isolate* isolate) {
|
| +v8::Handle<v8::Object> WrappableBase::GetWrapper(v8::Isolate* isolate) {
|
| if (wrapper_.IsEmpty())
|
| CreateWrapper(isolate);
|
| return v8::Local<v8::Object>::New(isolate, wrapper_);
|
| }
|
|
|
| -void Wrappable::WeakCallback(
|
| - const v8::WeakCallbackData<v8::Object, Wrappable>& data) {
|
| - Wrappable* wrappable = data.GetParameter();
|
| +void WrappableBase::WeakCallback(
|
| + const v8::WeakCallbackData<v8::Object, WrappableBase>& data) {
|
| + WrappableBase* wrappable = data.GetParameter();
|
| wrappable->wrapper_.Reset();
|
| delete wrappable;
|
| }
|
|
|
| -v8::Handle<v8::Object> Wrappable::CreateWrapper(v8::Isolate* isolate) {
|
| +v8::Handle<v8::Object> WrappableBase::CreateWrapper(v8::Isolate* isolate) {
|
| WrapperInfo* info = GetWrapperInfo();
|
| PerIsolateData* data = PerIsolateData::From(isolate);
|
| v8::Local<v8::ObjectTemplate> templ = data->GetObjectTemplate(info);
|
|
|