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

Unified Diff: mojo/examples/window_manager/window_manager.cc

Issue 372273004: Shutdown cleanup (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 5 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/examples/window_manager/window_manager.cc
diff --git a/mojo/examples/window_manager/window_manager.cc b/mojo/examples/window_manager/window_manager.cc
index 5f1e8439f1b007a4a2d1278690f27063303581ef..b23e90840dd62e098eae9ff466182fe9a570f264 100644
--- a/mojo/examples/window_manager/window_manager.cc
+++ b/mojo/examples/window_manager/window_manager.cc
@@ -18,7 +18,6 @@
#include "mojo/services/public/cpp/view_manager/view_event_dispatcher.h"
#include "mojo/services/public/cpp/view_manager/view_manager.h"
#include "mojo/services/public/cpp/view_manager/view_manager_delegate.h"
-#include "mojo/services/public/cpp/view_manager/view_observer.h"
#include "mojo/services/public/interfaces/input_events/input_events.mojom.h"
#include "mojo/services/public/interfaces/launcher/launcher.mojom.h"
#include "mojo/services/public/interfaces/navigation/navigation.mojom.h"
@@ -189,7 +188,6 @@ class RootLayoutManager : public NodeObserver {
class WindowManager : public ApplicationDelegate,
public DebugPanel::Delegate,
- public ViewObserver,
public ViewManagerDelegate,
public ViewEventDispatcher {
public:
@@ -280,23 +278,27 @@ class WindowManager : public ApplicationDelegate,
view_manager_ = view_manager;
view_manager_->SetEventDispatcher(this);
- Node* node = Node::Create(view_manager);
+ Node* node = Node::Create(view_manager_);
root->AddChild(node);
node->SetBounds(gfx::Rect(root->bounds().size()));
content_node_id_ = node->id();
root_layout_manager_.reset(
- new RootLayoutManager(view_manager, root, content_node_id_));
+ new RootLayoutManager(view_manager_, root, content_node_id_));
root->AddObserver(root_layout_manager_.get());
- View* view = View::Create(view_manager);
+ View* view = View::Create(view_manager_);
node->SetActiveView(view);
view->SetColor(SK_ColorBLUE);
- view->AddObserver(this);
CreateLauncherUI();
CreateControlPanel(node);
}
+ virtual void OnViewManagerDisconnected(ViewManager* view_manager) OVERRIDE {
+ DCHECK_EQ(view_manager_, view_manager);
+ view_manager_ = NULL;
+ base::MessageLoop::current()->Quit();
+ }
// Overridden from ViewEventDispatcher:
virtual void DispatchEvent(View* target, EventPtr event) OVERRIDE {

Powered by Google App Engine
This is Rietveld 408576698