| 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/util/installer_state.h" | 5 #include "chrome/installer/util/installer_state.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <functional> | 10 #include <functional> |
| 11 #include <utility> | 11 #include <utility> |
| 12 | 12 |
| 13 #include "base/command_line.h" | 13 #include "base/command_line.h" |
| 14 #include "base/file_version_info.h" | 14 #include "base/file_version_info.h" |
| 15 #include "base/files/file_enumerator.h" | 15 #include "base/files/file_enumerator.h" |
| 16 #include "base/files/file_util.h" | 16 #include "base/files/file_util.h" |
| 17 #include "base/logging.h" | 17 #include "base/logging.h" |
| 18 #include "base/macros.h" | 18 #include "base/macros.h" |
| 19 #include "base/memory/scoped_ptr.h" | 19 #include "base/memory/scoped_ptr.h" |
| 20 #include "base/strings/string_util.h" | 20 #include "base/strings/string_util.h" |
| 21 #include "base/strings/utf_string_conversions.h" | 21 #include "base/strings/utf_string_conversions.h" |
| 22 #include "base/win/registry.h" | 22 #include "base/win/registry.h" |
| 23 #include "base/win/scoped_handle.h" | 23 #include "base/win/scoped_handle.h" |
| 24 #include "chrome/installer/util/delete_tree_work_item.h" | 24 #include "chrome/installer/util/delete_tree_work_item.h" |
| 25 #include "chrome/installer/util/helper.h" | 25 #include "chrome/installer/util/helper.h" |
| 26 #include "chrome/installer/util/install_util.h" | 26 #include "chrome/installer/util/install_util.h" |
| 27 #include "chrome/installer/util/installation_state.h" | 27 #include "chrome/installer/util/installation_state.h" |
| 28 #include "chrome/installer/util/installer_crash_reporting.h" |
| 28 #include "chrome/installer/util/master_preferences.h" | 29 #include "chrome/installer/util/master_preferences.h" |
| 29 #include "chrome/installer/util/master_preferences_constants.h" | 30 #include "chrome/installer/util/master_preferences_constants.h" |
| 30 #include "chrome/installer/util/product.h" | 31 #include "chrome/installer/util/product.h" |
| 31 #include "chrome/installer/util/work_item.h" | 32 #include "chrome/installer/util/work_item.h" |
| 32 #include "chrome/installer/util/work_item_list.h" | 33 #include "chrome/installer/util/work_item_list.h" |
| 33 | 34 |
| 34 namespace installer { | 35 namespace installer { |
| 35 | 36 |
| 36 bool InstallerState::IsMultiInstallUpdate( | 37 bool InstallerState::IsMultiInstallUpdate( |
| 37 const MasterPreferences& prefs, | 38 const MasterPreferences& prefs, |
| (...skipping 539 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 577 } | 578 } |
| 578 } | 579 } |
| 579 | 580 |
| 580 void InstallerState::AddComDllList( | 581 void InstallerState::AddComDllList( |
| 581 std::vector<base::FilePath>* com_dll_list) const { | 582 std::vector<base::FilePath>* com_dll_list) const { |
| 582 for (auto* product : products_) | 583 for (auto* product : products_) |
| 583 product->AddComDllList(com_dll_list); | 584 product->AddComDllList(com_dll_list); |
| 584 } | 585 } |
| 585 | 586 |
| 586 void InstallerState::UpdateStage(installer::InstallerStage stage) const { | 587 void InstallerState::UpdateStage(installer::InstallerStage stage) const { |
| 588 installer::SetStageCrashKey(stage); |
| 587 InstallUtil::UpdateInstallerStage(system_install(), state_key_, stage); | 589 InstallUtil::UpdateInstallerStage(system_install(), state_key_, stage); |
| 588 } | 590 } |
| 589 | 591 |
| 590 void InstallerState::UpdateChannels() const { | 592 void InstallerState::UpdateChannels() const { |
| 591 DCHECK_NE(UNINSTALL, operation_); | 593 DCHECK_NE(UNINSTALL, operation_); |
| 592 // Update the "ap" value for the product being installed/updated. Use the | 594 // Update the "ap" value for the product being installed/updated. Use the |
| 593 // current value in the registry since the InstallationState instance used by | 595 // current value in the registry since the InstallationState instance used by |
| 594 // the bulk of the installer does not track changes made by UpdateStage. | 596 // the bulk of the installer does not track changes made by UpdateStage. |
| 595 // Create the app's ClientState key if it doesn't exist. | 597 // Create the app's ClientState key if it doesn't exist. |
| 596 ChannelInfo channel_info; | 598 ChannelInfo channel_info; |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 690 } | 692 } |
| 691 if (!install_list->Do()) | 693 if (!install_list->Do()) |
| 692 LOG(ERROR) << "Failed to record installer error information in registry."; | 694 LOG(ERROR) << "Failed to record installer error information in registry."; |
| 693 } | 695 } |
| 694 | 696 |
| 695 bool InstallerState::RequiresActiveSetup() const { | 697 bool InstallerState::RequiresActiveSetup() const { |
| 696 return system_install() && FindProduct(BrowserDistribution::CHROME_BROWSER); | 698 return system_install() && FindProduct(BrowserDistribution::CHROME_BROWSER); |
| 697 } | 699 } |
| 698 | 700 |
| 699 } // namespace installer | 701 } // namespace installer |
| OLD | NEW |