Chromium Code Reviews| 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 ddd9ebaa1c6b72f3924cc1e20c85aa5f902e3a21..90dd7ff1a0e593fc8ed860216d27ac9a7eb58722 100644 |
| --- a/content/browser/renderer_host/render_widget_host_impl.cc |
| +++ b/content/browser/renderer_host/render_widget_host_impl.cc |
| @@ -1166,6 +1166,19 @@ void RenderWidgetHostImpl::QueueSyntheticGesture( |
| } |
| } |
| +void RenderWidgetHostImpl::QueueSyntheticPointerAction( |
| + const SyntheticPointerActionParams& gesture_params, |
| + const base::Callback<void(SyntheticGesture::Result)>& on_complete) { |
| + if (!synthetic_gesture_controller_ && view_) { |
| + synthetic_gesture_controller_.reset( |
| + new SyntheticGestureController(view_->CreateSyntheticGestureTarget())); |
| + } |
| + if (synthetic_gesture_controller_) { |
|
tdresser
2016/05/31 13:44:26
Should this ever run if !view_?
It might be easie
lanwei
2016/06/02 13:26:27
I feel if the synthetic_gesture_controller is not
tdresser
2016/06/02 13:39:24
Is there ever a case where the controller is non-n
|
| + synthetic_gesture_controller_->QueueSyntheticPointerAction(gesture_params, |
| + on_complete); |
| + } |
| +} |
| + |
| void RenderWidgetHostImpl::SetCursor(const WebCursor& cursor) { |
| if (!view_) |
| return; |
| @@ -1689,6 +1702,15 @@ void RenderWidgetHostImpl::OnQueueSyntheticGesture( |
| return; |
| } |
| + if (gesture_packet.gesture_params()->GetGestureType() == |
| + SyntheticGestureParams::POINTER_ACTION) { |
| + QueueSyntheticPointerAction( |
| + *SyntheticPointerActionParams::Cast(gesture_packet.gesture_params()), |
| + base::Bind(&RenderWidgetHostImpl::OnSyntheticPointerActionCompleted, |
| + weak_factory_.GetWeakPtr())); |
| + return; |
| + } |
| + |
| QueueSyntheticGesture( |
| SyntheticGesture::Create(*gesture_packet.gesture_params()), |
| base::Bind(&RenderWidgetHostImpl::OnSyntheticGestureCompleted, |
| @@ -1953,6 +1975,15 @@ void RenderWidgetHostImpl::OnSyntheticGestureCompleted( |
| Send(new InputMsg_SyntheticGestureCompleted(GetRoutingID())); |
| } |
| +void RenderWidgetHostImpl::OnSyntheticPointerActionCompleted( |
| + SyntheticGesture::Result result) { |
| + if (result == SyntheticGesture::POINTER_ACTION_FINISHED) { |
| + if (synthetic_gesture_controller_) |
| + synthetic_gesture_controller_->ResetSyntheticPointer(); |
| + Send(new InputMsg_SyntheticGestureCompleted(GetRoutingID())); |
| + } |
| +} |
| + |
| bool RenderWidgetHostImpl::ShouldDropInputEvents() const { |
| return ignore_input_events_ || process_->IgnoreInputEvents() || !delegate_; |
| } |