diff options
Diffstat (limited to 'chrome/browser/ui/alternate_error_tab_observer.cc')
-rw-r--r-- | chrome/browser/ui/alternate_error_tab_observer.cc | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/chrome/browser/ui/alternate_error_tab_observer.cc b/chrome/browser/ui/alternate_error_tab_observer.cc index 6bac4c3..569a739 100644 --- a/chrome/browser/ui/alternate_error_tab_observer.cc +++ b/chrome/browser/ui/alternate_error_tab_observer.cc @@ -25,11 +25,7 @@ AlternateErrorPageTabObserver::AlternateErrorPageTabObserver( PrefService* prefs = profile_->GetPrefs(); if (prefs) { pref_change_registrar_.Init(prefs); - pref_change_registrar_.Add( - prefs::kAlternateErrorPagesEnabled, - base::Bind(&AlternateErrorPageTabObserver:: - OnAlternateErrorPagesEnabledChanged, - base::Unretained(this))); + pref_change_registrar_.Add(prefs::kAlternateErrorPagesEnabled, this); } registrar_.Add(this, chrome::NOTIFICATION_GOOGLE_URL_UPDATED, @@ -65,6 +61,17 @@ void AlternateErrorPageTabObserver::Observe( } //////////////////////////////////////////////////////////////////////////////// +// PrefObserver overrides + +void AlternateErrorPageTabObserver::OnPreferenceChanged( + PrefServiceBase* service, + const std::string& pref_name) { + DCHECK_EQ(profile_->GetPrefs(), service); + DCHECK(prefs::kAlternateErrorPagesEnabled == pref_name); + UpdateAlternateErrorPageURL(web_contents()->GetRenderViewHost()); +} + +//////////////////////////////////////////////////////////////////////////////// // Internal helpers GURL AlternateErrorPageTabObserver::GetAlternateErrorPageURL() const { @@ -83,10 +90,6 @@ GURL AlternateErrorPageTabObserver::GetAlternateErrorPageURL() const { return url; } -void AlternateErrorPageTabObserver::OnAlternateErrorPagesEnabledChanged() { - UpdateAlternateErrorPageURL(web_contents()->GetRenderViewHost()); -} - void AlternateErrorPageTabObserver::UpdateAlternateErrorPageURL( RenderViewHost* rvh) { rvh->SetAltErrorPageURL(GetAlternateErrorPageURL()); |