Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateInfoBar.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateInfoBar.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateInfoBar.java |
| index bbfa1820c22aab12a54a743c8d6f0ba11328a4c8..91b0cc50d541922c5fe4d4ab36027df45c70823a 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateInfoBar.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateInfoBar.java |
| @@ -34,6 +34,7 @@ public class TranslateInfoBar extends InfoBar implements SubPanelListener { |
| public static final int ALWAYS_PANEL = 3; |
| public static final int MAX_PANEL_INDEX = 4; |
| + private long mNativeTranslateInfoBarPtr; |
| private int mInfoBarType; |
| private final TranslateOptions mOptions; |
| private int mOptionsPanelViewType; |
| @@ -41,18 +42,18 @@ public class TranslateInfoBar extends InfoBar implements SubPanelListener { |
| private final boolean mShouldShowNeverBar; |
| private final TranslateInfoBarDelegate mTranslateDelegate; |
| - public TranslateInfoBar(long nativeInfoBarPtr, TranslateInfoBarDelegate delegate, |
| + public TranslateInfoBar(long nativeTranslateInfoBarPtr, TranslateInfoBarDelegate delegate, |
| int infoBarType, int sourceLanguageIndex, int targetLanguageIndex, |
| - boolean autoTranslatePair, boolean shouldShowNeverBar, |
| - boolean triggeredFromMenu, String[] languages) { |
| + boolean autoTranslatePair, boolean shouldShowNeverBar, boolean triggeredFromMenu, |
| + String[] languages) { |
| super(null, R.drawable.infobar_translate, null, null); |
| + mNativeTranslateInfoBarPtr = nativeTranslateInfoBarPtr; |
| mTranslateDelegate = delegate; |
| mOptions = new TranslateOptions(sourceLanguageIndex, targetLanguageIndex, languages, |
| autoTranslatePair, triggeredFromMenu); |
| mInfoBarType = infoBarType; |
| mShouldShowNeverBar = shouldShowNeverBar; |
| mOptionsPanelViewType = NO_PANEL; |
| - setNativeInfoBar(nativeInfoBarPtr); |
| } |
| @Override |
| @@ -61,7 +62,7 @@ public class TranslateInfoBar extends InfoBar implements SubPanelListener { |
| // Make it behave exactly as the Nope Button. |
| onButtonClicked(false); |
| } else { |
| - nativeOnCloseButtonClicked(mNativeInfoBarPtr); |
| + super.onCloseButtonClicked(); |
| } |
| } |
| @@ -208,8 +209,7 @@ public class TranslateInfoBar extends InfoBar implements SubPanelListener { |
| // We need to re-check if the pointer is null now because applying options (like never |
| // translate this site) can sometimes trigger closing the InfoBar. |
| - if (mNativeInfoBarPtr == 0) return; |
| - nativeOnButtonClicked(mNativeInfoBarPtr, action, ""); |
| + super.onButtonClicked(action, ""); |
| } |
| @Override |
| @@ -226,14 +226,12 @@ public class TranslateInfoBar extends InfoBar implements SubPanelListener { |
| @Override |
| public void onOptionsChanged() { |
| - if (mNativeInfoBarPtr == 0) return; |
| + if (mNativeTranslateInfoBarPtr == 0) return; |
| if (mOptions.optionsChanged()) { |
| - mTranslateDelegate.applyTranslateOptions(mNativeInfoBarPtr, |
| - mOptions.sourceLanguageIndex(), |
| - mOptions.targetLanguageIndex(), |
| - mOptions.alwaysTranslateLanguageState(), |
| - mOptions.neverTranslateLanguageState(), |
| + mTranslateDelegate.applyTranslateOptions(mNativeTranslateInfoBarPtr, |
|
David Trainor- moved to gerrit
2015/06/02 17:51:55
This one is particularly confusing. Why isn't thi
Changwan Ryu
2015/06/03 04:55:41
Removed TranslateInfoBarDelegate.
|
| + mOptions.sourceLanguageIndex(), mOptions.targetLanguageIndex(), |
| + mOptions.alwaysTranslateLanguageState(), mOptions.neverTranslateLanguageState(), |
| mOptions.neverTranslateDomainState()); |
| } |
| } |
| @@ -331,10 +329,12 @@ public class TranslateInfoBar extends InfoBar implements SubPanelListener { |
| return mInfoBarType; |
| } |
| - void changeInfoBarTypeAndNativePointer(int infoBarType, long newNativePointer) { |
| + void changeInfoBarTypeAndNativePointer( |
| + int infoBarType, long newNativeInfoBarPtr, long newNativeTranslateInfobarPtr) { |
| if (infoBarType >= 0 && infoBarType < MAX_INFOBAR_INDEX) { |
| mInfoBarType = infoBarType; |
| - replaceNativePointer(newNativePointer); |
| + replaceNativePointer(newNativeInfoBarPtr); |
| + mNativeTranslateInfoBarPtr = newNativeTranslateInfobarPtr; |
| updateViewForCurrentState(createView()); |
| } else { |
| assert false : "Trying to change the InfoBar to a type that is invalid."; |