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