diff options
Diffstat (limited to 'WebCore/bindings/scripts/test/V8')
-rw-r--r-- | WebCore/bindings/scripts/test/V8/V8TestCallback.cpp | 113 | ||||
-rw-r--r-- | WebCore/bindings/scripts/test/V8/V8TestCallback.h | 64 | ||||
-rw-r--r-- | WebCore/bindings/scripts/test/V8/V8TestInterface.cpp | 99 | ||||
-rw-r--r-- | WebCore/bindings/scripts/test/V8/V8TestInterface.h | 77 | ||||
-rw-r--r-- | WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp | 106 | ||||
-rw-r--r-- | WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.h | 72 | ||||
-rw-r--r-- | WebCore/bindings/scripts/test/V8/V8TestObj.cpp | 1392 | ||||
-rw-r--r-- | WebCore/bindings/scripts/test/V8/V8TestObj.h | 76 |
8 files changed, 0 insertions, 1999 deletions
diff --git a/WebCore/bindings/scripts/test/V8/V8TestCallback.cpp b/WebCore/bindings/scripts/test/V8/V8TestCallback.cpp deleted file mode 100644 index c286c24..0000000 --- a/WebCore/bindings/scripts/test/V8/V8TestCallback.cpp +++ /dev/null @@ -1,113 +0,0 @@ -/* - This file is part of the WebKit open source project. - This file has been generated by generate-bindings.pl. DO NOT MODIFY! - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. -*/ - -#include "config.h" -#include "V8TestCallback.h" - -#if ENABLE(DATABASE) - -#include "ScriptExecutionContext.h" -#include "V8Class1.h" -#include "V8Class2.h" -#include "V8CustomVoidCallback.h" -#include "V8DOMString.h" -#include "V8Proxy.h" - -#include <wtf/Assertions.h> - -namespace WebCore { - -V8TestCallback::V8TestCallback(v8::Local<v8::Object> callback, ScriptExecutionContext* context) - : ActiveDOMCallback(context) - , m_callback(v8::Persistent<v8::Object>::New(callback)) - , m_worldContext(UseCurrentWorld) -{ -} - -V8TestCallback::~V8TestCallback() -{ - m_callback.Dispose(); -} - -// Functions - -bool V8TestCallback::callbackWithClass1Param(Class1* class1Param) -{ - if (!canInvokeCallback()) - return true; - - v8::HandleScope handleScope; - - v8::Handle<v8::Context> v8Context = toV8Context(scriptExecutionContext(), m_worldContext); - if (v8Context.IsEmpty()) - return true; - - v8::Context::Scope scope(v8Context); - - v8::Handle<v8::Value> class1ParamHandle = toV8(class1Param); - if (class1ParamHandle.IsEmpty()) { - CRASH(); - return true; - } - - v8::Handle<v8::Value> argv[] = { - class1ParamHandle - }; - - bool callbackReturnValue = false; - return !invokeCallback(m_callback, 1, argv, callbackReturnValue, scriptExecutionContext()); -} - -bool V8TestCallback::callbackWithClass2Param(Class2* class2Param, const String& strArg) -{ - if (!canInvokeCallback()) - return true; - - v8::HandleScope handleScope; - - v8::Handle<v8::Context> v8Context = toV8Context(scriptExecutionContext(), m_worldContext); - if (v8Context.IsEmpty()) - return true; - - v8::Context::Scope scope(v8Context); - - v8::Handle<v8::Value> class2ParamHandle = toV8(class2Param); - if (class2ParamHandle.IsEmpty()) { - CRASH(); - return true; - } - v8::Handle<v8::Value> strArgHandle = toV8(strArg); - if (strArgHandle.IsEmpty()) { - CRASH(); - return true; - } - - v8::Handle<v8::Value> argv[] = { - class2ParamHandle, - strArgHandle - }; - - bool callbackReturnValue = false; - return !invokeCallback(m_callback, 2, argv, callbackReturnValue, scriptExecutionContext()); -} - -} // namespace WebCore - -#endif // ENABLE(DATABASE) diff --git a/WebCore/bindings/scripts/test/V8/V8TestCallback.h b/WebCore/bindings/scripts/test/V8/V8TestCallback.h deleted file mode 100644 index a105d75..0000000 --- a/WebCore/bindings/scripts/test/V8/V8TestCallback.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - This file is part of the WebKit open source project. - This file has been generated by generate-bindings.pl. DO NOT MODIFY! - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. -*/ - -#if ENABLE(DATABASE) - -#ifndef V8TestCallback_h -#define V8TestCallback_h - -#include "ActiveDOMCallback.h" -#include "TestCallback.h" -#include "WorldContextHandle.h" -#include <v8.h> -#include <wtf/Forward.h> - -namespace WebCore { - -class ScriptExecutionContext; - -class V8TestCallback : public TestCallback, public ActiveDOMCallback { -public: - static PassRefPtr<V8TestCallback> create(v8::Local<v8::Value> value, ScriptExecutionContext* context) - { - ASSERT(value->IsObject()); - ASSERT(context); - return adoptRef(new V8TestCallback(value->ToObject(), context)); - } - - virtual ~V8TestCallback(); - - // Functions - virtual bool callbackWithClass1Param(Class1* class1Param); - virtual bool callbackWithClass2Param(Class2* class2Param, const String& strArg); - COMPILE_ASSERT(false) virtual int callbackWithNonBoolReturnType(Class3* class3Param); - virtual int customCallback(Class5* class5Param, Class6* class6Param); - -private: - V8TestCallback(v8::Local<v8::Object>, ScriptExecutionContext*); - - v8::Persistent<v8::Object> m_callback; - WorldContextHandle m_worldContext; -}; - -} - -#endif // V8TestCallback_h - -#endif // ENABLE(DATABASE) diff --git a/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp b/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp deleted file mode 100644 index 267f1f0..0000000 --- a/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp +++ /dev/null @@ -1,99 +0,0 @@ -/* - This file is part of the WebKit open source project. - This file has been generated by generate-bindings.pl. DO NOT MODIFY! - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. -*/ - -#include "config.h" -#include "V8TestInterface.h" - -#if ENABLE(Condition1) || ENABLE(Condition2) - -#include "RuntimeEnabledFeatures.h" -#include "V8Binding.h" -#include "V8BindingState.h" -#include "V8DOMWrapper.h" -#include "V8IsolatedContext.h" -#include "V8Proxy.h" - -namespace WebCore { - -WrapperTypeInfo V8TestInterface::info = { V8TestInterface::GetTemplate, V8TestInterface::derefObject, 0 }; - -namespace TestInterfaceInternal { - -template <typename T> void V8_USE(T) { } - -} // namespace TestInterfaceInternal - -v8::Handle<v8::Value> V8TestInterface::constructorCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestInterface.Contructor"); - return V8Proxy::constructDOMObjectWithScriptExecutionContext<TestInterface>(args, &info); -} -static v8::Persistent<v8::FunctionTemplate> ConfigureV8TestInterfaceTemplate(v8::Persistent<v8::FunctionTemplate> desc) -{ - v8::Local<v8::Signature> defaultSignature = configureTemplate(desc, "TestInterface", v8::Persistent<v8::FunctionTemplate>(), V8TestInterface::internalFieldCount, - 0, 0, - 0, 0); - desc->SetCallHandler(V8TestInterface::constructorCallback); - - - // Custom toString template - desc->Set(getToStringName(), getToStringTemplate()); - return desc; -} - -v8::Persistent<v8::FunctionTemplate> V8TestInterface::GetRawTemplate() -{ - static v8::Persistent<v8::FunctionTemplate> V8TestInterfaceRawCache = createRawTemplate(); - return V8TestInterfaceRawCache; -} - -v8::Persistent<v8::FunctionTemplate> V8TestInterface::GetTemplate() -{ - static v8::Persistent<v8::FunctionTemplate> V8TestInterfaceCache = ConfigureV8TestInterfaceTemplate(GetRawTemplate()); - return V8TestInterfaceCache; -} - -bool V8TestInterface::HasInstance(v8::Handle<v8::Value> value) -{ - return GetRawTemplate()->HasInstance(value); -} - - -v8::Handle<v8::Object> V8TestInterface::wrapSlow(TestInterface* impl) -{ - v8::Handle<v8::Object> wrapper; - V8Proxy* proxy = 0; - wrapper = V8DOMWrapper::instantiateV8Object(proxy, &info, impl); - if (wrapper.IsEmpty()) - return wrapper; - - impl->ref(); - getDOMObjectMap().set(impl, v8::Persistent<v8::Object>::New(wrapper)); - return wrapper; -} - -void V8TestInterface::derefObject(void* object) -{ - static_cast<TestInterface*>(object)->deref(); -} - -} // namespace WebCore - -#endif // ENABLE(Condition1) || ENABLE(Condition2) diff --git a/WebCore/bindings/scripts/test/V8/V8TestInterface.h b/WebCore/bindings/scripts/test/V8/V8TestInterface.h deleted file mode 100644 index c1e319b..0000000 --- a/WebCore/bindings/scripts/test/V8/V8TestInterface.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - This file is part of the WebKit open source project. - This file has been generated by generate-bindings.pl. DO NOT MODIFY! - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. -*/ - -#if ENABLE(Condition1) || ENABLE(Condition2) - -#ifndef V8TestInterface_h -#define V8TestInterface_h - -#include "TestInterface.h" -#include "V8DOMWrapper.h" -#include "WrapperTypeInfo.h" -#include "wtf/text/StringHash.h" -#include <v8.h> -#include <wtf/HashMap.h> - -namespace WebCore { - -class V8TestInterface { - -public: - static bool HasInstance(v8::Handle<v8::Value> value); - static v8::Persistent<v8::FunctionTemplate> GetRawTemplate(); - static v8::Persistent<v8::FunctionTemplate> GetTemplate(); - static TestInterface* toNative(v8::Handle<v8::Object> object) - { - return reinterpret_cast<TestInterface*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex)); - } - inline static v8::Handle<v8::Object> wrap(TestInterface*); - static void derefObject(void*); - static WrapperTypeInfo info; - static v8::Handle<v8::Value> constructorCallback(const v8::Arguments& args); - static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0; -private: - static v8::Handle<v8::Object> wrapSlow(TestInterface*); -}; - - -v8::Handle<v8::Object> V8TestInterface::wrap(TestInterface* impl) -{ - v8::Handle<v8::Object> wrapper = getDOMObjectMap().get(impl); - if (!wrapper.IsEmpty()) - return wrapper; - return V8TestInterface::wrapSlow(impl); -} - -inline v8::Handle<v8::Value> toV8(TestInterface* impl) -{ - if (!impl) - return v8::Null(); - return V8TestInterface::wrap(impl); -} -inline v8::Handle<v8::Value> toV8(PassRefPtr< TestInterface > impl) -{ - return toV8(impl.get()); -} -} - -#endif // V8TestInterface_h -#endif // ENABLE(Condition1) || ENABLE(Condition2) - diff --git a/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp b/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp deleted file mode 100644 index ab9e6db..0000000 --- a/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp +++ /dev/null @@ -1,106 +0,0 @@ -/* - This file is part of the WebKit open source project. - This file has been generated by generate-bindings.pl. DO NOT MODIFY! - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. -*/ - -#include "config.h" -#include "V8TestMediaQueryListListener.h" - -#include "ExceptionCode.h" -#include "MediaQueryListListener.h" -#include "RuntimeEnabledFeatures.h" -#include "V8Binding.h" -#include "V8BindingMacros.h" -#include "V8BindingState.h" -#include "V8DOMWrapper.h" -#include "V8IsolatedContext.h" -#include "V8Proxy.h" - -namespace WebCore { - -WrapperTypeInfo V8TestMediaQueryListListener::info = { V8TestMediaQueryListListener::GetTemplate, V8TestMediaQueryListListener::derefObject, 0 }; - -namespace TestMediaQueryListListenerInternal { - -template <typename T> void V8_USE(T) { } - -static v8::Handle<v8::Value> methodCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestMediaQueryListListener.method"); - TestMediaQueryListListener* imp = V8TestMediaQueryListListener::toNative(args.Holder()); - EXCEPTION_BLOCK(RefPtr<MediaQueryListListener>, listener, MediaQueryListListener::create(args[0])); - imp->method(listener); - return v8::Handle<v8::Value>(); -} - -} // namespace TestMediaQueryListListenerInternal - -static const BatchedCallback TestMediaQueryListListenerCallbacks[] = { - {"method", TestMediaQueryListListenerInternal::methodCallback}, -}; -static v8::Persistent<v8::FunctionTemplate> ConfigureV8TestMediaQueryListListenerTemplate(v8::Persistent<v8::FunctionTemplate> desc) -{ - v8::Local<v8::Signature> defaultSignature = configureTemplate(desc, "TestMediaQueryListListener", v8::Persistent<v8::FunctionTemplate>(), V8TestMediaQueryListListener::internalFieldCount, - 0, 0, - TestMediaQueryListListenerCallbacks, WTF_ARRAY_LENGTH(TestMediaQueryListListenerCallbacks)); - v8::Local<v8::ObjectTemplate> instance = desc->InstanceTemplate(); - v8::Local<v8::ObjectTemplate> proto = desc->PrototypeTemplate(); - - - // Custom toString template - desc->Set(getToStringName(), getToStringTemplate()); - return desc; -} - -v8::Persistent<v8::FunctionTemplate> V8TestMediaQueryListListener::GetRawTemplate() -{ - static v8::Persistent<v8::FunctionTemplate> V8TestMediaQueryListListenerRawCache = createRawTemplate(); - return V8TestMediaQueryListListenerRawCache; -} - -v8::Persistent<v8::FunctionTemplate> V8TestMediaQueryListListener::GetTemplate() -{ - static v8::Persistent<v8::FunctionTemplate> V8TestMediaQueryListListenerCache = ConfigureV8TestMediaQueryListListenerTemplate(GetRawTemplate()); - return V8TestMediaQueryListListenerCache; -} - -bool V8TestMediaQueryListListener::HasInstance(v8::Handle<v8::Value> value) -{ - return GetRawTemplate()->HasInstance(value); -} - - -v8::Handle<v8::Object> V8TestMediaQueryListListener::wrapSlow(TestMediaQueryListListener* impl) -{ - v8::Handle<v8::Object> wrapper; - V8Proxy* proxy = 0; - wrapper = V8DOMWrapper::instantiateV8Object(proxy, &info, impl); - if (wrapper.IsEmpty()) - return wrapper; - - impl->ref(); - getDOMObjectMap().set(impl, v8::Persistent<v8::Object>::New(wrapper)); - return wrapper; -} - -void V8TestMediaQueryListListener::derefObject(void* object) -{ - static_cast<TestMediaQueryListListener*>(object)->deref(); -} - -} // namespace WebCore diff --git a/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.h b/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.h deleted file mode 100644 index 908d9cd..0000000 --- a/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - This file is part of the WebKit open source project. - This file has been generated by generate-bindings.pl. DO NOT MODIFY! - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. -*/ - -#ifndef V8TestMediaQueryListListener_h -#define V8TestMediaQueryListListener_h - -#include "TestMediaQueryListListener.h" -#include "V8DOMWrapper.h" -#include "WrapperTypeInfo.h" -#include "wtf/text/StringHash.h" -#include <v8.h> -#include <wtf/HashMap.h> - -namespace WebCore { - -class V8TestMediaQueryListListener { - -public: - static bool HasInstance(v8::Handle<v8::Value> value); - static v8::Persistent<v8::FunctionTemplate> GetRawTemplate(); - static v8::Persistent<v8::FunctionTemplate> GetTemplate(); - static TestMediaQueryListListener* toNative(v8::Handle<v8::Object> object) - { - return reinterpret_cast<TestMediaQueryListListener*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex)); - } - inline static v8::Handle<v8::Object> wrap(TestMediaQueryListListener*); - static void derefObject(void*); - static WrapperTypeInfo info; - static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0; -private: - static v8::Handle<v8::Object> wrapSlow(TestMediaQueryListListener*); -}; - - -v8::Handle<v8::Object> V8TestMediaQueryListListener::wrap(TestMediaQueryListListener* impl) -{ - v8::Handle<v8::Object> wrapper = getDOMObjectMap().get(impl); - if (!wrapper.IsEmpty()) - return wrapper; - return V8TestMediaQueryListListener::wrapSlow(impl); -} - -inline v8::Handle<v8::Value> toV8(TestMediaQueryListListener* impl) -{ - if (!impl) - return v8::Null(); - return V8TestMediaQueryListListener::wrap(impl); -} -inline v8::Handle<v8::Value> toV8(PassRefPtr< TestMediaQueryListListener > impl) -{ - return toV8(impl.get()); -} -} - -#endif // V8TestMediaQueryListListener_h diff --git a/WebCore/bindings/scripts/test/V8/V8TestObj.cpp b/WebCore/bindings/scripts/test/V8/V8TestObj.cpp deleted file mode 100644 index 7a759a3..0000000 --- a/WebCore/bindings/scripts/test/V8/V8TestObj.cpp +++ /dev/null @@ -1,1392 +0,0 @@ -/* - This file is part of the WebKit open source project. - This file has been generated by generate-bindings.pl. DO NOT MODIFY! - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. -*/ - -#include "config.h" -#include "V8TestObj.h" - -#include "ExceptionCode.h" -#include "HTMLNames.h" -#include "IDBBindingUtilities.h" -#include "IDBKey.h" -#include "OptionsObject.h" -#include "RuntimeEnabledFeatures.h" -#include "ScriptArguments.h" -#include "ScriptCallStack.h" -#include "ScriptCallStackFactory.h" -#include "SerializedScriptValue.h" -#include "V8Binding.h" -#include "V8BindingMacros.h" -#include "V8BindingState.h" -#include "V8DOMWrapper.h" -#include "V8IsolatedContext.h" -#include "V8Proxy.h" -#include "V8TestCallback.h" -#include "V8int.h" -#include "V8log.h" -#include <wtf/GetPtr.h> -#include <wtf/RefCounted.h> -#include <wtf/RefPtr.h> - -namespace WebCore { - -WrapperTypeInfo V8TestObj::info = { V8TestObj::GetTemplate, V8TestObj::derefObject, 0 }; - -namespace TestObjInternal { - -template <typename T> void V8_USE(T) { } - -static v8::Handle<v8::Value> readOnlyIntAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.readOnlyIntAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8::Integer::New(imp->readOnlyIntAttr()); -} - -static v8::Handle<v8::Value> readOnlyStringAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.readOnlyStringAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8String(imp->readOnlyStringAttr()); -} - -static v8::Handle<v8::Value> readOnlyTestObjAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.readOnlyTestObjAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - RefPtr<TestObj> result = imp->readOnlyTestObjAttr(); - v8::Handle<v8::Value> wrapper = result.get() ? getDOMObjectMap().get(result.get()) : v8::Handle<v8::Value>(); - if (wrapper.IsEmpty()) { - wrapper = toV8(result.get()); - if (!wrapper.IsEmpty()) - V8DOMWrapper::setHiddenReference(info.Holder(), wrapper); - } - return wrapper; -} - -static v8::Handle<v8::Value> shortAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.shortAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8::Integer::New(imp->shortAttr()); -} - -static void shortAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.shortAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - int v = toInt32(value); - imp->setShortAttr(v); - return; -} - -static v8::Handle<v8::Value> unsignedShortAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.unsignedShortAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8::Integer::New(imp->unsignedShortAttr()); -} - -static void unsignedShortAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.unsignedShortAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - int v = toUInt32(value); - imp->setUnsignedShortAttr(v); - return; -} - -static v8::Handle<v8::Value> intAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.intAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8::Integer::New(imp->intAttr()); -} - -static void intAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.intAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - int v = toInt32(value); - imp->setIntAttr(v); - return; -} - -static v8::Handle<v8::Value> longLongAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.longLongAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8::Number::New(static_cast<double>(imp->longLongAttr())); -} - -static void longLongAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.longLongAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - long long v = toInt64(value); - imp->setLongLongAttr(WTF::getPtr(v)); - return; -} - -static v8::Handle<v8::Value> unsignedLongLongAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.unsignedLongLongAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8::Number::New(static_cast<double>(imp->unsignedLongLongAttr())); -} - -static void unsignedLongLongAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.unsignedLongLongAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - unsigned long long v = toInt64(value); - imp->setUnsignedLongLongAttr(WTF::getPtr(v)); - return; -} - -static v8::Handle<v8::Value> stringAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.stringAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8String(imp->stringAttr()); -} - -static void stringAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.stringAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - STRING_TO_V8PARAMETER_EXCEPTION_BLOCK_VOID(V8Parameter<>, v, value); - imp->setStringAttr(v); - return; -} - -static v8::Handle<v8::Value> testObjAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.testObjAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return toV8(imp->testObjAttr()); -} - -static void testObjAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.testObjAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - TestObj* v = V8TestObj::HasInstance(value) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0; - imp->setTestObjAttr(WTF::getPtr(v)); - return; -} - -static v8::Handle<v8::Value> XMLObjAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.XMLObjAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return toV8(imp->xmlObjAttr()); -} - -static void XMLObjAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.XMLObjAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - TestObj* v = V8TestObj::HasInstance(value) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0; - imp->setXMLObjAttr(WTF::getPtr(v)); - return; -} - -static v8::Handle<v8::Value> createAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.create._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8Boolean(imp->isCreate()); -} - -static void createAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.create._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - bool v = value->BooleanValue(); - imp->setCreate(v); - return; -} - -static v8::Handle<v8::Value> reflectedStringAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedStringAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8String(imp->getAttribute(WebCore::HTMLNames::reflectedstringattrAttr)); -} - -static void reflectedStringAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedStringAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - STRING_TO_V8PARAMETER_EXCEPTION_BLOCK_VOID(V8Parameter<WithNullCheck>, v, value); - imp->setAttribute(WebCore::HTMLNames::reflectedstringattrAttr, v); - return; -} - -static v8::Handle<v8::Value> reflectedIntegralAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedIntegralAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8::Integer::New(imp->getIntegralAttribute(WebCore::HTMLNames::reflectedintegralattrAttr)); -} - -static void reflectedIntegralAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedIntegralAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - int v = toInt32(value); - imp->setIntegralAttribute(WebCore::HTMLNames::reflectedintegralattrAttr, v); - return; -} - -static v8::Handle<v8::Value> reflectedUnsignedIntegralAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedUnsignedIntegralAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8::Integer::NewFromUnsigned(imp->getUnsignedIntegralAttribute(WebCore::HTMLNames::reflectedunsignedintegralattrAttr)); -} - -static void reflectedUnsignedIntegralAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedUnsignedIntegralAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - unsigned v = toUInt32(value); - imp->setUnsignedIntegralAttribute(WebCore::HTMLNames::reflectedunsignedintegralattrAttr, v); - return; -} - -static v8::Handle<v8::Value> reflectedBooleanAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedBooleanAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8Boolean(imp->hasAttribute(WebCore::HTMLNames::reflectedbooleanattrAttr)); -} - -static void reflectedBooleanAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedBooleanAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - bool v = value->BooleanValue(); - imp->setBooleanAttribute(WebCore::HTMLNames::reflectedbooleanattrAttr, v); - return; -} - -static v8::Handle<v8::Value> reflectedURLAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedURLAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8String(imp->getURLAttribute(WebCore::HTMLNames::reflectedurlattrAttr)); -} - -static void reflectedURLAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedURLAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - STRING_TO_V8PARAMETER_EXCEPTION_BLOCK_VOID(V8Parameter<WithNullCheck>, v, value); - imp->setAttribute(WebCore::HTMLNames::reflectedurlattrAttr, v); - return; -} - -static v8::Handle<v8::Value> reflectedNonEmptyURLAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedNonEmptyURLAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8String(imp->getNonEmptyURLAttribute(WebCore::HTMLNames::reflectednonemptyurlattrAttr)); -} - -static void reflectedNonEmptyURLAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedNonEmptyURLAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - STRING_TO_V8PARAMETER_EXCEPTION_BLOCK_VOID(V8Parameter<WithNullCheck>, v, value); - imp->setAttribute(WebCore::HTMLNames::reflectednonemptyurlattrAttr, v); - return; -} - -static v8::Handle<v8::Value> reflectedStringAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedStringAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8String(imp->getAttribute(WebCore::HTMLNames::customContentStringAttrAttr)); -} - -static void reflectedStringAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedStringAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - STRING_TO_V8PARAMETER_EXCEPTION_BLOCK_VOID(V8Parameter<WithNullCheck>, v, value); - imp->setAttribute(WebCore::HTMLNames::customContentStringAttrAttr, v); - return; -} - -static v8::Handle<v8::Value> reflectedCustomIntegralAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedCustomIntegralAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8::Integer::New(imp->getIntegralAttribute(WebCore::HTMLNames::customContentIntegralAttrAttr)); -} - -static void reflectedCustomIntegralAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedCustomIntegralAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - int v = toInt32(value); - imp->setIntegralAttribute(WebCore::HTMLNames::customContentIntegralAttrAttr, v); - return; -} - -static v8::Handle<v8::Value> reflectedCustomBooleanAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedCustomBooleanAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8Boolean(imp->hasAttribute(WebCore::HTMLNames::customContentBooleanAttrAttr)); -} - -static void reflectedCustomBooleanAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedCustomBooleanAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - bool v = value->BooleanValue(); - imp->setBooleanAttribute(WebCore::HTMLNames::customContentBooleanAttrAttr, v); - return; -} - -static v8::Handle<v8::Value> reflectedCustomURLAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedCustomURLAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8String(imp->getURLAttribute(WebCore::HTMLNames::customContentURLAttrAttr)); -} - -static void reflectedCustomURLAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedCustomURLAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - STRING_TO_V8PARAMETER_EXCEPTION_BLOCK_VOID(V8Parameter<WithNullCheck>, v, value); - imp->setAttribute(WebCore::HTMLNames::customContentURLAttrAttr, v); - return; -} - -static v8::Handle<v8::Value> reflectedCustomNonEmptyURLAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedCustomNonEmptyURLAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8String(imp->getNonEmptyURLAttribute(WebCore::HTMLNames::customContentNonEmptyURLAttrAttr)); -} - -static void reflectedCustomNonEmptyURLAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.reflectedCustomNonEmptyURLAttr._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - STRING_TO_V8PARAMETER_EXCEPTION_BLOCK_VOID(V8Parameter<WithNullCheck>, v, value); - imp->setAttribute(WebCore::HTMLNames::customContentNonEmptyURLAttrAttr, v); - return; -} - -static v8::Handle<v8::Value> attrWithGetterExceptionAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.attrWithGetterException._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - ExceptionCode ec = 0; - int v = imp->attrWithGetterException(ec); - if (UNLIKELY(ec)) { - V8Proxy::setDOMException(ec); - return v8::Handle<v8::Value>(); - } - return v8::Integer::New(v); -} - -static void attrWithGetterExceptionAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.attrWithGetterException._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - int v = toInt32(value); - ExceptionCode ec = 0; - imp->setAttrWithGetterException(v, ec); - if (UNLIKELY(ec)) - V8Proxy::setDOMException(ec); - return; -} - -static v8::Handle<v8::Value> attrWithSetterExceptionAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.attrWithSetterException._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8::Integer::New(imp->attrWithSetterException()); -} - -static void attrWithSetterExceptionAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.attrWithSetterException._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - int v = toInt32(value); - ExceptionCode ec = 0; - imp->setAttrWithSetterException(v, ec); - if (UNLIKELY(ec)) - V8Proxy::setDOMException(ec); - return; -} - -static v8::Handle<v8::Value> stringAttrWithGetterExceptionAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.stringAttrWithGetterException._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - ExceptionCode ec = 0; - String v = imp->stringAttrWithGetterException(ec); - if (UNLIKELY(ec)) { - V8Proxy::setDOMException(ec); - return v8::Handle<v8::Value>(); - } - return v8String(v); -} - -static void stringAttrWithGetterExceptionAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.stringAttrWithGetterException._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - STRING_TO_V8PARAMETER_EXCEPTION_BLOCK_VOID(V8Parameter<>, v, value); - ExceptionCode ec = 0; - imp->setStringAttrWithGetterException(v, ec); - if (UNLIKELY(ec)) - V8Proxy::setDOMException(ec); - return; -} - -static v8::Handle<v8::Value> stringAttrWithSetterExceptionAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.stringAttrWithSetterException._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8String(imp->stringAttrWithSetterException()); -} - -static void stringAttrWithSetterExceptionAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.stringAttrWithSetterException._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - STRING_TO_V8PARAMETER_EXCEPTION_BLOCK_VOID(V8Parameter<>, v, value); - ExceptionCode ec = 0; - imp->setStringAttrWithSetterException(v, ec); - if (UNLIKELY(ec)) - V8Proxy::setDOMException(ec); - return; -} - -static v8::Handle<v8::Value> scriptStringAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.scriptStringAttr._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8StringOrNull(imp->scriptStringAttr()); -} - -#if ENABLE(Condition1) - -static v8::Handle<v8::Value> conditionalAttr1AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.conditionalAttr1._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8::Integer::New(imp->conditionalAttr1()); -} - -#endif // ENABLE(Condition1) - -#if ENABLE(Condition1) - -static void conditionalAttr1AttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.conditionalAttr1._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - int v = toInt32(value); - imp->setConditionalAttr1(v); - return; -} - -#endif // ENABLE(Condition1) - -#if ENABLE(Condition1) && ENABLE(Condition2) - -static v8::Handle<v8::Value> conditionalAttr2AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.conditionalAttr2._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8::Integer::New(imp->conditionalAttr2()); -} - -#endif // ENABLE(Condition1) && ENABLE(Condition2) - -#if ENABLE(Condition1) && ENABLE(Condition2) - -static void conditionalAttr2AttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.conditionalAttr2._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - int v = toInt32(value); - imp->setConditionalAttr2(v); - return; -} - -#endif // ENABLE(Condition1) && ENABLE(Condition2) - -#if ENABLE(Condition1) || ENABLE(Condition2) - -static v8::Handle<v8::Value> conditionalAttr3AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.conditionalAttr3._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8::Integer::New(imp->conditionalAttr3()); -} - -#endif // ENABLE(Condition1) || ENABLE(Condition2) - -#if ENABLE(Condition1) || ENABLE(Condition2) - -static void conditionalAttr3AttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.conditionalAttr3._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - int v = toInt32(value); - imp->setConditionalAttr3(v); - return; -} - -#endif // ENABLE(Condition1) || ENABLE(Condition2) - -static v8::Handle<v8::Value> enabledAtRuntimeAttr1AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.enabledAtRuntimeAttr1._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8::Integer::New(imp->enabledAtRuntimeAttr1()); -} - -static void enabledAtRuntimeAttr1AttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.enabledAtRuntimeAttr1._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - int v = toInt32(value); - imp->setEnabledAtRuntimeAttr1(v); - return; -} - -static v8::Handle<v8::Value> enabledAtRuntimeAttr2AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.enabledAtRuntimeAttr2._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8::Integer::New(imp->enabledAtRuntimeAttr2()); -} - -static void enabledAtRuntimeAttr2AttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.enabledAtRuntimeAttr2._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - int v = toInt32(value); - imp->setEnabledAtRuntimeAttr2(v); - return; -} - -static v8::Handle<v8::Value> descriptionAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.description._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8::Integer::New(imp->description()); -} - -static v8::Handle<v8::Value> idAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.id._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8::Integer::New(imp->id()); -} - -static void idAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.id._set"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - int v = toInt32(value); - imp->setId(v); - return; -} - -static v8::Handle<v8::Value> hashAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) -{ - INC_STATS("DOM.TestObj.hash._get"); - TestObj* imp = V8TestObj::toNative(info.Holder()); - return v8String(imp->hash()); -} - -static v8::Handle<v8::Value> voidMethodCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.voidMethod"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - imp->voidMethod(); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> voidMethodWithArgsCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.voidMethodWithArgs"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - EXCEPTION_BLOCK(int, intArg, toInt32(args[0])); - STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, args[1]); - EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(args[2]) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[2])) : 0); - imp->voidMethodWithArgs(intArg, strArg, objArg); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> intMethodCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.intMethod"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - return v8::Integer::New(imp->intMethod()); -} - -static v8::Handle<v8::Value> intMethodWithArgsCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.intMethodWithArgs"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - EXCEPTION_BLOCK(int, intArg, toInt32(args[0])); - STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, args[1]); - EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(args[2]) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[2])) : 0); - return v8::Integer::New(imp->intMethodWithArgs(intArg, strArg, objArg)); -} - -static v8::Handle<v8::Value> objMethodCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.objMethod"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - return toV8(imp->objMethod()); -} - -static v8::Handle<v8::Value> objMethodWithArgsCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.objMethodWithArgs"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - EXCEPTION_BLOCK(int, intArg, toInt32(args[0])); - STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, args[1]); - EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(args[2]) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[2])) : 0); - return toV8(imp->objMethodWithArgs(intArg, strArg, objArg)); -} - -static v8::Handle<v8::Value> methodThatRequiresAllArgsCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.methodThatRequiresAllArgs"); - if (args.Length() < 2) - return v8::Handle<v8::Value>(); - TestObj* imp = V8TestObj::toNative(args.Holder()); - STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, args[0]); - EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(args[1]) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[1])) : 0); - return toV8(imp->methodThatRequiresAllArgs(strArg, objArg)); -} - -static v8::Handle<v8::Value> methodThatRequiresAllArgsAndThrowsCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.methodThatRequiresAllArgsAndThrows"); - if (args.Length() < 2) - return throwError("Not enough arguments", V8Proxy::SyntaxError); - TestObj* imp = V8TestObj::toNative(args.Holder()); - ExceptionCode ec = 0; - { - STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, args[0]); - EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(args[1]) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[1])) : 0); - RefPtr<TestObj> result = imp->methodThatRequiresAllArgsAndThrows(strArg, objArg, ec); - if (UNLIKELY(ec)) - goto fail; - return toV8(result.release()); - } - fail: - V8Proxy::setDOMException(ec); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> serializedValueCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.serializedValue"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - bool serializedArgDidThrow = false; - RefPtr<SerializedScriptValue> serializedArg = SerializedScriptValue::create(args[0], serializedArgDidThrow); - if (serializedArgDidThrow) - return v8::Undefined(); - imp->serializedValue(serializedArg); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> idbKeyCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.idbKey"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - ExceptionCode ec = 0; - { - RefPtr<IDBKey> key = createIDBKeyFromValue(args[0]); - if (UNLIKELY(!key)) { - ec = TYPE_MISMATCH_ERR; - goto fail; - } - imp->idbKey(key); - return v8::Handle<v8::Value>(); - } - fail: - V8Proxy::setDOMException(ec); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> optionsObjectCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.optionsObject"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - EXCEPTION_BLOCK(OptionsObject, oo, args[0]); - if (args.Length() <= 1) { - imp->optionsObject(oo); - return v8::Handle<v8::Value>(); - } - EXCEPTION_BLOCK(OptionsObject, ooo, args[1]); - imp->optionsObject(oo, ooo); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> methodWithExceptionCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.methodWithException"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - ExceptionCode ec = 0; - { - imp->methodWithException(ec); - if (UNLIKELY(ec)) - goto fail; - return v8::Handle<v8::Value>(); - } - fail: - V8Proxy::setDOMException(ec); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> customArgsAndExceptionCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.customArgsAndException"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - ExceptionCode ec = 0; - { - RefPtr<ScriptArguments> scriptArguments(createScriptArguments(args, 1)); - size_t maxStackSize = imp->shouldCaptureFullStackTrace() ? ScriptCallStack::maxCallStackSizeToCapture : 1; - RefPtr<ScriptCallStack> callStack(createScriptCallStack(maxStackSize)); - if (!callStack) - return v8::Undefined(); - EXCEPTION_BLOCK(log*, intArg, V8log::HasInstance(args[0]) ? V8log::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); - imp->customArgsAndException(intArg, scriptArguments, callStack, ec); - if (UNLIKELY(ec)) - goto fail; - return v8::Handle<v8::Value>(); - } - fail: - V8Proxy::setDOMException(ec); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> addEventListenerCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.addEventListener()"); - RefPtr<EventListener> listener = V8DOMWrapper::getEventListener(args[1], false, ListenerFindOrCreate); - if (listener) { - V8TestObj::toNative(args.Holder())->addEventListener(v8ValueToAtomicWebCoreString(args[0]), listener, args[2]->BooleanValue()); - createHiddenDependency(args.Holder(), args[1], V8TestObj::eventListenerCacheIndex); - } - return v8::Undefined(); -} - -static v8::Handle<v8::Value> removeEventListenerCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.removeEventListener()"); - RefPtr<EventListener> listener = V8DOMWrapper::getEventListener(args[1], false, ListenerFindOnly); - if (listener) { - V8TestObj::toNative(args.Holder())->removeEventListener(v8ValueToAtomicWebCoreString(args[0]), listener.get(), args[2]->BooleanValue()); - removeHiddenDependency(args.Holder(), args[1], V8TestObj::eventListenerCacheIndex); - } - return v8::Undefined(); -} - -static v8::Handle<v8::Value> withDynamicFrameCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.withDynamicFrame"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - Frame* enteredFrame = V8Proxy::retrieveFrameForEnteredContext(); - if (!enteredFrame) - return v8::Undefined(); - imp->withDynamicFrame(enteredFrame); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> withDynamicFrameAndArgCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.withDynamicFrameAndArg"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - EXCEPTION_BLOCK(int, intArg, toInt32(args[0])); - Frame* enteredFrame = V8Proxy::retrieveFrameForEnteredContext(); - if (!enteredFrame) - return v8::Undefined(); - imp->withDynamicFrameAndArg(enteredFrame, intArg); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> withDynamicFrameAndOptionalArgCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.withDynamicFrameAndOptionalArg"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - EXCEPTION_BLOCK(int, intArg, toInt32(args[0])); - if (args.Length() <= 1) { - Frame* enteredFrame = V8Proxy::retrieveFrameForEnteredContext(); - if (!enteredFrame) - return v8::Undefined(); - imp->withDynamicFrameAndOptionalArg(enteredFrame, intArg); - return v8::Handle<v8::Value>(); - } - EXCEPTION_BLOCK(int, optionalArg, toInt32(args[1])); - Frame* enteredFrame = V8Proxy::retrieveFrameForEnteredContext(); - if (!enteredFrame) - return v8::Undefined(); - imp->withDynamicFrameAndOptionalArg(enteredFrame, intArg, optionalArg); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> withDynamicFrameAndUserGestureCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.withDynamicFrameAndUserGesture"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - EXCEPTION_BLOCK(int, intArg, toInt32(args[0])); - Frame* enteredFrame = V8Proxy::retrieveFrameForEnteredContext(); - if (!enteredFrame) - return v8::Undefined(); - imp->withDynamicFrameAndUserGesture(enteredFrame, intArg, processingUserGesture()); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> withDynamicFrameAndUserGestureASADCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.withDynamicFrameAndUserGestureASAD"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - EXCEPTION_BLOCK(int, intArg, toInt32(args[0])); - if (args.Length() <= 1) { - Frame* enteredFrame = V8Proxy::retrieveFrameForEnteredContext(); - if (!enteredFrame) - return v8::Undefined(); - imp->withDynamicFrameAndUserGestureASAD(enteredFrame, intArg, processingUserGesture()); - return v8::Handle<v8::Value>(); - } - EXCEPTION_BLOCK(int, optionalArg, toInt32(args[1])); - Frame* enteredFrame = V8Proxy::retrieveFrameForEnteredContext(); - if (!enteredFrame) - return v8::Undefined(); - imp->withDynamicFrameAndUserGestureASAD(enteredFrame, intArg, optionalArg, processingUserGesture()); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> withScriptStateVoidCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.withScriptStateVoid"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - EmptyScriptState state; - imp->withScriptStateVoid(&state); - if (state.hadException()) - return throwError(state.exception()); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> withScriptStateObjCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.withScriptStateObj"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - EmptyScriptState state; - RefPtr<TestObj> result = imp->withScriptStateObj(&state); - if (state.hadException()) - return throwError(state.exception()); - return toV8(result.release()); -} - -static v8::Handle<v8::Value> withScriptStateVoidExceptionCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.withScriptStateVoidException"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - ExceptionCode ec = 0; - { - EmptyScriptState state; - imp->withScriptStateVoidException(&state, ec); - if (UNLIKELY(ec)) - goto fail; - if (state.hadException()) - return throwError(state.exception()); - return v8::Handle<v8::Value>(); - } - fail: - V8Proxy::setDOMException(ec); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> withScriptStateObjExceptionCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.withScriptStateObjException"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - ExceptionCode ec = 0; - { - EmptyScriptState state; - RefPtr<TestObj> result = imp->withScriptStateObjException(&state, ec); - if (UNLIKELY(ec)) - goto fail; - if (state.hadException()) - return throwError(state.exception()); - return toV8(result.release()); - } - fail: - V8Proxy::setDOMException(ec); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> withScriptExecutionContextCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.withScriptExecutionContext"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - ScriptExecutionContext* scriptContext = getScriptExecutionContext(); - if (!scriptContext) - return v8::Undefined(); - imp->withScriptExecutionContext(scriptContext); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> methodWithOptionalArgCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.methodWithOptionalArg"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - if (args.Length() <= 0) { - imp->methodWithOptionalArg(); - return v8::Handle<v8::Value>(); - } - EXCEPTION_BLOCK(int, opt, toInt32(args[0])); - imp->methodWithOptionalArg(opt); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> methodWithNonOptionalArgAndOptionalArgCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.methodWithNonOptionalArgAndOptionalArg"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - EXCEPTION_BLOCK(int, nonOpt, toInt32(args[0])); - if (args.Length() <= 1) { - imp->methodWithNonOptionalArgAndOptionalArg(nonOpt); - return v8::Handle<v8::Value>(); - } - EXCEPTION_BLOCK(int, opt, toInt32(args[1])); - imp->methodWithNonOptionalArgAndOptionalArg(nonOpt, opt); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> methodWithNonOptionalArgAndTwoOptionalArgsCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.methodWithNonOptionalArgAndTwoOptionalArgs"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - EXCEPTION_BLOCK(int, nonOpt, toInt32(args[0])); - if (args.Length() <= 1) { - imp->methodWithNonOptionalArgAndTwoOptionalArgs(nonOpt); - return v8::Handle<v8::Value>(); - } - EXCEPTION_BLOCK(int, opt1, toInt32(args[1])); - EXCEPTION_BLOCK(int, opt2, toInt32(args[2])); - imp->methodWithNonOptionalArgAndTwoOptionalArgs(nonOpt, opt1, opt2); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> methodWithCallbackArgCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.methodWithCallbackArg"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - if (args.Length() <= 0 || !args[0]->IsObject()) - return throwError(TYPE_MISMATCH_ERR); - RefPtr<TestCallback> callback = V8TestCallback::create(args[0], getScriptExecutionContext()); - imp->methodWithCallbackArg(callback); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> methodWithNonCallbackArgAndCallbackArgCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.methodWithNonCallbackArgAndCallbackArg"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - EXCEPTION_BLOCK(int, nonCallback, toInt32(args[0])); - if (args.Length() <= 1 || !args[1]->IsObject()) - return throwError(TYPE_MISMATCH_ERR); - RefPtr<TestCallback> callback = V8TestCallback::create(args[1], getScriptExecutionContext()); - imp->methodWithNonCallbackArgAndCallbackArg(nonCallback, callback); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> methodWithCallbackAndOptionalArgCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.methodWithCallbackAndOptionalArg"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - RefPtr<TestCallback> callback; - if (args.Length() > 0 && !args[0]->IsNull() && !args[0]->IsUndefined()) { - if (!args[0]->IsObject()) - return throwError(TYPE_MISMATCH_ERR); - callback = V8TestCallback::create(args[0], getScriptExecutionContext()); - } - imp->methodWithCallbackAndOptionalArg(callback); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> overloadedMethod1Callback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.overloadedMethod1"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(args[0]) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); - STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, args[1]); - imp->overloadedMethod(objArg, strArg); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> overloadedMethod2Callback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.overloadedMethod2"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(args[0]) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); - if (args.Length() <= 1) { - imp->overloadedMethod(objArg); - return v8::Handle<v8::Value>(); - } - EXCEPTION_BLOCK(int, intArg, toInt32(args[1])); - imp->overloadedMethod(objArg, intArg); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> overloadedMethod3Callback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.overloadedMethod3"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, args[0]); - imp->overloadedMethod(strArg); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> overloadedMethod4Callback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.overloadedMethod4"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - EXCEPTION_BLOCK(int, intArg, toInt32(args[0])); - imp->overloadedMethod(intArg); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> overloadedMethod5Callback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.overloadedMethod5"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - if (args.Length() <= 0 || !args[0]->IsObject()) - return throwError(TYPE_MISMATCH_ERR); - RefPtr<TestCallback> callback = V8TestCallback::create(args[0], getScriptExecutionContext()); - imp->overloadedMethod(callback); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> overloadedMethodCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.overloadedMethod"); - if ((args.Length() == 2 && (args[0]->IsNull() || V8TestObj::HasInstance(args[0])) && (args[1]->IsNull() || args[1]->IsUndefined() || args[1]->IsString() || args[1]->IsObject()))) - return overloadedMethod1Callback(args); - if ((args.Length() == 1 && (args[0]->IsNull() || V8TestObj::HasInstance(args[0]))) || (args.Length() == 2 && (args[0]->IsNull() || V8TestObj::HasInstance(args[0])))) - return overloadedMethod2Callback(args); - if ((args.Length() == 1 && (args[0]->IsNull() || args[0]->IsUndefined() || args[0]->IsString() || args[0]->IsObject()))) - return overloadedMethod3Callback(args); - if (args.Length() == 1) - return overloadedMethod4Callback(args); - if ((args.Length() == 1 && (args[0]->IsNull() || args[0]->IsObject()))) - return overloadedMethod5Callback(args); - V8Proxy::throwTypeError(); - return notHandledByInterceptor(); -} - -static v8::Handle<v8::Value> classMethodCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.classMethod"); - TestObj::classMethod(); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> classMethodWithOptionalCallback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.classMethodWithOptional"); - if (args.Length() <= 0) { - return v8::Integer::New(TestObj::classMethodWithOptional()); - } - EXCEPTION_BLOCK(int, arg, toInt32(args[0])); - return v8::Integer::New(TestObj::classMethodWithOptional(arg)); -} - -static v8::Handle<v8::Value> enabledAtRuntimeMethod1Callback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.enabledAtRuntimeMethod1"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - EXCEPTION_BLOCK(int, intArg, V8int::HasInstance(args[0]) ? V8int::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); - imp->enabledAtRuntimeMethod1(intArg); - return v8::Handle<v8::Value>(); -} - -static v8::Handle<v8::Value> enabledAtRuntimeMethod2Callback(const v8::Arguments& args) -{ - INC_STATS("DOM.TestObj.enabledAtRuntimeMethod2"); - TestObj* imp = V8TestObj::toNative(args.Holder()); - EXCEPTION_BLOCK(int, intArg, V8int::HasInstance(args[0]) ? V8int::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); - imp->enabledAtRuntimeMethod2(intArg); - return v8::Handle<v8::Value>(); -} - -} // namespace TestObjInternal - -static const BatchedAttribute TestObjAttrs[] = { - // Attribute 'readOnlyIntAttr' (Type: 'readonly attribute' ExtAttr: '') - {"readOnlyIntAttr", TestObjInternal::readOnlyIntAttrAttrGetter, 0, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'readOnlyStringAttr' (Type: 'readonly attribute' ExtAttr: '') - {"readOnlyStringAttr", TestObjInternal::readOnlyStringAttrAttrGetter, 0, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'readOnlyTestObjAttr' (Type: 'readonly attribute' ExtAttr: '') - {"readOnlyTestObjAttr", TestObjInternal::readOnlyTestObjAttrAttrGetter, 0, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'shortAttr' (Type: 'attribute' ExtAttr: '') - {"shortAttr", TestObjInternal::shortAttrAttrGetter, TestObjInternal::shortAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'unsignedShortAttr' (Type: 'attribute' ExtAttr: '') - {"unsignedShortAttr", TestObjInternal::unsignedShortAttrAttrGetter, TestObjInternal::unsignedShortAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'intAttr' (Type: 'attribute' ExtAttr: '') - {"intAttr", TestObjInternal::intAttrAttrGetter, TestObjInternal::intAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'longLongAttr' (Type: 'attribute' ExtAttr: '') - {"longLongAttr", TestObjInternal::longLongAttrAttrGetter, TestObjInternal::longLongAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'unsignedLongLongAttr' (Type: 'attribute' ExtAttr: '') - {"unsignedLongLongAttr", TestObjInternal::unsignedLongLongAttrAttrGetter, TestObjInternal::unsignedLongLongAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'stringAttr' (Type: 'attribute' ExtAttr: '') - {"stringAttr", TestObjInternal::stringAttrAttrGetter, TestObjInternal::stringAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'testObjAttr' (Type: 'attribute' ExtAttr: '') - {"testObjAttr", TestObjInternal::testObjAttrAttrGetter, TestObjInternal::testObjAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'XMLObjAttr' (Type: 'attribute' ExtAttr: '') - {"XMLObjAttr", TestObjInternal::XMLObjAttrAttrGetter, TestObjInternal::XMLObjAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'create' (Type: 'attribute' ExtAttr: '') - {"create", TestObjInternal::createAttrGetter, TestObjInternal::createAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'reflectedStringAttr' (Type: 'attribute' ExtAttr: 'Reflect') - {"reflectedStringAttr", TestObjInternal::reflectedStringAttrAttrGetter, TestObjInternal::reflectedStringAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'reflectedIntegralAttr' (Type: 'attribute' ExtAttr: 'Reflect') - {"reflectedIntegralAttr", TestObjInternal::reflectedIntegralAttrAttrGetter, TestObjInternal::reflectedIntegralAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'reflectedUnsignedIntegralAttr' (Type: 'attribute' ExtAttr: 'Reflect') - {"reflectedUnsignedIntegralAttr", TestObjInternal::reflectedUnsignedIntegralAttrAttrGetter, TestObjInternal::reflectedUnsignedIntegralAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'reflectedBooleanAttr' (Type: 'attribute' ExtAttr: 'Reflect') - {"reflectedBooleanAttr", TestObjInternal::reflectedBooleanAttrAttrGetter, TestObjInternal::reflectedBooleanAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'reflectedURLAttr' (Type: 'attribute' ExtAttr: 'URL Reflect') - {"reflectedURLAttr", TestObjInternal::reflectedURLAttrAttrGetter, TestObjInternal::reflectedURLAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'reflectedNonEmptyURLAttr' (Type: 'attribute' ExtAttr: 'URL NonEmpty Reflect') - {"reflectedNonEmptyURLAttr", TestObjInternal::reflectedNonEmptyURLAttrAttrGetter, TestObjInternal::reflectedNonEmptyURLAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'reflectedStringAttr' (Type: 'attribute' ExtAttr: 'Reflect') - {"reflectedStringAttr", TestObjInternal::reflectedStringAttrAttrGetter, TestObjInternal::reflectedStringAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'reflectedCustomIntegralAttr' (Type: 'attribute' ExtAttr: 'Reflect') - {"reflectedCustomIntegralAttr", TestObjInternal::reflectedCustomIntegralAttrAttrGetter, TestObjInternal::reflectedCustomIntegralAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'reflectedCustomBooleanAttr' (Type: 'attribute' ExtAttr: 'Reflect') - {"reflectedCustomBooleanAttr", TestObjInternal::reflectedCustomBooleanAttrAttrGetter, TestObjInternal::reflectedCustomBooleanAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'reflectedCustomURLAttr' (Type: 'attribute' ExtAttr: 'URL Reflect') - {"reflectedCustomURLAttr", TestObjInternal::reflectedCustomURLAttrAttrGetter, TestObjInternal::reflectedCustomURLAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'reflectedCustomNonEmptyURLAttr' (Type: 'attribute' ExtAttr: 'URL NonEmpty Reflect') - {"reflectedCustomNonEmptyURLAttr", TestObjInternal::reflectedCustomNonEmptyURLAttrAttrGetter, TestObjInternal::reflectedCustomNonEmptyURLAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'attrWithGetterException' (Type: 'attribute' ExtAttr: '') - {"attrWithGetterException", TestObjInternal::attrWithGetterExceptionAttrGetter, TestObjInternal::attrWithGetterExceptionAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'attrWithSetterException' (Type: 'attribute' ExtAttr: '') - {"attrWithSetterException", TestObjInternal::attrWithSetterExceptionAttrGetter, TestObjInternal::attrWithSetterExceptionAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'stringAttrWithGetterException' (Type: 'attribute' ExtAttr: '') - {"stringAttrWithGetterException", TestObjInternal::stringAttrWithGetterExceptionAttrGetter, TestObjInternal::stringAttrWithGetterExceptionAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'stringAttrWithSetterException' (Type: 'attribute' ExtAttr: '') - {"stringAttrWithSetterException", TestObjInternal::stringAttrWithSetterExceptionAttrGetter, TestObjInternal::stringAttrWithSetterExceptionAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'customAttr' (Type: 'attribute' ExtAttr: 'Custom') - {"customAttr", V8TestObj::customAttrAccessorGetter, V8TestObj::customAttrAccessorSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'scriptStringAttr' (Type: 'readonly attribute' ExtAttr: 'ConvertScriptString') - {"scriptStringAttr", TestObjInternal::scriptStringAttrAttrGetter, 0, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, -#if ENABLE(Condition1) - // Attribute 'conditionalAttr1' (Type: 'attribute' ExtAttr: 'Conditional') - {"conditionalAttr1", TestObjInternal::conditionalAttr1AttrGetter, TestObjInternal::conditionalAttr1AttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, -#endif // ENABLE(Condition1) -#if ENABLE(Condition1) && ENABLE(Condition2) - // Attribute 'conditionalAttr2' (Type: 'attribute' ExtAttr: 'Conditional') - {"conditionalAttr2", TestObjInternal::conditionalAttr2AttrGetter, TestObjInternal::conditionalAttr2AttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, -#endif // ENABLE(Condition1) && ENABLE(Condition2) -#if ENABLE(Condition1) || ENABLE(Condition2) - // Attribute 'conditionalAttr3' (Type: 'attribute' ExtAttr: 'Conditional') - {"conditionalAttr3", TestObjInternal::conditionalAttr3AttrGetter, TestObjInternal::conditionalAttr3AttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, -#endif // ENABLE(Condition1) || ENABLE(Condition2) - // Attribute 'description' (Type: 'readonly attribute' ExtAttr: '') - {"description", TestObjInternal::descriptionAttrGetter, 0, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'id' (Type: 'attribute' ExtAttr: '') - {"id", TestObjInternal::idAttrGetter, TestObjInternal::idAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, - // Attribute 'hash' (Type: 'readonly attribute' ExtAttr: '') - {"hash", TestObjInternal::hashAttrGetter, 0, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, -}; -static const BatchedCallback TestObjCallbacks[] = { - {"voidMethod", TestObjInternal::voidMethodCallback}, - {"intMethod", TestObjInternal::intMethodCallback}, - {"objMethod", TestObjInternal::objMethodCallback}, - {"serializedValue", TestObjInternal::serializedValueCallback}, - {"idbKey", TestObjInternal::idbKeyCallback}, - {"optionsObject", TestObjInternal::optionsObjectCallback}, - {"methodWithException", TestObjInternal::methodWithExceptionCallback}, - {"customMethod", V8TestObj::customMethodCallback}, - {"customMethodWithArgs", V8TestObj::customMethodWithArgsCallback}, - {"addEventListener", TestObjInternal::addEventListenerCallback}, - {"removeEventListener", TestObjInternal::removeEventListenerCallback}, - {"withDynamicFrame", TestObjInternal::withDynamicFrameCallback}, - {"withDynamicFrameAndArg", TestObjInternal::withDynamicFrameAndArgCallback}, - {"withDynamicFrameAndOptionalArg", TestObjInternal::withDynamicFrameAndOptionalArgCallback}, - {"withDynamicFrameAndUserGesture", TestObjInternal::withDynamicFrameAndUserGestureCallback}, - {"withDynamicFrameAndUserGestureASAD", TestObjInternal::withDynamicFrameAndUserGestureASADCallback}, - {"withScriptStateVoid", TestObjInternal::withScriptStateVoidCallback}, - {"withScriptStateObj", TestObjInternal::withScriptStateObjCallback}, - {"withScriptStateVoidException", TestObjInternal::withScriptStateVoidExceptionCallback}, - {"withScriptStateObjException", TestObjInternal::withScriptStateObjExceptionCallback}, - {"withScriptExecutionContext", TestObjInternal::withScriptExecutionContextCallback}, - {"methodWithOptionalArg", TestObjInternal::methodWithOptionalArgCallback}, - {"methodWithNonOptionalArgAndOptionalArg", TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback}, - {"methodWithNonOptionalArgAndTwoOptionalArgs", TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback}, - {"methodWithCallbackArg", TestObjInternal::methodWithCallbackArgCallback}, - {"methodWithNonCallbackArgAndCallbackArg", TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback}, - {"methodWithCallbackAndOptionalArg", TestObjInternal::methodWithCallbackAndOptionalArgCallback}, - {"overloadedMethod", TestObjInternal::overloadedMethodCallback}, -}; -static const BatchedConstant TestObjConsts[] = { - {"CONST_VALUE_0", static_cast<signed int>(0)}, - {"CONST_VALUE_1", static_cast<signed int>(1)}, - {"CONST_VALUE_2", static_cast<signed int>(2)}, - {"CONST_VALUE_4", static_cast<signed int>(4)}, - {"CONST_VALUE_8", static_cast<signed int>(8)}, - {"CONST_VALUE_9", static_cast<signed int>(-1)}, - {"CONST_VALUE_10", static_cast<signed int>("my constant string")}, - {"CONST_VALUE_11", static_cast<signed int>(0xffffffff)}, - {"CONST_VALUE_12", static_cast<signed int>(0x01)}, - {"CONST_VALUE_13", static_cast<signed int>(0X20)}, - {"CONST_VALUE_14", static_cast<signed int>(0x1abc)}, -}; - -COMPILE_ASSERT(0 == TestObj::CONST_VALUE_0, TestObjEnumCONST_VALUE_0IsWrongUseDontCheckEnums); -COMPILE_ASSERT(1 == TestObj::CONST_VALUE_1, TestObjEnumCONST_VALUE_1IsWrongUseDontCheckEnums); -COMPILE_ASSERT(2 == TestObj::CONST_VALUE_2, TestObjEnumCONST_VALUE_2IsWrongUseDontCheckEnums); -COMPILE_ASSERT(4 == TestObj::CONST_VALUE_4, TestObjEnumCONST_VALUE_4IsWrongUseDontCheckEnums); -COMPILE_ASSERT(8 == TestObj::CONST_VALUE_8, TestObjEnumCONST_VALUE_8IsWrongUseDontCheckEnums); -COMPILE_ASSERT(-1 == TestObj::CONST_VALUE_9, TestObjEnumCONST_VALUE_9IsWrongUseDontCheckEnums); -COMPILE_ASSERT("my constant string" == TestObj::CONST_VALUE_10, TestObjEnumCONST_VALUE_10IsWrongUseDontCheckEnums); -COMPILE_ASSERT(0xffffffff == TestObj::CONST_VALUE_11, TestObjEnumCONST_VALUE_11IsWrongUseDontCheckEnums); -COMPILE_ASSERT(0x01 == TestObj::CONST_VALUE_12, TestObjEnumCONST_VALUE_12IsWrongUseDontCheckEnums); -COMPILE_ASSERT(0X20 == TestObj::CONST_VALUE_13, TestObjEnumCONST_VALUE_13IsWrongUseDontCheckEnums); -COMPILE_ASSERT(0x1abc == TestObj::CONST_VALUE_14, TestObjEnumCONST_VALUE_14IsWrongUseDontCheckEnums); - -static v8::Persistent<v8::FunctionTemplate> ConfigureV8TestObjTemplate(v8::Persistent<v8::FunctionTemplate> desc) -{ - v8::Local<v8::Signature> defaultSignature = configureTemplate(desc, "TestObj", v8::Persistent<v8::FunctionTemplate>(), V8TestObj::internalFieldCount, - TestObjAttrs, WTF_ARRAY_LENGTH(TestObjAttrs), - TestObjCallbacks, WTF_ARRAY_LENGTH(TestObjCallbacks)); - v8::Local<v8::ObjectTemplate> instance = desc->InstanceTemplate(); - v8::Local<v8::ObjectTemplate> proto = desc->PrototypeTemplate(); - - if (RuntimeEnabledFeatures::enabledAtRuntimeAttr1Enabled()) { - static const BatchedAttribute attrData =\ - // Attribute 'enabledAtRuntimeAttr1' (Type: 'attribute' ExtAttr: 'EnabledAtRuntime') - {"enabledAtRuntimeAttr1", TestObjInternal::enabledAtRuntimeAttr1AttrGetter, TestObjInternal::enabledAtRuntimeAttr1AttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}; - configureAttribute(instance, proto, attrData); - } - if (RuntimeEnabledFeatures::featureNameEnabled()) { - static const BatchedAttribute attrData =\ - // Attribute 'enabledAtRuntimeAttr2' (Type: 'attribute' ExtAttr: 'EnabledAtRuntime') - {"enabledAtRuntimeAttr2", TestObjInternal::enabledAtRuntimeAttr2AttrGetter, TestObjInternal::enabledAtRuntimeAttr2AttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}; - configureAttribute(instance, proto, attrData); - } - - // Custom Signature 'voidMethodWithArgs' - const int voidMethodWithArgsArgc = 3; - v8::Handle<v8::FunctionTemplate> voidMethodWithArgsArgv[voidMethodWithArgsArgc] = { v8::Handle<v8::FunctionTemplate>(), v8::Handle<v8::FunctionTemplate>(), V8TestObj::GetRawTemplate() }; - v8::Handle<v8::Signature> voidMethodWithArgsSignature = v8::Signature::New(desc, voidMethodWithArgsArgc, voidMethodWithArgsArgv); - proto->Set(v8::String::New("voidMethodWithArgs"), v8::FunctionTemplate::New(TestObjInternal::voidMethodWithArgsCallback, v8::Handle<v8::Value>(), voidMethodWithArgsSignature)); - - // Custom Signature 'intMethodWithArgs' - const int intMethodWithArgsArgc = 3; - v8::Handle<v8::FunctionTemplate> intMethodWithArgsArgv[intMethodWithArgsArgc] = { v8::Handle<v8::FunctionTemplate>(), v8::Handle<v8::FunctionTemplate>(), V8TestObj::GetRawTemplate() }; - v8::Handle<v8::Signature> intMethodWithArgsSignature = v8::Signature::New(desc, intMethodWithArgsArgc, intMethodWithArgsArgv); - proto->Set(v8::String::New("intMethodWithArgs"), v8::FunctionTemplate::New(TestObjInternal::intMethodWithArgsCallback, v8::Handle<v8::Value>(), intMethodWithArgsSignature)); - - // Custom Signature 'objMethodWithArgs' - const int objMethodWithArgsArgc = 3; - v8::Handle<v8::FunctionTemplate> objMethodWithArgsArgv[objMethodWithArgsArgc] = { v8::Handle<v8::FunctionTemplate>(), v8::Handle<v8::FunctionTemplate>(), V8TestObj::GetRawTemplate() }; - v8::Handle<v8::Signature> objMethodWithArgsSignature = v8::Signature::New(desc, objMethodWithArgsArgc, objMethodWithArgsArgv); - proto->Set(v8::String::New("objMethodWithArgs"), v8::FunctionTemplate::New(TestObjInternal::objMethodWithArgsCallback, v8::Handle<v8::Value>(), objMethodWithArgsSignature)); - - // Custom Signature 'methodThatRequiresAllArgs' - const int methodThatRequiresAllArgsArgc = 2; - v8::Handle<v8::FunctionTemplate> methodThatRequiresAllArgsArgv[methodThatRequiresAllArgsArgc] = { v8::Handle<v8::FunctionTemplate>(), V8TestObj::GetRawTemplate() }; - v8::Handle<v8::Signature> methodThatRequiresAllArgsSignature = v8::Signature::New(desc, methodThatRequiresAllArgsArgc, methodThatRequiresAllArgsArgv); - proto->Set(v8::String::New("methodThatRequiresAllArgs"), v8::FunctionTemplate::New(TestObjInternal::methodThatRequiresAllArgsCallback, v8::Handle<v8::Value>(), methodThatRequiresAllArgsSignature)); - - // Custom Signature 'methodThatRequiresAllArgsAndThrows' - const int methodThatRequiresAllArgsAndThrowsArgc = 2; - v8::Handle<v8::FunctionTemplate> methodThatRequiresAllArgsAndThrowsArgv[methodThatRequiresAllArgsAndThrowsArgc] = { v8::Handle<v8::FunctionTemplate>(), V8TestObj::GetRawTemplate() }; - v8::Handle<v8::Signature> methodThatRequiresAllArgsAndThrowsSignature = v8::Signature::New(desc, methodThatRequiresAllArgsAndThrowsArgc, methodThatRequiresAllArgsAndThrowsArgv); - proto->Set(v8::String::New("methodThatRequiresAllArgsAndThrows"), v8::FunctionTemplate::New(TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback, v8::Handle<v8::Value>(), methodThatRequiresAllArgsAndThrowsSignature)); - - // Custom Signature 'customArgsAndException' - const int customArgsAndExceptionArgc = 1; - v8::Handle<v8::FunctionTemplate> customArgsAndExceptionArgv[customArgsAndExceptionArgc] = { V8log::GetRawTemplate() }; - v8::Handle<v8::Signature> customArgsAndExceptionSignature = v8::Signature::New(desc, customArgsAndExceptionArgc, customArgsAndExceptionArgv); - proto->Set(v8::String::New("customArgsAndException"), v8::FunctionTemplate::New(TestObjInternal::customArgsAndExceptionCallback, v8::Handle<v8::Value>(), customArgsAndExceptionSignature)); - desc->Set(v8::String::New("classMethod"), v8::FunctionTemplate::New(TestObjInternal::classMethodCallback, v8::Handle<v8::Value>(), v8::Local<v8::Signature>())); - desc->Set(v8::String::New("classMethodWithOptional"), v8::FunctionTemplate::New(TestObjInternal::classMethodWithOptionalCallback, v8::Handle<v8::Value>(), v8::Local<v8::Signature>())); - if (RuntimeEnabledFeatures::enabledAtRuntimeMethod1Enabled()) - proto->Set(v8::String::New("enabledAtRuntimeMethod1"), v8::FunctionTemplate::New(TestObjInternal::enabledAtRuntimeMethod1Callback, v8::Handle<v8::Value>(), defaultSignature)); - if (RuntimeEnabledFeatures::featureNameEnabled()) - proto->Set(v8::String::New("enabledAtRuntimeMethod2"), v8::FunctionTemplate::New(TestObjInternal::enabledAtRuntimeMethod2Callback, v8::Handle<v8::Value>(), defaultSignature)); - batchConfigureConstants(desc, proto, TestObjConsts, WTF_ARRAY_LENGTH(TestObjConsts)); - - // Custom toString template - desc->Set(getToStringName(), getToStringTemplate()); - return desc; -} - -v8::Persistent<v8::FunctionTemplate> V8TestObj::GetRawTemplate() -{ - static v8::Persistent<v8::FunctionTemplate> V8TestObjRawCache = createRawTemplate(); - return V8TestObjRawCache; -} - -v8::Persistent<v8::FunctionTemplate> V8TestObj::GetTemplate() -{ - static v8::Persistent<v8::FunctionTemplate> V8TestObjCache = ConfigureV8TestObjTemplate(GetRawTemplate()); - return V8TestObjCache; -} - -bool V8TestObj::HasInstance(v8::Handle<v8::Value> value) -{ - return GetRawTemplate()->HasInstance(value); -} - - -v8::Handle<v8::Object> V8TestObj::wrapSlow(TestObj* impl) -{ - v8::Handle<v8::Object> wrapper; - V8Proxy* proxy = 0; - wrapper = V8DOMWrapper::instantiateV8Object(proxy, &info, impl); - if (wrapper.IsEmpty()) - return wrapper; - - impl->ref(); - getDOMObjectMap().set(impl, v8::Persistent<v8::Object>::New(wrapper)); - return wrapper; -} - -void V8TestObj::derefObject(void* object) -{ - static_cast<TestObj*>(object)->deref(); -} - -} // namespace WebCore diff --git a/WebCore/bindings/scripts/test/V8/V8TestObj.h b/WebCore/bindings/scripts/test/V8/V8TestObj.h deleted file mode 100644 index 1e60488..0000000 --- a/WebCore/bindings/scripts/test/V8/V8TestObj.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - This file is part of the WebKit open source project. - This file has been generated by generate-bindings.pl. DO NOT MODIFY! - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. -*/ - -#ifndef V8TestObj_h -#define V8TestObj_h - -#include "TestObj.h" -#include "V8DOMWrapper.h" -#include "WrapperTypeInfo.h" -#include "wtf/text/StringHash.h" -#include <v8.h> -#include <wtf/HashMap.h> - -namespace WebCore { - -class V8TestObj { - -public: - static bool HasInstance(v8::Handle<v8::Value> value); - static v8::Persistent<v8::FunctionTemplate> GetRawTemplate(); - static v8::Persistent<v8::FunctionTemplate> GetTemplate(); - static TestObj* toNative(v8::Handle<v8::Object> object) - { - return reinterpret_cast<TestObj*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex)); - } - inline static v8::Handle<v8::Object> wrap(TestObj*); - static void derefObject(void*); - static WrapperTypeInfo info; - static v8::Handle<v8::Value> customMethodCallback(const v8::Arguments&); - static v8::Handle<v8::Value> customMethodWithArgsCallback(const v8::Arguments&); - static v8::Handle<v8::Value> customAttrAccessorGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info); - static void customAttrAccessorSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info); - static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0; -private: - static v8::Handle<v8::Object> wrapSlow(TestObj*); -}; - - -v8::Handle<v8::Object> V8TestObj::wrap(TestObj* impl) -{ - v8::Handle<v8::Object> wrapper = getDOMObjectMap().get(impl); - if (!wrapper.IsEmpty()) - return wrapper; - return V8TestObj::wrapSlow(impl); -} - -inline v8::Handle<v8::Value> toV8(TestObj* impl) -{ - if (!impl) - return v8::Null(); - return V8TestObj::wrap(impl); -} -inline v8::Handle<v8::Value> toV8(PassRefPtr< TestObj > impl) -{ - return toV8(impl.get()); -} -} - -#endif // V8TestObj_h |