diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 110bda4..c67cc97 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -28,9 +28,6 @@
     <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.WAKE_LOCK"/>
-    <!-- Needed by the ZoomRingController to set the bit saying we've already shown the
-         tutorial toast. -->
-    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
     <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
     <uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
 
@@ -143,7 +140,8 @@
 
         <activity-alias android:name="ShortcutBookmarksPage"
             android:targetActivity="BrowserBookmarksPage"
-            android:label="@string/shortcut_bookmark">
+            android:label="@string/shortcut_bookmark"
+            android:icon="@drawable/ic_launcher_shortcut_browser_bookmark">
 
             <intent-filter>
                 <action android:name="android.intent.action.CREATE_SHORTCUT" />
diff --git a/res/drawable/ic_launcher_browser.png b/res/drawable/ic_launcher_browser.png
index f58b84a..47c79d1 100755
--- a/res/drawable/ic_launcher_browser.png
+++ b/res/drawable/ic_launcher_browser.png
Binary files differ
diff --git a/res/drawable/ic_launcher_browser_favorite.png b/res/drawable/ic_launcher_browser_favorite.png
new file mode 100644
index 0000000..f5bfc17
--- /dev/null
+++ b/res/drawable/ic_launcher_browser_favorite.png
Binary files differ
diff --git a/res/drawable/ic_launcher_shortcut_browser_bookmark.png b/res/drawable/ic_launcher_shortcut_browser_bookmark.png
new file mode 100644
index 0000000..e144727
--- /dev/null
+++ b/res/drawable/ic_launcher_shortcut_browser_bookmark.png
Binary files differ
diff --git a/res/drawable/ic_tab_browser_bookmark_selected.png b/res/drawable/ic_tab_browser_bookmark_selected.png
index 184885e..6f54305 100644
--- a/res/drawable/ic_tab_browser_bookmark_selected.png
+++ b/res/drawable/ic_tab_browser_bookmark_selected.png
Binary files differ
diff --git a/res/drawable/ic_tab_browser_bookmark_unselected.png b/res/drawable/ic_tab_browser_bookmark_unselected.png
index 25ddf18..5037860 100644
--- a/res/drawable/ic_tab_browser_bookmark_unselected.png
+++ b/res/drawable/ic_tab_browser_bookmark_unselected.png
Binary files differ
diff --git a/res/drawable/ic_tab_browser_history_selected.png b/res/drawable/ic_tab_browser_history_selected.png
index b39c21a..d9355f6 100644
--- a/res/drawable/ic_tab_browser_history_selected.png
+++ b/res/drawable/ic_tab_browser_history_selected.png
Binary files differ
diff --git a/res/drawable/ic_tab_browser_history_unselected.png b/res/drawable/ic_tab_browser_history_unselected.png
index c0847d0..c5c794a 100644
--- a/res/drawable/ic_tab_browser_history_unselected.png
+++ b/res/drawable/ic_tab_browser_history_unselected.png
Binary files differ
diff --git a/res/drawable/ic_tab_browser_visited_selected.png b/res/drawable/ic_tab_browser_visited_selected.png
index f2cc55c..9d79107 100644
--- a/res/drawable/ic_tab_browser_visited_selected.png
+++ b/res/drawable/ic_tab_browser_visited_selected.png
Binary files differ
diff --git a/res/drawable/ic_tab_browser_visited_unselected.png b/res/drawable/ic_tab_browser_visited_unselected.png
index b808fbd..55d76e9 100644
--- a/res/drawable/ic_tab_browser_visited_unselected.png
+++ b/res/drawable/ic_tab_browser_visited_unselected.png
Binary files differ
diff --git a/res/layout/browser_find.xml b/res/layout/browser_find.xml
index 000799f..7a77152 100644
--- a/res/layout/browser_find.xml
+++ b/res/layout/browser_find.xml
@@ -62,16 +62,6 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_gravity="right"
-                android:text="@string/zero"
-                android:textAppearance="?android:attr/textAppearanceSmall"
-                android:textColor="?android:attr/textColorSecondaryInverse"
-                />
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginRight="3dip"
-                android:layout_gravity="right"
-                android:text="@string/matches_found"
                 android:textAppearance="?android:attr/textAppearanceSmall"
                 android:textColor="?android:attr/textColorSecondaryInverse"
                 />
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index ee576d6..11acc71 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -27,8 +27,6 @@
     <string name="action">"Přihlásit se"</string>
     <string name="cancel">"Zrušit"</string>
     <string name="ok">"OK"</string>
