Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(757)

Unified Diff: components/translate/core/browser/translate_manager.cc

Issue 1525203003: [Translate] Factor out access to Accept-Languages (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@translate-manager-unit
Patch Set: Fix CrOS build Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/translate/core/browser/translate_manager.cc
diff --git a/components/translate/core/browser/translate_manager.cc b/components/translate/core/browser/translate_manager.cc
index caafc031a54a96b5c99eb47b4f75e0440b407425..07682232e51db7a3ecfbfcbdffbd8c315a2c765a 100644
--- a/components/translate/core/browser/translate_manager.cc
+++ b/components/translate/core/browser/translate_manager.cc
@@ -143,12 +143,10 @@ void TranslateManager::InitiateTranslation(const std::string& page_lang) {
return;
}
- // Get the accepted languages list.
- std::vector<std::string> accept_languages_list = base::SplitString(
- prefs->GetString(accept_languages_pref_name_), ",",
- base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
+ scoped_ptr<TranslatePrefs> translate_prefs(
+ translate_client_->GetTranslatePrefs());
- std::string target_lang = GetTargetLanguage(accept_languages_list);
+ std::string target_lang = GetTargetLanguage(translate_prefs.get());
std::string language_code =
TranslateDownloadManager::GetLanguageCode(page_lang);
@@ -170,9 +168,6 @@ void TranslateManager::InitiateTranslation(const std::string& page_lang) {
return;
}
- scoped_ptr<TranslatePrefs> translate_prefs(
- translate_client_->GetTranslatePrefs());
-
TranslateAcceptLanguages* accept_languages =
translate_client_->GetTranslateAcceptLanguages();
// Don't translate any user black-listed languages.
@@ -360,8 +355,7 @@ void TranslateManager::OnTranslateScriptFetchComplete(
}
// static
-std::string TranslateManager::GetTargetLanguage(
- const std::vector<std::string>& accept_languages_list) {
+std::string TranslateManager::GetTargetLanguage(const TranslatePrefs* prefs) {
std::string ui_lang = TranslateDownloadManager::GetLanguageCode(
TranslateDownloadManager::GetInstance()->application_locale());
translate::ToTranslateLanguageSynonym(&ui_lang);
@@ -370,11 +364,11 @@ std::string TranslateManager::GetTargetLanguage(
return ui_lang;
// Will translate to the first supported language on the Accepted Language
- // list or not at all if no such candidate exists
- std::vector<std::string>::const_iterator iter;
- for (iter = accept_languages_list.begin();
- iter != accept_languages_list.end(); ++iter) {
- std::string lang_code = TranslateDownloadManager::GetLanguageCode(*iter);
+ // list or not at all if no such candidate exists.
+ std::vector<std::string> accept_languages_list;
+ prefs->GetLanguageList(&accept_languages_list);
+ for (const auto& lang : accept_languages_list) {
+ std::string lang_code = TranslateDownloadManager::GetLanguageCode(lang);
if (TranslateDownloadManager::IsSupportedLanguage(lang_code))
return lang_code;
}
« no previous file with comments | « components/translate/core/browser/translate_manager.h ('k') | components/translate/core/browser/translate_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698