Chromium Code Reviews| Index: chrome/browser/ui/android/infobars/translate_compact_infobar.cc |
| diff --git a/chrome/browser/ui/android/infobars/translate_compact_infobar.cc b/chrome/browser/ui/android/infobars/translate_compact_infobar.cc |
| index db83575d2667f4ea2746f808a17021f630027b9b..6fcbbbec6e01018a9bf2696dd876e32c2712a255 100644 |
| --- a/chrome/browser/ui/android/infobars/translate_compact_infobar.cc |
| +++ b/chrome/browser/ui/android/infobars/translate_compact_infobar.cc |
| @@ -72,8 +72,6 @@ void TranslateCompactInfoBar::ProcessButton(int action) { |
| } else if (action == InfoBarAndroid::ACTION_TRANSLATE_SHOW_ORIGINAL) { |
| action_flags_ |= FLAG_REVERT; |
| delegate->RevertWithoutClosingInfobar(); |
| - } else if (action == InfoBarAndroid::ACTION_CANCEL) { |
| - delegate->TranslationDeclined(); |
| } else { |
| DCHECK_EQ(InfoBarAndroid::ACTION_NONE, action); |
| } |
| @@ -141,8 +139,21 @@ bool TranslateCompactInfoBar::ShouldAutoAlwaysTranslate() { |
| jboolean TranslateCompactInfoBar::ShouldAutoNeverTranslate( |
| JNIEnv* env, |
| - const base::android::JavaParamRef<jobject>& obj) { |
| + const base::android::JavaParamRef<jobject>& obj, |
| + jboolean menu_expanded) { |
| + // Mark menu expanded. |
| + if (menu_expanded) |
| + action_flags_ |= FLAG_EXPAND_MENU; |
| + |
| + if (!IsDeclinedByUser()) |
| + return false; |
| + |
| translate::TranslateInfoBarDelegate* delegate = GetDelegate(); |
| + // Don't trigger if it's off the recored or already blocked. |
|
Marti Wong
2017/05/23 08:23:32
typo: record
Leo
2017/05/23 14:33:01
Thanks for the catch.
|
| + if (delegate->is_off_the_record() || |
| + !delegate->IsTranslatableLanguageByPrefs()) |
| + return false; |
| + |
| return (delegate->GetTranslationDeniedCount() == kDeniedCountThreshold); |
| } |