2011-03-26 Andreas Kling <kling@webkit.org>
Reviewed by Kenneth Rohde Christiansen. [Qt] QWebFrame::iconChanged() not emitted when icon is cached but not yet loaded https://bugs.webkit.org/show_bug.cgi?id=57157 Add an IconDatabaseClient for the Qt port to ensure that QWebFrame::iconChanged() is always emitted when appropriate. * QtWebKit.pro: Add new files. * WebCoreSupport/IconDatabaseClientQt.h: Added. * WebCoreSupport/IconDatabaseClientQt.cpp: Added. (WebCore::IconDatabaseClientQt::instance): (WebCore::IconDatabaseClientQt::IconDatabaseClientQt): (WebCore::IconDatabaseClientQt::~IconDatabaseClientQt): (WebCore::IconDatabaseClientQt::performImport): (WebCore::IconDatabaseClientQt::didRemoveAllIcons): (WebCore::IconDatabaseClientQt::didImportIconURLForPageURL): (WebCore::IconDatabaseClientQt::didImportIconDataForPageURL): (WebCore::IconDatabaseClientQt::didChangeIconForPageURL): (WebCore::IconDatabaseClientQt::didFinishURLImport): * WebCoreSupport/FrameLoaderClientQt.h: * WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::registerForIconNotification): (WebCore::FrameLoaderClientQt::onIconLoadedForPageURL): New slot connected to the IconDatabaseClientQt::iconLoadedForPageURL() signal. This emits the QWebFrame::iconChanged() signal when the IconDatabases finishes loading a cached favicon for the frame's URL. * Api/qwebsettings.cpp: (QWebSettings::setIconDatabasePath): Make sure that IconDatabaseClientQt is instantiated. An IconDatabaseClient has to be registered before the IconDatabase spawns its reader thread. git-svn-id: svn://svn.chromium.org/blink/trunk@82034 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Showing
Please register or sign in to comment