| Index: ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
|
| diff --git a/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc b/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
|
| index 4e6c1c4e46da570505d5db71e9ed736515f10ab6..26828e00f96793cc1cb32b9069fafad76352648e 100644
|
| --- a/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
|
| +++ b/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
|
| @@ -178,6 +178,8 @@ DesktopNativeWidgetAura::~DesktopNativeWidgetAura() {
|
| CloseNow();
|
|
|
| stacking_client_.reset(); // Uses root_window_ at destruction.
|
| +
|
| + root_window_->RemoveRootWindowObserver(this);
|
| root_window_.reset(); // Uses input_method_event_filter_ at destruction.
|
| input_method_event_filter_.reset();
|
| }
|
| @@ -235,6 +237,8 @@ void DesktopNativeWidgetAura::InitNativeWidget(
|
| this, params.bounds);
|
| root_window_.reset(
|
| desktop_root_window_host_->Init(window_, params));
|
| + root_window_->AddRootWindowObserver(this);
|
| +
|
| stacking_client_.reset(
|
| new DesktopNativeWidgetAuraStackingClient(root_window_.get()));
|
| drop_helper_.reset(new DropHelper(
|
| @@ -842,4 +846,12 @@ int DesktopNativeWidgetAura::OnPerformDrop(const ui::DropTargetEvent& event) {
|
| last_drop_operation_);
|
| }
|
|
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +// DesktopNativeWidgetAura, aura::RootWindowObserver implementation:
|
| +
|
| +void DesktopNativeWidgetAura::OnRootWindowHostCloseRequested(
|
| + const aura::RootWindow* root) {
|
| + Close();
|
| +}
|
| +
|
| } // namespace views
|
|
|