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..f05f095b949eda55497f2a234fa5e0f0ef77e91e 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| from |default_settings| here |
| + // since it's not applicable to default settings. |
| +} |
| + |
| IndividualSettings::~IndividualSettings() { |
| } |
| @@ -118,6 +129,20 @@ bool IndividualSettings::Parse(const base::DictionaryValue* dict, |
| permissions_to_merge_from, permissions_parsed, &blocked_permissions); |
| } |
| + // Parses the minimum version settings. |
| + std::string minimum_version_str; |
| + if (scope == SCOPE_INDIVIDUAL && |
| + dict->GetStringWithoutPathExpansion(schema_constants::kMinimumVersion, |
| + &minimum_version_str)) { |
| + scoped_ptr<base::Version> version(new Version(minimum_version_str)); |
| + // We accept a general version string here. Note that count of components in |
|
pastarmovj
2014/11/11 12:50:54
nit: Some articles in the second sentence.
Note
binjin
2014/11/11 19:10:37
Done.
|
| + // version string of extensions are limited up to 4. |
| + if (!version->IsValid()) |
| + LOG(WARNING) << kMalformedPreferenceWarning; |
| + else |
| + minimum_version = version.Pass(); |
| + } |
| + |
| return true; |
| } |