diff -r 000000000000 -r 4f2f89ce4247 WebCore/generated/JSNavigator.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WebCore/generated/JSNavigator.cpp Fri Sep 17 09:02:29 2010 +0300 @@ -0,0 +1,302 @@ +/* + 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., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include "config.h" +#include "JSNavigator.h" + +#include "DOMMimeTypeArray.h" +#include "DOMPluginArray.h" +#include "Geolocation.h" +#include "JSDOMMimeTypeArray.h" +#include "JSDOMPluginArray.h" +#include "JSGeolocation.h" +#include "KURL.h" +#include "Navigator.h" +#include +#include +#include + +using namespace JSC; + +namespace WebCore { + +ASSERT_CLASS_FITS_IN_CELL(JSNavigator); + +/* Hash table */ +#if ENABLE(JIT) +#define THUNK_GENERATOR(generator) , generator +#else +#define THUNK_GENERATOR(generator) +#endif + +static const HashTableValue JSNavigatorTableValues[16] = +{ + { "appCodeName", DontDelete | ReadOnly, (intptr_t)static_cast(jsNavigatorAppCodeName), (intptr_t)0 THUNK_GENERATOR(0) }, + { "appName", DontDelete | ReadOnly, (intptr_t)static_cast(jsNavigatorAppName), (intptr_t)0 THUNK_GENERATOR(0) }, + { "appVersion", DontDelete | ReadOnly, (intptr_t)static_cast(jsNavigatorAppVersion), (intptr_t)0 THUNK_GENERATOR(0) }, + { "language", DontDelete | ReadOnly, (intptr_t)static_cast(jsNavigatorLanguage), (intptr_t)0 THUNK_GENERATOR(0) }, + { "userAgent", DontDelete | ReadOnly, (intptr_t)static_cast(jsNavigatorUserAgent), (intptr_t)0 THUNK_GENERATOR(0) }, + { "platform", DontDelete | ReadOnly, (intptr_t)static_cast(jsNavigatorPlatform), (intptr_t)0 THUNK_GENERATOR(0) }, + { "plugins", DontDelete | ReadOnly, (intptr_t)static_cast(jsNavigatorPlugins), (intptr_t)0 THUNK_GENERATOR(0) }, + { "mimeTypes", DontDelete | ReadOnly, (intptr_t)static_cast(jsNavigatorMimeTypes), (intptr_t)0 THUNK_GENERATOR(0) }, + { "product", DontDelete | ReadOnly, (intptr_t)static_cast(jsNavigatorProduct), (intptr_t)0 THUNK_GENERATOR(0) }, + { "productSub", DontDelete | ReadOnly, (intptr_t)static_cast(jsNavigatorProductSub), (intptr_t)0 THUNK_GENERATOR(0) }, + { "vendor", DontDelete | ReadOnly, (intptr_t)static_cast(jsNavigatorVendor), (intptr_t)0 THUNK_GENERATOR(0) }, + { "vendorSub", DontDelete | ReadOnly, (intptr_t)static_cast(jsNavigatorVendorSub), (intptr_t)0 THUNK_GENERATOR(0) }, + { "cookieEnabled", DontDelete | ReadOnly, (intptr_t)static_cast(jsNavigatorCookieEnabled), (intptr_t)0 THUNK_GENERATOR(0) }, + { "onLine", DontDelete | ReadOnly, (intptr_t)static_cast(jsNavigatorOnLine), (intptr_t)0 THUNK_GENERATOR(0) }, + { "geolocation", DontDelete | ReadOnly, (intptr_t)static_cast(jsNavigatorGeolocation), (intptr_t)0 THUNK_GENERATOR(0) }, + { 0, 0, 0, 0 THUNK_GENERATOR(0) } +}; + +#undef THUNK_GENERATOR +static JSC_CONST_HASHTABLE HashTable JSNavigatorTable = { 36, 31, JSNavigatorTableValues, 0 }; +/* Hash table for prototype */ +#if ENABLE(JIT) +#define THUNK_GENERATOR(generator) , generator +#else +#define THUNK_GENERATOR(generator) +#endif + +static const HashTableValue JSNavigatorPrototypeTableValues[3] = +{ + { "javaEnabled", DontDelete | Function, (intptr_t)static_cast(jsNavigatorPrototypeFunctionJavaEnabled), (intptr_t)0 THUNK_GENERATOR(0) }, + { "getStorageUpdates", DontDelete | Function, (intptr_t)static_cast(jsNavigatorPrototypeFunctionGetStorageUpdates), (intptr_t)0 THUNK_GENERATOR(0) }, + { 0, 0, 0, 0 THUNK_GENERATOR(0) } +}; + +#undef THUNK_GENERATOR +static JSC_CONST_HASHTABLE HashTable JSNavigatorPrototypeTable = { 4, 3, JSNavigatorPrototypeTableValues, 0 }; +const ClassInfo JSNavigatorPrototype::s_info = { "NavigatorPrototype", 0, &JSNavigatorPrototypeTable, 0 }; + +JSObject* JSNavigatorPrototype::self(ExecState* exec, JSGlobalObject* globalObject) +{ + return getDOMPrototype(exec, globalObject); +} + +bool JSNavigatorPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) +{ + return getStaticFunctionSlot(exec, &JSNavigatorPrototypeTable, this, propertyName, slot); +} + +bool JSNavigatorPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor) +{ + return getStaticFunctionDescriptor(exec, &JSNavigatorPrototypeTable, this, propertyName, descriptor); +} + +const ClassInfo JSNavigator::s_info = { "Navigator", 0, &JSNavigatorTable, 0 }; + +JSNavigator::JSNavigator(NonNullPassRefPtr structure, JSDOMGlobalObject* globalObject, PassRefPtr impl) + : DOMObjectWithGlobalPointer(structure, globalObject) + , m_impl(impl) +{ +} + +JSNavigator::~JSNavigator() +{ + forgetDOMObject(this, impl()); +} + +JSObject* JSNavigator::createPrototype(ExecState* exec, JSGlobalObject* globalObject) +{ + return new (exec) JSNavigatorPrototype(globalObject, JSNavigatorPrototype::createStructure(globalObject->objectPrototype())); +} + +bool JSNavigator::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) +{ + return getStaticValueSlot(exec, &JSNavigatorTable, this, propertyName, slot); +} + +bool JSNavigator::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor) +{ + return getStaticValueDescriptor(exec, &JSNavigatorTable, this, propertyName, descriptor); +} + +JSValue jsNavigatorAppCodeName(ExecState* exec, JSValue slotBase, const Identifier&) +{ + JSNavigator* castedThis = static_cast(asObject(slotBase)); + UNUSED_PARAM(exec); + Navigator* imp = static_cast(castedThis->impl()); + JSValue result = jsString(exec, imp->appCodeName()); + return result; +} + +JSValue jsNavigatorAppName(ExecState* exec, JSValue slotBase, const Identifier&) +{ + JSNavigator* castedThis = static_cast(asObject(slotBase)); + UNUSED_PARAM(exec); + Navigator* imp = static_cast(castedThis->impl()); + JSValue result = jsString(exec, imp->appName()); + return result; +} + +JSValue jsNavigatorAppVersion(ExecState* exec, JSValue slotBase, const Identifier&) +{ + JSNavigator* castedThis = static_cast(asObject(slotBase)); + UNUSED_PARAM(exec); + Navigator* imp = static_cast(castedThis->impl()); + JSValue result = jsString(exec, imp->appVersion()); + return result; +} + +JSValue jsNavigatorLanguage(ExecState* exec, JSValue slotBase, const Identifier&) +{ + JSNavigator* castedThis = static_cast(asObject(slotBase)); + UNUSED_PARAM(exec); + Navigator* imp = static_cast(castedThis->impl()); + JSValue result = jsString(exec, imp->language()); + return result; +} + +JSValue jsNavigatorUserAgent(ExecState* exec, JSValue slotBase, const Identifier&) +{ + JSNavigator* castedThis = static_cast(asObject(slotBase)); + UNUSED_PARAM(exec); + Navigator* imp = static_cast(castedThis->impl()); + JSValue result = jsString(exec, imp->userAgent()); + return result; +} + +JSValue jsNavigatorPlatform(ExecState* exec, JSValue slotBase, const Identifier&) +{ + JSNavigator* castedThis = static_cast(asObject(slotBase)); + UNUSED_PARAM(exec); + Navigator* imp = static_cast(castedThis->impl()); + JSValue result = jsString(exec, imp->platform()); + return result; +} + +JSValue jsNavigatorPlugins(ExecState* exec, JSValue slotBase, const Identifier&) +{ + JSNavigator* castedThis = static_cast(asObject(slotBase)); + UNUSED_PARAM(exec); + Navigator* imp = static_cast(castedThis->impl()); + JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->plugins())); + return result; +} + +JSValue jsNavigatorMimeTypes(ExecState* exec, JSValue slotBase, const Identifier&) +{ + JSNavigator* castedThis = static_cast(asObject(slotBase)); + UNUSED_PARAM(exec); + Navigator* imp = static_cast(castedThis->impl()); + JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->mimeTypes())); + return result; +} + +JSValue jsNavigatorProduct(ExecState* exec, JSValue slotBase, const Identifier&) +{ + JSNavigator* castedThis = static_cast(asObject(slotBase)); + UNUSED_PARAM(exec); + Navigator* imp = static_cast(castedThis->impl()); + JSValue result = jsString(exec, imp->product()); + return result; +} + +JSValue jsNavigatorProductSub(ExecState* exec, JSValue slotBase, const Identifier&) +{ + JSNavigator* castedThis = static_cast(asObject(slotBase)); + UNUSED_PARAM(exec); + Navigator* imp = static_cast(castedThis->impl()); + JSValue result = jsString(exec, imp->productSub()); + return result; +} + +JSValue jsNavigatorVendor(ExecState* exec, JSValue slotBase, const Identifier&) +{ + JSNavigator* castedThis = static_cast(asObject(slotBase)); + UNUSED_PARAM(exec); + Navigator* imp = static_cast(castedThis->impl()); + JSValue result = jsString(exec, imp->vendor()); + return result; +} + +JSValue jsNavigatorVendorSub(ExecState* exec, JSValue slotBase, const Identifier&) +{ + JSNavigator* castedThis = static_cast(asObject(slotBase)); + UNUSED_PARAM(exec); + Navigator* imp = static_cast(castedThis->impl()); + JSValue result = jsString(exec, imp->vendorSub()); + return result; +} + +JSValue jsNavigatorCookieEnabled(ExecState* exec, JSValue slotBase, const Identifier&) +{ + JSNavigator* castedThis = static_cast(asObject(slotBase)); + UNUSED_PARAM(exec); + Navigator* imp = static_cast(castedThis->impl()); + JSValue result = jsBoolean(imp->cookieEnabled()); + return result; +} + +JSValue jsNavigatorOnLine(ExecState* exec, JSValue slotBase, const Identifier&) +{ + JSNavigator* castedThis = static_cast(asObject(slotBase)); + UNUSED_PARAM(exec); + Navigator* imp = static_cast(castedThis->impl()); + JSValue result = jsBoolean(imp->onLine()); + return result; +} + +JSValue jsNavigatorGeolocation(ExecState* exec, JSValue slotBase, const Identifier&) +{ + JSNavigator* castedThis = static_cast(asObject(slotBase)); + UNUSED_PARAM(exec); + Navigator* imp = static_cast(castedThis->impl()); +// :HACK: JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->geolocation())); + JSValue result; // :HACK: + return result; +} + +EncodedJSValue JSC_HOST_CALL jsNavigatorPrototypeFunctionJavaEnabled(ExecState* exec) +{ + JSValue thisValue = exec->hostThisValue(); + if (!thisValue.inherits(&JSNavigator::s_info)) + return throwVMTypeError(exec); + JSNavigator* castedThis = static_cast(asObject(thisValue)); + Navigator* imp = static_cast(castedThis->impl()); + + + JSC::JSValue result = jsBoolean(imp->javaEnabled()); + return JSValue::encode(result); +} + +EncodedJSValue JSC_HOST_CALL jsNavigatorPrototypeFunctionGetStorageUpdates(ExecState* exec) +{ + JSValue thisValue = exec->hostThisValue(); + if (!thisValue.inherits(&JSNavigator::s_info)) + return throwVMTypeError(exec); + JSNavigator* castedThis = static_cast(asObject(thisValue)); + Navigator* imp = static_cast(castedThis->impl()); + + imp->getStorageUpdates(); + return JSValue::encode(jsUndefined()); +} + +JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Navigator* object) +{ + return getDOMObjectWrapper(exec, globalObject, object); +} +Navigator* toNavigator(JSC::JSValue value) +{ + return value.inherits(&JSNavigator::s_info) ? static_cast(asObject(value))->impl() : 0; +} + +}