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