OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // Implementation of the CommandExecuteImpl class which implements the | 4 // Implementation of the CommandExecuteImpl class which implements the |
5 // IExecuteCommand and related interfaces for handling ShellExecute based | 5 // IExecuteCommand and related interfaces for handling ShellExecute based |
6 // launches of the Chrome browser. | 6 // launches of the Chrome browser. |
7 | 7 |
8 #include "win8/delegate_execute/command_execute_impl.h" | 8 #include "win8/delegate_execute/command_execute_impl.h" |
9 | 9 |
10 #include <shlguid.h> | 10 #include <shlguid.h> |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 | 95 |
96 // Prevent a Chrome window from showing up on the desktop. | 96 // Prevent a Chrome window from showing up on the desktop. |
97 cl.AppendSwitch(switches::kSilentLaunch); | 97 cl.AppendSwitch(switches::kSilentLaunch); |
98 | 98 |
99 // Tell Chrome to connect to the Metro viewer process. | 99 // Tell Chrome to connect to the Metro viewer process. |
100 cl.AppendSwitch(switches::kViewerConnect); | 100 cl.AppendSwitch(switches::kViewerConnect); |
101 | 101 |
102 base::LaunchOptions launch_options; | 102 base::LaunchOptions launch_options; |
103 launch_options.start_hidden = true; | 103 launch_options.start_hidden = true; |
104 | 104 |
105 return base::LaunchProcess(cl, launch_options, NULL); | 105 return base::LaunchProcess(cl, launch_options).IsValid(); |
106 } | 106 } |
107 | 107 |
108 } // namespace | 108 } // namespace |
109 | 109 |
110 bool CommandExecuteImpl::path_provider_initialized_ = false; | 110 bool CommandExecuteImpl::path_provider_initialized_ = false; |
111 | 111 |
112 // CommandExecuteImpl is responsible for activating chrome in Windows 8. The | 112 // CommandExecuteImpl is responsible for activating chrome in Windows 8. The |
113 // flow is complicated and this tries to highlight the important events. | 113 // flow is complicated and this tries to highlight the important events. |
114 // The current approach is to have a single instance of chrome either | 114 // The current approach is to have a single instance of chrome either |
115 // running in desktop or metro mode. If there is no current instance then | 115 // running in desktop or metro mode. If there is no current instance then |
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
495 AtlTrace("Invalid registry launch mode value %u\n", reg_value); | 495 AtlTrace("Invalid registry launch mode value %u\n", reg_value); |
496 launch_mode = ECHUIM_DESKTOP; | 496 launch_mode = ECHUIM_DESKTOP; |
497 } else { | 497 } else { |
498 launch_mode = static_cast<EC_HOST_UI_MODE>(reg_value); | 498 launch_mode = static_cast<EC_HOST_UI_MODE>(reg_value); |
499 AtlTrace("Launch mode forced by registry to %s\n", modes[launch_mode]); | 499 AtlTrace("Launch mode forced by registry to %s\n", modes[launch_mode]); |
500 } | 500 } |
501 | 501 |
502 launch_mode_determined = true; | 502 launch_mode_determined = true; |
503 return launch_mode; | 503 return launch_mode; |
504 } | 504 } |
OLD | NEW |