| Index: chrome/browser/ui/alternate_error_tab_observer.cc
|
| diff --git a/chrome/browser/ui/alternate_error_tab_observer.cc b/chrome/browser/ui/alternate_error_tab_observer.cc
|
| index 569a739389972154f8eed7b7af5e64e29d325f68..6bac4c32d1d8a29081c3ddccaf34bc91e9291d12 100644
|
| --- a/chrome/browser/ui/alternate_error_tab_observer.cc
|
| +++ b/chrome/browser/ui/alternate_error_tab_observer.cc
|
| @@ -25,7 +25,11 @@ AlternateErrorPageTabObserver::AlternateErrorPageTabObserver(
|
| PrefService* prefs = profile_->GetPrefs();
|
| if (prefs) {
|
| pref_change_registrar_.Init(prefs);
|
| - pref_change_registrar_.Add(prefs::kAlternateErrorPagesEnabled, this);
|
| + pref_change_registrar_.Add(
|
| + prefs::kAlternateErrorPagesEnabled,
|
| + base::Bind(&AlternateErrorPageTabObserver::
|
| + OnAlternateErrorPagesEnabledChanged,
|
| + base::Unretained(this)));
|
| }
|
|
|
| registrar_.Add(this, chrome::NOTIFICATION_GOOGLE_URL_UPDATED,
|
| @@ -61,17 +65,6 @@ 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 {
|
| @@ -90,6 +83,10 @@ GURL AlternateErrorPageTabObserver::GetAlternateErrorPageURL() const {
|
| return url;
|
| }
|
|
|
| +void AlternateErrorPageTabObserver::OnAlternateErrorPagesEnabledChanged() {
|
| + UpdateAlternateErrorPageURL(web_contents()->GetRenderViewHost());
|
| +}
|
| +
|
| void AlternateErrorPageTabObserver::UpdateAlternateErrorPageURL(
|
| RenderViewHost* rvh) {
|
| rvh->SetAltErrorPageURL(GetAlternateErrorPageURL());
|
|
|