diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 8379ab6..67ab130 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -236,7 +236,6 @@
     <string name="download_length_required">"Nelze stáhnout. Velikost položky nelze určit."</string>
     <string name="download_precondition_failed">"Stahování bylo přerušeno a nelze v něm pokračovat."</string>
     <string name="activity_instrumentation_test_runner">"Testovací verze prohlížeče"</string>
-    <string name="search_google">"Prohledat Google"</string>
     <string name="permlab_readHistoryBookmarks">"čtení historie a záložek prohlížeče"</string>
     <string name="permdesc_readHistoryBookmarks">"Umožňuje aplikaci číst všechny navštívené adresy URL a záložky prohlížeče."</string>
     <string name="permlab_writeHistoryBookmarks">"zápis historie a záložek prohlížeče"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index a6f2f0f..184bc83 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -236,7 +236,6 @@
     <string name="download_length_required">"Download kann nicht gestartet werden, da die Größe des Elements nicht bestimmt werden kann."</string>
     <string name="download_precondition_failed">"Download wurde unterbrochen und kann nicht fortgesetzt werden."</string>
     <string name="activity_instrumentation_test_runner">"Browser Test Runner"</string>
-    <string name="search_google">"In Google suchen"</string>
     <string name="permlab_readHistoryBookmarks">"Browserverlauf und Lesezeichen lesen"</string>
     <string name="permdesc_readHistoryBookmarks">"Ermöglicht der Anwendung, alle URLs, die mit dem Browser besucht wurden, sowie alle Lesezeichen des Browsers zu lesen."</string>
     <string name="permlab_writeHistoryBookmarks">"Browserverlauf und Lesezeichen schreiben"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 7454dd0..5a5eb6e 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -234,7 +234,6 @@
     <string name="download_length_required">"No es posible realizar la descarga. No puede determinarse el tamaño del elemento."</string>
     <string name="download_precondition_failed">"Descarga interrumpida. No se puede retomar."</string>
     <string name="activity_instrumentation_test_runner">"Ejecutor de pruebas del navegador"</string>
-    <string name="search_google">"Buscar de Google"</string>
     <string name="permlab_readHistoryBookmarks">"leer historial y marcadores del navegador"</string>
     <string name="permdesc_readHistoryBookmarks">"Permite a la aplicación leer todas las URL que ha visitado el navegador y todos los marcadores del navegador."</string>
     <string name="permlab_writeHistoryBookmarks">"escribir historial y marcadores del navegador"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index f2a62c5..0ba9501 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -236,7 +236,6 @@
     <string name="download_length_required">"No se puede realizar la descarga, porque no es posible determinar el tamaño del elemento."</string>
     <string name="download_precondition_failed">"La descarga se ha interrumpido y no se puede reanudar."</string>
     <string name="activity_instrumentation_test_runner">"Realizador de pruebas del navegador"</string>
-    <string name="search_google">"Búsqueda de Google"</string>
     <string name="permlab_readHistoryBookmarks">"leer información de marcadores y del historial del navegador"</string>
     <string name="permdesc_readHistoryBookmarks">"Permite que la aplicación lea todas las URL que ha visitado el navegador y todos sus marcadores."</string>
     <string name="permlab_writeHistoryBookmarks">"escribir en marcadores y en el historial del navegador"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index b2a08fe..4be49ee 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -236,7 +236,6 @@
     <string name="download_length_required">"Téléchargement impossible. La taille de l\'élément n\'a pas pu être déterminée."</string>
     <string name="download_precondition_failed">"Téléchargement interrompu. Impossible de reprendre le téléchargement."</string>
     <string name="activity_instrumentation_test_runner">"Testeur de navigateur"</string>
-    <string name="search_google">"Recherche Google"</string>
     <string name="permlab_readHistoryBookmarks">"Lecture de l\'historique du navigateur et des favoris"</string>
     <string name="permdesc_readHistoryBookmarks">"Permet à l\'application de lire toutes les URL visitées par le navigateur et tous les favoris."</string>
     <string name="permlab_writeHistoryBookmarks">"Enregistrement de l\'historique du navigateur et des favoris"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 9a45a6c..d441fba 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -236,7 +236,6 @@
     <string name="download_length_required">"Impossibile effettuare il download. Impossibile determinare le dimensioni dell\'elemento."</string>
     <string name="download_precondition_failed">"Download interrotto. Impossibile ripristinarlo."</string>
     <string name="activity_instrumentation_test_runner">"Browser Test Runner"</string>
