| Index: chrome/common/extensions/manifest.cc
|
| diff --git a/chrome/common/extensions/manifest.cc b/chrome/common/extensions/manifest.cc
|
| index 0cf2ef275985c66ad0ef040cd2ceed232fd5dcc5..d05b24998e9b5490a651894010ad5c704699939d 100644
|
| --- a/chrome/common/extensions/manifest.cc
|
| +++ b/chrome/common/extensions/manifest.cc
|
| @@ -25,7 +25,7 @@ Manifest::Manifest(Extension::Location location,
|
| Manifest::~Manifest() {
|
| }
|
|
|
| -bool Manifest::ValidateManifest(string16* error) const {
|
| +bool Manifest::ValidateManifest(string16* error) {
|
| for (DictionaryValue::key_iterator key = value_->begin_keys();
|
| key != value_->end_keys(); ++key) {
|
| scoped_ptr<Feature> feature =
|
| @@ -35,6 +35,7 @@ bool Manifest::ValidateManifest(string16* error) const {
|
| // recognized for forward compatibility.
|
| // TODO(aa): Consider having an error here in the case of strict error
|
| // checking to let developers know when they screw up.
|
| + unrecognized_keys_.push_back(&(*key));
|
| continue;
|
| }
|
|
|
| @@ -92,6 +93,16 @@ bool Manifest::GetList(
|
| return CanAccessPath(path) && value_->GetList(path, out_value);
|
| }
|
|
|
| +bool Manifest::HasUnrecognizedKeys(
|
| + const std::vector<const std::string*>** unrecognized_keys) const {
|
| + if (!unrecognized_keys_.empty()) {
|
| + *unrecognized_keys = &unrecognized_keys_;
|
| + return true;
|
| + }
|
| +
|
| + return false;
|
| +}
|
| +
|
| Manifest* Manifest::DeepCopy() const {
|
| Manifest* manifest = new Manifest(
|
| location_, scoped_ptr<DictionaryValue>(value_->DeepCopy()));
|
|
|