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; |
} |