| Index: chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarksModel.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarksModel.java b/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarksModel.java
|
| index 5ec67615c9b2ac7e8fb4b9819b0a1a5b9e58b82d..c0eea27e8c4fbc0bb0b974e6cb9e17d9d8caacc8 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarksModel.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarksModel.java
|
| @@ -27,6 +27,7 @@ import java.util.ArrayList;
|
| import java.util.Calendar;
|
| import java.util.Collections;
|
| import java.util.Comparator;
|
| +import java.util.HashSet;
|
| import java.util.List;
|
| import java.util.concurrent.TimeUnit;
|
|
|
| @@ -327,9 +328,17 @@ public class EnhancedBookmarksModel extends BookmarksBridge {
|
|
|
| List<OfflinePageItem> offlinePages = mOfflinePageBridge.getAllPages();
|
| Collections.sort(offlinePages, sOfflinePageComparator);
|
| +
|
| + // We are going to filter out all of the offline pages without a matching bookmark.
|
| + // http://crbug.com/537806
|
| + HashSet<BookmarkId> existingBookmarks =
|
| + new HashSet<BookmarkId>(getAllBookmarkIDsOrderedByCreationDate());
|
| +
|
| List<BookmarkId> bookmarkIds = new ArrayList<BookmarkId>();
|
| for (OfflinePageItem offlinePage : offlinePages) {
|
| - bookmarkIds.add(offlinePage.getBookmarkId());
|
| + if (existingBookmarks.contains(offlinePage.getBookmarkId())) {
|
| + bookmarkIds.add(offlinePage.getBookmarkId());
|
| + }
|
| }
|
| return bookmarkIds;
|
| }
|
|
|