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