| Index: gin/wrappable_unittest.cc
|
| diff --git a/gin/wrappable_unittest.cc b/gin/wrappable_unittest.cc
|
| index 8886a7990ccebbe7f1950f7577d25a27a039e962..1b37209a81a611ea34979ccc705116896b23fab4 100644
|
| --- a/gin/wrappable_unittest.cc
|
| +++ b/gin/wrappable_unittest.cc
|
| @@ -16,16 +16,13 @@
|
| namespace gin {
|
| namespace {
|
|
|
| -class MyObject : public Wrappable {
|
| +class MyObject : public Wrappable<MyObject> {
|
| public:
|
| static gin::Handle<MyObject> Create(v8::Isolate* isolate);
|
|
|
| int value() const { return value_; }
|
| void set_value(int value) { value_ = value; }
|
|
|
| - static WrapperInfo kWrapperInfo;
|
| - virtual WrapperInfo* GetWrapperInfo() OVERRIDE;
|
| -
|
| private:
|
| MyObject() : value_(0) {}
|
| virtual ~MyObject() {}
|
| @@ -33,64 +30,35 @@ class MyObject : public Wrappable {
|
| int value_;
|
| };
|
|
|
| -WrapperInfo MyObject::kWrapperInfo = { kEmbedderNativeGin };
|
| -
|
| gin::Handle<MyObject> MyObject::Create(v8::Isolate* isolate) {
|
| return CreateHandle(isolate, new MyObject());
|
| }
|
|
|
| -WrapperInfo* MyObject::GetWrapperInfo() {
|
| - return &kWrapperInfo;
|
| -}
|
| -
|
| -
|
| -class MyObject2 : public Wrappable {
|
| - public:
|
| - MyObject2() {
|
| - }
|
| - static WrapperInfo kWrapperInfo;
|
| - virtual WrapperInfo* GetWrapperInfo() OVERRIDE;
|
| +class MyObject2 : public Wrappable<MyObject2> {
|
| };
|
|
|
| -WrapperInfo MyObject2::kWrapperInfo = { kEmbedderNativeGin };
|
| -
|
| -WrapperInfo* MyObject2::GetWrapperInfo() {
|
| - return &kWrapperInfo;
|
| -}
|
| -
|
| -
|
| -class MyObjectBlink : public Wrappable {
|
| - public:
|
| - MyObjectBlink() {
|
| - }
|
| - static WrapperInfo kWrapperInfo;
|
| - virtual WrapperInfo* GetWrapperInfo() OVERRIDE;
|
| +class MyObjectBlink : public Wrappable<MyObjectBlink> {
|
| };
|
|
|
| -WrapperInfo MyObjectBlink::kWrapperInfo = { kEmbedderBlink };
|
| -
|
| -WrapperInfo* MyObjectBlink::GetWrapperInfo() {
|
| - return &kWrapperInfo;
|
| -}
|
| -
|
|
|
| void RegisterTemplates(v8::Isolate* isolate) {
|
| PerIsolateData* data = PerIsolateData::From(isolate);
|
| - DCHECK(data->GetObjectTemplate(&MyObject::kWrapperInfo).IsEmpty());
|
| + DCHECK(data->GetObjectTemplate(
|
| + &WrappableTraits<MyObject>::kWrapperInfo).IsEmpty());
|
|
|
| v8::Handle<v8::ObjectTemplate> templ = ObjectTemplateBuilder(isolate)
|
| .SetProperty("value", &MyObject::value, &MyObject::set_value)
|
| .Build();
|
| templ->SetInternalFieldCount(kNumberOfInternalFields);
|
| - data->SetObjectTemplate(&MyObject::kWrapperInfo, templ);
|
| + data->SetObjectTemplate(&WrappableTraits<MyObject>::kWrapperInfo, templ);
|
|
|
| templ = v8::ObjectTemplate::New(isolate);
|
| templ->SetInternalFieldCount(kNumberOfInternalFields);
|
| - data->SetObjectTemplate(&MyObject2::kWrapperInfo, templ);
|
| + data->SetObjectTemplate(&WrappableTraits<MyObject2>::kWrapperInfo, templ);
|
|
|
| templ = v8::ObjectTemplate::New(isolate);
|
| templ->SetInternalFieldCount(kNumberOfInternalFields);
|
| - data->SetObjectTemplate(&MyObjectBlink::kWrapperInfo, templ);
|
| + data->SetObjectTemplate(&WrappableTraits<MyObjectBlink>::kWrapperInfo, templ);
|
| }
|
|
|
| typedef V8Test WrappableTest;
|
|
|