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

Side by Side Diff: components/view_manager/connection_manager.cc

Issue 1164553004: Revert of Mandoline: Remove native_viewport.mojom (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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
« no previous file with comments | « components/view_manager/connection_manager.h ('k') | components/view_manager/display_manager.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "components/view_manager/connection_manager.h" 5 #include "components/view_manager/connection_manager.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "components/view_manager/client_connection.h" 9 #include "components/view_manager/client_connection.h"
10 #include "components/view_manager/connection_manager_delegate.h" 10 #include "components/view_manager/connection_manager_delegate.h"
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 108
109 ConnectionManager::ScopedChange::~ScopedChange() { 109 ConnectionManager::ScopedChange::~ScopedChange() {
110 connection_manager_->FinishChange(); 110 connection_manager_->FinishChange();
111 } 111 }
112 112
113 ConnectionManager::ConnectionManager(ConnectionManagerDelegate* delegate, 113 ConnectionManager::ConnectionManager(ConnectionManagerDelegate* delegate,
114 scoped_ptr<DisplayManager> display_manager) 114 scoped_ptr<DisplayManager> display_manager)
115 : delegate_(delegate), 115 : delegate_(delegate),
116 window_manager_client_connection_(nullptr), 116 window_manager_client_connection_(nullptr),
117 next_connection_id_(1), 117 next_connection_id_(1),
118 event_dispatcher_(this),
119 display_manager_(display_manager.Pass()), 118 display_manager_(display_manager.Pass()),
120 root_(CreateServerView(RootViewId())), 119 root_(CreateServerView(RootViewId())),
121 current_change_(nullptr), 120 current_change_(nullptr),
122 in_destructor_(false), 121 in_destructor_(false),
123 animation_runner_(base::TimeTicks::Now()), 122 animation_runner_(base::TimeTicks::Now()),
123 event_dispatcher_(this),
124 event_dispatcher_binding_(&event_dispatcher_),
124 focus_controller_(new FocusController(this, root_.get())) { 125 focus_controller_(new FocusController(this, root_.get())) {
125 root_->SetBounds(gfx::Rect(800, 600)); 126 root_->SetBounds(gfx::Rect(800, 600));
126 root_->SetVisible(true); 127 root_->SetVisible(true);
127 128
128 display_manager_->Init(this, &event_dispatcher_); 129 mojo::NativeViewportEventDispatcherPtr event_dispatcher_ptr;
130 event_dispatcher_binding_.Bind(GetProxy(&event_dispatcher_ptr));
131 display_manager_->Init(this, event_dispatcher_ptr.Pass());
129 } 132 }
130 133
131 ConnectionManager::~ConnectionManager() { 134 ConnectionManager::~ConnectionManager() {
132 in_destructor_ = true; 135 in_destructor_ = true;
133 136
134 // Deleting views will attempt to advance focus. When we're being destroyed 137 // Deleting views will attempt to advance focus. When we're being destroyed
135 // that is not necessary. Additionally |focus_controller_| needs to be 138 // that is not necessary. Additionally |focus_controller_| needs to be
136 // destroyed before |root_|. 139 // destroyed before |root_|.
137 focus_controller_.reset(); 140 focus_controller_.reset();
138 141
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 this, &ConnectionManager::DoAnimation); 305 this, &ConnectionManager::DoAnimation);
303 } 306 }
304 ServerView* clone = CloneView(view, this); 307 ServerView* clone = CloneView(view, this);
305 CloneViewTree(view, clone, this); 308 CloneViewTree(view, clone, this);
306 view->parent()->Add(clone); 309 view->parent()->Add(clone);
307 view->parent()->Reorder(clone, view, mojo::ORDER_DIRECTION_ABOVE); 310 view->parent()->Reorder(clone, view, mojo::ORDER_DIRECTION_ABOVE);
308 return true; 311 return true;
309 } 312 }
310 313
311 void ConnectionManager::ProcessEvent(mojo::EventPtr event) { 314 void ConnectionManager::ProcessEvent(mojo::EventPtr event) {
312 event_dispatcher_.OnEvent(event.Pass()); 315 event_dispatcher_.OnEvent(event.Pass(), EventDispatcher::OnEventCallback());
313 } 316 }
314 317
315 void ConnectionManager::DispatchInputEventToView(const ServerView* view, 318 void ConnectionManager::DispatchInputEventToView(const ServerView* view,
316 mojo::EventPtr event) { 319 mojo::EventPtr event) {
317 // If the view is an embed root, forward to the embedded view, not the owner. 320 // If the view is an embed root, forward to the embedded view, not the owner.
318 ViewManagerServiceImpl* connection = GetConnectionWithRoot(view->id()); 321 ViewManagerServiceImpl* connection = GetConnectionWithRoot(view->id());
319 if (!connection) 322 if (!connection)
320 connection = GetConnection(view->id().connection_id); 323 connection = GetConnection(view->id().connection_id);
321 CHECK(connection); 324 CHECK(connection);
322 connection->client()->OnViewInputEvent(ViewIdToTransportId(view->id()), 325 connection->client()->OnViewInputEvent(ViewIdToTransportId(view->id()),
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 if (wm_connection != owning_connection_old && 615 if (wm_connection != owning_connection_old &&
613 wm_connection != embedded_connection_old && 616 wm_connection != embedded_connection_old &&
614 wm_connection != owning_connection_new && 617 wm_connection != owning_connection_new &&
615 wm_connection != embedded_connection_new) { 618 wm_connection != embedded_connection_new) {
616 wm_connection->ProcessFocusChanged(old_focused_view, new_focused_view); 619 wm_connection->ProcessFocusChanged(old_focused_view, new_focused_view);
617 } 620 }
618 } 621 }
619 } 622 }
620 623
621 } // namespace view_manager 624 } // namespace view_manager
OLDNEW
« no previous file with comments | « components/view_manager/connection_manager.h ('k') | components/view_manager/display_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698