-    <string name="matches_found">" shod"</string>
-    <string name="zero">"Ne"</string>
     <string name="page_info">"Informace o stránce"</string>
     <string name="page_info_view">"Zobrazit informace o stránce"</string>
     <string name="page_info_address">"Adresa:"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 89b46b9..0a06679 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -27,8 +27,6 @@
     <string name="action">"Anmelden"</string>
     <string name="cancel">"Abbrechen"</string>
     <string name="ok">"OK"</string>
-    <string name="matches_found">" Treffer"</string>
-    <string name="zero">"Nein"</string>
     <string name="page_info">"Seiten-Info"</string>
     <string name="page_info_view">"Seiten-Info anzeigen"</string>
     <string name="page_info_address">"Adresse:"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 321faf5..bed9bd3 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -27,8 +27,6 @@
     <string name="action">"Acceder"</string>
     <string name="cancel">"Cancelar"</string>
     <string name="ok">"Aceptar"</string>
-    <string name="matches_found">" coincidencias"</string>
-    <string name="zero">"No"</string>
     <string name="page_info">"Información de página"</string>
     <string name="page_info_view">"Ver información de página"</string>
     <string name="page_info_address">"Dirección:"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 375583e..c97a4f6 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -27,8 +27,6 @@
     <string name="action">"Se connecter"</string>
     <string name="cancel">"Annuler"</string>
     <string name="ok">"OK"</string>
-    <string name="matches_found">" résultat(s) correspondant(s )"</string>
-    <string name="zero">"Non"</string>
     <string name="page_info">"Infos sur la page"</string>
     <string name="page_info_view">"Afficher les infos sur la page"</string>
     <string name="page_info_address">"Adresse :"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index c44ed3e..500d685 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -27,8 +27,6 @@
     <string name="action">"Accedi"</string>
     <string name="cancel">"Annulla"</string>
     <string name="ok">"OK"</string>
-    <string name="matches_found">" corrispondenze"</string>
-    <string name="zero">"No"</string>
     <string name="page_info">"Info pagina"</string>
     <string name="page_info_view">"Visualizza info pagina"</string>
     <string name="page_info_address">"Indirizzo:"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index f14953b..642f201 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -27,8 +27,10 @@
     <string name="action">"ログイン"</string>
     <string name="cancel">"キャンセル"</string>
     <string name="ok">"OK"</string>
-    <string name="matches_found">" 件一致"</string>
-    <string name="zero">"いいえ"</string>
+    <!-- no translation found for matches_found:zero (6242659159545399963) -->
+    <!-- no translation found for matches_found:one (4352019729062956802) -->
+    <!-- no translation found for matches_found:few (5544267486978946555) -->
+    <!-- no translation found for matches_found:other (6616125067364315405) -->
     <string name="page_info">"ページ情報"</string>
     <string name="page_info_view">"ページ情報を表示"</string>
     <string name="page_info_address">"アドレス:"</string>
@@ -73,13 +75,13 @@
     <string name="bookmark_url_not_valid">"無効なURLです。"</string>
     <string name="delete_bookmark">"削除"</string>
     <string name="bookmark_page">"最後に表示したページをブックマークする"</string>
