am 52e7598c: (-s ours) Import revised translations.  DO NOT MERGE

* commit '52e7598c3df2682aa41e7034545d8d6bd41da20d':
  Import revised translations.  DO NOT MERGE
diff --git a/res/layout/bookmarkthumbnailwidget.xml b/res/layout/bookmarkthumbnailwidget.xml
index 967e4c1..0bff98e 100644
--- a/res/layout/bookmarkthumbnailwidget.xml
+++ b/res/layout/bookmarkthumbnailwidget.xml
@@ -16,38 +16,28 @@
 <RelativeLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:paddingTop="0dip"
-    android:paddingBottom="3dip"
-    android:paddingLeft="0dip"
-    android:paddingRight="0dip">
+    android:layout_height="match_parent">
     <GridView
         android:id="@+id/bookmarks_list"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:numColumns="auto_fit"
         android:columnWidth="@dimen/widgetColumnWidth"
-        android:paddingTop="6dip"
-        android:paddingRight="7dip"
-        android:paddingLeft="7dip"
         android:stretchMode="columnWidth"
         android:horizontalSpacing="@dimen/widgetHorizontalSpacing"
         android:verticalSpacing="@dimen/widgetVerticalSpacing"
         android:drawSelectorOnTop="true"
         android:listSelector="@drawable/bookmark_widget_thumb_selector"
-        android:fadingEdgeLength="24dp"
-        android:scrollbarStyle="outsideOverlay"
         android:background="@drawable/bg_bookmarks_widget_holo" />
 
     <ImageButton
         android:id="@+id/app_shortcut"
-        android:layout_width="56dip"
-        android:layout_height="56dip"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
         android:layout_alignParentBottom="true"
         android:layout_alignParentRight="true"
         android:layout_marginRight="4dip"
-        android:layout_marginBottom="6dip"
-        android:scaleType="centerInside"
+        android:layout_marginBottom="4dip"
         android:src="@mipmap/ic_launcher_browser"
         android:background="@drawable/bookmark_widget_thumb_selector"
         android:padding="4dip" />
diff --git a/res/layout/nav_screen.xml b/res/layout/nav_screen.xml
index baabcc7..0ea332f 100644
--- a/res/layout/nav_screen.xml
+++ b/res/layout/nav_screen.xml
@@ -19,7 +19,6 @@
     android:id="@+id/nav_screen"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:orientation="vertical"
     android:background="@drawable/browser_background_holo">
     <com.android.browser.NavTabGallery
         android:id="@+id/scroller"
@@ -30,7 +29,8 @@
         android:id="@+id/tabbar"
         android:orientation="horizontal"
         android:layout_width="match_parent"
-        android:layout_height="44dip"
+        android:layout_height="@dimen/toolbar_height"
+        android:layout_gravity="top"
         android:gravity="right"
         android:background="#C0404040">
         <ImageButton
diff --git a/res/menu/browser.xml b/res/menu/browser.xml
index 7d288c1..2b651c3 100644
--- a/res/menu/browser.xml
+++ b/res/menu/browser.xml
@@ -50,21 +50,30 @@
             android:icon="@drawable/ic_bookmarks_history_holo_dark"
             android:alphabeticShortcut="b"
             android:visible="@bool/menu_show_bookmarks" />
-        <item
-            android:id="@+id/share_page_menu_id"
-            android:title="@string/share_page"
-            android:icon="@drawable/ic_share_holo_dark"
-            android:alphabeticShortcut="s" />
-        <item
-            android:id="@+id/find_menu_id"
-            android:title="@*android:string/find_on_page"/>
-        <item
-            android:id="@+id/ua_desktop_menu_id"
-            android:checkable="true"
-            android:title="@string/ua_switcher_desktop" />
-        <item
-            android:id="@+id/save_snapshot_menu_id"
-            android:title="@string/menu_save_snapshot" />
+        <group
+            android:id="@+id/LIVE_MENU">
+            <item
+                android:id="@+id/share_page_menu_id"
+                android:title="@string/share_page"
+                android:icon="@drawable/ic_share_holo_dark"
+                android:alphabeticShortcut="s" />
+            <item
+                android:id="@+id/find_menu_id"
+                android:title="@*android:string/find_on_page"/>
+            <item
+                android:id="@+id/ua_desktop_menu_id"
+                android:checkable="true"
+                android:title="@string/ua_switcher_desktop" />
+            <item
+                android:id="@+id/save_snapshot_menu_id"
+                android:title="@string/menu_save_snapshot" />
+        </group>
+        <group
+            android:id="@+id/SNAPSHOT_MENU">
+            <item
+                android:id="@+id/snapshot_go_live"
+                android:title="@string/snapshot_go_live" />
+        </group>
         <item
             android:id="@+id/page_info_menu_id"
             android:title="@string/page_info" />
