blob: 05e415ebf61a58203b9a72fb9d5c46677b8429fb [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "services/window_manager/native_viewport_event_dispatcher_impl.h"
#include "mojo/converters/input_events/input_events_type_converters.h"
#include "services/window_manager/view_event_dispatcher.h"
#include "services/window_manager/window_manager_app.h"
namespace window_manager {
NativeViewportEventDispatcherImpl::NativeViewportEventDispatcherImpl(
WindowManagerApp* app,
mojo::InterfaceRequest<mojo::NativeViewportEventDispatcher> request)
: app_(app), binding_(this, request.Pass()) {
}
NativeViewportEventDispatcherImpl::~NativeViewportEventDispatcherImpl() {
}
ui::EventProcessor* NativeViewportEventDispatcherImpl::GetEventProcessor() {
return app_->event_dispatcher();
}
void NativeViewportEventDispatcherImpl::OnEvent(
mojo::EventPtr event,
const mojo::Callback<void()>& callback) {
scoped_ptr<ui::Event> ui_event = event.To<scoped_ptr<ui::Event>>();
if (ui_event)
SendEventToProcessor(ui_event.get());
callback.Run();
}
} // namespace window_manager