Home | History | Annotate | Download | only in core
      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 V8TestInterfaceConstructor_h
      8 #define V8TestInterfaceConstructor_h
      9 
     10 #include "bindings/core/v8/ScriptWrappable.h"
     11 #include "bindings/core/v8/V8Binding.h"
     12 #include "bindings/core/v8/V8DOMWrapper.h"
     13 #include "bindings/core/v8/WrapperTypeInfo.h"
     14 #include "bindings/tests/idls/core/TestInterfaceConstructor.h"
     15 #include "platform/heap/Handle.h"
     16 
     17 namespace blink {
     18 
     19 class V8TestInterfaceConstructorConstructor {
     20 public:
     21     static v8::Handle<v8::FunctionTemplate> domTemplate(v8::Isolate*);
     22     static const WrapperTypeInfo wrapperTypeInfo;
     23 };
     24 
     25 class V8TestInterfaceConstructor {
     26 public:
     27     static bool hasInstance(v8::Handle<v8::Value>, v8::Isolate*);
     28     static v8::Handle<v8::Object> findInstanceInPrototypeChain(v8::Handle<v8::Value>, v8::Isolate*);
     29     static v8::Handle<v8::FunctionTemplate> domTemplate(v8::Isolate*);
     30     static TestInterfaceConstructor* toImpl(v8::Handle<v8::Object> object)
     31     {
     32         return toImpl(blink::toScriptWrappableBase(object));
     33     }
     34     static TestInterfaceConstructor* toImplWithTypeCheck(v8::Isolate*, v8::Handle<v8::Value>);
     35     static const WrapperTypeInfo wrapperTypeInfo;
     36     static void refObject(ScriptWrappableBase* internalPointer);
     37     static void derefObject(ScriptWrappableBase* internalPointer);
     38     static WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
     39     static void constructorCallback(const v8::FunctionCallbackInfo<v8::Value>&);
     40     static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
     41     static inline ScriptWrappableBase* toScriptWrappableBase(TestInterfaceConstructor* impl)
     42     {
     43         return impl->toScriptWrappableBase();
     44     }
     45 
     46     static inline TestInterfaceConstructor* toImpl(ScriptWrappableBase* internalPointer)
     47     {
     48         return internalPointer->toImpl<TestInterfaceConstructor>();
     49     }
     50     static void installConditionallyEnabledProperties(v8::Handle<v8::Object>, v8::Isolate*) { }
     51     static void installConditionallyEnabledMethods(v8::Handle<v8::Object>, v8::Isolate*) { }
     52 
     53 private:
     54 };
     55 
     56 inline v8::Handle<v8::Object> wrap(TestInterfaceConstructor* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
     57 {
     58     return impl->wrap(creationContext, isolate);
     59 }
     60 
     61 inline v8::Handle<v8::Value> toV8(TestInterfaceConstructor* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
     62 {
     63     if (UNLIKELY(!impl))
     64         return v8::Null(isolate);
     65     v8::Handle<v8::Value> wrapper = DOMDataStore::getWrapper<V8TestInterfaceConstructor>(impl, isolate);
     66     if (!wrapper.IsEmpty())
     67         return wrapper;
     68 
     69     return impl->wrap(creationContext, isolate);
     70 }
     71 
     72 template<typename CallbackInfo>
     73 inline void v8SetReturnValue(const CallbackInfo& callbackInfo, TestInterfaceConstructor* impl)
     74 {
     75     if (UNLIKELY(!impl)) {
     76         v8SetReturnValueNull(callbackInfo);
     77         return;
     78     }
     79     if (DOMDataStore::setReturnValueFromWrapper<V8TestInterfaceConstructor>(callbackInfo.GetReturnValue(), impl))
     80         return;
     81     v8::Handle<v8::Object> wrapper = wrap(impl, callbackInfo.Holder(), callbackInfo.GetIsolate());
     82     v8SetReturnValue(callbackInfo, wrapper);
     83 }
     84 
     85 template<typename CallbackInfo>
     86 inline void v8SetReturnValueForMainWorld(const CallbackInfo& callbackInfo, TestInterfaceConstructor* impl)
     87 {
     88     ASSERT(DOMWrapperWorld::current(callbackInfo.GetIsolate()).isMainWorld());
     89     if (UNLIKELY(!impl)) {
     90         v8SetReturnValueNull(callbackInfo);
     91         return;
     92     }
     93     if (DOMDataStore::setReturnValueFromWrapperForMainWorld<V8TestInterfaceConstructor>(callbackInfo.GetReturnValue(), impl))
     94         return;
     95     v8::Handle<v8::Value> wrapper = wrap(impl, callbackInfo.Holder(), callbackInfo.GetIsolate());
     96     v8SetReturnValue(callbackInfo, wrapper);
     97 }
     98 
     99 template<class CallbackInfo, class Wrappable>
    100 inline void v8SetReturnValueFast(const CallbackInfo& callbackInfo, TestInterfaceConstructor* impl, Wrappable* wrappable)
    101 {
    102     if (UNLIKELY(!impl)) {
    103         v8SetReturnValueNull(callbackInfo);
    104         return;
    105     }
    106     if (DOMDataStore::setReturnValueFromWrapperFast<V8TestInterfaceConstructor>(callbackInfo.GetReturnValue(), impl, callbackInfo.Holder(), wrappable))
    107         return;
    108     v8::Handle<v8::Object> wrapper = wrap(impl, callbackInfo.Holder(), callbackInfo.GetIsolate());
    109     v8SetReturnValue(callbackInfo, wrapper);
    110 }
    111 
    112 inline v8::Handle<v8::Value> toV8(PassRefPtr<TestInterfaceConstructor> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
    113 {
    114     return toV8(impl.get(), creationContext, isolate);
    115 }
    116 
    117 template<class CallbackInfo>
    118 inline void v8SetReturnValue(const CallbackInfo& callbackInfo, PassRefPtr<TestInterfaceConstructor> impl)
    119 {
    120     v8SetReturnValue(callbackInfo, impl.get());
    121 }
    122 
    123 template<class CallbackInfo>
    124 inline void v8SetReturnValueForMainWorld(const CallbackInfo& callbackInfo, PassRefPtr<TestInterfaceConstructor> impl)
    125 {
    126     v8SetReturnValueForMainWorld(callbackInfo, impl.get());
    127 }
    128 
    129 template<class CallbackInfo, class Wrappable>
    130 inline void v8SetReturnValueFast(const CallbackInfo& callbackInfo, PassRefPtr<TestInterfaceConstructor> impl, Wrappable* wrappable)
    131 {
    132     v8SetReturnValueFast(callbackInfo, impl.get(), wrappable);
    133 }
    134 
    135 } // namespace blink
    136 #endif // V8TestInterfaceConstructor_h
    137