Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1607)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkModel.java

Issue 1739163005: Java side of purging BookmarkId from offline pages (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Java side of offline id changes Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkModel.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkModel.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkModel.java
index 43e777683d46147c003f8ee1b3211dfbb9fc8e29..f231e7500a5f4e2bfd836beccd96e220e5e57c33 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkModel.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkModel.java
@@ -7,6 +7,7 @@ package org.chromium.chrome.browser.bookmarks;
import org.chromium.base.ObserverList;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.metrics.RecordHistogram;
+import org.chromium.chrome.browser.offlinepages.ClientId;
import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.OfflinePageModelObserver;
import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.SavePageCallback;
@@ -233,7 +234,8 @@ public class BookmarkModel extends BookmarkBridge {
if (mOfflinePageBridge != null) {
RecordHistogram.recordBooleanHistogram("OfflinePages.IncognitoSave",
webContents.isIncognito());
- mOfflinePageBridge.savePage(webContents, bookmarkId, new SavePageCallback() {
+ ClientId clientId = ClientId.createClientIdForBookmarkId(bookmarkId);
+ mOfflinePageBridge.savePage(webContents, clientId, new SavePageCallback() {
@Override
public void onSavePageDone(int savePageResult, String url, long offlineId) {
int saveResult;
@@ -268,8 +270,9 @@ public class BookmarkModel extends BookmarkBridge {
String url = getBookmarkById(bookmarkId).getUrl();
if (mOfflinePageBridge == null) return url;
+ ClientId clientId = ClientId.createClientIdForBookmarkId(bookmarkId);
return mOfflinePageBridge.getLaunchUrlAndMarkAccessed(
- mOfflinePageBridge.getPageByBookmarkId(bookmarkId), url);
+ mOfflinePageBridge.getPageByClientId(clientId), url);
}
/**
@@ -299,8 +302,9 @@ public class BookmarkModel extends BookmarkBridge {
List<BookmarkId> bookmarkIds = new ArrayList<BookmarkId>();
for (OfflinePageItem offlinePage : offlinePages) {
- if (existingBookmarks.contains(offlinePage.getBookmarkId())) {
- bookmarkIds.add(offlinePage.getBookmarkId());
+ BookmarkId bookmarkId = getBookmarkIdForOfflineClientId(offlinePage.getClientId());
+ if (existingBookmarks.contains(bookmarkId)) {
+ bookmarkIds.add(bookmarkId);
}
}
return bookmarkIds;
@@ -312,4 +316,15 @@ public class BookmarkModel extends BookmarkBridge {
public OfflinePageBridge getOfflinePageBridge() {
return mOfflinePageBridge;
}
+
+ /**
+ * @param id The client id to convert.
+ * @return The bookmark id contained in the specified client id.
+ */
+ public static BookmarkId getBookmarkIdForOfflineClientId(ClientId id) {
+ if (id.getNamespace() != OfflinePageBridge.BOOKMARK_NAMESPACE) {
+ return new BookmarkId(BookmarkType.NORMAL, -1);
+ }
+ return BookmarkId.getBookmarkIdFromString(id.getId());
+ }
}

Powered by Google App Engine
This is Rietveld 408576698