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

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

Issue 636363002: Splits window manager like methods into ViewManagerServiceDelegate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: minor cleanup Created 6 years, 2 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
Index: mojo/services/view_manager/connection_manager.h
diff --git a/mojo/services/view_manager/connection_manager.h b/mojo/services/view_manager/connection_manager.h
index 36fc3546916d33a0ee32f4a1b9a47cdb5258fff4..cc61e03e8b2b4da6ee9717366b0123dc81b984e6 100644
--- a/mojo/services/view_manager/connection_manager.h
+++ b/mojo/services/view_manager/connection_manager.h
@@ -15,6 +15,7 @@
#include "mojo/services/view_manager/server_view.h"
#include "mojo/services/view_manager/server_view_delegate.h"
#include "mojo/services/view_manager/view_manager_export.h"
+#include "mojo/services/view_manager/view_manager_service_delegate_client_impl.h"
namespace ui {
class Event;
@@ -75,17 +76,19 @@ class MOJO_VIEW_MANAGER_EXPORT ConnectionManager : public ServerViewDelegate {
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);
+ // Used in two cases:
+ // . Establishes the client for the root.
+ // . Requests to Embed() at an unspecified view. For this case the request
+ // is passed on to the ViewManagerServiceDelegate.
+ void Embed(const std::string& url,
+ InterfaceRequest<ServiceProvider> service_provider);
// See description of ViewManagerService::Embed() for details. This assumes
// |transport_view_id| is valid.
- void Embed(ConnectionSpecificId creator_id,
- const String& url,
- Id transport_view_id,
- InterfaceRequest<ServiceProvider> service_provider);
+ void EmbedAtView(ConnectionSpecificId creator_id,
+ const String& url,
+ Id transport_view_id,
+ InterfaceRequest<ServiceProvider> service_provider);
// Returns the connection by id.
ViewManagerServiceImpl* GetConnection(ConnectionSpecificId connection_id);
@@ -115,7 +118,7 @@ class MOJO_VIEW_MANAGER_EXPORT ConnectionManager : public ServerViewDelegate {
}
const ViewManagerServiceImpl* GetConnectionWithRoot(const ViewId& id) const;
- void DispatchViewInputEventToWindowManager(EventPtr event);
+ void DispatchViewInputEventToDelegate(EventPtr event);
// These functions trivially delegate to all ViewManagerServiceImpls, which in
// term notify their clients.
@@ -179,6 +182,8 @@ class MOJO_VIEW_MANAGER_EXPORT ConnectionManager : public ServerViewDelegate {
ApplicationConnection* app_connection_;
+ ViewManagerServiceDelegateClientImpl delegate_client_impl_;
+
// ID to use for next ViewManagerServiceImpl.
ConnectionSpecificId next_connection_id_;

Powered by Google App Engine
This is Rietveld 408576698