Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(112)

Side by Side Diff: mojo/services/view_manager/view_manager_connection.cc

Issue 316713002: Wire input events through the ViewManagerClient interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix android Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "mojo/services/view_manager/view_manager_connection.h" 5 #include "mojo/services/view_manager/view_manager_connection.h"
6 6
7 #include "base/bind.h"
7 #include "base/stl_util.h" 8 #include "base/stl_util.h"
8 #include "mojo/services/public/cpp/geometry/geometry_type_converters.h" 9 #include "mojo/services/public/cpp/geometry/geometry_type_converters.h"
10 #include "mojo/services/public/cpp/input_events/input_events_type_converters.h"
9 #include "mojo/services/view_manager/node.h" 11 #include "mojo/services/view_manager/node.h"
10 #include "mojo/services/view_manager/root_node_manager.h" 12 #include "mojo/services/view_manager/root_node_manager.h"
11 #include "mojo/services/view_manager/view.h" 13 #include "mojo/services/view_manager/view.h"
12 #include "third_party/skia/include/core/SkBitmap.h" 14 #include "third_party/skia/include/core/SkBitmap.h"
13 #include "ui/aura/window.h" 15 #include "ui/aura/window.h"
14 #include "ui/gfx/codec/png_codec.h" 16 #include "ui/gfx/codec/png_codec.h"
15 17
16 namespace mojo { 18 namespace mojo {
17 namespace view_manager { 19 namespace view_manager {
18 namespace service { 20 namespace service {
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 } 197 }
196 } 198 }
197 199
198 void ViewManagerConnection::ProcessViewDeleted(const ViewId& view, 200 void ViewManagerConnection::ProcessViewDeleted(const ViewId& view,
199 bool originated_change) { 201 bool originated_change) {
200 if (originated_change) 202 if (originated_change)
201 return; 203 return;
202 client()->OnViewDeleted(ViewIdToTransportId(view)); 204 client()->OnViewDeleted(ViewIdToTransportId(view));
203 } 205 }
204 206
207 void ViewManagerConnection::ProcessViewInputEvent(const View* view,
208 const ui::Event* event) {
209 DCHECK_EQ(id_, view->id().connection_id);
210 client()->OnViewInputEvent(
211 ViewIdToTransportId(view->id()),
212 TypeConverter<EventPtr, ui::Event>::ConvertFrom(*event),
213 base::Bind(&base::DoNothing));
214 }
215
205 void ViewManagerConnection::OnConnectionError() { 216 void ViewManagerConnection::OnConnectionError() {
206 if (delete_on_connection_error_) 217 if (delete_on_connection_error_)
207 delete this; 218 delete this;
208 } 219 }
209 220
210 bool ViewManagerConnection::CanRemoveNodeFromParent(const Node* node) const { 221 bool ViewManagerConnection::CanRemoveNodeFromParent(const Node* node) const {
211 if (!node) 222 if (!node)
212 return false; 223 return false;
213 224
214 const Node* parent = node->GetParent(); 225 const Node* parent = node->GetParent();
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
611 const Node* old_parent) { 622 const Node* old_parent) {
612 root_node_manager_->ProcessNodeHierarchyChanged(node, new_parent, old_parent); 623 root_node_manager_->ProcessNodeHierarchyChanged(node, new_parent, old_parent);
613 } 624 }
614 625
615 void ViewManagerConnection::OnNodeViewReplaced(const Node* node, 626 void ViewManagerConnection::OnNodeViewReplaced(const Node* node,
616 const View* new_view, 627 const View* new_view,
617 const View* old_view) { 628 const View* old_view) {
618 root_node_manager_->ProcessNodeViewReplaced(node, new_view, old_view); 629 root_node_manager_->ProcessNodeViewReplaced(node, new_view, old_view);
619 } 630 }
620 631
632 void ViewManagerConnection::OnViewInputEvent(const View* view,
633 const ui::Event* event) {
634 ViewManagerConnection* connection = root_node_manager_->GetConnection(
635 view->id().connection_id);
636 DCHECK(connection);
637 connection->ProcessViewInputEvent(view, event);
638 }
639
621 void ViewManagerConnection::OnConnectionEstablished() { 640 void ViewManagerConnection::OnConnectionEstablished() {
622 root_node_manager_->AddConnection(this); 641 root_node_manager_->AddConnection(this);
623 642
624 std::vector<const Node*> to_send; 643 std::vector<const Node*> to_send;
625 if (roots_.empty()) { 644 if (roots_.empty()) {
626 GetUnknownNodesFrom(root_node_manager_->root(), &to_send); 645 GetUnknownNodesFrom(root_node_manager_->root(), &to_send);
627 } else { 646 } else {
628 for (NodeIdSet::const_iterator i = roots_.begin(); i != roots_.end(); ++i) 647 for (NodeIdSet::const_iterator i = roots_.begin(); i != roots_.end(); ++i)
629 GetUnknownNodesFrom(GetNode(NodeIdFromTransportId(*i)), &to_send); 648 GetUnknownNodesFrom(GetNode(NodeIdFromTransportId(*i)), &to_send);
630 } 649 }
631 650
632 client()->OnViewManagerConnectionEstablished( 651 client()->OnViewManagerConnectionEstablished(
633 id_, 652 id_,
634 root_node_manager_->next_server_change_id(), 653 root_node_manager_->next_server_change_id(),
635 NodesToINodes(to_send)); 654 NodesToINodes(to_send));
636 } 655 }
637 656
638 } // namespace service 657 } // namespace service
639 } // namespace view_manager 658 } // namespace view_manager
640 } // namespace mojo 659 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/services/view_manager/view_manager_connection.h ('k') | mojo/services/view_manager/view_manager_connection_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698