Code drop from //branches/cupcake/...@124589
diff --git a/src/com/android/browser/BrowserBookmarksAdapter.java b/src/com/android/browser/BrowserBookmarksAdapter.java
index 3b76e75..479dc0e 100644
--- a/src/com/android/browser/BrowserBookmarksAdapter.java
+++ b/src/com/android/browser/BrowserBookmarksAdapter.java
@@ -312,8 +312,21 @@
         if (url == null || favicon == null) {
             return;
         }
-        final String[] selArgs = new String[] { url };
-        final String where = Browser.BookmarkColumns.URL + " == ? AND "
+        // Strip the query.
+        int query = url.indexOf('?');
+        String noQuery = url;
+        if (query != -1) {
+            noQuery = url.substring(0, query);
+        }
+        url = noQuery + '?';
+        // Use noQuery to search for the base url (i.e. if the url is
+        // http://www.yahoo.com/?rs=1, search for http://www.yahoo.com)
+        // Use url to match the base url with other queries (i.e. if the url is
+        // http://www.google.com/m, search for
+        // http://www.google.com/m?some_query)
+        final String[] selArgs = new String[] { noQuery, url };
+        final String where = "(" + Browser.BookmarkColumns.URL + " == ? OR "
+                + Browser.BookmarkColumns.URL + " GLOB ? || '*') AND "
                 + Browser.BookmarkColumns.BOOKMARK + " == 1";
         final String[] projection = new String[] { Browser.BookmarkColumns._ID };
         final Cursor c = cr.query(Browser.BOOKMARKS_URI, projection, where,