Index: chrome/browser/metro_viewer/chrome_metro_viewer_process_host_aurawin.cc |
diff --git a/chrome/browser/metro_viewer/chrome_metro_viewer_process_host_aurawin.cc b/chrome/browser/metro_viewer/chrome_metro_viewer_process_host_aurawin.cc |
index 277a5aa01105843f915992a8da2eae40feb21e6e..47337c38145a105f96e9ea37ea38b32b3e4cb1a5 100644 |
--- a/chrome/browser/metro_viewer/chrome_metro_viewer_process_host_aurawin.cc |
+++ b/chrome/browser/metro_viewer/chrome_metro_viewer_process_host_aurawin.cc |
@@ -34,6 +34,7 @@ |
#include "content/public/browser/web_contents.h" |
#include "ui/aura/remote_window_tree_host_win.h" |
#include "ui/gfx/win/dpi.h" |
+#include "ui/metro_viewer/metro_viewer_messages.h" |
#include "url/gurl.h" |
namespace { |
@@ -66,11 +67,28 @@ void OpenURL(const GURL& url) { |
} // namespace |
+void HandleActivateDesktop(const base::FilePath& path, bool ash_exit) { |
+ if (ChromeMetroViewerProcessHost::instance()) { |
+ ChromeMetroViewerProcessHost::instance()->Send( |
+ new MetroViewerHostMsg_ActivateDesktop(path, ash_exit)); |
+ } |
+} |
+ |
+// static |
+ChromeMetroViewerProcessHost* ChromeMetroViewerProcessHost::instance_ = NULL; |
+ |
ChromeMetroViewerProcessHost::ChromeMetroViewerProcessHost() |
: MetroViewerProcessHost( |
content::BrowserThread::GetMessageLoopProxyForThread( |
content::BrowserThread::IO)) { |
chrome::IncrementKeepAliveCount(); |
+ DCHECK(instance_ == NULL); |
+ instance_ = this; |
+} |
+ |
+ChromeMetroViewerProcessHost::~ChromeMetroViewerProcessHost() { |
+ DCHECK(instance_ == this); |
+ instance_ = NULL; |
} |
void ChromeMetroViewerProcessHost::OnChannelError() { |