-    <string name="search_google">"Cerca su Google"</string>
     <string name="permlab_readHistoryBookmarks">"lettura cronologia e segnalibri del browser"</string>
     <string name="permdesc_readHistoryBookmarks">"Consente all\'applicazione di leggere tutti gli URL visitati e tutti i segnalibri del browser."</string>
     <string name="permlab_writeHistoryBookmarks">"creazione cronologia e segnalibri del browser"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index e923538..be64425 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -236,7 +236,6 @@
     <string name="download_length_required">"項目のサイズを特定できないため、ダウンロードできません。"</string>
     <string name="download_precondition_failed">"ダウンロードが中断されました。再開できません。"</string>
     <string name="activity_instrumentation_test_runner">"Browser Test Runner"</string>
-    <string name="search_google">"Google検索"</string>
     <string name="permlab_readHistoryBookmarks">"ブラウザの履歴とブックマークの読み取り"</string>
     <string name="permdesc_readHistoryBookmarks">"ブラウザでアクセスしたすべてのURLとブックマークの読み取りをアプリケーションに許可します。"</string>
     <string name="permlab_writeHistoryBookmarks">"ブラウザの履歴とブックマークの書き込み"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 51a622a..60c1975 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -236,7 +236,6 @@
     <string name="download_length_required">"항목의 크기를 확인할 수 없으므로 다운로드할 수 없습니다."</string>
     <string name="download_precondition_failed">"다운로드 중단됨. 다시 시작할 수 없습니다."</string>
     <string name="activity_instrumentation_test_runner">"브라우저 테스트 실행기"</string>
-    <string name="search_google">"Google 검색"</string>
     <string name="permlab_readHistoryBookmarks">"브라우저의 기록 및 북마크 읽기"</string>
     <string name="permdesc_readHistoryBookmarks">"응용프로그램이 브라우저에서 방문한 모든 URL과 브라우저의 북마크를 모두 읽을 수 있습니다."</string>
     <string name="permlab_writeHistoryBookmarks">"브라우저의 기록 및 북마크 쓰기"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index ff90972..ad4fee2 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -234,7 +234,6 @@
     <string name="download_length_required">"Kan ikke laste ned. Klarte ikke bestemme størrelsen på filen."</string>
     <string name="download_precondition_failed">"Nedlastingen ble avbrutt. Den kan ikke fortsettes."</string>
     <string name="activity_instrumentation_test_runner">"Browser Test Runner"</string>
-    <string name="search_google">"Søk på Google"</string>
     <string name="permlab_readHistoryBookmarks">"read Browser\'s history and bookmarks"</string>
     <string name="permdesc_readHistoryBookmarks">"Allows the application to read all the URLs that the Browser has visited, and all of the Browser\'s bookmarks."</string>
     <string name="permlab_writeHistoryBookmarks">"write Browser\'s history and bookmarks"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 87fb6f6..5904587 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -236,7 +236,6 @@
     <string name="download_length_required">"Kan niet downloaden. De grootte van het item kan niet worden vastgesteld."</string>
     <string name="download_precondition_failed">"Download is onderbroken. Deze kan niet worden voortgezet."</string>
     <string name="activity_instrumentation_test_runner">"Browser Test Runner"</string>
-    <string name="search_google">"Zoeken met Google"</string>
     <string name="permlab_readHistoryBookmarks">"browsergeschiedenis en bladwijzers lezen"</string>
     <string name="permdesc_readHistoryBookmarks">"Hiermee kan een toepassing de URL\'s lezen die u via de browser heeft bezocht, evenals alle bladwijzers van de browser."</string>
     <string name="permlab_writeHistoryBookmarks">"browsergeschiedenis en bladwijzers schrijven"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index d27e2c2..9b8b29b 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -236,7 +236,6 @@
     <string name="download_length_required">"Pobieranie niemożliwe. Nie można ustalić rozmiaru elementu."</string>
     <string name="download_precondition_failed">"Pobieranie zostało przerwane. Nie można go wznowić."</string>
     <string name="activity_instrumentation_test_runner">"Uruchamianie testów przeglądarki"</string>
