Index: chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java |
index d6144848ec55fe7689e731dc24640f5b93b3b21a..e39ea6cbdf90ca1293d1badc8ee9f4074aa67229 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java |
@@ -665,20 +665,22 @@ public class ContextualSearchManager extends ContextualSearchObservable |
* selection should be expanded by. |
* @param selectionEndAdjust A positive number of characters that the end of the existing |
* selection should be expanded by. |
+ * @param language The language of the original search term, or an empty string. |
*/ |
@CalledByNative |
public void onSearchTermResolutionResponse(boolean isNetworkUnavailable, int responseCode, |
final String searchTerm, final String displayText, final String alternateTerm, |
- boolean doPreventPreload, int selectionStartAdjust, int selectionEndAdjust) { |
+ boolean doPreventPreload, int selectionStartAdjust, int selectionEndAdjust, |
+ final String language) { |
mNetworkCommunicator.handleSearchTermResolutionResponse(isNetworkUnavailable, responseCode, |
searchTerm, displayText, alternateTerm, doPreventPreload, selectionStartAdjust, |
- selectionEndAdjust); |
+ selectionEndAdjust, language); |
} |
@Override |
public void handleSearchTermResolutionResponse(boolean isNetworkUnavailable, int responseCode, |
String searchTerm, String displayText, String alternateTerm, boolean doPreventPreload, |
- int selectionStartAdjust, int selectionEndAdjust) { |
+ int selectionStartAdjust, int selectionEndAdjust, String language) { |
pedro (no code reviews)
2015/09/23 18:33:54
I would specify which language this is referring t
Donn Denman
2015/10/09 22:08:23
Done.
|
if (!mSearchPanelDelegate.isShowing()) return; |
// Show an appropriate message for what to search for. |
@@ -710,7 +712,15 @@ public class ContextualSearchManager extends ContextualSearchObservable |
// TODO(donnd): Instead of preloading, we should prefetch (ie the URL should not |
// appear in the user's history until the user views it). See crbug.com/406446. |
boolean shouldPreload = !doPreventPreload && mPolicy.shouldPrefetchSearchResult(true); |
- mSearchRequest = new ContextualSearchRequest(searchTerm, alternateTerm, shouldPreload); |
+ boolean needsTranslation = false; |
pedro (no code reviews)
2015/09/23 18:33:54
Aren't translations supposed to work with long pre
Donn Denman
2015/10/09 22:08:23
Great question! Since we don't call the server fo
pedro (no code reviews)
2015/10/23 08:50:35
Acknowledged.
|
+ String sourceLanguage = language; |
+ String targetLanguage = ""; |
+ if (!language.isEmpty()) { |
+ targetLanguage = nativeGetTargetLanguage(mNativeContextualSearchManagerPtr); |
+ needsTranslation = mPolicy.needsTranslation(language, targetLanguage); |
+ } |
+ mSearchRequest = new ContextualSearchRequest(searchTerm, alternateTerm, shouldPreload, |
+ needsTranslation, sourceLanguage, targetLanguage); |
mDidLoadResolvedSearchRequest = false; |
if (mSearchPanelDelegate.isContentViewShowing()) { |
mSearchRequest.setNormalPriority(); |
@@ -1177,4 +1187,5 @@ public class ContextualSearchManager extends ContextualSearchObservable |
private native void nativeGatherSurroundingText(long nativeContextualSearchManager, |
String selection, boolean useResolvedSearchTerm, ContentViewCore baseContentViewCore, |
boolean maySendBasePageUrl); |
+ private native String nativeGetTargetLanguage(long nativeContextualSearchManager); |
} |