| Index: chrome_frame/update_launcher.cc
|
| diff --git a/chrome_frame/update_launcher.cc b/chrome_frame/update_launcher.cc
|
| deleted file mode 100644
|
| index fac34a09a986b55ca067d918a0e292165b3f30b8..0000000000000000000000000000000000000000
|
| --- a/chrome_frame/update_launcher.cc
|
| +++ /dev/null
|
| @@ -1,72 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome_frame/update_launcher.h"
|
| -
|
| -#include <windows.h>
|
| -#include <Shellapi.h>
|
| -
|
| -#include "base/win/scoped_com_initializer.h"
|
| -#include "base/win/scoped_comptr.h"
|
| -#include "base/win/scoped_handle.h"
|
| -#include "google_update/google_update_idl.h"
|
| -
|
| -namespace {
|
| -
|
| -const wchar_t kChromeFrameGuid[] = L"{8BA986DA-5100-405E-AA35-86F34A02ACBF}";
|
| -
|
| -const DWORD kLaunchFailureExitCode = 0xFF;
|
| -
|
| -const wchar_t kUpdateCommandFlag[] = L"--update-cmd";
|
| -
|
| -// Waits indefinitely for the provided process to exit. Returns the process's
|
| -// exit code, or kLaunchFailureExitCode if an error occurs in the waiting.
|
| -DWORD WaitForProcessExitCode(HANDLE handle) {
|
| - DWORD exit_code = 0;
|
| - return ((::WaitForSingleObject(handle, INFINITE) == WAIT_OBJECT_0) &&
|
| - ::GetExitCodeProcess(handle, &exit_code)) ?
|
| - exit_code : kLaunchFailureExitCode;
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -namespace update_launcher {
|
| -
|
| -std::wstring GetUpdateCommandFromArguments(const wchar_t* command_line) {
|
| - std::wstring command;
|
| -
|
| - if (command_line != NULL) {
|
| - int num_args = 0;
|
| - wchar_t** args = NULL;
|
| - args = ::CommandLineToArgvW(command_line, &num_args);
|
| -
|
| - if (args) {
|
| - if (num_args == 3 && _wcsicmp(args[1], kUpdateCommandFlag) == 0)
|
| - command = args[2];
|
| - ::LocalFree(args);
|
| - }
|
| - }
|
| -
|
| - return command;
|
| -}
|
| -
|
| -DWORD LaunchUpdateCommand(const std::wstring& command) {
|
| - base::win::ScopedCOMInitializer com_initializer;
|
| - if (!com_initializer.succeeded())
|
| - return kLaunchFailureExitCode;
|
| -
|
| - base::win::ScopedComPtr<IProcessLauncher> ipl;
|
| - if (FAILED(ipl.CreateInstance(__uuidof(ProcessLauncherClass))))
|
| - return kLaunchFailureExitCode;
|
| -
|
| - ULONG_PTR phandle = NULL;
|
| - if (FAILED(ipl->LaunchCmdElevated(kChromeFrameGuid, command.c_str(),
|
| - ::GetCurrentProcessId(), &phandle)))
|
| - return kLaunchFailureExitCode;
|
| -
|
| - base::win::ScopedHandle process(reinterpret_cast<HANDLE>(phandle));
|
| - return WaitForProcessExitCode(process);
|
| -}
|
| -
|
| -} // namespace process_launcher
|
|
|