Files
cromite/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch

108 lines
6.0 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 | 7 +++++++
...ntroduce-modal-dialog-flag-to-close-all-tabs.inc | 5 +++++
6 files changed, 33 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
@@ -11,6 +11,7 @@ import androidx.annotation.VisibleForTesting;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.build.annotations.NullMarked;
+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;
@@ -38,6 +39,11 @@ public class CloseAllTabsDialog {
Supplier<ModalDialogManager> modalDialogManagerSupplier,
TabModelSelector tabModelSelector,
Runnable onCloseAll) {
+ if (!ChromeFeatureList.isEnabled(ChromeFeatureList.CLOSE_ALL_TABS_MODAL_DIALOG)) {
+ onCloseAll.run();
+ return;
+ }
+
assert modalDialogManagerSupplier.get() != null;
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
@@ -274,6 +274,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kAsyncNotificationManagerForDownload,
&kAutomotiveBackButtonBarStreamline,
&kAuxiliarySearchDonation,
+ &kCloseAllTabsModalDialog,
&kAuxiliarySearchHistoryDonation,
&kAvoidDoubleMultiwindowChanges,
&kBlockIntentsWhileLocked,
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
@@ -384,6 +384,7 @@ public abstract class ChromeFeatureList {
public static final String CLANK_STARTUP_LATENCY_INJECTION = "ClankStartupLatencyInjection";
public static final String CLANK_WHATS_NEW = "ClankWhatsNew";
public static final String CLEAR_INTENT_WHEN_RECREATED = "ClearIntentWhenRecreated";
+ public static final String CLOSE_ALL_TABS_MODAL_DIALOG = "CloseAllTabsModalDialog";
public static final String COMMAND_LINE_ON_NON_ROOTED = "CommandLineOnNonRooted";
public static final String COMMERCE_MERCHANT_VIEWER = "CommerceMerchantViewer";
public static final String COMPOSITOR_VIEW_HOLDER_OBSCURING = "CompositorViewHolderObscuring";
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,7 @@
+#if BUILDFLAG(IS_ANDROID)
+
+CROMITE_FEATURE(kCloseAllTabsModalDialog,
+ "CloseAllTabsModalDialog",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
+#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
--