diff options
author | jcivelli@google.com <jcivelli@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-01 16:58:49 +0000 |
---|---|---|
committer | jcivelli@google.com <jcivelli@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-01 16:58:49 +0000 |
commit | 08e9e134bca95868aa4679b67b4c7a4e1695fced (patch) | |
tree | eed4bcda9a1cee28a7c3748fe9b363d66919d643 | |
parent | c001c4c5277e933720fdd4a2dedd152d10de118a (diff) | |
download | chromium_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.cc | 1 | ||||
-rw-r--r-- | chrome/browser/renderer_host/render_widget_host.cc | 4 | ||||
-rw-r--r-- | chrome/browser/renderer_host/render_widget_host.h | 1 | ||||
-rwxr-xr-x | chrome/renderer/render_view.cc | 4 | ||||
-rw-r--r-- | chrome/renderer/render_view.h | 1 | ||||
-rw-r--r-- | chrome/renderer/render_widget.cc | 6 |
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. |