Ask user before close all tabs
This commit is contained in:
parent
785af3a5b2
commit
87c9811b0f
1 changed files with 62 additions and 0 deletions
62
build/patches/Ask-user-before-close-all-tabs.patch
Normal file
62
build/patches/Ask-user-before-close-all-tabs.patch
Normal file
|
@ -0,0 +1,62 @@
|
|||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Sat, 20 Nov 2021 17:42:41 +0000
|
||||
Subject: Ask user before close all tabs
|
||||
|
||||
---
|
||||
.../chrome/browser/ChromeTabbedActivity.java | 20 +++++++++++++++++--
|
||||
.../strings/android_chrome_strings.grd | 3 +++
|
||||
2 files changed, 21 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -33,6 +33,7 @@ import androidx.annotation.VisibleForTesting;
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
import androidx.lifecycle.LifecycleObserver;
|
||||
import androidx.lifecycle.LifecycleRegistry;
|
||||
+import androidx.appcompat.app.AlertDialog;
|
||||
|
||||
import org.chromium.base.CallbackController;
|
||||
import org.chromium.base.CommandLine;
|
||||
@@ -2040,8 +2041,23 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
ApplicationLifetime.terminate(false);
|
||||
} else if (id == R.id.close_all_tabs_menu_id) {
|
||||
// Close both incognito and normal tabs
|
||||
- getTabModelSelector().closeAllTabs();
|
||||
- RecordUserAction.record("MobileMenuCloseAllTabs");
|
||||
+ AlertDialog.Builder alert =
|
||||
+ new AlertDialog.Builder(ChromeTabbedActivity.this);
|
||||
+ AlertDialog alertDialog =
|
||||
+ alert.setTitle(R.string.menu_close_all_tabs)
|
||||
+ .setMessage(R.string.menu_ask_to_close_all_tabs)
|
||||
+ .setPositiveButton(android.R.string.ok,
|
||||
+ (dialog, which) -> {
|
||||
+ getTabModelSelector().closeAllTabs();
|
||||
+ dialog.dismiss();
|
||||
+ })
|
||||
+ .setNegativeButton(android.R.string.cancel,
|
||||
+ (dialog, which) -> {
|
||||
+ dialog.dismiss();
|
||||
+ })
|
||||
+ .create();
|
||||
+ alertDialog.getDelegate().setHandleNativeActionModesEnabled(false);
|
||||
+ alertDialog.show();
|
||||
} else if (id == R.id.bookmark_all_tabs_menu_id) {
|
||||
bookmarkAllTabs();
|
||||
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -3333,6 +3333,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<message name="IDS_MENU_CLOSE_ALL_TABS" desc="Menu item for closing all open tabs. [CHAR_LIMIT=27]">
|
||||
Close all tabs
|
||||
</message>
|
||||
+ <message name="IDS_MENU_ASK_TO_CLOSE_ALL_TABS" desc="Label for the notice of closing all open tabs. [CHAR_LIMIT=27]">
|
||||
+ Do you want to close all tabs?
|
||||
+ </message>
|
||||
<message name="IDS_MENU_CLOSE_ALL_INCOGNITO_TABS" desc="Menu item for closing all open Incognito tabs. [CHAR_LIMIT=27]">
|
||||
Close Incognito tabs
|
||||
</message>
|
||||
--
|
||||
2.20.1
|
||||
|
Loading…
Add table
Reference in a new issue