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 V8TestObject_h
      8 #define V8TestObject_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/TestObject.h"
     15 #include "platform/heap/Handle.h"
     16 
     17 namespace blink {
     18 
     19 class V8TestObject {
     20 public:
     21     class PrivateScript {
     22     public:
     23         static bool voidMethodImplementedInPrivateScriptMethod(LocalFrame* frame, TestObject* holderImpl);
     24         static bool shortMethodImplementedInPrivateScriptMethod(LocalFrame* frame, TestObject* holderImpl, int* result);
     25         static bool shortMethodWithShortArgumentImplementedInPrivateScriptMethod(LocalFrame* frame, TestObject* holderImpl, int value, int* result);
     26         static bool stringMethodWithStringArgumentImplementedInPrivateScriptMethod(LocalFrame* frame, TestObject* holderImpl, String value, String* result);
     27         static bool nodeMethodWithNodeArgumentImplementedInPrivateScriptMethod(LocalFrame* frame, TestObject* holderImpl, PassRefPtrWillBeRawPtr<Node> value, RefPtrWillBeRawPtr<Node>* result);
     28         static bool nodeMethodWithVariousArgumentsImplementedInPrivateScriptMethod(LocalFrame* frame, TestObject* holderImpl, PassRefPtrWillBeRawPtr<Document> document, PassRefPtrWillBeRawPtr<Node> node, int value1, double value2, String string, RefPtrWillBeRawPtr<Node>* result);
     29         static bool methodForPrivateScriptOnlyMethod(LocalFrame* frame, TestObject* holderImpl, int value1, int value2, int* result);
     30         static bool readonlyShortAttributeAttributeGetter(LocalFrame* frame, TestObject* holderImpl, int* result);
     31         static bool shortAttributeAttributeGetter(LocalFrame* frame, TestObject* holderImpl, int* result);
     32         static bool shortAttributeAttributeSetter(LocalFrame* frame, TestObject* holderImpl, int cppValue);
     33         static bool stringAttributeAttributeGetter(LocalFrame* frame, TestObject* holderImpl, String* result);
     34         static bool stringAttributeAttributeSetter(LocalFrame* frame, TestObject* holderImpl, String cppValue);
     35         static bool nodeAttributeAttributeGetter(LocalFrame* frame, TestObject* holderImpl, RefPtrWillBeRawPtr<Node>* result);
     36         static bool nodeAttributeAttributeSetter(LocalFrame* frame, TestObject* holderImpl, PassRefPtrWillBeRawPtr<Node> cppValue);
     37         static bool attributeForPrivateScriptOnlyAttributeGetter(LocalFrame* frame, TestObject* holderImpl, String* result);
     38         static bool attributeForPrivateScriptOnlyAttributeSetter(LocalFrame* frame, TestObject* holderImpl, String cppValue);
     39         static bool enumForPrivateScriptAttributeGetter(LocalFrame* frame, TestObject* holderImpl, String* result);
     40         static bool enumForPrivateScriptAttributeSetter(LocalFrame* frame, TestObject* holderImpl, String cppValue);
     41     };
     42 
     43     static bool hasInstance(v8::Handle<v8::Value>, v8::Isolate*);
     44     static v8::Handle<v8::Object> findInstanceInPrototypeChain(v8::Handle<v8::Value>, v8::Isolate*);
     45     static v8::Handle<v8::FunctionTemplate> domTemplate(v8::Isolate*);
     46     static TestObject* toImpl(v8::Handle<v8::Object> object)
     47     {
     48         return toImpl(blink::toScriptWrappableBase(object));
     49     }
     50     static TestObject* toImplWithTypeCheck(v8::Isolate*, v8::Handle<v8::Value>);
     51     static const WrapperTypeInfo wrapperTypeInfo;
     52     static void refObject(ScriptWrappableBase* internalPointer);
     53     static void derefObject(ScriptWrappableBase* internalPointer);
     54     static WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
     55     static void customVoidMethodMethodCustom(const v8::FunctionCallbackInfo<v8::Value>&);
     56 #if ENABLE(CONDITION)
     57     static void conditionalConditionCustomVoidMethodMethodCustom(const v8::FunctionCallbackInfo<v8::Value>&);
     58 #endif // ENABLE(CONDITION)
     59     static void customObjectAttributeAttributeGetterCustom(const v8::PropertyCallbackInfo<v8::Value>&);
     60     static void customObjectAttributeAttributeSetterCustom(v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&);
     61     static void customGetterLongAttributeAttributeGetterCustom(const v8::PropertyCallbackInfo<v8::Value>&);
     62     static void customGetterReadonlyObjectAttributeAttributeGetterCustom(const v8::PropertyCallbackInfo<v8::Value>&);
     63     static void customSetterLongAttributeAttributeSetterCustom(v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&);
     64 #if ENABLE(CONDITION)
     65     static void customLongAttributeAttributeGetterCustom(const v8::PropertyCallbackInfo<v8::Value>&);
     66 #endif // ENABLE(CONDITION)
     67 #if ENABLE(CONDITION)
     68     static void customLongAttributeAttributeSetterCustom(v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&);
     69 #endif // ENABLE(CONDITION)
     70     static void customImplementedAsLongAttributeAttributeGetterCustom(const v8::PropertyCallbackInfo<v8::Value>&);
     71     static void customImplementedAsLongAttributeAttributeSetterCustom(v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&);
     72     static void customGetterImplementedAsLongAttributeAttributeGetterCustom(const v8::PropertyCallbackInfo<v8::Value>&);
     73     static void customSetterImplementedAsLongAttributeAttributeSetterCustom(v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&);
     74     static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
     75     static inline ScriptWrappableBase* toScriptWrappableBase(TestObject* impl)
     76     {
     77         return impl->toScriptWrappableBase();
     78     }
     79 
     80     static inline TestObject* toImpl(ScriptWrappableBase* internalPointer)
     81     {
     82         return internalPointer->toImpl<TestObject>();
     83     }
     84     static void installConditionallyEnabledProperties(v8::Handle<v8::Object>, v8::Isolate*);
     85     static void installConditionallyEnabledMethods(v8::Handle<v8::Object>, v8::Isolate*);
     86 
     87 private:
     88 };
     89 
     90 inline v8::Handle<v8::Object> wrap(TestObject* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
     91 {
     92     return impl->wrap(creationContext, isolate);
     93 }
     94 
     95 inline v8::Handle<v8::Value> toV8(TestObject* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
     96 {
     97     if (UNLIKELY(!impl))
     98         return v8::Null(isolate);
     99     v8::Handle<v8::Value> wrapper = DOMDataStore::getWrapper<V8TestObject>(impl, isolate);
    100     if (!wrapper.IsEmpty())
    101         return wrapper;
    102 
    103     return impl->wrap(creationContext, isolate);
    104 }
    105 
    106 template<typename CallbackInfo>
    107 inline void v8SetReturnValue(const CallbackInfo& callbackInfo, TestObject* impl)
    108 {
    109     if (UNLIKELY(!impl)) {
    110         v8SetReturnValueNull(callbackInfo);
    111         return;
    112     }
    113     if (DOMDataStore::setReturnValueFromWrapper<V8TestObject>(callbackInfo.GetReturnValue(), impl))
    114         return;
    115     v8::Handle<v8::Object> wrapper = wrap(impl, callbackInfo.Holder(), callbackInfo.GetIsolate());
    116     v8SetReturnValue(callbackInfo, wrapper);
    117 }
    118 
    119 template<typename CallbackInfo>
    120 inline void v8SetReturnValueForMainWorld(const CallbackInfo& callbackInfo, TestObject* impl)
    121 {
    122     ASSERT(DOMWrapperWorld::current(callbackInfo.GetIsolate()).isMainWorld());
    123     if (UNLIKELY(!impl)) {
    124         v8SetReturnValueNull(callbackInfo);
    125         return;
    126     }
    127     if (DOMDataStore::setReturnValueFromWrapperForMainWorld<V8TestObject>(callbackInfo.GetReturnValue(), impl))
    128         return;
    129     v8::Handle<v8::Value> wrapper = wrap(impl, callbackInfo.Holder(), callbackInfo.GetIsolate());
    130     v8SetReturnValue(callbackInfo, wrapper);
    131 }
    132 
    133 template<class CallbackInfo, class Wrappable>
    134 inline void v8SetReturnValueFast(const CallbackInfo& callbackInfo, TestObject* impl, Wrappable* wrappable)
    135 {
    136     if (UNLIKELY(!impl)) {
    137         v8SetReturnValueNull(callbackInfo);
    138         return;
    139     }
    140     if (DOMDataStore::setReturnValueFromWrapperFast<V8TestObject>(callbackInfo.GetReturnValue(), impl, callbackInfo.Holder(), wrappable))
    141         return;
    142     v8::Handle<v8::Object> wrapper = wrap(impl, callbackInfo.Holder(), callbackInfo.GetIsolate());
    143     v8SetReturnValue(callbackInfo, wrapper);
    144 }
    145 
    146 inline v8::Handle<v8::Value> toV8(PassRefPtr<TestObject> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
    147 {
    148     return toV8(impl.get(), creationContext, isolate);
    149 }
    150 
    151 template<class CallbackInfo>
    152 inline void v8SetReturnValue(const CallbackInfo& callbackInfo, PassRefPtr<TestObject> impl)
    153 {
    154     v8SetReturnValue(callbackInfo, impl.get());
    155 }
    156 
    157 template<class CallbackInfo>
    158 inline void v8SetReturnValueForMainWorld(const CallbackInfo& callbackInfo, PassRefPtr<TestObject> impl)
    159 {
    160     v8SetReturnValueForMainWorld(callbackInfo, impl.get());
    161 }
    162 
    163 template<class CallbackInfo, class Wrappable>
    164 inline void v8SetReturnValueFast(const CallbackInfo& callbackInfo, PassRefPtr<TestObject> impl, Wrappable* wrappable)
    165 {
    166     v8SetReturnValueFast(callbackInfo, impl.get(), wrappable);
    167 }
    168 
    169 } // namespace blink
    170 #endif // V8TestObject_h
    171