Chromium Code Reviews| 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, |