Index: mojo/services/view_manager/view_manager_connection.cc |
diff --git a/mojo/services/view_manager/view_manager_connection.cc b/mojo/services/view_manager/view_manager_connection.cc |
index 029d203fa895c7583ec5e8ee881a80f4d2d7c23e..26ad5557ce409365009febe601eca5c3c9c193df 100644 |
--- a/mojo/services/view_manager/view_manager_connection.cc |
+++ b/mojo/services/view_manager/view_manager_connection.cc |
@@ -4,8 +4,10 @@ |
#include "mojo/services/view_manager/view_manager_connection.h" |
+#include "base/bind.h" |
#include "base/stl_util.h" |
#include "mojo/services/public/cpp/geometry/geometry_type_converters.h" |
+#include "mojo/services/public/cpp/input_events/input_events_type_converters.h" |
#include "mojo/services/view_manager/node.h" |
#include "mojo/services/view_manager/root_node_manager.h" |
#include "mojo/services/view_manager/view.h" |
@@ -169,6 +171,17 @@ void ViewManagerConnection::ProcessNodeViewReplaced( |
new_view_id, old_view_id); |
} |
+void ViewManagerConnection::ProcessViewInputEvent(const View* view, |
+ const ui::Event* event) { |
+ const TransportViewId view_id = ViewIdToTransportId(view->id()); |
+ if (view->id().connection_id != id_) |
+ return; |
+ client()->OnViewInputEvent( |
+ view_id, |
+ TypeConverter<EventPtr, ui::Event>::ConvertFrom(*event), |
+ base::Bind(&base::DoNothing)); |
+} |
+ |
void ViewManagerConnection::ProcessNodeDeleted( |
const NodeId& node, |
TransportChangeId server_change_id, |
@@ -613,6 +626,11 @@ void ViewManagerConnection::OnNodeViewReplaced(const Node* node, |
root_node_manager_->ProcessNodeViewReplaced(node, new_view, old_view); |
} |
+void ViewManagerConnection::OnViewInputEvent(const View* view, |
+ const ui::Event* event) { |
+ root_node_manager_->ProcessViewInputEvent(view, event); |
+} |
+ |
void ViewManagerConnection::OnConnectionEstablished() { |
DCHECK_EQ(0, id_); // Should only get OnConnectionEstablished() once. |