diff options
author | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-05 19:27:42 +0000 |
---|---|---|
committer | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-05 19:27:42 +0000 |
commit | b97def0e4fd0381fccfed0b23be3849551b93629 (patch) | |
tree | aa393e411fa8e8c0027d2d3b5135fdbbaf15f547 /win8 | |
parent | 7d248811c8f91d38e0c7825dafe6daffd3d0d112 (diff) | |
download | chromium_src-b97def0e4fd0381fccfed0b23be3849551b93629.zip chromium_src-b97def0e4fd0381fccfed0b23be3849551b93629.tar.gz chromium_src-b97def0e4fd0381fccfed0b23be3849551b93629.tar.bz2 |
Allow Ash/Metro to exit cleanly when the last Chrome window is closed.
BUG=151718
TEST=Close last Chrome window in metro/ash.
TBR=cpu
Review URL: https://chromiumcodereview.appspot.com/11368081
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165991 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'win8')
-rw-r--r-- | win8/metro_driver/chrome_app_view_ash.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/win8/metro_driver/chrome_app_view_ash.cc b/win8/metro_driver/chrome_app_view_ash.cc index 9d9d809..068fddd 100644 --- a/win8/metro_driver/chrome_app_view_ash.cc +++ b/win8/metro_driver/chrome_app_view_ash.cc @@ -51,6 +51,12 @@ struct Globals { namespace { +// TODO(robertshield): Share this with chrome_app_view.cc +void MetroExit() { + globals.app_exit->Exit(); + globals.core_window = NULL; +} + class ChromeChannelListener : public IPC::Listener { public: virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE { @@ -60,7 +66,7 @@ class ChromeChannelListener : public IPC::Listener { virtual void OnChannelError() OVERRIDE { DVLOG(1) << "Channel error"; - MessageLoop::current()->Quit(); + MetroExit(); } void Init(IPC::Sender* s) { |