summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjcivelli@google.com <jcivelli@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-01 16:58:49 +0000
committerjcivelli@google.com <jcivelli@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-01 16:58:49 +0000
commit08e9e134bca95868aa4679b67b4c7a4e1695fced (patch)
treeeed4bcda9a1cee28a7c3748fe9b363d66919d643
parentc001c4c5277e933720fdd4a2dedd152d10de118a (diff)
downloadchromium_src-08e9e134bca95868aa4679b67b4c7a4e1695fced.zip
chromium_src-08e9e134bca95868aa4679b67b4c7a4e1695fced.tar.gz
chromium_src-08e9e134bca95868aa4679b67b4c7a4e1695fced.tar.bz2
Cleaning up the node focus notification.
The notification that the focus changed in the page now uses webkit::WebViewClient::focusedNodeChanged() implemented by RenderView. It was previously relying on the more general webkit::WebWidgetClient::didFocus() implemented in RenderWidget. (that should ideally only be fired when the frame gets focused, not everytime the focus in the frame changes). BUG=None TEST=Interactive UI tests should still pass (especially BrowserFocus*) Review URL: http://codereview.chromium.org/2301001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48638 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/renderer_host/render_view_host.cc1
-rw-r--r--chrome/browser/renderer_host/render_widget_host.cc4
-rw-r--r--chrome/browser/renderer_host/render_widget_host.h1
-rwxr-xr-xchrome/renderer/render_view.cc4
-rw-r--r--chrome/renderer/render_view.h1
-rw-r--r--chrome/renderer/render_widget.cc6
6 files changed, 6 insertions, 11 deletions
diff --git a/chrome/browser/renderer_host/render_view_host.cc b/chrome/browser/renderer_host/render_view_host.cc
index ed1c1b4b..4b3f4e8 100644
--- a/chrome/browser/renderer_host/render_view_host.cc
+++ b/chrome/browser/renderer_host/render_view_host.cc
@@ -828,6 +828,7 @@ void RenderViewHost::OnMessageReceived(const IPC::Message& msg) {
IPC_MESSAGE_HANDLER(ViewHostMsg_PageTranslated, OnPageTranslated)
IPC_MESSAGE_HANDLER(ViewHostMsg_ContentBlocked, OnContentBlocked)
IPC_MESSAGE_HANDLER(ViewHostMsg_AccessibilityTree, OnAccessibilityTree)
+ IPC_MESSAGE_HANDLER(ViewHostMsg_FocusedNodeChanged, OnMsgFocusedNodeChanged)
// Have the super handle all other messages.
IPC_MESSAGE_UNHANDLED(RenderWidgetHost::OnMessageReceived(msg))
IPC_END_MESSAGE_MAP_EX()
diff --git a/chrome/browser/renderer_host/render_widget_host.cc b/chrome/browser/renderer_host/render_widget_host.cc
index 45d1812..c55f043 100644
--- a/chrome/browser/renderer_host/render_widget_host.cc
+++ b/chrome/browser/renderer_host/render_widget_host.cc
@@ -144,7 +144,6 @@ void RenderWidgetHost::OnMessageReceived(const IPC::Message &msg) {
IPC_MESSAGE_HANDLER(ViewHostMsg_HandleInputEvent_ACK, OnMsgInputEventAck)
IPC_MESSAGE_HANDLER(ViewHostMsg_Focus, OnMsgFocus)
IPC_MESSAGE_HANDLER(ViewHostMsg_Blur, OnMsgBlur)
- IPC_MESSAGE_HANDLER(ViewHostMsg_FocusedNodeChanged, OnMsgFocusedNodeChanged)
IPC_MESSAGE_HANDLER(ViewHostMsg_SetCursor, OnMsgSetCursor)
IPC_MESSAGE_HANDLER(ViewHostMsg_ImeUpdateStatus, OnMsgImeUpdateStatus)
IPC_MESSAGE_HANDLER(ViewHostMsg_GpuRenderingActivated,
@@ -902,9 +901,6 @@ void RenderWidgetHost::OnMsgBlur() {
}
}
-void RenderWidgetHost::OnMsgFocusedNodeChanged() {
-}
-
void RenderWidgetHost::OnMsgSetCursor(const WebCursor& cursor) {
if (!view_) {
return;
diff --git a/chrome/browser/renderer_host/render_widget_host.h b/chrome/browser/renderer_host/render_widget_host.h
index f6e02bf..ab64ef7 100644
--- a/chrome/browser/renderer_host/render_widget_host.h
+++ b/chrome/browser/renderer_host/render_widget_host.h
@@ -468,7 +468,6 @@ class RenderWidgetHost : public IPC::Channel::Listener,
void OnMsgInputEventAck(const IPC::Message& message);
void OnMsgFocus();
void OnMsgBlur();
- virtual void OnMsgFocusedNodeChanged();
void OnMsgSetCursor(const WebCursor& cursor);
// Using int instead of ViewHostMsg_ImeControl for control's type to avoid
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
index f8f3c39..d00d948 100755
--- a/chrome/renderer/render_view.cc
+++ b/chrome/renderer/render_view.cc
@@ -1979,6 +1979,10 @@ void RenderView::focusPrevious() {
Send(new ViewHostMsg_TakeFocus(routing_id_, true));
}
+void RenderView::focusedNodeChanged(const WebNode& node) {
+ Send(new ViewHostMsg_FocusedNodeChanged(routing_id_));
+}
+
void RenderView::navigateBackForwardSoon(int offset) {
Send(new ViewHostMsg_GoToEntryAtOffset(routing_id_, offset));
}
diff --git a/chrome/renderer/render_view.h b/chrome/renderer/render_view.h
index 529f6f3..5da8469 100644
--- a/chrome/renderer/render_view.h
+++ b/chrome/renderer/render_view.h
@@ -263,6 +263,7 @@ class RenderView : public RenderWidget,
virtual bool acceptsLoadDrops();
virtual void focusNext();
virtual void focusPrevious();
+ virtual void focusedNodeChanged(const WebKit::WebNode& node);
virtual void navigateBackForwardSoon(int offset);
virtual int historyBackListCount();
virtual int historyForwardListCount();
diff --git a/chrome/renderer/render_widget.cc b/chrome/renderer/render_widget.cc
index c4656f7..fe0d3c1 100644
--- a/chrome/renderer/render_widget.cc
+++ b/chrome/renderer/render_widget.cc
@@ -637,12 +637,6 @@ void RenderWidget::show(WebNavigationPolicy) {
}
void RenderWidget::didFocus() {
- // Note that didFocus() is invoked everytime a new node is focused in the
- // page. It could be expected that it would be called only when the widget
- // gets the focus. If the current behavior was to change in WebKit for the
- // expected one, the following notification would not work anymore.
- Send(new ViewHostMsg_FocusedNodeChanged(routing_id_));
-
// Prevent the widget from stealing the focus if it does not have focus
// already. We do this by explicitely setting the focus to false again.
// We only let the browser focus the renderer.