123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- 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 (reverts
- commit 48d4ae54f7565c429bf29cd63806aee5d7e93e69)
- Partial revert of da1d809c003749846cb4ade8c11b6d038e44416b to restore
- the ChromeSmartSelection feature flag.
- Notice that re-enabling smart selection would make incognito mode potentially
- leak information through the TextClassifier set by OEM, if any
- ---
- .../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.SelectionClient;
- import org.chromium.content_public.browser.SelectionEventProcessor;
- import org.chromium.content_public.browser.SelectionPopupController;
- @@ -44,7 +45,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
- @@ -182,6 +182,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
- &kCCTClientDataHeader,
- &kCCTExternalLinkHandling,
- &kCCTIncognito,
- + &kChromeSmartSelection,
- &kCCTIncognitoAvailableToThirdParty,
- &kCCTPostMessageAPI,
- &kCCTRedirectPreconnect,
- @@ -500,6 +501,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
- @@ -49,6 +49,7 @@ extern const base::Feature kCCTResourcePrefetch;
- extern const base::Feature kDontAutoHideBrowserControls;
- 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
- @@ -255,6 +255,7 @@ public abstract class ChromeFeatureList {
- public static final String CCT_EXTERNAL_LINK_HANDLING = "CCTExternalLinkHandling";
- 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
- @@ -839,7 +839,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
- @@ -1975,6 +1975,21 @@
- ]
- }
- ],
- + "ChromeSmartSelection": [
- + {
- + "platforms": [
- + "android"
- + ],
- + "experiments": [
- + {
- + "name": "Enabled_Launch",
- + "enable_features": [
- + "ChromeSmartSelection"
- + ]
- + }
- + ]
- + }
- + ],
- "ChromeStart": [
- {
- "platforms": [
- --
- 2.20.1
|