| Index: chrome/common/extensions/manifest.cc
|
| diff --git a/chrome/common/extensions/manifest.cc b/chrome/common/extensions/manifest.cc
|
| index dc4c4bebe096b17c4f4a97ec08a2900ecd3ffb90..fa3658b0d3eaf760f065f813c4bc511dc5a44fa4 100644
|
| --- a/chrome/common/extensions/manifest.cc
|
| +++ b/chrome/common/extensions/manifest.cc
|
| @@ -8,6 +8,7 @@
|
| #include "base/lazy_instance.h"
|
| #include "base/logging.h"
|
| #include "base/string_split.h"
|
| +#include "base/stringprintf.h"
|
| #include "base/utf_string_conversions.h"
|
| #include "chrome/common/extensions/extension_manifest_constants.h"
|
| #include "chrome/common/extensions/extension_error_utils.h"
|
| @@ -77,6 +78,15 @@ void Manifest::ValidateManifest(std::string* error,
|
| if (result != Feature::IS_AVAILABLE)
|
| warnings->push_back(feature->GetErrorMessage(result));
|
| }
|
| +
|
| + // Also generate warnings for keys that are not features.
|
| + for (DictionaryValue::key_iterator key = value_->begin_keys();
|
| + key != value_->end_keys(); ++key) {
|
| + if (!SimpleFeatureProvider::GetManifestFeatures()->GetFeature(*key)) {
|
| + warnings->push_back(base::StringPrintf("Unrecognized manifest key '%s'.",
|
| + (*key).c_str()));
|
| + }
|
| + }
|
| }
|
|
|
| bool Manifest::HasKey(const std::string& key) const {
|
|
|