Changeset 30413 in webkit
- Timestamp:
- Feb 19, 2008, 2:09:48 PM (18 years ago)
- Location:
- trunk/JavaScriptCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/API/JSClassRef.cpp
r30122 r30413 41 41 OpaqueJSClass::OpaqueJSClass(const JSClassDefinition* definition, OpaqueJSClass* protoClass) 42 42 // FIXME: <rdar://problem/4949018> 43 : RefCounted<OpaqueJSClass>(0) 44 , className(definition->className) 43 : className(definition->className) 45 44 , parentClass(definition->parentClass) 46 45 , prototypeClass(0) … … 100 99 } 101 100 102 JSClassRefOpaqueJSClass::createNoAutomaticPrototype(const JSClassDefinition* definition)101 PassRefPtr<OpaqueJSClass> OpaqueJSClass::createNoAutomaticPrototype(const JSClassDefinition* definition) 103 102 { 104 return new OpaqueJSClass(definition, 0);103 return adoptRef(new OpaqueJSClass(definition, 0)); 105 104 } 106 105 … … 112 111 } 113 112 114 JSClassRefOpaqueJSClass::create(const JSClassDefinition* definition)113 PassRefPtr<OpaqueJSClass> OpaqueJSClass::create(const JSClassDefinition* definition) 115 114 { 116 115 if (const JSStaticFunction* staticFunctions = definition->staticFunctions) { … … 124 123 JSClassDefinition objectDefinition = *definition; 125 124 objectDefinition.staticFunctions = 0; 126 return new OpaqueJSClass(&objectDefinition, protoClass);125 return adoptRef(new OpaqueJSClass(&objectDefinition, protoClass)); 127 126 } 128 127 129 return new OpaqueJSClass(definition, 0);128 return adoptRef(new OpaqueJSClass(definition, 0)); 130 129 } 131 130 -
trunk/JavaScriptCore/API/JSClassRef.h
r29663 r30413 58 58 59 59 struct OpaqueJSClass : public RefCounted<OpaqueJSClass> { 60 static OpaqueJSClass*create(const JSClassDefinition*);61 static OpaqueJSClass*createNoAutomaticPrototype(const JSClassDefinition*);60 static PassRefPtr<OpaqueJSClass> create(const JSClassDefinition*); 61 static PassRefPtr<OpaqueJSClass> createNoAutomaticPrototype(const JSClassDefinition*); 62 62 ~OpaqueJSClass(); 63 63 -
trunk/JavaScriptCore/API/JSObjectRef.cpp
r30040 r30413 50 50 { 51 51 JSLock lock; 52 JSClassRefjsClass = (definition->attributes & kJSClassAttributeNoAutomaticPrototype)52 RefPtr<OpaqueJSClass> jsClass = (definition->attributes & kJSClassAttributeNoAutomaticPrototype) 53 53 ? OpaqueJSClass::createNoAutomaticPrototype(definition) 54 54 : OpaqueJSClass::create(definition); 55 55 56 return JSClassRetain(jsClass);56 return jsClass.release().releaseRef(); 57 57 } 58 58 -
trunk/JavaScriptCore/ChangeLog
r30408 r30413 1 2008-02-19 Anders Carlsson <[email protected]> 2 3 Reviewed by Darin. 4 5 Change OpaqueJSClass and RootObject to start with a ref count of 1. 6 7 * API/JSClassRef.cpp: 8 (OpaqueJSClass::OpaqueJSClass): 9 (OpaqueJSClass::createNoAutomaticPrototype): 10 (OpaqueJSClass::create): 11 * API/JSClassRef.h: 12 * API/JSObjectRef.cpp: 13 (JSClassCreate): 14 * bindings/runtime_root.cpp: 15 (KJS::Bindings::RootObject::create): 16 (KJS::Bindings::RootObject::RootObject): 17 1 18 2008-02-19 Darin Adler <[email protected]> 2 19 -
trunk/JavaScriptCore/bindings/runtime_root.cpp
r30122 r30413 198 198 PassRefPtr<RootObject> RootObject::create(const void* nativeHandle, JSGlobalObject* globalObject) 199 199 { 200 return new RootObject(nativeHandle, globalObject);200 return adoptRef(new RootObject(nativeHandle, globalObject)); 201 201 } 202 202 203 203 RootObject::RootObject(const void* nativeHandle, JSGlobalObject* globalObject) 204 : RefCounted<RootObject>(0) 205 , m_isValid(true) 204 : m_isValid(true) 206 205 , m_nativeHandle(nativeHandle) 207 206 , m_globalObject(globalObject)
Note:
See TracChangeset
for help on using the changeset viewer.