Fix NTP with hardware keyboard

Allow touch events on tablet when the keyboard is focused with a
hardware keyboard.

BUG=811997

Change-Id: I81027c919a292cafa877ffd13556cff65ef63d7a
Reviewed-on: https://chromium-review.googlesource.com/927346
Commit-Queue: Matthew Jones <mdjones@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#538151}(cherry picked from commit 8d53089023276a21700e9b4aac8843dce877dc13)
Reviewed-on: https://chromium-review.googlesource.com/935001
Cr-Commit-Position: refs/branch-heads/3325@{#569}
Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java
index 07aa5b3..09e810d 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java
@@ -24,6 +24,7 @@
 import org.chromium.chrome.browser.preferences.ChromePreferenceManager;
 import org.chromium.chrome.browser.suggestions.SuggestionsRecyclerView;
 import org.chromium.chrome.browser.util.ViewUtils;
+import org.chromium.ui.base.DeviceFormFactor;
 
 /**
  * Simple wrapper on top of a RecyclerView that will acquire focus when tapped.  Ensures the
@@ -94,11 +95,14 @@
 
     @Override
     protected boolean getTouchEnabled() {
+        if (!super.getTouchEnabled()) return false;
+
+        if (DeviceFormFactor.isTablet()) return true;
+
         // The RecyclerView should not accept touch events while the URL bar is focused. This
         // prevents the RecyclerView from requesting focus during the URL focus animation, which
         // would cause the focus animation to be canceled. See https://crbug.com/798084.
-        return super.getTouchEnabled()
-                && (mFakeboxDelegate == null || !mFakeboxDelegate.isUrlBarFocused());
+        return mFakeboxDelegate == null || !mFakeboxDelegate.isUrlBarFocused();
     }
 
     private void scrollToFirstCard() {