Tab manager view should hide on press of back key

Currently when tab manager is shown and user presses back key
then instead of hiding tab manager page is navigated to previous
entry. If there is nothing to navigate then application is exited.
Added code to hide tab manager view if back key is pressed and tab
manager view is on.

BUG=

Review URL: https://codereview.chromium.org/689583002

Cr-Commit-Position: refs/heads/master@{#302222}
diff --git a/chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellActivity.java b/chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellActivity.java
index 618651d..c8fbd01 100644
--- a/chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellActivity.java
+++ b/chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellActivity.java
@@ -204,13 +204,16 @@
     @Override
     public boolean onKeyUp(int keyCode, KeyEvent event) {
         if (keyCode == KeyEvent.KEYCODE_BACK) {
+            if (mTabManager.isTabSwitcherVisible()) {
+                mTabManager.hideTabSwitcher();
+                return true;
+            }
             ChromeShellTab tab = getActiveTab();
             if (tab != null && tab.canGoBack()) {
                 tab.goBack();
                 return true;
             }
         }
-
         return super.onKeyUp(keyCode, event);
     }
 
diff --git a/chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellTabModelSelector.java b/chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellTabModelSelector.java
index 8c354c6..d33ec0f 100644
--- a/chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellTabModelSelector.java
+++ b/chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellTabModelSelector.java
@@ -137,7 +137,7 @@
         }
     }
 
-    private boolean isTabSwitcherVisible() {
+    public boolean isTabSwitcherVisible() {
         return mTabModelWrapper != null && mTabModelWrapper.getParent() == mParent;
     }
 }
diff --git a/chrome/android/shell/java/src/org/chromium/chrome/shell/TabManager.java b/chrome/android/shell/java/src/org/chromium/chrome/shell/TabManager.java
index 8dc755b..272b91d 100644
--- a/chrome/android/shell/java/src/org/chromium/chrome/shell/TabManager.java
+++ b/chrome/android/shell/java/src/org/chromium/chrome/shell/TabManager.java
@@ -190,6 +190,14 @@
         mTabModelSelector.toggleTabSwitcher();
     }
 
+    public boolean isTabSwitcherVisible() {
+        return mTabModelSelector.isTabSwitcherVisible();
+    }
+
+    public void hideTabSwitcher() {
+        mTabModelSelector.hideTabSwitcher();
+    }
+
     /**
      * Opens a URL in the current tab if one exists, or in a new tab otherwise.
      * @param url The URL to open.