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