| Index: chrome/browser/translate/translate_infobar_delegate.cc
|
| diff --git a/chrome/browser/translate/translate_infobar_delegate.cc b/chrome/browser/translate/translate_infobar_delegate.cc
|
| index 8db68f86bb5b3783728a77971bee8aaaa58ef924..1e6ed06eb405b44d8b286dc9dbeed575e0d596fc 100644
|
| --- a/chrome/browser/translate/translate_infobar_delegate.cc
|
| +++ b/chrome/browser/translate/translate_infobar_delegate.cc
|
| @@ -141,8 +141,12 @@ bool TranslateInfoBarDelegate::IsTranslatableLanguageByPrefs() {
|
| Profile* profile =
|
| Profile::FromBrowserContext(web_contents()->GetBrowserContext());
|
| Profile* original_profile = profile->GetOriginalProfile();
|
| - return TranslatePrefs::CanTranslateLanguage(original_profile,
|
| - original_language_code());
|
| + scoped_ptr<TranslatePrefs> translate_prefs(
|
| + TranslateTabHelper::CreateTranslatePrefs(original_profile->GetPrefs()));
|
| + bool is_accept_language = TranslateTabHelper::IsAcceptLanguage(
|
| + original_profile, original_language_code());
|
| + return translate_prefs->CanTranslateLanguage(is_accept_language,
|
| + original_language_code());
|
| }
|
|
|
| void TranslateInfoBarDelegate::ToggleTranslatableLanguageByPrefs() {
|
| @@ -255,14 +259,14 @@ bool TranslateInfoBarDelegate::ShouldShowMessageInfoBarButton() {
|
| bool TranslateInfoBarDelegate::ShouldShowNeverTranslateShortcut() {
|
| DCHECK_EQ(BEFORE_TRANSLATE, infobar_type_);
|
| return !web_contents()->GetBrowserContext()->IsOffTheRecord() &&
|
| - (prefs_.GetTranslationDeniedCount(original_language_code()) >=
|
| + (prefs_->GetTranslationDeniedCount(original_language_code()) >=
|
| kNeverTranslateMinCount);
|
| }
|
|
|
| bool TranslateInfoBarDelegate::ShouldShowAlwaysTranslateShortcut() {
|
| DCHECK_EQ(BEFORE_TRANSLATE, infobar_type_);
|
| return !web_contents()->GetBrowserContext()->IsOffTheRecord() &&
|
| - (prefs_.GetTranslationAcceptedCount(original_language_code()) >=
|
| + (prefs_->GetTranslationAcceptedCount(original_language_code()) >=
|
| kAlwaysTranslateMinCount);
|
| }
|
|
|
| @@ -321,7 +325,7 @@ TranslateInfoBarDelegate::TranslateInfoBarDelegate(
|
| background_animation_(NONE),
|
| ui_delegate_(web_contents, original_language, target_language),
|
| error_type_(error_type),
|
| - prefs_(prefs) {
|
| + prefs_(TranslateTabHelper::CreateTranslatePrefs(prefs)) {
|
| DCHECK_NE((infobar_type_ == TRANSLATION_ERROR),
|
| (error_type_ == TranslateErrors::NONE));
|
|
|
|
|