Index: chrome/browser/translate/translate_manager.cc |
=================================================================== |
--- chrome/browser/translate/translate_manager.cc (revision 95968) |
+++ chrome/browser/translate/translate_manager.cc (working copy) |
@@ -507,7 +507,7 @@ |
// Prompts the user if he/she wants the page translated. |
wrapper->AddInfoBar(TranslateInfoBarDelegate::CreateDelegate( |
TranslateInfoBarDelegate::BEFORE_TRANSLATE, tab, language_code, |
- target_lang)); |
+ target_lang)); |
} |
void TranslateManager::InitiateTranslationPosted( |
@@ -534,17 +534,9 @@ |
return; |
} |
- TranslateInfoBarDelegate* infobar = TranslateInfoBarDelegate::CreateDelegate( |
+ ShowInfoBar(tab_contents, TranslateInfoBarDelegate::CreateDelegate( |
TranslateInfoBarDelegate::TRANSLATING, tab_contents, |
- source_lang, target_lang); |
- if (!infobar) { |
- // This means the source or target languages are not supported, which should |
- // not happen as we won't show a translate infobar or have the translate |
- // context menu activated in such cases. |
- NOTREACHED(); |
- return; |
- } |
- ShowInfoBar(tab_contents, infobar); |
+ source_lang, target_lang)); |
if (!translate_script_.empty()) { |
DoTranslatePage(tab_contents, translate_script_, source_lang, target_lang); |
@@ -749,6 +741,7 @@ |
void TranslateManager::ShowInfoBar(TabContents* tab, |
TranslateInfoBarDelegate* infobar) { |
+ DCHECK(infobar != NULL); |
TranslateInfoBarDelegate* old_infobar = GetTranslateInfoBarDelegate(tab); |
infobar->UpdateBackgroundAnimation(old_infobar); |
TabContentsWrapper* wrapper = |
@@ -781,8 +774,9 @@ |
std::vector<std::string>::iterator iter; |
for (iter = accept_langs_list.begin(); |
iter != accept_langs_list.end(); ++iter) { |
- if (IsSupportedLanguage(GetLanguageCode(*iter))) |
- return *iter; |
+ std::string lang_code = GetLanguageCode(*iter); |
+ if (IsSupportedLanguage(lang_code)) |
+ return lang_code; |
} |
return std::string(); |
} |