Commit fa5127d2 authored by Boris Sazonov's avatar Boris Sazonov Committed by Commit Bot

Revert "Include translate information in onProvideAssistContent."

This reverts commit 243dbcb1.

Reason for revert: breaks tests (https://crbug.com/1136112 & https://crbug.com/1135658)

Original change's description:
> Include translate information in onProvideAssistContent.
>
> Assistant will use this information to determine whether or not to show a translate prompt when Assistant is opened over Chrome.
>
> This is controlled by the "TranslateAssistContent" Feature and is off by default.
>
> Design doc here: https://docs.google.com/document/d/1xZR09XTTGgY0F00_lFOEX7nUc0oqgSrCs5lZFU9INA0/edit
>
> Bug: 1110943
> Change-Id: I213f55af0efdaa2762f4524b74f942b99123f64b
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2442360
> Reviewed-by: Ilya Sherman <isherman@chromium.org>
> Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
> Reviewed-by: Scott Little <sclittle@chromium.org>
> Commit-Queue: Josh Simmons <jds@google.com>
> Cr-Commit-Position: refs/heads/master@{#813999}

TBR=isherman@chromium.org,mthiesse@chromium.org,sclittle@chromium.org,sweilun@chromium.org,jds@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 1110943, 1136112, 1135658
Change-Id: I51739eb23c0c7ec34a35463ebb498290d853d605
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2457086Reviewed-by: default avatarBoris Sazonov <bsazonov@chromium.org>
Reviewed-by: default avatarWeilun Shi <sweilun@chromium.org>
Commit-Queue: Boris Sazonov <bsazonov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#814779}
parent 20337500
...@@ -1609,7 +1609,6 @@ chrome_java_sources = [ ...@@ -1609,7 +1609,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java", "java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java",
"java/src/org/chromium/chrome/browser/tracing/settings/TracingCategoriesSettings.java", "java/src/org/chromium/chrome/browser/tracing/settings/TracingCategoriesSettings.java",
"java/src/org/chromium/chrome/browser/tracing/settings/TracingSettings.java", "java/src/org/chromium/chrome/browser/tracing/settings/TracingSettings.java",
"java/src/org/chromium/chrome/browser/translate/TranslateAssistContent.java",
"java/src/org/chromium/chrome/browser/translate/TranslateBridge.java", "java/src/org/chromium/chrome/browser/translate/TranslateBridge.java",
"java/src/org/chromium/chrome/browser/translate/TranslateIntentHandler.java", "java/src/org/chromium/chrome/browser/translate/TranslateIntentHandler.java",
"java/src/org/chromium/chrome/browser/translate/TranslateUtils.java", "java/src/org/chromium/chrome/browser/translate/TranslateUtils.java",
......
...@@ -588,7 +588,6 @@ chrome_test_java_sources = [ ...@@ -588,7 +588,6 @@ chrome_test_java_sources = [
"javatests/src/org/chromium/chrome/browser/toolbar/top/TabSwitcherActionMenuTest.java", "javatests/src/org/chromium/chrome/browser/toolbar/top/TabSwitcherActionMenuTest.java",
"javatests/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhoneTest.java", "javatests/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhoneTest.java",
"javatests/src/org/chromium/chrome/browser/tracing/settings/TracingSettingsTest.java", "javatests/src/org/chromium/chrome/browser/tracing/settings/TracingSettingsTest.java",
"javatests/src/org/chromium/chrome/browser/translate/TranslateAssistContentTest.java",
"javatests/src/org/chromium/chrome/browser/translate/TranslateCompactInfoBarTest.java", "javatests/src/org/chromium/chrome/browser/translate/TranslateCompactInfoBarTest.java",
"javatests/src/org/chromium/chrome/browser/translate/TranslateIntentTest.java", "javatests/src/org/chromium/chrome/browser/translate/TranslateIntentTest.java",
"javatests/src/org/chromium/chrome/browser/ui/system/StatusBarColorControllerTest.java", "javatests/src/org/chromium/chrome/browser/ui/system/StatusBarColorControllerTest.java",
......
...@@ -154,7 +154,6 @@ import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver; ...@@ -154,7 +154,6 @@ import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver;
import org.chromium.chrome.browser.tabmodel.TabModelUtils; import org.chromium.chrome.browser.tabmodel.TabModelUtils;
import org.chromium.chrome.browser.toolbar.ControlContainer; import org.chromium.chrome.browser.toolbar.ControlContainer;
import org.chromium.chrome.browser.toolbar.ToolbarManager; import org.chromium.chrome.browser.toolbar.ToolbarManager;
import org.chromium.chrome.browser.translate.TranslateAssistContent;
import org.chromium.chrome.browser.translate.TranslateBridge; import org.chromium.chrome.browser.translate.TranslateBridge;
import org.chromium.chrome.browser.ui.BottomContainer; import org.chromium.chrome.browser.ui.BottomContainer;
import org.chromium.chrome.browser.ui.RootUiCoordinator; import org.chromium.chrome.browser.ui.RootUiCoordinator;
...@@ -1193,18 +1192,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent> ...@@ -1193,18 +1192,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@TargetApi(Build.VERSION_CODES.M) @TargetApi(Build.VERSION_CODES.M)
public void onProvideAssistContent(AssistContent outContent) { public void onProvideAssistContent(AssistContent outContent) {
Tab tab = getActivityTab(); Tab tab = getActivityTab();
boolean inOverviewMode = isInOverviewMode();
// Attempt to fetch translate data here so we can record UMA even if it won't be attached.
@Nullable
String structuredData = TranslateAssistContent.getTranslateDataForTab(tab, inOverviewMode);
// No information is provided in incognito mode and overview mode. // No information is provided in incognito mode and overview mode.
if (tab != null && !tab.isIncognito() && !inOverviewMode) { if (tab != null && !tab.isIncognito() && !isInOverviewMode()) {
outContent.setWebUri(Uri.parse(tab.getUrlString())); outContent.setWebUri(Uri.parse(tab.getUrlString()));
if (structuredData != null) {
outContent.setStructuredData(structuredData);
}
} }
} }
......
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.translate;
import android.text.TextUtils;
import androidx.annotation.IntDef;
import androidx.annotation.Nullable;
import org.json.JSONException;
import org.json.JSONObject;
import org.chromium.base.FeatureList;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.tab.Tab;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
/**
* Provides utilities related to providing translate information to Assistant.
*/
public class TranslateAssistContent {
public static final String TYPE_KEY = "@type";
public static final String TYPE_VALUE = "WebPage";
public static final String URL_KEY = "url";
public static final String IN_LANGUAGE_KEY = "inLanguage";
public static final String WORK_TRANSLATION_KEY = "workTranslation";
public static final String TRANSLATION_OF_WORK_KEY = "translationOfWork";
/**
* Represents the result of attempting to attach translate data to AssistContent.
* DO NOT reorder items in this interface, because it's mirrored to UMA (as
* TranslateAssistContentResult). Values should be enumerated from 0 and can't have gaps.
* When removing items, comment them out and keep existing numeric values stable.
*/
@IntDef({TranslateAssistContentResult.FEATURE_DISABLED,
TranslateAssistContentResult.TAB_WAS_NULL, TranslateAssistContentResult.INCOGNITO_TAB,
TranslateAssistContentResult.OVERVIEW_MODE,
TranslateAssistContentResult.CANNOT_TRANSLATE_TAB,
TranslateAssistContentResult.MISSING_ORIGINAL_LANGUAGE,
TranslateAssistContentResult.MISSING_CURRENT_LANGUAGE,
TranslateAssistContentResult.JSON_EXCEPTION,
TranslateAssistContentResult.TRANSLATABLE_PAGE,
TranslateAssistContentResult.TRANSLATED_PAGE})
@Retention(RetentionPolicy.SOURCE)
public @interface TranslateAssistContentResult {
int FEATURE_DISABLED = 0;
int TAB_WAS_NULL = 1;
int INCOGNITO_TAB = 2;
int OVERVIEW_MODE = 3;
int CANNOT_TRANSLATE_TAB = 4;
int MISSING_ORIGINAL_LANGUAGE = 5;
int MISSING_CURRENT_LANGUAGE = 6;
int JSON_EXCEPTION = 7;
int TRANSLATABLE_PAGE = 8;
int TRANSLATED_PAGE = 9;
// Update TranslateAssistContentResult in enums.xml when adding new items.
int NUM_ENTRIES = 10;
}
private static void recordTranslateAssistContentResultUMA(
@TranslateAssistContentResult int result) {
RecordHistogram.recordEnumeratedHistogram("Translate.TranslateAssistContentResult", result,
TranslateAssistContentResult.NUM_ENTRIES);
}
/**
* Returns a StructuredData string populated with translate information. This is used to inform
* the Assistant of the current page's translate state.
* @param tab The tab to create translate data for.
* @param isInOverviewMode Whether the ChromeActivity is in overview mode.
* @return A JSON string of translate data to be surfaced to the Assistant via
* AssistContent#setStructuredData. Returns null if there was an issue creating the
* StructuredData or if the feature is disabled.
*/
public static @Nullable String getTranslateDataForTab(
@Nullable Tab tab, boolean isInOverviewMode) {
if (!FeatureList.isInitialized()
|| !ChromeFeatureList.isEnabled(ChromeFeatureList.TRANSLATE_ASSIST_CONTENT)) {
recordTranslateAssistContentResultUMA(TranslateAssistContentResult.FEATURE_DISABLED);
return null;
} else if (isInOverviewMode) {
recordTranslateAssistContentResultUMA(TranslateAssistContentResult.OVERVIEW_MODE);
return null;
} else if (tab == null) {
recordTranslateAssistContentResultUMA(TranslateAssistContentResult.TAB_WAS_NULL);
return null;
} else if (tab.isIncognito()) {
recordTranslateAssistContentResultUMA(TranslateAssistContentResult.INCOGNITO_TAB);
return null;
}
try {
JSONObject structuredData =
new JSONObject().put(TYPE_KEY, TYPE_VALUE).put(URL_KEY, tab.getUrl().getSpec());
if (!TranslateBridge.canManuallyTranslate(tab)) {
recordTranslateAssistContentResultUMA(
TranslateAssistContentResult.CANNOT_TRANSLATE_TAB);
return structuredData.toString();
}
String originalLanguageCode = TranslateBridge.getOriginalLanguage(tab);
if (TextUtils.isEmpty(originalLanguageCode)) {
recordTranslateAssistContentResultUMA(
TranslateAssistContentResult.MISSING_ORIGINAL_LANGUAGE);
return structuredData.toString();
}
String currentLanguageCode = TranslateBridge.getCurrentLanguage(tab);
if (TextUtils.isEmpty(currentLanguageCode)) {
recordTranslateAssistContentResultUMA(
TranslateAssistContentResult.MISSING_CURRENT_LANGUAGE);
return structuredData.toString();
}
// The target language is not necessary for Assistant to decide whether to show the
// translate UI.
String targetLanguageCode = TranslateBridge.getTargetLanguage();
structuredData.put(IN_LANGUAGE_KEY, currentLanguageCode);
if (currentLanguageCode.equals(originalLanguageCode)) {
if (!TextUtils.isEmpty(targetLanguageCode)) {
structuredData.put(WORK_TRANSLATION_KEY,
new JSONObject().put(IN_LANGUAGE_KEY, targetLanguageCode));
}
recordTranslateAssistContentResultUMA(
TranslateAssistContentResult.TRANSLATABLE_PAGE);
} else {
structuredData.put(TRANSLATION_OF_WORK_KEY,
new JSONObject().put(IN_LANGUAGE_KEY, originalLanguageCode));
recordTranslateAssistContentResultUMA(TranslateAssistContentResult.TRANSLATED_PAGE);
}
return structuredData.toString();
} catch (JSONException e) {
recordTranslateAssistContentResultUMA(TranslateAssistContentResult.JSON_EXCEPTION);
return null;
}
}
}
...@@ -57,22 +57,6 @@ public class TranslateBridge { ...@@ -57,22 +57,6 @@ public class TranslateBridge {
TranslateBridgeJni.get().setPredefinedTargetLanguage(tab.getWebContents(), targetLanguage); TranslateBridgeJni.get().setPredefinedTargetLanguage(tab.getWebContents(), targetLanguage);
} }
/**
* @return The original language code of the given tab. Empty string if no language was detected
* yet.
*/
public static String getOriginalLanguage(Tab tab) {
return TranslateBridgeJni.get().getOriginalLanguage(tab.getWebContents());
}
/**
* @return The current language code of the given tab. Empty string if no language was detected
* yet.
*/
public static String getCurrentLanguage(Tab tab) {
return TranslateBridgeJni.get().getCurrentLanguage(tab.getWebContents());
}
/** /**
* @return The best target language based on what the Translate Service knows about the user. * @return The best target language based on what the Translate Service knows about the user.
*/ */
...@@ -216,8 +200,6 @@ public class TranslateBridge { ...@@ -216,8 +200,6 @@ public class TranslateBridge {
boolean canManuallyTranslate(WebContents webContents); boolean canManuallyTranslate(WebContents webContents);
boolean shouldShowManualTranslateIPH(WebContents webContents); boolean shouldShowManualTranslateIPH(WebContents webContents);
void setPredefinedTargetLanguage(WebContents webContents, String targetLanguage); void setPredefinedTargetLanguage(WebContents webContents, String targetLanguage);
String getOriginalLanguage(WebContents webContents);
String getCurrentLanguage(WebContents webContents);
String getTargetLanguage(); String getTargetLanguage();
boolean isBlockedLanguage(String language); boolean isBlockedLanguage(String language);
void getModelLanguages(LinkedHashSet<String> set); void getModelLanguages(LinkedHashSet<String> set);
......
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.translate;
import android.app.assist.AssistContent;
import android.os.Build;
import androidx.test.filters.MediumTest;
import org.hamcrest.Matchers;
import org.json.JSONException;
import org.json.JSONObject;
import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.MinAndroidSdkLevel;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
import org.chromium.chrome.test.batch.BlankCTATabInitialStateRule;
import org.chromium.chrome.test.util.browser.Features;
import org.chromium.content_public.browser.test.util.Criteria;
import org.chromium.content_public.browser.test.util.CriteriaHelper;
import org.chromium.content_public.browser.test.util.TestThreadUtils;
import java.util.concurrent.TimeoutException;
/**
* Tests for the translate info included in onProvideAssistContent.
*/
@RunWith(ChromeJUnit4ClassRunner.class)
@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE})
@Batch(Batch.PER_CLASS)
public class TranslateAssistContentTest {
@ClassRule
public static final ChromeTabbedActivityTestRule sActivityTestRule =
new ChromeTabbedActivityTestRule();
@Rule
public final BlankCTATabInitialStateRule mInitialStateRule =
new BlankCTATabInitialStateRule(sActivityTestRule, false);
private static final String TRANSLATE_PAGE = "/chrome/test/data/translate/fr_test.html";
private static final String NON_TRANSLATE_PAGE = "/chrome/test/data/android/test.html";
/**
* Wait until the activity tab is translatable.
*/
private void waitUntilTranslatable() {
CriteriaHelper.pollInstrumentationThread(() -> {
Tab tab = sActivityTestRule.getActivity().getActivityTab();
Criteria.checkThat(tab, Matchers.notNullValue());
boolean canManuallyTranslate = TestThreadUtils.runOnUiThreadBlockingNoException(
() -> TranslateBridge.canManuallyTranslate(tab));
Criteria.checkThat(canManuallyTranslate, Matchers.is(true));
});
}
/**
* Wait until the activity tab is translated.
*/
private void waitUntilTranslated() {
CriteriaHelper.pollInstrumentationThread(() -> {
Tab tab = sActivityTestRule.getActivity().getActivityTab();
Criteria.checkThat(tab, Matchers.notNullValue());
String original = TestThreadUtils.runOnUiThreadBlockingNoException(
() -> TranslateBridge.getOriginalLanguage(tab));
Criteria.checkThat(original, Matchers.notNullValue());
String current = TestThreadUtils.runOnUiThreadBlockingNoException(
() -> TranslateBridge.getCurrentLanguage(tab));
Criteria.checkThat(current, Matchers.notNullValue());
Criteria.checkThat(current, Matchers.is(Matchers.not(original)));
});
}
@Test
@MediumTest
@DisabledTest(message = "https://crbug.com/1134812")
// onProvideAssistContent was first added in the M SDK.
@MinAndroidSdkLevel(Build.VERSION_CODES.M)
@Features.DisableFeatures({ChromeFeatureList.TRANSLATE_ASSIST_CONTENT})
public void testAssistContentDisabled() throws TimeoutException {
// Load a page that triggers the translate recommendation.
final String url = sActivityTestRule.getTestServer().getURL(TRANSLATE_PAGE);
sActivityTestRule.loadUrl(url);
waitUntilTranslatable();
AssistContent assistContent = new AssistContent();
TestThreadUtils.runOnUiThreadBlocking(
() -> sActivityTestRule.getActivity().onProvideAssistContent(assistContent));
Assert.assertNull(assistContent.getStructuredData());
}
@Test
@MediumTest
@DisabledTest(message = "https://crbug.com/1134812")
@MinAndroidSdkLevel(Build.VERSION_CODES.M)
@Features.EnableFeatures({ChromeFeatureList.TRANSLATE_ASSIST_CONTENT})
public void testAssistContentTranslatablePage() throws TimeoutException, JSONException {
// Load a page that triggers the translate recommendation.
final String url = sActivityTestRule.getTestServer().getURL(TRANSLATE_PAGE);
sActivityTestRule.loadUrl(url);
waitUntilTranslatable();
AssistContent assistContent = new AssistContent();
TestThreadUtils.runOnUiThreadBlocking(
() -> sActivityTestRule.getActivity().onProvideAssistContent(assistContent));
JSONObject structuredData = new JSONObject(assistContent.getStructuredData());
Assert.assertEquals(structuredData.getString(TranslateAssistContent.TYPE_KEY),
TranslateAssistContent.TYPE_VALUE);
Assert.assertEquals(structuredData.getString(TranslateAssistContent.URL_KEY), url);
Assert.assertEquals(structuredData.getString(TranslateAssistContent.IN_LANGUAGE_KEY), "fr");
Assert.assertEquals(
structuredData.getJSONObject(TranslateAssistContent.WORK_TRANSLATION_KEY)
.getString(TranslateAssistContent.IN_LANGUAGE_KEY),
"en");
}
@Test
@MediumTest
@DisabledTest(message = "https://crbug.com/1134812")
@MinAndroidSdkLevel(Build.VERSION_CODES.M)
@Features.EnableFeatures({ChromeFeatureList.TRANSLATE_ASSIST_CONTENT})
public void testAssistContentTranslatedPage() throws TimeoutException, JSONException {
// Load a page that triggers the translate recommendation.
final String url = sActivityTestRule.getTestServer().getURL(TRANSLATE_PAGE);
sActivityTestRule.loadUrl(url);
waitUntilTranslatable();
TestThreadUtils.runOnUiThreadBlocking(
()
-> TranslateBridge.translateTabWhenReady(
sActivityTestRule.getActivity().getActivityTab()));
waitUntilTranslated();
AssistContent assistContent = new AssistContent();
TestThreadUtils.runOnUiThreadBlocking(
() -> sActivityTestRule.getActivity().onProvideAssistContent(assistContent));
JSONObject structuredData = new JSONObject(assistContent.getStructuredData());
Assert.assertEquals(structuredData.getString(TranslateAssistContent.TYPE_KEY),
TranslateAssistContent.TYPE_VALUE);
Assert.assertEquals(structuredData.getString(TranslateAssistContent.URL_KEY), url);
Assert.assertEquals(structuredData.getString(TranslateAssistContent.IN_LANGUAGE_KEY), "en");
Assert.assertEquals(
structuredData.getJSONObject(TranslateAssistContent.TRANSLATION_OF_WORK_KEY)
.getString(TranslateAssistContent.IN_LANGUAGE_KEY),
"fr");
}
@Test
@MediumTest
@DisabledTest(message = "https://crbug.com/1134812")
@MinAndroidSdkLevel(Build.VERSION_CODES.M)
@Features.EnableFeatures({ChromeFeatureList.TRANSLATE_ASSIST_CONTENT})
public void testAssistContentNonTranslatePage() throws TimeoutException, JSONException {
// Load a page that can't be translated.
final String url = sActivityTestRule.getTestServer().getURL(NON_TRANSLATE_PAGE);
sActivityTestRule.loadUrl(url);
AssistContent assistContent = new AssistContent();
TestThreadUtils.runOnUiThreadBlocking(
() -> sActivityTestRule.getActivity().onProvideAssistContent(assistContent));
JSONObject structuredData = new JSONObject(assistContent.getStructuredData());
Assert.assertEquals(structuredData.getString(TranslateAssistContent.TYPE_KEY),
TranslateAssistContent.TYPE_VALUE);
Assert.assertEquals(structuredData.getString(TranslateAssistContent.URL_KEY), url);
Assert.assertFalse(structuredData.has(TranslateAssistContent.IN_LANGUAGE_KEY));
Assert.assertFalse(structuredData.has(TranslateAssistContent.TRANSLATION_OF_WORK_KEY));
Assert.assertFalse(structuredData.has(TranslateAssistContent.WORK_TRANSLATION_KEY));
}
}
...@@ -229,7 +229,6 @@ const base::Feature* kFeaturesExposedToJava[] = { ...@@ -229,7 +229,6 @@ const base::Feature* kFeaturesExposedToJava[] = {
&paint_preview::kPaintPreviewShowOnStartup, &paint_preview::kPaintPreviewShowOnStartup,
&language::kDetailedLanguageSettings, &language::kDetailedLanguageSettings,
&language::kExplicitLanguageAsk, &language::kExplicitLanguageAsk,
&language::kTranslateAssistContent,
&language::kTranslateIntent, &language::kTranslateIntent,
&messages::kMessagesForAndroidInfrastructure, &messages::kMessagesForAndroidInfrastructure,
&offline_pages::kOfflineIndicatorFeature, &offline_pages::kOfflineIndicatorFeature,
......
...@@ -427,7 +427,6 @@ public abstract class ChromeFeatureList { ...@@ -427,7 +427,6 @@ public abstract class ChromeFeatureList {
public static final String TEST_DEFAULT_DISABLED = "TestDefaultDisabled"; public static final String TEST_DEFAULT_DISABLED = "TestDefaultDisabled";
public static final String TEST_DEFAULT_ENABLED = "TestDefaultEnabled"; public static final String TEST_DEFAULT_ENABLED = "TestDefaultEnabled";
public static final String TOUCH_TO_FILL_ANDROID = "TouchToFillAndroid"; public static final String TOUCH_TO_FILL_ANDROID = "TouchToFillAndroid";
public static final String TRANSLATE_ASSIST_CONTENT = "TranslateAssistContent";
public static final String TRANSLATE_INTENT = "TranslateIntent"; public static final String TRANSLATE_INTENT = "TranslateIntent";
public static final String TRUSTED_WEB_ACTIVITY_LOCATION_DELEGATION = public static final String TRUSTED_WEB_ACTIVITY_LOCATION_DELEGATION =
"TrustedWebActivityLocationDelegation"; "TrustedWebActivityLocationDelegation";
......
...@@ -132,40 +132,6 @@ static void JNI_TranslateBridge_SetPredefinedTargetLanguage( ...@@ -132,40 +132,6 @@ static void JNI_TranslateBridge_SetPredefinedTargetLanguage(
client->SetPredefinedTargetLanguage(translate_language); client->SetPredefinedTargetLanguage(translate_language);
} }
static base::android::ScopedJavaLocalRef<jstring>
JNI_TranslateBridge_GetOriginalLanguage(
JNIEnv* env,
const base::android::JavaParamRef<jobject>& j_web_contents) {
content::WebContents* web_contents =
content::WebContents::FromJavaWebContents(j_web_contents);
ChromeTranslateClient* client =
ChromeTranslateClient::FromWebContents(web_contents);
DCHECK(client);
const std::string& original_language_code =
client->GetLanguageState().original_language();
DCHECK(!original_language_code.empty());
base::android::ScopedJavaLocalRef<jstring> j_original_language =
base::android::ConvertUTF8ToJavaString(env, original_language_code);
return j_original_language;
}
static base::android::ScopedJavaLocalRef<jstring>
JNI_TranslateBridge_GetCurrentLanguage(
JNIEnv* env,
const base::android::JavaParamRef<jobject>& j_web_contents) {
content::WebContents* web_contents =
content::WebContents::FromJavaWebContents(j_web_contents);
ChromeTranslateClient* client =
ChromeTranslateClient::FromWebContents(web_contents);
DCHECK(client);
const std::string& current_language_code =
client->GetLanguageState().current_language();
DCHECK(!current_language_code.empty());
base::android::ScopedJavaLocalRef<jstring> j_current_language =
base::android::ConvertUTF8ToJavaString(env, current_language_code);
return j_current_language;
}
// Returns the preferred target language to translate into for this user. // Returns the preferred target language to translate into for this user.
static base::android::ScopedJavaLocalRef<jstring> static base::android::ScopedJavaLocalRef<jstring>
JNI_TranslateBridge_GetTargetLanguage(JNIEnv* env) { JNI_TranslateBridge_GetTargetLanguage(JNIEnv* env) {
......
...@@ -32,8 +32,6 @@ const base::Feature kNotifySyncOnLanguageDetermined{ ...@@ -32,8 +32,6 @@ const base::Feature kNotifySyncOnLanguageDetermined{
"NotifySyncOnLanguageDetermined", base::FEATURE_ENABLED_BY_DEFAULT}; "NotifySyncOnLanguageDetermined", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kDetailedLanguageSettings{ const base::Feature kDetailedLanguageSettings{
"DetailedLanguageSettings", base::FEATURE_DISABLED_BY_DEFAULT}; "DetailedLanguageSettings", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kTranslateAssistContent{"TranslateAssistContent",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kTranslateIntent{"TranslateIntent", const base::Feature kTranslateIntent{"TranslateIntent",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
......
...@@ -39,9 +39,6 @@ extern const base::Feature kUseButtonTranslateBubbleUi; ...@@ -39,9 +39,6 @@ extern const base::Feature kUseButtonTranslateBubbleUi;
// This feature enables setting the application language on Android. // This feature enables setting the application language on Android.
extern const base::Feature kDetailedLanguageSettings; extern const base::Feature kDetailedLanguageSettings;
// This feature enables providing Translate data to Assistant.
extern const base::Feature kTranslateAssistContent;
// This feature enables an intent that starts translating the foreground tab. // This feature enables an intent that starts translating the foreground tab.
extern const base::Feature kTranslateIntent; extern const base::Feature kTranslateIntent;
......
...@@ -72122,19 +72122,6 @@ Full version information for the fingerprint enum values: ...@@ -72122,19 +72122,6 @@ Full version information for the fingerprint enum values:
<int value="30" label="kModuleBlacklistCacheMD5Digest"/> <int value="30" label="kModuleBlacklistCacheMD5Digest"/>
</enum> </enum>
<enum name="TranslateAssistContentResult">
<int value="0" label="The feature was disabled"/>
<int value="1" label="The tab was null"/>
<int value="2" label="The tab was an incognito tab"/>
<int value="3" label="The activity was in overview mode"/>
<int value="4" label="canTranslateTab() was false"/>
<int value="5" label="The original page language was missing"/>
<int value="6" label="The current page language was missing"/>
<int value="7" label="There was a JSONException"/>
<int value="8" label="The page was translatable"/>
<int value="9" label="The page has already been translated"/>
</enum>
<enum name="TranslateBubbleUiEvent"> <enum name="TranslateBubbleUiEvent">
<int value="1" label="Switch to Options page"/> <int value="1" label="Switch to Options page"/>
<int value="2" label="Leave Options page"/> <int value="2" label="Leave Options page"/>
...@@ -650,17 +650,6 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. ...@@ -650,17 +650,6 @@ reviews. Googlers can read more about this at go/gwsq-gerrit.
</summary> </summary>
</histogram> </histogram>
<histogram name="Translate.TranslateAssistContentResult"
enum="TranslateAssistContentResult" expires_after="M90">
<owner>jds@chromium.org</owner>
<owner>chrome-language@google.com</owner>
<summary>
Android: Records the result of assembling translate data to provide to
Assistant via AssistContent. See TranslateAssistContentResult in enums.xml
for possible values.
</summary>
</histogram>
<histogram name="Translate.TranslateFrameCount" units="frames" <histogram name="Translate.TranslateFrameCount" units="frames"
expires_after="M88"> expires_after="M88">
<owner>sclittle@google.com</owner> <owner>sclittle@google.com</owner>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment