Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2969)

Unified Diff: chrome/browser/translate/translate_infobar_delegate.cc

Issue 3011008: Don't crash if the translate server reports a language we don't know (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: '' Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | chrome/browser/translate/translate_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/translate/translate_infobar_delegate.cc
===================================================================
--- chrome/browser/translate/translate_infobar_delegate.cc (revision 52842)
+++ chrome/browser/translate/translate_infobar_delegate.cc (working copy)
@@ -275,6 +275,10 @@
case TranslateErrors::UNKNOWN_LANGUAGE:
return l10n_util::GetStringUTF16(
IDS_TRANSLATE_INFOBAR_UNKNOWN_PAGE_LANGUAGE);
+ case TranslateErrors::UNSUPPORTED_LANGUAGE:
+ return l10n_util::GetStringFUTF16(
+ IDS_TRANSLATE_INFOBAR_UNSUPPORTED_PAGE_LANGUAGE,
+ GetLanguageDisplayableNameAt(target_language_index_));
case TranslateErrors::IDENTICAL_LANGUAGES:
return l10n_util::GetStringFUTF16(
IDS_TRANSLATE_INFOBAR_ERROR_SAME_LANGUAGE,
@@ -299,6 +303,8 @@
// No retry button, we would fail again with the same error.
return string16();
}
+ if (error_ == TranslateErrors::UNSUPPORTED_LANGUAGE)
+ return l10n_util::GetStringUTF16(IDS_TRANSLATE_INFOBAR_REVERT);
return l10n_util::GetStringUTF16(IDS_TRANSLATE_INFOBAR_RETRY);
default:
NOTREACHED();
@@ -308,6 +314,11 @@
void TranslateInfoBarDelegate::MessageInfoBarButtonPressed() {
DCHECK(type_ == kTranslationError);
+ if (error_ == TranslateErrors::UNSUPPORTED_LANGUAGE) {
+ RevertTranslation();
+ return;
+ }
+ // This is the "Try again..." case.
Singleton<TranslateManager>::get()->TranslatePage(
tab_contents_, GetOriginalLanguageCode(), GetTargetLanguageCode());
}
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | chrome/browser/translate/translate_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698