Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.chrome.browser.offlinepages; | 5 package org.chromium.chrome.browser.offlinepages; |
| 6 | 6 |
| 7 import org.chromium.base.ObserverList; | 7 import org.chromium.base.ObserverList; |
| 8 import org.chromium.base.ThreadUtils; | 8 import org.chromium.base.ThreadUtils; |
| 9 import org.chromium.base.VisibleForTesting; | 9 import org.chromium.base.VisibleForTesting; |
| 10 import org.chromium.base.annotations.CalledByNative; | 10 import org.chromium.base.annotations.CalledByNative; |
| (...skipping 30 matching lines...) Expand all Loading... | |
| 41 * @param savePageResult Result of the saving. Uses | 41 * @param savePageResult Result of the saving. Uses |
| 42 * {@see org.chromium.components.offlinepages.SavePageResult} enum. | 42 * {@see org.chromium.components.offlinepages.SavePageResult} enum. |
| 43 * @param url URL of the saved page. | 43 * @param url URL of the saved page. |
| 44 * @see OfflinePageBridge#savePage() | 44 * @see OfflinePageBridge#savePage() |
| 45 */ | 45 */ |
| 46 @CalledByNative("SavePageCallback") | 46 @CalledByNative("SavePageCallback") |
| 47 void onSavePageDone(int savePageResult, String url); | 47 void onSavePageDone(int savePageResult, String url); |
| 48 } | 48 } |
| 49 | 49 |
| 50 /** | 50 /** |
| 51 * Callback used to marking an offline page accessed. | |
| 52 */ | |
| 53 public interface MarkPageAccessedCallback { | |
| 54 /** | |
| 55 * Delivers result of marking a page accessed. | |
| 56 * | |
| 57 * @param success Whether the operation succeeds. | |
| 58 */ | |
| 59 @CalledByNative("MarkPageAccessedCallback") | |
| 60 void onMarkPageAccessedDone(boolean success); | |
| 61 } | |
| 62 | |
| 63 /** | |
| 51 * Callback used to deleting an offline page. | 64 * Callback used to deleting an offline page. |
| 52 */ | 65 */ |
| 53 public interface DeletePageCallback { | 66 public interface DeletePageCallback { |
| 54 /** | 67 /** |
| 55 * Delivers result of deleting a page. | 68 * Delivers result of deleting a page. |
| 56 * | 69 * |
| 57 * @param deletePageResult Result of deleting the page. Uses | 70 * @param deletePageResult Result of deleting the page. Uses |
| 58 * {@see org.chromium.components.offlinepages.DeletePageResult} enum . | 71 * {@see org.chromium.components.offlinepages.DeletePageResult} enum . |
| 59 * @see OfflinePageBridge#deletePage() | 72 * @see OfflinePageBridge#deletePage() |
| 60 */ | 73 */ |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 154 * @see SavePageCallback | 167 * @see SavePageCallback |
| 155 */ | 168 */ |
| 156 @VisibleForTesting | 169 @VisibleForTesting |
| 157 public void savePage( | 170 public void savePage( |
| 158 WebContents webContents, BookmarkId bookmarkId, SavePageCallback cal lback) { | 171 WebContents webContents, BookmarkId bookmarkId, SavePageCallback cal lback) { |
| 159 assert mIsNativeOfflinePageModelLoaded; | 172 assert mIsNativeOfflinePageModelLoaded; |
| 160 nativeSavePage(mNativeOfflinePageBridge, callback, webContents, bookmark Id.getId()); | 173 nativeSavePage(mNativeOfflinePageBridge, callback, webContents, bookmark Id.getId()); |
| 161 } | 174 } |
| 162 | 175 |
| 163 /** | 176 /** |
| 177 * Marks that an offline page related to a specified bookmark has been acces sed. | |
| 178 * | |
| 179 * @param bookmarkId Bookmark ID for which the offline copy will be deleted. | |
| 180 * @param callback Interface that contains a callback. | |
| 181 * @see MarkPageAccessedCallback | |
| 182 */ | |
| 183 @VisibleForTesting | |
| 184 public void markPageAccessed(BookmarkId bookmarkId, MarkPageAccessedCallback callback) { | |
|
Ian Wen
2015/09/18 21:20:44
How about add another public method called "markPa
jianli
2015/09/18 21:42:28
Done.
| |
| 185 assert mIsNativeOfflinePageModelLoaded; | |
| 186 nativeMarkPageAccessed(mNativeOfflinePageBridge, callback, bookmarkId.ge tId()); | |
| 187 } | |
| 188 | |
| 189 /** | |
| 164 * Deletes an offline page related to a specified bookmark. | 190 * Deletes an offline page related to a specified bookmark. |
| 165 * | 191 * |
| 166 * @param bookmarkId Bookmark ID for which the offline copy will be deleted. | 192 * @param bookmarkId Bookmark ID for which the offline copy will be deleted. |
| 167 * @param callback Interface that contains a callback. | 193 * @param callback Interface that contains a callback. |
| 168 * @see DeletePageCallback | 194 * @see DeletePageCallback |
| 169 */ | 195 */ |
| 170 @VisibleForTesting | 196 @VisibleForTesting |
| 171 public void deletePage(BookmarkId bookmarkId, DeletePageCallback callback) { | 197 public void deletePage(BookmarkId bookmarkId, DeletePageCallback callback) { |
| 172 assert mIsNativeOfflinePageModelLoaded; | 198 assert mIsNativeOfflinePageModelLoaded; |
| 173 nativeDeletePage(mNativeOfflinePageBridge, callback, bookmarkId.getId()) ; | 199 nativeDeletePage(mNativeOfflinePageBridge, callback, bookmarkId.getId()) ; |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 210 @CalledByNative | 236 @CalledByNative |
| 211 private void offlinePageModelLoaded() { | 237 private void offlinePageModelLoaded() { |
| 212 mIsNativeOfflinePageModelLoaded = true; | 238 mIsNativeOfflinePageModelLoaded = true; |
| 213 for (OfflinePageModelObserver observer : mObservers) { | 239 for (OfflinePageModelObserver observer : mObservers) { |
| 214 observer.offlinePageModelLoaded(); | 240 observer.offlinePageModelLoaded(); |
| 215 } | 241 } |
| 216 } | 242 } |
| 217 | 243 |
| 218 @CalledByNative | 244 @CalledByNative |
| 219 private static void createOfflinePageAndAddToList(List<OfflinePageItem> offl inePagesList, | 245 private static void createOfflinePageAndAddToList(List<OfflinePageItem> offl inePagesList, |
| 220 String url, long bookmarkId, String offlineUrl, long fileSize) { | 246 String url, long bookmarkId, String offlineUrl, long fileSize, int a ccessCount) { |
| 221 offlinePagesList.add(createOfflinePageItem(url, bookmarkId, offlineUrl, fileSize)); | 247 offlinePagesList.add(createOfflinePageItem(url, bookmarkId, offlineUrl, fileSize, |
| 248 accessCount)); | |
| 222 } | 249 } |
| 223 | 250 |
| 224 @CalledByNative | 251 @CalledByNative |
| 225 private static OfflinePageItem createOfflinePageItem( | 252 private static OfflinePageItem createOfflinePageItem( |
| 226 String url, long bookmarkId, String offlineUrl, long fileSize) { | 253 String url, long bookmarkId, String offlineUrl, long fileSize, int a ccessCount) { |
| 227 return new OfflinePageItem(url, bookmarkId, offlineUrl, fileSize); | 254 return new OfflinePageItem(url, bookmarkId, offlineUrl, fileSize, access Count); |
| 228 } | 255 } |
| 229 | 256 |
| 230 private static native boolean nativeIsOfflinePagesEnabled(); | 257 private static native boolean nativeIsOfflinePagesEnabled(); |
| 231 | 258 |
| 232 private native long nativeInit(Profile profile); | 259 private native long nativeInit(Profile profile); |
| 233 private native void nativeDestroy(long nativeOfflinePageBridge); | 260 private native void nativeDestroy(long nativeOfflinePageBridge); |
| 234 private native void nativeGetAllPages( | 261 private native void nativeGetAllPages( |
| 235 long nativeOfflinePageBridge, List<OfflinePageItem> offlinePages); | 262 long nativeOfflinePageBridge, List<OfflinePageItem> offlinePages); |
| 236 private native OfflinePageItem nativeGetPageByBookmarkId( | 263 private native OfflinePageItem nativeGetPageByBookmarkId( |
| 237 long nativeOfflinePageBridge, long bookmarkId); | 264 long nativeOfflinePageBridge, long bookmarkId); |
| 238 private native void nativeSavePage(long nativeOfflinePageBridge, SavePageCal lback callback, | 265 private native void nativeSavePage(long nativeOfflinePageBridge, SavePageCal lback callback, |
| 239 WebContents webContents, long bookmarkId); | 266 WebContents webContents, long bookmarkId); |
| 267 private native void nativeMarkPageAccessed(long nativeOfflinePageBridge, | |
| 268 MarkPageAccessedCallback callback, long bookmarkId); | |
| 240 private native void nativeDeletePage(long nativeOfflinePageBridge, | 269 private native void nativeDeletePage(long nativeOfflinePageBridge, |
| 241 DeletePageCallback callback, long bookmarkId); | 270 DeletePageCallback callback, long bookmarkId); |
| 242 private native void nativeDeletePages( | 271 private native void nativeDeletePages( |
| 243 long nativeOfflinePageBridge, DeletePageCallback callback, long[] bo okmarkIds); | 272 long nativeOfflinePageBridge, DeletePageCallback callback, long[] bo okmarkIds); |
| 244 private native void nativeGetPagesToCleanUp( | 273 private native void nativeGetPagesToCleanUp( |
| 245 long nativeOfflinePageBridge, List<OfflinePageItem> offlinePages); | 274 long nativeOfflinePageBridge, List<OfflinePageItem> offlinePages); |
| 246 } | 275 } |
| OLD | NEW |