diff options
author | joi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-15 14:39:08 +0000 |
---|---|---|
committer | joi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-15 14:39:08 +0000 |
commit | 637a7f18bb59338af71885b36ce5db96eebbb5af (patch) | |
tree | df9a6ef38ba1c659db62ee879e070cf0f3b97472 | |
parent | 810bd915369498c64f30399bfac269d02ef14a05 (diff) | |
download | chromium_src-637a7f18bb59338af71885b36ce5db96eebbb5af.zip chromium_src-637a7f18bb59338af71885b36ce5db96eebbb5af.tar.gz chromium_src-637a7f18bb59338af71885b36ce5db96eebbb5af.tar.bz2 |
Remove PrefObserver usages, batch 5.
TBR=cbentzel@chromium.org,achuith@chromium.org,bauerb@chromium.org,jhawkins@chromium.org,ivankr@chromium.org
BUG=155525
Review URL: https://chromiumcodereview.appspot.com/11359209
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167916 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/chromeos/proxy_config_service_impl.cc | 35 | ||||
-rw-r--r-- | chrome/browser/chromeos/proxy_config_service_impl.h | 5 | ||||
-rw-r--r-- | chrome/browser/net/pref_proxy_config_tracker_impl.cc | 34 | ||||
-rw-r--r-- | chrome/browser/net/pref_proxy_config_tracker_impl.h | 8 | ||||
-rw-r--r-- | chrome/browser/plugins/plugin_prefs.cc | 44 | ||||
-rw-r--r-- | chrome/browser/plugins/plugin_prefs.h | 13 | ||||
-rw-r--r-- | chrome/browser/protector/base_prefs_change.cc | 11 | ||||
-rw-r--r-- | chrome/browser/protector/base_prefs_change.h | 8 | ||||
-rw-r--r-- | chrome/browser/protector/protected_prefs_watcher.cc | 20 | ||||
-rw-r--r-- | chrome/browser/protector/protected_prefs_watcher.h | 7 | ||||
-rw-r--r-- | chrome/browser/ui/webui/options/browser_options_handler.cc | 60 | ||||
-rw-r--r-- | chrome/browser/ui/webui/options/browser_options_handler.h | 6 |
12 files changed, 115 insertions, 136 deletions
diff --git a/chrome/browser/chromeos/proxy_config_service_impl.cc b/chrome/browser/chromeos/proxy_config_service_impl.cc index 5eca442..0e21f47 100644 --- a/chrome/browser/chromeos/proxy_config_service_impl.cc +++ b/chrome/browser/chromeos/proxy_config_service_impl.cc @@ -387,8 +387,12 @@ ProxyConfigServiceImpl::ProxyConfigServiceImpl(PrefService* pref_service) pointer_factory_(this) { // Register for notifications of UseSharedProxies user preference. - if (pref_service->FindPreference(prefs::kUseSharedProxies)) - use_shared_proxies_.Init(prefs::kUseSharedProxies, pref_service, this); + if (pref_service->FindPreference(prefs::kUseSharedProxies)) { + use_shared_proxies_.Init( + prefs::kUseSharedProxies, pref_service, + base::Bind(&ProxyConfigServiceImpl::OnUseSharedProxiesChanged, + base::Unretained(this))); + } FetchProxyPolicy(); @@ -586,26 +590,19 @@ void ProxyConfigServiceImpl::RegisterPrefs(PrefService* pref_service) { //------------------ ProxyConfigServiceImpl: private methods ------------------- -void ProxyConfigServiceImpl::OnPreferenceChanged(PrefServiceBase* service, - const std::string& pref_name) { - DCHECK(service == prefs()); +void ProxyConfigServiceImpl::OnUseSharedProxiesChanged() { VLOG(1) << "New use-shared-proxies = " << GetUseSharedProxies(); - if (pref_name == prefs::kUseSharedProxies) { - // Determine new proxy config which may have changed because of new - // use-shared-proxies. If necessary, activate it. - Network* network = NULL; - if (!active_network_.empty()) { - network = CrosLibrary::Get()->GetNetworkLibrary()->FindNetworkByPath( - active_network_); - if (!network) - LOG(WARNING) << "Can't find requested network " << active_network_; - } - DetermineEffectiveConfig(network, true); - return; + // Determine new proxy config which may have changed because of new + // use-shared-proxies. If necessary, activate it. + Network* network = NULL; + if (!active_network_.empty()) { + network = CrosLibrary::Get()->GetNetworkLibrary()->FindNetworkByPath( + active_network_); + if (!network) + LOG(WARNING) << "Can't find requested network " << active_network_; } - - PrefProxyConfigTrackerImpl::OnPreferenceChanged(service, pref_name); + DetermineEffectiveConfig(network, true); } void ProxyConfigServiceImpl::OnUISetProxyConfig() { diff --git a/chrome/browser/chromeos/proxy_config_service_impl.h b/chrome/browser/chromeos/proxy_config_service_impl.h index 78026ba..8377b8d 100644 --- a/chrome/browser/chromeos/proxy_config_service_impl.h +++ b/chrome/browser/chromeos/proxy_config_service_impl.h @@ -214,9 +214,8 @@ class ProxyConfigServiceImpl #endif // defined(UNIT_TEST) private: - // PrefObserver implementation. - virtual void OnPreferenceChanged(PrefServiceBase* service, - const std::string& pref_name) OVERRIDE; + // Called when the kUseSharedProxies preference changes. + void OnUseSharedProxiesChanged(); // Called from the various UISetProxyConfigTo*. void OnUISetProxyConfig(); diff --git a/chrome/browser/net/pref_proxy_config_tracker_impl.cc b/chrome/browser/net/pref_proxy_config_tracker_impl.cc index 50398ab..69f9387 100644 --- a/chrome/browser/net/pref_proxy_config_tracker_impl.cc +++ b/chrome/browser/net/pref_proxy_config_tracker_impl.cc @@ -130,7 +130,9 @@ PrefProxyConfigTrackerImpl::PrefProxyConfigTrackerImpl( update_pending_(true) { config_state_ = ReadPrefConfig(&pref_config_); proxy_prefs_.Init(pref_service); - proxy_prefs_.Add(prefs::kProxy, this); + proxy_prefs_.Add(prefs::kProxy, + base::Bind(&PrefProxyConfigTrackerImpl::OnProxyPrefChanged, + base::Unretained(this))); } PrefProxyConfigTrackerImpl::~PrefProxyConfigTrackerImpl() { @@ -287,26 +289,20 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig( return false; } -void PrefProxyConfigTrackerImpl::OnPreferenceChanged( - PrefServiceBase* service, - const std::string& pref_name) { +void PrefProxyConfigTrackerImpl::OnProxyPrefChanged() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - if (service == pref_service_) { - net::ProxyConfig new_config; - ProxyPrefs::ConfigState config_state = ReadPrefConfig(&new_config); - if (config_state_ != config_state || - (config_state_ != ProxyPrefs::CONFIG_UNSET && - !pref_config_.Equals(new_config))) { - config_state_ = config_state; - if (config_state_ != ProxyPrefs::CONFIG_UNSET) - pref_config_ = new_config; - update_pending_ = true; - } - if (update_pending_) - OnProxyConfigChanged(config_state, new_config); - } else { - NOTREACHED() << "Unexpected PrefService."; + net::ProxyConfig new_config; + ProxyPrefs::ConfigState config_state = ReadPrefConfig(&new_config); + if (config_state_ != config_state || + (config_state_ != ProxyPrefs::CONFIG_UNSET && + !pref_config_.Equals(new_config))) { + config_state_ = config_state; + if (config_state_ != ProxyPrefs::CONFIG_UNSET) + pref_config_ = new_config; + update_pending_ = true; } + if (update_pending_) + OnProxyConfigChanged(config_state, new_config); } ProxyPrefs::ConfigState PrefProxyConfigTrackerImpl::ReadPrefConfig( diff --git a/chrome/browser/net/pref_proxy_config_tracker_impl.h b/chrome/browser/net/pref_proxy_config_tracker_impl.h index 7ec829e..9157f55 100644 --- a/chrome/browser/net/pref_proxy_config_tracker_impl.h +++ b/chrome/browser/net/pref_proxy_config_tracker_impl.h @@ -10,7 +10,6 @@ #include "base/memory/scoped_ptr.h" #include "base/observer_list.h" #include "base/prefs/public/pref_change_registrar.h" -#include "base/prefs/public/pref_observer.h" #include "chrome/browser/prefs/proxy_config_dictionary.h" #include "net/proxy/proxy_config.h" #include "net/proxy/proxy_config_service.h" @@ -78,7 +77,7 @@ class ChromeProxyConfigService // A class that tracks proxy preferences. It translates the configuration // to net::ProxyConfig and pushes the result over to the IO thread for // ChromeProxyConfigService::UpdateProxyConfig to use. -class PrefProxyConfigTrackerImpl : public PrefObserver { +class PrefProxyConfigTrackerImpl { public: explicit PrefProxyConfigTrackerImpl(PrefService* pref_service); virtual ~PrefProxyConfigTrackerImpl(); @@ -132,10 +131,7 @@ class PrefProxyConfigTrackerImpl : public PrefObserver { virtual void OnProxyConfigChanged(ProxyPrefs::ConfigState config_state, const net::ProxyConfig& config); - // PrefObserver implementation: - virtual void OnPreferenceChanged(PrefServiceBase* service, - const std::string& pref_name) OVERRIDE; - + void OnProxyPrefChanged(); const PrefService* prefs() const { return pref_service_; } bool update_pending() const { return update_pending_; } diff --git a/chrome/browser/plugins/plugin_prefs.cc b/chrome/browser/plugins/plugin_prefs.cc index d8ee038..ba0b8b5 100644 --- a/chrome/browser/plugins/plugin_prefs.cc +++ b/chrome/browser/plugins/plugin_prefs.cc @@ -274,25 +274,11 @@ bool PluginPrefs::IsPluginEnabled(const webkit::WebPluginInfo& plugin) const { return true; } -void PluginPrefs::OnPreferenceChanged(PrefServiceBase* service, - const std::string& pref_name) { - DCHECK_EQ(prefs_, service); - if (pref_name == prefs::kPluginsDisabledPlugins) { - base::AutoLock auto_lock(lock_); - ListValueToStringSet(prefs_->GetList(prefs::kPluginsDisabledPlugins), - &policy_disabled_plugin_patterns_); - } else if (pref_name == prefs::kPluginsDisabledPluginsExceptions) { - base::AutoLock auto_lock(lock_); - ListValueToStringSet( - prefs_->GetList(prefs::kPluginsDisabledPluginsExceptions), - &policy_disabled_plugin_exception_patterns_); - } else if (pref_name == prefs::kPluginsEnabledPlugins) { - base::AutoLock auto_lock(lock_); - ListValueToStringSet(prefs_->GetList(prefs::kPluginsEnabledPlugins), - &policy_enabled_plugin_patterns_); - } else { - NOTREACHED(); - } +void PluginPrefs::UpdatePatternsAndNotify(std::set<string16>* patterns, + const std::string& pref_name) { + base::AutoLock auto_lock(lock_); + ListValueToStringSet(prefs_->GetList(pref_name.c_str()), patterns); + NotifyPluginStatusChanged(); } @@ -520,9 +506,23 @@ void PluginPrefs::SetPrefs(PrefService* prefs) { &policy_enabled_plugin_patterns_); registrar_.Init(prefs_); - registrar_.Add(prefs::kPluginsDisabledPlugins, this); - registrar_.Add(prefs::kPluginsDisabledPluginsExceptions, this); - registrar_.Add(prefs::kPluginsEnabledPlugins, this); + + // Because pointers to our own members will remain unchanged for the + // lifetime of |registrar_| (which we also own), we can bind their + // pointer values directly in the callbacks to avoid string-based + // lookups at notification time. + registrar_.Add(prefs::kPluginsDisabledPlugins, + base::Bind(&PluginPrefs::UpdatePatternsAndNotify, + base::Unretained(this), + &policy_disabled_plugin_patterns_)); + registrar_.Add(prefs::kPluginsDisabledPluginsExceptions, + base::Bind(&PluginPrefs::UpdatePatternsAndNotify, + base::Unretained(this), + &policy_disabled_plugin_exception_patterns_)); + registrar_.Add(prefs::kPluginsEnabledPlugins, + base::Bind(&PluginPrefs::UpdatePatternsAndNotify, + base::Unretained(this), + &policy_enabled_plugin_patterns_)); if (force_enable_internal_pdf || internal_pdf_enabled) { // See http://crbug.com/50105 for background. diff --git a/chrome/browser/plugins/plugin_prefs.h b/chrome/browser/plugins/plugin_prefs.h index 594e3d3..719523e 100644 --- a/chrome/browser/plugins/plugin_prefs.h +++ b/chrome/browser/plugins/plugin_prefs.h @@ -12,7 +12,6 @@ #include "base/basictypes.h" #include "base/file_path.h" #include "base/prefs/public/pref_change_registrar.h" -#include "base/prefs/public/pref_observer.h" #include "base/synchronization/lock.h" #include "chrome/browser/plugins/plugin_finder.h" #include "chrome/browser/prefs/pref_service.h" @@ -34,8 +33,7 @@ class PluginList; // This class stores information about whether a plug-in or a plug-in group is // enabled or disabled. // Except where otherwise noted, it can be used on every thread. -class PluginPrefs : public RefcountedProfileKeyedService, - public PrefObserver { +class PluginPrefs : public RefcountedProfileKeyedService { public: enum PolicyStatus { NO_POLICY = 0, // Neither enabled or disabled by policy. @@ -85,10 +83,6 @@ class PluginPrefs : public RefcountedProfileKeyedService, // RefCountedProfileKeyedBase method override. virtual void ShutdownOnUIThread() OVERRIDE; - // PrefObserver method override. - virtual void OnPreferenceChanged(PrefServiceBase* service, - const std::string& pref_name) OVERRIDE; - private: friend class base::RefCountedThreadSafe<PluginPrefs>; friend class PluginPrefsTest; @@ -117,6 +111,11 @@ class PluginPrefs : public RefcountedProfileKeyedService, virtual ~PluginPrefs(); + // Called to update one of the policy_xyz patterns below when a + // preference changes. + void UpdatePatternsAndNotify(std::set<string16>* patterns, + const std::string& pref_name); + // Allows unit tests to directly set enforced plug-in patterns. void SetPolicyEnforcedPluginPatterns( const std::set<string16>& disabled_patterns, diff --git a/chrome/browser/protector/base_prefs_change.cc b/chrome/browser/protector/base_prefs_change.cc index 9ca25c8..b7708b3 100644 --- a/chrome/browser/protector/base_prefs_change.cc +++ b/chrome/browser/protector/base_prefs_change.cc @@ -2,9 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include "chrome/browser/protector/base_prefs_change.h" + +#include "base/bind.h" #include "chrome/browser/prefs/pref_service.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/protector/base_prefs_change.h" #include "chrome/browser/protector/protected_prefs_watcher.h" #include "chrome/browser/protector/protector_service.h" #include "chrome/browser/protector/protector_service_factory.h" @@ -36,15 +38,16 @@ void BasePrefsChange::InitWhenDisabled(Profile* profile) { void BasePrefsChange::DismissOnPrefChange(const std::string& pref_name) { DCHECK(!pref_observer_.IsObserved(pref_name)); - pref_observer_.Add(pref_name.c_str(), this); + pref_observer_.Add(pref_name.c_str(), + base::Bind(&BasePrefsChange::OnPreferenceChanged, + base::Unretained(this))); } void BasePrefsChange::IgnorePrefChanges() { pref_observer_.RemoveAll(); } -void BasePrefsChange::OnPreferenceChanged(PrefServiceBase* service, - const std::string& pref_name) { +void BasePrefsChange::OnPreferenceChanged(const std::string& pref_name) { DCHECK(pref_observer_.IsObserved(pref_name)); // Will delete this instance. ProtectorServiceFactory::GetForProfile(profile())->DismissChange(this); diff --git a/chrome/browser/protector/base_prefs_change.h b/chrome/browser/protector/base_prefs_change.h index ba29d3a..046b83a 100644 --- a/chrome/browser/protector/base_prefs_change.h +++ b/chrome/browser/protector/base_prefs_change.h @@ -9,14 +9,12 @@ #include "base/memory/scoped_ptr.h" #include "base/prefs/public/pref_change_registrar.h" -#include "base/prefs/public/pref_observer.h" #include "chrome/browser/protector/base_setting_change.h" namespace protector { // BaseSettingChange subclass for PrefService-managed settings changes. -class BasePrefsChange : public BaseSettingChange, - public PrefObserver { +class BasePrefsChange : public BaseSettingChange { public: BasePrefsChange(); virtual ~BasePrefsChange(); @@ -35,9 +33,7 @@ class BasePrefsChange : public BaseSettingChange, void IgnorePrefChanges(); private: - // PrefObserver overrides: - virtual void OnPreferenceChanged(PrefServiceBase* service, - const std::string& pref_name) OVERRIDE; + void OnPreferenceChanged(const std::string& pref_name); PrefChangeRegistrar pref_observer_; diff --git a/chrome/browser/protector/protected_prefs_watcher.cc b/chrome/browser/protector/protected_prefs_watcher.cc index ed13224..4c926db 100644 --- a/chrome/browser/protector/protected_prefs_watcher.cc +++ b/chrome/browser/protector/protected_prefs_watcher.cc @@ -5,6 +5,7 @@ #include "chrome/browser/protector/protected_prefs_watcher.h" #include "base/base64.h" +#include "base/bind.h" #include "base/logging.h" #include "base/metrics/histogram.h" #include "base/stringprintf.h" @@ -111,16 +112,18 @@ ProtectedPrefsWatcher::ProtectedPrefsWatcher(Profile* profile) EnsurePrefsMigration(); pref_observer_.Init(profile->GetPrefs()); - pref_observer_.Add(prefs::kHomePageIsNewTabPage, this); - pref_observer_.Add(prefs::kHomePage, this); - pref_observer_.Add(prefs::kShowHomeButton, this); + PrefChangeRegistrar::NamedChangeCallback callback = base::Bind( + &ProtectedPrefsWatcher::OnPreferenceChanged, base::Unretained(this)); + pref_observer_.Add(prefs::kHomePageIsNewTabPage, callback); + pref_observer_.Add(prefs::kHomePage, callback); + pref_observer_.Add(prefs::kShowHomeButton, callback); // Session startup. - pref_observer_.Add(prefs::kRestoreOnStartup, this); - pref_observer_.Add(prefs::kURLsToRestoreOnStartup, this); + pref_observer_.Add(prefs::kRestoreOnStartup, callback); + pref_observer_.Add(prefs::kURLsToRestoreOnStartup, callback); // Pinned tabs. - pref_observer_.Add(prefs::kPinnedTabs, this); + pref_observer_.Add(prefs::kPinnedTabs, callback); // Extensions. - pref_observer_.Add(ExtensionPrefs::kExtensionsPref, this); + pref_observer_.Add(ExtensionPrefs::kExtensionsPref, callback); UpdateCachedPrefs(); ValidateBackup(); @@ -195,8 +198,7 @@ void ProtectedPrefsWatcher::ForceUpdateBackup() { InitBackup(); } -void ProtectedPrefsWatcher::OnPreferenceChanged(PrefServiceBase* service, - const std::string& pref_name) { +void ProtectedPrefsWatcher::OnPreferenceChanged(const std::string& pref_name) { DCHECK(pref_observer_.IsObserved(pref_name)); if (UpdateBackupEntry(pref_name)) UpdateBackupSignature(); diff --git a/chrome/browser/protector/protected_prefs_watcher.h b/chrome/browser/protector/protected_prefs_watcher.h index 269edc3..d6aaf44 100644 --- a/chrome/browser/protector/protected_prefs_watcher.h +++ b/chrome/browser/protector/protected_prefs_watcher.h @@ -10,7 +10,6 @@ #include "base/basictypes.h" #include "base/memory/scoped_ptr.h" #include "base/prefs/public/pref_change_registrar.h" -#include "base/prefs/public/pref_observer.h" #include "chrome/browser/extensions/extension_prefs.h" class PrefService; @@ -22,7 +21,7 @@ class Value; namespace protector { -class ProtectedPrefsWatcher : public PrefObserver { +class ProtectedPrefsWatcher { public: // Current backup version. static const int kCurrentVersionNumber; @@ -51,9 +50,7 @@ class ProtectedPrefsWatcher : public PrefObserver { private: friend class ProtectedPrefsWatcherTest; - // PrefObserver overrides: - virtual void OnPreferenceChanged(PrefServiceBase* service, - const std::string& pref_name) OVERRIDE; + void OnPreferenceChanged(const std::string& pref_name); // Makes sure that all protected prefs have been migrated before starting to // observe them. diff --git a/chrome/browser/ui/webui/options/browser_options_handler.cc b/chrome/browser/ui/webui/options/browser_options_handler.cc index 0288b1b..a761aa9 100644 --- a/chrome/browser/ui/webui/options/browser_options_handler.cc +++ b/chrome/browser/ui/webui/options/browser_options_handler.cc @@ -569,9 +569,11 @@ void BrowserOptionsHandler::InitializeHandler() { ChromeURLDataManager::AddDataSource(profile, new FaviconSource(profile, FaviconSource::FAVICON)); - default_browser_policy_.Init(prefs::kDefaultBrowserSettingEnabled, - g_browser_process->local_state(), - this); + default_browser_policy_.Init( + prefs::kDefaultBrowserSettingEnabled, + g_browser_process->local_state(), + base::Bind(&BrowserOptionsHandler::UpdateDefaultBrowserState, + base::Unretained(this))); registrar_.Add(this, chrome::NOTIFICATION_PROFILE_CACHED_INFO_CHANGED, content::NotificationService::AllSources()); @@ -599,17 +601,31 @@ void BrowserOptionsHandler::InitializeHandler() { #endif #if !defined(OS_CHROMEOS) - cloud_print_connector_email_.Init(prefs::kCloudPrintEmail, prefs, this); - cloud_print_connector_enabled_.Init(prefs::kCloudPrintProxyEnabled, prefs, - this); + base::Closure cloud_print_callback = base::Bind( + &BrowserOptionsHandler::OnCloudPrintPrefsChanged, base::Unretained(this)); + cloud_print_connector_email_.Init( + prefs::kCloudPrintEmail, prefs, cloud_print_callback); + cloud_print_connector_enabled_.Init( + prefs::kCloudPrintProxyEnabled, prefs, cloud_print_callback); #endif - auto_open_files_.Init(prefs::kDownloadExtensionsToOpen, prefs, this); - default_font_size_.Init(prefs::kWebKitDefaultFontSize, prefs, this); - default_zoom_level_.Init(prefs::kDefaultZoomLevel, prefs, this); + auto_open_files_.Init( + prefs::kDownloadExtensionsToOpen, prefs, + base::Bind(&BrowserOptionsHandler::SetupAutoOpenFileTypes, + base::Unretained(this))); + default_font_size_.Init( + prefs::kWebKitDefaultFontSize, prefs, + base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector, + base::Unretained(this))); + default_zoom_level_.Init( + prefs::kDefaultZoomLevel, prefs, + base::Bind(&BrowserOptionsHandler::SetupPageZoomSelector, + base::Unretained(this))); #if !defined(OS_CHROMEOS) proxy_prefs_.Init(prefs); - proxy_prefs_.Add(prefs::kProxy, this); + proxy_prefs_.Add(prefs::kProxy, + base::Bind(&BrowserOptionsHandler::SetupProxySettingsSection, + base::Unretained(this))); #endif // !defined(OS_CHROMEOS) } @@ -870,29 +886,11 @@ void BrowserOptionsHandler::Observe( } } -void BrowserOptionsHandler::OnPreferenceChanged(PrefServiceBase* service, - const std::string& pref_name) { - if (pref_name == prefs::kDefaultBrowserSettingEnabled) { - UpdateDefaultBrowserState(); - } else if (pref_name == prefs::kDownloadExtensionsToOpen) { - SetupAutoOpenFileTypes(); -#if !defined(OS_CHROMEOS) - } else if (proxy_prefs_.IsObserved(pref_name)) { - SetupProxySettingsSection(); -#endif // !defined(OS_CHROMEOS) - } else if ((pref_name == prefs::kCloudPrintEmail) || - (pref_name == prefs::kCloudPrintProxyEnabled)) { +void BrowserOptionsHandler::OnCloudPrintPrefsChanged() { #if !defined(OS_CHROMEOS) - if (cloud_print_connector_ui_enabled_) - SetupCloudPrintConnectorSection(); + if (cloud_print_connector_ui_enabled_) + SetupCloudPrintConnectorSection(); #endif - } else if (pref_name == prefs::kWebKitDefaultFontSize) { - SetupFontSizeSelector(); - } else if (pref_name == prefs::kDefaultZoomLevel) { - SetupPageZoomSelector(); - } else { - NOTREACHED(); - } } void BrowserOptionsHandler::ToggleAutoLaunch(const ListValue* args) { diff --git a/chrome/browser/ui/webui/options/browser_options_handler.h b/chrome/browser/ui/webui/options/browser_options_handler.h index 0488e10..794bc92 100644 --- a/chrome/browser/ui/webui/options/browser_options_handler.h +++ b/chrome/browser/ui/webui/options/browser_options_handler.h @@ -8,7 +8,6 @@ #include "base/memory/ref_counted.h" #include "base/memory/scoped_ptr.h" #include "base/memory/weak_ptr.h" -#include "base/prefs/public/pref_observer.h" #include "chrome/browser/api/prefs/pref_member.h" #include "chrome/browser/api/sync/profile_sync_service_observer.h" #include "chrome/browser/printing/cloud_print/cloud_print_setup_handler.h" @@ -36,7 +35,6 @@ namespace options { class BrowserOptionsHandler : public OptionsPageUIHandler, public CloudPrintSetupHandlerDelegate, - public PrefObserver, public ProfileSyncServiceObserver, public ui::SelectFileDialog::Listener, public ShellIntegration::DefaultWebClientObserver, @@ -76,9 +74,7 @@ class BrowserOptionsHandler const content::NotificationSource& source, const content::NotificationDetails& details) OVERRIDE; - // PrefObserver implementation. - virtual void OnPreferenceChanged(PrefServiceBase* service, - const std::string& pref_name) OVERRIDE; + void OnCloudPrintPrefsChanged(); // SelectFileDialog::Listener implementation virtual void FileSelected(const FilePath& path, |