diff --git a/res/menu/snapshot_go_live.xml b/res/menu/snapshot_go_live.xml
deleted file mode 100644
index aa6b38e..0000000
--- a/res/menu/snapshot_go_live.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
-    <item
-        android:id="@+id/snapshot_go_live"
-        android:title="@string/snapshot_go_live" />
-</menu>
-
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index e442691..24f8bb0 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -402,7 +402,7 @@
     <string name="accessibility_button_forward" msgid="1236827218480658168">"Maju"</string>
     <string name="accessibility_button_refresh" msgid="1023441396241841313">"Menyegarkan laman"</string>
     <string name="accessibility_button_stop" msgid="6793644120043222148">"Menghentikan pemuatan laman"</string>
-    <string name="accessibility_button_addbookmark" msgid="4787844912630006181">"Bookmark laman"</string>
+    <string name="accessibility_button_addbookmark" msgid="4787844912630006181">"Mem-bookmark laman"</string>
     <string name="accessibility_button_search" msgid="5357014102136055376">"Penelusuran"</string>
     <string name="accessibility_button_voice" msgid="152016375096083337">"Memulai penelusuran suara"</string>
     <string name="accessibility_button_bookmarks" msgid="7435055677299151649">"Mem-bookmark"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index fe1e151..a5d1720 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -146,7 +146,7 @@
     <item msgid="844041670142910837">"Ukurasa uliopo"</item>
     <item msgid="4430498748295169195">"Ukurasa mtupu"</item>
     <item msgid="5747608191946904074">"Ukurasa chaguo-msingi"</item>
-    <item msgid="6092441301001006473">"Tovuti zilizotembelewa zaidi"</item>
+    <item msgid="6092441301001006473">"Wavuti uliotembelewa zaidi"</item>
     <item msgid="5021822752506507426">"Nyinginezo…"</item>
   </string-array>
     <string name="pref_content_autofit" msgid="8260474534053660809">"Kuweka kiotomatiki kurasa"</string>
@@ -226,7 +226,7 @@
     <item msgid="5043128215356351184">"Kubwa"</item>
     <item msgid="7201512237890458902">"Kubwa mno"</item>
   </string-array>
-    <string name="pref_min_font_size" msgid="8811125835817449131">"Ukubwa wa chini wa fonti"</string>
+    <string name="pref_min_font_size" msgid="8811125835817449131">"Wastani wa ukubwa wa fonti"</string>
     <string name="pref_min_font_size_value" msgid="2924708480509060209">"pt <xliff:g id="FONT_SIZE">%d</xliff:g>"</string>
     <string name="pref_text_zoom" msgid="8387229123479610157">"Kuza maandishi"</string>
     <string name="pref_force_userscalable" msgid="5641500562399892621">"Lazimishakuwezesha kukuza"</string>
@@ -273,9 +273,9 @@
     <string name="pref_use_instant_search" msgid="1119176077760723740">"Google Moja kwa moja"</string>
     <string name="pref_use_instant_search_summary" msgid="839320474961917522">"Tumia Google Moja kwa moja unapotumia Google Search, ili kuonyesha matokeo unapokiwaukichapisha (hii inaweza kuongeza kuongeza data inayotumika)"</string>
     <string name="pref_lab_fullscreen" msgid="8173609016657987973">"Skrini nzima"</string>
-    <string name="pref_lab_fullscreen_summary" msgid="6853711692160711419">"Tumia hali ya skrini nzima ili kuficha mwamba hali."</string>
+    <string name="pref_lab_fullscreen_summary" msgid="6853711692160711419">"Tumia modi ya skrini nzima ili kuficha mwamba hali."</string>
     <string name="pref_data_title" msgid="750316606686075162">"Udhibitii wa Kipimo-Data"</string>
-    <string name="pref_data_preload_title" msgid="4479320472980292873">"Matokeo ya utafutaji yanapakia awali"</string>
+    <string name="pref_data_preload_title" msgid="4479320472980292873">"Matokeo ya utafutaji yanapakia kabla"</string>
   <string-array name="pref_data_preload_choices">
     <item msgid="5180466923190095508">"kamwe"</item>
     <item msgid="1791664748778640002">"kwenye Wi-Fi tu"</item>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 14ee991..5f7e273 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -101,7 +101,7 @@
     <string name="history" msgid="2451240511251410032">"Umlando"</string>
     <string name="menu_view_download" msgid="2124570321712995120">"Okulayishiwe"</string>
     <string name="copy_page_url" msgid="7635062169011319208">"Kopisha i-url yekhasi"</string>
-    <string name="share_page" msgid="593756995297268343">"Yabelana ngekhasi"</string>
+    <string name="share_page" msgid="593756995297268343">"Yabelana nekhasi"</string>
     <string name="menu_save_snapshot" msgid="6935080344031126139">"Gcina ukufunda ungaxhumekile kwi-inthanethi"</string>
     <string name="snapshot_failed" msgid="4584580873565876033">"Angikwazanga ukulondolozela ukufunda ngaphandle kwe-inthanethi."</string>
     <string name="contextheader_folder_bookmarkcount" msgid="353987136645619089">"<xliff:g id="BOOKMARK_COUNT">%d</xliff:g> amabhukimakhi"</string>
