summaryrefslogtreecommitdiffstats
path: root/win8/metro_driver/chrome_app_view_ash.h
diff options
context:
space:
mode:
authorshrikant@chromium.org <shrikant@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-27 22:56:27 +0000
committershrikant@chromium.org <shrikant@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-27 22:56:27 +0000
commita37cac5498b26dff7ee93dea47fa6b206e2303a5 (patch)
tree7dbf04ab413028cdf1bdec1d8047b4795b5950fd /win8/metro_driver/chrome_app_view_ash.h
parent9934b43df0157182b8cb452ab7a58c40352987ce (diff)
downloadchromium_src-a37cac5498b26dff7ee93dea47fa6b206e2303a5.zip
chromium_src-a37cac5498b26dff7ee93dea47fa6b206e2303a5.tar.gz
chromium_src-a37cac5498b26dff7ee93dea47fa6b206e2303a5.tar.bz2
Closed UI channel for fast metro shutdown/restart.
As it works currently, when we close metro viewer with Alt+F4, the process remains in suspended state for approximately 10 seconds and terminates after that. On the browser process side, ChromeMetroViewerProcessHost class holds ref count to browser process and releases OnChannelError. With this change we trigger channel error immediately after sending Alt+F4 so that browser process can exit/restart. BUG=335070 R=cpu,ananta Review URL: https://codereview.chromium.org/164553007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253960 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'win8/metro_driver/chrome_app_view_ash.h')
-rw-r--r--win8/metro_driver/chrome_app_view_ash.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/win8/metro_driver/chrome_app_view_ash.h b/win8/metro_driver/chrome_app_view_ash.h
index d347205..5de9f67 100644
--- a/win8/metro_driver/chrome_app_view_ash.h
+++ b/win8/metro_driver/chrome_app_view_ash.h
@@ -45,6 +45,11 @@ class FilePickerSessionBase;
struct MetroViewerHostMsg_SaveAsDialogParams;
+enum MetroTerminateMethod {
+ TERMINATE_USING_KEY_SEQUENCE = 1,
+ TERMINATE_USING_PROCESS_EXIT = 2,
+};
+
class ChromeAppViewAsh
: public mswr::RuntimeClass<winapp::Core::IFrameworkView>,
public metro_driver::ImePopupObserver,
@@ -104,6 +109,8 @@ class ChromeAppViewAsh
const std::vector<int32>& input_scopes,
const std::vector<metro_viewer::CharacterBounds>& character_bounds);
+ void OnMetroExit(MetroTerminateMethod method);
+
HWND core_window_hwnd() const { return core_window_hwnd_; }