Index: extensions/common/features/permission_feature.cc |
diff --git a/extensions/common/features/permission_feature.cc b/extensions/common/features/permission_feature.cc |
index 529ecd1188a836b74bea4945de81a909224645c9..86e0f8cbcee75534f48e1e85236580fd99265294 100644 |
--- a/extensions/common/features/permission_feature.cc |
+++ b/extensions/common/features/permission_feature.cc |
@@ -33,20 +33,22 @@ Feature::Availability PermissionFeature::IsAvailableToContext( |
return CreateAvailability(IS_AVAILABLE); |
} |
-std::string PermissionFeature::Parse(const base::DictionaryValue* value) { |
- std::string error = SimpleFeature::Parse(value); |
- if (!error.empty()) |
- return error; |
+bool PermissionFeature::Validate(std::string* error) { |
+ if (!SimpleFeature::Validate(error)) |
+ return false; |
if (extension_types()->empty()) { |
- return name() + ": Permission features must specify at least one " + |
- "value for extension_types."; |
+ *error = name() + ": Permission features must specify at least one " + |
+ "value for extension_types."; |
+ return false; |
} |
- if (value->HasKey("contexts")) |
- return name() + ": Permission features do not support contexts."; |
+ if (!contexts()->empty()) { |
+ *error = name() + ": Permission features do not support contexts."; |
+ return false; |
+ } |
- return std::string(); |
+ return true; |
} |
} // namespace extensions |