@@ -110,7 +110,7 @@
     <string name="contextmenu_openlink_newwindow" msgid="1205313604181761403">"Vula kwisithikithana esitsha"</string>
     <string name="contextmenu_openlink_newwindow_background" msgid="4690381019116746687">"Vula kwisithikithana sangemuva"</string>
     <string name="contextmenu_savelink" msgid="5508554930832538184">"Londoloza isihlanganisi"</string>
-    <string name="contextmenu_sharelink" msgid="5392275392280130331">"Yabelana ngesihlanganisi"</string>
+    <string name="contextmenu_sharelink" msgid="5392275392280130331">"Yabelana nesihlanganisi"</string>
     <string name="contextmenu_copy" msgid="398860586635404030">"Kopisha"</string>
     <string name="contextmenu_copylink" msgid="5153657160294534270">"Kopisha isihlanganisi se-URL"</string>
     <string name="contextmenu_download_image" msgid="4243829645180686912">"Londoloza isithombe"</string>
@@ -270,7 +270,7 @@
     <string name="pref_lab_title" msgid="5571091610359629423">"Amalebhu"</string>
     <string name="pref_lab_quick_controls" msgid="3267606522082281367">"Izilawuli ezisheshayo"</string>
     <string name="pref_lab_quick_controls_summary" msgid="1564546156544675707">"Swayipha isithupha kusuka ekucupheleni okwesobunxele kuya kokwesokudla ukuze ufinyelele izimpathi ngokushesha bese ufihla izinhlelo zokusebenza namabha e-URL."</string>
-    <string name="pref_use_instant_search" msgid="1119176077760723740">"Google Instant"</string>
+    <string name="pref_use_instant_search" msgid="1119176077760723740">"I-Google Instant"</string>
     <string name="pref_use_instant_search_summary" msgid="839320474961917522">"Sebenzisa i-Google Instant uma usebenzisa Usesho lwe-Google, ukubonisa imiphumelo njengoba uthayipha (lokhu kungakhuphula ukusetshenziswa kwedatha)."</string>
     <string name="pref_lab_fullscreen" msgid="8173609016657987973">"Isikrini esigcwele"</string>
     <string name="pref_lab_fullscreen_summary" msgid="6853711692160711419">"Sebenzisa imodi yesikrini esiphelele ukuze ufihle umudwa ochaza ngesimo."</string>
diff --git a/res/values/dimensions.xml b/res/values/dimensions.xml
index 3a25e4e..5652451 100644
--- a/res/values/dimensions.xml
+++ b/res/values/dimensions.xml
@@ -50,7 +50,7 @@
     <dimen name="widgetThumbnailHeight">94dip</dimen>
     <dimen name="widgetHorizontalSpacing">6dip</dimen>
     <dimen name="widgetVerticalSpacing">6dip</dimen>
-    <dimen name="widgetColumnWidth">90dip</dimen>
+    <dimen name="widgetColumnWidth">80dip</dimen>
     <!-- For the combined Bookmarks History view -->
     <dimen name="combo_paddingTop">0dip</dimen>
     <dimen name="combo_horizontalSpacing">6dip</dimen>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index c9cb170..361702e 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -21,9 +21,9 @@
     <style name="BrowserTheme" parent="@android:Theme.Holo">
         <item name="android:windowBackground">@color/white</item>
         <item name="android:colorBackground">#FFFFFFFF</item>
-        <item name="android:windowActionBar">true</item>
-        <item name="android:windowNoTitle">false</item>
-        <item name="android:windowActionBarOverlay">false</item>
+        <item name="android:windowActionBar">false</item>
+        <item name="android:windowNoTitle">true</item>
+        <item name="android:windowActionModeOverlay">true</item>
         <item name="android:actionBarStyle">@style/ActionBarStyle</item>
     </style>
     <style name="DialogWhenLarge" parent="@android:style/Theme.Holo.DialogWhenLarge" >
diff --git a/res/xml-sw600dp/bookmarkthumbnailwidget_info.xml b/res/xml-sw600dp/bookmarkthumbnailwidget_info.xml
index 99afda7..7fdcbef 100644
--- a/res/xml-sw600dp/bookmarkthumbnailwidget_info.xml
+++ b/res/xml-sw600dp/bookmarkthumbnailwidget_info.xml
@@ -17,10 +17,10 @@
 <!-- 3x3 Widget displaying the user's bookmarks as a list with favicons. -->
 <appwidget-provider
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:minWidth="219dip"
-    android:minHeight="219dip"
-    android:minResizeHeight="72dip"
-    android:minResizeWidth="146dip"
+    android:minWidth="180dip"
+    android:minHeight="180dip"
+    android:minResizeHeight="40dip"
+    android:minResizeWidth="110dip"
     android:updatePeriodMillis="0"
     android:previewImage="@drawable/browser_widget_preview"
     android:initialLayout="@layout/bookmarkthumbnailwidget"
