| Index: content/browser/frame_host/render_widget_host_view_child_frame.cc
 | 
| diff --git a/content/browser/frame_host/render_widget_host_view_child_frame.cc b/content/browser/frame_host/render_widget_host_view_child_frame.cc
 | 
| index 0d1af8d985fd12bee4d182dc12af935000b5e49f..b9ba04ccf3a3821b26068b153d4639d6873de9d1 100644
 | 
| --- a/content/browser/frame_host/render_widget_host_view_child_frame.cc
 | 
| +++ b/content/browser/frame_host/render_widget_host_view_child_frame.cc
 | 
| @@ -14,7 +14,9 @@
 | 
|  #include "content/browser/frame_host/cross_process_frame_connector.h"
 | 
|  #include "content/browser/gpu/compositor_util.h"
 | 
|  #include "content/browser/renderer_host/render_view_host_impl.h"
 | 
| +#include "content/browser/renderer_host/render_widget_host_delegate.h"
 | 
|  #include "content/browser/renderer_host/render_widget_host_impl.h"
 | 
| +#include "content/browser/renderer_host/render_widget_host_input_event_router.h"
 | 
|  #include "content/common/gpu/gpu_messages.h"
 | 
|  #include "content/common/view_messages.h"
 | 
|  #include "content/public/browser/render_process_host.h"
 | 
| @@ -32,8 +34,13 @@ RenderWidgetHostViewChildFrame::RenderWidgetHostViewChildFrame(
 | 
|        ack_pending_count_(0),
 | 
|        frame_connector_(nullptr),
 | 
|        weak_factory_(this) {
 | 
| -  if (use_surfaces_)
 | 
| +  if (use_surfaces_) {
 | 
|      id_allocator_ = CreateSurfaceIdAllocator();
 | 
| +    if (host_->delegate()->GetInputEventRouter()) {
 | 
| +      host_->delegate()->GetInputEventRouter()->AddSurfaceIdNamespaceOwner(
 | 
| +          GetSurfaceIdNamespace(), this);
 | 
| +    }
 | 
| +  }
 | 
|  
 | 
|    host_->SetView(this);
 | 
|  }
 | 
| @@ -187,6 +194,11 @@ void RenderWidgetHostViewChildFrame::Destroy() {
 | 
|      frame_connector_ = NULL;
 | 
|    }
 | 
|  
 | 
| +  if (use_surfaces_ && host_->delegate()->GetInputEventRouter()) {
 | 
| +    host_->delegate()->GetInputEventRouter()->RemoveSurfaceIdNamespaceOwner(
 | 
| +        GetSurfaceIdNamespace());
 | 
| +  }
 | 
| +
 | 
|    host_->SetView(NULL);
 | 
|    host_ = NULL;
 | 
|    base::MessageLoop::current()->DeleteSoon(FROM_HERE, this);
 | 
| @@ -338,6 +350,22 @@ uint32_t RenderWidgetHostViewChildFrame::GetSurfaceIdNamespace() {
 | 
|    return id_allocator_->id_namespace();
 | 
|  }
 | 
|  
 | 
| +void RenderWidgetHostViewChildFrame::ProcessKeyboardEvent(
 | 
| +    const NativeWebKeyboardEvent& event) {
 | 
| +  host_->ForwardKeyboardEvent(event);
 | 
| +}
 | 
| +
 | 
| +void RenderWidgetHostViewChildFrame::ProcessMouseEvent(
 | 
| +    const blink::WebMouseEvent& event) {
 | 
| +  host_->ForwardMouseEvent(event);
 | 
| +}
 | 
| +
 | 
| +void RenderWidgetHostViewChildFrame::ProcessMouseWheelEvent(
 | 
| +    const blink::WebMouseWheelEvent& event) {
 | 
| +  if (event.deltaX != 0 || event.deltaY != 0)
 | 
| +    host_->ForwardWheelEvent(event);
 | 
| +}
 | 
| +
 | 
|  #if defined(OS_MACOSX)
 | 
|  void RenderWidgetHostViewChildFrame::SetActive(bool active) {
 | 
|  }
 | 
| 
 |