Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7341)

Unified Diff: chrome/browser/ui/prefs/prefs_tab_helper.cc

Issue 11362250: Remove PrefObserver usages, batch 6. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address review comment. Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/prefs/prefs_tab_helper.cc
diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/prefs/prefs_tab_helper.cc
index be339111b623669143356a90281109fac67bd5d3..1d13e71988a7fa33bfe6c88d75b804390ed8757d 100644
--- a/chrome/browser/ui/prefs/prefs_tab_helper.cc
+++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc
@@ -97,10 +97,7 @@ void RegisterPrefsToMigrate(PrefService* prefs) {
// The list of prefs we want to observe.
const char* kPrefsToObserve[] = {
- prefs::kDefaultZoomLevel,
prefs::kDefaultCharset,
- prefs::kEnableReferrers,
- prefs::kEnableDoNotTrack,
prefs::kWebKitAllowDisplayingInsecureContent,
prefs::kWebKitAllowRunningInsecureContent,
prefs::kWebKitDefaultFixedFontSize,
@@ -140,9 +137,10 @@ void RegisterFontFamilyMap(PrefService* prefs,
}
// Registers |obs| to observe per-script font prefs under the path |map_name|.
-void RegisterFontFamilyMapObserver(PrefChangeRegistrar* registrar,
- const char* map_name,
- PrefObserver* obs) {
+void RegisterFontFamilyMapObserver(
+ PrefChangeRegistrar* registrar,
+ const char* map_name,
+ const PrefChangeRegistrar::NamedChangeCallback& obs) {
for (size_t i = 0; i < prefs::kWebKitScriptsForFontFamilyMapsLength; ++i) {
const char* script = prefs::kWebKitScriptsForFontFamilyMaps[i];
std::string pref_name = base::StringPrintf("%s.%s", map_name, script);
@@ -385,23 +383,38 @@ PrefsTabHelper::PrefsTabHelper(WebContents* contents)
PrefService* prefs = GetProfile()->GetPrefs();
pref_change_registrar_.Init(prefs);
if (prefs) {
+ base::Closure renderer_callback = base::Bind(
+ &PrefsTabHelper::UpdateRendererPreferences, base::Unretained(this));
+ pref_change_registrar_.Add(prefs::kDefaultZoomLevel, renderer_callback);
+ pref_change_registrar_.Add(prefs::kEnableDoNotTrack, renderer_callback);
+ pref_change_registrar_.Add(prefs::kEnableReferrers, renderer_callback);
+
+ PrefChangeRegistrar::NamedChangeCallback webkit_callback = base::Bind(
+ &PrefsTabHelper::OnWebKitPreferenceChanged, base::Unretained(this));
for (int i = 0; i < kPrefsToObserveLength; ++i)
- pref_change_registrar_.Add(kPrefsToObserve[i], this);
+ pref_change_registrar_.Add(kPrefsToObserve[i], webkit_callback);
RegisterFontFamilyMapObserver(&pref_change_registrar_,
- prefs::kWebKitStandardFontFamilyMap, this);
+ prefs::kWebKitStandardFontFamilyMap,
+ webkit_callback);
RegisterFontFamilyMapObserver(&pref_change_registrar_,
- prefs::kWebKitFixedFontFamilyMap, this);
+ prefs::kWebKitFixedFontFamilyMap,
+ webkit_callback);
RegisterFontFamilyMapObserver(&pref_change_registrar_,
- prefs::kWebKitSerifFontFamilyMap, this);
+ prefs::kWebKitSerifFontFamilyMap,
+ webkit_callback);
RegisterFontFamilyMapObserver(&pref_change_registrar_,
- prefs::kWebKitSansSerifFontFamilyMap, this);
+ prefs::kWebKitSansSerifFontFamilyMap,
+ webkit_callback);
RegisterFontFamilyMapObserver(&pref_change_registrar_,
- prefs::kWebKitCursiveFontFamilyMap, this);
+ prefs::kWebKitCursiveFontFamilyMap,
+ webkit_callback);
RegisterFontFamilyMapObserver(&pref_change_registrar_,
- prefs::kWebKitFantasyFontFamilyMap, this);
+ prefs::kWebKitFantasyFontFamilyMap,
+ webkit_callback);
RegisterFontFamilyMapObserver(&pref_change_registrar_,
- prefs::kWebKitPictographFontFamilyMap, this);
+ prefs::kWebKitPictographFontFamilyMap,
+ webkit_callback);
}
renderer_preferences_util::UpdateFromSystemSettings(
@@ -585,16 +598,11 @@ void PrefsTabHelper::Observe(int type,
}
}
-void PrefsTabHelper::OnPreferenceChanged(PrefServiceBase* service,
- const std::string& pref_name_in) {
- DCHECK_EQ(GetProfile()->GetPrefs(), service);
+void PrefsTabHelper::OnWebKitPreferenceChanged(
+ const std::string& pref_name_in) {
if (pref_name_in == prefs::kDefaultCharset ||
StartsWithASCII(pref_name_in, "webkit.webprefs.", true)) {
Mattias Nissler (ping if slow) 2012/11/15 14:56:22 I would even go as far as dropping this check and
OnWebPrefChanged(pref_name_in);
- } else if (pref_name_in == prefs::kDefaultZoomLevel ||
- pref_name_in == prefs::kEnableReferrers ||
- pref_name_in == prefs::kEnableDoNotTrack) {
- UpdateRendererPreferences();
} else {
NOTREACHED() << "unexpected pref change notification" << pref_name_in;
}
« no previous file with comments | « chrome/browser/ui/prefs/prefs_tab_helper.h ('k') | chrome/browser/ui/webui/options/preferences_browsertest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698