diff --git a/res/xml/bookmarkthumbnailwidget_info.xml b/res/xml/bookmarkthumbnailwidget_info.xml
index bf2e612..f8ca797 100644
--- a/res/xml/bookmarkthumbnailwidget_info.xml
+++ b/res/xml/bookmarkthumbnailwidget_info.xml
@@ -17,10 +17,10 @@
 <!-- 3x2 Widget displaying the user's bookmarks as a list with favicons. -->
 <appwidget-provider
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:minWidth="219dip"
-    android:minHeight="146dip"
-    android:minResizeHeight="72dip"
-    android:minResizeWidth="146dip"
+    android:minWidth="180dip"
+    android:minHeight="110dip"
+    android:minResizeHeight="40dip"
+    android:minResizeWidth="110dip"
     android:updatePeriodMillis="0"
     android:previewImage="@drawable/browser_widget_preview"
     android:initialLayout="@layout/bookmarkthumbnailwidget"
diff --git a/src/com/android/browser/BrowserBookmarksPage.java b/src/com/android/browser/BrowserBookmarksPage.java
index 27f6ef8..da60fda 100644
--- a/src/com/android/browser/BrowserBookmarksPage.java
+++ b/src/com/android/browser/BrowserBookmarksPage.java
@@ -422,7 +422,6 @@
             return true;
         }
 
-        // TODO: Folder stuff
         if (isFolder) {
             String title = cursor.getString(BookmarksLoader.COLUMN_INDEX_TITLE);
             Uri uri = ContentUris.withAppendedId(
@@ -431,6 +430,7 @@
             if (crumbs != null) {
                 // update crumbs
                 crumbs.pushView(title, uri);
+                crumbs.setVisibility(View.VISIBLE);
             }
             loadFolder(groupPosition, uri);
         }
@@ -563,6 +563,11 @@
             uri = BrowserContract.Bookmarks.CONTENT_URI_DEFAULT_FOLDER;
         }
         loadFolder(groupPosition, uri);
