Changeset 30413 in webkit


Ignore:
Timestamp:
Feb 19, 2008, 2:09:48 PM (18 years ago)
Author:
[email protected]
Message:

Reviewed by Darin.

Change OpaqueJSClass and RootObject to start with a ref count of 1.


  • API/JSClassRef.cpp: (OpaqueJSClass::OpaqueJSClass): (OpaqueJSClass::createNoAutomaticPrototype): (OpaqueJSClass::create):
  • API/JSClassRef.h:
  • API/JSObjectRef.cpp: (JSClassCreate):
  • bindings/runtime_root.cpp: (KJS::Bindings::RootObject::create): (KJS::Bindings::RootObject::RootObject):
Location:
trunk/JavaScriptCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/API/JSClassRef.cpp

    r30122 r30413  
    4141OpaqueJSClass::OpaqueJSClass(const JSClassDefinition* definition, OpaqueJSClass* protoClass)
    4242    // FIXME: <rdar://problem/4949018>
    43     : RefCounted<OpaqueJSClass>(0)
    44     , className(definition->className)
     43    : className(definition->className)
    4544    , parentClass(definition->parentClass)
    4645    , prototypeClass(0)
     
    10099}
    101100
    102 JSClassRef OpaqueJSClass::createNoAutomaticPrototype(const JSClassDefinition* definition)
     101PassRefPtr<OpaqueJSClass> OpaqueJSClass::createNoAutomaticPrototype(const JSClassDefinition* definition)
    103102{
    104     return new OpaqueJSClass(definition, 0);
     103    return adoptRef(new OpaqueJSClass(definition, 0));
    105104}
    106105
     
    112111}
    113112
    114 JSClassRef OpaqueJSClass::create(const JSClassDefinition* definition)
     113PassRefPtr<OpaqueJSClass> OpaqueJSClass::create(const JSClassDefinition* definition)
    115114{
    116115    if (const JSStaticFunction* staticFunctions = definition->staticFunctions) {
     
    124123        JSClassDefinition objectDefinition = *definition;
    125124        objectDefinition.staticFunctions = 0;
    126         return new OpaqueJSClass(&objectDefinition, protoClass);
     125        return adoptRef(new OpaqueJSClass(&objectDefinition, protoClass));
    127126    }
    128127
    129     return new OpaqueJSClass(definition, 0);
     128    return adoptRef(new OpaqueJSClass(definition, 0));
    130129}
    131130
  • trunk/JavaScriptCore/API/JSClassRef.h

    r29663 r30413  
    5858
    5959struct 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*);
    6262    ~OpaqueJSClass();
    6363   
  • trunk/JavaScriptCore/API/JSObjectRef.cpp

    r30040 r30413  
    5050{
    5151    JSLock lock;
    52     JSClassRef jsClass = (definition->attributes & kJSClassAttributeNoAutomaticPrototype)
     52    RefPtr<OpaqueJSClass> jsClass = (definition->attributes & kJSClassAttributeNoAutomaticPrototype)
    5353        ? OpaqueJSClass::createNoAutomaticPrototype(definition)
    5454        : OpaqueJSClass::create(definition);
    5555   
    56     return JSClassRetain(jsClass);
     56    return jsClass.release().releaseRef();
    5757}
    5858
  • trunk/JavaScriptCore/ChangeLog

    r30408 r30413  
     12008-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
    1182008-02-19  Darin Adler  <[email protected]>
    219
  • trunk/JavaScriptCore/bindings/runtime_root.cpp

    r30122 r30413  
    198198PassRefPtr<RootObject> RootObject::create(const void* nativeHandle, JSGlobalObject* globalObject)
    199199{
    200     return new RootObject(nativeHandle, globalObject);
     200    return adoptRef(new RootObject(nativeHandle, globalObject));
    201201}
    202202
    203203RootObject::RootObject(const void* nativeHandle, JSGlobalObject* globalObject)
    204     : RefCounted<RootObject>(0)
    205     , m_isValid(true)
     204    : m_isValid(true)
    206205    , m_nativeHandle(nativeHandle)
    207206    , m_globalObject(globalObject)
Note: See TracChangeset for help on using the changeset viewer.