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 498dc39417509c4d563d50ed6d382b64256c647f..293abbc2a7e26a8113f1f9b92d39ba2470f2c254 100644 |
--- a/mojo/services/view_manager/view_manager_connection.cc |
+++ b/mojo/services/view_manager/view_manager_connection.cc |
@@ -4,9 +4,11 @@ |
#include "mojo/services/view_manager/view_manager_connection.h" |
+#include "base/bind.h" |
#include "base/stl_util.h" |
#include "mojo/public/cpp/bindings/allocation_scope.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" |
@@ -160,6 +162,15 @@ 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; |
+ AllocationScope scope; |
+ client()->OnViewInputEvent(view_id, *event, base::Bind(&base::DoNothing)); |
+} |
+ |
void ViewManagerConnection::ProcessNodeDeleted( |
const NodeId& node, |
TransportChangeId server_change_id, |
@@ -626,6 +637,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. |
id_ = root_node_manager_->GetAndAdvanceNextConnectionId(); |