| 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);
|
| }
|
|
|