Index: chrome/android/java/src/org/chromium/chrome/browser/offlinepages/downloads/OfflinePageDownloadBridge.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/downloads/OfflinePageDownloadBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/downloads/OfflinePageDownloadBridge.java |
index e83811cbdd90329812aeee589ffc54d17be3a22f..f36c26bf43fd613b43d6bc89129571a0bc926766 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/downloads/OfflinePageDownloadBridge.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/downloads/OfflinePageDownloadBridge.java |
@@ -155,14 +155,6 @@ public class OfflinePageDownloadBridge implements DownloadServiceDelegate, Offli |
nativeDeleteItemByGuid(mNativeOfflinePageDownloadBridge, guid); |
} |
- /** |
- * See {@link #openItem(String, ComponentName)}. |
- */ |
- @Override |
- public void openItem(String guid) { |
- openItem(guid, null); |
- } |
- |
@Override |
public void destroyServiceDelegate() { |
destroy(); |
@@ -214,6 +206,23 @@ public class OfflinePageDownloadBridge implements DownloadServiceDelegate, Offli |
sIsTesting = isTesting; |
} |
+ /** |
+ * Waits for the download items to get loaded and opens the offline page identified by the GUID. |
+ * @param GUID of the item to open. |
+ */ |
+ public static void openDownloadedPage(final String guid) { |
+ final OfflinePageDownloadBridge bridge = |
+ new OfflinePageDownloadBridge(Profile.getLastUsedProfile()); |
+ bridge.addObserver( |
+ new Observer() { |
+ @Override |
+ public void onItemsLoaded() { |
+ bridge.openItem(guid, null); |
+ bridge.destroyServiceDelegate(); |
+ } |
+ }); |
+ } |
+ |
@CalledByNative |
void downloadItemsLoaded() { |
mIsLoaded = true; |