Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 } |
| OLD | NEW |