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