Bug 1390140 - Account for bookmark ID being <null> when populating BrowserSearch's HomeContextMenuInfo. r=Grisha

The combined history view returns a bookmark ID of <null> for items that aren't a bookmark. Calling cursor.getInt() silently turns this into an ID of 0, which doesn't play well with the rest of our code that assumes that the bookmark ID for items that aren't in fact bookmarks is -1.

When pressing "Remove" on a search history result, this means that we then end up trying to remove bookmark 0, i.e. the root "bookmark". Luckily this attempt doesn't succeed, but unfortunately still manages to crash the browser along the way.

MozReview-Commit-ID: FZk4cI2EDAE

--HG--
extra : rebase_source : c35a8c3eabeb8607392e073df0d697585e78c64c
This commit is contained in:
Jan Henning 2017-08-23 21:13:35 +02:00
Родитель 68ca7b0d4c
Коммит 19fcb48e72
1 изменённых файлов: 2 добавлений и 1 удалений

Просмотреть файл

@ -377,7 +377,8 @@ public class BrowserSearch extends HomeFragment
info.url = cursor.getString(cursor.getColumnIndexOrThrow(BrowserContract.Combined.URL));
info.title = cursor.getString(cursor.getColumnIndexOrThrow(BrowserContract.Combined.TITLE));
int bookmarkId = cursor.getInt(cursor.getColumnIndexOrThrow(BrowserContract.Combined.BOOKMARK_ID));
final int bookmarkColumn = cursor.getColumnIndexOrThrow(BrowserContract.Combined.BOOKMARK_ID);
int bookmarkId = cursor.isNull(bookmarkColumn) ? -1 : cursor.getInt(bookmarkColumn);
info.bookmarkId = bookmarkId;
int historyId = cursor.getInt(cursor.getColumnIndexOrThrow(BrowserContract.Combined.HISTORY_ID));