-    <string name="current_page">"ブックマークするページ "</string>
+    <string name="current_page">"URL "</string>
     <string name="delete_bookmark_warning">"ブックマーク「<xliff:g id="BOOKMARK">%s</xliff:g>」を削除します。"</string>
     <string name="open_in_new_window">"新しいウィンドウで開く"</string>
     <string name="new_window">"新規ウィンドウ"</string>
     <string name="goto_dot">"移動"</string>
-    <string name="find_dot">"このページの検索"</string>
-    <string name="select_dot">"テキストを選択"</string>
+    <string name="find_dot">"ページ内検索"</string>
+    <string name="select_dot">"テキストを選択してコピー"</string>
     <string name="view_tabs">"ウィンドウリスト"</string>
     <string name="view_tabs_condensed">"ウィンドウ"</string>
     <string name="tab_picker_title">"現在のウィンドウ"</string>
@@ -111,41 +113,41 @@
     <string name="browser_bookmarks_page_bookmarks_text">"ブックマーク"</string>
     <string name="menu_preferences">"設定"</string>
     <string name="pref_content_title">"ページコンテンツ設定"</string>
-    <string name="pref_content_load_images">"画像のロード"</string>
-    <string name="pref_content_load_images_summary">"ウェブページに画像を表示"</string>
+    <string name="pref_content_load_images">"画像の読み込み"</string>
+    <string name="pref_content_load_images_summary">"ウェブページに画像を表示する"</string>
     <string name="pref_content_block_popups">"ポップアップウィンドウをブロック"</string>
     <string name="pref_content_javascript">"JavaScriptを有効にする"</string>
     <string name="pref_content_open_in_background">"バックグラウンドで開く"</string>
     <string name="pref_content_open_in_background_summary">"新しいウィンドウを現在のウィンドウの後ろに開きます"</string>
     <string name="pref_content_homepage">"ホームページ設定"</string>
     <string name="pref_content_autofit">"ページの自動調整"</string>
-    <string name="pref_content_autofit_summary">"ウェブページの大きさを画面に合わせて表示します"</string>
+    <string name="pref_content_autofit_summary">"画面に合わせてウェブページの表示やサイズを自動調整する"</string>
     <string name="pref_privacy_title">"プライバシー設定"</string>
     <string name="pref_privacy_clear_cache">"キャッシュを消去"</string>
-    <string name="pref_privacy_clear_cache_summary">"キャッシュされたページコンテンツをすべて削除します"</string>
+    <string name="pref_privacy_clear_cache_summary">"キャッシュしたコンテンツをすべて削除する"</string>
     <string name="pref_privacy_clear_cache_dlg">"キャッシュを消去します。"</string>
-    <string name="pref_privacy_clear_cookies">"Cookieデータを全消去"</string>
-    <string name="pref_privacy_clear_cookies_summary">"ブラウザのCookieをすべて消去します"</string>
+    <string name="pref_privacy_clear_cookies">"Cookieをすべて消去"</string>
+    <string name="pref_privacy_clear_cookies_summary">"保存されているCookieをすべて消去する"</string>
     <string name="pref_privacy_clear_cookies_dlg">"Cookieをすべて消去します。"</string>
     <string name="pref_privacy_clear_history">"履歴消去"</string>
     <string name="pref_privacy_clear_history_summary">"ブラウザの閲覧履歴を消去します"</string>
     <string name="pref_privacy_clear_history_dlg">"ブラウザの閲覧履歴を消去します。"</string>
-    <string name="pref_privacy_clear_form_data">"フォームデータをクリア"</string>
+    <string name="pref_privacy_clear_form_data">"フォームデータを消去"</string>
     <string name="pref_privacy_clear_form_data_summary">"保存されているフォームデータをすべて消去します"</string>
     <string name="pref_privacy_clear_form_data_dlg">"保存されているフォームデータをすべて消去します。"</string>
     <string name="pref_privacy_clear_passwords">"パスワードを消去"</string>
