121 lines
6.4 KiB
Diff
121 lines
6.4 KiB
Diff
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
|
Date: Fri, 24 Jan 2020 19:17:22 +0100
|
|
Subject: Disable smart selection by default
|
|
|
|
Allow web search in incognito mode; Smart Selection still
|
|
disabled in incognito as per upstream.
|
|
|
|
Partial revert of da1d809c003749846cb4ade8c11b6d038e44416b to restore
|
|
the ChromeSmartSelection feature flag.
|
|
---
|
|
.../contextualsearch/SelectionClientManager.java | 4 +++-
|
|
.../browser/flags/android/chrome_feature_list.cc | 4 ++++
|
|
.../browser/flags/android/chrome_feature_list.h | 1 +
|
|
.../chrome/browser/flags/ChromeFeatureList.java | 1 +
|
|
.../selection/SelectionPopupControllerImpl.java | 2 +-
|
|
testing/variations/fieldtrial_testing_config.json | 15 +++++++++++++++
|
|
6 files changed, 25 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java
|
|
@@ -10,6 +10,7 @@ import android.view.textclassifier.TextClassifier;
|
|
import androidx.annotation.Nullable;
|
|
import androidx.annotation.VisibleForTesting;
|
|
|
|
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
|
import org.chromium.content_public.browser.SelectAroundCaretResult;
|
|
import org.chromium.content_public.browser.SelectionClient;
|
|
import org.chromium.content_public.browser.SelectionEventProcessor;
|
|
@@ -45,7 +46,8 @@ public class SelectionClientManager {
|
|
* @param webContents The {@link WebContents} that will show popups for this client.
|
|
*/
|
|
SelectionClientManager(WebContents webContents) {
|
|
- if (Build.VERSION.SDK_INT > Build.VERSION_CODES.O) {
|
|
+ if (ChromeFeatureList.isEnabled(ChromeFeatureList.CHROME_SMART_SELECTION)
|
|
+ && Build.VERSION.SDK_INT > Build.VERSION_CODES.O) {
|
|
assert webContents != null;
|
|
mOptionalSelectionClient = SelectionClient.createSmartSelectionClient(webContents);
|
|
SelectionPopupController controller =
|
|
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
|
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
|
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
|
@@ -181,6 +181,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
|
&kCCTClientDataHeader,
|
|
&kCCTExternalLinkHandling,
|
|
&kCCTIncognito,
|
|
+ &kChromeSmartSelection,
|
|
&kCCTIncognitoAvailableToThirdParty,
|
|
&kCCTNewDownloadTab,
|
|
&kCCTPostMessageAPI,
|
|
@@ -524,6 +525,9 @@ const base::Feature kChromeSharingHubLaunchAdjacent{
|
|
const base::Feature kChromeSurveyNextAndroid{"ChromeSurveyNextAndroid",
|
|
base::FEATURE_ENABLED_BY_DEFAULT};
|
|
|
|
+const base::Feature kChromeSmartSelection{"ChromeSmartSelection",
|
|
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
|
+
|
|
const base::Feature kCommandLineOnNonRooted{"CommandLineOnNonRooted",
|
|
base::FEATURE_DISABLED_BY_DEFAULT};
|
|
|
|
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
|
|
--- a/chrome/browser/flags/android/chrome_feature_list.h
|
|
+++ b/chrome/browser/flags/android/chrome_feature_list.h
|
|
@@ -53,6 +53,7 @@ extern const base::Feature kDontAutoHideBrowserControls;
|
|
extern const base::Feature kChromeNewDownloadTab;
|
|
extern const base::Feature kChromeShareLongScreenshot;
|
|
extern const base::Feature kChromeShareScreenshot;
|
|
+extern const base::Feature kChromeSmartSelection;
|
|
extern const base::Feature kChromeSharingHub;
|
|
extern const base::Feature kChromeSharingHubLaunchAdjacent;
|
|
extern const base::Feature kChromeSurveyNextAndroid;
|
|
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
|
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
|
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
|
@@ -246,6 +246,7 @@ public abstract class ChromeFeatureList {
|
|
public static final String CCT_NEW_DOWNLOAD_TAB = "CCTNewDownloadTab";
|
|
public static final String CCT_POST_MESSAGE_API = "CCTPostMessageAPI";
|
|
public static final String CCT_REDIRECT_PRECONNECT = "CCTRedirectPreconnect";
|
|
+ public static final String CHROME_SMART_SELECTION = "ChromeSmartSelection";
|
|
public static final String CCT_REMOVE_REMOTE_VIEW_IDS = "CCTRemoveRemoteViewIds";
|
|
public static final String CCT_RESIZABLE_90_MAXIMUM_HEIGHT = "CCTResizable90MaximumHeight";
|
|
public static final String CCT_RESIZABLE_ALLOW_RESIZE_BY_USER_GESTURE =
|
|
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
|
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
|
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
|
|
@@ -840,7 +840,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
|
|
menu.removeItem(R.id.select_action_menu_share);
|
|
}
|
|
|
|
- if (isFocusedNodeEditable() || isIncognito()
|
|
+ if (isFocusedNodeEditable()
|
|
|| !isSelectActionModeAllowed(MENU_ITEM_WEB_SEARCH)) {
|
|
menu.removeItem(R.id.select_action_menu_web_search);
|
|
}
|
|
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
|
|
--- a/testing/variations/fieldtrial_testing_config.json
|
|
+++ b/testing/variations/fieldtrial_testing_config.json
|
|
@@ -1962,6 +1962,21 @@
|
|
]
|
|
}
|
|
],
|
|
+ "ChromeSmartSelection": [
|
|
+ {
|
|
+ "platforms": [
|
|
+ "android"
|
|
+ ],
|
|
+ "experiments": [
|
|
+ {
|
|
+ "name": "Enabled_Launch",
|
|
+ "enable_features": [
|
|
+ "ChromeSmartSelection"
|
|
+ ]
|
|
+ }
|
|
+ ]
|
|
+ }
|
|
+ ],
|
|
"ChromeStart": [
|
|
{
|
|
"platforms": [
|
|
--
|
|
2.25.1
|