-    <string name="search_google">"Szukanie Google"</string>
     <string name="permlab_readHistoryBookmarks">"odczytywanie historii i zakładek przeglądarki"</string>
     <string name="permdesc_readHistoryBookmarks">"Zezwala aplikacji na odczytanie wszystkich adresów URL odwiedzonych przy użyciu przeglądarki oraz wszystkich zakładek przeglądarki."</string>
     <string name="permlab_writeHistoryBookmarks">"zapisać historię i zakładki przeglądarki"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 71dbefa..b4aa71b 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -236,7 +236,6 @@
     <string name="download_length_required">"Загрузка невозможна. Не удается определить размер элемента."</string>
     <string name="download_precondition_failed">"Загрузка прервана и не может быть продолжена."</string>
     <string name="activity_instrumentation_test_runner">"Проверка браузера"</string>
-    <string name="search_google">"Поиск в Google"</string>
     <string name="permlab_readHistoryBookmarks">"считывать историю и закладки браузера"</string>
     <string name="permdesc_readHistoryBookmarks">"Позволяет приложению считывать все URL, открытые через браузер, и все закладки браузера."</string>
     <string name="permlab_writeHistoryBookmarks">"записывать историю и закладки браузера"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index c8fad06..2928301 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -238,7 +238,6 @@
     <string name="download_length_required">"无法下载。无法确定该项的大小。"</string>
     <string name="download_precondition_failed">"下载中断，无法重新开始。"</string>
     <string name="activity_instrumentation_test_runner">"浏览器测试运行器"</string>
-    <string name="search_google">"使用 Google 进行搜索"</string>
     <string name="permlab_readHistoryBookmarks">"读取浏览器的历史记录和书签"</string>
     <string name="permdesc_readHistoryBookmarks">"允许应用程序读取浏览器访问过的所有网址以及浏览器的所有书签。"</string>
     <string name="permlab_writeHistoryBookmarks">"写入浏览器的历史记录和书签"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 95dcec0..b1729d2 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -236,7 +236,6 @@
     <string name="download_length_required">"無法下載。物件大小無法估計。"</string>
     <string name="download_precondition_failed">"下載中斷。無法續傳。"</string>
     <string name="activity_instrumentation_test_runner">"Browser Test Runner"</string>
-    <string name="search_google">"搜尋 Google"</string>
     <string name="permlab_readHistoryBookmarks">"讀取瀏覽器的瀏覽記錄和書籤"</string>
     <string name="permdesc_readHistoryBookmarks">"允許應用程式讀取瀏覽器造訪過的所有 URL 和瀏覽器所有的書籤。"</string>
     <string name="permlab_writeHistoryBookmarks">"寫入瀏覽器的瀏覽記錄和書籤"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 22ff0df..21ef535 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -656,10 +656,11 @@
     <!-- Do not translate.  This string is an internal URI, not seen in the UI. -->
     <string name="google_search_base" translatable="false">
         http://www.google.com/m?hl=%1$s&amp;gl=%2$s&amp;</string>
-
-    <!-- Used in Goto to indicate Google search -->
-    <string name="search_google">Search Google</string>
-
+    
+    <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+    <string name="search_the_web">Search the web</string>
+    
     <!-- Title of an application permission, listed so the user can choose whether 
         they want to allow the application to do this. -->
     <string name="permlab_readHistoryBookmarks">read Browser\'s history and bookmarks</string>
diff --git a/src/com/android/browser/BrowserProvider.java b/src/com/android/browser/BrowserProvider.java
index 96bfad6..11d6443 100644
--- a/src/com/android/browser/BrowserProvider.java
+++ b/src/com/android/browser/BrowserProvider.java
@@ -71,6 +71,7 @@
     private static final int SUGGEST_COLUMN_ICON_1_ID = 5;
     private static final int SUGGEST_COLUMN_ICON_2_ID = 6;
     private static final int SUGGEST_COLUMN_QUERY_ID = 7;