+        if (level <= 1) {
+            view.setVisibility(View.GONE);
+        } else {
+            view.setVisibility(View.VISIBLE);
+        }
     }
 
     /**
diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java
index 6b8daec..cfaa18a 100644
--- a/src/com/android/browser/BrowserSettings.java
+++ b/src/com/android/browser/BrowserSettings.java
@@ -25,6 +25,7 @@
 import android.os.Message;
 import android.preference.PreferenceManager;
 import android.provider.Browser;
+import android.util.DisplayMetrics;
 import android.webkit.CookieManager;
 import android.webkit.GeolocationPermissions;
 import android.webkit.WebIconDatabase;
@@ -104,6 +105,7 @@
     private WeakHashMap<WebSettings, String> mCustomUserAgents;
     private static boolean sInitialized = false;
     private boolean mNeedsSharedSync = true;
+    private float mFontSizeMult = 1.0f;
 
     // Cached values
     private int mPageCacheCapacity = 1;
@@ -158,6 +160,8 @@
 
         @Override
         public void run() {
+            DisplayMetrics metrics = mContext.getResources().getDisplayMetrics();
+            mFontSizeMult = metrics.scaledDensity / metrics.density;
             // the cost of one cached page is ~3M (measured using nytimes.com). For
             // low end devices, we only cache one page. For high end devices, we try
             // to cache more pages, currently choose 5.
@@ -522,9 +526,9 @@
         return rawValue;
     }
 
-    public static int getAdjustedTextZoom(int rawValue) {
+    public int getAdjustedTextZoom(int rawValue) {
         rawValue = (rawValue - TEXT_ZOOM_START_VAL) * TEXT_ZOOM_STEP;
-        return rawValue + 100;
+        return (int) ((rawValue + 100) * mFontSizeMult);
     }
 
     static int getRawTextZoom(int percent) {
diff --git a/src/com/android/browser/BrowserWebView.java b/src/com/android/browser/BrowserWebView.java
index 2042ccf..b763cf1 100644
--- a/src/com/android/browser/BrowserWebView.java
+++ b/src/com/android/browser/BrowserWebView.java
@@ -121,4 +121,9 @@
         mOnScrollChangedListener = listener;
     }
 
+    @Override
+    public boolean showContextMenuForChild(View originalView) {
+        return false;
+    }
+
 }
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 3533bf1..aa7ecd9 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -211,8 +211,6 @@
     private ContentObserver mBookmarksObserver;
     private CrashRecoveryHandler mCrashRecoveryHandler;
 
-    private boolean mSimulateActionBarOverlayMode;
-
     private boolean mBlockEvents;
 
     public Controller(Activity browser, boolean preloadCrashState) {
@@ -251,7 +249,6 @@
         mSystemAllowGeolocationOrigins.start();
 
         openIconDatabase();
-        mSimulateActionBarOverlayMode = !BrowserActivity.isTablet(mActivity);
     }
 
     void start(final Bundle icicle, final Intent intent) {
@@ -803,9 +800,6 @@
             resumeWebViewTimers(tab);
         }
         mLoadStopped = false;
-        if (!mNetworkHandler.isNetworkUp()) {
-            mNetworkHandler.createAndShowNetworkDialog();
-        }
         endActionMode();
 
         mUi.onTabDataChanged(tab);
@@ -1245,10 +1239,6 @@
         }
         MenuInflater inflater = mActivity.getMenuInflater();
         inflater.inflate(R.menu.browser, menu);
-        updateInLoadMenuItems(menu);
-        // hold on to the menu reference here; it is used by the page callbacks
-        // to update the menu based on loading state
-        mCachedMenu = menu;
         return true;
     }
 
@@ -1432,6 +1422,10 @@
     }
 
     boolean onPrepareOptionsMenu(Menu menu) {
+        updateInLoadMenuItems(menu);
+        // hold on to the menu reference here; it is used by the page callbacks
+        // to update the menu based on loading state
+        mCachedMenu = menu;
         // Note: setVisible will decide whether an item is visible; while
         // setEnabled() will decide whether an item is enabled, which also means
         // whether the matching shortcut key will function.
@@ -1462,11 +1456,13 @@
         boolean canGoForward = false;
         boolean isHome = false;
         boolean isDesktopUa = false;
+        boolean isLive = false;
         if (tab != null) {
             canGoBack = tab.canGoBack();
             canGoForward = tab.canGoForward();
             isHome = mSettings.getHomePage().equals(tab.getUrl());
             isDesktopUa = mSettings.hasDesktopUseragent(tab.getWebView());
+            isLive = !tab.isSnapshot();
         }
         final MenuItem back = menu.findItem(R.id.back_menu_id);
         back.setEnabled(canGoBack);
@@ -1483,6 +1479,7 @@
             dest.setTitle(source.getTitle());
             dest.setIcon(source.getIcon());
         }
+        menu.setGroupVisible(R.id.NAV_MENU, isLive);
 
         // decide whether to show the share link option
         PackageManager pm = mActivity.getPackageManager();
@@ -1503,6 +1500,8 @@
         counter.setEnabled(showDebugSettings);
         final MenuItem uaSwitcher = menu.findItem(R.id.ua_desktop_menu_id);
         uaSwitcher.setChecked(isDesktopUa);
+        menu.setGroupVisible(R.id.LIVE_MENU, isLive);
+        menu.setGroupVisible(R.id.SNAPSHOT_MENU, !isLive);
 
         mUi.updateMenuState(tab, menu);
     }
@@ -1620,6 +1619,10 @@
                 mPageDialogsHandler.showPageInfo(mTabControl.getCurrentTab(), false, null);
                 break;
 
+            case R.id.snapshot_go_live:
+                goLive();
+                return true;
+
             case R.id.classic_history_menu_id:
                 bookmarksOrHistoryPicker(true);
                 break;
@@ -1687,6 +1690,11 @@
         return true;
     }
 
+    private void goLive() {
+        Tab t = getCurrentTab();
+        t.loadUrl(t.getUrl(), null);
+    }
+
     public boolean onContextItemSelected(MenuItem item) {
         // Let the History and Bookmark fragments handle menus they created.
         if (item.getGroupId() == R.id.CONTEXT_MENU) {
@@ -1805,15 +1813,6 @@
     void onActionModeStarted(ActionMode mode) {
         mUi.onActionModeStarted(mode);
         mActionMode = mode;
-        if (mSimulateActionBarOverlayMode && !mUi.isEditingUrl()) {
-            WebView web = getCurrentWebView();
-            // Simulate overlay mode by scrolling the webview the amount it will be
-            // pushed down. Actual overlay mode doesn't work for us as otherwise
-            // the CAB will, well, overlay the content, which breaks things like
-            // find on page.
-            int scrollBy = getActionModeHeight();
-            web.scrollBy(0, scrollBy);
-        }
     }
 
     /*
@@ -1842,11 +1841,6 @@
         if (!isInCustomActionMode()) return;
         mUi.onActionModeFinished(mInLoad);
         mActionMode = null;
-        if (mSimulateActionBarOverlayMode) {
-            WebView web = getCurrentWebView();
-            int scrollBy = getActionModeHeight();
-            web.scrollBy(0, -scrollBy);
-        }
     }
 
     boolean isInLoad() {
diff --git a/src/com/android/browser/NavigationBarPhone.java b/src/com/android/browser/NavigationBarPhone.java
index 7e8695b..a1e778d 100644
--- a/src/com/android/browser/NavigationBarPhone.java
+++ b/src/com/android/browser/NavigationBarPhone.java
@@ -15,6 +15,7 @@
  */
 package com.android.browser;
 
+import android.app.Activity;
 import android.content.Context;
 import android.content.res.Resources;
 import android.graphics.drawable.Drawable;
