| Index: chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateCompactInfoBar.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateCompactInfoBar.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateCompactInfoBar.java
|
| index be593535cf38a490673f125a9a6364b2bc2e5052..d8c720999d6614d4569b563f406632ca2e665162 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateCompactInfoBar.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateCompactInfoBar.java
|
| @@ -460,11 +460,16 @@ class TranslateCompactInfoBar extends InfoBar implements TabLayout.OnTabSelected
|
| private void handleTranslateOptionPostSnackbar(int actionId) {
|
| switch (actionId) {
|
| case ACTION_OVERFLOW_ALWAYS_TRANSLATE:
|
| + toggleAlwaysTranslate();
|
| + // Start translating if always translate is selected and if page is not already
|
| + // translated to the target language.
|
| + if (mOptions.alwaysTranslateLanguageState()
|
| + && mTabLayout.getSelectedTabPosition() == SOURCE_TAB_INDEX) {
|
| + startTranslating(mTabLayout.getSelectedTabPosition());
|
| + }
|
| + return;
|
| case ACTION_AUTO_ALWAYS_TRANSLATE:
|
| - mOptions.toggleAlwaysTranslateLanguageState(
|
| - !mOptions.alwaysTranslateLanguageState());
|
| - nativeApplyBoolTranslateOption(mNativeTranslateInfoBarPtr,
|
| - TranslateOption.ALWAYS_TRANSLATE, mOptions.alwaysTranslateLanguageState());
|
| + toggleAlwaysTranslate();
|
| return;
|
| case ACTION_OVERFLOW_NEVER_LANGUAGE:
|
| case ACTION_AUTO_NEVER_LANGUAGE:
|
| @@ -482,6 +487,12 @@ class TranslateCompactInfoBar extends InfoBar implements TabLayout.OnTabSelected
|
| }
|
| }
|
|
|
| + private void toggleAlwaysTranslate() {
|
| + mOptions.toggleAlwaysTranslateLanguageState(!mOptions.alwaysTranslateLanguageState());
|
| + nativeApplyBoolTranslateOption(mNativeTranslateInfoBarPtr, TranslateOption.ALWAYS_TRANSLATE,
|
| + mOptions.alwaysTranslateLanguageState());
|
| + }
|
| +
|
| private static void recordInfobarAction(int action) {
|
| RecordHistogram.recordEnumeratedHistogram(
|
| INFOBAR_HISTOGRAM, action, INFOBAR_HISTOGRAM_BOUNDARY);
|
|
|