| Index: services/window_manager/window_manager_app.cc
|
| diff --git a/services/window_manager/window_manager_app.cc b/services/window_manager/window_manager_app.cc
|
| index ba7b75d37d2d7007ffc9a328fd1292dc8bb0a52a..3a2b15546abfeedf0c543ab97beb2a3217d2f90d 100644
|
| --- a/services/window_manager/window_manager_app.cc
|
| +++ b/services/window_manager/window_manager_app.cc
|
| @@ -55,7 +55,8 @@ WindowManagerApp::WindowManagerApp(
|
| native_viewport_event_dispatcher_factory_(this),
|
| wrapped_view_manager_delegate_(view_manager_delegate),
|
| window_manager_delegate_(window_manager_delegate),
|
| - root_(nullptr) {
|
| + root_(nullptr),
|
| + gesture_provider_(this) {
|
| }
|
|
|
| WindowManagerApp::~WindowManagerApp() {
|
| @@ -219,6 +220,27 @@ void WindowManagerApp::OnEvent(ui::Event* event) {
|
|
|
| window_manager_client_->DispatchInputEventToView(view->id(),
|
| mojo::Event::From(*event));
|
| +
|
| + if (event->IsTouchEvent()) {
|
| + gesture_provider_.OnTouchEvent(*static_cast<ui::TouchEvent*>(event));
|
| + scoped_ptr<ScopedVector<ui::GestureEvent>> gestures(
|
| + gesture_provider_.GetAndResetPendingGestures());
|
| + if (gestures) {
|
| + for (auto& gesture : *gestures) {
|
| + window_manager_client_->DispatchInputEventToView(
|
| + view->id(), mojo::Event::From(*gesture));
|
| + }
|
| + }
|
| + gesture_provider_.OnTouchEventAck(false);
|
| + }
|
| +}
|
| +
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +// WindowManagerApp, ui::GestureProviderImplClient implementation:
|
| +
|
| +void WindowManagerApp::OnGestureEvent(ui::GestureEvent* event) {
|
| + DCHECK(!event->IsTouchEvent());
|
| + // TODO(abarth): Do we need to dispatch this |event|?
|
| }
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
|
|