Changeset 15483 in webkit for trunk/JavaScriptCore/API/JSCallbackObject.cpp
- Timestamp:
- Jul 17, 2006, 2:06:57 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/API/JSCallbackObject.cpp
r15481 r15483 38 38 const ClassInfo JSCallbackObject::info = { "CallbackObject", 0, 0, 0 }; 39 39 40 JSCallbackObject::JSCallbackObject( JSContextRef ctx, JSClassRef jsClass)40 JSCallbackObject::JSCallbackObject(ExecState* exec, JSClassRef jsClass) 41 41 : JSObject() 42 42 { 43 init( ctx, jsClass);44 } 45 46 JSCallbackObject::JSCallbackObject( JSContextRef ctx, JSClassRef jsClass, JSValue* prototype)43 init(exec, jsClass); 44 } 45 46 JSCallbackObject::JSCallbackObject(ExecState* exec, JSClassRef jsClass, JSValue* prototype) 47 47 : JSObject(prototype) 48 48 { 49 init(ctx, jsClass); 50 } 51 52 void JSCallbackObject::init(JSContextRef ctx, JSClassRef jsClass) 53 { 54 ExecState* exec = toJS(ctx); 55 49 init(exec, jsClass); 50 } 51 52 void JSCallbackObject::init(ExecState* exec, JSClassRef jsClass) 53 { 56 54 m_privateData = 0; 57 55 m_class = JSClassRetain(jsClass); 58 56 59 JSObjectRef thisRef = toRef(this); 60 57 Vector<JSObjectInitializeCallback, 16> initRoutines; 61 58 do { 62 59 if (JSObjectInitializeCallback initialize = jsClass->initialize) 63 init ialize(ctx, thisRef, toRef(exec->exceptionSlot()));60 initRoutines.append(initialize); 64 61 } while ((jsClass = jsClass->parentClass)); 62 63 // initialize from base to derived 64 for (int i = initRoutines.size() - 1; i >= 0; i--) { 65 JSObjectInitializeCallback initialize = initRoutines[i]; 66 initialize(toRef(exec), toRef(this), toRef(exec->exceptionSlot())); 67 } 65 68 } 66 69
Note:
See TracChangeset
for help on using the changeset viewer.