| 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() {
|
|
|