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 "chrome/browser/translate/translate_infobar_delegate.h" | 5 #include "chrome/browser/translate/translate_infobar_delegate.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/i18n/string_compare.h" | 9 #include "base/i18n/string_compare.h" |
10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
204 void TranslateInfoBarDelegate::AlwaysTranslatePageLanguage() { | 204 void TranslateInfoBarDelegate::AlwaysTranslatePageLanguage() { |
205 const std::string& original_lang = original_language_code(); | 205 const std::string& original_lang = original_language_code(); |
206 const std::string& target_lang = target_language_code(); | 206 const std::string& target_lang = target_language_code(); |
207 DCHECK(!prefs_.IsLanguagePairWhitelisted(original_lang, target_lang)); | 207 DCHECK(!prefs_.IsLanguagePairWhitelisted(original_lang, target_lang)); |
208 prefs_.WhitelistLanguagePair(original_lang, target_lang); | 208 prefs_.WhitelistLanguagePair(original_lang, target_lang); |
209 Translate(); | 209 Translate(); |
210 } | 210 } |
211 | 211 |
212 void TranslateInfoBarDelegate::NeverTranslatePageLanguage() { | 212 void TranslateInfoBarDelegate::NeverTranslatePageLanguage() { |
213 std::string original_lang = original_language_code(); | 213 std::string original_lang = original_language_code(); |
214 DCHECK(!prefs_.IsBlockedLanguage(original_lang)); | 214 |
215 // The language might already be in the blocked list. For example: | |
Takashi Toyoshima
2013/09/10 05:51:54
This comment shows the reason why you want to remo
hajimehoshi
2013/09/10 06:11:33
Done.
| |
216 // 1. After the user add the language, he/she removes the language from | |
217 // chrome://settings/languages. In this case, Translate infobar will | |
218 // appear. | |
219 // 2. While the Translate infobar is shown, the user can change if Translate | |
220 // should be offered in the language. In this case, the user can push | |
221 // "Never Translate (language)" button while the language is already | |
222 // blocked. | |
215 prefs_.BlockLanguage(original_lang); | 223 prefs_.BlockLanguage(original_lang); |
216 RemoveSelf(); | 224 RemoveSelf(); |
217 } | 225 } |
218 | 226 |
219 string16 TranslateInfoBarDelegate::GetMessageInfoBarText() { | 227 string16 TranslateInfoBarDelegate::GetMessageInfoBarText() { |
220 if (infobar_type_ == TRANSLATING) { | 228 if (infobar_type_ == TRANSLATING) { |
221 return l10n_util::GetStringFUTF16(IDS_TRANSLATE_INFOBAR_TRANSLATING_TO, | 229 return l10n_util::GetStringFUTF16(IDS_TRANSLATE_INFOBAR_TRANSLATING_TO, |
222 language_name_at(target_language_index_)); | 230 language_name_at(target_language_index_)); |
223 } | 231 } |
224 | 232 |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
425 | 433 |
426 TranslateInfoBarDelegate* | 434 TranslateInfoBarDelegate* |
427 TranslateInfoBarDelegate::AsTranslateInfoBarDelegate() { | 435 TranslateInfoBarDelegate::AsTranslateInfoBarDelegate() { |
428 return this; | 436 return this; |
429 } | 437 } |
430 | 438 |
431 std::string TranslateInfoBarDelegate::GetPageHost() { | 439 std::string TranslateInfoBarDelegate::GetPageHost() { |
432 NavigationEntry* entry = web_contents()->GetController().GetActiveEntry(); | 440 NavigationEntry* entry = web_contents()->GetController().GetActiveEntry(); |
433 return entry ? entry->GetURL().HostNoBrackets() : std::string(); | 441 return entry ? entry->GetURL().HostNoBrackets() : std::string(); |
434 } | 442 } |
OLD | NEW |