Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java |
| index 857151e7928088458671d472985fb4cf00a8727d..fe392cd27ca7e9dd4f904fc5c97fcaf2f2a74027 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java |
| @@ -46,6 +46,8 @@ import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; |
| import org.chromium.chrome.browser.ntp.interests.InterestsPage; |
| import org.chromium.chrome.browser.ntp.interests.InterestsPage.InterestsClickListener; |
| import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; |
| +import org.chromium.chrome.browser.offlinepages.OfflinePageItem; |
| +import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; |
| import org.chromium.chrome.browser.preferences.DocumentModeManager; |
| import org.chromium.chrome.browser.preferences.DocumentModePreference; |
| import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
| @@ -210,6 +212,20 @@ public class NewTabPage |
| } |
| private final NewTabPageManager mNewTabPageManager = new NewTabPageManager() { |
| + /** |
| + * Gets the URL for accessing the offline-available version of the given URL, and marks the |
| + * offline version as accessed. If no offline version is available, returns null. |
| + * @param pageUrl The URL of the site whose offline URL is requested. |
| + */ |
| + private String getOfflineUrl(String pageUrl) { |
|
fgorski
2016/01/08 17:37:51
remove and use mOfflinePageBridge.getOfflineUrlFor
Marc Treib
2016/01/11 10:32:23
I've removed the helper method, and moved the code
fgorski
2016/01/11 18:23:48
Acknowledged.
|
| + if (mIsDestroyed || !OfflinePageBridge.isEnabled()) return null; |
| + if (mOfflinePageBridge == null) mOfflinePageBridge = new OfflinePageBridge(mProfile); |
| + OfflinePageItem offlineItem = mOfflinePageBridge.getPageByOnlineURL(pageUrl); |
| + if (offlineItem == null) return null; |
| + mOfflinePageBridge.markPageAccessed(offlineItem.getBookmarkId()); |
| + return offlineItem.getOfflineUrl(); |
| + } |
| + |
| @Override |
| public boolean isLocationBarShownInNTP() { |
| if (mIsDestroyed) return false; |
| @@ -327,6 +343,12 @@ public class NewTabPage |
| @Override |
| public void open(String url) { |
| + if (!OfflinePageUtils.isConnected(mNewTabPageView.getContext())) { |
|
fgorski
2016/01/08 17:37:51
This is interesting. Until now we were opening the
Marc Treib
2016/01/11 10:32:23
Done.
|
| + String offlineUrl = getOfflineUrl(url); |
| + if (offlineUrl != null) { |
| + url = offlineUrl; |
| + } |
| + } |
| mTab.loadUrl(new LoadUrlParams(url, PageTransition.AUTO_BOOKMARK)); |
| } |
| @@ -446,7 +468,7 @@ public class NewTabPage |
| public boolean isOfflineAvailable(String pageUrl) { |
| if (mIsDestroyed || !OfflinePageBridge.isEnabled()) return false; |
| if (mOfflinePageBridge == null) mOfflinePageBridge = new OfflinePageBridge(mProfile); |
| - return mOfflinePageBridge.getPageByOnlineURL(pageUrl) != null; |
| + return !mOfflinePageBridge.getOfflineUrlForOnlineUrl(pageUrl).isEmpty(); |
| } |
| @Override |