Changeset 31459 in webkit


Ignore:
Timestamp:
Mar 31, 2008 9:52:39 AM (16 years ago)
Author:
Adam Roben
Message:

Make PluginPackage work like our other RefCounted classes

PluginPackage now starts with a ref count of 1, and its createPackage
method now returns a PassRefPtr instead of a raw pointer.

Reviewed by Darin Adler.

  • plugins/PluginPackage.cpp: (WebCore::PluginPackage::PluginPackage): Removed explicit call to the RefCounted constructor so that we'll start with a ref count of 1. (WebCore::PluginPackage::createPackage): Changed to return a PassRefPtr.
  • plugins/PluginPackage.h:
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginsInPaths): Changed to store the newly-created PluginPackage in a RefPtr.
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::addPluginsFromRegistry): Ditto. (WebCore::PluginDatabase::getPluginsInPaths): Ditto.
Location:
trunk/WebCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r31458 r31459  
     12008-03-29  Adam Roben  <aroben@apple.com>
     2
     3        Make PluginPackage work like our other RefCounted classes
     4
     5        PluginPackage now starts with a ref count of 1, and its createPackage
     6        method now returns a PassRefPtr instead of a raw pointer.
     7
     8        Reviewed by Darin Adler.
     9
     10        * plugins/PluginPackage.cpp:
     11        (WebCore::PluginPackage::PluginPackage): Removed explicit call to the
     12        RefCounted constructor so that we'll start with a ref count of 1.
     13        (WebCore::PluginPackage::createPackage): Changed to return a
     14        PassRefPtr.
     15        * plugins/PluginPackage.h:
     16        * plugins/gtk/PluginDatabaseGtk.cpp:
     17        (WebCore::PluginDatabase::getPluginsInPaths): Changed to store the
     18        newly-created PluginPackage in a RefPtr.
     19        * plugins/win/PluginDatabaseWin.cpp:
     20        (WebCore::addPluginsFromRegistry): Ditto.
     21        (WebCore::PluginDatabase::getPluginsInPaths): Ditto.
     22
    1232008-03-29  Adam Roben  <aroben@apple.com>
    224
  • trunk/WebCore/plugins/PluginPackage.cpp

    r30650 r31459  
    6060
    6161PluginPackage::PluginPackage(const String& path, const PlatformFileTime& lastModified)
    62     : RefCounted<PluginPackage>(0)
    63     , m_path(path)
     62    : m_path(path)
    6463    , m_moduleVersion(0)
    6564    , m_module(0)
     
    105104}
    106105
    107 PluginPackage* PluginPackage::createPackage(const String& path, const PlatformFileTime& lastModified)
     106PassRefPtr<PluginPackage> PluginPackage::createPackage(const String& path, const PlatformFileTime& lastModified)
    108107{
    109     PluginPackage* package = new PluginPackage(path, lastModified);
     108    RefPtr<PluginPackage> package = adoptRef(new PluginPackage(path, lastModified));
    110109
    111     if (!package->fetchInfo()) {
    112         delete package;
     110    if (!package->fetchInfo())
    113111        return 0;
    114     }
    115112   
    116     return package;
     113    return package.release();
    117114}
    118115
  • trunk/WebCore/plugins/PluginPackage.h

    r31234 r31459  
    4444    public:
    4545        ~PluginPackage();
    46         static PluginPackage* createPackage(const String& path, const PlatformFileTime& lastModified);
     46        static PassRefPtr<PluginPackage> createPackage(const String& path, const PlatformFileTime& lastModified);
    4747       
    4848        String name() const { return m_name; }
  • trunk/WebCore/plugins/gtk/PluginDatabaseGtk.cpp

    r31096 r31459  
    5050
    5151            gchar* filename = g_build_filename((it->utf8()).data(), name, 0);
    52             PluginPackage* pluginPackage = PluginPackage::createPackage(filename, time(0));
     52            RefPtr<PluginPackage> pluginPackage = PluginPackage::createPackage(filename, time(0));
    5353            if (pluginPackage)
    5454                plugins.add(pluginPackage);
  • trunk/WebCore/plugins/win/PluginDatabaseWin.cpp

    r30698 r31459  
    6767            continue;
    6868
    69         PluginPackage* package = PluginPackage::createPackage(String(pathStr, pathStrSize / sizeof(WCHAR) - 1), attributes.ftLastWriteTime);
     69        RefPtr<PluginPackage> package = PluginPackage::createPackage(String(pathStr, pathStrSize / sizeof(WCHAR) - 1), attributes.ftLastWriteTime);
    7070
    7171        if (package)
     
    8585    WIN32_FIND_DATAW findFileData;
    8686
    87     PluginPackage* oldWMPPlugin = 0;
    88     PluginPackage* newWMPPlugin = 0;
     87    RefPtr<PluginPackage> oldWMPPlugin;
     88    RefPtr<PluginPackage> newWMPPlugin;
    8989
    9090    Vector<String>::const_iterator end = m_pluginPaths.end();
     
    110110                continue;
    111111       
    112             PluginPackage* pluginPackage = PluginPackage::createPackage(fullPath, findFileData.ftLastWriteTime);
     112            RefPtr<PluginPackage> pluginPackage = PluginPackage::createPackage(fullPath, findFileData.ftLastWriteTime);
    113113
    114114            if (pluginPackage) {
Note: See TracChangeset for help on using the changeset viewer.