 Chromium Code Reviews
 Chromium Code Reviews Issue 1729373003:
  Implement touch events for site-isolation.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 1729373003:
  Implement touch events for site-isolation.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| 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 f1399a0e6f60b48959eaeb742024fa394f5a9c95..d826940cf217350bc2dc99da92e1778b3acfccfc 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 | 
| @@ -43,10 +43,7 @@ RenderWidgetHostViewChildFrame::RenderWidgetHostViewChildFrame( | 
| frame_connector_(nullptr), | 
| weak_factory_(this) { | 
| id_allocator_ = CreateSurfaceIdAllocator(); | 
| - if (host_->delegate() && host_->delegate()->GetInputEventRouter()) { | 
| - host_->delegate()->GetInputEventRouter()->AddSurfaceIdNamespaceOwner( | 
| - GetSurfaceIdNamespace(), this); | 
| - } | 
| + RegisterSurfaceNamespaceId(); | 
| 
piman
2016/02/25 21:27:21
Where is the corresponding UnregisteSurfaceNamespa
 
wjmaclean
2016/02/28 19:45:03
It is called in BrowserPluginGuest.
However, it s
 | 
| host_->SetView(this); | 
| } | 
| @@ -240,6 +237,24 @@ void RenderWidgetHostViewChildFrame::UnlockCompositingSurface() { | 
| NOTIMPLEMENTED(); | 
| } | 
| +void RenderWidgetHostViewChildFrame::RegisterSurfaceNamespaceId() { | 
| + DCHECK(host_); | 
| + if (host_->delegate() && host_->delegate()->GetInputEventRouter()) { | 
| + RenderWidgetHostInputEventRouter* router = | 
| + host_->delegate()->GetInputEventRouter(); | 
| + if (!router->is_registered(GetSurfaceIdNamespace())) | 
| + router->AddSurfaceIdNamespaceOwner(GetSurfaceIdNamespace(), this); | 
| + } | 
| +} | 
| + | 
| +void RenderWidgetHostViewChildFrame::UnregisterSurfaceNamespaceId() { | 
| + DCHECK(host_); | 
| + if (host_->delegate() && host_->delegate()->GetInputEventRouter()) { | 
| + host_->delegate()->GetInputEventRouter()->RemoveSurfaceIdNamespaceOwner( | 
| + GetSurfaceIdNamespace()); | 
| + } | 
| +} | 
| + | 
| void RenderWidgetHostViewChildFrame::SurfaceDrawn(uint32_t output_surface_id, | 
| cc::SurfaceDrawStatus drawn) { | 
| cc::CompositorFrameAck ack; | 
| @@ -343,12 +358,14 @@ gfx::Rect RenderWidgetHostViewChildFrame::GetBoundsInRootWindow() { | 
| return GetViewBounds(); | 
| } | 
| -#if defined(USE_AURA) | 
| void RenderWidgetHostViewChildFrame::ProcessAckedTouchEvent( | 
| const TouchEventWithLatencyInfo& touch, | 
| InputEventAckState ack_result) { | 
| + if (!frame_connector_) | 
| + return; | 
| + | 
| + frame_connector_->ForwardProcessAckedTouchEvent(touch, ack_result); | 
| } | 
| -#endif // defined(USE_AURA) | 
| bool RenderWidgetHostViewChildFrame::LockMouse() { | 
| return false; | 
| @@ -363,17 +380,11 @@ uint32_t RenderWidgetHostViewChildFrame::GetSurfaceIdNamespace() { | 
| void RenderWidgetHostViewChildFrame::ProcessKeyboardEvent( | 
| const NativeWebKeyboardEvent& event) { | 
| - if (!host_) | 
| - return; | 
| - | 
| host_->ForwardKeyboardEvent(event); | 
| } | 
| void RenderWidgetHostViewChildFrame::ProcessMouseEvent( | 
| const blink::WebMouseEvent& event) { | 
| - if (!host_) | 
| - return; | 
| - | 
| host_->ForwardMouseEvent(event); | 
| } | 
| @@ -386,6 +397,17 @@ void RenderWidgetHostViewChildFrame::ProcessMouseWheelEvent( | 
| host_->ForwardWheelEvent(event); | 
| } | 
| +void RenderWidgetHostViewChildFrame::ProcessTouchEvent( | 
| + const blink::WebTouchEvent& event, | 
| + const ui::LatencyInfo& latency) { | 
| + if (event.type == blink::WebInputEvent::TouchStart && | 
| + frame_connector_ && !frame_connector_->HasFocus()) { | 
| + frame_connector_->Focus(); | 
| + } | 
| + | 
| + host_->ForwardTouchEventWithLatencyInfo(event, latency); | 
| +} | 
| + | 
| gfx::Point RenderWidgetHostViewChildFrame::TransformPointToRootCoordSpace( | 
| const gfx::Point& point) { | 
| if (!frame_connector_) |