Changeset 27885 in webkit for trunk/JavaScriptCore/API/JSCallbackObjectFunctions.h
- Timestamp:
- Nov 18, 2007, 1:09:27 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/API/JSCallbackObjectFunctions.h
r27022 r27885 42 42 JSCallbackObject<Base>::JSCallbackObject(ExecState* exec, JSClassRef jsClass, JSValue* prototype, void* data) 43 43 : Base(prototype) 44 , m_class(0) 45 , m_isInitialized(false) 46 { 47 init(exec, jsClass, data); 48 } 49 50 template <class Base> 51 void JSCallbackObject<Base>::init(ExecState* exec, JSClassRef jsClass, void* data) 52 { 53 m_privateData = data; 54 JSClassRef oldClass = m_class; 55 m_class = JSClassRetain(jsClass); 56 if (oldClass) 57 JSClassRelease(oldClass); 58 59 if (!exec) 60 return; 44 , m_privateData(data) 45 , m_class(JSClassRetain(jsClass)) 46 { 47 init(exec); 48 } 49 50 template <class Base> 51 JSCallbackObject<Base>::JSCallbackObject(JSClassRef jsClass, JSValue* prototype, void* data) 52 : Base(prototype) 53 , m_privateData(data) 54 , m_class(JSClassRetain(jsClass)) 55 { 56 } 57 58 template <class Base> 59 void JSCallbackObject<Base>::init(ExecState* exec) 60 { 61 ASSERT(exec); 61 62 62 63 Vector<JSObjectInitializeCallback, 16> initRoutines; 64 JSClassRef jsClass = m_class; 63 65 do { 64 66 if (JSObjectInitializeCallback initialize = jsClass->initialize) … … 72 74 initialize(toRef(exec), toRef(this)); 73 75 } 74 m_isInitialized = true;75 76 } 76 77 … … 86 87 87 88 JSClassRelease(m_class); 88 }89 90 template <class Base>91 void JSCallbackObject<Base>::initializeIfNeeded(ExecState* exec)92 {93 if (m_isInitialized)94 return;95 init(exec, m_class, m_privateData);96 89 } 97 90
Note:
See TracChangeset
for help on using the changeset viewer.