-    <string name="pref_privacy_clear_passwords_summary">"保存されているパスワードをすべて消去します"</string>
+    <string name="pref_privacy_clear_passwords_summary">"保存されているパスワードをすべて消去する"</string>
     <string name="pref_privacy_clear_passwords_dlg">"保存されているパスワードをすべて消去します。"</string>
     <string name="pref_security_title">"セキュリティ設定"</string>
     <string name="pref_security_remember_passwords">"パスワードを保存"</string>
-    <string name="pref_security_remember_passwords_summary">"ウェブサイトのユーザー名とパスワードを保存します"</string>
+    <string name="pref_security_remember_passwords_summary">"サイトのユーザー名とパスワードを保存する"</string>
     <string name="pref_security_save_form_data">"フォームデータを保存"</string>
-    <string name="pref_security_save_form_data_summary">"フォームに入力したデータを保存して後で再利用します"</string>
-    <string name="pref_security_show_security_warning">"セキュリティ警告を表示"</string>
-    <string name="pref_security_show_security_warning_summary">"サイトの安全性に問題がある場合に警告を表示"</string>
-    <string name="pref_security_accept_cookies">"Cookieの受け入れ"</string>
-    <string name="pref_security_accept_cookies_summary">"サイトによるCookieデータの保存と読み取りを許可します"</string>
-    <string name="pref_text_size">"テキストサイズを設定"</string>
+    <string name="pref_security_save_form_data_summary">"フォームに入力したデータを保存して後で呼び出せるようにする"</string>
+    <string name="pref_security_show_security_warning">"セキュリティ警告"</string>
+    <string name="pref_security_show_security_warning_summary">"サイトの安全性に問題がある場合に警告を表示する"</string>
+    <string name="pref_security_accept_cookies">"Cookieを受け入れる"</string>
+    <string name="pref_security_accept_cookies_summary">"サイトによるCookieの保存と読み取りを許可する"</string>
+    <string name="pref_text_size">"文字サイズを選択"</string>
   <string-array name="pref_text_size_choices">
     <item>"最小"</item>
     <item>"小"</item>
@@ -154,19 +156,19 @@
     <item>"最大"</item>
   </string-array>
     <string name="pref_text_size_dialogtitle">"文字サイズ"</string>
-    <string name="pref_extras_title">"詳細な設定"</string>
+    <string name="pref_extras_title">"詳細設定"</string>
     <string name="pref_extras_gears_enable">"Gearsを有効にする"</string>
-    <string name="pref_extras_gears_enable_summary">"ブラウザの機能を拡張するアプリケーションです"</string>
-    <string name="pref_extras_gears_settings">"Gears設定"</string>
+    <string name="pref_extras_gears_enable_summary">"ブラウザの機能拡張を許可する"</string>
+    <string name="pref_extras_gears_settings">"Gearsの設定"</string>
     <string name="pref_plugin_installed">"プラグインリスト"</string>
     <string name="pref_plugin_installed_empty_list">"プラグインはインストールされていません。"</string>
     <string name="pref_extras_gears_settings_summary">"ブラウザの機能を拡張するアプリケーション"</string>
     <string name="pref_extras_reset_default">"初期設定にリセット"</string>
-    <string name="pref_extras_reset_default_summary">"ブラウザデータを消去して初期設定に戻します"</string>
+    <string name="pref_extras_reset_default_summary">"ブラウザデータをすべて消去して出荷時の初期設定に戻す"</string>
     <string name="pref_extras_reset_default_dlg">"ブラウザデータをすべて消去して初期設定に戻します。"</string>
     <string name="pref_extras_reset_default_dlg_title">"初期設定にリセット"</string>
     <string name="pref_development_title">"デバッグ"</string>
-    <string name="pref_default_text_encoding">"テキストエンコードを設定"</string>
+    <string name="pref_default_text_encoding">"エンコードを選択"</string>
   <string-array name="pref_default_text_encoding_choices">
     <item>"Latin-1 (ISO-8859-1)"</item>
     <item>"Unicode (UTF-8)"</item>
