Changeset 36766 in webkit for trunk/JavaScriptCore/API/JSCallbackObjectFunctions.h
- Timestamp:
- Sep 22, 2008, 8:03:52 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/API/JSCallbackObjectFunctions.h
r36726 r36766 274 274 275 275 template <class Base> 276 bool JSCallbackObject<Base>::implementsHasInstance() const 277 { 278 for (JSClassRef jsClass = classRef(); jsClass; jsClass = jsClass->parentClass) 279 if (jsClass->hasInstance) 280 return true; 281 276 bool JSCallbackObject<Base>::hasInstance(ExecState* exec, JSValue* value, JSValue*) 277 { 278 JSContextRef execRef = toRef(exec); 279 JSObjectRef thisRef = toRef(this); 280 281 for (JSClassRef jsClass = classRef(); jsClass; jsClass = jsClass->parentClass) { 282 if (JSObjectHasInstanceCallback hasInstance = jsClass->hasInstance) { 283 JSLock::DropAllLocks dropAllLocks(exec); 284 return hasInstance(execRef, thisRef, toRef(value), toRef(exec->exceptionSlot())); 285 } 286 } 282 287 return false; 283 }284 285 template <class Base>286 bool JSCallbackObject<Base>::hasInstance(ExecState* exec, JSValue* value, JSValue*)287 {288 JSContextRef execRef = toRef(exec);289 JSObjectRef thisRef = toRef(this);290 291 for (JSClassRef jsClass = classRef(); jsClass; jsClass = jsClass->parentClass) {292 if (JSObjectHasInstanceCallback hasInstance = jsClass->hasInstance) {293 JSLock::DropAllLocks dropAllLocks(exec);294 return hasInstance(execRef, thisRef, toRef(value), toRef(exec->exceptionSlot()));295 }296 }297 ASSERT_NOT_REACHED(); // implementsHasInstance should prevent us from reaching here298 return 0;299 288 } 300 289
Note:
See TracChangeset
for help on using the changeset viewer.