summaryrefslogtreecommitdiffstats
path: root/win8
diff options
context:
space:
mode:
authorrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-05 19:27:42 +0000
committerrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-05 19:27:42 +0000
commitb97def0e4fd0381fccfed0b23be3849551b93629 (patch)
treeaa393e411fa8e8c0027d2d3b5135fdbbaf15f547 /win8
parent7d248811c8f91d38e0c7825dafe6daffd3d0d112 (diff)
downloadchromium_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.cc8
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) {