Index: chrome/browser/managed_prefs_banner_base.cc |
diff --git a/chrome/browser/managed_prefs_banner_base.cc b/chrome/browser/managed_prefs_banner_base.cc |
index 5251d7fe4e3b95540f4d956060414afbefce285e..09dcde6445f30a972bd7cd2a2a7c43b45952da5f 100644 |
--- a/chrome/browser/managed_prefs_banner_base.cc |
+++ b/chrome/browser/managed_prefs_banner_base.cc |
@@ -12,11 +12,15 @@ |
ManagedPrefsBannerBase::ManagedPrefsBannerBase(PrefService* prefs, |
const wchar_t** relevant_prefs, |
size_t count) |
- : prefs_(prefs), |
- relevant_prefs_(relevant_prefs, relevant_prefs + count) { |
- for (PrefSet::const_iterator pref(relevant_prefs_.begin()); |
- pref != relevant_prefs_.end(); ++pref) |
- prefs_->AddPrefObserver(pref->c_str(), this); |
+ : prefs_(prefs) { |
+ for (size_t i = 0; i < count; ++i) { |
+ // Ignore prefs that are not registered. |
+ const wchar_t* pref = relevant_prefs[i]; |
+ if (prefs->FindPreference(pref)) { |
+ prefs_->AddPrefObserver(pref, this); |
+ relevant_prefs_.insert(pref); |
+ } |
+ } |
} |
ManagedPrefsBannerBase::~ManagedPrefsBannerBase() { |