Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(895)

Unified Diff: chrome/browser/metro_viewer/chrome_metro_viewer_process_host_aurawin.cc

Issue 297713002: Fixes crash in RemoteWindowTreeHostWin::HandleActivateDesktop (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: follow old pattern Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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() {
« no previous file with comments | « chrome/browser/metro_viewer/chrome_metro_viewer_process_host_aurawin.h ('k') | ui/aura/remote_window_tree_host_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698