Changeset 111162 in webkit for trunk/Source/JavaScriptCore/API/JSCallbackFunction.cpp
- Timestamp:
- Mar 19, 2012, 1:12:05 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/API/JSCallbackFunction.cpp
r103083 r111162 31 31 #include "CodeBlock.h" 32 32 #include "ExceptionHelpers.h" 33 #include "JSCallbackObject.h"34 33 #include "JSFunction.h" 35 34 #include "FunctionPrototype.h" … … 77 76 throwError(exec, toJS(exec, exception)); 78 77 78 // result must be a valid JSValue. 79 if (!result) 80 return throwVMTypeError(exec); 81 79 82 return JSValue::encode(toJS(exec, result)); 80 83 } … … 86 89 } 87 90 88 JSValueRef JSCallbackFunction::toStringCallback(JSContextRef ctx, JSObjectRef, JSObjectRef thisObject, size_t, const JSValueRef[], JSValueRef* exception)89 {90 JSObject* object = toJS(thisObject);91 if (object->inherits(&JSCallbackObject<JSNonFinalObject>::s_info)) {92 for (JSClassRef jsClass = jsCast<JSCallbackObject<JSNonFinalObject>*>(object)->classRef(); jsClass; jsClass = jsClass->parentClass)93 if (jsClass->convertToType)94 return jsClass->convertToType(ctx, thisObject, kJSTypeString, exception);95 } else if (object->inherits(&JSCallbackObject<JSGlobalObject>::s_info)) {96 for (JSClassRef jsClass = jsCast<JSCallbackObject<JSGlobalObject>*>(object)->classRef(); jsClass; jsClass = jsClass->parentClass)97 if (jsClass->convertToType)98 return jsClass->convertToType(ctx, thisObject, kJSTypeString, exception);99 }100 return 0;101 }102 103 JSValueRef JSCallbackFunction::valueOfCallback(JSContextRef ctx, JSObjectRef, JSObjectRef thisObject, size_t, const JSValueRef[], JSValueRef* exception)104 {105 JSObject* object = toJS(thisObject);106 if (object->inherits(&JSCallbackObject<JSNonFinalObject>::s_info)) {107 for (JSClassRef jsClass = jsCast<JSCallbackObject<JSNonFinalObject>*>(object)->classRef(); jsClass; jsClass = jsClass->parentClass)108 if (jsClass->convertToType)109 return jsClass->convertToType(ctx, thisObject, kJSTypeNumber, exception);110 } else if (object->inherits(&JSCallbackObject<JSGlobalObject>::s_info)) {111 for (JSClassRef jsClass = jsCast<JSCallbackObject<JSGlobalObject>*>(object)->classRef(); jsClass; jsClass = jsClass->parentClass)112 if (jsClass->convertToType)113 return jsClass->convertToType(ctx, thisObject, kJSTypeNumber, exception);114 }115 return 0;116 }117 118 119 91 } // namespace JSC
Note:
See TracChangeset
for help on using the changeset viewer.