From: Serg Date: Tue, 31 Jan 2017 22:12:27 -0500 Subject: Add exit menu item Corrected Exit functionality --- chrome/android/java/res/menu/main_menu.xml | 2 ++ .../src/org/chromium/chrome/browser/ChromeActivity.java | 2 ++ .../chrome/browser/init/ChromeLifetimeController.java | 6 +++++- .../browser/ui/android/strings/android_chrome_strings.grd | 3 +++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml --- a/chrome/android/java/res/menu/main_menu.xml +++ b/chrome/android/java/res/menu/main_menu.xml @@ -87,6 +87,8 @@ android:title="@string/menu_help" /> + diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java @@ -2044,6 +2044,8 @@ public abstract class ChromeActivity AddToHomescreenCoordinator.showForAppMenu( this, getWindowAndroid(), getModalDialogManager(), currentTab.getWebContents()); RecordUserAction.record("MobileMenuAddToHomescreen"); + } else if (id == R.id.exit_id) { + ApplicationLifetime.terminate(false); } else if (id == R.id.open_webapk_id) { Context context = ContextUtils.getApplicationContext(); String packageName = diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java --- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java @@ -82,7 +82,11 @@ class ChromeLifetimeController implements ApplicationLifetime.Observer, // Kick off a timer to kill the process after a delay, which fires only if the Activities // take too long to be finished. - mHandler.postDelayed(mRestartRunnable, WATCHDOG_DELAY_MS); + if (restart) { + mHandler.postDelayed(mRestartRunnable, WATCHDOG_DELAY_MS); + } else { + fireBrowserRestartActivityIntent(); + } } @Override 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 @@ -2818,6 +2818,9 @@ To change this setting, <resetlink>reset sync

Settings + + Exit + Close all tabs -- 2.17.1