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

Side by Side Diff: chrome/browser/browser_process_platform_part_aurawin.cc

Issue 235933004: 3rd part of porting Chrome Ash to Windows 7 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ash_unittests fixes Created 6 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/browser_process_platform_part_aurawin.h" 5 #include "chrome/browser/browser_process_platform_part_aurawin.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/prefs/pref_service.h" 9 #include "base/prefs/pref_service.h"
10 #include "base/process/kill.h" 10 #include "base/process/kill.h"
(...skipping 23 matching lines...) Expand all
34 34
35 void BrowserProcessPlatformPart::OnMetroViewerProcessTerminated() { 35 void BrowserProcessPlatformPart::OnMetroViewerProcessTerminated() {
36 metro_viewer_process_host_.reset(NULL); 36 metro_viewer_process_host_.reset(NULL);
37 } 37 }
38 38
39 void BrowserProcessPlatformPart::PlatformSpecificCommandLineProcessing( 39 void BrowserProcessPlatformPart::PlatformSpecificCommandLineProcessing(
40 const CommandLine& command_line) { 40 const CommandLine& command_line) {
41 // Check for Windows 8 specific commandlines requesting that this process 41 // Check for Windows 8 specific commandlines requesting that this process
42 // either connect to an existing viewer or launch a new viewer and 42 // either connect to an existing viewer or launch a new viewer and
43 // synchronously wait for it to connect. 43 // synchronously wait for it to connect.
44 if (base::win::GetVersion() >= base::win::VERSION_WIN8) { 44
45 bool launch = command_line.HasSwitch(switches::kViewerLaunchViaAppId); 45 bool launch = command_line.HasSwitch(switches::kViewerLaunchViaAppId);
46 bool connect = (launch || 46 bool connect = (launch ||
47 (command_line.HasSwitch(switches::kViewerConnect) && 47 (command_line.HasSwitch(switches::kViewerConnect) &&
48 !metro_viewer_process_host_.get())); 48 !metro_viewer_process_host_.get()));
49 if (connect) { 49 if (!connect)
50 // Create a host to connect to the Metro viewer process over IPC. 50 return;
51 metro_viewer_process_host_.reset(new ChromeMetroViewerProcessHost()); 51 // Create a host to connect to the Metro viewer process over IPC.
52 if (launch) { 52 metro_viewer_process_host_.reset(new ChromeMetroViewerProcessHost());
53 CHECK(metro_viewer_process_host_->LaunchViewerAndWaitForConnection( 53 if (launch) {
54 command_line.GetSwitchValueNative( 54 CHECK(metro_viewer_process_host_->LaunchViewerAndWaitForConnection(
55 switches::kViewerLaunchViaAppId))); 55 command_line.GetSwitchValueNative(
56 } 56 switches::kViewerLaunchViaAppId)));
57 }
58 } 57 }
58
59 } 59 }
60 60
61 void BrowserProcessPlatformPart::Observe( 61 void BrowserProcessPlatformPart::Observe(
62 int type, 62 int type,
63 const content::NotificationSource& source, 63 const content::NotificationSource& source,
64 const content::NotificationDetails& details) { 64 const content::NotificationDetails& details) {
65 65
66 DCHECK(type == chrome::NOTIFICATION_APP_TERMINATING); 66 DCHECK(type == chrome::NOTIFICATION_APP_TERMINATING);
67 PrefService* pref_service = g_browser_process->local_state(); 67 PrefService* pref_service = g_browser_process->local_state();
68 bool is_relaunch = pref_service->GetBoolean(prefs::kWasRestarted); 68 bool is_relaunch = pref_service->GetBoolean(prefs::kWasRestarted);
69 if (is_relaunch) { 69 if (is_relaunch) {
70 upgrade_util::RelaunchMode mode = 70 upgrade_util::RelaunchMode mode =
71 upgrade_util::RelaunchModeStringToEnum( 71 upgrade_util::RelaunchModeStringToEnum(
72 pref_service->GetString(prefs::kRelaunchMode)); 72 pref_service->GetString(prefs::kRelaunchMode));
73 if (metro_viewer_process_host_.get()) { 73 if (metro_viewer_process_host_.get()) {
74 if (mode == upgrade_util::RELAUNCH_MODE_DESKTOP) { 74 if (mode == upgrade_util::RELAUNCH_MODE_DESKTOP) {
75 // Metro -> Desktop 75 // Metro -> Desktop
76 chrome::ActivateDesktopHelper(chrome::ASH_TERMINATE); 76 chrome::ActivateDesktopHelper(chrome::ASH_TERMINATE);
77 } else { 77 } else {
78 // Metro -> Metro 78 // Metro -> Metro
79 aura::HandleMetroExit(); 79 aura::HandleMetroExit();
80 } 80 }
81 } 81 }
82 } 82 }
83 } 83 }
OLDNEW
« no previous file with comments | « ash/wm/workspace/workspace_event_handler_unittest.cc ('k') | chrome/browser/metro_utils/metro_chrome_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698