[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373
levin at chromium.org
levin at chromium.org
Wed Apr 7 23:16:52 UTC 2010
The following commit has been merged in the webkit-1.2 branch:
commit ec60442a42ad393aba442ea4d0d8fd0630d080e4
Author: levin at chromium.org <levin at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Oct 30 20:59:46 2009 +0000
Notify the chrome when the focused node has changed.
https://bugs.webkit.org/show_bug.cgi?id=30832
Patch by Evan Stade <estade at chromium.org> on 2009-10-30
Reviewed by David Levin.
WebCore:
This is similar to AX code that is already in place, except that this also informs the
chrome when there stops being a focused node. This is needed for a browser to show the
anchor for links that have keyboard focus.
* dom/Document.cpp:
(WebCore::Document::setFocusedNode):
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::focusedNodeChanged):
* page/Chrome.cpp:
(WebCore::Chrome::focusedNodeChanged):
* page/Chrome.h:
* page/ChromeClient.h:
WebKit/gtk:
Added stub implementation for new ChromeClient function.
* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::focusedNodeChanged):
* WebCoreSupport/ChromeClientGtk.h:
WebKit/haiku:
Added stub implementation for new ChromeClient function.
* WebCoreSupport/ChromeClientHaiku.cpp:
(WebCore::ChromeClientHaiku::focusedNodeChanged):
* WebCoreSupport/ChromeClientHaiku.h:
WebKit/mac:
Added stub implementation for new ChromeClient function.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::focusedNodeChanged):
WebKit/qt:
Added stub implementation for new ChromeClient function.
* WebCoreSupport/ChromeClientQt.cpp:
(WebCore::ChromeClientQt::focusedNodeChanged):
* WebCoreSupport/ChromeClientQt.h:
WebKit/win:
Added stub implementation for new ChromeClient function.
* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::focusedNodeChanged):
* WebCoreSupport/WebChromeClient.h:
WebKit/wx:
Added stub implementation for new ChromeClient function.
* WebKitSupport/ChromeClientWx.cpp:
(WebCore::ChromeClientWx::focusedNodeChanged):
* WebKitSupport/ChromeClientWx.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50351 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 369684a..dc0a47f 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,23 @@
+2009-10-30 Evan Stade <estade at chromium.org>
+
+ Reviewed by David Levin.
+
+ Notify the chrome when the focused node has changed.
+ https://bugs.webkit.org/show_bug.cgi?id=30832
+
+ This is similar to AX code that is already in place, except that this also informs the
+ chrome when there stops being a focused node. This is needed for a browser to show the
+ anchor for links that have keyboard focus.
+
+ * dom/Document.cpp:
+ (WebCore::Document::setFocusedNode):
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::focusedNodeChanged):
+ * page/Chrome.cpp:
+ (WebCore::Chrome::focusedNodeChanged):
+ * page/Chrome.h:
+ * page/ChromeClient.h:
+
2009-10-30 Ben Murdoch <benm at google.com>
Reviewed by David Kilzer.
diff --git a/WebCore/dom/Document.cpp b/WebCore/dom/Document.cpp
index 4eb44f7..70fb5c7 100644
--- a/WebCore/dom/Document.cpp
+++ b/WebCore/dom/Document.cpp
@@ -2742,6 +2742,8 @@ bool Document::setFocusedNode(PassRefPtr<Node> newFocusedNode)
axObjectCache()->handleFocusedUIElementChanged(oldFocusedRenderer, newFocusedRenderer);
}
#endif
+ if (!focusChangeBlocked)
+ page()->chrome()->focusedNodeChanged(m_focusedNode.get());
SetFocusedNodeDone:
updateStyleIfNeeded();
diff --git a/WebCore/loader/EmptyClients.h b/WebCore/loader/EmptyClients.h
index 91c7030..35f8647 100644
--- a/WebCore/loader/EmptyClients.h
+++ b/WebCore/loader/EmptyClients.h
@@ -76,6 +76,8 @@ public:
virtual bool canTakeFocus(FocusDirection) { return false; }
virtual void takeFocus(FocusDirection) { }
+ virtual void focusedNodeChanged(Node*) { }
+
virtual Page* createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures&) { return 0; }
virtual void show() { }
diff --git a/WebCore/page/Chrome.cpp b/WebCore/page/Chrome.cpp
index 96f0fb7..62710dd 100644
--- a/WebCore/page/Chrome.cpp
+++ b/WebCore/page/Chrome.cpp
@@ -147,6 +147,11 @@ void Chrome::takeFocus(FocusDirection direction) const
m_client->takeFocus(direction);
}
+void Chrome::focusedNodeChanged(Node* node) const
+{
+ m_client->focusedNodeChanged(node);
+}
+
Page* Chrome::createWindow(Frame* frame, const FrameLoadRequest& request, const WindowFeatures& features) const
{
Page* newPage = m_client->createWindow(frame, request, features);
diff --git a/WebCore/page/Chrome.h b/WebCore/page/Chrome.h
index 033311d..658b83f 100644
--- a/WebCore/page/Chrome.h
+++ b/WebCore/page/Chrome.h
@@ -42,6 +42,7 @@ namespace WebCore {
class Geolocation;
class HitTestResult;
class IntRect;
+ class Node;
class Page;
class String;
#if ENABLE(NOTIFICATIONS)
@@ -82,6 +83,8 @@ namespace WebCore {
bool canTakeFocus(FocusDirection) const;
void takeFocus(FocusDirection) const;
+ void focusedNodeChanged(Node*) const;
+
Page* createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures&) const;
void show() const;
diff --git a/WebCore/page/ChromeClient.h b/WebCore/page/ChromeClient.h
index 5231603..fcf5156 100644
--- a/WebCore/page/ChromeClient.h
+++ b/WebCore/page/ChromeClient.h
@@ -83,6 +83,8 @@ namespace WebCore {
virtual bool canTakeFocus(FocusDirection) = 0;
virtual void takeFocus(FocusDirection) = 0;
+ virtual void focusedNodeChanged(Node*) = 0;
+
// The Frame pointer provides the ChromeClient with context about which
// Frame wants to create the new Page. Also, the newly created window
// should not be shown to the user until the ChromeClient of the newly
diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog
index 5bc8462..e1c550a 100644
--- a/WebKit/gtk/ChangeLog
+++ b/WebKit/gtk/ChangeLog
@@ -1,3 +1,16 @@
+2009-10-30 Evan Stade <estade at chromium.org>
+
+ Reviewed by David Levin.
+
+ Notify the chrome when the focused node has changed.
+ https://bugs.webkit.org/show_bug.cgi?id=30832
+
+ Added stub implementation for new ChromeClient function.
+
+ * WebCoreSupport/ChromeClientGtk.cpp:
+ (WebKit::ChromeClient::focusedNodeChanged):
+ * WebCoreSupport/ChromeClientGtk.h:
+
2009-10-29 Gustavo Noronha Silva <gustavo.noronha at collabora.co.uk>
Unreviewed. Trivial fix - move public API declaration into the
diff --git a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
index 8d31af3..d9a043b 100644
--- a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
@@ -242,6 +242,10 @@ void ChromeClient::takeFocus(FocusDirection)
unfocus();
}
+void ChromeClient::focusedNodeChanged(Node*)
+{
+}
+
bool ChromeClient::canRunBeforeUnloadConfirmPanel()
{
return true;
diff --git a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h
index e321c35..beb7a08 100644
--- a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h
+++ b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h
@@ -47,6 +47,8 @@ namespace WebKit {
virtual bool canTakeFocus(WebCore::FocusDirection);
virtual void takeFocus(WebCore::FocusDirection);
+ virtual void focusedNodeChanged(WebCore::Node*);
+
virtual WebCore::Page* createWindow(WebCore::Frame*, const WebCore::FrameLoadRequest&, const WebCore::WindowFeatures&);
virtual void show();
diff --git a/WebKit/haiku/ChangeLog b/WebKit/haiku/ChangeLog
index 457e3f4..0be5b8e 100644
--- a/WebKit/haiku/ChangeLog
+++ b/WebKit/haiku/ChangeLog
@@ -1,3 +1,16 @@
+2009-10-30 Evan Stade <estade at chromium.org>
+
+ Reviewed by David Levin.
+
+ Notify the chrome when the focused node has changed.
+ https://bugs.webkit.org/show_bug.cgi?id=30832
+
+ Added stub implementation for new ChromeClient function.
+
+ * WebCoreSupport/ChromeClientHaiku.cpp:
+ (WebCore::ChromeClientHaiku::focusedNodeChanged):
+ * WebCoreSupport/ChromeClientHaiku.h:
+
2009-10-07 Adam Barth <abarth at webkit.org>
Reviewed by Darin Adler.
diff --git a/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.cpp b/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.cpp
index 4820d78..24f0b52 100644
--- a/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.cpp
+++ b/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.cpp
@@ -98,6 +98,10 @@ void ChromeClientHaiku::takeFocus(FocusDirection)
notImplemented();
}
+void ChromeClientHaiku::focusedNodeChanged(Node*)
+{
+}
+
Page* ChromeClientHaiku::createWindow(Frame*, const FrameLoadRequest&, const WebCore::WindowFeatures&)
{
notImplemented();
diff --git a/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.h b/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.h
index a6f57eb..ecd66de 100644
--- a/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.h
+++ b/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.h
@@ -57,6 +57,8 @@ namespace WebCore {
bool canTakeFocus(FocusDirection);
void takeFocus(FocusDirection);
+ void focusedNodeChanged(Node*);
+
Page* createWindow(Frame*, const FrameLoadRequest&, const WebCore::WindowFeatures&);
Page* createModalDialog(Frame*, const FrameLoadRequest&);
void show();
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index 006caa4..81f00c6 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,16 @@
+2009-10-30 Evan Stade <estade at chromium.org>
+
+ Reviewed by David Levin.
+
+ Notify the chrome when the focused node has changed.
+ https://bugs.webkit.org/show_bug.cgi?id=30832
+
+ Added stub implementation for new ChromeClient function.
+
+ * WebCoreSupport/WebChromeClient.h:
+ * WebCoreSupport/WebChromeClient.mm:
+ (WebChromeClient::focusedNodeChanged):
+
2009-10-30 Roland Steiner <rolandsteiner at chromium.org>
Reviewed by Eric Seidel.
diff --git a/WebKit/mac/WebCoreSupport/WebChromeClient.h b/WebKit/mac/WebCoreSupport/WebChromeClient.h
index a8f22f6..ca2863e 100644
--- a/WebKit/mac/WebCoreSupport/WebChromeClient.h
+++ b/WebKit/mac/WebCoreSupport/WebChromeClient.h
@@ -53,6 +53,8 @@ public:
virtual bool canTakeFocus(WebCore::FocusDirection);
virtual void takeFocus(WebCore::FocusDirection);
+ virtual void focusedNodeChanged(WebCore::Node*);
+
virtual WebCore::Page* createWindow(WebCore::Frame*, const WebCore::FrameLoadRequest&, const WebCore::WindowFeatures&);
virtual void show();
diff --git a/WebKit/mac/WebCoreSupport/WebChromeClient.mm b/WebKit/mac/WebCoreSupport/WebChromeClient.mm
index c107299..c0e8a04 100644
--- a/WebKit/mac/WebCoreSupport/WebChromeClient.mm
+++ b/WebKit/mac/WebCoreSupport/WebChromeClient.mm
@@ -172,6 +172,10 @@ void WebChromeClient::takeFocus(FocusDirection direction)
}
}
+void WebChromeClient::focusedNodeChanged(Node*)
+{
+}
+
Page* WebChromeClient::createWindow(Frame* frame, const FrameLoadRequest& request, const WindowFeatures& features)
{
NSURLRequest *URLRequest = nil;
diff --git a/WebKit/qt/ChangeLog b/WebKit/qt/ChangeLog
index b213e32..85f1b8b 100644
--- a/WebKit/qt/ChangeLog
+++ b/WebKit/qt/ChangeLog
@@ -1,3 +1,16 @@
+2009-10-30 Evan Stade <estade at chromium.org>
+
+ Reviewed by David Levin.
+
+ Notify the chrome when the focused node has changed.
+ https://bugs.webkit.org/show_bug.cgi?id=30832
+
+ Added stub implementation for new ChromeClient function.
+
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::focusedNodeChanged):
+ * WebCoreSupport/ChromeClientQt.h:
+
2009-10-30 Jocelyn Turcotte <jocelyn.turcotte at nokia.com>
Reviewed by Tor Arne Vestbø.
diff --git a/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp b/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
index 26cf6f6..eb7ac9a 100644
--- a/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
@@ -141,6 +141,11 @@ void ChromeClientQt::takeFocus(FocusDirection)
}
+void ChromeClientQt::focusedNodeChanged(WebCore::Node*)
+{
+}
+
+
Page* ChromeClientQt::createWindow(Frame*, const FrameLoadRequest& request, const WindowFeatures& features)
{
QWebPage *newPage = m_webPage->createWindow(features.dialog ? QWebPage::WebModalDialog : QWebPage::WebBrowserWindow);
diff --git a/WebKit/qt/WebCoreSupport/ChromeClientQt.h b/WebKit/qt/WebCoreSupport/ChromeClientQt.h
index 196c4fc..939fe04 100644
--- a/WebKit/qt/WebCoreSupport/ChromeClientQt.h
+++ b/WebKit/qt/WebCoreSupport/ChromeClientQt.h
@@ -63,6 +63,8 @@ namespace WebCore {
virtual bool canTakeFocus(FocusDirection);
virtual void takeFocus(FocusDirection);
+ virtual void focusedNodeChanged(Node*);
+
virtual Page* createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures&);
virtual void show();
diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index edf90d7..fc1d868 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,3 +1,16 @@
+2009-10-30 Evan Stade <estade at chromium.org>
+
+ Reviewed by David Levin.
+
+ Notify the chrome when the focused node has changed.
+ https://bugs.webkit.org/show_bug.cgi?id=30832
+
+ Added stub implementation for new ChromeClient function.
+
+ * WebCoreSupport/WebChromeClient.cpp:
+ (WebChromeClient::focusedNodeChanged):
+ * WebCoreSupport/WebChromeClient.h:
+
2009-10-30 Roland Steiner <rolandsteiner at chromium.org>
Reviewed by Eric Seidel.
diff --git a/WebKit/win/WebCoreSupport/WebChromeClient.cpp b/WebKit/win/WebCoreSupport/WebChromeClient.cpp
index 0bae1ae..2d13b16 100644
--- a/WebKit/win/WebCoreSupport/WebChromeClient.cpp
+++ b/WebKit/win/WebCoreSupport/WebChromeClient.cpp
@@ -156,6 +156,10 @@ void WebChromeClient::takeFocus(FocusDirection direction)
}
}
+void WebChromeClient::focusedNodeChanged(Node*)
+{
+}
+
static COMPtr<IPropertyBag> createWindowFeaturesPropertyBag(const WindowFeatures& features)
{
HashMap<String, COMVariant> map;
diff --git a/WebKit/win/WebCoreSupport/WebChromeClient.h b/WebKit/win/WebCoreSupport/WebChromeClient.h
index d01e47d..e20de27 100644
--- a/WebKit/win/WebCoreSupport/WebChromeClient.h
+++ b/WebKit/win/WebCoreSupport/WebChromeClient.h
@@ -55,6 +55,8 @@ public:
virtual bool canTakeFocus(WebCore::FocusDirection);
virtual void takeFocus(WebCore::FocusDirection);
+ virtual void focusedNodeChanged(WebCore::Node*);
+
virtual WebCore::Page* createWindow(WebCore::Frame*, const WebCore::FrameLoadRequest&, const WebCore::WindowFeatures&);
virtual void show();
diff --git a/WebKit/wx/ChangeLog b/WebKit/wx/ChangeLog
index f2cc27f..a7bb44a 100644
--- a/WebKit/wx/ChangeLog
+++ b/WebKit/wx/ChangeLog
@@ -1,3 +1,16 @@
+2009-10-30 Evan Stade <estade at chromium.org>
+
+ Reviewed by David Levin.
+
+ Notify the chrome when the focused node has changed.
+ https://bugs.webkit.org/show_bug.cgi?id=30832
+
+ Added stub implementation for new ChromeClient function.
+
+ * WebKitSupport/ChromeClientWx.cpp:
+ (WebCore::ChromeClientWx::focusedNodeChanged):
+ * WebKitSupport/ChromeClientWx.h:
+
2009-10-23 Kevin Ollivier <kevino at theolliviers.com>
wx build fix. Update the globalObject calls after changes.
diff --git a/WebKit/wx/WebKitSupport/ChromeClientWx.cpp b/WebKit/wx/WebKitSupport/ChromeClientWx.cpp
index 629463f..17f6f43 100644
--- a/WebKit/wx/WebKitSupport/ChromeClientWx.cpp
+++ b/WebKit/wx/WebKitSupport/ChromeClientWx.cpp
@@ -111,6 +111,9 @@ void ChromeClientWx::takeFocus(FocusDirection)
notImplemented();
}
+void ChromeClientWx::focusedNodeChanged(Node*)
+{
+}
Page* ChromeClientWx::createWindow(Frame*, const FrameLoadRequest& request, const WindowFeatures&)
{
diff --git a/WebKit/wx/WebKitSupport/ChromeClientWx.h b/WebKit/wx/WebKitSupport/ChromeClientWx.h
index 07f70a8..bd4f1ec 100644
--- a/WebKit/wx/WebKitSupport/ChromeClientWx.h
+++ b/WebKit/wx/WebKitSupport/ChromeClientWx.h
@@ -54,6 +54,8 @@ public:
virtual bool canTakeFocus(FocusDirection);
virtual void takeFocus(FocusDirection);
+ virtual void focusedNodeChanged(Node*);
+
virtual Page* createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures&);
virtual Page* createModalDialog(Frame*, const FrameLoadRequest&);
virtual void show();
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list