| 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 | 4 |
| 5 #include "chrome/installer/mini_installer/configuration.h" | 5 #include "chrome/installer/mini_installer/configuration.h" |
| 6 | 6 |
| 7 #include <windows.h> | 7 #include <windows.h> |
| 8 #include <shellapi.h> // NOLINT | 8 #include <shellapi.h> // NOLINT |
| 9 | 9 |
| 10 #include "chrome/installer/mini_installer/appid.h" | 10 #include "chrome/installer/mini_installer/appid.h" |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 if (args_ != NULL) { | 27 if (args_ != NULL) { |
| 28 ::LocalFree(args_); | 28 ::LocalFree(args_); |
| 29 args_ = NULL; | 29 args_ = NULL; |
| 30 } | 30 } |
| 31 chrome_app_guid_ = google_update::kAppGuid; | 31 chrome_app_guid_ = google_update::kAppGuid; |
| 32 command_line_ = NULL; | 32 command_line_ = NULL; |
| 33 operation_ = INSTALL_PRODUCT; | 33 operation_ = INSTALL_PRODUCT; |
| 34 argument_count_ = 0; | 34 argument_count_ = 0; |
| 35 has_chrome_ = false; | 35 has_chrome_ = false; |
| 36 has_chrome_frame_ = false; | 36 has_chrome_frame_ = false; |
| 37 has_app_host_ = false; | |
| 38 is_multi_install_ = false; | 37 is_multi_install_ = false; |
| 39 is_system_level_ = false; | 38 is_system_level_ = false; |
| 40 query_component_build_ = false; | 39 query_component_build_ = false; |
| 41 } | 40 } |
| 42 | 41 |
| 43 bool Configuration::Initialize() { | 42 bool Configuration::Initialize() { |
| 44 return InitializeFromCommandLine(::GetCommandLine()); | 43 return InitializeFromCommandLine(::GetCommandLine()); |
| 45 } | 44 } |
| 46 | 45 |
| 47 // This is its own function so that unit tests can provide their own command | 46 // This is its own function so that unit tests can provide their own command |
| 48 // lines. |command_line| is shared with this instance in the sense that this | 47 // lines. |command_line| is shared with this instance in the sense that this |
| 49 // instance may refer to it at will throughout its lifetime, yet it will | 48 // instance may refer to it at will throughout its lifetime, yet it will |
| 50 // not release it. | 49 // not release it. |
| 51 bool Configuration::InitializeFromCommandLine(const wchar_t* command_line) { | 50 bool Configuration::InitializeFromCommandLine(const wchar_t* command_line) { |
| 52 Clear(); | 51 Clear(); |
| 53 | 52 |
| 54 command_line_ = command_line; | 53 command_line_ = command_line; |
| 55 args_ = ::CommandLineToArgvW(command_line_, &argument_count_); | 54 args_ = ::CommandLineToArgvW(command_line_, &argument_count_); |
| 56 if (args_ != NULL) { | 55 if (args_ != NULL) { |
| 57 for (int i = 1; i < argument_count_; ++i) { | 56 for (int i = 1; i < argument_count_; ++i) { |
| 58 if (0 == ::lstrcmpi(args_[i], L"--chrome-sxs")) | 57 if (0 == ::lstrcmpi(args_[i], L"--chrome-sxs")) |
| 59 chrome_app_guid_ = google_update::kSxSAppGuid; | 58 chrome_app_guid_ = google_update::kSxSAppGuid; |
| 60 else if (0 == ::lstrcmpi(args_[i], L"--chrome")) | 59 else if (0 == ::lstrcmpi(args_[i], L"--chrome")) |
| 61 has_chrome_ = true; | 60 has_chrome_ = true; |
| 62 else if (0 == ::lstrcmpi(args_[i], L"--chrome-frame")) | 61 else if (0 == ::lstrcmpi(args_[i], L"--chrome-frame")) |
| 63 has_chrome_frame_ = true; | 62 has_chrome_frame_ = true; |
| 64 else if ((0 == ::lstrcmpi(args_[i], L"--app-host")) || | |
| 65 (0 == ::lstrcmpi(args_[i], L"--app-launcher"))) | |
| 66 has_app_host_ = true; | |
| 67 else if (0 == ::lstrcmpi(args_[i], L"--multi-install")) | 63 else if (0 == ::lstrcmpi(args_[i], L"--multi-install")) |
| 68 is_multi_install_ = true; | 64 is_multi_install_ = true; |
| 69 else if (0 == ::lstrcmpi(args_[i], L"--system-level")) | 65 else if (0 == ::lstrcmpi(args_[i], L"--system-level")) |
| 70 is_system_level_ = true; | 66 is_system_level_ = true; |
| 71 else if (0 == ::lstrcmpi(args_[i], L"--cleanup")) | 67 else if (0 == ::lstrcmpi(args_[i], L"--cleanup")) |
| 72 operation_ = CLEANUP; | 68 operation_ = CLEANUP; |
| 73 else if (0 == ::lstrcmpi(args_[i], L"--query-component-build")) | 69 else if (0 == ::lstrcmpi(args_[i], L"--query-component-build")) |
| 74 query_component_build_ = true; | 70 query_component_build_ = true; |
| 75 } | 71 } |
| 76 | 72 |
| 77 // Single-install defaults to Chrome. | 73 // Single-install defaults to Chrome. |
| 78 if (!is_multi_install_) | 74 if (!is_multi_install_) |
| 79 has_chrome_ = !(has_chrome_frame_ || has_app_host_); | 75 has_chrome_ = !has_chrome_frame_; |
| 80 } | 76 } |
| 77 |
| 81 return args_ != NULL; | 78 return args_ != NULL; |
| 82 } | 79 } |
| 83 | 80 |
| 84 } // namespace mini_installer | 81 } // namespace mini_installer |
| OLD | NEW |