Bug 1080016 - Display favicons properly after interrupted page loads, r=ckitching
--- a/mobile/android/base/db/LocalBrowserDB.java
+++ b/mobile/android/base/db/LocalBrowserDB.java
@@ -1008,17 +1008,24 @@ public class LocalBrowserDB {
Cursor c = cr.query(mHistoryUriWithProfile,
new String[] { History.FAVICON_URL },
Combined.URL + " = ?",
new String[] { uri },
null);
try {
if (c.moveToFirst()) {
- return c.getString(c.getColumnIndexOrThrow(History.FAVICON_URL));
+ // Interrupted page loads can leave History items without a valid favicon_id.
+ final int columnIndex = c.getColumnIndexOrThrow(History.FAVICON_URL);
+ if (!c.isNull(columnIndex)) {
+ final String faviconURL = c.getString(columnIndex);
+ if (faviconURL != null) {
+ return faviconURL;
+ }
+ }
}
} finally {
c.close();
}
// If that fails, check in the bookmarks table.
c = cr.query(mBookmarksUriWithProfile,
new String[] { Bookmarks.FAVICON_URL },