| 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 eda72050881735c7724025299c753b1f95522a7e..d6a41966c38a3c83c2a61cb29db89744c1a0f591 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
|
| @@ -379,10 +379,14 @@ public class NewTabPage
|
| }
|
|
|
| LoadUrlParams loadUrlParams;
|
| - // The snippet's offline page is ignored if the snippet is saved or opened in incognito.
|
| - if (article.getOfflinePageOfflineId() != null
|
| - && windowOpenDisposition != WindowOpenDisposition.SAVE_TO_DISK
|
| - && windowOpenDisposition != WindowOpenDisposition.OFF_THE_RECORD) {
|
| + // We explicitly open an offline page only for offline page downloads. For all other
|
| + // sections the URL is opened and it is up to Offline Pages whether to open its offline
|
| + // page (e.g. when offline).
|
| + if (article.isDownload() && !article.mIsDownloadedAsset) {
|
| + assert article.getOfflinePageOfflineId() != null;
|
| + assert windowOpenDisposition == WindowOpenDisposition.CURRENT_TAB
|
| + || windowOpenDisposition == WindowOpenDisposition.NEW_WINDOW
|
| + || windowOpenDisposition == WindowOpenDisposition.NEW_FOREGROUND_TAB;
|
| loadUrlParams = OfflinePageUtils.getLoadUrlParamsForOpeningOfflineVersion(
|
| article.mUrl, article.getOfflinePageOfflineId());
|
| // Extra headers are not read in loadUrl, but verbatim headers are.
|
|
|