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()); |