Chromium Code Reviews| Index: chrome/browser/extensions/extension_management_internal.cc |
| diff --git a/chrome/browser/extensions/extension_management_internal.cc b/chrome/browser/extensions/extension_management_internal.cc |
| index ca7c5fb710d264f19ed0e30f8f747b91477dd5e9..df1bbe7e51ee722b29e4dffcfba505296e69f6e2 100644 |
| --- a/chrome/browser/extensions/extension_management_internal.cc |
| +++ b/chrome/browser/extensions/extension_management_internal.cc |
| @@ -6,6 +6,7 @@ |
| #include "base/logging.h" |
| #include "base/values.h" |
| +#include "base/version.h" |
| #include "chrome/browser/extensions/extension_management_constants.h" |
| #include "extensions/common/url_pattern_set.h" |
| #include "url/gurl.h" |
| @@ -23,6 +24,16 @@ IndividualSettings::IndividualSettings() { |
| Reset(); |
| } |
| +// Initializes from default settings. |
| +IndividualSettings::IndividualSettings( |
| + const IndividualSettings* default_settings) { |
| + installation_mode = default_settings->installation_mode; |
| + update_url = default_settings->installation_mode; |
| + blocked_permissions = default_settings->blocked_permissions; |
| + // We are not initializing |minimum_version_required| from |default_settings| |
| + // here since it's not applicable to default settings. |
| +} |
| + |
| IndividualSettings::~IndividualSettings() { |
| } |
|
Finnur
2014/11/19 10:16:25
Can you initialize installation_mode here?
binjin
2014/11/19 13:36:10
In a destructor? I assume you mean Parse(), the pu
|
| @@ -118,6 +129,22 @@ bool IndividualSettings::Parse(const base::DictionaryValue* dict, |
| permissions_to_merge_from, permissions_parsed, &blocked_permissions); |
| } |
| + // Parses the minimum version settings. |
| + std::string minimum_version_required_str; |
| + if (scope == SCOPE_INDIVIDUAL && |
| + dict->GetStringWithoutPathExpansion( |
| + schema_constants::kMinimumVersionRequired, |
| + &minimum_version_required_str)) { |
| + scoped_ptr<base::Version> version( |
| + new Version(minimum_version_required_str)); |
| + // We accept a general version string here. Note that count of components in |
| + // version string of extensions is limited to 4. |
| + if (!version->IsValid()) |
| + LOG(WARNING) << kMalformedPreferenceWarning; |
| + else |
| + minimum_version_required = version.Pass(); |
| + } |
| + |
| return true; |
| } |