+    private static final int SUGGEST_COLUMN_FORMAT = 8;
 
     // shared suggestion columns
     private static final String[] COLUMNS = new String[] {
@@ -81,7 +82,8 @@
             SearchManager.SUGGEST_COLUMN_TEXT_2,
             SearchManager.SUGGEST_COLUMN_ICON_1,
             SearchManager.SUGGEST_COLUMN_ICON_2,
-            SearchManager.SUGGEST_COLUMN_QUERY};
+            SearchManager.SUGGEST_COLUMN_QUERY,
+            SearchManager.SUGGEST_COLUMN_FORMAT};
 
     private static final int MAX_SUGGESTION_SHORT_ENTRIES = 3;
     private static final int MAX_SUGGESTION_LONG_ENTRIES = 6;
@@ -351,20 +353,20 @@
 
                     case SUGGEST_COLUMN_TEXT_1_ID:
                         if (mHistoryCount > mPos) {
-                            return getTitle(mHistoryCursor);
+                            return getHistoryTitle();
                         } else if (!mBeyondCursor) {
-                            return getTitle(mSuggestCursor);
+                            return mSuggestCursor.getString(1);
                         } else {
                             return mString;
                         }
 
                     case SUGGEST_COLUMN_TEXT_2_ID:
                         if (mHistoryCount > mPos) {
-                            return getSubtitle(mHistoryCursor);
+                            return getHistorySubtitle();
                         } else if (!mBeyondCursor) {
-                            return getSubtitle(mSuggestCursor);
+                            return mSuggestCursor.getString(2);
                         } else {
-                            return getContext().getString(R.string.search_google);
+                            return getContext().getString(R.string.search_the_web);
                         }
 
                     case SUGGEST_COLUMN_ICON_1_ID:
@@ -395,6 +397,9 @@
                         } else {
                             return mString;
                         }
+                        
+                    case SUGGEST_COLUMN_FORMAT:
+                        return "html";
                 }
             }
             return null;
@@ -466,13 +471,12 @@
          * Provides the title (text line 1) for a browser suggestion, which should be the
          * webpage title. If the webpage title is empty, returns the stripped url instead.
          * 
-         * @param cursor a history cursor or suggest cursor
          * @return the title string to use
          */
-        private String getTitle(Cursor cursor) {
-            String title = cursor.getString(2 /* webpage title */);
+        private String getHistoryTitle() {
+            String title = mHistoryCursor.getString(2 /* webpage title */);
             if (TextUtils.isEmpty(title) || TextUtils.getTrimmedLength(title) == 0) {
-                title = stripUrl(cursor.getString(1 /* url */));
+                title = beautifyUrl(mHistoryCursor.getString(1 /* url */));
             }
             return title;
         }
@@ -482,26 +486,25 @@
          * webpage url. If the webpage title is empty, then the url should go in the title
          * instead, and the subtitle should be empty, so this would return null.
          * 
-         * @param cursor a history cursor or suggest cursor
          * @return the subtitle string to use, or null if none
          */
-        private String getSubtitle(Cursor cursor) {
-            String title = cursor.getString(2 /* webpage title */);
+        private String getHistorySubtitle() {
+            String title = mHistoryCursor.getString(2 /* webpage title */);
             if (TextUtils.isEmpty(title) || TextUtils.getTrimmedLength(title) == 0) {
                 return null;
             } else {
-                return stripUrl(cursor.getString(1 /* url */));
+                return beautifyUrl(mHistoryCursor.getString(1 /* url */));
             }
         }
         
         /**
-         * Strips "http://" from the beginning of a url.
+         * Strips "http://" from the beginning of a url and adds html formatting to make it green.
          */
-        private String stripUrl(String url) {
+        private String beautifyUrl(String url) {
             if (url.startsWith("http://")) {
                 url = url.substring(7);
             }
-            return url;
+            return "<font color=\"green\">" + url + "</font>";
         }
     }
 
