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

Unified Diff: mojo/views/native_widget_view_manager.cc

Issue 383123006: Preliminary interactive layout of window manager's demo_launcher (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: OK 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/views/native_widget_view_manager.cc
diff --git a/mojo/views/native_widget_view_manager.cc b/mojo/views/native_widget_view_manager.cc
index 36a65786e101b21da096aa89b764d0144be3855a..51cc2fa8bdb8eb2d2e64117ff8e6ce7356f01b70 100644
--- a/mojo/views/native_widget_view_manager.cc
+++ b/mojo/views/native_widget_view_manager.cc
@@ -113,9 +113,11 @@ NativeWidgetViewManager::NativeWidgetViewManager(
}
NativeWidgetViewManager::~NativeWidgetViewManager() {
- if (node_->active_view())
- node_->active_view()->RemoveObserver(this);
- node_->RemoveObserver(this);
+ if (node_) {
+ if (node_->active_view())
+ node_->active_view()->RemoveObserver(this);
+ node_->RemoveObserver(this);
+ }
}
void NativeWidgetViewManager::InitNativeWidget(
@@ -133,9 +135,18 @@ void NativeWidgetViewManager::CompositorContentsChanged(
}
void NativeWidgetViewManager::OnNodeDestroyed(view_manager::Node* node) {
+ DCHECK_EQ(node, node_);
+ node->RemoveObserver(this);
sky 2014/07/15 17:47:49 You should remove the observer from the active_vie
hansmuller 2014/07/15 20:07:34 I'll remove the view's observer when the view is d
+ node_ = NULL;
window_tree_host_.reset();
}
+void NativeWidgetViewManager::OnNodeBoundsChanged(view_manager::Node* node,
+ const gfx::Rect& old_bounds,
+ const gfx::Rect& new_bounds) {
+ GetWidget()->SetBounds(gfx::Rect(node->bounds().size()));
+}
+
void NativeWidgetViewManager::OnNodeActiveViewChanged(
view_manager::Node* node,
view_manager::View* old_view,
« mojo/examples/window_manager/window_manager.cc ('K') | « mojo/views/native_widget_view_manager.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698