Chromium Code Reviews| 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 1c698fce661f2ecd44419a27aa2042d89fd85f75..d7ed65d2e52e48dee8eb911275252e27a0d17ec8 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 |
| @@ -48,6 +48,19 @@ public final class OfflinePageBridge { |
| } |
| /** |
| + * Callback used to marking an offline page accessed. |
|
newt (away)
2015/09/21 23:02:05
s/marking/mark/
jianli
2015/09/23 00:11:11
Done.
|
| + */ |
| + public interface MarkPageAccessedCallback { |
|
newt (away)
2015/09/21 23:02:05
If MarkPageAccessedCallback is only used for tests
jianli
2015/09/23 00:11:11
Done.
|
| + /** |
| + * Delivers result of marking a page accessed. |
| + * |
| + * @param success Whether the operation succeeds. |
| + */ |
| + @CalledByNative("MarkPageAccessedCallback") |
| + void onMarkPageAccessedDone(boolean success); |
| + } |
| + |
| + /** |
| * Callback used to deleting an offline page. |
| */ |
| public interface DeletePageCallback { |
| @@ -161,6 +174,30 @@ public final class OfflinePageBridge { |
| } |
| /** |
| + * Marks that an offline page related to a specified bookmark has been accessed. |
| + * |
| + * @param bookmarkId Bookmark ID for which the offline copy will be deleted. |
| + */ |
| + public void markPageAccessed(BookmarkId bookmarkId) { |
| + assert mIsNativeOfflinePageModelLoaded; |
| + nativeMarkPageAccessed(mNativeOfflinePageBridge, null, bookmarkId.getId()); |
| + } |
| + |
| + /** |
| + * Marks that an offline page related to a specified bookmark has been accessed. A callback |
| + * could be provided to wait for the result. |
| + * |
| + * @param bookmarkId Bookmark ID for which the offline copy will be deleted. |
| + * @param callback Interface that contains a callback. |
| + * @see MarkPageAccessedCallback |
| + */ |
| + @VisibleForTesting |
| + public void markPageAccessedForTest(BookmarkId bookmarkId, MarkPageAccessedCallback callback) { |
| + assert mIsNativeOfflinePageModelLoaded; |
| + nativeMarkPageAccessed(mNativeOfflinePageBridge, callback, bookmarkId.getId()); |
| + } |
| + |
| + /** |
| * Deletes an offline page related to a specified bookmark. |
| * |
| * @param bookmarkId Bookmark ID for which the offline copy will be deleted. |
| @@ -217,14 +254,15 @@ public final class OfflinePageBridge { |
| @CalledByNative |
| private static void createOfflinePageAndAddToList(List<OfflinePageItem> offlinePagesList, |
| - String url, long bookmarkId, String offlineUrl, long fileSize) { |
| - offlinePagesList.add(createOfflinePageItem(url, bookmarkId, offlineUrl, fileSize)); |
| + String url, long bookmarkId, String offlineUrl, long fileSize, int accessCount) { |
| + offlinePagesList.add(createOfflinePageItem(url, bookmarkId, offlineUrl, fileSize, |
| + accessCount)); |
| } |
| @CalledByNative |
| private static OfflinePageItem createOfflinePageItem( |
| - String url, long bookmarkId, String offlineUrl, long fileSize) { |
| - return new OfflinePageItem(url, bookmarkId, offlineUrl, fileSize); |
| + String url, long bookmarkId, String offlineUrl, long fileSize, int accessCount) { |
| + return new OfflinePageItem(url, bookmarkId, offlineUrl, fileSize, accessCount); |
| } |
| private static native boolean nativeIsOfflinePagesEnabled(); |
| @@ -237,6 +275,8 @@ public final class OfflinePageBridge { |
| long nativeOfflinePageBridge, long bookmarkId); |
| private native void nativeSavePage(long nativeOfflinePageBridge, SavePageCallback callback, |
| WebContents webContents, long bookmarkId); |
| + private native void nativeMarkPageAccessed(long nativeOfflinePageBridge, |
| + MarkPageAccessedCallback callback, long bookmarkId); |
| private native void nativeDeletePage(long nativeOfflinePageBridge, |
| DeletePageCallback callback, long bookmarkId); |
| private native void nativeDeletePages( |