diff options
author | Feng Qian <fqian@google.com> | 2009-06-17 12:12:20 -0700 |
---|---|---|
committer | Feng Qian <fqian@google.com> | 2009-06-17 12:12:20 -0700 |
commit | 5f1ab04193ad0130ca8204aadaceae083aca9881 (patch) | |
tree | 5a92cd389e2cfe7fb67197ce14b38469462379f8 /WebCore/bridge | |
parent | 194315e5a908cc8ed67d597010544803eef1ac59 (diff) | |
download | external_webkit-5f1ab04193ad0130ca8204aadaceae083aca9881.zip external_webkit-5f1ab04193ad0130ca8204aadaceae083aca9881.tar.gz external_webkit-5f1ab04193ad0130ca8204aadaceae083aca9881.tar.bz2 |
Get WebKit r44544.
Diffstat (limited to 'WebCore/bridge')
40 files changed, 305 insertions, 281 deletions
diff --git a/WebCore/bridge/NP_jsobject.cpp b/WebCore/bridge/NP_jsobject.cpp index 9a9cfc3..b1000d0 100644 --- a/WebCore/bridge/NP_jsobject.cpp +++ b/WebCore/bridge/NP_jsobject.cpp @@ -52,7 +52,7 @@ using namespace JSC; using namespace JSC::Bindings; using namespace WebCore; -static void getListFromVariantArgs(ExecState* exec, const NPVariant* args, unsigned argCount, RootObject* rootObject, ArgList& aList) +static void getListFromVariantArgs(ExecState* exec, const NPVariant* args, unsigned argCount, RootObject* rootObject, MarkedArgumentBuffer& aList) { for (unsigned i = 0; i < argCount; ++i) aList.append(convertNPVariantToValue(exec, &args[i], rootObject)); @@ -116,17 +116,17 @@ bool _NPN_InvokeDefault(NPP, NPObject* o, const NPVariant* args, uint32_t argCou JSLock lock(false); // Call the function object. - JSValuePtr function = obj->imp; + JSValue function = obj->imp; CallData callData; CallType callType = function.getCallData(callData); if (callType == CallTypeNone) return false; - ArgList argList; + MarkedArgumentBuffer argList; getListFromVariantArgs(exec, args, argCount, rootObject, argList); ProtectedPtr<JSGlobalObject> globalObject = rootObject->globalObject(); globalObject->globalData()->timeoutChecker.start(); - JSValuePtr resultV = call(exec, function, callType, callData, function, argList); + JSValue resultV = call(exec, function, callType, callData, function, argList); globalObject->globalData()->timeoutChecker.stop(); // Convert and return the result of the function call. @@ -165,18 +165,18 @@ bool _NPN_Invoke(NPP npp, NPObject* o, NPIdentifier methodName, const NPVariant* return false; ExecState* exec = rootObject->globalObject()->globalExec(); JSLock lock(false); - JSValuePtr function = obj->imp->get(exec, identifierFromNPIdentifier(i->string())); + JSValue function = obj->imp->get(exec, identifierFromNPIdentifier(i->string())); CallData callData; CallType callType = function.getCallData(callData); if (callType == CallTypeNone) return false; // Call the function object. - ArgList argList; + MarkedArgumentBuffer argList; getListFromVariantArgs(exec, args, argCount, rootObject, argList); ProtectedPtr<JSGlobalObject> globalObject = rootObject->globalObject(); globalObject->globalData()->timeoutChecker.start(); - JSValuePtr resultV = call(exec, function, callType, callData, obj->imp, argList); + JSValue resultV = call(exec, function, callType, callData, obj->imp, argList); globalObject->globalData()->timeoutChecker.stop(); // Convert and return the result of the function call. @@ -210,7 +210,7 @@ bool _NPN_Evaluate(NPP, NPObject* o, NPString* s, NPVariant* variant) globalObject->globalData()->timeoutChecker.stop(); ComplType type = completion.complType(); - JSValuePtr result; + JSValue result; if (type == Normal) { result = completion.value(); if (!result) @@ -240,7 +240,7 @@ bool _NPN_GetProperty(NPP, NPObject* o, NPIdentifier propertyName, NPVariant* va IdentifierRep* i = static_cast<IdentifierRep*>(propertyName); JSLock lock(false); - JSValuePtr result; + JSValue result; if (i->isString()) result = obj->imp->get(exec, identifierFromNPIdentifier(i->string())); else @@ -368,7 +368,7 @@ bool _NPN_HasMethod(NPP, NPObject* o, NPIdentifier methodName) ExecState* exec = rootObject->globalObject()->globalExec(); JSLock lock(false); - JSValuePtr func = obj->imp->get(exec, identifierFromNPIdentifier(i->string())); + JSValue func = obj->imp->get(exec, identifierFromNPIdentifier(i->string())); exec->clearException(); return !func.isUndefined(); } @@ -442,17 +442,17 @@ bool _NPN_Construct(NPP, NPObject* o, const NPVariant* args, uint32_t argCount, JSLock lock(false); // Call the constructor object. - JSValuePtr constructor = obj->imp; + JSValue constructor = obj->imp; ConstructData constructData; ConstructType constructType = constructor.getConstructData(constructData); if (constructType == ConstructTypeNone) return false; - ArgList argList; + MarkedArgumentBuffer argList; getListFromVariantArgs(exec, args, argCount, rootObject, argList); ProtectedPtr<JSGlobalObject> globalObject = rootObject->globalObject(); globalObject->globalData()->timeoutChecker.start(); - JSValuePtr resultV = construct(exec, constructor, constructType, constructData, argList); + JSValue resultV = construct(exec, constructor, constructType, constructData, argList); globalObject->globalData()->timeoutChecker.stop(); // Convert and return the result. diff --git a/WebCore/bridge/c/c_instance.cpp b/WebCore/bridge/c/c_instance.cpp index 24b881f..97a89eb 100644 --- a/WebCore/bridge/c/c_instance.cpp +++ b/WebCore/bridge/c/c_instance.cpp @@ -101,7 +101,7 @@ bool CInstance::supportsInvokeDefaultMethod() const return _object->_class->invokeDefault; } -JSValuePtr CInstance::invokeMethod(ExecState* exec, const MethodList& methodList, const ArgList& args) +JSValue CInstance::invokeMethod(ExecState* exec, const MethodList& methodList, const ArgList& args) { // Overloading methods are not allowed by NPObjects. Should only be one // name match for a particular method. @@ -118,7 +118,7 @@ JSValuePtr CInstance::invokeMethod(ExecState* exec, const MethodList& methodList unsigned i; for (i = 0; i < count; i++) - convertValueToNPVariant(exec, args.at(exec, i), &cArgs[i]); + convertValueToNPVariant(exec, args.at(i), &cArgs[i]); // Invoke the 'C' method. #ifdef ANDROID_NPN_SETEXCEPTION @@ -137,7 +137,7 @@ JSValuePtr CInstance::invokeMethod(ExecState* exec, const MethodList& methodList for (i = 0; i < count; i++) _NPN_ReleaseVariantValue(&cArgs[i]); - JSValuePtr resultValue = convertNPVariantToValue(exec, &resultVariant, _rootObject.get()); + JSValue resultValue = convertNPVariantToValue(exec, &resultVariant, _rootObject.get()); _NPN_ReleaseVariantValue(&resultVariant); #ifdef ANDROID_NPN_SETEXCEPTION MoveGlobalExceptionToExecState(exec); @@ -146,7 +146,7 @@ JSValuePtr CInstance::invokeMethod(ExecState* exec, const MethodList& methodList } -JSValuePtr CInstance::invokeDefaultMethod(ExecState* exec, const ArgList& args) +JSValue CInstance::invokeDefaultMethod(ExecState* exec, const ArgList& args) { if (!_object->_class->invokeDefault) return jsUndefined(); @@ -156,7 +156,7 @@ JSValuePtr CInstance::invokeDefaultMethod(ExecState* exec, const ArgList& args) unsigned i; for (i = 0; i < count; i++) - convertValueToNPVariant(exec, args.at(exec, i), &cArgs[i]); + convertValueToNPVariant(exec, args.at(i), &cArgs[i]); // Invoke the 'C' method. #ifdef ANDROID_NPN_SETEXCEPTION @@ -174,7 +174,7 @@ JSValuePtr CInstance::invokeDefaultMethod(ExecState* exec, const ArgList& args) for (i = 0; i < count; i++) _NPN_ReleaseVariantValue(&cArgs[i]); - JSValuePtr resultValue = convertNPVariantToValue(exec, &resultVariant, _rootObject.get()); + JSValue resultValue = convertNPVariantToValue(exec, &resultVariant, _rootObject.get()); _NPN_ReleaseVariantValue(&resultVariant); #ifdef ANDROID_NPN_SETEXCEPTION MoveGlobalExceptionToExecState(exec); @@ -187,7 +187,7 @@ bool CInstance::supportsConstruct() const return _object->_class->construct; } -JSValuePtr CInstance::invokeConstruct(ExecState* exec, const ArgList& args) +JSValue CInstance::invokeConstruct(ExecState* exec, const ArgList& args) { if (!_object->_class->construct) return jsUndefined(); @@ -197,7 +197,7 @@ JSValuePtr CInstance::invokeConstruct(ExecState* exec, const ArgList& args) unsigned i; for (i = 0; i < count; i++) - convertValueToNPVariant(exec, args.at(exec, i), &cArgs[i]); + convertValueToNPVariant(exec, args.at(i), &cArgs[i]); // Invoke the 'C' method. NPVariant resultVariant; @@ -212,12 +212,12 @@ JSValuePtr CInstance::invokeConstruct(ExecState* exec, const ArgList& args) for (i = 0; i < count; i++) _NPN_ReleaseVariantValue(&cArgs[i]); - JSValuePtr resultValue = convertNPVariantToValue(exec, &resultVariant, _rootObject.get()); + JSValue resultValue = convertNPVariantToValue(exec, &resultVariant, _rootObject.get()); _NPN_ReleaseVariantValue(&resultVariant); return resultValue; } -JSValuePtr CInstance::defaultValue(ExecState* exec, PreferredPrimitiveType hint) const +JSValue CInstance::defaultValue(ExecState* exec, PreferredPrimitiveType hint) const { if (hint == PreferString) return stringValue(exec); @@ -226,26 +226,26 @@ JSValuePtr CInstance::defaultValue(ExecState* exec, PreferredPrimitiveType hint) return valueOf(exec); } -JSValuePtr CInstance::stringValue(ExecState* exec) const +JSValue CInstance::stringValue(ExecState* exec) const { char buf[1024]; snprintf(buf, sizeof(buf), "NPObject %p, NPClass %p", _object, _object->_class); return jsString(exec, buf); } -JSValuePtr CInstance::numberValue(ExecState* exec) const +JSValue CInstance::numberValue(ExecState* exec) const { // FIXME: Implement something sensible. return jsNumber(exec, 0); } -JSValuePtr CInstance::booleanValue() const +JSValue CInstance::booleanValue() const { // FIXME: Implement something sensible. return jsBoolean(false); } -JSValuePtr CInstance::valueOf(ExecState* exec) const +JSValue CInstance::valueOf(ExecState* exec) const { return stringValue(exec); } diff --git a/WebCore/bridge/c/c_instance.h b/WebCore/bridge/c/c_instance.h index ed107e9..f9e9de3 100644 --- a/WebCore/bridge/c/c_instance.h +++ b/WebCore/bridge/c/c_instance.h @@ -55,21 +55,21 @@ public: virtual Class *getClass() const; - virtual JSValuePtr valueOf(ExecState*) const; - virtual JSValuePtr defaultValue(ExecState*, PreferredPrimitiveType) const; + virtual JSValue valueOf(ExecState*) const; + virtual JSValue defaultValue(ExecState*, PreferredPrimitiveType) const; - virtual JSValuePtr invokeMethod(ExecState*, const MethodList&, const ArgList&); + virtual JSValue invokeMethod(ExecState*, const MethodList&, const ArgList&); virtual bool supportsInvokeDefaultMethod() const; - virtual JSValuePtr invokeDefaultMethod(ExecState*, const ArgList&); + virtual JSValue invokeDefaultMethod(ExecState*, const ArgList&); virtual bool supportsConstruct() const; - virtual JSValuePtr invokeConstruct(ExecState*, const ArgList&); + virtual JSValue invokeConstruct(ExecState*, const ArgList&); virtual void getPropertyNames(ExecState*, PropertyNameArray&); - JSValuePtr stringValue(ExecState*) const; - JSValuePtr numberValue(ExecState*) const; - JSValuePtr booleanValue() const; + JSValue stringValue(ExecState*) const; + JSValue numberValue(ExecState*) const; + JSValue booleanValue() const; NPObject *getObject() const { return _object; } diff --git a/WebCore/bridge/c/c_runtime.cpp b/WebCore/bridge/c/c_runtime.cpp index 56220ee..9338775 100644 --- a/WebCore/bridge/c/c_runtime.cpp +++ b/WebCore/bridge/c/c_runtime.cpp @@ -71,9 +71,9 @@ void MoveGlobalExceptionToExecState(ExecState* exec) throwError(exec, GeneralError, *globalLastException); SetGlobalException(0); } -#endif // ANDROID_NPN_SETEXCEPTION +#endif // ANDROID_NPN_SETEXCEPTION -JSValuePtr CField::valueFromInstance(ExecState* exec, const Instance* inst) const +JSValue CField::valueFromInstance(ExecState* exec, const Instance* inst) const { const CInstance* instance = static_cast<const CInstance*>(inst); NPObject* obj = instance->getObject(); @@ -93,7 +93,7 @@ JSValuePtr CField::valueFromInstance(ExecState* exec, const Instance* inst) cons MoveGlobalExceptionToExecState(exec); #endif // ANDROID_NPN_SETEXCEPTION if (result) { - JSValuePtr result = convertNPVariantToValue(exec, &property, instance->rootObject()); + JSValue result = convertNPVariantToValue(exec, &property, instance->rootObject()); _NPN_ReleaseVariantValue(&property); return result; } @@ -101,7 +101,7 @@ JSValuePtr CField::valueFromInstance(ExecState* exec, const Instance* inst) cons return jsUndefined(); } -void CField::setValueToInstance(ExecState *exec, const Instance *inst, JSValuePtr aValue) const +void CField::setValueToInstance(ExecState *exec, const Instance *inst, JSValue aValue) const { const CInstance* instance = static_cast<const CInstance*>(inst); NPObject* obj = instance->getObject(); diff --git a/WebCore/bridge/c/c_runtime.h b/WebCore/bridge/c/c_runtime.h index 12e3b2e..676d949 100644 --- a/WebCore/bridge/c/c_runtime.h +++ b/WebCore/bridge/c/c_runtime.h @@ -38,8 +38,8 @@ class CField : public Field { public: CField(NPIdentifier ident) : _fieldIdentifier(ident) { } - virtual JSValuePtr valueFromInstance(ExecState*, const Instance*) const; - virtual void setValueToInstance(ExecState*, const Instance*, JSValuePtr) const; + virtual JSValue valueFromInstance(ExecState*, const Instance*) const; + virtual void setValueToInstance(ExecState*, const Instance*, JSValue) const; NPIdentifier identifier() const { return _fieldIdentifier; } diff --git a/WebCore/bridge/c/c_utility.cpp b/WebCore/bridge/c/c_utility.cpp index 352163c..77b5de2 100644 --- a/WebCore/bridge/c/c_utility.cpp +++ b/WebCore/bridge/c/c_utility.cpp @@ -66,7 +66,7 @@ static String convertUTF8ToUTF16WithLatin1Fallback(const NPUTF8* UTF8Chars, int } // Variant value must be released with NPReleaseVariantValue() -void convertValueToNPVariant(ExecState* exec, JSValuePtr value, NPVariant* result) +void convertValueToNPVariant(ExecState* exec, JSValue value, NPVariant* result) { JSLock lock(false); @@ -105,7 +105,7 @@ void convertValueToNPVariant(ExecState* exec, JSValuePtr value, NPVariant* resul } } -JSValuePtr convertNPVariantToValue(ExecState* exec, const NPVariant* variant, RootObject* rootObject) +JSValue convertNPVariantToValue(ExecState* exec, const NPVariant* variant, RootObject* rootObject) { JSLock lock(false); diff --git a/WebCore/bridge/c/c_utility.h b/WebCore/bridge/c/c_utility.h index bd25e80..f69bba6 100644 --- a/WebCore/bridge/c/c_utility.h +++ b/WebCore/bridge/c/c_utility.h @@ -47,8 +47,8 @@ class RootObject; typedef uint16_t NPUTF16; WebCore::String convertNPStringToUTF16(const NPString *string); -void convertValueToNPVariant(ExecState*, JSValuePtr, NPVariant* result); -JSValuePtr convertNPVariantToValue(ExecState*, const NPVariant*, RootObject*); +void convertValueToNPVariant(ExecState*, JSValue, NPVariant* result); +JSValue convertNPVariantToValue(ExecState*, const NPVariant*, RootObject*); Identifier identifierFromNPIdentifier(const NPUTF8* name); } } diff --git a/WebCore/bridge/jni/jni_instance.cpp b/WebCore/bridge/jni/jni_instance.cpp index 5a819a6..c47bd8b 100644 --- a/WebCore/bridge/jni/jni_instance.cpp +++ b/WebCore/bridge/jni/jni_instance.cpp @@ -84,7 +84,7 @@ Class *JavaInstance::getClass() const return _class; } -JSValuePtr JavaInstance::stringValue(ExecState* exec) const +JSValue JavaInstance::stringValue(ExecState* exec) const { JSLock lock(false); @@ -96,23 +96,23 @@ JSValuePtr JavaInstance::stringValue(ExecState* exec) const return jsString(exec, u); } -JSValuePtr JavaInstance::numberValue(ExecState* exec) const +JSValue JavaInstance::numberValue(ExecState* exec) const { jdouble doubleValue = callJNIMethod<jdouble>(_instance->_instance, "doubleValue", "()D"); return jsNumber(exec, doubleValue); } -JSValuePtr JavaInstance::booleanValue() const +JSValue JavaInstance::booleanValue() const { jboolean booleanValue = callJNIMethod<jboolean>(_instance->_instance, "booleanValue", "()Z"); return jsBoolean(booleanValue); } -JSValuePtr JavaInstance::invokeMethod (ExecState *exec, const MethodList &methodList, const ArgList &args) +JSValue JavaInstance::invokeMethod (ExecState *exec, const MethodList &methodList, const ArgList &args) { int i, count = args.size(); jvalue *jArgs; - JSValuePtr resultValue; + JSValue resultValue; Method *method = 0; size_t numMethods = methodList.size(); @@ -145,8 +145,8 @@ JSValuePtr JavaInstance::invokeMethod (ExecState *exec, const MethodList &method for (i = 0; i < count; i++) { JavaParameter* aParameter = jMethod->parameterAt(i); - jArgs[i] = convertValueToJValue(exec, args.at(exec, i), aParameter->getJNIType(), aParameter->type()); - JS_LOG("arg[%d] = %s\n", i, args.at(exec, i).toString(exec).ascii()); + jArgs[i] = convertValueToJValue(exec, args.at(i), aParameter->getJNIType(), aParameter->type()); + JS_LOG("arg[%d] = %s\n", i, args.at(i).toString(exec).ascii()); } jvalue result; @@ -161,7 +161,7 @@ JSValuePtr JavaInstance::invokeMethod (ExecState *exec, const MethodList &method bool handled = false; if (rootObject->nativeHandle()) { jobject obj = _instance->_instance; - JSValuePtr exceptionDescription = noValue(); + JSValue exceptionDescription; const char *callingURL = 0; // FIXME, need to propagate calling URL to Java handled = dispatchJNICall(exec, rootObject->nativeHandle(), obj, jMethod->isStatic(), jMethod->JNIReturnType(), jMethod->methodID(obj), jArgs, result, callingURL, exceptionDescription); if (exceptionDescription) { @@ -287,7 +287,7 @@ JSValuePtr JavaInstance::invokeMethod (ExecState *exec, const MethodList &method return resultValue; } -JSValuePtr JavaInstance::defaultValue(ExecState* exec, PreferredPrimitiveType hint) const +JSValue JavaInstance::defaultValue(ExecState* exec, PreferredPrimitiveType hint) const { if (hint == PreferString) return stringValue(exec); @@ -303,7 +303,7 @@ JSValuePtr JavaInstance::defaultValue(ExecState* exec, PreferredPrimitiveType hi return valueOf(exec); } -JSValuePtr JavaInstance::valueOf(ExecState* exec) const +JSValue JavaInstance::valueOf(ExecState* exec) const { return stringValue(exec); } diff --git a/WebCore/bridge/jni/jni_instance.h b/WebCore/bridge/jni/jni_instance.h index 551b8e7..96dda7d 100644 --- a/WebCore/bridge/jni/jni_instance.h +++ b/WebCore/bridge/jni/jni_instance.h @@ -86,16 +86,16 @@ public: virtual Class *getClass() const; - virtual JSValuePtr valueOf(ExecState*) const; - virtual JSValuePtr defaultValue(ExecState*, PreferredPrimitiveType) const; + virtual JSValue valueOf(ExecState*) const; + virtual JSValue defaultValue(ExecState*, PreferredPrimitiveType) const; - virtual JSValuePtr invokeMethod(ExecState* exec, const MethodList& method, const ArgList& args); + virtual JSValue invokeMethod(ExecState* exec, const MethodList& method, const ArgList& args); jobject javaInstance() const { return _instance->_instance; } - JSValuePtr stringValue(ExecState*) const; - JSValuePtr numberValue(ExecState*) const; - JSValuePtr booleanValue() const; + JSValue stringValue(ExecState*) const; + JSValue numberValue(ExecState*) const; + JSValue booleanValue() const; protected: virtual void virtualBegin(); diff --git a/WebCore/bridge/jni/jni_jsobject.h b/WebCore/bridge/jni/jni_jsobject.h index 4125565..b4f5719 100644 --- a/WebCore/bridge/jni/jni_jsobject.h +++ b/WebCore/bridge/jni/jni_jsobject.h @@ -42,6 +42,7 @@ namespace JSC { class ArgList; class ExecState; class JSObject; +class MarkedArgumentBuffer; namespace Bindings { @@ -90,9 +91,9 @@ public: static jvalue invoke(JSObjectCallContext*); - jobject convertValueToJObject(JSValuePtr) const; - JSValuePtr convertJObjectToValue(ExecState*, jobject) const; - void getListFromJArray(ExecState*, jobjectArray, ArgList&) const; + jobject convertValueToJObject(JSValue) const; + JSValue convertJObjectToValue(ExecState*, jobject) const; + void getListFromJArray(ExecState*, jobjectArray, MarkedArgumentBuffer&) const; RootObject* rootObject() const; diff --git a/WebCore/bridge/jni/jni_jsobject.mm b/WebCore/bridge/jni/jni_jsobject.mm index 3689840..32d7b0d 100644 --- a/WebCore/bridge/jni/jni_jsobject.mm +++ b/WebCore/bridge/jni/jni_jsobject.mm @@ -293,17 +293,17 @@ jobject JavaJSObject::call(jstring methodName, jobjectArray args) const JSLock lock(false); Identifier identifier(exec, JavaString(methodName)); - JSValuePtr function = _imp->get(exec, identifier); + JSValue function = _imp->get(exec, identifier); CallData callData; CallType callType = function.getCallData(callData); if (callType == CallTypeNone) return 0; // Call the function object. - ArgList argList; + MarkedArgumentBuffer argList; getListFromJArray(exec, args, argList); rootObject->globalObject()->globalData()->timeoutChecker.start(); - JSValuePtr result = JSC::call(exec, function, callType, callData, _imp, argList); + JSValue result = JSC::call(exec, function, callType, callData, _imp, argList); rootObject->globalObject()->globalData()->timeoutChecker.stop(); return convertValueToJObject(result); @@ -313,7 +313,7 @@ jobject JavaJSObject::eval(jstring script) const { JS_LOG ("script = %s\n", JavaString(script).UTF8String()); - JSValuePtr result; + JSValue result; JSLock lock(false); @@ -347,7 +347,7 @@ jobject JavaJSObject::getMember(jstring memberName) const ExecState* exec = rootObject->globalObject()->globalExec(); JSLock lock(false); - JSValuePtr result = _imp->get(exec, Identifier(exec, JavaString(memberName))); + JSValue result = _imp->get(exec, Identifier(exec, JavaString(memberName))); return convertValueToJObject(result); } @@ -397,7 +397,7 @@ jobject JavaJSObject::getSlot(jint index) const ExecState* exec = rootObject->globalObject()->globalExec(); JSLock lock(false); - JSValuePtr result = _imp->get(exec, index); + JSValue result = _imp->get(exec, index); return convertValueToJObject(result); } @@ -485,7 +485,7 @@ jlong JavaJSObject::createNative(jlong nativeHandle) return nativeHandle; } -jobject JavaJSObject::convertValueToJObject(JSValuePtr value) const +jobject JavaJSObject::convertValueToJObject(JSValue value) const { JSLock lock(false); @@ -571,7 +571,7 @@ jobject JavaJSObject::convertValueToJObject(JSValuePtr value) const return result; } -JSValuePtr JavaJSObject::convertJObjectToValue(ExecState* exec, jobject theObject) const +JSValue JavaJSObject::convertJObjectToValue(ExecState* exec, jobject theObject) const { // Instances of netscape.javascript.JSObject get converted back to // JavaScript objects. All other objects are wrapped. It's not @@ -605,7 +605,7 @@ JSValuePtr JavaJSObject::convertJObjectToValue(ExecState* exec, jobject theObjec return JavaInstance::create(theObject, _rootObject)->createRuntimeObject(exec); } -void JavaJSObject::getListFromJArray(ExecState* exec, jobjectArray jArray, ArgList& list) const +void JavaJSObject::getListFromJArray(ExecState* exec, jobjectArray jArray, MarkedArgumentBuffer& list) const { JNIEnv *env = getJNIEnv(); int numObjects = jArray ? env->GetArrayLength(jArray) : 0; diff --git a/WebCore/bridge/jni/jni_objc.mm b/WebCore/bridge/jni/jni_objc.mm index 232d9e9..7c19442 100644 --- a/WebCore/bridge/jni/jni_objc.mm +++ b/WebCore/bridge/jni/jni_objc.mm @@ -45,7 +45,7 @@ using namespace JSC::Bindings; exceptionDescription:(NSString **)exceptionString; @end -bool JSC::Bindings::dispatchJNICall(ExecState* exec, const void* targetAppletView, jobject obj, bool isStatic, JNIType returnType, jmethodID methodID, jvalue* args, jvalue &result, const char*, JSValuePtr& exceptionDescription) +bool JSC::Bindings::dispatchJNICall(ExecState* exec, const void* targetAppletView, jobject obj, bool isStatic, JNIType returnType, jmethodID methodID, jvalue* args, jvalue &result, const char*, JSValue& exceptionDescription) { id view = (id)targetAppletView; diff --git a/WebCore/bridge/jni/jni_runtime.cpp b/WebCore/bridge/jni/jni_runtime.cpp index 38d6d6c..9d06a8c 100644 --- a/WebCore/bridge/jni/jni_runtime.cpp +++ b/WebCore/bridge/jni/jni_runtime.cpp @@ -70,7 +70,7 @@ JavaField::JavaField (JNIEnv *env, jobject aField) _field = new JObjectWrapper(aField); } -JSValuePtr JavaArray::convertJObjectToArray(ExecState* exec, jobject anObject, const char* type, PassRefPtr<RootObject> rootObject) +JSValue JavaArray::convertJObjectToArray(ExecState* exec, jobject anObject, const char* type, PassRefPtr<RootObject> rootObject) { if (type[0] != '[') return jsUndefined(); @@ -93,7 +93,7 @@ jvalue JavaField::dispatchValueFromInstance(ExecState *exec, const JavaInstance { RootObject* rootObject = instance->rootObject(); if (rootObject && rootObject->nativeHandle()) { - JSValuePtr exceptionDescription = noValue(); + JSValue exceptionDescription; jvalue args[1]; args[0].l = jinstance; @@ -106,11 +106,11 @@ jvalue JavaField::dispatchValueFromInstance(ExecState *exec, const JavaInstance return result; } -JSValuePtr JavaField::valueFromInstance(ExecState* exec, const Instance* i) const +JSValue JavaField::valueFromInstance(ExecState* exec, const Instance* i) const { const JavaInstance *instance = static_cast<const JavaInstance *>(i); - JSValuePtr jsresult = jsUndefined(); + JSValue jsresult = jsUndefined(); switch (_JNIType) { case array_type: @@ -175,7 +175,7 @@ void JavaField::dispatchSetValueToInstance(ExecState *exec, const JavaInstance * { RootObject* rootObject = instance->rootObject(); if (rootObject && rootObject->nativeHandle()) { - JSValuePtr exceptionDescription = noValue(); + JSValue exceptionDescription; jvalue args[2]; jvalue result; @@ -189,7 +189,7 @@ void JavaField::dispatchSetValueToInstance(ExecState *exec, const JavaInstance * } } -void JavaField::setValueToInstance(ExecState* exec, const Instance* i, JSValuePtr aValue) const +void JavaField::setValueToInstance(ExecState* exec, const Instance* i, JSValue aValue) const { const JavaInstance *instance = static_cast<const JavaInstance *>(i); jvalue javaValue = convertValueToJValue (exec, aValue, _JNIType, type()); @@ -389,7 +389,7 @@ RootObject* JavaArray::rootObject() const return _rootObject && _rootObject->isValid() ? _rootObject.get() : 0; } -void JavaArray::setValueAt(ExecState* exec, unsigned index, JSValuePtr aValue) const +void JavaArray::setValueAt(ExecState* exec, unsigned index, JSValue aValue) const { JNIEnv *env = getJNIEnv(); char *javaClassName = 0; @@ -457,7 +457,7 @@ void JavaArray::setValueAt(ExecState* exec, unsigned index, JSValuePtr aValue) c } -JSValuePtr JavaArray::valueAt(ExecState* exec, unsigned index) const +JSValue JavaArray::valueAt(ExecState* exec, unsigned index) const { JNIEnv *env = getJNIEnv(); JNIType arrayType = JNITypeFromPrimitiveType(_type[1]); diff --git a/WebCore/bridge/jni/jni_runtime.h b/WebCore/bridge/jni/jni_runtime.h index 3697f2b..f3cbf2b 100644 --- a/WebCore/bridge/jni/jni_runtime.h +++ b/WebCore/bridge/jni/jni_runtime.h @@ -112,8 +112,8 @@ class JavaField : public Field public: JavaField (JNIEnv *env, jobject aField); - virtual JSValuePtr valueFromInstance(ExecState *exec, const Instance *instance) const; - virtual void setValueToInstance(ExecState *exec, const Instance *instance, JSValuePtr aValue) const; + virtual JSValue valueFromInstance(ExecState *exec, const Instance *instance) const; + virtual void setValueToInstance(ExecState *exec, const Instance *instance, JSValue aValue) const; UString::Rep* name() const { return ((UString)_name).rep(); } virtual RuntimeType type() const { return _type.UTF8String(); } @@ -168,13 +168,13 @@ public: RootObject* rootObject() const; - virtual void setValueAt(ExecState *exec, unsigned int index, JSValuePtr aValue) const; - virtual JSValuePtr valueAt(ExecState *exec, unsigned int index) const; + virtual void setValueAt(ExecState *exec, unsigned int index, JSValue aValue) const; + virtual JSValue valueAt(ExecState *exec, unsigned int index) const; virtual unsigned int getLength() const; jobject javaArray() const { return _array->_instance; } - static JSValuePtr convertJObjectToArray (ExecState* exec, jobject anObject, const char* type, PassRefPtr<RootObject>); + static JSValue convertJObjectToArray (ExecState* exec, jobject anObject, const char* type, PassRefPtr<RootObject>); private: RefPtr<JObjectWrapper> _array; diff --git a/WebCore/bridge/jni/jni_utility.cpp b/WebCore/bridge/jni/jni_utility.cpp index a1f4a2d..31cdfea 100644 --- a/WebCore/bridge/jni/jni_utility.cpp +++ b/WebCore/bridge/jni/jni_utility.cpp @@ -369,7 +369,7 @@ static jobject convertArrayInstanceToJavaArray(ExecState* exec, JSArray* jsArray env->FindClass("java/lang/String"), env->NewStringUTF("")); for(unsigned i = 0; i < length; i++) { - JSValuePtr item = jsArray->get(exec, i); + JSValue item = jsArray->get(exec, i); UString stringValue = item.toString(exec); env->SetObjectArrayElement(jarray,i, env->functions->NewString(env, (const jchar *)stringValue.data(), stringValue.size())); @@ -381,7 +381,7 @@ static jobject convertArrayInstanceToJavaArray(ExecState* exec, JSArray* jsArray case boolean_type: { jarray = (jobjectArray)env->NewBooleanArray(length); for(unsigned i = 0; i < length; i++) { - JSValuePtr item = jsArray->get(exec, i); + JSValue item = jsArray->get(exec, i); jboolean value = (jboolean)item.toNumber(exec); env->SetBooleanArrayRegion((jbooleanArray)jarray, (jsize)i, (jsize)1, &value); } @@ -391,7 +391,7 @@ static jobject convertArrayInstanceToJavaArray(ExecState* exec, JSArray* jsArray case byte_type: { jarray = (jobjectArray)env->NewByteArray(length); for(unsigned i = 0; i < length; i++) { - JSValuePtr item = jsArray->get(exec, i); + JSValue item = jsArray->get(exec, i); jbyte value = (jbyte)item.toNumber(exec); env->SetByteArrayRegion((jbyteArray)jarray, (jsize)i, (jsize)1, &value); } @@ -401,7 +401,7 @@ static jobject convertArrayInstanceToJavaArray(ExecState* exec, JSArray* jsArray case char_type: { jarray = (jobjectArray)env->NewCharArray(length); for(unsigned i = 0; i < length; i++) { - JSValuePtr item = jsArray->get(exec, i); + JSValue item = jsArray->get(exec, i); UString stringValue = item.toString(exec); jchar value = 0; if (stringValue.size() > 0) @@ -414,7 +414,7 @@ static jobject convertArrayInstanceToJavaArray(ExecState* exec, JSArray* jsArray case short_type: { jarray = (jobjectArray)env->NewShortArray(length); for(unsigned i = 0; i < length; i++) { - JSValuePtr item = jsArray->get(exec, i); + JSValue item = jsArray->get(exec, i); jshort value = (jshort)item.toNumber(exec); env->SetShortArrayRegion((jshortArray)jarray, (jsize)i, (jsize)1, &value); } @@ -424,7 +424,7 @@ static jobject convertArrayInstanceToJavaArray(ExecState* exec, JSArray* jsArray case int_type: { jarray = (jobjectArray)env->NewIntArray(length); for(unsigned i = 0; i < length; i++) { - JSValuePtr item = jsArray->get(exec, i); + JSValue item = jsArray->get(exec, i); jint value = (jint)item.toNumber(exec); env->SetIntArrayRegion((jintArray)jarray, (jsize)i, (jsize)1, &value); } @@ -434,7 +434,7 @@ static jobject convertArrayInstanceToJavaArray(ExecState* exec, JSArray* jsArray case long_type: { jarray = (jobjectArray)env->NewLongArray(length); for(unsigned i = 0; i < length; i++) { - JSValuePtr item = jsArray->get(exec, i); + JSValue item = jsArray->get(exec, i); jlong value = (jlong)item.toNumber(exec); env->SetLongArrayRegion((jlongArray)jarray, (jsize)i, (jsize)1, &value); } @@ -444,7 +444,7 @@ static jobject convertArrayInstanceToJavaArray(ExecState* exec, JSArray* jsArray case float_type: { jarray = (jobjectArray)env->NewFloatArray(length); for(unsigned i = 0; i < length; i++) { - JSValuePtr item = jsArray->get(exec, i); + JSValue item = jsArray->get(exec, i); jfloat value = (jfloat)item.toNumber(exec); env->SetFloatArrayRegion((jfloatArray)jarray, (jsize)i, (jsize)1, &value); } @@ -454,7 +454,7 @@ static jobject convertArrayInstanceToJavaArray(ExecState* exec, JSArray* jsArray case double_type: { jarray = (jobjectArray)env->NewDoubleArray(length); for(unsigned i = 0; i < length; i++) { - JSValuePtr item = jsArray->get(exec, i); + JSValue item = jsArray->get(exec, i); jdouble value = (jdouble)item.toNumber(exec); env->SetDoubleArrayRegion((jdoubleArray)jarray, (jsize)i, (jsize)1, &value); } @@ -472,7 +472,7 @@ static jobject convertArrayInstanceToJavaArray(ExecState* exec, JSArray* jsArray } -jvalue convertValueToJValue(ExecState* exec, JSValuePtr value, JNIType _JNIType, const char* javaClassName) +jvalue convertValueToJValue(ExecState* exec, JSValue value, JNIType _JNIType, const char* javaClassName) { JSLock lock(false); diff --git a/WebCore/bridge/jni/jni_utility.h b/WebCore/bridge/jni/jni_utility.h index 4330b1e..90e7fe5 100644 --- a/WebCore/bridge/jni/jni_utility.h +++ b/WebCore/bridge/jni/jni_utility.h @@ -77,7 +77,7 @@ JNIType JNITypeFromPrimitiveType(char type); const char *signatureFromPrimitiveType(JNIType type); #if USE(JSC) -jvalue convertValueToJValue(ExecState*, JSValuePtr, JNIType, const char* javaClassName); +jvalue convertValueToJValue(ExecState*, JSValue, JNIType, const char* javaClassName); #endif jvalue getJNIField(jobject obj, JNIType type, const char *name, const char *signature); @@ -285,10 +285,16 @@ T callJNIStaticMethod(jclass cls, const char* methodName, const char* methodSign return result; } +#ifdef MANUAL_MERGE_REQUIRED #if USE(JSC) bool dispatchJNICall(ExecState*, const void* targetAppletView, jobject obj, bool isStatic, JNIType returnType, jmethodID methodID, jvalue* args, jvalue& result, const char* callingURL, JSValuePtr& exceptionDescription); #endif +#else // MANUAL_MERGE_REQUIRED + +bool dispatchJNICall(ExecState*, const void* targetAppletView, jobject obj, bool isStatic, JNIType returnType, jmethodID methodID, jvalue* args, jvalue& result, const char* callingURL, JSValue& exceptionDescription); + +#endif // MANUAL_MERGE_REQUIRED } // namespace Bindings } // namespace JSC diff --git a/WebCore/bridge/npapi.h b/WebCore/bridge/npapi.h index 43b701b..d436565 100644 --- a/WebCore/bridge/npapi.h +++ b/WebCore/bridge/npapi.h @@ -494,6 +494,8 @@ typedef struct _NPCocoaEvent { uint16 keyCode; } key; struct { + CGContextRef context; + double x; double y; double width; @@ -557,6 +559,14 @@ typedef NPNSMenu NPMenu; typedef void * NPMenu; #endif +typedef enum { + NPCoordinateSpacePlugin = 1, + NPCoordinateSpaceWindow, + NPCoordinateSpaceFlippedWindow, + NPCoordinateSpaceScreen, + NPCoordinateSpaceFlippedScreen +} NPCoordinateSpace; + #if defined(XP_MAC) || defined(XP_MACOSX) #ifndef NP_NO_CARBON @@ -842,10 +852,14 @@ void NPN_ForceRedraw(NPP instance); void NPN_PushPopupsEnabledState(NPP instance, NPBool enabled); void NPN_PopPopupsEnabledState(NPP instance); void NPN_PluginThreadAsyncCall(NPP instance, void (*func) (void *), void *userData); +NPError NPN_GetValueForURL(NPP instance, NPNURLVariable variable, const char* url, char** value, uint32* len); +NPError NPN_SetValueForURL(NPP instance, NPNURLVariable variable, const char* url, const char* value, uint32 len); +NPError NPN_GetAuthenticationInfo(NPP instance, const char* protocol, const char* host, int32 port, const char* scheme, const char *realm, char** username, uint32* ulen, char** password, uint32* plen); uint32 NPN_ScheduleTimer(NPP instance, uint32 interval, NPBool repeat, void (*timerFunc)(NPP npp, uint32 timerID)); void NPN_UnscheduleTimer(NPP instance, uint32 timerID); NPError NPN_PopUpContextMenu(NPP instance, NPMenu* menu); - +NPBool NPN_ConvertPoint(NPP instance, double sourceX, double sourceY, NPCoordinateSpace sourceSpace, double *destX, double *destY, NPCoordinateSpace destSpace); + #ifdef __cplusplus } /* end extern "C" */ #endif diff --git a/WebCore/bridge/objc/WebScriptObject.h b/WebCore/bridge/objc/WebScriptObject.h index 7942635..6d9ff2c 100644 --- a/WebCore/bridge/objc/WebScriptObject.h +++ b/WebCore/bridge/objc/WebScriptObject.h @@ -34,7 +34,7 @@ + (NSString *)webScriptNameForKey:(const char *)name; + (BOOL)isKeyExcludedFromWebScript:(const char *)name; -+ (id)_convertValueToObjcValue:(JSC::JSValuePtr)value originRootObject:(JSC::Bindings::RootObject*)originRootObject rootObject:(JSC::Bindings::RootObject*)rootObject; ++ (id)_convertValueToObjcValue:(JSC::JSValue)value originRootObject:(JSC::Bindings::RootObject*)originRootObject rootObject:(JSC::Bindings::RootObject*)rootObject; - _initWithJSObject:(JSC::JSObject*)imp originRootObject:(PassRefPtr<JSC::Bindings::RootObject>)originRootObject rootObject:(PassRefPtr<JSC::Bindings::RootObject>)rootObject; - (JSC::JSObject *)_imp; @end diff --git a/WebCore/bridge/objc/objc_class.h b/WebCore/bridge/objc/objc_class.h index 3735680..eebfd2a 100644 --- a/WebCore/bridge/objc/objc_class.h +++ b/WebCore/bridge/objc/objc_class.h @@ -43,7 +43,7 @@ public: virtual MethodList methodsNamed(const Identifier&, Instance *instance) const; virtual Field *fieldNamed(const Identifier&, Instance *instance) const; - virtual JSValuePtr fallbackObject(ExecState *exec, Instance *instance, const Identifier &propertyName); + virtual JSValue fallbackObject(ExecState *exec, Instance *instance, const Identifier &propertyName); ClassStructPtr isa() { return _isa; } diff --git a/WebCore/bridge/objc/objc_class.mm b/WebCore/bridge/objc/objc_class.mm index e3bde0a..5f3677e 100644 --- a/WebCore/bridge/objc/objc_class.mm +++ b/WebCore/bridge/objc/objc_class.mm @@ -239,7 +239,7 @@ Field* ObjcClass::fieldNamed(const Identifier& identifier, Instance* instance) c return aField; } -JSValuePtr ObjcClass::fallbackObject(ExecState* exec, Instance* instance, const Identifier &propertyName) +JSValue ObjcClass::fallbackObject(ExecState* exec, Instance* instance, const Identifier &propertyName) { ObjcInstance* objcInstance = static_cast<ObjcInstance*>(instance); id targetObject = objcInstance->getObject(); diff --git a/WebCore/bridge/objc/objc_instance.h b/WebCore/bridge/objc/objc_instance.h index 1b7e184..6f1eb0d 100644 --- a/WebCore/bridge/objc/objc_instance.h +++ b/WebCore/bridge/objc/objc_instance.h @@ -48,21 +48,21 @@ public: virtual Class *getClass() const; - virtual JSValuePtr valueOf(ExecState*) const; - virtual JSValuePtr defaultValue(ExecState*, PreferredPrimitiveType) const; + virtual JSValue valueOf(ExecState*) const; + virtual JSValue defaultValue(ExecState*, PreferredPrimitiveType) const; - virtual JSValuePtr invokeMethod(ExecState*, const MethodList&, const ArgList&); + virtual JSValue invokeMethod(ExecState*, const MethodList&, const ArgList&); virtual bool supportsInvokeDefaultMethod() const; - virtual JSValuePtr invokeDefaultMethod(ExecState*, const ArgList&); + virtual JSValue invokeDefaultMethod(ExecState*, const ArgList&); - JSValuePtr getValueOfUndefinedField(ExecState*, const Identifier&) const; - virtual bool setValueOfUndefinedField(ExecState*, const Identifier&, JSValuePtr); + JSValue getValueOfUndefinedField(ExecState*, const Identifier&) const; + virtual bool setValueOfUndefinedField(ExecState*, const Identifier&, JSValue); ObjectStructPtr getObject() const { return _instance.get(); } - JSValuePtr stringValue(ExecState*) const; - JSValuePtr numberValue(ExecState*) const; - JSValuePtr booleanValue() const; + JSValue stringValue(ExecState*) const; + JSValue numberValue(ExecState*) const; + JSValue booleanValue() const; protected: virtual void virtualBegin(); diff --git a/WebCore/bridge/objc/objc_instance.mm b/WebCore/bridge/objc/objc_instance.mm index 54af18c..094ed78 100644 --- a/WebCore/bridge/objc/objc_instance.mm +++ b/WebCore/bridge/objc/objc_instance.mm @@ -124,9 +124,9 @@ bool ObjcInstance::supportsInvokeDefaultMethod() const return [_instance.get() respondsToSelector:@selector(invokeDefaultMethodWithArguments:)]; } -JSValuePtr ObjcInstance::invokeMethod(ExecState* exec, const MethodList &methodList, const ArgList &args) +JSValue ObjcInstance::invokeMethod(ExecState* exec, const MethodList &methodList, const ArgList &args) { - JSValuePtr result = jsUndefined(); + JSValue result = jsUndefined(); JSLock::DropAllLocks dropAllLocks(false); // Can't put this inside the @try scope because it unwinds incorrectly. @@ -158,7 +158,7 @@ JSValuePtr ObjcInstance::invokeMethod(ExecState* exec, const MethodList &methodL NSMutableArray* objcArgs = [NSMutableArray array]; int count = args.size(); for (int i = 0; i < count; i++) { - ObjcValue value = convertValueToObjcValue(exec, args.at(exec, i), ObjcObjectType); + ObjcValue value = convertValueToObjcValue(exec, args.at(i), ObjcObjectType); [objcArgs addObject:value.objectValue]; } [invocation setArgument:&objcArgs atIndex:3]; @@ -173,7 +173,7 @@ JSValuePtr ObjcInstance::invokeMethod(ExecState* exec, const MethodList &methodL // types. ASSERT(objcValueType != ObjcInvalidType && objcValueType != ObjcVoidType); - ObjcValue value = convertValueToObjcValue(exec, args.at(exec, i-2), objcValueType); + ObjcValue value = convertValueToObjcValue(exec, args.at(i-2), objcValueType); switch (objcValueType) { case ObjcObjectType: @@ -242,12 +242,12 @@ JSValuePtr ObjcInstance::invokeMethod(ExecState* exec, const MethodList &methodL // Work around problem in some versions of GCC where result gets marked volatile and // it can't handle copying from a volatile to non-volatile. - return const_cast<JSValuePtr&>(result); + return const_cast<JSValue&>(result); } -JSValuePtr ObjcInstance::invokeDefaultMethod(ExecState* exec, const ArgList &args) +JSValue ObjcInstance::invokeDefaultMethod(ExecState* exec, const ArgList &args) { - JSValuePtr result = jsUndefined(); + JSValue result = jsUndefined(); JSLock::DropAllLocks dropAllLocks(false); // Can't put this inside the @try scope because it unwinds incorrectly. setGlobalException(nil); @@ -269,7 +269,7 @@ JSValuePtr ObjcInstance::invokeDefaultMethod(ExecState* exec, const ArgList &arg NSMutableArray* objcArgs = [NSMutableArray array]; unsigned count = args.size(); for (unsigned i = 0; i < count; i++) { - ObjcValue value = convertValueToObjcValue(exec, args.at(exec, i), ObjcObjectType); + ObjcValue value = convertValueToObjcValue(exec, args.at(i), ObjcObjectType); [objcArgs addObject:value.objectValue]; } [invocation setArgument:&objcArgs atIndex:2]; @@ -293,10 +293,10 @@ JSValuePtr ObjcInstance::invokeDefaultMethod(ExecState* exec, const ArgList &arg // Work around problem in some versions of GCC where result gets marked volatile and // it can't handle copying from a volatile to non-volatile. - return const_cast<JSValuePtr&>(result); + return const_cast<JSValue&>(result); } -bool ObjcInstance::setValueOfUndefinedField(ExecState* exec, const Identifier& property, JSValuePtr aValue) +bool ObjcInstance::setValueOfUndefinedField(ExecState* exec, const Identifier& property, JSValue aValue) { id targetObject = getObject(); if (![targetObject respondsToSelector:@selector(setValue:forUndefinedKey:)]) @@ -324,9 +324,9 @@ bool ObjcInstance::setValueOfUndefinedField(ExecState* exec, const Identifier& p return true; } -JSValuePtr ObjcInstance::getValueOfUndefinedField(ExecState* exec, const Identifier& property) const +JSValue ObjcInstance::getValueOfUndefinedField(ExecState* exec, const Identifier& property) const { - JSValuePtr result = jsUndefined(); + JSValue result = jsUndefined(); id targetObject = getObject(); @@ -350,10 +350,10 @@ JSValuePtr ObjcInstance::getValueOfUndefinedField(ExecState* exec, const Identif // Work around problem in some versions of GCC where result gets marked volatile and // it can't handle copying from a volatile to non-volatile. - return const_cast<JSValuePtr&>(result); + return const_cast<JSValue&>(result); } -JSValuePtr ObjcInstance::defaultValue(ExecState* exec, PreferredPrimitiveType hint) const +JSValue ObjcInstance::defaultValue(ExecState* exec, PreferredPrimitiveType hint) const { if (hint == PreferString) return stringValue(exec); @@ -366,24 +366,24 @@ JSValuePtr ObjcInstance::defaultValue(ExecState* exec, PreferredPrimitiveType hi return valueOf(exec); } -JSValuePtr ObjcInstance::stringValue(ExecState* exec) const +JSValue ObjcInstance::stringValue(ExecState* exec) const { return convertNSStringToString(exec, [getObject() description]); } -JSValuePtr ObjcInstance::numberValue(ExecState* exec) const +JSValue ObjcInstance::numberValue(ExecState* exec) const { // FIXME: Implement something sensible return jsNumber(exec, 0); } -JSValuePtr ObjcInstance::booleanValue() const +JSValue ObjcInstance::booleanValue() const { // FIXME: Implement something sensible return jsBoolean(false); } -JSValuePtr ObjcInstance::valueOf(ExecState* exec) const +JSValue ObjcInstance::valueOf(ExecState* exec) const { return stringValue(exec); } diff --git a/WebCore/bridge/objc/objc_runtime.h b/WebCore/bridge/objc/objc_runtime.h index 5ed6d2a..82d563b 100644 --- a/WebCore/bridge/objc/objc_runtime.h +++ b/WebCore/bridge/objc/objc_runtime.h @@ -44,8 +44,8 @@ public: ObjcField(IvarStructPtr); ObjcField(CFStringRef name); - virtual JSValuePtr valueFromInstance(ExecState*, const Instance*) const; - virtual void setValueToInstance(ExecState*, const Instance*, JSValuePtr) const; + virtual JSValue valueFromInstance(ExecState*, const Instance*) const; + virtual void setValueToInstance(ExecState*, const Instance*, JSValue) const; private: IvarStructPtr _ivar; @@ -77,13 +77,13 @@ class ObjcArray : public Array { public: ObjcArray(ObjectStructPtr, PassRefPtr<RootObject>); - virtual void setValueAt(ExecState *exec, unsigned int index, JSValuePtr aValue) const; - virtual JSValuePtr valueAt(ExecState *exec, unsigned int index) const; + virtual void setValueAt(ExecState *exec, unsigned int index, JSValue aValue) const; + virtual JSValue valueAt(ExecState *exec, unsigned int index) const; virtual unsigned int getLength() const; ObjectStructPtr getObjcArray() const { return _array.get(); } - static JSValuePtr convertObjcArrayToArray(ExecState *exec, ObjectStructPtr anObject); + static JSValue convertObjcArrayToArray(ExecState *exec, ObjectStructPtr anObject); private: RetainPtr<ObjectStructPtr> _array; @@ -97,22 +97,22 @@ public: const Identifier& propertyName() const { return _item; } - static ObjectPrototype* createPrototype(ExecState* exec) + static ObjectPrototype* createPrototype(ExecState*, JSGlobalObject* globalObject) { - return exec->lexicalGlobalObject()->objectPrototype(); + return globalObject->objectPrototype(); } - static PassRefPtr<Structure> createStructure(JSValuePtr prototype) + static PassRefPtr<Structure> createStructure(JSValue prototype) { return Structure::create(prototype, TypeInfo(ObjectType)); } private: virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&); - virtual void put(ExecState*, const Identifier& propertyName, JSValuePtr, PutPropertySlot&); + virtual void put(ExecState*, const Identifier& propertyName, JSValue, PutPropertySlot&); virtual CallType getCallData(CallData&); virtual bool deleteProperty(ExecState*, const Identifier& propertyName); - virtual JSValuePtr defaultValue(ExecState*, PreferredPrimitiveType) const; + virtual JSValue defaultValue(ExecState*, PreferredPrimitiveType) const; virtual bool toBoolean(ExecState*) const; diff --git a/WebCore/bridge/objc/objc_runtime.mm b/WebCore/bridge/objc/objc_runtime.mm index 61ec6ed..4169517 100644 --- a/WebCore/bridge/objc/objc_runtime.mm +++ b/WebCore/bridge/objc/objc_runtime.mm @@ -90,9 +90,9 @@ ObjcField::ObjcField(CFStringRef name) { } -JSValuePtr ObjcField::valueFromInstance(ExecState* exec, const Instance* instance) const +JSValue ObjcField::valueFromInstance(ExecState* exec, const Instance* instance) const { - JSValuePtr result = jsUndefined(); + JSValue result = jsUndefined(); id targetObject = (static_cast<const ObjcInstance*>(instance))->getObject(); @@ -109,10 +109,10 @@ JSValuePtr ObjcField::valueFromInstance(ExecState* exec, const Instance* instanc // Work around problem in some versions of GCC where result gets marked volatile and // it can't handle copying from a volatile to non-volatile. - return const_cast<JSValuePtr&>(result); + return const_cast<JSValue&>(result); } -static id convertValueToObjcObject(ExecState* exec, JSValuePtr value) +static id convertValueToObjcObject(ExecState* exec, JSValue value) { RefPtr<RootObject> rootObject = findRootObject(exec->dynamicGlobalObject()); if (!rootObject) @@ -120,7 +120,7 @@ static id convertValueToObjcObject(ExecState* exec, JSValuePtr value) return [webScriptObjectClass() _convertValueToObjcValue:value originRootObject:rootObject.get() rootObject:rootObject.get()]; } -void ObjcField::setValueToInstance(ExecState* exec, const Instance* instance, JSValuePtr aValue) const +void ObjcField::setValueToInstance(ExecState* exec, const Instance* instance, JSValue aValue) const { id targetObject = (static_cast<const ObjcInstance*>(instance))->getObject(); id value = convertValueToObjcObject(exec, aValue); @@ -144,7 +144,7 @@ ObjcArray::ObjcArray(ObjectStructPtr a, PassRefPtr<RootObject> rootObject) { } -void ObjcArray::setValueAt(ExecState* exec, unsigned int index, JSValuePtr aValue) const +void ObjcArray::setValueAt(ExecState* exec, unsigned int index, JSValue aValue) const { if (![_array.get() respondsToSelector:@selector(insertObject:atIndex:)]) { throwError(exec, TypeError, "Array is not mutable."); @@ -167,7 +167,7 @@ void ObjcArray::setValueAt(ExecState* exec, unsigned int index, JSValuePtr aValu } } -JSValuePtr ObjcArray::valueAt(ExecState* exec, unsigned int index) const +JSValue ObjcArray::valueAt(ExecState* exec, unsigned int index) const { if (index > [_array.get() count]) return throwError(exec, RangeError, "Index exceeds array size."); @@ -202,16 +202,16 @@ bool ObjcFallbackObjectImp::getOwnPropertySlot(ExecState*, const Identifier&, Pr return true; } -void ObjcFallbackObjectImp::put(ExecState*, const Identifier&, JSValuePtr, PutPropertySlot&) +void ObjcFallbackObjectImp::put(ExecState*, const Identifier&, JSValue, PutPropertySlot&) { } -static JSValuePtr callObjCFallbackObject(ExecState* exec, JSObject* function, JSValuePtr thisValue, const ArgList& args) +static JSValue JSC_HOST_CALL callObjCFallbackObject(ExecState* exec, JSObject* function, JSValue thisValue, const ArgList& args) { if (!thisValue.isObject(&RuntimeObjectImp::s_info)) return throwError(exec, TypeError); - JSValuePtr result = jsUndefined(); + JSValue result = jsUndefined(); RuntimeObjectImp* imp = static_cast<RuntimeObjectImp*>(asObject(thisValue)); Instance* instance = imp->getInternalInstance(); @@ -254,7 +254,7 @@ bool ObjcFallbackObjectImp::deleteProperty(ExecState*, const Identifier&) return false; } -JSValuePtr ObjcFallbackObjectImp::defaultValue(ExecState* exec, PreferredPrimitiveType) const +JSValue ObjcFallbackObjectImp::defaultValue(ExecState* exec, PreferredPrimitiveType) const { return _instance->getValueOfUndefinedField(exec, _item); } diff --git a/WebCore/bridge/objc/objc_utility.h b/WebCore/bridge/objc/objc_utility.h index 35787ea..c34be2a 100644 --- a/WebCore/bridge/objc/objc_utility.h +++ b/WebCore/bridge/objc/objc_utility.h @@ -73,9 +73,9 @@ typedef enum { class RootObject; -ObjcValue convertValueToObjcValue(ExecState*, JSValuePtr, ObjcValueType); -JSValuePtr convertNSStringToString(ExecState* exec, NSString *nsstring); -JSValuePtr convertObjcValueToValue(ExecState*, void* buffer, ObjcValueType, RootObject*); +ObjcValue convertValueToObjcValue(ExecState*, JSValue, ObjcValueType); +JSValue convertNSStringToString(ExecState* exec, NSString *nsstring); +JSValue convertObjcValueToValue(ExecState*, void* buffer, ObjcValueType, RootObject*); ObjcValueType objcValueTypeForType(const char *type); bool convertJSMethodNameToObjc(const char *JSName, char *buffer, size_t bufferSize); diff --git a/WebCore/bridge/objc/objc_utility.mm b/WebCore/bridge/objc/objc_utility.mm index dbf8c56..501131d 100644 --- a/WebCore/bridge/objc/objc_utility.mm +++ b/WebCore/bridge/objc/objc_utility.mm @@ -126,7 +126,7 @@ bool convertJSMethodNameToObjc(const char *JSName, char *buffer, size_t bufferSi [], other exception */ -ObjcValue convertValueToObjcValue(ExecState* exec, JSValuePtr value, ObjcValueType type) +ObjcValue convertValueToObjcValue(ExecState* exec, JSValue value, ObjcValueType type) { ObjcValue result; double d = 0; @@ -194,7 +194,7 @@ ObjcValue convertValueToObjcValue(ExecState* exec, JSValuePtr value, ObjcValueTy return result; } -JSValuePtr convertNSStringToString(ExecState* exec, NSString *nsstring) +JSValue convertNSStringToString(ExecState* exec, NSString *nsstring) { JSLock lock(false); @@ -203,7 +203,7 @@ JSValuePtr convertNSStringToString(ExecState* exec, NSString *nsstring) chars = (unichar *)malloc(sizeof(unichar)*length); [nsstring getCharacters:chars]; UString u((const UChar*)chars, length); - JSValuePtr aValue = jsString(exec, u); + JSValue aValue = jsString(exec, u); free((void *)chars); return aValue; } @@ -226,7 +226,7 @@ JSValuePtr convertNSStringToString(ExecState* exec, NSString *nsstring) id object wrapper other should not happen */ -JSValuePtr convertObjcValueToValue(ExecState* exec, void* buffer, ObjcValueType type, RootObject* rootObject) +JSValue convertObjcValueToValue(ExecState* exec, void* buffer, ObjcValueType type, RootObject* rootObject) { JSLock lock(false); diff --git a/WebCore/bridge/qt/qt_class.cpp b/WebCore/bridge/qt/qt_class.cpp index 3aa218c..c39b3af 100644 --- a/WebCore/bridge/qt/qt_class.cpp +++ b/WebCore/bridge/qt/qt_class.cpp @@ -66,7 +66,7 @@ const char* QtClass::name() const // and not get wrapped in RuntimeMethod). Also, use this for methods, // so we can cache the object and return the same object for the same // identifier. -JSValuePtr QtClass::fallbackObject(ExecState* exec, Instance* inst, const Identifier& identifier) +JSValue QtClass::fallbackObject(ExecState* exec, Instance* inst, const Identifier& identifier) { QtInstance* qtinst = static_cast<QtInstance*>(inst); diff --git a/WebCore/bridge/qt/qt_class.h b/WebCore/bridge/qt/qt_class.h index c83bb0f..19d4207 100644 --- a/WebCore/bridge/qt/qt_class.h +++ b/WebCore/bridge/qt/qt_class.h @@ -45,7 +45,7 @@ public: virtual MethodList methodsNamed(const Identifier&, Instance*) const; virtual Field* fieldNamed(const Identifier&, Instance*) const; - virtual JSValuePtr fallbackObject(ExecState*, Instance*, const Identifier&); + virtual JSValue fallbackObject(ExecState*, Instance*, const Identifier&); private: QtClass(const QtClass&); // prohibit copying diff --git a/WebCore/bridge/qt/qt_instance.cpp b/WebCore/bridge/qt/qt_instance.cpp index d2a9cc6..60cf16f 100644 --- a/WebCore/bridge/qt/qt_instance.cpp +++ b/WebCore/bridge/qt/qt_instance.cpp @@ -158,7 +158,7 @@ bool QtInstance::getOwnPropertySlot(JSObject* object, ExecState* exec, const Ide return object->JSObject::getOwnPropertySlot(exec, propertyName, slot); } -void QtInstance::put(JSObject* object, ExecState* exec, const Identifier& propertyName, JSValuePtr value, PutPropertySlot& slot) +void QtInstance::put(JSObject* object, ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot) { object->JSObject::put(exec, propertyName, value, slot); } @@ -199,7 +199,7 @@ void QtInstance::mark() if (val && !val->marked()) val->mark(); } - foreach(JSValuePtr val, m_children.values()) { + foreach(JSValue val, m_children.values()) { if (val && !val.marked()) val.mark(); } @@ -247,14 +247,14 @@ void QtInstance::getPropertyNames(ExecState* exec, PropertyNameArray& array) } } -JSValuePtr QtInstance::invokeMethod(ExecState*, const MethodList&, const ArgList&) +JSValue QtInstance::invokeMethod(ExecState*, const MethodList&, const ArgList&) { // Implemented via fallbackMethod & QtRuntimeMetaMethod::callAsFunction return jsUndefined(); } -JSValuePtr QtInstance::defaultValue(ExecState* exec, PreferredPrimitiveType hint) const +JSValue QtInstance::defaultValue(ExecState* exec, PreferredPrimitiveType hint) const { if (hint == PreferString) return stringValue(exec); @@ -263,7 +263,7 @@ JSValuePtr QtInstance::defaultValue(ExecState* exec, PreferredPrimitiveType hint return valueOf(exec); } -JSValuePtr QtInstance::stringValue(ExecState* exec) const +JSValue QtInstance::stringValue(ExecState* exec) const { // Hmm.. see if there is a toString defined QByteArray buf; @@ -307,25 +307,25 @@ JSValuePtr QtInstance::stringValue(ExecState* exec) const return jsString(exec, buf.constData()); } -JSValuePtr QtInstance::numberValue(ExecState* exec) const +JSValue QtInstance::numberValue(ExecState* exec) const { return jsNumber(exec, 0); } -JSValuePtr QtInstance::booleanValue() const +JSValue QtInstance::booleanValue() const { // ECMA 9.2 return jsBoolean(true); } -JSValuePtr QtInstance::valueOf(ExecState* exec) const +JSValue QtInstance::valueOf(ExecState* exec) const { return stringValue(exec); } // In qt_runtime.cpp -JSValuePtr convertQVariantToValue(ExecState*, PassRefPtr<RootObject> root, const QVariant& variant); -QVariant convertValueToQVariant(ExecState*, JSValuePtr, QMetaType::Type hint, int *distance); +JSValue convertQVariantToValue(ExecState*, PassRefPtr<RootObject> root, const QVariant& variant); +QVariant convertValueToQVariant(ExecState*, JSValue, QMetaType::Type hint, int *distance); const char* QtField::name() const { @@ -338,7 +338,7 @@ const char* QtField::name() const return ""; // deleted child object } -JSValuePtr QtField::valueFromInstance(ExecState* exec, const Instance* inst) const +JSValue QtField::valueFromInstance(ExecState* exec, const Instance* inst) const { const QtInstance* instance = static_cast<const QtInstance*>(inst); QObject* obj = instance->getObject(); @@ -355,7 +355,7 @@ JSValuePtr QtField::valueFromInstance(ExecState* exec, const Instance* inst) con else if (m_type == DynamicProperty) val = obj->property(m_dynamicProperty); - JSValuePtr ret = convertQVariantToValue(exec, inst->rootObject(), val); + JSValue ret = convertQVariantToValue(exec, inst->rootObject(), val); // Need to save children so we can mark them if (m_type == ChildObject) @@ -368,7 +368,7 @@ JSValuePtr QtField::valueFromInstance(ExecState* exec, const Instance* inst) con } } -void QtField::setValueToInstance(ExecState* exec, const Instance* inst, JSValuePtr aValue) const +void QtField::setValueToInstance(ExecState* exec, const Instance* inst, JSValue aValue) const { if (m_type == ChildObject) // QtScript doesn't allow setting to a named child return; diff --git a/WebCore/bridge/qt/qt_instance.h b/WebCore/bridge/qt/qt_instance.h index 526adb4..590fadf 100644 --- a/WebCore/bridge/qt/qt_instance.h +++ b/WebCore/bridge/qt/qt_instance.h @@ -45,25 +45,25 @@ public: virtual void begin(); virtual void end(); - virtual JSValuePtr valueOf(ExecState*) const; - virtual JSValuePtr defaultValue(ExecState*, PreferredPrimitiveType) const; + virtual JSValue valueOf(ExecState*) const; + virtual JSValue defaultValue(ExecState*, PreferredPrimitiveType) const; virtual void mark(); // This isn't inherited - virtual JSValuePtr invokeMethod(ExecState*, const MethodList&, const ArgList&); + virtual JSValue invokeMethod(ExecState*, const MethodList&, const ArgList&); virtual void getPropertyNames(ExecState*, PropertyNameArray&); - JSValuePtr stringValue(ExecState* exec) const; - JSValuePtr numberValue(ExecState* exec) const; - JSValuePtr booleanValue() const; + JSValue stringValue(ExecState* exec) const; + JSValue numberValue(ExecState* exec) const; + JSValue booleanValue() const; QObject* getObject() const { return m_object; } static PassRefPtr<QtInstance> getQtInstance(QObject*, PassRefPtr<RootObject>, QScriptEngine::ValueOwnership ownership); virtual bool getOwnPropertySlot(JSObject*, ExecState*, const Identifier&, PropertySlot&); - virtual void put(JSObject*, ExecState*, const Identifier&, JSValuePtr, PutPropertySlot&); + virtual void put(JSObject*, ExecState*, const Identifier&, JSValue, PutPropertySlot&); static QtInstance* getInstance(JSObject*); @@ -81,7 +81,7 @@ private: QObject* m_hashkey; mutable QHash<QByteArray, JSObject*> m_methods; mutable QHash<QString, QtField*> m_fields; - mutable QSet<JSValuePtr> m_children; + mutable QSet<JSValue> m_children; mutable QtRuntimeMetaMethod* m_defaultMethod; QScriptEngine::ValueOwnership m_ownership; }; diff --git a/WebCore/bridge/qt/qt_runtime.cpp b/WebCore/bridge/qt/qt_runtime.cpp index 31b343e..161e570 100644 --- a/WebCore/bridge/qt/qt_runtime.cpp +++ b/WebCore/bridge/qt/qt_runtime.cpp @@ -113,7 +113,7 @@ QDebug operator<<(QDebug dbg, const JSRealType &c) } #endif -static JSRealType valueRealType(ExecState* exec, JSValuePtr val) +static JSRealType valueRealType(ExecState* exec, JSValue val) { if (val.isNumber()) return Number; @@ -143,8 +143,11 @@ static JSRealType valueRealType(ExecState* exec, JSValuePtr val) return String; // I don't know. } -QVariant convertValueToQVariant(ExecState* exec, JSValuePtr value, QMetaType::Type hint, int *distance, HashSet<JSObject*>* visitedObjects) +QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type hint, int *distance, HashSet<JSObject*>* visitedObjects) { + if (!value) + return QVariant(); + JSObject* object = 0; if (value.isObject()) { object = value.toObject(exec); @@ -321,7 +324,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValuePtr value, QMetaType::Ty int objdist = 0; while(it != properties.end()) { if (object->propertyIsEnumerable(exec, *it)) { - JSValuePtr val = object->get(exec, *it); + JSValue val = object->get(exec, *it); QVariant v = convertValueToQVariant(exec, val, QMetaType::Void, &objdist, visitedObjects); if (objdist >= 0) { UString ustring = (*it).ustring(); @@ -345,7 +348,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValuePtr value, QMetaType::Ty int objdist = 0; qConvDebug() << "converting a " << len << " length Array"; for (int i = 0; i < len; ++i) { - JSValuePtr val = rtarray->getConcreteArray()->valueAt(exec, i); + JSValue val = rtarray->getConcreteArray()->valueAt(exec, i); result.append(convertValueToQVariant(exec, val, QMetaType::Void, &objdist, visitedObjects)); if (objdist == -1) { qConvDebug() << "Failed converting element at index " << i; @@ -364,7 +367,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValuePtr value, QMetaType::Ty int objdist = 0; qConvDebug() << "converting a " << len << " length Array"; for (int i = 0; i < len; ++i) { - JSValuePtr val = array->get(exec, i); + JSValue val = array->get(exec, i); result.append(convertValueToQVariant(exec, val, QMetaType::Void, &objdist, visitedObjects)); if (objdist == -1) { qConvDebug() << "Failed converting element at index " << i; @@ -398,7 +401,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValuePtr value, QMetaType::Ty QStringList result; int len = rtarray->getLength(); for (int i = 0; i < len; ++i) { - JSValuePtr val = rtarray->getConcreteArray()->valueAt(exec, i); + JSValue val = rtarray->getConcreteArray()->valueAt(exec, i); UString ustring = val.toString(exec); QString qstring = QString::fromUtf16((const ushort*)ustring.rep()->data(),ustring.size()); @@ -412,7 +415,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValuePtr value, QMetaType::Ty QStringList result; int len = array->length(); for (int i = 0; i < len; ++i) { - JSValuePtr val = array->get(exec, i); + JSValue val = array->get(exec, i); UString ustring = val.toString(exec); QString qstring = QString::fromUtf16((const ushort*)ustring.rep()->data(),ustring.size()); @@ -453,7 +456,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValuePtr value, QMetaType::Ty case QMetaType::QTime: if (type == Date) { DateInstance* date = static_cast<DateInstance*>(object); - GregorianDateTime gdt; + WTF::GregorianDateTime gdt; date->getUTCTime(gdt); if (hint == QMetaType::QDateTime) { ret = QDateTime(QDate(gdt.year + 1900, gdt.month + 1, gdt.monthDay), QTime(gdt.hour, gdt.minute, gdt.second), Qt::UTC); @@ -467,7 +470,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValuePtr value, QMetaType::Ty } } else if (type == Number) { double b = value.toNumber(exec); - GregorianDateTime gdt; + WTF::GregorianDateTime gdt; msToGregorianDateTime(b, true, gdt); if (hint == QMetaType::QDateTime) { ret = QDateTime(QDate(gdt.year + 1900, gdt.month + 1, gdt.monthDay), QTime(gdt.hour, gdt.minute, gdt.second), Qt::UTC); @@ -621,7 +624,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValuePtr value, QMetaType::Ty QObjectList result; int len = rtarray->getLength(); for (int i = 0; i < len; ++i) { - JSValuePtr val = rtarray->getConcreteArray()->valueAt(exec, i); + JSValue val = rtarray->getConcreteArray()->valueAt(exec, i); int itemdist = -1; QVariant item = convertValueToQVariant(exec, val, QMetaType::QObjectStar, &itemdist, visitedObjects); if (itemdist >= 0) @@ -640,7 +643,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValuePtr value, QMetaType::Ty QObjectList result; int len = array->length(); for (int i = 0; i < len; ++i) { - JSValuePtr val = array->get(exec, i); + JSValue val = array->get(exec, i); int itemdist = -1; QVariant item = convertValueToQVariant(exec, val, QMetaType::QObjectStar, &itemdist, visitedObjects); if (itemdist >= 0) @@ -672,7 +675,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValuePtr value, QMetaType::Ty QList<int> result; int len = rtarray->getLength(); for (int i = 0; i < len; ++i) { - JSValuePtr val = rtarray->getConcreteArray()->valueAt(exec, i); + JSValue val = rtarray->getConcreteArray()->valueAt(exec, i); int itemdist = -1; QVariant item = convertValueToQVariant(exec, val, QMetaType::Int, &itemdist, visitedObjects); if (itemdist >= 0) @@ -691,7 +694,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValuePtr value, QMetaType::Ty QList<int> result; int len = array->length(); for (int i = 0; i < len; ++i) { - JSValuePtr val = array->get(exec, i); + JSValue val = array->get(exec, i); int itemdist = -1; QVariant item = convertValueToQVariant(exec, val, QMetaType::Int, &itemdist, visitedObjects); if (itemdist >= 0) @@ -746,13 +749,13 @@ QVariant convertValueToQVariant(ExecState* exec, JSValuePtr value, QMetaType::Ty return ret; } -QVariant convertValueToQVariant(ExecState* exec, JSValuePtr value, QMetaType::Type hint, int *distance) +QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type hint, int *distance) { HashSet<JSObject*> visitedObjects; return convertValueToQVariant(exec, value, hint, distance, &visitedObjects); } -JSValuePtr convertQVariantToValue(ExecState* exec, PassRefPtr<RootObject> root, const QVariant& variant) +JSValue convertQVariantToValue(ExecState* exec, PassRefPtr<RootObject> root, const QVariant& variant) { // Variants with QObject * can be isNull but not a null pointer // An empty QString variant is also null @@ -820,7 +823,7 @@ JSValuePtr convertQVariantToValue(ExecState* exec, PassRefPtr<RootObject> root, } // Dates specified this way are in local time (we convert DateTimes above) - GregorianDateTime dt; + WTF::GregorianDateTime dt; dt.year = date.year() - 1900; dt.month = date.month() - 1; dt.monthDay = date.day(); @@ -828,7 +831,7 @@ JSValuePtr convertQVariantToValue(ExecState* exec, PassRefPtr<RootObject> root, dt.minute = time.minute(); dt.second = time.second(); dt.isDST = -1; - double ms = JSC::gregorianDateTimeToMS(dt, time.msec(), /*inputIsUTC*/ false); + double ms = WTF::gregorianDateTimeToMS(dt, time.msec(), /*inputIsUTC*/ false); DateInstance* instance = new (exec) DateInstance(exec->lexicalGlobalObject()->dateStructure()); instance->setInternalValue(jsNumber(exec, trunc(ms))); @@ -854,7 +857,7 @@ JSValuePtr convertQVariantToValue(ExecState* exec, PassRefPtr<RootObject> root, QVariantMap::const_iterator i = map.constBegin(); while (i != map.constEnd()) { QString s = i.key(); - JSValuePtr val = convertQVariantToValue(exec, root, i.value()); + JSValue val = convertQVariantToValue(exec, root, i.value()); if (val) { PutPropertySlot slot; ret->put(exec, Identifier(exec, (const UChar *)s.constData(), s.length()), val, slot); @@ -1181,7 +1184,7 @@ static int findMethodIndex(ExecState* exec, bool converted = true; int matchDistance = 0; for (int i = 0; converted && i < types.count() - 1; ++i) { - JSValuePtr arg = i < jsArgs.size() ? jsArgs.at(exec, i) : jsUndefined(); + JSValue arg = i < jsArgs.size() ? jsArgs.at(i) : jsUndefined(); int argdistance = -1; QVariant v = convertValueToQVariant(exec, arg, types.at(i+1).typeId(), &argdistance); @@ -1333,7 +1336,7 @@ void QtRuntimeMetaMethod::mark() d->m_disconnect->mark(); } -JSValuePtr QtRuntimeMetaMethod::call(ExecState* exec, JSObject* functionObject, JSValuePtr thisValue, const ArgList& args) +JSValue QtRuntimeMetaMethod::call(ExecState* exec, JSObject* functionObject, JSValue thisValue, const ArgList& args) { QtRuntimeMetaMethodData* d = static_cast<QtRuntimeMetaMethod *>(functionObject)->d_func(); @@ -1391,13 +1394,13 @@ bool QtRuntimeMetaMethod::getOwnPropertySlot(ExecState* exec, const Identifier& return QtRuntimeMethod::getOwnPropertySlot(exec, propertyName, slot); } -JSValuePtr QtRuntimeMetaMethod::lengthGetter(ExecState* exec, const Identifier&, const PropertySlot&) +JSValue QtRuntimeMetaMethod::lengthGetter(ExecState* exec, const Identifier&, const PropertySlot&) { // QtScript always returns 0 return jsNumber(exec, 0); } -JSValuePtr QtRuntimeMetaMethod::connectGetter(ExecState* exec, const Identifier& ident, const PropertySlot& slot) +JSValue QtRuntimeMetaMethod::connectGetter(ExecState* exec, const Identifier& ident, const PropertySlot& slot) { QtRuntimeMetaMethod* thisObj = static_cast<QtRuntimeMetaMethod*>(asObject(slot.slotBase())); QW_DS(QtRuntimeMetaMethod, thisObj); @@ -1407,7 +1410,7 @@ JSValuePtr QtRuntimeMetaMethod::connectGetter(ExecState* exec, const Identifier& return d->m_connect; } -JSValuePtr QtRuntimeMetaMethod::disconnectGetter(ExecState* exec, const Identifier& ident, const PropertySlot& slot) +JSValue QtRuntimeMetaMethod::disconnectGetter(ExecState* exec, const Identifier& ident, const PropertySlot& slot) { QtRuntimeMetaMethod* thisObj = static_cast<QtRuntimeMetaMethod*>(asObject(slot.slotBase())); QW_DS(QtRuntimeMetaMethod, thisObj); @@ -1431,7 +1434,7 @@ QtRuntimeConnectionMethod::QtRuntimeConnectionMethod(ExecState* exec, const Iden d->m_isConnect = isConnect; } -JSValuePtr QtRuntimeConnectionMethod::call(ExecState* exec, JSObject* functionObject, JSValuePtr thisValue, const ArgList& args) +JSValue QtRuntimeConnectionMethod::call(ExecState* exec, JSObject* functionObject, JSValue thisValue, const ArgList& args) { QtRuntimeConnectionMethodData* d = static_cast<QtRuntimeConnectionMethod *>(functionObject)->d_func(); @@ -1454,7 +1457,7 @@ JSValuePtr QtRuntimeConnectionMethod::call(ExecState* exec, JSObject* functionOb if (signalIndex != -1) { if (args.size() == 1) { - funcObject = args.at(exec, 0).toObject(exec); + funcObject = args.at(0).toObject(exec); CallData callData; if (funcObject->getCallData(callData) == CallTypeNone) { if (d->m_isConnect) @@ -1463,23 +1466,23 @@ JSValuePtr QtRuntimeConnectionMethod::call(ExecState* exec, JSObject* functionOb return throwError(exec, TypeError, "QtMetaMethod.disconnect: target is not a function"); } } else if (args.size() >= 2) { - if (args.at(exec, 0).isObject()) { - thisObject = args.at(exec, 0).toObject(exec); + if (args.at(0).isObject()) { + thisObject = args.at(0).toObject(exec); // Get the actual function to call - JSObject *asObj = args.at(exec, 1).toObject(exec); + JSObject *asObj = args.at(1).toObject(exec); CallData callData; if (asObj->getCallData(callData) != CallTypeNone) { // Function version funcObject = asObj; } else { // Convert it to a string - UString funcName = args.at(exec, 1).toString(exec); + UString funcName = args.at(1).toString(exec); Identifier funcIdent(exec, funcName); // ### DropAllLocks // This is resolved at this point in QtScript - JSValuePtr val = thisObject->get(exec, funcIdent); + JSValue val = thisObject->get(exec, funcIdent); JSObject* asFuncObj = val.toObject(exec); if (asFuncObj->getCallData(callData) != CallTypeNone) { @@ -1577,7 +1580,7 @@ bool QtRuntimeConnectionMethod::getOwnPropertySlot(ExecState* exec, const Identi return QtRuntimeMethod::getOwnPropertySlot(exec, propertyName, slot); } -JSValuePtr QtRuntimeConnectionMethod::lengthGetter(ExecState* exec, const Identifier&, const PropertySlot&) +JSValue QtRuntimeConnectionMethod::lengthGetter(ExecState* exec, const Identifier&, const PropertySlot&) { // we have one formal argument, and one optional return jsNumber(exec, 1); @@ -1675,7 +1678,7 @@ void QtConnectionObject::execute(void **argv) ExecState* exec = globalobj->globalExec(); if (exec) { // Build the argument list (up to the formal argument length of the slot) - ArgList l; + MarkedArgumentBuffer l; // ### DropAllLocks? int funcArgC = m_funcObject->get(exec, exec->propertyNames().length).toInt32(exec); int argTotal = qMax(funcArgC, argc); @@ -1743,7 +1746,7 @@ template <typename T> RootObject* QtArray<T>::rootObject() const return _rootObject && _rootObject->isValid() ? _rootObject.get() : 0; } -template <typename T> void QtArray<T>::setValueAt(ExecState* exec, unsigned index, JSValuePtr aValue) const +template <typename T> void QtArray<T>::setValueAt(ExecState* exec, unsigned index, JSValue aValue) const { // QtScript sets the value, but doesn't forward it to the original source // (e.g. if you do 'object.intList[5] = 6', the object is not updated, but the @@ -1757,7 +1760,7 @@ template <typename T> void QtArray<T>::setValueAt(ExecState* exec, unsigned inde } -template <typename T> JSValuePtr QtArray<T>::valueAt(ExecState *exec, unsigned int index) const +template <typename T> JSValue QtArray<T>::valueAt(ExecState *exec, unsigned int index) const { if (index < m_length) { T val = m_list.at(index); diff --git a/WebCore/bridge/qt/qt_runtime.h b/WebCore/bridge/qt/qt_runtime.h index 7912a2b..72d93eb 100644 --- a/WebCore/bridge/qt/qt_runtime.h +++ b/WebCore/bridge/qt/qt_runtime.h @@ -56,8 +56,8 @@ public: : m_type(ChildObject), m_childObject(child) {} - virtual JSValuePtr valueFromInstance(ExecState*, const Instance*) const; - virtual void setValueToInstance(ExecState*, const Instance*, JSValuePtr) const; + virtual JSValue valueFromInstance(ExecState*, const Instance*) const; + virtual void setValueToInstance(ExecState*, const Instance*, JSValue) const; virtual const char* name() const; QtFieldType fieldType() const {return m_type;} private: @@ -98,8 +98,8 @@ public: RootObject* rootObject() const; - virtual void setValueAt(ExecState*, unsigned index, JSValuePtr) const; - virtual JSValuePtr valueAt(ExecState*, unsigned index) const; + virtual void setValueAt(ExecState*, unsigned index, JSValue) const; + virtual JSValue valueAt(ExecState*, unsigned index) const; virtual unsigned int getLength() const {return m_length;} private: @@ -144,12 +144,12 @@ public: static const ClassInfo s_info; - static FunctionPrototype* createPrototype(ExecState* exec) + static FunctionPrototype* createPrototype(ExecState*, JSGlobalObject* globalObject) { - return exec->lexicalGlobalObject()->functionPrototype(); + return globalObject->functionPrototype(); } - static PassRefPtr<Structure> createStructure(JSValuePtr prototype) + static PassRefPtr<Structure> createStructure(JSValue prototype) { return Structure::create(prototype, TypeInfo(ObjectType)); } @@ -174,10 +174,10 @@ protected: private: virtual CallType getCallData(CallData&); - static JSValuePtr call(ExecState* exec, JSObject* functionObject, JSValuePtr thisValue, const ArgList& args); - static JSValuePtr lengthGetter(ExecState*, const Identifier&, const PropertySlot&); - static JSValuePtr connectGetter(ExecState*, const Identifier&, const PropertySlot&); - static JSValuePtr disconnectGetter(ExecState*, const Identifier&, const PropertySlot&); + static JSValue JSC_HOST_CALL call(ExecState* exec, JSObject* functionObject, JSValue thisValue, const ArgList& args); + static JSValue lengthGetter(ExecState*, const Identifier&, const PropertySlot&); + static JSValue connectGetter(ExecState*, const Identifier&, const PropertySlot&); + static JSValue disconnectGetter(ExecState*, const Identifier&, const PropertySlot&); }; class QtConnectionObject; @@ -193,8 +193,8 @@ protected: private: virtual CallType getCallData(CallData&); - static JSValuePtr call(ExecState* exec, JSObject* functionObject, JSValuePtr thisValue, const ArgList& args); - static JSValuePtr lengthGetter(ExecState*, const Identifier&, const PropertySlot&); + static JSValue JSC_HOST_CALL call(ExecState* exec, JSObject* functionObject, JSValue thisValue, const ArgList& args); + static JSValue lengthGetter(ExecState*, const Identifier&, const PropertySlot&); static QMultiMap<QObject *, QtConnectionObject *> connections; friend class QtConnectionObject; }; @@ -223,7 +223,8 @@ private: ProtectedPtr<JSObject> m_funcObject; }; -QVariant convertValueToQVariant(ExecState* exec, JSValuePtr value, QMetaType::Type hint, int *distance); +QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type hint, int *distance); +JSValue convertQVariantToValue(ExecState* exec, PassRefPtr<RootObject> root, const QVariant& variant); } // namespace Bindings } // namespace JSC diff --git a/WebCore/bridge/runtime.h b/WebCore/bridge/runtime.h index 8adfbe1..72736d4 100644 --- a/WebCore/bridge/runtime.h +++ b/WebCore/bridge/runtime.h @@ -49,8 +49,8 @@ typedef Vector<Method*> MethodList; class Field { public: - virtual JSValuePtr valueFromInstance(ExecState*, const Instance*) const = 0; - virtual void setValueToInstance(ExecState*, const Instance*, JSValuePtr) const = 0; + virtual JSValue valueFromInstance(ExecState*, const Instance*) const = 0; + virtual void setValueToInstance(ExecState*, const Instance*, JSValue) const = 0; virtual ~Field() { } }; @@ -66,7 +66,7 @@ class Class : Noncopyable { public: virtual MethodList methodsNamed(const Identifier&, Instance*) const = 0; virtual Field* fieldNamed(const Identifier&, Instance*) const = 0; - virtual JSValuePtr fallbackObject(ExecState*, Instance*, const Identifier&) { return jsUndefined(); } + virtual JSValue fallbackObject(ExecState*, Instance*, const Identifier&) { return jsUndefined(); } virtual ~Class() { } }; @@ -90,28 +90,28 @@ public: virtual RuntimeObjectImp* createRuntimeObject(ExecState*); // Returns false if the value was not set successfully. - virtual bool setValueOfUndefinedField(ExecState*, const Identifier&, JSValuePtr) { return false; } + virtual bool setValueOfUndefinedField(ExecState*, const Identifier&, JSValue) { return false; } - virtual JSValuePtr invokeMethod(ExecState*, const MethodList&, const ArgList& args) = 0; + virtual JSValue invokeMethod(ExecState*, const MethodList&, const ArgList& args) = 0; virtual bool supportsInvokeDefaultMethod() const { return false; } - virtual JSValuePtr invokeDefaultMethod(ExecState*, const ArgList&) { return jsUndefined(); } + virtual JSValue invokeDefaultMethod(ExecState*, const ArgList&) { return jsUndefined(); } virtual bool supportsConstruct() const { return false; } - virtual JSValuePtr invokeConstruct(ExecState*, const ArgList&) { return noValue(); } + virtual JSValue invokeConstruct(ExecState*, const ArgList&) { return JSValue(); } virtual void getPropertyNames(ExecState*, PropertyNameArray&) { } - virtual JSValuePtr defaultValue(ExecState*, PreferredPrimitiveType) const = 0; + virtual JSValue defaultValue(ExecState*, PreferredPrimitiveType) const = 0; - virtual JSValuePtr valueOf(ExecState* exec) const = 0; + virtual JSValue valueOf(ExecState* exec) const = 0; RootObject* rootObject() const; virtual ~Instance(); virtual bool getOwnPropertySlot(JSObject*, ExecState*, const Identifier&, PropertySlot&) { return false; } - virtual void put(JSObject*, ExecState*, const Identifier&, JSValuePtr, PutPropertySlot&) { } + virtual void put(JSObject*, ExecState*, const Identifier&, JSValue, PutPropertySlot&) { } protected: virtual void virtualBegin() { } @@ -125,8 +125,8 @@ public: Array(PassRefPtr<RootObject>); virtual ~Array(); - virtual void setValueAt(ExecState *, unsigned index, JSValuePtr) const = 0; - virtual JSValuePtr valueAt(ExecState *, unsigned index) const = 0; + virtual void setValueAt(ExecState *, unsigned index, JSValue) const = 0; + virtual JSValue valueAt(ExecState *, unsigned index) const = 0; virtual unsigned int getLength() const = 0; protected: diff --git a/WebCore/bridge/runtime_array.cpp b/WebCore/bridge/runtime_array.cpp index 1979432..fead83a 100644 --- a/WebCore/bridge/runtime_array.cpp +++ b/WebCore/bridge/runtime_array.cpp @@ -42,13 +42,13 @@ RuntimeArray::RuntimeArray(ExecState* exec, Bindings::Array* a) { } -JSValuePtr RuntimeArray::lengthGetter(ExecState* exec, const Identifier&, const PropertySlot& slot) +JSValue RuntimeArray::lengthGetter(ExecState* exec, const Identifier&, const PropertySlot& slot) { RuntimeArray* thisObj = static_cast<RuntimeArray*>(asObject(slot.slotBase())); return jsNumber(exec, thisObj->getLength()); } -JSValuePtr RuntimeArray::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot) +JSValue RuntimeArray::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot) { RuntimeArray* thisObj = static_cast<RuntimeArray*>(asObject(slot.slotBase())); return thisObj->getConcreteArray()->valueAt(exec, slot.index()); @@ -83,7 +83,7 @@ bool RuntimeArray::getOwnPropertySlot(ExecState *exec, unsigned index, PropertyS return JSObject::getOwnPropertySlot(exec, index, slot); } -void RuntimeArray::put(ExecState* exec, const Identifier& propertyName, JSValuePtr value, PutPropertySlot& slot) +void RuntimeArray::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot) { if (propertyName == exec->propertyNames().length) { throwError(exec, RangeError); @@ -100,7 +100,7 @@ void RuntimeArray::put(ExecState* exec, const Identifier& propertyName, JSValueP JSObject::put(exec, propertyName, value, slot); } -void RuntimeArray::put(ExecState* exec, unsigned index, JSValuePtr value) +void RuntimeArray::put(ExecState* exec, unsigned index, JSValue value) { if (index >= getLength()) { throwError(exec, RangeError); diff --git a/WebCore/bridge/runtime_array.h b/WebCore/bridge/runtime_array.h index 1ea47a4..5a86e9d 100644 --- a/WebCore/bridge/runtime_array.h +++ b/WebCore/bridge/runtime_array.h @@ -37,8 +37,8 @@ public: virtual bool getOwnPropertySlot(ExecState *, const Identifier&, PropertySlot&); virtual bool getOwnPropertySlot(ExecState *, unsigned, PropertySlot&); - virtual void put(ExecState*, const Identifier& propertyName, JSValuePtr, PutPropertySlot&); - virtual void put(ExecState*, unsigned propertyName, JSValuePtr); + virtual void put(ExecState*, const Identifier& propertyName, JSValue, PutPropertySlot&); + virtual void put(ExecState*, unsigned propertyName, JSValue); virtual bool deleteProperty(ExecState *exec, const Identifier &propertyName); virtual bool deleteProperty(ExecState *exec, unsigned propertyName); @@ -51,19 +51,19 @@ public: static const ClassInfo s_info; - static ArrayPrototype* createPrototype(ExecState* exec) + static ArrayPrototype* createPrototype(ExecState*, JSGlobalObject* globalObject) { - return exec->lexicalGlobalObject()->arrayPrototype(); + return globalObject->arrayPrototype(); } - static PassRefPtr<Structure> createStructure(JSValuePtr prototype) + static PassRefPtr<Structure> createStructure(JSValue prototype) { return Structure::create(prototype, TypeInfo(ObjectType)); } private: - static JSValuePtr lengthGetter(ExecState*, const Identifier&, const PropertySlot&); - static JSValuePtr indexGetter(ExecState*, const Identifier&, const PropertySlot&); + static JSValue lengthGetter(ExecState*, const Identifier&, const PropertySlot&); + static JSValue indexGetter(ExecState*, const Identifier&, const PropertySlot&); OwnPtr<Bindings::Array> _array; }; diff --git a/WebCore/bridge/runtime_method.cpp b/WebCore/bridge/runtime_method.cpp index eb0fae4..30a3581 100644 --- a/WebCore/bridge/runtime_method.cpp +++ b/WebCore/bridge/runtime_method.cpp @@ -47,7 +47,7 @@ RuntimeMethod::RuntimeMethod(ExecState* exec, const Identifier& ident, Bindings: { } -JSValuePtr RuntimeMethod::lengthGetter(ExecState* exec, const Identifier&, const PropertySlot& slot) +JSValue RuntimeMethod::lengthGetter(ExecState* exec, const Identifier&, const PropertySlot& slot) { RuntimeMethod* thisObj = static_cast<RuntimeMethod*>(asObject(slot.slotBase())); @@ -70,7 +70,7 @@ bool RuntimeMethod::getOwnPropertySlot(ExecState* exec, const Identifier& proper return InternalFunction::getOwnPropertySlot(exec, propertyName, slot); } -static JSValuePtr callRuntimeMethod(ExecState* exec, JSObject* function, JSValuePtr thisValue, const ArgList& args) +static JSValue JSC_HOST_CALL callRuntimeMethod(ExecState* exec, JSObject* function, JSValue thisValue, const ArgList& args) { RuntimeMethod* method = static_cast<RuntimeMethod*>(function); @@ -84,7 +84,7 @@ static JSValuePtr callRuntimeMethod(ExecState* exec, JSObject* function, JSValue } else { // If thisObj is the DOM object for a plugin, get the corresponding // runtime object from the DOM object. - JSValuePtr value = thisValue.get(exec, Identifier(exec, "__apple_runtime_object")); + JSValue value = thisValue.get(exec, Identifier(exec, "__apple_runtime_object")); if (value.isObject(&RuntimeObjectImp::s_info)) imp = static_cast<RuntimeObjectImp*>(asObject(value)); else @@ -96,7 +96,7 @@ static JSValuePtr callRuntimeMethod(ExecState* exec, JSObject* function, JSValue return RuntimeObjectImp::throwInvalidAccessError(exec); instance->begin(); - JSValuePtr result = instance->invokeMethod(exec, *method->methods(), args); + JSValue result = instance->invokeMethod(exec, *method->methods(), args); instance->end(); return result; } diff --git a/WebCore/bridge/runtime_method.h b/WebCore/bridge/runtime_method.h index bb983f9..5333c14 100644 --- a/WebCore/bridge/runtime_method.h +++ b/WebCore/bridge/runtime_method.h @@ -40,18 +40,18 @@ public: static const ClassInfo s_info; - static FunctionPrototype* createPrototype(ExecState* exec) + static FunctionPrototype* createPrototype(ExecState*, JSGlobalObject* globalObject) { - return exec->lexicalGlobalObject()->functionPrototype(); + return globalObject->functionPrototype(); } - static PassRefPtr<Structure> createStructure(JSValuePtr prototype) + static PassRefPtr<Structure> createStructure(JSValue prototype) { return Structure::create(prototype, TypeInfo(ObjectType, ImplementsHasInstance)); } private: - static JSValuePtr lengthGetter(ExecState*, const Identifier&, const PropertySlot&); + static JSValue lengthGetter(ExecState*, const Identifier&, const PropertySlot&); virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&); virtual CallType getCallData(CallData&); diff --git a/WebCore/bridge/runtime_object.cpp b/WebCore/bridge/runtime_object.cpp index 88aa560..79afd3f 100644 --- a/WebCore/bridge/runtime_object.cpp +++ b/WebCore/bridge/runtime_object.cpp @@ -66,7 +66,7 @@ void RuntimeObjectImp::invalidate() instance = 0; } -JSValuePtr RuntimeObjectImp::fallbackObjectGetter(ExecState* exec, const Identifier& propertyName, const PropertySlot& slot) +JSValue RuntimeObjectImp::fallbackObjectGetter(ExecState* exec, const Identifier& propertyName, const PropertySlot& slot) { RuntimeObjectImp* thisObj = static_cast<RuntimeObjectImp*>(asObject(slot.slotBase())); RefPtr<Instance> instance = thisObj->instance; @@ -77,14 +77,14 @@ JSValuePtr RuntimeObjectImp::fallbackObjectGetter(ExecState* exec, const Identif instance->begin(); Class *aClass = instance->getClass(); - JSValuePtr result = aClass->fallbackObject(exec, instance.get(), propertyName); + JSValue result = aClass->fallbackObject(exec, instance.get(), propertyName); instance->end(); return result; } -JSValuePtr RuntimeObjectImp::fieldGetter(ExecState* exec, const Identifier& propertyName, const PropertySlot& slot) +JSValue RuntimeObjectImp::fieldGetter(ExecState* exec, const Identifier& propertyName, const PropertySlot& slot) { RuntimeObjectImp* thisObj = static_cast<RuntimeObjectImp*>(asObject(slot.slotBase())); RefPtr<Instance> instance = thisObj->instance; @@ -96,14 +96,14 @@ JSValuePtr RuntimeObjectImp::fieldGetter(ExecState* exec, const Identifier& prop Class *aClass = instance->getClass(); Field* aField = aClass->fieldNamed(propertyName, instance.get()); - JSValuePtr result = aField->valueFromInstance(exec, instance.get()); + JSValue result = aField->valueFromInstance(exec, instance.get()); instance->end(); return result; } -JSValuePtr RuntimeObjectImp::methodGetter(ExecState* exec, const Identifier& propertyName, const PropertySlot& slot) +JSValue RuntimeObjectImp::methodGetter(ExecState* exec, const Identifier& propertyName, const PropertySlot& slot) { RuntimeObjectImp* thisObj = static_cast<RuntimeObjectImp*>(asObject(slot.slotBase())); RefPtr<Instance> instance = thisObj->instance; @@ -115,7 +115,7 @@ JSValuePtr RuntimeObjectImp::methodGetter(ExecState* exec, const Identifier& pro Class *aClass = instance->getClass(); MethodList methodList = aClass->methodsNamed(propertyName, instance.get()); - JSValuePtr result = new (exec) RuntimeMethod(exec, propertyName, methodList); + JSValue result = new (exec) RuntimeMethod(exec, propertyName, methodList); instance->end(); @@ -165,7 +165,7 @@ bool RuntimeObjectImp::getOwnPropertySlot(ExecState *exec, const Identifier& pro return instance->getOwnPropertySlot(this, exec, propertyName, slot); } -void RuntimeObjectImp::put(ExecState* exec, const Identifier& propertyName, JSValuePtr value, PutPropertySlot& slot) +void RuntimeObjectImp::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot) { if (!instance) { throwInvalidAccessError(exec); @@ -191,23 +191,23 @@ bool RuntimeObjectImp::deleteProperty(ExecState*, const Identifier&) return false; } -JSValuePtr RuntimeObjectImp::defaultValue(ExecState* exec, PreferredPrimitiveType hint) const +JSValue RuntimeObjectImp::defaultValue(ExecState* exec, PreferredPrimitiveType hint) const { if (!instance) return throwInvalidAccessError(exec); RefPtr<Instance> protector(instance); instance->begin(); - JSValuePtr result = instance->defaultValue(exec, hint); + JSValue result = instance->defaultValue(exec, hint); instance->end(); return result; } -static JSValuePtr callRuntimeObject(ExecState* exec, JSObject* function, JSValuePtr, const ArgList& args) +static JSValue JSC_HOST_CALL callRuntimeObject(ExecState* exec, JSObject* function, JSValue, const ArgList& args) { RefPtr<Instance> instance(static_cast<RuntimeObjectImp*>(function)->getInternalInstance()); instance->begin(); - JSValuePtr result = instance->invokeDefaultMethod(exec, args); + JSValue result = instance->invokeDefaultMethod(exec, args); instance->end(); return result; } @@ -224,7 +224,7 @@ static JSObject* callRuntimeConstructor(ExecState* exec, JSObject* constructor, { RefPtr<Instance> instance(static_cast<RuntimeObjectImp*>(constructor)->getInternalInstance()); instance->begin(); - JSValuePtr result = instance->invokeConstruct(exec, args); + JSValue result = instance->invokeConstruct(exec, args); instance->end(); ASSERT(result); diff --git a/WebCore/bridge/runtime_object.h b/WebCore/bridge/runtime_object.h index b8788c9..f01fe1e 100644 --- a/WebCore/bridge/runtime_object.h +++ b/WebCore/bridge/runtime_object.h @@ -38,9 +38,9 @@ public: virtual ~RuntimeObjectImp(); virtual bool getOwnPropertySlot(ExecState*, const Identifier& propertyName, PropertySlot&); - virtual void put(ExecState*, const Identifier& propertyName, JSValuePtr, PutPropertySlot&); + virtual void put(ExecState*, const Identifier& propertyName, JSValue, PutPropertySlot&); virtual bool deleteProperty(ExecState* , const Identifier& propertyName); - virtual JSValuePtr defaultValue(ExecState*, PreferredPrimitiveType) const; + virtual JSValue defaultValue(ExecState*, PreferredPrimitiveType) const; virtual CallType getCallData(CallData&); virtual ConstructType getConstructData(ConstructData&); @@ -53,12 +53,12 @@ public: static const ClassInfo s_info; - static ObjectPrototype* createPrototype(ExecState* exec) + static ObjectPrototype* createPrototype(ExecState*, JSGlobalObject* globalObject) { - return exec->lexicalGlobalObject()->objectPrototype(); + return globalObject->objectPrototype(); } - static PassRefPtr<Structure> createStructure(JSValuePtr prototype) + static PassRefPtr<Structure> createStructure(JSValue prototype) { return Structure::create(prototype, TypeInfo(ObjectType)); } @@ -69,9 +69,9 @@ protected: private: virtual const ClassInfo* classInfo() const { return &s_info; } - static JSValuePtr fallbackObjectGetter(ExecState*, const Identifier&, const PropertySlot&); - static JSValuePtr fieldGetter(ExecState*, const Identifier&, const PropertySlot&); - static JSValuePtr methodGetter(ExecState*, const Identifier&, const PropertySlot&); + static JSValue fallbackObjectGetter(ExecState*, const Identifier&, const PropertySlot&); + static JSValue fieldGetter(ExecState*, const Identifier&, const PropertySlot&); + static JSValue methodGetter(ExecState*, const Identifier&, const PropertySlot&); RefPtr<Bindings::Instance> instance; }; diff --git a/WebCore/bridge/testbindings.pro b/WebCore/bridge/testbindings.pro index 1beee44..a854d4f 100644 --- a/WebCore/bridge/testbindings.pro +++ b/WebCore/bridge/testbindings.pro @@ -1,8 +1,7 @@ QT -= gui include(../../WebKit.pri) -INCLUDEPATH += .. ../ . -qt-port:INCLUDEPATH += bindings/qt +INCLUDEPATH += .. ../ . bindings/qt SOURCES += testqtbindings.cpp |