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 20a5b0a7d4bc0f0014fc80c97ed6b834d3aa98bb..b1345b622aad402f661cc5a49a9ea57254570633 100644 |
| --- a/chrome/browser/translate/translate_infobar_delegate.cc |
| +++ b/chrome/browser/translate/translate_infobar_delegate.cc |
| @@ -67,6 +67,18 @@ void TranslateInfoBarDelegate::Create( |
| break; |
| } |
| + // 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()) { |
| + DCHECK(!old_delegate); |
|
Takashi Toyoshima
2013/07/17 17:02:08
I agreed this DCHECK is always correct.
But I'd li
Peter Kasting
2013/07/17 18:06:19
I don't know whether the DCHECK here is important.
|
| + return; |
| + } |
| + } |
| + |
| // Create the new delegate. |
| scoped_ptr<TranslateInfoBarDelegate> infobar( |
| new TranslateInfoBarDelegate(infobar_type, error_type, infobar_service, |
| @@ -74,16 +86,6 @@ 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; |
| - } |
| - |
| // Add the new delegate if necessary. |
| if (!old_delegate) { |
| infobar_service->AddInfoBar(infobar.PassAs<InfoBarDelegate>()); |