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

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

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/node_delegate.h ('k') | mojo/services/view_manager/root_node_manager.cc » ('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.h
diff --git a/mojo/services/view_manager/root_node_manager.h b/mojo/services/view_manager/root_node_manager.h
deleted file mode 100644
index 2f685172668ad118a2837b170758a901dcd1b56c..0000000000000000000000000000000000000000
--- a/mojo/services/view_manager/root_node_manager.h
+++ /dev/null
@@ -1,210 +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.
-
-#ifndef MOJO_SERVICES_VIEW_MANAGER_ROOT_NODE_MANAGER_H_
-#define MOJO_SERVICES_VIEW_MANAGER_ROOT_NODE_MANAGER_H_
-
-#include <map>
-#include <set>
-
-#include "base/basictypes.h"
-#include "mojo/public/cpp/bindings/array.h"
-#include "mojo/services/view_manager/display_manager.h"
-#include "mojo/services/view_manager/ids.h"
-#include "mojo/services/view_manager/node.h"
-#include "mojo/services/view_manager/node_delegate.h"
-#include "mojo/services/view_manager/view_manager_export.h"
-
-namespace ui {
-class Event;
-}
-
-namespace mojo {
-
-class ApplicationConnection;
-
-namespace service {
-
-class DisplayManagerDelegate;
-class ViewManagerServiceImpl;
-
-// RootNodeManager is responsible for managing the set of
-// ViewManagerServiceImpls as well as providing the root of the node hierarchy.
-class MOJO_VIEW_MANAGER_EXPORT RootNodeManager : public NodeDelegate {
- public:
- // Create when a ViewManagerServiceImpl is about to make a change. Ensures
- // clients are notified of the correct change id.
- class ScopedChange {
- public:
- ScopedChange(ViewManagerServiceImpl* connection,
- RootNodeManager* root,
- bool is_delete_node);
- ~ScopedChange();
-
- ConnectionSpecificId connection_id() const { return connection_id_; }
- bool is_delete_node() const { return is_delete_node_; }
-
- // Marks the connection with the specified id as having seen a message.
- void MarkConnectionAsMessaged(ConnectionSpecificId connection_id) {
- message_ids_.insert(connection_id);
- }
-
- // Returns true if MarkConnectionAsMessaged(connection_id) was invoked.
- bool DidMessageConnection(ConnectionSpecificId connection_id) const {
- return message_ids_.count(connection_id) > 0;
- }
-
- private:
- RootNodeManager* root_;
- const ConnectionSpecificId connection_id_;
- const bool is_delete_node_;
-
- // See description of MarkConnectionAsMessaged/DidMessageConnection.
- std::set<ConnectionSpecificId> message_ids_;
-
- DISALLOW_COPY_AND_ASSIGN(ScopedChange);
- };
-
- RootNodeManager(ApplicationConnection* app_connection,
- DisplayManagerDelegate* display_manager_delegate,
- const Callback<void()>& native_viewport_closed_callback);
- virtual ~RootNodeManager();
-
- // Returns the id for the next ViewManagerServiceImpl.
- ConnectionSpecificId GetAndAdvanceNextConnectionId();
-
- void AddConnection(ViewManagerServiceImpl* connection);
- void RemoveConnection(ViewManagerServiceImpl* connection);
-
- // Establishes the initial client. Similar to Connect(), but the resulting
- // client is allowed to do anything.
- void EmbedRoot(const std::string& url,
- InterfaceRequest<ServiceProvider> service_provider);
-
- // See description of ViewManagerService::Embed() for details. This assumes
- // |transport_node_id| is valid.
- void Embed(ConnectionSpecificId creator_id,
- const String& url,
- Id transport_node_id,
- InterfaceRequest<ServiceProvider> service_provider);
-
- // Returns the connection by id.
- ViewManagerServiceImpl* GetConnection(ConnectionSpecificId connection_id);
-
- // Returns the Node identified by |id|.
- Node* GetNode(const NodeId& id);
-
- Node* root() { return root_.get(); }
-
- bool IsProcessingChange() const { return current_change_ != NULL; }
-
- bool is_processing_delete_node() const {
- return current_change_ && current_change_->is_delete_node(); }
-
- // Invoked when a connection messages a client about the change. This is used
- // to avoid sending ServerChangeIdAdvanced() unnecessarily.
- void OnConnectionMessagedClient(ConnectionSpecificId id);
-
- // Returns true if OnConnectionMessagedClient() was invoked for id.
- bool DidConnectionMessageClient(ConnectionSpecificId id) const;
-
- ViewManagerServiceImpl* GetConnectionByCreator(
- ConnectionSpecificId creator_id,
- const std::string& url) const;
-
- // Returns the ViewManagerServiceImpl that has |id| as a root.
- ViewManagerServiceImpl* GetConnectionWithRoot(const NodeId& id) {
- return const_cast<ViewManagerServiceImpl*>(
- const_cast<const RootNodeManager*>(this)->GetConnectionWithRoot(id));
- }
- const ViewManagerServiceImpl* GetConnectionWithRoot(const NodeId& id) const;
-
- void DispatchNodeInputEventToWindowManager(EventPtr event);
-
- // These functions trivially delegate to all ViewManagerServiceImpls, which in
- // term notify their clients.
- void ProcessNodeDestroyed(Node* node);
- void ProcessNodeBoundsChanged(const Node* node,
- const gfx::Rect& old_bounds,
- const gfx::Rect& new_bounds);
- void ProcessNodeHierarchyChanged(const Node* node,
- const Node* new_parent,
- const Node* old_parent);
- void ProcessNodeReorder(const Node* node,
- const Node* relative_node,
- const OrderDirection direction);
- void ProcessNodeDeleted(const NodeId& node);
-
- private:
- // Used to setup any static state needed by RootNodeManager.
- struct Context {
- Context();
- ~Context();
- };
-
- typedef std::map<ConnectionSpecificId, ViewManagerServiceImpl*> ConnectionMap;
-
- // Invoked when a connection is about to make a change. Subsequently followed
- // by FinishChange() once the change is done.
- //
- // Changes should never nest, meaning each PrepareForChange() must be
- // balanced with a call to FinishChange() with no PrepareForChange()
- // in between.
- void PrepareForChange(ScopedChange* change);
-
- // Balances a call to PrepareForChange().
- void FinishChange();
-
- // Returns true if the specified connection originated the current change.
- bool IsChangeSource(ConnectionSpecificId connection_id) const {
- return current_change_ && current_change_->connection_id() == connection_id;
- }
-
- // Implementation of the two embed variants.
- ViewManagerServiceImpl* EmbedImpl(
- ConnectionSpecificId creator_id,
- const String& url,
- const NodeId& root_id,
- InterfaceRequest<ServiceProvider> service_provider);
-
- // Overridden from NodeDelegate:
- virtual void OnNodeDestroyed(const Node* node) OVERRIDE;
- virtual void OnNodeHierarchyChanged(const Node* node,
- const Node* new_parent,
- const Node* old_parent) OVERRIDE;
- virtual void OnNodeBoundsChanged(const Node* node,
- const gfx::Rect& old_bounds,
- const gfx::Rect& new_bounds) OVERRIDE;
- virtual void OnNodeBitmapChanged(const Node* node) OVERRIDE;
-
- Context context_;
-
- ApplicationConnection* app_connection_;
-
- // ID to use for next ViewManagerServiceImpl.
- ConnectionSpecificId next_connection_id_;
-
- // Set of ViewManagerServiceImpls.
- ConnectionMap connection_map_;
-
- DisplayManager display_manager_;
-
- // Root node.
- scoped_ptr<Node> root_;
-
- // Set of ViewManagerServiceImpls created by way of Connect(). These have to
- // be explicitly destroyed.
- std::set<ViewManagerServiceImpl*> connections_created_by_connect_;
-
- // If non-null we're processing a change. The ScopedChange is not owned by us
- // (it's created on the stack by ViewManagerServiceImpl).
- ScopedChange* current_change_;
-
- DISALLOW_COPY_AND_ASSIGN(RootNodeManager);
-};
-
-} // namespace service
-} // namespace mojo
-
-#endif // MOJO_SERVICES_VIEW_MANAGER_ROOT_NODE_MANAGER_H_
« no previous file with comments | « mojo/services/view_manager/node_delegate.h ('k') | mojo/services/view_manager/root_node_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698