Index: content/browser/renderer_host/render_widget_host_impl.cc |
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc |
index f11607f0a3c9761d925e4b4ed92f1c0ddce5bc74..98dacfeb77b0fcf8ec0487a51095a9e616833a36 100644 |
--- a/content/browser/renderer_host/render_widget_host_impl.cc |
+++ b/content/browser/renderer_host/render_widget_host_impl.cc |
@@ -704,6 +704,11 @@ void RenderWidgetHostImpl::Focus() { |
is_focused_ = true; |
Send(new InputMsg_SetFocus(routing_id_, true)); |
+ |
+ // Also send page-level focus state to other SiteInstances involved in |
+ // rendering the current FrameTree. |
+ if (IsRenderView() && delegate_) |
+ delegate_->ReplicatePageFocus(true); |
} |
void RenderWidgetHostImpl::Blur() { |
@@ -719,6 +724,11 @@ void RenderWidgetHostImpl::Blur() { |
touch_emulator_->CancelTouch(); |
Send(new InputMsg_SetFocus(routing_id_, false)); |
+ |
+ // Also send page-level focus state to other SiteInstances involved in |
+ // rendering the current FrameTree. |
+ if (IsRenderView() && delegate_) |
+ delegate_->ReplicatePageFocus(false); |
} |
void RenderWidgetHostImpl::LostCapture() { |