summaryrefslogtreecommitdiffstats
path: root/ash/shell.cc
diff options
context:
space:
mode:
authoroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-12 02:24:50 +0000
committeroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-12 02:24:50 +0000
commit1948c5876ee02c635fe791848acd823720f9d440 (patch)
tree558cd93906731996dcb1ff1244cf27136ca3d92b /ash/shell.cc
parent2b0964296cf3381b36e9fd342199a990adb458bc (diff)
downloadchromium_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.cc5
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_