WebCore:
authorbeidson <beidson@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 8 Aug 2006 07:28:51 +0000 (07:28 +0000)
committerbeidson <beidson@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 8 Aug 2006 07:28:51 +0000 (07:28 +0000)
commit3dfa0f085c0903336bd2fc40c0105f44eb488f7d
tree7e863dcb47ec2dd13a039ad5671aea2e0b82883f
parent5a968ab24aa8103ee0f431e7f34022a96877c6ee
WebCore:

        Reviewed by Anders and John

        Icons can now refresh when new data is sent from WebKit, both on disk and in memory

        * bridge/mac/WebCoreIconDatabaseBridge.h:
        * bridge/mac/WebCoreIconDatabaseBridge.mm:
        (WebCore::IconDatabase::loadIconFromURL):  Allows WebCore/Kit to kick off a load
        outside of any greater context
        (-[WebCoreIconDatabaseBridge isIconExpiredForIconURL:]):
        (-[WebCoreIconDatabaseBridge isIconExpiredForPageURL:]): Allows WebKit
        to get whether or not an icon has expired

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::recreateDatabase): Changed database schema slightly
        (WebCore::IconDatabase::createPrivateTables): Changed database schema slightly
        (WebCore::IconDatabase::iconForPageURL):
        (WebCore::IconDatabase::isIconExpiredForIconURL): Get if an icon has expired
        (WebCore::IconDatabase::isIconExpiredForPageURL): Get if an icon has expired
        (WebCore::IconDatabase::setIconDataForIconURL): Force a refresh of the in memory
        image when new icon data is loaded
        (WebCore::IconDatabase::setIconURLForPageURL): added a check for null iconID

        * loader/icon/IconDatabase.h: added/changed some methods
        * loader/icon/SiteIcon.cpp:
        (SiteIcon::getImage): simplified/removed debugging code
        (SiteIcon::manuallySetImageData): allow the image data to be changed when new icon
        data is loaded

WebKit:

        Reviewed by Anders and John

        * Misc/WebIconDatabase.m:
        (-[WebIconDatabase init]):
        (-[WebIconDatabase isIconExpiredForIconURL:]): Get if an icon expired
        (-[WebIconDatabase isIconExpiredForPageURL:]): Ditto
        (-[WebIconDatabase _setIconURL:forURL:]):
        (-[WebIconDatabase _sendNotificationForURL:]): Moved to WebKitPendingPublic for use outside of WebIconDatabase
        (-[WebIconDatabase loadIconFromURL:]): Allow a load outside the context of a page load
        * Misc/WebIconDatabasePrivate.h:

        * Misc/WebIconLoader.m:
        (-[WebIconLoader didFinishLoading]): fixed up the "flipping the switch" #defs a bit
        (-[WebIconLoader willSendRequest:redirectResponse:]): override to allow a load
        outside of the context of a page load

        * WebCoreSupport/WebIconDatabaseBridge.h: Added.
        * WebCoreSupport/WebIconDatabaseBridge.m: Added.
        (-[WebIconDatabaseBridge init]):
        (-[WebIconDatabaseBridge dealloc]):
        (-[WebIconDatabaseBridge loadIconFromURL:]):  Kick off a load on an icon outside
        of the context of any page load
        (-[WebIconDatabaseBridge _setIconData:forIconURL:]):  WebKit side of bridge method
        (-[WebIconDatabaseBridge _setHaveNoIconForIconURL:]):  WebKit side of bridge method
        (-[WebIconDatabaseBridge releaseCachedLoaderForIconURL:]):
        (+[WebIconDatabaseBridge sharedBridgeInstance]): Moved this from WebCore to WebKit
        so both sides of the bridge get the WebKit version
        * WebKit.xcodeproj/project.pbxproj: Added some files
        * WebView/WebDataSource.m:
        (-[WebDataSource _loadIcon]): Added check for reload/expired icon to force
        a load even if we already have it

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15815 268f45cc-cd09-0410-ab3c-d52691b4dbfc
14 files changed:
WebCore/ChangeLog
WebCore/bridge/mac/WebCoreIconDatabaseBridge.h
WebCore/bridge/mac/WebCoreIconDatabaseBridge.mm
WebCore/loader/icon/IconDatabase.cpp
WebCore/loader/icon/IconDatabase.h
WebCore/loader/icon/SiteIcon.cpp
WebKit/ChangeLog
WebKit/Misc/WebIconDatabase.m
WebKit/Misc/WebIconDatabasePrivate.h
WebKit/Misc/WebIconLoader.m
WebKit/WebCoreSupport/WebIconDatabaseBridge.h [new file with mode: 0644]
WebKit/WebCoreSupport/WebIconDatabaseBridge.m [new file with mode: 0644]
WebKit/WebKit.xcodeproj/project.pbxproj
WebKit/WebView/WebDataSource.m