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

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

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/view_manager/view_manager_connection.cc
diff --git a/mojo/services/view_manager/view_manager_connection.cc b/mojo/services/view_manager/view_manager_connection.cc
index 176d8eecb0e990e5eafeeb826d4e922df678153d..d7a29191499f1dbf169d1b23bfcfdb6abc5f9342 100644
--- a/mojo/services/view_manager/view_manager_connection.cc
+++ b/mojo/services/view_manager/view_manager_connection.cc
@@ -96,7 +96,7 @@ Node* ViewManagerConnection::GetNode(const NodeId& id) {
return context()->GetNode(id);
}
-View* ViewManagerConnection::GetView(const ViewId& id) {
+service::View* ViewManagerConnection::GetView(const ViewId& id) {
if (id_ == id.connection_id) {
ViewMap::const_iterator i = view_map_.find(id.view_id);
return i == view_map_.end() ? NULL : i->second;
@@ -136,6 +136,14 @@ void ViewManagerConnection::NotifyNodeDeleted(
client_change_id);
}
+void ViewManagerConnection::NotifyViewDeleted(
+ const ViewId& view,
+ TransportChangeId server_change_id,
+ TransportChangeId client_change_id) {
+ client()->OnViewDeleted(ViewIdToTransportId(view), server_change_id,
+ client_change_id);
+}
+
bool ViewManagerConnection::DeleteNodeImpl(ViewManagerConnection* source,
const NodeId& node_id,
TransportChangeId change_id) {
@@ -163,7 +171,7 @@ bool ViewManagerConnection::DeleteViewImpl(ViewManagerConnection* source,
const ViewId& view_id,
TransportChangeId change_id) {
DCHECK_EQ(view_id.connection_id, id_);
- View* view = GetView(view_id);
+ service::View* view = GetView(view_id);
if (!view)
return false;
RootNodeManager::ScopedChange change(
@@ -173,6 +181,7 @@ bool ViewManagerConnection::DeleteViewImpl(ViewManagerConnection* source,
view->node()->SetView(NULL);
view_map_.erase(view_id.view_id);
delete view;
+ context()->NotifyViewDeleted(view_id);
return true;
}
@@ -182,7 +191,7 @@ bool ViewManagerConnection::SetViewImpl(const NodeId& node_id,
Node* node = GetNode(node_id);
if (!node)
return false;
- View* view = GetView(view_id);
+ service::View* view = GetView(view_id);
if (!view && view_id != ViewId())
return false;
RootNodeManager::ScopedChange change(
@@ -276,7 +285,7 @@ void ViewManagerConnection::CreateView(
callback.Run(false);
return;
}
- view_map_[view_id] = new View(ViewId(id_, view_id));
+ view_map_[view_id] = new service::View(ViewId(id_, view_id));
callback.Run(true);
}
@@ -305,7 +314,7 @@ void ViewManagerConnection::SetViewContents(
TransportViewId view_id,
ScopedSharedBufferHandle buffer,
uint32_t buffer_size) {
- View* view = GetView(ViewIdFromTransportId(view_id));
+ service::View* view = GetView(ViewIdFromTransportId(view_id));
if (!view)
return;
void* handle_data;
« no previous file with comments | « mojo/services/view_manager/view_manager_connection.h ('k') | mojo/services/view_manager/view_manager_connection_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698