summaryrefslogtreecommitdiffstats
path: root/WebCore/bindings/scripts/test/V8/V8TestObj.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/bindings/scripts/test/V8/V8TestObj.cpp')
-rw-r--r--WebCore/bindings/scripts/test/V8/V8TestObj.cpp1392
1 files changed, 0 insertions, 1392 deletions
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