107a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 207a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 307a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch// found in the LICENSE file. 45c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 507a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch// This file has been auto-generated by code_generator_v8.py. DO NOT MODIFY! 65c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 77242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#ifndef V8TestInterface5_h 87242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#define V8TestInterface5_h 95c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 10f5f02c98d2d694be40c6182631462fff13b4a479Ben Murdoch#if ENABLE(CONDITION) 11e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)#include "bindings/core/v8/ScriptWrappable.h" 12197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#include "bindings/core/v8/V8Binding.h" 13197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#include "bindings/core/v8/V8DOMWrapper.h" 147242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#include "bindings/core/v8/V8TestInterfaceEmpty.h" 15197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#include "bindings/core/v8/WrapperTypeInfo.h" 167242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#include "bindings/tests/idls/modules/TestInterface5Implementation.h" 1710f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch#include "platform/heap/Handle.h" 185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 19c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink { 205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 217242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciclass V8TestInterface5 { 225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)public: 2309380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) static bool hasInstance(v8::Handle<v8::Value>, v8::Isolate*); 24d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) static v8::Handle<v8::Object> findInstanceInPrototypeChain(v8::Handle<v8::Value>, v8::Isolate*); 25d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) static v8::Handle<v8::FunctionTemplate> domTemplate(v8::Isolate*); 267242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci static TestInterface5Implementation* toImpl(v8::Handle<v8::Object> object) 275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) { 287242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci return toImpl(blink::toScriptWrappableBase(object)); 295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) } 307242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci static TestInterface5Implementation* toImplWithTypeCheck(v8::Isolate*, v8::Handle<v8::Value>); 31f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) static const WrapperTypeInfo wrapperTypeInfo; 327242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci static void refObject(ScriptWrappableBase* internalPointer); 33e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles) static void derefObject(ScriptWrappableBase* internalPointer); 347242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci static WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer); 35e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles) static void visitDOMWrapper(ScriptWrappableBase* internalPointer, const v8::Persistent<v8::Object>&, v8::Isolate*); 365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) static ActiveDOMObject* toActiveDOMObject(v8::Handle<v8::Object>); 37f5f02c98d2d694be40c6182631462fff13b4a479Ben Murdoch static void legacyCallCustom(const v8::FunctionCallbackInfo<v8::Value>&); 385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0; 397242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci static inline ScriptWrappableBase* toScriptWrappableBase(TestInterface5Implementation* impl) 40e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch { 417242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci return impl->toScriptWrappableBase(); 42e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch } 43e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch 447242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci static inline TestInterface5Implementation* toImpl(ScriptWrappableBase* internalPointer) 45e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch { 467242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci return internalPointer->toImpl<TestInterface5Implementation>(); 47e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch } 48e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles) static void installConditionallyEnabledProperties(v8::Handle<v8::Object>, v8::Isolate*); 49e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles) static void installConditionallyEnabledMethods(v8::Handle<v8::Object>, v8::Isolate*); 50c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)private: 525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}; 535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 547242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciclass TestInterface5Implementation; 557242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciv8::Handle<v8::Value> toV8(TestInterface5Implementation*, v8::Handle<v8::Object> creationContext, v8::Isolate*); 56926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 57f5f02c98d2d694be40c6182631462fff13b4a479Ben Murdochtemplate<class CallbackInfo> 587242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciinline void v8SetReturnValue(const CallbackInfo& callbackInfo, TestInterface5Implementation* impl) 59926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 60f5f02c98d2d694be40c6182631462fff13b4a479Ben Murdoch v8SetReturnValue(callbackInfo, toV8(impl, callbackInfo.Holder(), callbackInfo.GetIsolate())); 61e1f1df5f01594c0e62e751e4b46e779b85c2faa5Torne (Richard Coles)} 62e1f1df5f01594c0e62e751e4b46e779b85c2faa5Torne (Richard Coles) 63f5f02c98d2d694be40c6182631462fff13b4a479Ben Murdochtemplate<class CallbackInfo> 647242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciinline void v8SetReturnValueForMainWorld(const CallbackInfo& callbackInfo, TestInterface5Implementation* impl) 65e1f1df5f01594c0e62e751e4b46e779b85c2faa5Torne (Richard Coles){ 66f5f02c98d2d694be40c6182631462fff13b4a479Ben Murdoch v8SetReturnValue(callbackInfo, toV8(impl, callbackInfo.Holder(), callbackInfo.GetIsolate())); 67926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 68926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 69e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdochtemplate<class CallbackInfo, class Wrappable> 707242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciinline void v8SetReturnValueFast(const CallbackInfo& callbackInfo, TestInterface5Implementation* impl, Wrappable*) 71926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 72f5f02c98d2d694be40c6182631462fff13b4a479Ben Murdoch v8SetReturnValue(callbackInfo, toV8(impl, callbackInfo.Holder(), callbackInfo.GetIsolate())); 73926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 74926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 757242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciinline v8::Handle<v8::Value> toV8(PassRefPtr<TestInterface5Implementation> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate) 76926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 77e1f1df5f01594c0e62e751e4b46e779b85c2faa5Torne (Richard Coles) return toV8(impl.get(), creationContext, isolate); 78926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 79926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 80e1f1df5f01594c0e62e751e4b46e779b85c2faa5Torne (Richard Coles)template<class CallbackInfo> 817242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciinline void v8SetReturnValue(const CallbackInfo& callbackInfo, PassRefPtr<TestInterface5Implementation> impl) 82e1f1df5f01594c0e62e751e4b46e779b85c2faa5Torne (Richard Coles){ 83f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) v8SetReturnValue(callbackInfo, impl.get()); 84e1f1df5f01594c0e62e751e4b46e779b85c2faa5Torne (Richard Coles)} 85926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 86e1f1df5f01594c0e62e751e4b46e779b85c2faa5Torne (Richard Coles)template<class CallbackInfo> 877242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciinline void v8SetReturnValueForMainWorld(const CallbackInfo& callbackInfo, PassRefPtr<TestInterface5Implementation> impl) 88926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 89f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) v8SetReturnValueForMainWorld(callbackInfo, impl.get()); 90926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 91926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 92e1f1df5f01594c0e62e751e4b46e779b85c2faa5Torne (Richard Coles)template<class CallbackInfo, class Wrappable> 937242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciinline void v8SetReturnValueFast(const CallbackInfo& callbackInfo, PassRefPtr<TestInterface5Implementation> impl, Wrappable* wrappable) 945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){ 95e1f1df5f01594c0e62e751e4b46e779b85c2faa5Torne (Richard Coles) v8SetReturnValueFast(callbackInfo, impl.get(), wrappable); 965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 987242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci} // namespace blink 99f5f02c98d2d694be40c6182631462fff13b4a479Ben Murdoch#endif // ENABLE(CONDITION) 1007242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#endif // V8TestInterface5_h 101