WebCore:
authorbeidson <beidson@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 14 Sep 2006 07:20:47 +0000 (07:20 +0000)
committerbeidson <beidson@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 14 Sep 2006 07:20:47 +0000 (07:20 +0000)
commit1fc3d8c7f64c73f5656f6c6601dd90f48d918290
treeebab4f87c9a3c0f7b3fe1fc0402e34e0cf094506
parent4767ed07147c69444d42e0c9403b83aa88b7ca91
WebCore:

        Reviewed by Maciej

        Icon loads now take place in WebCore

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/BrowserExtension.h:
        * bridge/mac/BrowserExtensionMac.h:
        * bridge/mac/BrowserExtensionMac.mm:
        - Moved enforcement of a Mozilla Favicon extension elsewhere

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::originalRequestURL):
        - Added accessor to "original request URL"

        * bridge/mac/WebCoreFrameBridge.h:
        - Removed methods to set the iconURL as all loading is now done in WebCore
        - Added call throughs to notify WebKit an Icon is done loading, and a to get the original request URL

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process):
        - Moved enforcement of a Mozilla Favicon extension elsewhere

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::setIconURLForPageURL):
        - Changed an ASSERT to correctly handle a sketchy (invalid) situation

        * loader/icon/IconLoader.h: Added.
        * loader/icon/IconLoader.cpp: Added.
        (IconLoader::IconLoader):
        (IconLoader::createForFrame):
        - Static factory method with a private constructor to enforce
          "you MUST have a Frame to create an IconLoader" semantics
        (IconLoader::~IconLoader):
        (IconLoader::startLoading):
        (IconLoader::stopLoading):
        (IconLoader::receivedData):
        - ResourceLoaderClient delegate
        (IconLoader::receivedAllData):
        - Ditto

        * loader/mac/IconLoaderMac.mm: Added.
        (IconLoader::receivedResponse):
        (IconLoader::notifyIconChanged):
        - For now, these are platform specific methods
        - One to get the HTTP response code of an icon load
        - The other to call through to the app when the icon has changed (loaded)

        * page/Frame.h:
        * page/Frame.cpp:
        (WebCore::Frame::iconURL):
        (WebCore::Frame::setIconURL):
        - Frame objects now have an inherent icon URL and a way to calculate/access it
        (WebCore::Frame::endIfNotLoading):
        - This is where we actually kick off the IconLoader
        (WebCore::Frame::stop):
        - Added call to stop loading the icon

        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):
        (WebCore::FramePrivate::~FramePrivate):
        - Added the icon URL as a private member
        - Added the IconLoader as a private member, and clean it up on deletion

        * platform/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::start):  Added a valuable ASSERT

WebKit:

        Reviewed by Maciej

        Add infrastructure to support icon loads taking place in WebCore
        Will remove WebKit icon loaders in a later patch

        * WebCoreSupport/WebFrameBridge.m:
        (-[WebFrameBridge notifyIconChanged:]):
        (-[WebFrameBridge originalRequestURL]):
        - Nuked two old, obsolete methods
        - Added bridge for notifying of an icon change
        - Added bridge for getting the "original request URL" which is still needed
          until that info is available in the WebCore loaders

        * WebView/WebDataSource.m:
        (-[WebDataSource _loadIcon]):
        - Empty body just for now, as it still gets called - next patch will prune all the old impl out

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@16360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
20 files changed:
WebCore/ChangeLog
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/bridge/BrowserExtension.h
WebCore/bridge/mac/BrowserExtensionMac.h
WebCore/bridge/mac/BrowserExtensionMac.mm
WebCore/bridge/mac/FrameMac.h
WebCore/bridge/mac/FrameMac.mm
WebCore/bridge/mac/WebCoreFrameBridge.h
WebCore/html/HTMLLinkElement.cpp
WebCore/loader/icon/IconDatabase.cpp
WebCore/loader/icon/IconLoader.cpp [new file with mode: 0644]
WebCore/loader/icon/IconLoader.h [new file with mode: 0644]
WebCore/loader/mac/IconLoaderMac.mm [new file with mode: 0644]
WebCore/page/Frame.cpp
WebCore/page/Frame.h
WebCore/page/FramePrivate.h
WebCore/platform/mac/ResourceLoaderMac.mm
WebKit/ChangeLog
WebKit/WebCoreSupport/WebFrameBridge.m
WebKit/WebView/WebDataSource.m