Reviewed by Darin.
authorthatcher <thatcher@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Oct 2006 22:56:13 +0000 (22:56 +0000)
committerthatcher <thatcher@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Oct 2006 22:56:13 +0000 (22:56 +0000)
commit352246beecbd7849f8731a7c443a8e6b4207d490
treea2b972fe84fa6229a6fcff0bfdd4ecefb92e9a7e
parentdfe55e853804f4a9f37044ed444dd2888e862930
    Reviewed by Darin.

        <rdar://problem/4752138> Manipulating popup in HTML page crashed Xcode

        - Store the Mac popup button cell as a RetainPtr to prevent GC collection.
        - Convert more ObjC local statics and member variables to use RetainPtr.
        - Convert more CFRetain/CFRelease to HardRetain/HardRelease.

        * bindings/objc/DOM.mm:
        (ObjCNodeFilterCondition::ObjCNodeFilterCondition): use HardRetain and not CFRetain
        (ObjCNodeFilterCondition::~ObjCNodeFilterCondition): use HardRelease and not CFRelease
        * bridge/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::~AXObjectCache): use HardRelease and not CFRelease
        (WebCore::AXObjectCache::get): use HardRetain and not CFRetain
        (WebCore::AXObjectCache::remove): use HardRelease and not CFRelease
        * bridge/mac/WebCoreFrameBridge.mm:
        (+[WebCoreFrameBridge supportedImageResourceMIMETypes]): use RetainPtr
        (+[WebCoreFrameBridge supportedImageMIMETypes]): ditto
        * bridge/mac/WebCoreIconDatabaseBridge.mm:
        (+[WebCoreIconDatabaseBridge sharedInstance]): use RetainPtr
        * platform/PopupMenu.h: renamed popup to m_popup and switched to RetainPtr<NSPopUpButtonCell>
        * platform/cf/RetainPtr.h:
        (WTF::::operator): implement a missing operator= template function
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenu::PopupMenu): remove nil initialization
        (WebCore::PopupMenu::~PopupMenu): use .get(), remove release message and rename to m_popup
        (WebCore::PopupMenu::clear): use .get() when sending a message and rename to m_popup
        (WebCore::PopupMenu::populate): ditto
        (WebCore::PopupMenu::show): ditto
        (WebCore::PopupMenu::hide): ditto
        (WebCore::PopupMenu::addSeparator): ditto
        (WebCore::PopupMenu::addGroupLabel): ditto
        (WebCore::PopupMenu::addOption): ditto

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@17121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog
WebCore/bindings/objc/DOM.mm
WebCore/bridge/mac/AXObjectCacheMac.mm
WebCore/bridge/mac/WebCoreFrameBridge.mm
WebCore/bridge/mac/WebCoreIconDatabaseBridge.mm
WebCore/platform/PopupMenu.h
WebCore/platform/cf/RetainPtr.h
WebCore/platform/mac/PopupMenuMac.mm