Support fallback key events

 Bug: 6023055

Change-Id: Ifc36425d6b09d0938f7e08176a749159c27fe088
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index fcbe387..3ebaa28 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -945,14 +945,15 @@
     }
 
     @Override
-    public void onUnhandledKeyEvent(KeyEvent event) {
+    public boolean onUnhandledKeyEvent(KeyEvent event) {
         if (!isActivityPaused()) {
             if (event.getAction() == KeyEvent.ACTION_DOWN) {
-                mActivity.onKeyDown(event.getKeyCode(), event);
+                return mActivity.onKeyDown(event.getKeyCode(), event);
             } else {
-                mActivity.onKeyUp(event.getKeyCode(), event);
+                return mActivity.onKeyUp(event.getKeyCode(), event);
             }
         }
+        return false;
     }
 
     @Override
diff --git a/src/com/android/browser/PreloadController.java b/src/com/android/browser/PreloadController.java
index 0efe119..66b89f4 100644
--- a/src/com/android/browser/PreloadController.java
+++ b/src/com/android/browser/PreloadController.java
@@ -130,8 +130,9 @@
     }
 
     @Override
-    public void onUnhandledKeyEvent(KeyEvent event) {
+    public boolean onUnhandledKeyEvent(KeyEvent event) {
         if (LOGD_ENABLED) Log.d(LOGTAG, "onUnhandledKeyEvent()");
+        return false;
     }
 
     @Override
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index 04bee08..62f9548 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -895,7 +895,9 @@
             if (!mInForeground) {
                 return;
             }
-            mWebViewController.onUnhandledKeyEvent(event);
+            if (!mWebViewController.onUnhandledKeyEvent(event)) {
+                super.onUnhandledKeyEvent(view, event);
+            }
         }
 
         @Override
diff --git a/src/com/android/browser/WebViewController.java b/src/com/android/browser/WebViewController.java
index 30eec4f..235fe97 100644
--- a/src/com/android/browser/WebViewController.java
+++ b/src/com/android/browser/WebViewController.java
@@ -63,7 +63,7 @@
 
     boolean shouldOverrideKeyEvent(KeyEvent event);
 
-    void onUnhandledKeyEvent(KeyEvent event);
+    boolean onUnhandledKeyEvent(KeyEvent event);
 
     void doUpdateVisitedHistory(Tab tab, boolean isReload);