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

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: Fix Mac build. 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..78dd3672193808795f5c9d489dbb675a3a8ed414 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,11 @@ 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) {
+ DCHECK(StartsWithASCII(map_name, "webkit.webprefs.", true));
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 +384,42 @@ PrefsTabHelper::PrefsTabHelper(WebContents* contents)
PrefService* prefs = GetProfile()->GetPrefs();
pref_change_registrar_.Init(prefs);
if (prefs) {
- for (int i = 0; i < kPrefsToObserveLength; ++i)
- pref_change_registrar_.Add(kPrefsToObserve[i], this);
+ 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::OnWebPrefChanged, base::Unretained(this));
+ for (int i = 0; i < kPrefsToObserveLength; ++i) {
+ const char* pref_name = kPrefsToObserve[i];
+ DCHECK(std::string(pref_name) == prefs::kDefaultCharset ||
+ StartsWithASCII(pref_name, "webkit.webprefs.", true));
+ pref_change_registrar_.Add(pref_name, 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,21 +603,6 @@ void PrefsTabHelper::Observe(int type,
}
}
-void PrefsTabHelper::OnPreferenceChanged(PrefServiceBase* service,
- const std::string& pref_name_in) {
- DCHECK_EQ(GetProfile()->GetPrefs(), service);
- if (pref_name_in == prefs::kDefaultCharset ||
- StartsWithASCII(pref_name_in, "webkit.webprefs.", true)) {
- 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;
- }
-}
-
void PrefsTabHelper::UpdateWebPreferences() {
web_contents_->GetRenderViewHost()->UpdateWebkitPreferences(
web_contents_->GetRenderViewHost()->GetWebkitPreferences());
« 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