Changeset 21388 in webkit


Ignore:
Timestamp:
May 10, 2007 7:01:11 PM (17 years ago)
Author:
ggaren
Message:

WebCore:

Reviewed by Darin Adler.

"IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness,
in the style of WebCore::cache().

  • WebCore.exp:
  • history/HistoryItem.cpp: Removed retainIconInDatabase because calling "retain" in order to release something is really confusing and, now that iconDatabase() is more terse, we don't need this helper to shorten the syntax. (The isEmpty() check is also done by the database, so we don't need it either.)

(WebCore::IconDatabase::~IconDatabase): ASSERT that our destructor isn't
called. We're a singleton, so it's confusing to have tear-down code.

WebKit:

Reviewed by Darin Adler.


"IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness.

Location:
trunk
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r21387 r21388  
     12007-05-10  Geoffrey Garen  <ggaren@apple.com>
     2
     3        Reviewed by Darin Adler.
     4
     5        "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness,
     6        in the style of WebCore::cache().
     7
     8        * WebCore.exp:
     9        * history/HistoryItem.cpp: Removed retainIconInDatabase because calling
     10        "retain" in order to release something is really confusing and, now that
     11        iconDatabase() is more terse, we don't need this helper to shorten the
     12        syntax. (The isEmpty() check is also done by the database, so we don't
     13        need it either.)
     14
     15        (WebCore::IconDatabase::~IconDatabase): ASSERT that our destructor isn't
     16        called. We're a singleton, so it's confusing to have tear-down code.
     17
    1182007-05-10  Adele Peterson  <adele@apple.com>
    219
  • trunk/WebCore/WebCore.exp

    r21387 r21388  
    217217__ZN7WebCore12IconDatabase17iconURLForPageURLERKNS_6StringE
    218218__ZN7WebCore12IconDatabase18hasEntryForIconURLERKNS_6StringE
    219 __ZN7WebCore12IconDatabase18sharedIconDatabaseEv
    220219__ZN7WebCore12IconDatabase20retainIconForPageURLERKNS_6StringE
    221220__ZN7WebCore12IconDatabase20setIconURLForPageURLERKNS_6StringES3_
     
    232231__ZN7WebCore12SharedBuffer10wrapNSDataEP6NSData
    233232__ZN7WebCore12SharedBuffer12createNSDataEv
     233__ZN7WebCore12iconDatabaseEv
    234234__ZN7WebCore13HitTestResultC1ERKS0_
    235235__ZN7WebCore13HitTestResultD1Ev
  • trunk/WebCore/history/HistoryItem.cpp

    r21261 r21388  
    6666    , m_visitCount(0)
    6767{   
    68     retainIconInDatabase(true);
     68    iconDatabase()->retainIconForPageURL(m_urlString);
    6969}
    7070
     
    7777    , m_visitCount(0)
    7878{   
    79     retainIconInDatabase(true);
     79    iconDatabase()->retainIconForPageURL(m_urlString);
    8080}
    8181
     
    9090    , m_visitCount(0)
    9191{   
    92     retainIconInDatabase(true);
     92    iconDatabase()->retainIconForPageURL(m_urlString);
    9393}
    9494
    9595HistoryItem::~HistoryItem()
    9696{
    97     retainIconInDatabase(false);
     97    iconDatabase()->releaseIconForPageURL(m_urlString);
    9898}
    9999
     
    143143}
    144144
    145 void HistoryItem::retainIconInDatabase(bool retain)
    146 {
    147     if (!m_urlString.isEmpty()) {
    148         if (retain)
    149             IconDatabase::sharedIconDatabase()->retainIconForPageURL(m_urlString);
    150         else
    151             IconDatabase::sharedIconDatabase()->releaseIconForPageURL(m_urlString);
    152     }
    153 }
    154 
    155145const String& HistoryItem::urlString() const
    156146{
     
    177167Image* HistoryItem::icon() const
    178168{
    179     Image* result = IconDatabase::sharedIconDatabase()->iconForPageURL(m_urlString, IntSize(16,16));
    180     return result ? result : IconDatabase::sharedIconDatabase()->defaultIcon(IntSize(16,16));
     169    Image* result = iconDatabase()->iconForPageURL(m_urlString, IntSize(16,16));
     170    return result ? result : iconDatabase()->defaultIcon(IntSize(16,16));
    181171}
    182172
     
    215205{
    216206    if (m_urlString != urlString) {
    217         retainIconInDatabase(false);
     207        iconDatabase()->releaseIconForPageURL(m_urlString);
    218208        m_urlString = urlString;
    219         retainIconInDatabase(true);
     209        iconDatabase()->retainIconForPageURL(m_urlString);
    220210    }
    221211   
  • trunk/WebCore/history/HistoryItem.h

    r21261 r21388  
    7878    Image* icon() const;
    7979   
    80     void retainIconInDatabase(bool retain);
    8180    static void performPendingReleaseOfCachedPages();
    8281    void setCachedPage(PassRefPtr<CachedPage>);
  • trunk/WebCore/loader/FrameLoader.cpp

    r21367 r21388  
    10061006        return;
    10071007
    1008     IconDatabase* iconDB = IconDatabase::sharedIconDatabase();
    1009     if (!iconDB)
    1010         return;
    1011     if (!iconDB->enabled())
     1008    if (!iconDatabase() || !iconDatabase()->enabled())
    10121009        return;
    10131010
     
    10181015
    10191016    // If we already have an unexpired icon, we won't kick off a load but we *will* map the appropriate URLs to it
    1020     if (iconDB->hasEntryForIconURL(urlString) && loadType() != FrameLoadTypeReload && !iconDB->isIconExpiredForIconURL(urlString)) {
     1017    if (iconDatabase()->hasEntryForIconURL(urlString) && loadType() != FrameLoadTypeReload && !iconDatabase()->isIconExpiredForIconURL(urlString)) {
    10211018        commitIconURLToIconDatabase(url);
    10221019        return;
     
    10521049void FrameLoader::commitIconURLToIconDatabase(const KURL& icon)
    10531050{
    1054     IconDatabase* iconDB = IconDatabase::sharedIconDatabase();
    1055     ASSERT(iconDB);
    1056     iconDB->setIconURLForPageURL(icon.url(), m_URL.url());
    1057     iconDB->setIconURLForPageURL(icon.url(), originalRequestURL().url());
     1051    ASSERT(iconDatabase());
     1052    iconDatabase()->setIconURLForPageURL(icon.url(), m_URL.url());
     1053    iconDatabase()->setIconURLForPageURL(icon.url(), originalRequestURL().url());
    10581054}
    10591055
  • trunk/WebCore/loader/icon/IconDatabase.cpp

    r21073 r21388  
    4545namespace WebCore {
    4646
    47 static IconDatabase* sharedInstance = 0;
     47static IconDatabase* sharedIconDatabase = 0;
    4848
    4949// This version number is in the DB and marks the current generation of the schema
     
    6767}
    6868
    69 IconDatabase* IconDatabase::sharedIconDatabase()
    70 {
    71     if (!sharedInstance)
    72         sharedInstance = new IconDatabase;
    73     return sharedInstance;
     69IconDatabase* iconDatabase()
     70{
     71    if (!sharedIconDatabase)
     72        sharedIconDatabase = new IconDatabase;
     73    return sharedIconDatabase;
    7474}
    7575
     
    934934    setImportedQuery(m_mainDB, import);
    935935}
    936    
     936
    937937IconDatabase::~IconDatabase()
    938938{
    939     close();
    940     m_startupTimer.stop();
    941     m_updateTimer.stop();
    942     if (sharedInstance == this)
    943         sharedInstance = 0;
     939    ASSERT_NOT_REACHED();
    944940}
    945941
  • trunk/WebCore/loader/icon/IconDatabase.h

    r21073 r21388  
    4444class IconDatabase : Noncopyable {
    4545public:
    46     static IconDatabase* sharedIconDatabase();
    47 
    4846    bool open(const String& path);
    4947    bool isOpen() { return m_mainDB.isOpen() && m_privateBrowsingDB.isOpen(); }
     
    8684    IconDatabase();
    8785    ~IconDatabase();
     86    friend IconDatabase* iconDatabase();
    8887
    8988    // This tries to get the iconID for the IconURL and, if it doesn't exist and createIfNecessary is true,
     
    213212};
    214213
    215 } //namespace WebCore
     214// Function to obtain the global icon database.
     215IconDatabase* iconDatabase();
     216
     217} // namespace WebCore
    216218
    217219#endif
  • trunk/WebCore/loader/icon/IconLoader.cpp

    r20350 r21388  
    135135    ASSERT(m_resourceLoader);
    136136    if (!iconURL.isEmpty() && m_resourceLoader) {
    137         IconDatabase::sharedIconDatabase()->setIconDataForIconURL(m_resourceLoader->resourceData(), iconURL.url());
     137        iconDatabase()->setIconDataForIconURL(m_resourceLoader->resourceData(), iconURL.url());
    138138        m_frame->loader()->commitIconURLToIconDatabase(iconURL);
    139139        m_frame->loader()->client()->dispatchDidReceiveIcon();
  • trunk/WebKit/ChangeLog

    r21387 r21388  
     12007-05-10  Geoffrey Garen  <ggaren@apple.com>
     2
     3        Reviewed by Darin Adler.
     4       
     5        "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness.
     6
    172007-05-10  Adele Peterson  <adele@apple.com>
    28
  • trunk/WebKit/Misc/WebIconDatabase.mm

    r21073 r21388  
    100100    [initialDefaults release];
    101101    BOOL enabled = [defaults boolForKey:WebIconDatabaseEnabledDefaultsKey];
    102     IconDatabase::sharedIconDatabase()->setEnabled(enabled);
     102    iconDatabase()->setEnabled(enabled);
    103103    if (!enabled)
    104104        return self;
     
    117117    NSFileManager *defaultManager = [NSFileManager defaultManager];
    118118    if ([defaultManager fileExistsAtPath:legacyDB isDirectory:&isDirectory] && !isDirectory) {
    119         NSString *newDB = [databaseDirectory stringByAppendingPathComponent:IconDatabase::sharedIconDatabase()->defaultDatabaseFilename()];
     119        NSString *newDB = [databaseDirectory stringByAppendingPathComponent:iconDatabase()->defaultDatabaseFilename()];
    120120        if (![defaultManager fileExistsAtPath:newDB])
    121121            rename([legacyDB fileSystemRepresentation], [newDB fileSystemRepresentation]);
     
    123123   
    124124    // Open the WebCore icon database and import the old WebKit icon database
    125     if (!IconDatabase::sharedIconDatabase()->open(databaseDirectory))
     125    if (!iconDatabase()->open(databaseDirectory))
    126126        LOG_ERROR("Unable to open icon database");
    127127    else
     
    129129            [self _importToWebCoreFormat];
    130130
    131     IconDatabase::sharedIconDatabase()->setPrivateBrowsingEnabled([[WebPreferences standardPreferences] privateBrowsingEnabled]);
     131    iconDatabase()->setPrivateBrowsingEnabled([[WebPreferences standardPreferences] privateBrowsingEnabled]);
    132132   
    133133    // Register for important notifications
     
    156156        return [self _iconForFileURL:URL withSize:size];
    157157     
    158     if (Image* image = IconDatabase::sharedIconDatabase()->iconForPageURL(URL, IntSize(size)))
     158    if (Image* image = iconDatabase()->iconForPageURL(URL, IntSize(size)))
    159159        if (NSImage *icon = webGetNSImage(image, size))
    160160            return icon;
     
    173173    ASSERT_MAIN_THREAD();
    174174
    175     return IconDatabase::sharedIconDatabase()->iconURLForPageURL(URL);
     175    return iconDatabase()->iconURLForPageURL(URL);
    176176}
    177177
     
    182182    ASSERT(size.height);
    183183   
    184     Image* image = IconDatabase::sharedIconDatabase()->defaultIcon(IntSize(size));
     184    Image* image = iconDatabase()->defaultIcon(IntSize(size));
    185185    return image ? image->getNSImage() : nil;
    186186}
     
    200200        return;
    201201
    202     IconDatabase::sharedIconDatabase()->retainIconForPageURL(URL);
     202    iconDatabase()->retainIconForPageURL(URL);
    203203}
    204204
     
    210210        return;
    211211
    212     IconDatabase::sharedIconDatabase()->releaseIconForPageURL(pageURL);
     212    iconDatabase()->releaseIconForPageURL(pageURL);
    213213}
    214214
     
    234234    if (![self _isEnabled])
    235235        return;
    236     IconDatabase::sharedIconDatabase()->removeAllIcons();
     236    iconDatabase()->removeAllIcons();
    237237    // FIXME: This notification won't get sent if WebCore calls removeAllIcons.
    238238    [[NSNotificationCenter defaultCenter] postNotificationName:WebIconDatabaseDidRemoveAllIconsNotification
     
    247247- (BOOL)_isEnabled
    248248{
    249     return IconDatabase::sharedIconDatabase()->enabled();
     249    return iconDatabase()->enabled();
    250250}
    251251
     
    259259    // The WebCore::IconDatabase returns TRUE if we should send the notification, and false if we shouldn't.
    260260    // This is a measurable win on the iBench - about 1% worth on average
    261     if (IconDatabase::sharedIconDatabase()->setIconURLForPageURL(iconURL, URL))
     261    if (iconDatabase()->setIconURLForPageURL(iconURL, URL))
    262262        // FIXME: This notification won't get set when WebCore sets an icon.
    263263        [self _sendNotificationForURL:URL];
     
    268268    ASSERT([self _isEnabled]);
    269269
    270     return IconDatabase::sharedIconDatabase()->hasEntryForIconURL(iconURL);
     270    return iconDatabase()->hasEntryForIconURL(iconURL);
    271271}
    272272
     
    284284- (void)_applicationWillTerminate:(NSNotification *)notification
    285285{
    286     IconDatabase::sharedIconDatabase()->close();
     286    iconDatabase()->close();
    287287}
    288288
     
    320320{
    321321    BOOL privateBrowsingEnabledNow = [[WebPreferences standardPreferences] privateBrowsingEnabled];
    322     IconDatabase::sharedIconDatabase()->setPrivateBrowsingEnabled(privateBrowsingEnabledNow);
     322    iconDatabase()->setPrivateBrowsingEnabled(privateBrowsingEnabledNow);
    323323}
    324324
     
    499499   
    500500    // If we've already performed the import once we shouldn't try to do it again
    501     if (IconDatabase::sharedIconDatabase()->imported())
     501    if (iconDatabase()->imported())
    502502        return;
    503503
     
    531531        if (!iconURL)
    532532            continue;
    533         IconDatabase::sharedIconDatabase()->setIconURLForPageURL(iconURL, url);
     533        iconDatabase()->setIconURLForPageURL(iconURL, url);
    534534    }   
    535535
     
    543543        iconData = iconDataFromPathForIconURL(databaseDirectory, url);
    544544        if (iconData)
    545             IconDatabase::sharedIconDatabase()->setIconDataForIconURL(SharedBuffer::wrapNSData(iconData), url);
     545            iconDatabase()->setIconDataForIconURL(SharedBuffer::wrapNSData(iconData), url);
    546546        else {
    547547            // This really *shouldn't* happen, so it'd be good to track down why it might happen in a debug build
    548548            // however, we do know how to handle it gracefully in release
    549549            LOG_ERROR("%@ is marked as having an icon on disk, but we couldn't get the data for it", url);
    550             IconDatabase::sharedIconDatabase()->setHaveNoIconForIconURL(url);
     550            iconDatabase()->setHaveNoIconForIconURL(url);
    551551        }
    552552    }
    553553
    554     IconDatabase::sharedIconDatabase()->setImported(true);
     554    iconDatabase()->setImported(true);
    555555   
    556556    // After we're done importing old style icons over to webcore icons, we delete the entire directory hierarchy
     
    559559    enumerator = [[fileManager directoryContentsAtPath:databaseDirectory] objectEnumerator];
    560560   
    561     NSString *databaseFilename = IconDatabase::sharedIconDatabase()->defaultDatabaseFilename();
     561    NSString *databaseFilename = iconDatabase()->defaultDatabaseFilename();
    562562
    563563    BOOL foundIconDB = NO;
  • trunk/WebKit/WebCoreSupport/WebFrameLoaderClient.mm

    r21160 r21388  
    428428    id delegate = [webView frameLoadDelegate];
    429429    if ([delegate respondsToSelector:@selector(webView:didReceiveIcon:forFrame:)]) {
    430         Image* image = IconDatabase::sharedIconDatabase()->
     430        Image* image = iconDatabase()->
    431431            iconForPageURL(core(m_webFrame.get())->loader()->url().url(), IntSize(16, 16));
    432432        NSImage *icon = webGetNSImage(image, NSMakeSize(16, 16));
Note: See TracChangeset for help on using the changeset viewer.