@@ -174,14 +175,21 @@
     }
 
     void showMenu(View anchor) {
-        mOverflowMenuShowing = true;
-        mPopupMenu = new PopupMenu(mContext, anchor);
+        Activity activity = mUiController.getActivity();
+        if (mPopupMenu == null) {
+            mPopupMenu = new PopupMenu(mContext, anchor);
+            mPopupMenu.setOnMenuItemClickListener(this);
+            mPopupMenu.setOnDismissListener(this);
+            if (!activity.onCreateOptionsMenu(mPopupMenu.getMenu())) {
+                mPopupMenu = null;
+                return;
+            }
+        }
         Menu menu = mPopupMenu.getMenu();
-        mPopupMenu.getMenuInflater().inflate(R.menu.browser, menu);
-        mUiController.updateMenuState(mBaseUi.getActiveTab(), menu);
-        mPopupMenu.setOnMenuItemClickListener(this);
-        mPopupMenu.setOnDismissListener(this);
-        mPopupMenu.show();
+        if (activity.onPrepareOptionsMenu(menu)) {
+            mOverflowMenuShowing = true;
+            mPopupMenu.show();
+        }
     }
 
     @Override
@@ -193,7 +201,6 @@
 
     private void onMenuHidden() {
         mOverflowMenuShowing = false;
-        mPopupMenu = null;
         mBaseUi.showTitleBarForDuration();
     }
 
diff --git a/src/com/android/browser/NetworkStateHandler.java b/src/com/android/browser/NetworkStateHandler.java
index 37f4a2f..2fbd035 100644
--- a/src/com/android/browser/NetworkStateHandler.java
+++ b/src/com/android/browser/NetworkStateHandler.java
@@ -17,7 +17,6 @@
 package com.android.browser;
 
 import android.app.Activity;
-import android.app.AlertDialog;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -39,9 +38,6 @@
     private BroadcastReceiver mNetworkStateIntentReceiver;
     private boolean mIsNetworkUp;
 
