| 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 5128efe960e0e5cc73ae0f678e089c913e9aa0d8..1dc3f014e3602bc77470b23606ee8104b89b0845 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
|
| @@ -71,7 +71,7 @@ public class TranslateCompactInfoBar extends InfoBar
|
| * INFOBAR_HISTOGRAM_BOUNDARY should be the last.
|
| */
|
| private static final int INFOBAR_IMPRESSION = 0;
|
| - private static final int INFOBAR_TRANSLATE = 1;
|
| + private static final int INFOBAR_TARGET_TAB_TRANSLATE = 1;
|
| private static final int INFOBAR_DECLINE = 2;
|
| private static final int INFOBAR_OPTIONS = 3;
|
| private static final int INFOBAR_MORE_LANGUAGES = 4;
|
| @@ -90,7 +90,7 @@ public class TranslateCompactInfoBar extends InfoBar
|
| private static final int INFOBAR_SNACKBAR_CANCEL_NEVER_SITE = 17;
|
| private static final int INFOBAR_SNACKBAR_CANCEL_NEVER = 18;
|
| private static final int INFOBAR_ALWAYS_TRANSLATE_UNDO = 19;
|
| - private static final int INFOBAR_CLOSE = 20;
|
| + private static final int INFOBAR_CLOSE_DEPRECATED = 20;
|
| private static final int INFOBAR_SNACKBAR_AUTO_ALWAYS_IMPRESSION = 21;
|
| private static final int INFOBAR_SNACKBAR_AUTO_NEVER_IMPRESSION = 22;
|
| private static final int INFOBAR_SNACKBAR_CANCEL_AUTO_ALWAYS = 23;
|
| @@ -105,6 +105,7 @@ public class TranslateCompactInfoBar extends InfoBar
|
|
|
| private boolean mMenuExpanded;
|
| private boolean mIsFirstLayout = true;
|
| + private boolean mUserInteracted;
|
|
|
| /** The controller for translate UI snackbars. */
|
| class TranslateSnackbarController implements SnackbarController {
|
| @@ -184,6 +185,7 @@ public class TranslateCompactInfoBar extends InfoBar
|
| if (mInitialStep == TRANSLATING_INFOBAR) {
|
| mTabLayout.getTabAt(TARGET_TAB_INDEX).select();
|
| mTabLayout.showProgressBarOnTab(TARGET_TAB_INDEX);
|
| + mUserInteracted = true;
|
| }
|
|
|
| mTabLayout.addOnTabSelectedListener(this);
|
| @@ -252,6 +254,7 @@ public class TranslateCompactInfoBar extends InfoBar
|
| // Already on the target tab.
|
| mTabLayout.showProgressBarOnTab(TARGET_TAB_INDEX);
|
| onButtonClicked(ActionType.TRANSLATE);
|
| + mUserInteracted = true;
|
| } else {
|
| mTabLayout.getTabAt(TARGET_TAB_INDEX).select();
|
| }
|
| @@ -293,6 +296,10 @@ public class TranslateCompactInfoBar extends InfoBar
|
| }
|
|
|
| private void closeInfobar(boolean explicitly) {
|
| + if (!mUserInteracted) {
|
| + recordInfobarAction(INFOBAR_DECLINE);
|
| + }
|
| +
|
| // Check if we should trigger the auto "never translate" if infobar is closed explicitly.
|
| if (explicitly && mNativeTranslateInfoBarPtr != 0
|
| && nativeShouldAutoNeverTranslate(mNativeTranslateInfoBarPtr, mMenuExpanded)) {
|
| @@ -304,7 +311,6 @@ public class TranslateCompactInfoBar extends InfoBar
|
| // perform the action.
|
| return;
|
| }
|
| - recordInfobarAction(INFOBAR_CLOSE);
|
| // This line will dismiss this infobar.
|
| super.onCloseButtonClicked();
|
| }
|
| @@ -324,7 +330,7 @@ public class TranslateCompactInfoBar extends InfoBar
|
| onButtonClicked(ActionType.TRANSLATE_SHOW_ORIGINAL);
|
| return;
|
| case TARGET_TAB_INDEX:
|
| - recordInfobarAction(INFOBAR_TRANSLATE);
|
| + recordInfobarAction(INFOBAR_TARGET_TAB_TRANSLATE);
|
| recordInfobarLanguageData(
|
| INFOBAR_HISTOGRAM_TRANSLATE_LANGUAGE, mOptions.targetLanguageCode());
|
| startTranslating(TARGET_TAB_INDEX);
|
| @@ -392,6 +398,7 @@ public class TranslateCompactInfoBar extends InfoBar
|
| public void onTargetMenuItemClicked(String code) {
|
| // Reset target code in both UI and native.
|
| if (mNativeTranslateInfoBarPtr != 0 && mOptions.setTargetLanguage(code)) {
|
| + recordInfobarAction(INFOBAR_MORE_LANGUAGES_TRANSLATE);
|
| recordInfobarLanguageData(
|
| INFOBAR_HISTOGRAM_MORE_LANGUAGES_LANGUAGE, mOptions.targetLanguageCode());
|
| nativeApplyStringTranslateOption(
|
| @@ -499,11 +506,13 @@ public class TranslateCompactInfoBar extends InfoBar
|
| return;
|
| case ACTION_OVERFLOW_NEVER_LANGUAGE:
|
| case ACTION_AUTO_NEVER_LANGUAGE:
|
| + mUserInteracted = true;
|
| // After applying this option, the infobar will dismiss.
|
| nativeApplyBoolTranslateOption(
|
| mNativeTranslateInfoBarPtr, TranslateOption.NEVER_TRANSLATE, true);
|
| return;
|
| case ACTION_OVERFLOW_NEVER_SITE:
|
| + mUserInteracted = true;
|
| // After applying this option, the infobar will dismiss.
|
| nativeApplyBoolTranslateOption(
|
| mNativeTranslateInfoBarPtr, TranslateOption.NEVER_TRANSLATE_SITE, true);
|
|
|