@@ -187,9 +189,9 @@
     <string name="clear_history">"履歴消去"</string>
     <string name="browser_history">"最近閲覧したページ"</string>
     <string name="empty_history">"ブラウザ履歴はありません。"</string>
-    <string name="add_new_bookmark">"ブックマークを追加..."</string>
+    <string name="add_new_bookmark">"現在のページをブックマーク"</string>
     <string name="no_database">"データベースがありません。"</string>
-    <string name="search_hint">"ウェブアドレスを入力してください"</string>
+    <string name="search_hint">"ウェブアドレスを入力"</string>
     <string name="search_button_text">"移動"</string>
     <string name="attention">"注意"</string>
     <string name="popup_window_attempt">"このサイトはポップアップウィンドウを開こうとしています。"</string>
@@ -255,7 +257,7 @@
     <skip />
     <!-- no translation found for image_message (5450245866521896891) -->
     <skip />
-    <string name="settings_title">"Gears設定"</string>
+    <string name="settings_title">"Gearsの設定"</string>
     <string name="privacy_policy">"サイトのプライバシーポリシーを読んで、現在地の情報がどのように使用されるのか確認してください。"</string>
     <!-- no translation found for settings_storage_title (7089119630457156408) -->
     <skip />
@@ -271,8 +273,7 @@
     <skip />
     <!-- no translation found for settings_remove_site (1822247070226589958) -->
     <skip />
-    <!-- no translation found for settings_empty (2008952224378583146) -->
-    <skip />
+    <string name="settings_empty">"設定されている権限はありません"</string>
     <!-- no translation found for settings_confirmation_remove_title (5360857296753219635) -->
     <skip />
     <!-- no translation found for settings_confirmation_remove (585560170733446898) -->
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index bba2bf8..00121b6 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -27,8 +27,6 @@
     <string name="action">"로그인"</string>
     <string name="cancel">"취소"</string>
     <string name="ok">"확인"</string>
-    <string name="matches_found">" 개 일치"</string>
-    <string name="zero">"없음"</string>
     <string name="page_info">"페이지 정보"</string>
     <string name="page_info_view">"페이지 정보 보기"</string>
     <string name="page_info_address">"주소:"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 4fb4d4d..c06993c 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -27,8 +27,6 @@
     <string name="action">"Logg inn"</string>
     <string name="cancel">"Avbryt"</string>
     <string name="ok">"OK"</string>
-    <string name="matches_found">" treff"</string>
-    <string name="zero">"Ingen"</string>
     <string name="page_info">"Sideinformasjon"</string>
     <string name="page_info_view">"Vis sideinformasjon"</string>
     <string name="page_info_address">"Adresse:"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 7fccab8..2b1aefb 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -27,8 +27,6 @@
     <string name="action">"Aanmelden"</string>
     <string name="cancel">"Annuleren"</string>
     <string name="ok">"OK"</string>
-    <string name="matches_found">" overeenkomsten"</string>
-    <string name="zero">"Nee"</string>
     <string name="page_info">"Pagina-informatie"</string>
     <string name="page_info_view">"Pagina-informatie weergeven"</string>
     <string name="page_info_address">"Adres:"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 9d1130f..ec3b746 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -27,8 +27,6 @@
     <string name="action">"Zaloguj się"</string>
     <string name="cancel">"Anuluj"</string>
     <string name="ok">"OK"</string>
-    <string name="matches_found">" dopasowania"</string>
-    <string name="zero">"Nie"</string>
     <string name="page_info">"Informacje o stronie"</string>
     <string name="page_info_view">"Informacje o stronie"</string>
     <string name="page_info_address">"Adres:"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 32af560..ddba702 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -27,8 +27,6 @@
     <string name="action">"Войти"</string>
     <string name="cancel">"Отмена"</string>
     <string name="ok">"ОК"</string>
-    <string name="matches_found">" совпадений(я)"</string>
-    <string name="zero">"Нет"</string>
     <string name="page_info">"Сведения о странице"</string>
     <string name="page_info_view">"Просмотреть сведения о странице"</string>
     <string name="page_info_address">"Адрес:"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 2ee80c2..be48e36 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -27,8 +27,6 @@
     <string name="action">"登录"</string>
     <string name="cancel">"取消"</string>
     <string name="ok">"确定"</string>
