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

Side by Side Diff: components/translate/core/browser/translate_manager.cc

Issue 229363002: Componentize TranslateUIDelegate (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/translate/core/browser/translate_manager.h" 5 #include "components/translate/core/browser/translate_manager.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/metrics/field_trial.h" 9 #include "base/metrics/field_trial.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 // History, and so on. 117 // History, and so on.
118 const GURL& page_url = translate_driver_->GetVisibleURL(); 118 const GURL& page_url = translate_driver_->GetVisibleURL();
119 if (!translate_client_->IsTranslatableURL(page_url)) { 119 if (!translate_client_->IsTranslatableURL(page_url)) {
120 TranslateBrowserMetrics::ReportInitiationStatus( 120 TranslateBrowserMetrics::ReportInitiationStatus(
121 TranslateBrowserMetrics::INITIATION_STATUS_URL_IS_NOT_SUPPORTED); 121 TranslateBrowserMetrics::INITIATION_STATUS_URL_IS_NOT_SUPPORTED);
122 return; 122 return;
123 } 123 }
124 124
125 // Get the accepted languages list. 125 // Get the accepted languages list.
126 std::vector<std::string> accept_languages_list; 126 std::vector<std::string> accept_languages_list;
127 base::SplitString(prefs->GetString(accept_languages_pref_name_.c_str()), ',', 127 base::SplitString(prefs->GetString(accept_languages_pref_name_.c_str()),
128 ',',
droger 2014/04/09 08:31:24 Why the changes to this file?
blundell 2014/04/09 08:49:27 Reverted. On 2014/04/09 08:31:24, droger wrote:
128 &accept_languages_list); 129 &accept_languages_list);
129 130
130 std::string target_lang = GetTargetLanguage(accept_languages_list); 131 std::string target_lang = GetTargetLanguage(accept_languages_list);
131 std::string language_code = 132 std::string language_code =
132 TranslateDownloadManager::GetLanguageCode(page_lang); 133 TranslateDownloadManager::GetLanguageCode(page_lang);
133 134
134 // Don't translate similar languages (ex: en-US to en). 135 // Don't translate similar languages (ex: en-US to en).
135 if (language_code == target_lang) { 136 if (language_code == target_lang) {
136 TranslateBrowserMetrics::ReportInitiationStatus( 137 TranslateBrowserMetrics::ReportInitiationStatus(
137 TranslateBrowserMetrics::INITIATION_STATUS_SIMILAR_LANGUAGES); 138 TranslateBrowserMetrics::INITIATION_STATUS_SIMILAR_LANGUAGES);
(...skipping 10 matching lines...) Expand all
148 language_code); 149 language_code);
149 return; 150 return;
150 } 151 }
151 152
152 scoped_ptr<TranslatePrefs> translate_prefs( 153 scoped_ptr<TranslatePrefs> translate_prefs(
153 translate_client_->GetTranslatePrefs()); 154 translate_client_->GetTranslatePrefs());
154 155
155 TranslateAcceptLanguages* accept_languages = 156 TranslateAcceptLanguages* accept_languages =
156 translate_client_->GetTranslateAcceptLanguages(); 157 translate_client_->GetTranslateAcceptLanguages();
157 // Don't translate any user black-listed languages. 158 // Don't translate any user black-listed languages.
158 if (!translate_prefs->CanTranslateLanguage(accept_languages, 159 if (!translate_prefs->CanTranslateLanguage(accept_languages, language_code)) {
159 language_code)) {
160 TranslateBrowserMetrics::ReportInitiationStatus( 160 TranslateBrowserMetrics::ReportInitiationStatus(
161 TranslateBrowserMetrics::INITIATION_STATUS_DISABLED_BY_CONFIG); 161 TranslateBrowserMetrics::INITIATION_STATUS_DISABLED_BY_CONFIG);
162 return; 162 return;
163 } 163 }
164 164
165 // Don't translate any user black-listed URLs. 165 // Don't translate any user black-listed URLs.
166 if (translate_prefs->IsSiteBlacklisted(page_url.HostNoBrackets())) { 166 if (translate_prefs->IsSiteBlacklisted(page_url.HostNoBrackets())) {
167 TranslateBrowserMetrics::ReportInitiationStatus( 167 TranslateBrowserMetrics::ReportInitiationStatus(
168 TranslateBrowserMetrics::INITIATION_STATUS_DISABLED_BY_CONFIG); 168 TranslateBrowserMetrics::INITIATION_STATUS_DISABLED_BY_CONFIG);
169 return; 169 return;
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 TranslateDownloadManager::GetLanguageCode( 353 TranslateDownloadManager::GetLanguageCode(
354 TranslateDownloadManager::GetInstance()->application_locale())); 354 TranslateDownloadManager::GetInstance()->application_locale()));
355 355
356 if (TranslateDownloadManager::IsSupportedLanguage(ui_lang)) 356 if (TranslateDownloadManager::IsSupportedLanguage(ui_lang))
357 return ui_lang; 357 return ui_lang;
358 358
359 // Will translate to the first supported language on the Accepted Language 359 // Will translate to the first supported language on the Accepted Language
360 // list or not at all if no such candidate exists 360 // list or not at all if no such candidate exists
361 std::vector<std::string>::const_iterator iter; 361 std::vector<std::string>::const_iterator iter;
362 for (iter = accept_languages_list.begin(); 362 for (iter = accept_languages_list.begin();
363 iter != accept_languages_list.end(); ++iter) { 363 iter != accept_languages_list.end();
364 ++iter) {
364 std::string lang_code = TranslateDownloadManager::GetLanguageCode(*iter); 365 std::string lang_code = TranslateDownloadManager::GetLanguageCode(*iter);
365 if (TranslateDownloadManager::IsSupportedLanguage(lang_code)) 366 if (TranslateDownloadManager::IsSupportedLanguage(lang_code))
366 return lang_code; 367 return lang_code;
367 } 368 }
368 return std::string(); 369 return std::string();
369 } 370 }
370 371
371 // static 372 // static
372 std::string TranslateManager::GetAutoTargetLanguage( 373 std::string TranslateManager::GetAutoTargetLanguage(
373 const std::string& original_language, 374 const std::string& original_language,
374 TranslatePrefs* translate_prefs) { 375 TranslatePrefs* translate_prefs) {
375 std::string auto_target_lang; 376 std::string auto_target_lang;
376 if (translate_prefs->ShouldAutoTranslate(original_language, 377 if (translate_prefs->ShouldAutoTranslate(original_language,
377 &auto_target_lang)) { 378 &auto_target_lang)) {
378 // We need to confirm that the saved target language is still supported. 379 // We need to confirm that the saved target language is still supported.
379 // Also, GetLanguageCode will take care of removing country code if any. 380 // Also, GetLanguageCode will take care of removing country code if any.
380 auto_target_lang = 381 auto_target_lang =
381 TranslateDownloadManager::GetLanguageCode(auto_target_lang); 382 TranslateDownloadManager::GetLanguageCode(auto_target_lang);
382 if (TranslateDownloadManager::IsSupportedLanguage(auto_target_lang)) 383 if (TranslateDownloadManager::IsSupportedLanguage(auto_target_lang))
383 return auto_target_lang; 384 return auto_target_lang;
384 } 385 }
385 return std::string(); 386 return std::string();
386 } 387 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698