Index: chrome/browser/translate/translate_manager.cc |
diff --git a/chrome/browser/translate/translate_manager.cc b/chrome/browser/translate/translate_manager.cc |
index b3bdca7e9620690d691bf921cea4113b622e4c92..641b64c82e76d3ad19cd9cbd1ede636d9d4a3a67 100644 |
--- a/chrome/browser/translate/translate_manager.cc |
+++ b/chrome/browser/translate/translate_manager.cc |
@@ -409,18 +409,17 @@ void TranslateManager::Observe(int type, |
delete pref_change_registrar; |
break; |
} |
- case chrome::NOTIFICATION_PREF_CHANGED: { |
- DCHECK(*content::Details<std::string>(details).ptr() == |
- prefs::kAcceptLanguages); |
- PrefService* prefs = content::Source<PrefService>(source).ptr(); |
- InitAcceptLanguages(prefs); |
- break; |
- } |
default: |
NOTREACHED(); |
} |
} |
+void TranslateManager::OnPreferenceChanged(PrefServiceBase* service, |
+ const std::string& pref_name) { |
+ DCHECK_EQ(std::string(prefs::kAcceptLanguages), pref_name); |
+ InitAcceptLanguages(service); |
+} |
+ |
void TranslateManager::OnURLFetchComplete(const net::URLFetcher* source) { |
if (translate_script_request_pending_.get() != source && |
language_list_request_pending_.get() != source) { |
@@ -789,7 +788,7 @@ bool TranslateManager::IsAcceptLanguage(WebContents* web_contents, |
return iter->second.count(language) != 0; |
} |
-void TranslateManager::InitAcceptLanguages(PrefService* prefs) { |
+void TranslateManager::InitAcceptLanguages(PrefServiceBase* prefs) { |
// We have been asked for this profile, build the languages. |
std::string accept_langs_str = prefs->GetString(prefs::kAcceptLanguages); |
std::vector<std::string> accept_langs_list; |