diff options
author | Steve Block <steveblock@google.com> | 2010-04-27 16:31:00 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2010-05-11 14:42:12 +0100 |
commit | dcc8cf2e65d1aa555cce12431a16547e66b469ee (patch) | |
tree | 92a8d65cd5383bca9749f5327fb5e440563926e6 /WebCore/bridge/objc/objc_runtime.mm | |
parent | ccac38a6b48843126402088a309597e682f40fe6 (diff) | |
download | external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.zip external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.tar.gz external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.tar.bz2 |
Merge webkit.org at r58033 : Initial merge by git
Change-Id: If006c38561af287c50cd578d251629b51e4d8cd1
Diffstat (limited to 'WebCore/bridge/objc/objc_runtime.mm')
-rw-r--r-- | WebCore/bridge/objc/objc_runtime.mm | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/WebCore/bridge/objc/objc_runtime.mm b/WebCore/bridge/objc/objc_runtime.mm index 772695c..f845a00 100644 --- a/WebCore/bridge/objc/objc_runtime.mm +++ b/WebCore/bridge/objc/objc_runtime.mm @@ -27,6 +27,7 @@ #include "objc_runtime.h" #include "JSDOMBinding.h" +#include "ObjCRuntimeObject.h" #include "WebScriptObject.h" #include "objc_instance.h" #include "runtime_array.h" @@ -216,34 +217,31 @@ void ObjcFallbackObjectImp::put(ExecState*, const Identifier&, JSValue, PutPrope static JSValue JSC_HOST_CALL callObjCFallbackObject(ExecState* exec, JSObject* function, JSValue thisValue, const ArgList& args) { - if (!thisValue.inherits(&RuntimeObjectImp::s_info)) + if (!thisValue.inherits(&ObjCRuntimeObject::s_info)) return throwError(exec, TypeError); JSValue result = jsUndefined(); - RuntimeObjectImp* imp = static_cast<RuntimeObjectImp*>(asObject(thisValue)); - Instance* instance = imp->getInternalInstance(); + ObjCRuntimeObject* runtimeObject = static_cast<ObjCRuntimeObject*>(asObject(thisValue)); + ObjcInstance* objcInstance = runtimeObject->getInternalObjCInstance(); - if (!instance) - return RuntimeObjectImp::throwInvalidAccessError(exec); + if (!objcInstance) + return RuntimeObject::throwInvalidAccessError(exec); - instance->begin(); + objcInstance->begin(); - ObjcInstance* objcInstance = static_cast<ObjcInstance*>(instance); id targetObject = objcInstance->getObject(); if ([targetObject respondsToSelector:@selector(invokeUndefinedMethodFromWebScript:withArguments:)]){ - ObjcClass* objcClass = static_cast<ObjcClass*>(instance->getClass()); + ObjcClass* objcClass = static_cast<ObjcClass*>(objcInstance->getClass()); OwnPtr<ObjcMethod> fallbackMethod(new ObjcMethod(objcClass->isa(), @selector(invokeUndefinedMethodFromWebScript:withArguments:))); const Identifier& nameIdentifier = static_cast<ObjcFallbackObjectImp*>(function)->propertyName(); RetainPtr<CFStringRef> name(AdoptCF, CFStringCreateWithCharacters(0, nameIdentifier.data(), nameIdentifier.size())); fallbackMethod->setJavaScriptName(name.get()); - MethodList methodList; - methodList.append(fallbackMethod.get()); - result = instance->invokeMethod(exec, methodList, args); + result = objcInstance->invokeObjcMethod(exec, fallbackMethod.get(), args); } - instance->end(); + objcInstance->end(); return result; } |