| 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 469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 480 break; | 480 break; |
| 481 } | 481 } |
| 482 | 482 |
| 483 CommandLine chrome( | 483 CommandLine chrome( |
| 484 delegate_execute::MakeChromeCommandLine(chrome_exe_, parameters_, | 484 delegate_execute::MakeChromeCommandLine(chrome_exe_, parameters_, |
| 485 display_name)); | 485 display_name)); |
| 486 string16 command_line(chrome.GetCommandLineString()); | 486 string16 command_line(chrome.GetCommandLineString()); |
| 487 | 487 |
| 488 AtlTrace("Formatted command line is %ls\n", command_line.c_str()); | 488 AtlTrace("Formatted command line is %ls\n", command_line.c_str()); |
| 489 | 489 |
| 490 base::win::ScopedProcessInformation proc_info; | 490 PROCESS_INFORMATION temp_process_info = {}; |
| 491 BOOL ret = CreateProcess(chrome_exe_.value().c_str(), | 491 BOOL ret = CreateProcess(chrome_exe_.value().c_str(), |
| 492 const_cast<LPWSTR>(command_line.c_str()), | 492 const_cast<LPWSTR>(command_line.c_str()), |
| 493 NULL, NULL, FALSE, 0, NULL, NULL, &start_info_, | 493 NULL, NULL, FALSE, 0, NULL, NULL, &start_info_, |
| 494 proc_info.Receive()); | 494 &temp_process_info); |
| 495 if (ret) { | 495 if (ret) { |
| 496 base::win::ScopedProcessInformation proc_info; |
| 497 proc_info.Set(temp_process_info); |
| 496 AtlTrace("Process id is %d\n", proc_info.process_id()); | 498 AtlTrace("Process id is %d\n", proc_info.process_id()); |
| 497 AllowSetForegroundWindow(proc_info.process_id()); | 499 AllowSetForegroundWindow(proc_info.process_id()); |
| 498 } else { | 500 } else { |
| 499 AtlTrace("Process launch failed, error %d\n", ::GetLastError()); | 501 AtlTrace("Process launch failed, error %d\n", ::GetLastError()); |
| 500 } | 502 } |
| 501 | 503 |
| 502 return S_OK; | 504 return S_OK; |
| 503 } | 505 } |
| 504 | 506 |
| 505 EC_HOST_UI_MODE CommandExecuteImpl::GetLaunchMode() { | 507 EC_HOST_UI_MODE CommandExecuteImpl::GetLaunchMode() { |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 560 AtlTrace("Invalid registry launch mode value %u\n", reg_value); | 562 AtlTrace("Invalid registry launch mode value %u\n", reg_value); |
| 561 launch_mode = ECHUIM_DESKTOP; | 563 launch_mode = ECHUIM_DESKTOP; |
| 562 } else { | 564 } else { |
| 563 launch_mode = static_cast<EC_HOST_UI_MODE>(reg_value); | 565 launch_mode = static_cast<EC_HOST_UI_MODE>(reg_value); |
| 564 AtlTrace("Launch mode forced by registry to %s\n", modes[launch_mode]); | 566 AtlTrace("Launch mode forced by registry to %s\n", modes[launch_mode]); |
| 565 } | 567 } |
| 566 | 568 |
| 567 launch_mode_determined = true; | 569 launch_mode_determined = true; |
| 568 return launch_mode; | 570 return launch_mode; |
| 569 } | 571 } |
| OLD | NEW |