WebCore:
authorbeidson <beidson@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 20 Sep 2006 19:12:08 +0000 (19:12 +0000)
committerbeidson <beidson@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 20 Sep 2006 19:12:08 +0000 (19:12 +0000)
        Reviewed by Darin

        Cleaned up my last patch alot, and made the WebCore icon database disabled by default

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::IconDatabase): Disabled by default
        (WebCore::IconDatabase::removeAllIcons): Respect just isOpen() (disabled database will always be closed)
        (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto
        (WebCore::IconDatabase::iconForPageURL): Ditto
        (WebCore::IconDatabase::isIconExpiredForIconURL): Ditto
        (WebCore::IconDatabase::iconURLForPageURL): Ditto
        (WebCore::IconDatabase::retainIconForPageURL): Ditto
        (WebCore::IconDatabase::releaseIconForPageURL): Ditto
        (WebCore::IconDatabase::setIconDataForIconURL): Ditto
        (WebCore::IconDatabase::setIconURLForPageURL): Ditto
        (WebCore::IconDatabase::hasEntryForIconURL): Ditto
        (WebCore::IconDatabase::setEnabled): Fixed a big bug here!

WebKit:

        Reviewed by Darin

        Preparing to make the WebIconDatabase disabled by default - this patch tells the bridge whether its enabled or not

        * Misc/WebIconDatabase.m:
        (-[WebIconDatabase init]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@16474 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/loader/icon/IconDatabase.cpp
WebKit/ChangeLog
WebKit/Misc/WebIconDatabase.m

index ac736b76cd5bd34844007f9e97fc8260b1b340bf..f72b56d39e8058f0dcaef144138c0c3f30e38187 100644 (file)
@@ -1,3 +1,23 @@
+ope2006-09-20  Brady Eidson  <beidson@apple.com>
+
+        Reviewed by Darin
+
+        Cleaned up my last patch alot, and made the WebCore icon database disabled by default
+
+        * loader/icon/IconDatabase.cpp:
+        (WebCore::IconDatabase::IconDatabase): Disabled by default
+        (WebCore::IconDatabase::removeAllIcons): Respect just isOpen() (disabled database will always be closed)
+        (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto
+        (WebCore::IconDatabase::iconForPageURL): Ditto
+        (WebCore::IconDatabase::isIconExpiredForIconURL): Ditto
+        (WebCore::IconDatabase::iconURLForPageURL): Ditto
+        (WebCore::IconDatabase::retainIconForPageURL): Ditto
+        (WebCore::IconDatabase::releaseIconForPageURL): Ditto
+        (WebCore::IconDatabase::setIconDataForIconURL): Ditto
+        (WebCore::IconDatabase::setIconURLForPageURL): Ditto
+        (WebCore::IconDatabase::hasEntryForIconURL): Ditto
+        (WebCore::IconDatabase::setEnabled): Fixed a big bug here!
+
 2006-09-20  Adam Roben  <aroben@apple.com>
 
         Reviewed by Adele.
index 1e29969b418887027f79e603ebb5ef4810d6345e..8b50f5af1627db079ae051256bf049a3e801b359 100644 (file)
@@ -83,7 +83,7 @@ IconDatabase::IconDatabase()
     , m_imageDataForIconURLStatement(0)
     , m_currentDB(&m_mainDB)
     , m_defaultIconDataCache(0)
-    , m_isEnabled(true)
+    , m_isEnabled(false)
     , m_privateBrowsingEnabled(false)
     , m_startupTimer(this, &IconDatabase::pruneUnretainedIconsOnStartup)
     , m_updateTimer(this, &IconDatabase::updateDatabase)
@@ -204,7 +204,7 @@ void IconDatabase::close()
 
 void IconDatabase::removeAllIcons()
 {
-    if (!m_isEnabled || !isOpen())
+    if (!isOpen())
         return;
         
     // We don't need to sync anything anymore since we're wiping everything.  
@@ -335,7 +335,7 @@ void IconDatabase::imageDataForIconURL(const String& iconURL, Vector<unsigned ch
 
 void IconDatabase::setPrivateBrowsingEnabled(bool flag)
 {
-    if (!m_isEnabled || !isOpen())
+    if (!isOpen())
         return;
     if (m_privateBrowsingEnabled == flag)
         return;
@@ -356,7 +356,7 @@ void IconDatabase::setPrivateBrowsingEnabled(bool flag)
 
 Image* IconDatabase::iconForPageURL(const String& pageURL, const IntSize& size, bool cache)
 {   
-    if (!m_isEnabled || !isOpen())
+    if (!isOpen())
         return defaultIcon(size);
         
     // See if we even have an IconURL for this PageURL...
@@ -382,10 +382,10 @@ Image* IconDatabase::iconForPageURL(const String& pageURL, const IntSize& size,
 // iconExpirationTime to present icons, and missingIconExpirationTime for missing icons
 bool IconDatabase::isIconExpiredForIconURL(const String& iconURL)
 {
-    // If we're disabled and someone is making this call, it is likely a return value of 
+    // If we're closed and someone is making this call, it is likely a return value of 
     // false will discourage them to take any further action, which is our goal in this case
     // Same notion for an empty iconURL - which is now defined as "never expires"
-    if (!m_isEnabled || !isOpen() || iconURL.isEmpty())
+    if (!isOpen() || iconURL.isEmpty())
         return false;
     
     // If we have a IconDataCache, then it definitely has the Timestamp in it
@@ -410,7 +410,7 @@ bool IconDatabase::isIconExpiredForIconURL(const String& iconURL)
     
 String IconDatabase::iconURLForPageURL(const String& pageURL)
 {    
-    if (!m_isEnabled || !isOpen() || pageURL.isEmpty())
+    if (!isOpen() || pageURL.isEmpty())
         return String();
         
     if (m_pageURLToIconURLMap.contains(pageURL))
@@ -444,7 +444,7 @@ Image* IconDatabase::defaultIcon(const IntSize& size)
 
 void IconDatabase::retainIconForPageURL(const String& pageURL)
 {
-    if (!m_isEnabled || !isOpen() || pageURL.isEmpty())
+    if (!isOpen() || pageURL.isEmpty())
         return;
     
     // If we don't have the retain count for this page, we need to setup records of its retain
@@ -486,7 +486,7 @@ void IconDatabase::retainIconForPageURL(const String& pageURL)
 
 void IconDatabase::releaseIconForPageURL(const String& pageURL)
 {
-    if (!m_isEnabled || !isOpen() || pageURL.isEmpty())
+    if (!isOpen() || pageURL.isEmpty())
         return;
         
     // Check if this pageURL is actually retained
@@ -643,7 +643,7 @@ IconDataCache* IconDatabase::getOrCreateIconDataCache(const String& iconURL)
 void IconDatabase::setIconDataForIconURL(const void* data, int size, const String& iconURL)
 {
     ASSERT(size > -1);
-    if (!m_isEnabled || !isOpen() || iconURL.isEmpty())
+    if (!isOpen() || iconURL.isEmpty())
         return;
 
     if (size)
@@ -672,7 +672,7 @@ void IconDatabase::setHaveNoIconForIconURL(const String& iconURL)
 bool IconDatabase::setIconURLForPageURL(const String& iconURL, const String& pageURL)
 {
     ASSERT(!iconURL.isEmpty());
-    if (!m_isEnabled || !isOpen() || pageURL.isEmpty())
+    if (!isOpen() || pageURL.isEmpty())
         return false;
     
     // If the urls already map to each other, bail.
@@ -886,7 +886,7 @@ void IconDatabase::checkForDanglingPageURLs(bool pruneIfFound)
 
 bool IconDatabase::hasEntryForIconURL(const String& iconURL)
 {
-    if (!m_isEnabled || !isOpen() || iconURL.isEmpty())
+    if (!isOpen() || iconURL.isEmpty())
         return false;
         
     // First check the in memory mapped icons...
@@ -908,7 +908,7 @@ bool IconDatabase::hasEntryForIconURL(const String& iconURL)
 
 void IconDatabase::setEnabled(bool enabled)
 {
-    if (isOpen())
+    if (!enabled && isOpen())
         close();
     m_isEnabled = enabled;
 }
index 97d4f04090fe5b788327d10bebb5cee57fe00558..ae8f79e6ccd53c34448823091ae1a64e6eea2f73 100644 (file)
@@ -1,3 +1,12 @@
+2006-09-20  Brady Eidson  <beidson@apple.com>
+
+        Reviewed by Darin
+
+        Preparing to make the WebIconDatabase disabled by default - this patch tells the bridge whether its enabled or not
+
+        * Misc/WebIconDatabase.m:
+        (-[WebIconDatabase init]):
+
 2006-09-19  Brady Eidson <beidson@apple.com>
 
         Reviewed by Sarge Decker
index 6630b4b2ff7b9aaa9aeffd410703b284c3026540..f7c8d6ae59a2c83490425cc6da2f184b74f8439a 100644 (file)
@@ -89,15 +89,16 @@ NSSize WebIconLargeSize = {128, 128};
     }
     
     // Check the user defaults and see if the icon database should even be enabled.
-    // If not, inform the bridge and bail from init right here
+    // Inform the bridge and, if we're disabled, bail from init right here
     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+    // <rdar://problem/4741419> - IconDatabase should be disabled by default
     NSDictionary *initialDefaults = [[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithBool:YES], WebIconDatabaseEnabledDefaultsKey, nil];
     [defaults registerDefaults:initialDefaults];
     [initialDefaults release];
-    if (![defaults boolForKey:WebIconDatabaseEnabledDefaultsKey]) {
-        [_private->databaseBridge _setEnabled:NO];
+    BOOL enabled = [defaults boolForKey:WebIconDatabaseEnabledDefaultsKey];
+    [_private->dataabaseBridge _setEnabled:enabled];
+    if (!enabled)
         return self;
-    }
     
     // Figure out the directory we should be using for the icon.db
     NSString *databaseDirectory = [defaults objectForKey:WebIconDatabaseDirectoryDefaultsKey];