Add-exit-menu-item.patch 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. From: Serg <serg.zhukovsky@gmail.com>
  2. Date: Tue, 31 Jan 2017 22:12:27 -0500
  3. Subject: Add exit menu item
  4. Corrected Exit functionality
  5. ---
  6. chrome/android/java/res/menu/main_menu.xml | 2 ++
  7. .../src/org/chromium/chrome/browser/ChromeActivity.java | 2 ++
  8. .../chrome/browser/init/ChromeLifetimeController.java | 6 +++++-
  9. .../browser/ui/android/strings/android_chrome_strings.grd | 3 +++
  10. 4 files changed, 12 insertions(+), 1 deletion(-)
  11. diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
  12. --- a/chrome/android/java/res/menu/main_menu.xml
  13. +++ b/chrome/android/java/res/menu/main_menu.xml
  14. @@ -87,6 +87,8 @@
  15. android:title="@string/menu_help" />
  16. <item android:id="@+id/enter_vr_id"
  17. android:title="@string/enter_vr" />
  18. + <item android:id="@+id/exit_id"
  19. + android:title="@string/menu_exit" />
  20. </group>
  21. <!-- Items shown only in the tab switcher -->
  22. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
  23. --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
  24. +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
  25. @@ -1960,6 +1960,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
  26. AddToHomescreenCoordinator.showForAppMenu(
  27. this, getWindowAndroid(), getModalDialogManager(), currentTab.getWebContents());
  28. RecordUserAction.record("MobileMenuAddToHomescreen");
  29. + } else if (id == R.id.exit_id) {
  30. + ApplicationLifetime.terminate(false);
  31. } else if (id == R.id.open_webapk_id) {
  32. Context context = ContextUtils.getApplicationContext();
  33. String packageName =
  34. 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
  35. --- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
  36. +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
  37. @@ -82,7 +82,11 @@ class ChromeLifetimeController implements ApplicationLifetime.Observer,
  38. // Kick off a timer to kill the process after a delay, which fires only if the Activities
  39. // take too long to be finished.
  40. - mHandler.postDelayed(mRestartRunnable, WATCHDOG_DELAY_MS);
  41. + if (restart) {
  42. + mHandler.postDelayed(mRestartRunnable, WATCHDOG_DELAY_MS);
  43. + } else {
  44. + fireBrowserRestartActivityIntent();
  45. + }
  46. }
  47. @Override
  48. diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
  49. --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
  50. +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
  51. @@ -2843,6 +2843,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
  52. <message name="IDS_MENU_SETTINGS" desc="Menu item for opening browser settings. [CHAR-LIMIT=27]">
  53. Settings
  54. </message>
  55. + <message name="IDS_MENU_EXIT" desc="Menu item for exit browser. [CHAR-LIMIT=27]">
  56. + Exit
  57. + </message>
  58. <message name="IDS_MENU_CLOSE_ALL_TABS" desc="Menu item for closing all open tabs. [CHAR-LIMIT=27]">
  59. Close all tabs
  60. </message>
  61. --
  62. 2.17.1