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."; |