merge from open-source master

Change-Id: I53af51f3c14806f2302daeea62a125621851d2cc
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index 2dac050..5350a18 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -960,6 +960,9 @@
                     } else if (url.startsWith("http://")) {
                         url = url.substring(4);
                     }
+                    // Escape wildcards for LIKE operator.
+                    url = url.replace("\\", "\\\\").replace("%", "\\%")
+                            .replace("_", "\\_");
                     Cursor c = null;
                     try {
                         final ContentResolver cr
@@ -967,7 +970,7 @@
                         url = "%" + url;
                         String [] selArgs = new String[] { url };
                         String where = Browser.BookmarkColumns.URL
-                                + " LIKE ? AND "
+                                + " LIKE ? ESCAPE '\\' AND "
                                 + Browser.BookmarkColumns.BOOKMARK + " = 0";
                         c = cr.query(Browser.BOOKMARKS_URI, new String[]
                                 { Browser.BookmarkColumns._ID }, where, selArgs,