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 V8TestInterfaceNode_h 8 #define V8TestInterfaceNode_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/TestInterfaceNode.h" 16 #include "platform/heap/Handle.h" 17 18 namespace blink { 19 20 class V8TestInterfaceNode { 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 TestInterfaceNode* toImpl(v8::Handle<v8::Object> object) 26 { 27 return toImpl(blink::toScriptWrappableBase(object)); 28 } 29 static TestInterfaceNode* 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 #if ENABLE(OILPAN) 36 static const int persistentHandleIndex = v8DefaultWrapperInternalFieldCount + 0; 37 static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0 + 1; 38 #else 39 static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0; 40 #endif 41 static inline ScriptWrappableBase* toScriptWrappableBase(TestInterfaceNode* impl) 42 { 43 return impl->toScriptWrappableBase(); 44 } 45 46 static inline TestInterfaceNode* toImpl(ScriptWrappableBase* internalPointer) 47 { 48 return internalPointer->toImpl<TestInterfaceNode>(); 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(TestInterfaceNode* 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(TestInterfaceNode* 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<V8TestInterfaceNode>(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, TestInterfaceNode* impl) 74 { 75 if (UNLIKELY(!impl)) { 76 v8SetReturnValueNull(callbackInfo); 77 return; 78 } 79 if (DOMDataStore::setReturnValueFromWrapper<V8TestInterfaceNode>(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, TestInterfaceNode* impl) 87 { 88 ASSERT(DOMWrapperWorld::current(callbackInfo.GetIsolate()).isMainWorld()); 89 if (UNLIKELY(!impl)) { 90 v8SetReturnValueNull(callbackInfo); 91 return; 92 } 93 if (DOMDataStore::setReturnValueFromWrapperForMainWorld<V8TestInterfaceNode>(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, TestInterfaceNode* impl, Wrappable* wrappable) 101 { 102 if (UNLIKELY(!impl)) { 103 v8SetReturnValueNull(callbackInfo); 104 return; 105 } 106 if (DOMDataStore::setReturnValueFromWrapperFast<V8TestInterfaceNode>(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(PassRefPtrWillBeRawPtr<TestInterfaceNode> 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, PassRefPtrWillBeRawPtr<TestInterfaceNode> impl) 119 { 120 v8SetReturnValue(callbackInfo, impl.get()); 121 } 122 123 template<class CallbackInfo> 124 inline void v8SetReturnValueForMainWorld(const CallbackInfo& callbackInfo, PassRefPtrWillBeRawPtr<TestInterfaceNode> impl) 125 { 126 v8SetReturnValueForMainWorld(callbackInfo, impl.get()); 127 } 128 129 template<class CallbackInfo, class Wrappable> 130 inline void v8SetReturnValueFast(const CallbackInfo& callbackInfo, PassRefPtrWillBeRawPtr<TestInterfaceNode> impl, Wrappable* wrappable) 131 { 132 v8SetReturnValueFast(callbackInfo, impl.get(), wrappable); 133 } 134 135 } // namespace blink 136 #endif // V8TestInterfaceNode_h 137