Home | History | Annotate | Download | only in results
      1 // Copyright 2014 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // This file has been auto-generated by code_generator_v8.py. DO NOT MODIFY!
      6 
      7 #ifndef V8TestInterfaceCustomConstructor_h
      8 #define V8TestInterfaceCustomConstructor_h
      9 
     10 #include "bindings/tests/idls/TestInterfaceCustomConstructor.h"
     11 #include "bindings/v8/V8Binding.h"
     12 #include "bindings/v8/V8DOMWrapper.h"
     13 #include "bindings/v8/WrapperTypeInfo.h"
     14 #include "platform/heap/Handle.h"
     15 
     16 namespace WebCore {
     17 
     18 class V8TestInterfaceCustomConstructor {
     19 public:
     20     static bool hasInstance(v8::Handle<v8::Value>, v8::Isolate*);
     21     static v8::Handle<v8::Object> findInstanceInPrototypeChain(v8::Handle<v8::Value>, v8::Isolate*);
     22     static v8::Handle<v8::FunctionTemplate> domTemplate(v8::Isolate*);
     23     static TestInterfaceCustomConstructor* toNative(v8::Handle<v8::Object> object)
     24     {
     25         return fromInternalPointer(object->GetAlignedPointerFromInternalField(v8DOMWrapperObjectIndex));
     26     }
     27     static TestInterfaceCustomConstructor* toNativeWithTypeCheck(v8::Isolate*, v8::Handle<v8::Value>);
     28     static const WrapperTypeInfo wrapperTypeInfo;
     29     static void derefObject(void*);
     30     static void constructorCallback(const v8::FunctionCallbackInfo<v8::Value>&);
     31     static void constructorCustom(const v8::FunctionCallbackInfo<v8::Value>&);
     32     static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
     33     static inline void* toInternalPointer(TestInterfaceCustomConstructor* impl)
     34     {
     35         return impl;
     36     }
     37 
     38     static inline TestInterfaceCustomConstructor* fromInternalPointer(void* object)
     39     {
     40         return static_cast<TestInterfaceCustomConstructor*>(object);
     41     }
     42     static void installPerContextEnabledProperties(v8::Handle<v8::Object>, TestInterfaceCustomConstructor*, v8::Isolate*) { }
     43     static void installPerContextEnabledMethods(v8::Handle<v8::Object>, v8::Isolate*) { }
     44 
     45 private:
     46     friend v8::Handle<v8::Object> wrap(TestInterfaceCustomConstructor*, v8::Handle<v8::Object> creationContext, v8::Isolate*);
     47     static v8::Handle<v8::Object> createWrapper(PassRefPtr<TestInterfaceCustomConstructor>, v8::Handle<v8::Object> creationContext, v8::Isolate*);
     48 };
     49 
     50 v8::Handle<v8::Object> wrap(TestInterfaceCustomConstructor* impl, v8::Handle<v8::Object> creationContext, v8::Isolate*);
     51 
     52 inline v8::Handle<v8::Value> toV8(TestInterfaceCustomConstructor* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
     53 {
     54     if (UNLIKELY(!impl))
     55         return v8::Null(isolate);
     56     v8::Handle<v8::Value> wrapper = DOMDataStore::getWrapper<V8TestInterfaceCustomConstructor>(impl, isolate);
     57     if (!wrapper.IsEmpty())
     58         return wrapper;
     59     return wrap(impl, creationContext, isolate);
     60 }
     61 
     62 template<typename CallbackInfo>
     63 inline void v8SetReturnValue(const CallbackInfo& callbackInfo, TestInterfaceCustomConstructor* impl)
     64 {
     65     if (UNLIKELY(!impl)) {
     66         v8SetReturnValueNull(callbackInfo);
     67         return;
     68     }
     69     if (DOMDataStore::setReturnValueFromWrapper<V8TestInterfaceCustomConstructor>(callbackInfo.GetReturnValue(), impl))
     70         return;
     71     v8::Handle<v8::Object> wrapper = wrap(impl, callbackInfo.Holder(), callbackInfo.GetIsolate());
     72     v8SetReturnValue(callbackInfo, wrapper);
     73 }
     74 
     75 template<typename CallbackInfo>
     76 inline void v8SetReturnValueForMainWorld(const CallbackInfo& callbackInfo, TestInterfaceCustomConstructor* impl)
     77 {
     78     ASSERT(DOMWrapperWorld::current(callbackInfo.GetIsolate()).isMainWorld());
     79     if (UNLIKELY(!impl)) {
     80         v8SetReturnValueNull(callbackInfo);
     81         return;
     82     }
     83     if (DOMDataStore::setReturnValueFromWrapperForMainWorld<V8TestInterfaceCustomConstructor>(callbackInfo.GetReturnValue(), impl))
     84         return;
     85     v8::Handle<v8::Value> wrapper = wrap(impl, callbackInfo.Holder(), callbackInfo.GetIsolate());
     86     v8SetReturnValue(callbackInfo, wrapper);
     87 }
     88 
     89 template<class CallbackInfo, class Wrappable>
     90 inline void v8SetReturnValueFast(const CallbackInfo& callbackInfo, TestInterfaceCustomConstructor* impl, Wrappable* wrappable)
     91 {
     92     if (UNLIKELY(!impl)) {
     93         v8SetReturnValueNull(callbackInfo);
     94         return;
     95     }
     96     if (DOMDataStore::setReturnValueFromWrapperFast<V8TestInterfaceCustomConstructor>(callbackInfo.GetReturnValue(), impl, callbackInfo.Holder(), wrappable))
     97         return;
     98     v8::Handle<v8::Object> wrapper = wrap(impl, callbackInfo.Holder(), callbackInfo.GetIsolate());
     99     v8SetReturnValue(callbackInfo, wrapper);
    100 }
    101 
    102 inline v8::Handle<v8::Value> toV8(PassRefPtr<TestInterfaceCustomConstructor> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
    103 {
    104     return toV8(impl.get(), creationContext, isolate);
    105 }
    106 
    107 template<class CallbackInfo>
    108 inline void v8SetReturnValue(const CallbackInfo& callbackInfo, PassRefPtr<TestInterfaceCustomConstructor> impl)
    109 {
    110     v8SetReturnValue(callbackInfo, impl.get());
    111 }
    112 
    113 template<class CallbackInfo>
    114 inline void v8SetReturnValueForMainWorld(const CallbackInfo& callbackInfo, PassRefPtr<TestInterfaceCustomConstructor> impl)
    115 {
    116     v8SetReturnValueForMainWorld(callbackInfo, impl.get());
    117 }
    118 
    119 template<class CallbackInfo, class Wrappable>
    120 inline void v8SetReturnValueFast(const CallbackInfo& callbackInfo, PassRefPtr<TestInterfaceCustomConstructor> impl, Wrappable* wrappable)
    121 {
    122     v8SetReturnValueFast(callbackInfo, impl.get(), wrappable);
    123 }
    124 
    125 }
    126 #endif // V8TestInterfaceCustomConstructor_h
    127