-    <string name="matches_found">" 匹配项"</string>
-    <string name="zero">"否"</string>
     <string name="page_info">"页面信息"</string>
     <string name="page_info_view">"查看页面信息"</string>
     <string name="page_info_address">"地址："</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 9b6c675..96658db 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -27,8 +27,6 @@
     <string name="action">"登入"</string>
     <string name="cancel">"取消"</string>
     <string name="ok">"確定"</string>
-    <string name="matches_found">" 個符合項目"</string>
-    <string name="zero">"否"</string>
     <string name="page_info">"頁面資訊"</string>
     <string name="page_info_view">"檢視頁面資訊"</string>
     <string name="page_info_address">"位址："</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 0dcf1f2..98142ac 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -44,13 +44,18 @@
     <!-- Label for a confirm button.  Used in multiple contexts. -->
     <string name="ok">OK</string>
 
-    <!--The find dialog -->
-    <!-- Displayed on the Find Dialog, stating "X matches" where X is the
-            number of matches found in the current page -->
-    <string name="matches_found">\u0020matches</string>
-    <!-- Displayed on the Find Dialog, stating that there are "zero
-            matches" -->
-    <string name="zero">No</string>
+    <!-- Displayed on the Find dialog to display the number of matches
+         found in the current page. -->
+    <plurals name="matches_found">
+        <!-- Case of no matches -->
+        <item quantity="zero">No matches</item>
+        <!-- Case of one match -->
+        <item quantity="one">1 match</item>
+        <!-- Case of "few" (two) matches -->
+        <item quantity="few"><xliff:g id="number" example="2">%d</xliff:g> matches</item>
+        <!-- Case of several matches -->
+        <item quantity="other"><xliff:g id="number" example="137">%d</xliff:g> matches</item>
+    </plurals>
     
     <!-- Menu item -->
     <string name="page_info">Page info</string>
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index bd6fdc6..f55ebb3 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -137,7 +137,7 @@
 import java.util.Date;
 import java.util.Enumeration;
 import java.util.HashMap;
-import java.util.List;
+import java.util.LinkedList;
 import java.util.Locale;
 import java.util.Vector;
 import java.util.regex.Matcher;
@@ -2938,6 +2938,73 @@
                 .show();
         }
 
