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

Unified Diff: mojo/services/public/cpp/view_manager/lib/view_manager_synchronizer.h

Issue 272833002: View synchronization (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 7 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/public/cpp/view_manager/lib/view_manager_synchronizer.h
diff --git a/mojo/services/public/cpp/view_manager/lib/view_manager_synchronizer.h b/mojo/services/public/cpp/view_manager/lib/view_manager_synchronizer.h
index 2bab3a17f62cacd73b3179e61e2d666d099754aa..87929754faf80b441f08bd36291aa3cbac1d5a43 100644
--- a/mojo/services/public/cpp/view_manager/lib/view_manager_synchronizer.h
+++ b/mojo/services/public/cpp/view_manager/lib/view_manager_synchronizer.h
@@ -30,11 +30,14 @@ class ViewManagerSynchronizer : public IViewManagerClient {
bool connected() const { return connected_; }
- // API exposed to the node implementation that pushes local changes to the
- // service.
+ // API exposed to the node/view implementations that pushes local changes to
+ // the service.
TransportNodeId CreateViewTreeNode();
void DestroyViewTreeNode(TransportNodeId node_id);
+ TransportViewId CreateView();
+ void DestroyView(TransportViewId view_id);
+
// These methods take TransportIds. For views owned by the current connection,
// the connection id high word can be zero. In all cases, the TransportId 0x1
// refers to the root node.
@@ -42,6 +45,9 @@ class ViewManagerSynchronizer : public IViewManagerClient {
void RemoveChild(TransportNodeId child_id, TransportNodeId parent_id);
bool OwnsNode(TransportNodeId id) const;
+ bool OwnsView(TransportViewId id) const;
+
+ void SetActiveView(TransportNodeId node_id, TransportViewId view_id);
private:
friend class ViewManagerTransaction;
@@ -64,6 +70,9 @@ class ViewManagerSynchronizer : public IViewManagerClient {
uint32_t new_view_id,
uint32_t old_view_id,
TransportChangeId client_change_id) OVERRIDE;
+ virtual void OnViewDeleted(uint32_t node_id,
+ uint32_t server_change_id,
+ uint32_t client_change_id) OVERRIDE;
// Sync the client model with the service by enumerating the pending
// transaction queue and applying them in order.

Powered by Google App Engine
This is Rietveld 408576698