Files
cromite/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
2024-03-15 16:24:42 +01:00

110 lines
5.9 KiB
Diff

From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon, 8 Aug 2022 02:35:35 +0200
Subject: Re-introduce modal dialog flag to close all tabs
Revert "[Tab Management] Cleanup close all tabs modal dialog flags"
This reverts commit 614a998c5af5dcd36baffa6d65090c0b8decb03f.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../tasks/tab_management/CloseAllTabsDialog.java | 6 ++++++
chrome/browser/flags/android/chrome_feature_list.cc | 1 +
.../chrome/browser/flags/ChromeFeatureList.java | 1 +
...ntroduce-modal-dialog-flag-to-close-all-tabs.inc | 13 +++++++++++++
...ntroduce-modal-dialog-flag-to-close-all-tabs.inc | 9 +++++++++
...ntroduce-modal-dialog-flag-to-close-all-tabs.inc | 5 +++++
6 files changed, 35 insertions(+)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/CloseAllTabsDialog.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/CloseAllTabsDialog.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/CloseAllTabsDialog.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/CloseAllTabsDialog.java
@@ -12,6 +12,7 @@ import androidx.annotation.VisibleForTesting;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.base.supplier.Supplier;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.ui.modaldialog.DialogDismissalCause;
@@ -35,6 +36,11 @@ public class CloseAllTabsDialog {
Supplier<ModalDialogManager> modalDialogManagerSupplier,
@NonNull TabModelSelector tabModelSelector,
Runnable onCloseAll) {
+ if (!ChromeFeatureList.isEnabled(ChromeFeatureList.CLOSE_ALL_TABS_MODAL_DIALOG)) {
+ onCloseAll.run();
+ return;
+ }
+
assert modalDialogManagerSupplier.hasValue();
final ModalDialogManager manager = modalDialogManagerSupplier.get();
final boolean isIncognito = tabModelSelector.getCurrentModel().isIncognito();
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
@@ -171,6 +171,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kBackGestureActivityTabProvider,
&kBackGestureMoveToBackDuringStartup,
&kBackGestureRefactorAndroid,
+ &kCloseAllTabsModalDialog,
&kBackgroundThreadPool,
&kBlockIntentsWhileLocked,
&kCacheActivityTaskID,
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
@@ -225,6 +225,7 @@ public abstract class ChromeFeatureList {
"CCTPageInsightsHubBetterScroll";
public static final String CCT_REPORT_PARALLEL_REQUEST_STATUS =
"CCTReportParallelRequestStatus";
+ public static final String CLOSE_ALL_TABS_MODAL_DIALOG = "CloseAllTabsModalDialog";
public static final String CCT_RESIZABLE_FOR_THIRD_PARTIES = "CCTResizableForThirdParties";
public static final String CCT_RESIZABLE_SIDE_SHEET = "CCTResizableSideSheet";
public static final String CCT_RESIZABLE_SIDE_SHEET_FOR_THIRD_PARTIES =
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc b/cromite_flags/chrome/browser/about_flags_cc/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/about_flags_cc/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc
@@ -0,0 +1,13 @@
+#if BUILDFLAG(IS_ANDROID)
+
+#ifdef FLAG_SECTION
+
+ {"close-all-tabs-modal-dialog",
+ "Close all tabs modal dialog",
+ "Shows a confirmation modal dialog when clicking 'Close all tabs' in the"
+ "app menu.", kOsAndroid,
+ FEATURE_VALUE_TYPE(chrome::android::kCloseAllTabsModalDialog)},
+
+#endif
+
+#endif
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc
@@ -0,0 +1,9 @@
+#if BUILDFLAG(IS_ANDROID)
+
+CROMITE_FEATURE(kCloseAllTabsModalDialog,
+ "CloseAllTabsModalDialog",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
+SET_CROMITE_FEATURE_ENABLED(kArchiveTabService);
+
+#endif
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc
@@ -0,0 +1,5 @@
+#if BUILDFLAG(IS_ANDROID)
+
+BASE_DECLARE_FEATURE(kCloseAllTabsModalDialog);
+
+#endif
--