Index: chrome/installer/mini_installer/configuration.h |
diff --git a/chrome/installer/mini_installer/configuration.h b/chrome/installer/mini_installer/configuration.h |
index d35127acc2524305a991e0d44502ab0584af108f..006fc2ccc78cd6100356311de120ead6cc19532c 100644 |
--- a/chrome/installer/mini_installer/configuration.h |
+++ b/chrome/installer/mini_installer/configuration.h |
@@ -40,23 +40,21 @@ class Configuration { |
// Returns the original command line. |
const wchar_t* command_line() const { return command_line_; } |
- // Returns the app guid to be used for Chrome. --chrome-sxs on the command |
- // line makes this the canary's app guid. |
+ // Returns the app guid to be used for Chrome. --chrome-sxs on the command |
+ // line makes this the canary's app guid (Google Chrome only). |
const wchar_t* chrome_app_guid() const { return chrome_app_guid_; } |
- // Returns true if --chrome is explicitly or implicitly on the command line. |
- bool has_chrome() const { return has_chrome_; } |
- |
- // Returns true if --multi-install is on the command line. |
- bool is_multi_install() const { return is_multi_install_; } |
- |
// Returns true if --system-level is on the command line or if |
// GoogleUpdateIsMachine=1 is set in the process's environment. |
bool is_system_level() const { return is_system_level_; } |
- // Retuns true if --chrome-sxs is on the command line. |
+ // Retuns true if --chrome-sxs is on the command line (Google Chrome only). |
gab
2016/12/12 21:38:16
Why make this Google Chrome only? Chromium SxS exi
grt (UTC plus 2)
2016/12/13 09:20:37
Nope: https://cs.chromium.org/chromium/src/chrome/
gab
2016/12/14 16:33:38
I see, thought it did because we have test_install
grt (UTC plus 2)
2016/12/14 20:38:45
It's magic!
(well, not really, but it isn't obvio
|
bool is_side_by_side() const { return is_side_by_side_; } |
+ // Returns true if an existing multi-install Chrome is being updated (Google |
+ // Chrome only). |
+ bool is_updating_multi_chrome() const { return is_updating_multi_chrome_; } |
+ |
// Returns true if any invalid switch is found on the command line. |
bool has_invalid_switch() const { return has_invalid_switch_; } |
@@ -73,26 +71,31 @@ class Configuration { |
const wchar_t* command_line_; |
int argument_count_; |
Operation operation_; |
- bool has_chrome_; |
- bool is_multi_install_; |
bool is_system_level_; |
bool is_side_by_side_; |
+ bool is_updating_multi_chrome_; |
bool has_invalid_switch_; |
const wchar_t* previous_version_; |
protected: |
typedef StackString<128> ValueString; |
+ enum class RegistryLocation { |
+ CLIENTS_KEY, |
+ CLIENT_STATE_KEY, |
+ }; |
// Virtual for testing. |
- virtual bool ReadClientStateRegistryValue( |
- const HKEY root_key, const wchar_t* app_guid, |
- LONG* retval, ValueString& value); |
+ virtual LONG ReadRegistryValue(RegistryLocation location, |
+ const wchar_t* app_guid, |
+ const wchar_t* value_name, |
+ ValueString* value) const; |
private: |
Configuration(const Configuration&); |
Configuration& operator=(const Configuration&); |
- void SetChromeAppGuid(); |
+ // Returns true if multi-install Chrome is already present on the machine. |
+ bool IsUpdatingMultiChrome() const; |
}; |
} // namespace mini_installer |