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

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

Issue 1739503002: Makes the OfflinePageBridge.getAllPages method asynchronous. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix broken test from rebase. 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/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 dc02b4f1b9184c3f215a967a5a03aec81a664763..62af4c01da43d5e83c23967b449684e9074476b8 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
@@ -55,7 +55,7 @@ public class OfflinePageBridge {
private static Integer sFeatureMode;
/**
- * Callback used to saving an offline page.
+ * Callback used when saving an offline page.
*/
public interface SavePageCallback {
/**
@@ -71,7 +71,7 @@ public class OfflinePageBridge {
}
/**
- * Callback used to deleting an offline page.
+ * Callback used when deleting an offline page.
*/
public interface DeletePageCallback {
/**
@@ -231,17 +231,15 @@ public class OfflinePageBridge {
/**
* Gets all available offline pages, returning results via the provided callback.
- * TODO(http://crbug.com/589526): Rename to just OfflinePageBridge#getAllPages and remove the
- * synchronous method.
*
* @param callback The callback to run when the operation completes.
*/
@VisibleForTesting
- public void getAllPagesAsync(final MultipleOfflinePageItemCallback callback) {
+ public void getAllPages(final MultipleOfflinePageItemCallback callback) {
runWhenLoaded(new Runnable() {
@Override
public void run() {
- callback.onResult(getAllPages());
+ callback.onResult(getAllPagesInternal());
}
});
}
@@ -250,7 +248,7 @@ public class OfflinePageBridge {
@VisibleForTesting
public void hasPages(final HasPagesCallback callback) {
// TODO(dewittj): Make this something faster than a full scan.
- getAllPagesAsync(new MultipleOfflinePageItemCallback() {
+ getAllPages(new MultipleOfflinePageItemCallback() {
@Override
public void onResult(List<OfflinePageItem> allPages) {
callback.onResult(!allPages.isEmpty());
@@ -259,10 +257,9 @@ public class OfflinePageBridge {
}
/**
- * @return Gets all available offline pages. Requires that the model is already loaded.
- * This function is deprecated. Use OfflinePageBridge#getAllPagesAsync.
+ * @return All available offline pages. Requires that the model is already loaded.
*/
- public List<OfflinePageItem> getAllPages() {
+ private List<OfflinePageItem> getAllPagesInternal() {
assert mIsNativeOfflinePageModelLoaded;
List<OfflinePageItem> result = new ArrayList<OfflinePageItem>();
nativeGetAllPages(mNativeOfflinePageBridge, result);
@@ -469,19 +466,10 @@ public class OfflinePageBridge {
*/
public void deletePage(final ClientId clientId, DeletePageCallback callback) {
assert mIsNativeOfflinePageModelLoaded;
+ ArrayList<ClientId> ids = new ArrayList<ClientId>();
+ ids.add(clientId);
- recordFreeSpaceHistograms("OfflinePages.DeletePage.FreeSpacePercentage",
- "OfflinePages.DeletePage.FreeSpaceMB");
-
- DeletePageCallback callbackWrapper = wrapCallbackWithHistogramReporting(callback);
- Set<Long> ids = getOfflineIdsForClientId(clientId);
- if (ids.size() == 0) {
- callback.onDeletePageDone(DeletePageResult.NOT_FOUND);
- return;
- }
- for (Long offlineId : ids) {
- nativeDeletePage(mNativeOfflinePageBridge, callbackWrapper, offlineId);
- }
+ deletePagesByClientId(ids, callback);
}
/**
@@ -706,8 +694,6 @@ public class OfflinePageBridge {
private native void nativeSavePage(long nativeOfflinePageBridge, SavePageCallback callback,
WebContents webContents, String clientNamespace, String clientId);
private native void nativeMarkPageAccessed(long nativeOfflinePageBridge, long offlineId);
- private native void nativeDeletePage(
- long nativeOfflinePageBridge, DeletePageCallback callback, long offlineId);
private native void nativeDeletePages(
long nativeOfflinePageBridge, DeletePageCallback callback, long[] offlineIds);
private native void nativeGetPagesToCleanUp(

Powered by Google App Engine
This is Rietveld 408576698