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