diff options
author | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-12 02:24:50 +0000 |
---|---|---|
committer | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-12 02:24:50 +0000 |
commit | 1948c5876ee02c635fe791848acd823720f9d440 (patch) | |
tree | 558cd93906731996dcb1ff1244cf27136ca3d92b /ash/shell.cc | |
parent | 2b0964296cf3381b36e9fd342199a990adb458bc (diff) | |
download | chromium_src-1948c5876ee02c635fe791848acd823720f9d440.zip chromium_src-1948c5876ee02c635fe791848acd823720f9d440.tar.gz chromium_src-1948c5876ee02c635fe791848acd823720f9d440.tar.bz2 |
Close all widgets/windows while message loop is still active
Reset tooltip_controller explicitly so that timer stops at shutdown.
BUG=104998
TEST=none
Review URL: http://codereview.chromium.org/9968101
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131902 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/shell.cc')
-rw-r--r-- | ash/shell.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ash/shell.cc b/ash/shell.cc index 0d30ef1..75552bb 100644 --- a/ash/shell.cc +++ b/ash/shell.cc @@ -489,6 +489,9 @@ class DummySystemTrayDelegate : public SystemTrayDelegate { virtual void ChangeProxySettings() OVERRIDE { } + virtual void OnTrayDestroyed() OVERRIDE { + } + bool muted_; bool wifi_enabled_; bool cellular_enabled_; @@ -567,6 +570,7 @@ Shell::~Shell() { // The system tray needs to be reset before all the windows are destroyed. tray_.reset(); + tray_delegate_->OnTrayDestroyed(); // Desroy secondary monitor's widgets before all the windows are destroyed. monitor_controller_.reset(); @@ -589,6 +593,7 @@ Shell::~Shell() { window_cycle_controller_.reset(); event_client_.reset(); monitor_controller_.reset(); + tooltip_controller_.reset(); // Launcher widget has a InputMethodBridge that references to // input_method_filter_'s input_method_. So explicitly release launcher_ |