Bug 924480 - Part 1: Make search_container focusable before browser_toolbar. r=bnicholson
☠☠ backed out by 565c8f1ba90b ☠ ☠
authorMichael Comella <michael.l.comella@gmail.com>
Fri, 18 Oct 2013 09:42:51 -0700
changeset 166059 30b7ebdf5c99c54f0cb6969f4295e97a9638845a
parent 166058 34c0b12b9c10ddc2a18ed7fa892810754c70b62f
child 166060 d8fd745a009558dd0226a0a86b0a589390b7af94
push id428
push userbbajaj@mozilla.com
push dateTue, 28 Jan 2014 00:16:25 +0000
treeherdermozilla-release@cd72a7ff3a75 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbnicholson
bugs924480
milestone27.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 924480 - Part 1: Make search_container focusable before browser_toolbar. r=bnicholson
mobile/android/base/BrowserToolbar.java
mobile/android/base/resources/layout/gecko_app.xml
--- a/mobile/android/base/BrowserToolbar.java
+++ b/mobile/android/base/BrowserToolbar.java
@@ -382,16 +382,17 @@ public class BrowserToolbar extends Geck
                         if (mCommitListener != null) {
                             mCommitListener.onCommit();
                         }
                         return true;
                     }
                 }
 
                 if (keyCode == KeyEvent.KEYCODE_BACK) {
+                    // Drop the virtual keyboard.
                     clearFocus();
                     return true;
                 }
 
                 return false;
             }
         });
 
--- a/mobile/android/base/resources/layout/gecko_app.xml
+++ b/mobile/android/base/resources/layout/gecko_app.xml
@@ -50,30 +50,35 @@
 
         <RelativeLayout android:id="@+id/camera_layout"
                         android:layout_height="wrap_content"
                         android:layout_width="wrap_content"
                         android:layout_alignParentRight="true"
                         android:layout_alignParentBottom="true">
         </RelativeLayout>
 
-        <org.mozilla.gecko.BrowserToolbar android:id="@+id/browser_toolbar"
+        <FrameLayout android:id="@+id/search_container"
+                     android:layout_width="fill_parent"
+                     android:layout_height="fill_parent"
+                     android:layout_below="@+id/browser_toolbar"
+                     android:background="@android:color/white"
+                     android:visibility="invisible"/>
+
+        <!-- When focus is cleared from from BrowserToolbar's EditText to
+             lower the virtual keyboard, focus will be returned to the root
+             view. To make sure the EditText is not the first focusable view in
+             the root view, BrowserToolbar should be specified as low in the
+             view hierarchy as possible. -->
+        <org.mozilla.gecko.BrowserToolbar android:id="@id/browser_toolbar"
                 style="@style/BrowserToolbar"
                 android:layout_width="fill_parent"
                 android:layout_height="@dimen/browser_toolbar_height"
                 android:clickable="true"
                 android:focusable="true"/>
 
-        <FrameLayout android:id="@+id/search_container"
-                     android:layout_width="fill_parent"
-                     android:layout_height="fill_parent"
-                     android:layout_below="@id/browser_toolbar"
-                     android:background="@android:color/white"
-                     android:visibility="invisible"/>
-
     </view>
 
     <LinearLayout android:id="@+id/toast"
                   style="@style/Toast">
 
         <TextView android:id="@+id/toast_message"
                   style="@style/ToastMessage" />