-    /* hold a ref so we can auto-cancel if necessary */
-    private AlertDialog mAlertDialog;
-
     public NetworkStateHandler(Activity activity, Controller controller) {
         mActivity = activity;
         mController = controller;
@@ -99,18 +95,8 @@
     void onNetworkToggle(boolean up) {
         if (up == mIsNetworkUp) {
             return;
-        } else if (up) {
-            mIsNetworkUp = true;
-            if (mAlertDialog != null) {
-                mAlertDialog.cancel();
-                mAlertDialog = null;
-            }
-        } else {
-            mIsNetworkUp = false;
-            if (mController.isInLoad()) {
-                createAndShowNetworkDialog();
-           }
         }
+        mIsNetworkUp = up;
         WebView w = mController.getCurrentWebView();
         if (w != null) {
             w.setNetworkAvailable(up);
@@ -121,18 +107,6 @@
         return mIsNetworkUp;
     }
 
-    // This method shows the network dialog alerting the user that the net is
-    // down. It will only show the dialog if mAlertDialog is null.
-    void createAndShowNetworkDialog() {
-        if (mAlertDialog == null) {
-            mAlertDialog = new AlertDialog.Builder(mActivity)
-                    .setTitle(R.string.loadSuspendedTitle)
-                    .setMessage(R.string.loadSuspended)
-                    .setPositiveButton(R.string.ok, null)
-                    .show();
-        }
-    }
-
     private void sendNetworkType(String type, String subtype) {
         WebView w = mController.getCurrentWebView();
         if (w != null) {
diff --git a/src/com/android/browser/PhoneUi.java b/src/com/android/browser/PhoneUi.java
index f5a76b9..61acef5 100644
--- a/src/com/android/browser/PhoneUi.java
+++ b/src/com/android/browser/PhoneUi.java
@@ -26,6 +26,7 @@
 import android.graphics.Canvas;
 import android.graphics.Matrix;
 import android.util.Log;
+import android.util.TypedValue;
 import android.view.ActionMode;
 import android.view.Gravity;
 import android.view.KeyEvent;
@@ -52,6 +53,7 @@
     private PieControlPhone mPieControl;
     private NavScreen mNavScreen;
     private NavigationBarPhone mNavigationBar;
+    private int mActionBarHeight;
 
     boolean mExtendedMenuOpen;
     boolean mOptionsMenuOpen;
@@ -63,9 +65,13 @@
      */
     public PhoneUi(Activity browser, UiController controller) {
         super(browser, controller);
-        mActivity.getActionBar().hide();
         setUseQuickControls(BrowserSettings.getInstance().useQuickControls());
         mNavigationBar = (NavigationBarPhone) mTitleBar.getNavigationBar();
+        TypedValue heightValue = new TypedValue();
+        browser.getTheme().resolveAttribute(
+                com.android.internal.R.attr.actionBarSize, heightValue, true);
+        mActionBarHeight = TypedValue.complexToDimensionPixelSize(heightValue.data,
+                browser.getResources().getDisplayMetrics());
     }
 
     @Override
@@ -162,7 +168,6 @@
 
     @Override
     public void updateMenuState(Tab tab, Menu menu) {
-        menu.setGroupVisible(R.id.NAV_MENU, (mNavScreen == null));
         MenuItem bm = menu.findItem(R.id.bookmarks_menu_id);
         if (bm != null) {
             bm.setVisible(mNavScreen == null);
@@ -173,7 +178,13 @@
         }
         MenuItem abm = menu.findItem(R.id.add_bookmark_menu_id);
         if (abm != null) {
-            abm.setVisible((tab != null) && !tab.isSnapshot());
+            abm.setVisible((tab != null) && !tab.isSnapshot() && mNavScreen == null);
+        }
+        if (mNavScreen != null) {
+            menu.setGroupVisible(R.id.LIVE_MENU, false);
+            menu.setGroupVisible(R.id.SNAPSHOT_MENU, false);
+            menu.findItem(R.id.page_info_menu_id).setVisible(false);
+            menu.setGroupVisible(R.id.NAV_MENU, false);
         }
     }
 
@@ -203,18 +214,20 @@
     public void onActionModeStarted(ActionMode mode) {
         if (!isEditingUrl()) {
             hideTitleBar();
+        } else {
+            mTitleBar.animate().translationY(mActionBarHeight);
         }
     }
 
     @Override
     public void onActionModeFinished(boolean inLoad) {
+        mTitleBar.animate().translationY(0);
         if (inLoad) {
             if (mUseQuickControls) {
                 mTitleBar.setShowProgressOnly(true);
             }
             showTitleBar();
         }
-        mActivity.getActionBar().hide();
     }
 
     @Override
diff --git a/src/com/android/browser/SnapshotBar.java b/src/com/android/browser/SnapshotBar.java
index 039afcf..2fb90d2 100644
--- a/src/com/android/browser/SnapshotBar.java
+++ b/src/com/android/browser/SnapshotBar.java
@@ -21,7 +21,6 @@
 import android.os.Message;
 import android.text.TextUtils;
 import android.util.AttributeSet;
-import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.View.OnClickListener;
@@ -29,21 +28,18 @@
 import android.view.ViewPropertyAnimator;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
-import android.widget.PopupMenu;
 import android.widget.PopupMenu.OnMenuItemClickListener;
 import android.widget.TextView;
 
 import java.text.DateFormat;
 import java.util.Date;
 
-public class SnapshotBar extends LinearLayout implements OnClickListener,
-        OnMenuItemClickListener {
+public class SnapshotBar extends LinearLayout implements OnClickListener {
 
     private static final int MSG_SHOW_TITLE = 1;
     private static final long DURATION_SHOW_DATE = BaseUi.HIDE_TITLEBAR_DELAY;
 
     private ImageView mFavicon;
-    private View mGoLive;
     private TextView mDate;
     private TextView mTitle;
     private View mBookmarks;
@@ -86,10 +82,7 @@
     @Override
     protected void onFinishInflate() {
         super.onFinishInflate();
-        mGoLive = mFavicon = (ImageView) findViewById(R.id.favicon);
-        if (mGoLive == null) {
-            mGoLive = findViewById(R.id.date_icon);
-        }
+        mFavicon = (ImageView) findViewById(R.id.favicon);
         mDate = (TextView) findViewById(R.id.date);
         mTitle = (TextView) findViewById(R.id.title);
         mBookmarks = findViewById(R.id.all_btn);
@@ -113,7 +106,6 @@
             mToggleContainer.setOnClickListener(this);
             resetAnimation();
         }
-        mGoLive.setOnClickListener(this);
     }
 
     @Override
@@ -173,12 +165,6 @@
     public void onClick(View v) {
         if (mBookmarks == v) {
             mTitleBar.getUiController().bookmarksOrHistoryPicker(false);
-        } else if (mGoLive == v) {
-            PopupMenu popup = new PopupMenu(mContext, mGoLive);
-            Menu menu = popup.getMenu();
-            popup.getMenuInflater().inflate(R.menu.snapshot_go_live, menu);
-            popup.setOnMenuItemClickListener(this);
-            popup.show();
         } else if (mTabSwitcher == v) {
             ((PhoneUi) mTitleBar.getUi()).toggleNavScreen();
         } else if (mOverflowMenu == v) {
@@ -195,21 +181,6 @@
         }
     }
 
-    @Override
-    public boolean onMenuItemClick(MenuItem item) {
-        switch (item.getItemId()) {
-        case R.id.snapshot_go_live:
-            goLive();
-            return true;
-        }
-        return false;
-    }
-
-    private void goLive() {
-        Tab t = mTitleBar.getUi().getActiveTab();
-        t.loadUrl(t.getUrl(), null);
-    }
-
     public void onTabDataChanged(Tab tab) {
         if (!tab.isSnapshot()) return;
         SnapshotTab snapshot = (SnapshotTab) tab;
diff --git a/src/com/android/browser/UiController.java b/src/com/android/browser/UiController.java
index 0da523a..97e99a9 100644
--- a/src/com/android/browser/UiController.java
+++ b/src/com/android/browser/UiController.java
@@ -16,6 +16,7 @@
 
 package com.android.browser;
 
+import android.app.Activity;
 import android.content.Intent;
 import android.view.Menu;
 import android.view.MenuItem;
@@ -100,4 +101,6 @@
 
     void setBlockEvents(boolean block);
 
+    Activity getActivity();
+
 }
diff --git a/src/com/android/browser/UrlBarAutoShowManager.java b/src/com/android/browser/UrlBarAutoShowManager.java
index b491e0b..f1bbe7f 100644
--- a/src/com/android/browser/UrlBarAutoShowManager.java
+++ b/src/com/android/browser/UrlBarAutoShowManager.java
@@ -103,7 +103,7 @@
         case MotionEvent.ACTION_DOWN:
             if (!mIsTracking && event.getPointerCount() == 1) {
                 long sinceLastScroll =
-                        System.currentTimeMillis() - mLastScrollTime;
+                        SystemClock.uptimeMillis() - mLastScrollTime;
                 if (sinceLastScroll < IGNORE_INTERVAL) {
                     break;
                 }
diff --git a/src/com/android/browser/WebStorageSizeManager.java b/src/com/android/browser/WebStorageSizeManager.java
index 109a02b..73a3bfb 100644
--- a/src/com/android/browser/WebStorageSizeManager.java
+++ b/src/com/android/browser/WebStorageSizeManager.java
@@ -392,10 +392,6 @@
         if(LOGV_ENABLED) {
             Log.v(LOGTAG, "scheduleOutOfSpaceNotification called.");
         }
-        if (mContext == null) {
-            // mContext can be null if we're running unit tests.
-            return;
-        }
         if ((mLastOutOfSpaceNotificationTime == -1) ||
             (System.currentTimeMillis() - mLastOutOfSpaceNotificationTime > NOTIFICATION_INTERVAL)) {
             // setup the notification boilerplate.
diff --git a/src/com/android/browser/preferences/AccessibilityPreferencesFragment.java b/src/com/android/browser/preferences/AccessibilityPreferencesFragment.java
index 312a61e..6adfd23 100644
--- a/src/com/android/browser/preferences/AccessibilityPreferencesFragment.java
+++ b/src/com/android/browser/preferences/AccessibilityPreferencesFragment.java
@@ -76,7 +76,8 @@
                     .getAdjustedMinimumFontSize((Integer) objValue));
         }
         if (PreferenceKeys.PREF_TEXT_ZOOM.equals(pref.getKey())) {
-            updateTextZoomSummary(pref, BrowserSettings
+            BrowserSettings settings = BrowserSettings.getInstance();
+            updateTextZoomSummary(pref, settings
                     .getAdjustedTextZoom((Integer) objValue));
         }
         if (PreferenceKeys.PREF_INVERTED_CONTRAST.equals(pref.getKey())) {
diff --git a/src/com/android/browser/view/BookmarkExpandableView.java b/src/com/android/browser/view/BookmarkExpandableView.java
index 0bc6e62..0283448 100644
--- a/src/com/android/browser/view/BookmarkExpandableView.java
+++ b/src/com/android/browser/view/BookmarkExpandableView.java
@@ -502,6 +502,7 @@
                 crumbs.pushView(bookmarks, false,
                         BrowserContract.Bookmarks.CONTENT_URI_DEFAULT_FOLDER);
                 crumbs.setTag(R.id.group_position, groupPosition);
+                crumbs.setVisibility(View.GONE);
                 mBreadcrumbs.put(groupPosition, crumbs);
             }
             return crumbs;
diff --git a/tests/src/com/android/browser/WebStorageSizeManagerUnitTests.java b/tests/src/com/android/browser/WebStorageSizeManagerUnitTests.java
index 354c4da..2beedf8 100644
--- a/tests/src/com/android/browser/WebStorageSizeManagerUnitTests.java
+++ b/tests/src/com/android/browser/WebStorageSizeManagerUnitTests.java
@@ -90,7 +90,8 @@
         // We have an appcache file size of 0 MB.
         mAppCacheInfo.setAppCacheSizeBytes(0);
         // Create the manager.
-        WebStorageSizeManager manager = new WebStorageSizeManager(null, mDiskInfo, mAppCacheInfo);
+        WebStorageSizeManager manager = new WebStorageSizeManager(getContext(), mDiskInfo,
+                mAppCacheInfo);
         // We add origin 1.
         long origin1Quota = 0;
         long origin1EstimatedSize = bytes(3.5);
@@ -247,7 +248,8 @@
         mAppCacheInfo.setAppCacheSizeBytes(0);
 
         // Create the manager.
-        WebStorageSizeManager manager = new WebStorageSizeManager(null, mDiskInfo, mAppCacheInfo);
+        WebStorageSizeManager manager = new WebStorageSizeManager(getContext(), mDiskInfo,
+                mAppCacheInfo);
 
         // We add an origin.
         long originQuota = 0;