Chromium Code Reviews| 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 ca9df4c1d7150a479a83db0db61458fa16f85194..311421e1dfd14b8b382919408974f38deb0c871d 100644 |
| --- a/chrome/browser/translate/translate_infobar_delegate.cc |
| +++ b/chrome/browser/translate/translate_infobar_delegate.cc |
| @@ -74,6 +74,16 @@ void TranslateInfoBarDelegate::Create( |
| original_language, target_language)); |
| infobar->UpdateBackgroundAnimation(old_delegate); |
| + // Do not create the after translate infobar if we are auto translating. |
| + if (infobar_type == TranslateInfoBarDelegate::AFTER_TRANSLATE || |
| + infobar_type == TranslateInfoBarDelegate::TRANSLATING) { |
| + TranslateTabHelper* translate_tab_helper = |
| + TranslateTabHelper::FromWebContents(infobar_service->web_contents()); |
| + if (!translate_tab_helper || |
| + translate_tab_helper->language_state().InTranslateNavigation()) |
| + return; |
|
Peter Kasting
2013/06/21 17:23:59
(1) What about the old delegate? Don't we need to
|
| + } |
| + |
| // Add the new delegate if necessary. |
| if (!old_delegate) { |
| infobar_service->AddInfoBar(infobar.PassAs<InfoBarDelegate>()); |
| @@ -126,14 +136,6 @@ void TranslateInfoBarDelegate::TranslationDeclined() { |
| UMA_HISTOGRAM_BOOLEAN(kDeclineTranslate, true); |
| } |
| -bool TranslateInfoBarDelegate::InTranslateNavigation() { |
| - TranslateTabHelper* translate_tab_helper = |
| - TranslateTabHelper::FromWebContents(web_contents()); |
| - if (!translate_tab_helper) |
| - return false; |
| - return translate_tab_helper->language_state().InTranslateNavigation(); |
| -} |
| - |
| bool TranslateInfoBarDelegate::IsTranslatableLanguageByPrefs() { |
| Profile* profile = |
| Profile::FromBrowserContext(web_contents()->GetBrowserContext()); |