WebCore: Added notification when the favicons for a page are changed
authordglazkov@chromium.org <dglazkov@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 19 Apr 2010 18:49:48 +0000 (18:49 +0000)
committerdglazkov@chromium.org <dglazkov@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 19 Apr 2010 18:49:48 +0000 (18:49 +0000)
commit777cd9bb4b1511e3f9072a5697ff8533011b7c1b
tree37aade374932dc137d7686e92edeb0606e14e67e
parent36c1020d6d7656baa00022994e2aa71d1d894e70
WebCore: Added notification when the favicons for a page are changed
from a script.
The Document object will notify the frame loader, which will
notify the client. Implementations of FrameLoaderClient will
have to add one method; dispatchDidChangeIcons().

Patch by Dave Moore <davemoore@chromium.org> on 2010-04-19
Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=33812

Test: fast/dom/icon-url-property.html

* dom/Document.cpp:
(WebCore::Document::setIconURL):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::setIconURL):
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::iconURL):
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::setIconURL):
(WebCore::FrameLoader::didChangeIcons):
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:

WebKit/chromium: Added notification when the favicons for a page are changed
from a script.
The Document object will notify the frame loader, which will
notify the client. Implementations of FrameLoaderClient will
have to add one method; dispatchDidChangeIcons().

Patch by Dave Moore <davemoore@chromium.org> on 2010-04-19
Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=33812

* public/WebFrameClient.h:
(WebKit::WebFrameClient::didChangeIcons):
* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::dispatchDidChangeIcons):
* src/FrameLoaderClientImpl.h:

WebKit/gtk: Added notification when the favicons for a page are changed
from a script.
The Document object will notify the frame loader, which will
notify the client. Implementations of FrameLoaderClient will
have to add one method; dispatchDidChangeIcons().

Patch by Dave Moore <davemoore@chromium.org> on 2010-04-19
Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=33812

* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::dispatchDidChangeIcons):
* WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/mac: Added notification when the favicons for a page are changed
from a script.
The Document object will notify the frame loader, which will
notify the client. Implementations of FrameLoaderClient will
have to add one method; dispatchDidChangeIcons().

Patch by Dave Moore <davemoore@chromium.org> on 2010-04-19
Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=33812

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidChangeIcons):

WebKit/qt: Added notification when the favicons for a page are changed
from a script.
The Document object will notify the frame loader, which will
notify the client. Implementations of FrameLoaderClient will
have to add one method; dispatchDidChangeIcons().

Patch by Dave Moore <davemoore@chromium.org> on 2010-04-19
Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=33812

* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::dispatchDidChangeIcons):
(WebCore::FrameLoaderClientQt::didChangeTitle):
* WebCoreSupport/FrameLoaderClientQt.h:

WebKit/win: Added notification when the favicons for a page are changed
from a script.
The Document object will notify the frame loader, which will
notify the client. Implementations of FrameLoaderClient will
have to add one method; dispatchDidChangeIcons().

Patch by Dave Moore <davemoore@chromium.org> on 2010-04-19
Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=33812

* Interfaces/IWebFrameLoadDelegatePrivate2.idl:
* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchDidChangeIcons):
* WebCoreSupport/WebFrameLoaderClient.h:
* WebFrame.cpp:
(WebFrame::didChangeIcons):
* WebFrame.h:

WebKitTools: Add test support for icon changes.

Patch by Dave Moore <davemoore@chromium.org> on 2010-04-19
Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=33812

* DumpRenderTree/LayoutTestController.cpp:
(LayoutTestController::LayoutTestController):
(dumpIconChangesCallback):
(LayoutTestController::staticFunctions):
* DumpRenderTree/LayoutTestController.h:
(LayoutTestController::dumpIconChanges):
(LayoutTestController::setDumpIconChanges):
* DumpRenderTree/win/FrameLoadDelegate.cpp:
(FrameLoadDelegate::didChangeIcons):
* DumpRenderTree/win/FrameLoadDelegate.h:
* WinLauncher/WinLauncher.h:
(WinLauncherWebHost::didChangeIcons):

LayoutTests: Add test for icon change notifications.

Patch by Dave Moore <davemoore@chromium.org> on 2010-04-19
Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=33812

* fast/dom/icon-url-property-expected.txt: Added.
* fast/dom/icon-url-property.html: Added.
* Skipped on all platforms but Win

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@57823 268f45cc-cd09-0410-ab3c-d52691b4dbfc
40 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/dom/icon-url-property-expected.txt [new file with mode: 0644]
LayoutTests/fast/dom/icon-url-property.html [new file with mode: 0644]
LayoutTests/platform/chromium/test_expectations.txt
LayoutTests/platform/gtk/Skipped
LayoutTests/platform/mac/Skipped
LayoutTests/platform/qt/Skipped
WebCore/ChangeLog
WebCore/dom/Document.cpp
WebCore/loader/DocumentLoader.cpp
WebCore/loader/DocumentLoader.h
WebCore/loader/EmptyClients.h
WebCore/loader/FrameLoader.cpp
WebCore/loader/FrameLoader.h
WebCore/loader/FrameLoaderClient.h
WebKit/chromium/ChangeLog
WebKit/chromium/public/WebFrameClient.h
WebKit/chromium/src/FrameLoaderClientImpl.cpp
WebKit/chromium/src/FrameLoaderClientImpl.h
WebKit/gtk/ChangeLog
WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h
WebKit/mac/ChangeLog
WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h
WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
WebKit/qt/ChangeLog
WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h
WebKit/win/ChangeLog
WebKit/win/Interfaces/IWebFrameLoadDelegatePrivate2.idl
WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp
WebKit/win/WebCoreSupport/WebFrameLoaderClient.h
WebKit/win/WebFrame.cpp
WebKit/win/WebFrame.h
WebKitTools/ChangeLog
WebKitTools/DumpRenderTree/LayoutTestController.cpp
WebKitTools/DumpRenderTree/LayoutTestController.h
WebKitTools/DumpRenderTree/win/FrameLoadDelegate.cpp
WebKitTools/DumpRenderTree/win/FrameLoadDelegate.h
WebKitTools/WinLauncher/WinLauncher.h