[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