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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridge.java

Issue 1397233002: [Offline pages] Detecting missing offline copy (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updates based on the latest code review feedback Created 5 years, 2 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/offlinepages/OfflinePageBridge.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridge.java
index 0a5a923041bcbe99a4a873e43979c3d7b6bd66d5..b928d25d9b15dae935fb88cc2d30883456870c52 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridge.java
@@ -15,6 +15,7 @@ import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.browser.BookmarksBridge;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.components.bookmarks.BookmarkId;
+import org.chromium.components.bookmarks.BookmarkType;
import org.chromium.components.offlinepages.SavePageResult;
import org.chromium.content.browser.ContentViewCore;
import org.chromium.content_public.browser.WebContents;
@@ -69,8 +70,7 @@ public final class OfflinePageBridge {
}
/**
- * Base empty implementation observer class that provides listeners to be notified of changes to
- * the offline page model.
+ * Base observer class listeners to be notified of changes to the offline page model.
*/
public abstract static class OfflinePageModelObserver {
/**
@@ -83,6 +83,13 @@ public final class OfflinePageBridge {
* update an offline page.
*/
public void offlinePageModelChanged() {}
+
+ /**
+ * Called when an offline page is deleted. This can be called as a result of
+ * #checkOfflinePageMetadata().
+ * @param bookmarkId A bookmark ID of the deleted offline page.
+ */
+ public void offlinePageDeleted(BookmarkId bookmarkId) {}
}
private static int getFreeSpacePercentage() {
@@ -267,6 +274,13 @@ public final class OfflinePageBridge {
return result;
}
+ /**
+ * Starts a check of offline page metadata, e.g. are all offline copies present.
+ */
+ public void checkOfflinePageMetadata() {
+ nativeCheckMetadataConsistency(mNativeOfflinePageBridge);
+ }
+
@CalledByNative
private void offlinePageModelLoaded() {
mIsNativeOfflinePageModelLoaded = true;
@@ -283,6 +297,14 @@ public final class OfflinePageBridge {
}
@CalledByNative
+ private void offlinePageDeleted(long bookmarkId) {
+ BookmarkId id = new BookmarkId(bookmarkId, BookmarkType.NORMAL);
+ for (OfflinePageModelObserver observer : mObservers) {
+ observer.offlinePageDeleted(id);
+ }
+ }
+
+ @CalledByNative
private static void createOfflinePageAndAddToList(List<OfflinePageItem> offlinePagesList,
String url, long bookmarkId, String offlineUrl, long fileSize, int accessCount) {
offlinePagesList.add(createOfflinePageItem(url, bookmarkId, offlineUrl, fileSize,
@@ -312,4 +334,5 @@ public final class OfflinePageBridge {
long nativeOfflinePageBridge, DeletePageCallback callback, long[] bookmarkIds);
private native void nativeGetPagesToCleanUp(
long nativeOfflinePageBridge, List<OfflinePageItem> offlinePages);
+ private native void nativeCheckMetadataConsistency(long nativeOfflinePageBridge);
}

Powered by Google App Engine
This is Rietveld 408576698