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 V8TestInterface_h
      8 #define V8TestInterface_h
      9 
     10 #if ENABLE(CONDITION)
     11 #include "bindings/core/v8/ScriptWrappable.h"
     12 #include "bindings/core/v8/V8Binding.h"
     13 #include "bindings/core/v8/V8DOMWrapper.h"
     14 #include "bindings/core/v8/V8TestInterfaceEmpty.h"
     15 #include "bindings/core/v8/WrapperTypeInfo.h"
     16 #include "bindings/tests/idls/core/TestInterfaceImplementation.h"
     17 #include "platform/heap/Handle.h"
     18 
     19 namespace blink {
     20 
     21 class V8TestInterface {
     22 public:
     23     class PrivateScript {
     24     public:
     25         static bool shortMethodWithShortArgumentImplementedInPrivateScriptMethod(LocalFrame* frame, TestInterface* holderImpl, int value, int* result);
     26         static bool stringAttributeAttributeGetter(LocalFrame* frame, TestInterfaceImplementation* holderImpl, String* result);
     27         static bool stringAttributeAttributeSetter(LocalFrame* frame, TestInterfaceImplementation* holderImpl, String cppValue);
     28     };
     29 
     30     static bool hasInstance(v8::Handle<v8::Value>, v8::Isolate*);
     31     static v8::Handle<v8::Object> findInstanceInPrototypeChain(v8::Handle<v8::Value>, v8::Isolate*);
     32     static v8::Handle<v8::FunctionTemplate> domTemplate(v8::Isolate*);
     33     static TestInterfaceImplementation* toImpl(v8::Handle<v8::Object> object)
     34     {
     35         return toImpl(blink::toScriptWrappableBase(object));
     36     }
     37     static TestInterfaceImplementation* toImplWithTypeCheck(v8::Isolate*, v8::Handle<v8::Value>);
     38     static const WrapperTypeInfo wrapperTypeInfo;
     39     static void refObject(ScriptWrappableBase* internalPointer);
     40     static void derefObject(ScriptWrappableBase* internalPointer);
     41     static WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
     42     static void visitDOMWrapper(ScriptWrappableBase* internalPointer, const v8::Persistent<v8::Object>&, v8::Isolate*);
     43     static ActiveDOMObject* toActiveDOMObject(v8::Handle<v8::Object>);
     44     static void implementsCustomVoidMethodMethodCustom(const v8::FunctionCallbackInfo<v8::Value>&);
     45     static void legacyCallCustom(const v8::FunctionCallbackInfo<v8::Value>&);
     46     static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
     47     static inline ScriptWrappableBase* toScriptWrappableBase(TestInterfaceImplementation* impl)
     48     {
     49         return impl->toScriptWrappableBase();
     50     }
     51 
     52     static inline TestInterfaceImplementation* toImpl(ScriptWrappableBase* internalPointer)
     53     {
     54         return internalPointer->toImpl<TestInterfaceImplementation>();
     55     }
     56     static void installConditionallyEnabledProperties(v8::Handle<v8::Object>, v8::Isolate*);
     57     static void installConditionallyEnabledMethods(v8::Handle<v8::Object>, v8::Isolate*);
     58 
     59 private:
     60 };
     61 
     62 class TestInterfaceImplementation;
     63 v8::Handle<v8::Value> toV8(TestInterfaceImplementation*, v8::Handle<v8::Object> creationContext, v8::Isolate*);
     64 
     65 template<class CallbackInfo>
     66 inline void v8SetReturnValue(const CallbackInfo& callbackInfo, TestInterfaceImplementation* impl)
     67 {
     68     v8SetReturnValue(callbackInfo, toV8(impl, callbackInfo.Holder(), callbackInfo.GetIsolate()));
     69 }
     70 
     71 template<class CallbackInfo>
     72 inline void v8SetReturnValueForMainWorld(const CallbackInfo& callbackInfo, TestInterfaceImplementation* impl)
     73 {
     74      v8SetReturnValue(callbackInfo, toV8(impl, callbackInfo.Holder(), callbackInfo.GetIsolate()));
     75 }
     76 
     77 template<class CallbackInfo, class Wrappable>
     78 inline void v8SetReturnValueFast(const CallbackInfo& callbackInfo, TestInterfaceImplementation* impl, Wrappable*)
     79 {
     80      v8SetReturnValue(callbackInfo, toV8(impl, callbackInfo.Holder(), callbackInfo.GetIsolate()));
     81 }
     82 
     83 inline v8::Handle<v8::Value> toV8(PassRefPtr<TestInterfaceImplementation> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
     84 {
     85     return toV8(impl.get(), creationContext, isolate);
     86 }
     87 
     88 template<class CallbackInfo>
     89 inline void v8SetReturnValue(const CallbackInfo& callbackInfo, PassRefPtr<TestInterfaceImplementation> impl)
     90 {
     91     v8SetReturnValue(callbackInfo, impl.get());
     92 }
     93 
     94 template<class CallbackInfo>
     95 inline void v8SetReturnValueForMainWorld(const CallbackInfo& callbackInfo, PassRefPtr<TestInterfaceImplementation> impl)
     96 {
     97     v8SetReturnValueForMainWorld(callbackInfo, impl.get());
     98 }
     99 
    100 template<class CallbackInfo, class Wrappable>
    101 inline void v8SetReturnValueFast(const CallbackInfo& callbackInfo, PassRefPtr<TestInterfaceImplementation> impl, Wrappable* wrappable)
    102 {
    103     v8SetReturnValueFast(callbackInfo, impl.get(), wrappable);
    104 }
    105 
    106 } // namespace blink
    107 #endif // ENABLE(CONDITION)
    108 #endif // V8TestInterface_h
    109