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

Unified Diff: mojo/services/view_manager/root_node_manager.cc

Issue 513923004: More viewmanager renaming: (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: sim30 Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/services/view_manager/root_node_manager.h ('k') | mojo/services/view_manager/server_view.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/services/view_manager/root_node_manager.cc
diff --git a/mojo/services/view_manager/root_node_manager.cc b/mojo/services/view_manager/root_node_manager.cc
deleted file mode 100644
index 18461b790110755e5ebce0ddc376733cfdd91a9b..0000000000000000000000000000000000000000
--- a/mojo/services/view_manager/root_node_manager.cc
+++ /dev/null
@@ -1,268 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "mojo/services/view_manager/root_node_manager.h"
-
-#include "base/logging.h"
-#include "mojo/public/cpp/application/application_connection.h"
-#include "mojo/public/interfaces/application/service_provider.mojom.h"
-#include "mojo/services/public/cpp/input_events/input_events_type_converters.h"
-#include "mojo/services/view_manager/view_manager_service_impl.h"
-#include "ui/aura/env.h"
-
-namespace mojo {
-namespace service {
-
-RootNodeManager::ScopedChange::ScopedChange(
- ViewManagerServiceImpl* connection,
- RootNodeManager* root,
- bool is_delete_node)
- : root_(root),
- connection_id_(connection->id()),
- is_delete_node_(is_delete_node) {
- root_->PrepareForChange(this);
-}
-
-RootNodeManager::ScopedChange::~ScopedChange() {
- root_->FinishChange();
-}
-
-RootNodeManager::Context::Context() {
- // Pass in false as native viewport creates the PlatformEventSource.
- aura::Env::CreateInstance(false);
-}
-
-RootNodeManager::Context::~Context() {
- aura::Env::DeleteInstance();
-}
-
-RootNodeManager::RootNodeManager(
- ApplicationConnection* app_connection,
- DisplayManagerDelegate* display_manager_delegate,
- const Callback<void()>& native_viewport_closed_callback)
- : app_connection_(app_connection),
- next_connection_id_(1),
- display_manager_(app_connection,
- this,
- display_manager_delegate,
- native_viewport_closed_callback),
- root_(new Node(this, RootNodeId())),
- current_change_(NULL) {
-}
-
-RootNodeManager::~RootNodeManager() {
- while (!connections_created_by_connect_.empty())
- delete *(connections_created_by_connect_.begin());
- // All the connections should have been destroyed.
- DCHECK(connection_map_.empty());
- root_.reset();
-}
-
-ConnectionSpecificId RootNodeManager::GetAndAdvanceNextConnectionId() {
- const ConnectionSpecificId id = next_connection_id_++;
- DCHECK_LT(id, next_connection_id_);
- return id;
-}
-
-void RootNodeManager::AddConnection(ViewManagerServiceImpl* connection) {
- DCHECK_EQ(0u, connection_map_.count(connection->id()));
- connection_map_[connection->id()] = connection;
-}
-
-void RootNodeManager::RemoveConnection(ViewManagerServiceImpl* connection) {
- connection_map_.erase(connection->id());
- connections_created_by_connect_.erase(connection);
-
- // Notify remaining connections so that they can cleanup.
- for (ConnectionMap::const_iterator i = connection_map_.begin();
- i != connection_map_.end(); ++i) {
- i->second->OnViewManagerServiceImplDestroyed(connection->id());
- }
-}
-
-void RootNodeManager::EmbedRoot(
- const std::string& url,
- InterfaceRequest<ServiceProvider> service_provider) {
- if (connection_map_.empty()) {
- EmbedImpl(kInvalidConnectionId, String::From(url), RootNodeId(),
- service_provider.Pass());
- return;
- }
- ViewManagerServiceImpl* connection = GetConnection(kWindowManagerConnection);
- connection->client()->Embed(url, service_provider.Pass());
-}
-
-void RootNodeManager::Embed(
- ConnectionSpecificId creator_id,
- const String& url,
- Id transport_node_id,
- InterfaceRequest<ServiceProvider> service_provider) {
- EmbedImpl(creator_id,
- url,
- NodeIdFromTransportId(transport_node_id),
- service_provider.Pass())->set_delete_on_connection_error();
-}
-
-ViewManagerServiceImpl* RootNodeManager::GetConnection(
- ConnectionSpecificId connection_id) {
- ConnectionMap::iterator i = connection_map_.find(connection_id);
- return i == connection_map_.end() ? NULL : i->second;
-}
-
-Node* RootNodeManager::GetNode(const NodeId& id) {
- if (id == root_->id())
- return root_.get();
- ConnectionMap::iterator i = connection_map_.find(id.connection_id);
- return i == connection_map_.end() ? NULL : i->second->GetNode(id);
-}
-
-void RootNodeManager::OnConnectionMessagedClient(ConnectionSpecificId id) {
- if (current_change_)
- current_change_->MarkConnectionAsMessaged(id);
-}
-
-bool RootNodeManager::DidConnectionMessageClient(
- ConnectionSpecificId id) const {
- return current_change_ && current_change_->DidMessageConnection(id);
-}
-
-ViewManagerServiceImpl* RootNodeManager::GetConnectionByCreator(
- ConnectionSpecificId creator_id,
- const std::string& url) const {
- for (ConnectionMap::const_iterator i = connection_map_.begin();
- i != connection_map_.end(); ++i) {
- if (i->second->creator_id() == creator_id && i->second->url() == url)
- return i->second;
- }
- return NULL;
-}
-
-const ViewManagerServiceImpl* RootNodeManager::GetConnectionWithRoot(
- const NodeId& id) const {
- for (ConnectionMap::const_iterator i = connection_map_.begin();
- i != connection_map_.end(); ++i) {
- if (i->second->HasRoot(id))
- return i->second;
- }
- return NULL;
-}
-
-void RootNodeManager::DispatchNodeInputEventToWindowManager(EventPtr event) {
- // Input events are forwarded to the WindowManager. The WindowManager
- // eventually calls back to us with DispatchOnViewInputEvent().
- ViewManagerServiceImpl* connection = GetConnection(kWindowManagerConnection);
- if (!connection)
- return;
- connection->client()->DispatchOnViewInputEvent(event.Pass());
-}
-
-void RootNodeManager::ProcessNodeBoundsChanged(const Node* node,
- const gfx::Rect& old_bounds,
- const gfx::Rect& new_bounds) {
- for (ConnectionMap::iterator i = connection_map_.begin();
- i != connection_map_.end(); ++i) {
- i->second->ProcessNodeBoundsChanged(node, old_bounds, new_bounds,
- IsChangeSource(i->first));
- }
-}
-
-void RootNodeManager::ProcessNodeHierarchyChanged(const Node* node,
- const Node* new_parent,
- const Node* old_parent) {
- for (ConnectionMap::iterator i = connection_map_.begin();
- i != connection_map_.end(); ++i) {
- i->second->ProcessNodeHierarchyChanged(
- node, new_parent, old_parent, IsChangeSource(i->first));
- }
-}
-
-void RootNodeManager::ProcessNodeReorder(const Node* node,
- const Node* relative_node,
- const OrderDirection direction) {
- for (ConnectionMap::iterator i = connection_map_.begin();
- i != connection_map_.end(); ++i) {
- i->second->ProcessNodeReorder(
- node, relative_node, direction, IsChangeSource(i->first));
- }
-}
-
-void RootNodeManager::ProcessNodeDeleted(const NodeId& node) {
- for (ConnectionMap::iterator i = connection_map_.begin();
- i != connection_map_.end(); ++i) {
- i->second->ProcessNodeDeleted(node, IsChangeSource(i->first));
- }
-}
-
-void RootNodeManager::PrepareForChange(ScopedChange* change) {
- // Should only ever have one change in flight.
- CHECK(!current_change_);
- current_change_ = change;
-}
-
-void RootNodeManager::FinishChange() {
- // PrepareForChange/FinishChange should be balanced.
- CHECK(current_change_);
- current_change_ = NULL;
-}
-
-ViewManagerServiceImpl* RootNodeManager::EmbedImpl(
- const ConnectionSpecificId creator_id,
- const String& url,
- const NodeId& root_id,
- InterfaceRequest<ServiceProvider> service_provider) {
- MessagePipe pipe;
-
- ServiceProvider* view_manager_service_provider =
- app_connection_->ConnectToApplication(url)->GetServiceProvider();
- view_manager_service_provider->ConnectToService(
- ViewManagerServiceImpl::Client::Name_,
- pipe.handle1.Pass());
-
- std::string creator_url;
- ConnectionMap::const_iterator it = connection_map_.find(creator_id);
- if (it != connection_map_.end())
- creator_url = it->second->url();
-
- ViewManagerServiceImpl* connection =
- new ViewManagerServiceImpl(this,
- creator_id,
- creator_url,
- url.To<std::string>(),
- root_id,
- service_provider.Pass());
- WeakBindToPipe(connection, pipe.handle0.Pass());
- connections_created_by_connect_.insert(connection);
- OnConnectionMessagedClient(connection->id());
- return connection;
-}
-
-void RootNodeManager::OnNodeDestroyed(const Node* node) {
- ProcessNodeDeleted(node->id());
-}
-
-void RootNodeManager::OnNodeHierarchyChanged(const Node* node,
- const Node* new_parent,
- const Node* old_parent) {
- if (!display_manager_.in_setup())
- ProcessNodeHierarchyChanged(node, new_parent, old_parent);
-}
-
-void RootNodeManager::OnNodeBoundsChanged(const Node* node,
- const gfx::Rect& old_bounds,
- const gfx::Rect& new_bounds) {
- ProcessNodeBoundsChanged(node, old_bounds, new_bounds);
- if (!node->parent())
- return;
-
- // TODO(sky): optimize this.
- display_manager_.SchedulePaint(node->parent(), old_bounds);
- display_manager_.SchedulePaint(node->parent(), new_bounds);
-}
-
-void RootNodeManager::OnNodeBitmapChanged(const Node* node) {
- display_manager_.SchedulePaint(node, gfx::Rect(node->bounds().size()));
-}
-
-} // namespace service
-} // namespace mojo
« no previous file with comments | « mojo/services/view_manager/root_node_manager.h ('k') | mojo/services/view_manager/server_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698