+        // Container class for the next error dialog that needs to be
+        // displayed.
+        class ErrorDialog {
+            public final int mTitle;
+            public final String mDescription;
+            public final int mError;
+            ErrorDialog(int title, String desc, int error) {
+                mTitle = title;
+                mDescription = desc;
+                mError = error;
+            }
+        };
+
+        private void processNextError() {
+            if (mQueuedErrors == null) {
+                return;
+            }
+            // The first one is currently displayed so just remove it.
+            mQueuedErrors.removeFirst();
+            if (mQueuedErrors.size() == 0) {
+                mQueuedErrors = null;
+                return;
+            }
+            showError(mQueuedErrors.getFirst());
+        }
+
+        private DialogInterface.OnDismissListener mDialogListener =
+                new DialogInterface.OnDismissListener() {
+                    public void onDismiss(DialogInterface d) {
+                        processNextError();
+                    }
+                };
+        private LinkedList<ErrorDialog> mQueuedErrors;
+
+        private void queueError(int err, String desc) {
+            if (mQueuedErrors == null) {
+                mQueuedErrors = new LinkedList<ErrorDialog>();
+            }
+            for (ErrorDialog d : mQueuedErrors) {
+                if (d.mError == err) {
+                    // Already saw a similar error, ignore the new one.
+                    return;
+                }
+            }
+            ErrorDialog errDialog = new ErrorDialog(
+                    err == EventHandler.FILE_NOT_FOUND_ERROR ?
+                    R.string.browserFrameFileErrorLabel :
+                    R.string.browserFrameNetworkErrorLabel,
+                    desc, err);
+            mQueuedErrors.addLast(errDialog);
+
+            // Show the dialog now if the queue was empty.
+            if (mQueuedErrors.size() == 1) {
+                showError(errDialog);
+            }
+        }
+
+        private void showError(ErrorDialog errDialog) {
+            AlertDialog d = new AlertDialog.Builder(BrowserActivity.this)
+                    .setTitle(errDialog.mTitle)
+                    .setMessage(errDialog.mDescription)
+                    .setPositiveButton(R.string.ok, null)
+                    .create();
+            d.setOnDismissListener(mDialogListener);
+            d.show();
+        }
+
         /**
          * Show a dialog informing the user of the network error reported by
          * WebCore.
@@ -2950,15 +3017,10 @@
                     errorCode != EventHandler.ERROR_BAD_URL &&
                     errorCode != EventHandler.ERROR_UNSUPPORTED_SCHEME &&
                     errorCode != EventHandler.FILE_ERROR) {
-                new AlertDialog.Builder(BrowserActivity.this)
-                        .setTitle((errorCode == EventHandler.FILE_NOT_FOUND_ERROR) ?
-                                         R.string.browserFrameFileErrorLabel :
-                                         R.string.browserFrameNetworkErrorLabel)
-                        .setMessage(description)
-                        .setPositiveButton(R.string.ok, null)
-                        .show();
+                queueError(errorCode, description);
             }
-            Log.e(LOGTAG, "onReceivedError code:"+errorCode+" "+description);
+            Log.e(LOGTAG, "onReceivedError " + errorCode + " " + failingUrl
+                    + " " + description);
 
             // We need to reset the title after an error.
             resetTitleAndRevertLockIcon();
diff --git a/src/com/android/browser/BrowserBookmarksPage.java b/src/com/android/browser/BrowserBookmarksPage.java
index a7d45f9..050b24b 100644
--- a/src/com/android/browser/BrowserBookmarksPage.java
+++ b/src/com/android/browser/BrowserBookmarksPage.java
@@ -222,7 +222,7 @@
         i.putExtra(Intent.EXTRA_SHORTCUT_NAME, title);
         i.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
                 Intent.ShortcutIconResource.fromContext(BrowserBookmarksPage.this,
-                        R.drawable.ic_launcher_browser));
+                        R.drawable.ic_launcher_shortcut_browser_bookmark));
         // Do not allow duplicate items
         i.putExtra("duplicate", false);
         return i;
diff --git a/src/com/android/browser/FindDialog.java b/src/com/android/browser/FindDialog.java
index 43cd1c4..6e9574c 100644
--- a/src/com/android/browser/FindDialog.java
+++ b/src/com/android/browser/FindDialog.java
@@ -179,7 +179,7 @@
         Spannable span = (Spannable) mEditText.getText();
         span.setSpan(this, 0, span.length(), 
                      Spannable.SPAN_INCLUSIVE_INCLUSIVE);
-        mMatches.setText(R.string.zero);
+        setMatchesFound(0);
         disableButtons();
     }
     
@@ -206,11 +206,11 @@
         } else {
             mMatchesView.setVisibility(View.VISIBLE);
             int found = mWebView.findAll(find.toString());
-            mMatches.setText(Integer.toString(found));
+            setMatchesFound(found);
             if (found < 2) {
                 disableButtons();
                 if (found == 0) {
-                    mMatches.setText(R.string.zero);
+                    setMatchesFound(0);
                 }
             } else {
                 mPrevButton.setFocusable(true);
@@ -221,6 +221,13 @@
         }
     }
 
+    private void setMatchesFound(int found) {
+        String template = mBrowserActivity.getResources().
+                getQuantityString(R.plurals.matches_found, found, found);
+
+        mMatches.setText(template);
+    }
+
     public void afterTextChanged(Editable s) {
     }
 }
