Add-exit-menu-item.patch 3.4 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. .../java/src/org/chromium/chrome/browser/ChromeActivity.java | 2 ++
  8. .../org/chromium/chrome/browser/init/ChromeLifetimeController.java | 6 +++++-
  9. chrome/android/java/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. @@ -80,6 +80,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. @@ -2149,6 +2149,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
  26. } else if (id == R.id.show_menu) {
  27. if (FeatureUtilities.isNoTouchModeEnabled()) return false;
  28. showAppMenuForKeyboardEvent();
  29. + } else if (id == R.id.exit_id) {
  30. + ApplicationLifetime.terminate(false);
  31. } else if (id == R.id.find_in_page_id) {
  32. if (mFindToolbarManager == null) return false;
  33. 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
  34. --- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
  35. +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
  36. @@ -82,7 +82,11 @@ class ChromeLifetimeController implements ApplicationLifetime.Observer,
  37. // Kick off a timer to kill the process after a delay, which fires only if the Activities
  38. // take too long to be finished.
  39. - mHandler.postDelayed(mRestartRunnable, WATCHDOG_DELAY_MS);
  40. + if (restart) {
  41. + mHandler.postDelayed(mRestartRunnable, WATCHDOG_DELAY_MS);
  42. + } else {
  43. + fireBrowserRestartActivityIntent();
  44. + }
  45. }
  46. @Override
  47. diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
  48. --- a/chrome/android/java/strings/android_chrome_strings.grd
  49. +++ b/chrome/android/java/strings/android_chrome_strings.grd
  50. @@ -3148,6 +3148,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
  51. <message name="IDS_MENU_PREFERENCES" desc="Menu item for opening browser preferences. [CHAR-LIMIT=27]">
  52. Settings
  53. </message>
  54. + <message name="IDS_MENU_EXIT" desc="Menu item for exit browser. [CHAR-LIMIT=27]">
  55. + Exit
  56. + </message>
  57. <message name="IDS_MENU_CLOSE_ALL_TABS" desc="Menu item for closing all open tabs. [CHAR-LIMIT=27]">
  58. Close all tabs
  59. </message>
  60. --
  61. 2.11.0