| Index: chrome/common/extensions/features/manifest_feature.cc
 | 
| diff --git a/chrome/common/extensions/features/manifest_feature.cc b/chrome/common/extensions/features/manifest_feature.cc
 | 
| index 51d9fd51d5c39746fa52d00b74f5f0b0b3d6a1e5..cd4a53feabb7aafbe4637e2a21939f8a39a375a9 100644
 | 
| --- a/chrome/common/extensions/features/manifest_feature.cc
 | 
| +++ b/chrome/common/extensions/features/manifest_feature.cc
 | 
| @@ -34,4 +34,20 @@ Feature::Availability ManifestFeature::IsAvailableToContext(
 | 
|    return CreateAvailability(IS_AVAILABLE);
 | 
|  }
 | 
|  
 | 
| +std::string ManifestFeature::Parse(const DictionaryValue* value) {
 | 
| +  std::string error = SimpleFeature::Parse(value);
 | 
| +  if (!error.empty())
 | 
| +    return error;
 | 
| +
 | 
| +  if (extension_types()->empty()) {
 | 
| +    return name() + ": Manifest features must specify at least one " +
 | 
| +        "value for extension_types.";
 | 
| +  }
 | 
| +
 | 
| +  if (!GetContexts()->empty())
 | 
| +    return name() + ": Manifest features do not support contexts.";
 | 
| +
 | 
| +  return "";
 | 
| +}
 | 
| +
 | 
|  }  // namespace
 | 
| 
 |