Files
cromite/build/patches/Disable-smart-selection-by-default.patch
2024-03-15 16:24:42 +01:00

92 lines
5.7 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.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../browser/contextualsearch/SelectionClientManager.java | 4 +++-
chrome/browser/flags/android/chrome_feature_list.cc | 1 +
.../org/chromium/chrome/browser/flags/ChromeFeatureList.java | 1 +
.../browser/selection/SelectionPopupControllerImpl.java | 1 -
.../disable-smart-selection-by-default.inc | 3 +++
.../disable-smart-selection-by-default.inc | 1 +
6 files changed, 9 insertions(+), 2 deletions(-)
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/disable-smart-selection-by-default.inc
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/disable-smart-selection-by-default.inc
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
@@ -183,6 +183,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCCTEmbedderSpecialBehaviorTrigger,
&kCCTExtendTrustedCdnPublisher,
&kCCTFeatureUsage,
+ &kChromeSmartSelection,
&kCCTIncognitoAvailableToThirdParty,
&kCCTIntentFeatureOverrides,
&kCCTMinimized,
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
@@ -220,6 +220,7 @@ public abstract class ChromeFeatureList {
public static final String CCT_MINIMIZED_ENABLED_BY_DEFAULT = "CCTMinimizedEnabledByDefault";
public static final String CCT_INTENT_FEATURE_OVERRIDES = "CCTIntentFeatureOverrides";
public static final String CCT_PAGE_INSIGHTS_HUB = "CCTPageInsightsHub";
+ public static final String CHROME_SMART_SELECTION = "ChromeSmartSelection";
public static final String CCT_PAGE_INSIGHTS_HUB_BETTER_SCROLL =
"CCTPageInsightsHubBetterScroll";
public static final String CCT_REPORT_PARALLEL_REQUEST_STATUS =
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
@@ -1172,7 +1172,6 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
public boolean canWebSearch() {
return hasSelection()
&& !isFocusedNodeEditable()
- && !isIncognito()
&& isSelectActionModeAllowed(MENU_ITEM_WEB_SEARCH);
}
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/disable-smart-selection-by-default.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/disable-smart-selection-by-default.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/disable-smart-selection-by-default.inc
@@ -0,0 +1,3 @@
+CROMITE_FEATURE(kChromeSmartSelection,
+ "ChromeSmartSelection",
+ base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/disable-smart-selection-by-default.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/disable-smart-selection-by-default.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/disable-smart-selection-by-default.inc
@@ -0,0 +1 @@
+BASE_DECLARE_FEATURE(kChromeSmartSelection);
--