summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/alternate_error_tab_observer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/ui/alternate_error_tab_observer.cc')
-rw-r--r--chrome/browser/ui/alternate_error_tab_observer.cc21
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());