Index: extensions/common/manifest.cc |
diff --git a/extensions/common/manifest.cc b/extensions/common/manifest.cc |
index 112628f77efc3dfd2e6cf112d6866d6781ea915a..8bc2e28ea858531a5a091f7ecc89e97bf0581793 100644 |
--- a/extensions/common/manifest.cc |
+++ b/extensions/common/manifest.cc |
@@ -146,20 +146,15 @@ bool Manifest::ValidateManifest( |
const FeatureProvider* manifest_feature_provider = |
FeatureProvider::GetManifestFeatures(); |
- const std::vector<std::string>& feature_names = |
- manifest_feature_provider->GetAllFeatureNames(); |
- for (std::vector<std::string>::const_iterator feature_name = |
- feature_names.begin(); |
- feature_name != feature_names.end(); ++feature_name) { |
+ for (const auto& map_entry : manifest_feature_provider->GetAllFeatures()) { |
// Use Get instead of HasKey because the former uses path expansion. |
- if (!value_->Get(*feature_name, NULL)) |
+ if (!value_->Get(map_entry.first, nullptr)) |
continue; |
- Feature* feature = manifest_feature_provider->GetFeature(*feature_name); |
- Feature::Availability result = feature->IsAvailableToManifest( |
+ Feature::Availability result = map_entry.second->IsAvailableToManifest( |
extension_id_, type_, location_, GetManifestVersion()); |
if (!result.is_available()) |
- warnings->push_back(InstallWarning(result.message(), *feature_name)); |
+ warnings->push_back(InstallWarning(result.message(), map_entry.first)); |
} |
// Also generate warnings for keys that are not features. |