108 lines
6.0 KiB
Diff
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
|
|
--
|