| Index: services/native_viewport/native_viewport_impl.cc
|
| diff --git a/services/native_viewport/native_viewport_impl.cc b/services/native_viewport/native_viewport_impl.cc
|
| index a07ca9ec41d6842ec27b1082912d6d545c3e538d..02d24198e9aee5a20935aa93327dce8751d04b00 100644
|
| --- a/services/native_viewport/native_viewport_impl.cc
|
| +++ b/services/native_viewport/native_viewport_impl.cc
|
| @@ -94,6 +94,11 @@ void NativeViewportImpl::SetEventDispatcher(
|
| event_dispatcher_ = dispatcher.Pass();
|
| }
|
|
|
| +void NativeViewportImpl::SetKeyEventDispatcher(
|
| + mojo::NativeViewportEventDispatcherPtr dispatcher) {
|
| + key_event_dispatcher_ = dispatcher.Pass();
|
| +}
|
| +
|
| void NativeViewportImpl::OnMetricsChanged(mojo::ViewportMetricsPtr metrics) {
|
| if (metrics_->Equals(*metrics))
|
| return;
|
| @@ -149,6 +154,13 @@ bool NativeViewportImpl::OnEvent(mojo::EventPtr event) {
|
| pointers_waiting_on_ack_.erase(event->pointer_data->pointer_id);
|
| break;
|
|
|
| + case mojo::EventType::KEY_PRESSED:
|
| + case mojo::EventType::KEY_RELEASED:
|
| + if (key_event_dispatcher_.get())
|
| + key_event_dispatcher_->OnEvent(event.Pass(), callback);
|
| + return false;
|
| + break;
|
| +
|
| default:
|
| break;
|
| }
|
|
|