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

Unified Diff: mojo/services/public/cpp/view_manager/lib/view_manager.cc

Issue 311423003: Provide an API to the example window manager app that supports closing a window. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 6 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/mojo_examples.gypi ('k') | mojo/services/public/cpp/view_manager/lib/view_manager_private.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/services/public/cpp/view_manager/lib/view_manager.cc
diff --git a/mojo/services/public/cpp/view_manager/lib/view_manager.cc b/mojo/services/public/cpp/view_manager/lib/view_manager.cc
index 5c36f55eda0abf63a617cdb78479a1b3994aac9b..7541d1a9d6f4a4737c0ee3e99b1c706ce7c60ec9 100644
--- a/mojo/services/public/cpp/view_manager/lib/view_manager.cc
+++ b/mojo/services/public/cpp/view_manager/lib/view_manager.cc
@@ -16,7 +16,9 @@ namespace mojo {
namespace view_manager {
namespace {
-void OnViewManagerReady(base::RunLoop* loop, ViewManager* manager) {
+void OnViewManagerReady(base::RunLoop* loop,
+ ViewManager* manager,
+ ViewTreeNode* root) {
loop->Quit();
}
@@ -43,13 +45,12 @@ ViewManager::~ViewManager() {
}
// static
-ViewManager* ViewManager::CreateBlocking(
- Application* application,
- const base::Callback<void(ViewManager*)>& root_added_callback) {
+ViewManager* ViewManager::CreateBlocking(Application* application) {
base::RunLoop init_loop;
ViewManager* manager = new ViewManager(
application,
- base::Bind(&OnViewManagerReady, &init_loop));
+ base::Bind(&OnViewManagerReady, &init_loop),
+ RootCallback());
init_loop.Run();
return manager;
}
@@ -57,8 +58,9 @@ ViewManager* ViewManager::CreateBlocking(
// static
void ViewManager::Create(
Application* application,
- const base::Callback<void(ViewManager*)>& root_added_callback) {
- new ViewManager(application, root_added_callback);
+ const RootCallback& root_added_callback,
+ const RootCallback& root_removed_callback) {
+ new ViewManager(application, root_added_callback, root_removed_callback);
}
ViewTreeNode* ViewManager::GetNodeById(TransportNodeId id) {
@@ -76,8 +78,10 @@ View* ViewManager::GetViewById(TransportViewId id) {
ViewManager::ViewManager(
Application* application,
- const base::Callback<void(ViewManager*)>& root_added_callback)
+ const RootCallback& root_added_callback,
+ const RootCallback& root_removed_callback)
: root_added_callback_(root_added_callback),
+ root_removed_callback_(root_removed_callback),
synchronizer_(NULL) {
application->AddService<ViewManagerSynchronizer>(this);
}
« no previous file with comments | « mojo/mojo_examples.gypi ('k') | mojo/services/public/cpp/view_manager/lib/view_manager_private.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698