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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java

Issue 1524293002: [Offline pages] Expose offline pages URL related methods in java code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@tab-android
Patch Set: Created 5 years 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/externalnav/ExternalNavigationHandler.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
index d3b6c572346c76e884cf552dc63072df23475f7c..ab6fe1d4ba35796e35ec41332909d9319cb06fa6 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
@@ -22,6 +22,7 @@ import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.UrlConstants;
+import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
import org.chromium.chrome.browser.util.IntentUtils;
import org.chromium.chrome.browser.util.UrlUtilities;
import org.chromium.ui.base.PageTransition;
@@ -169,6 +170,17 @@ public class ExternalNavigationHandler {
return OverrideUrlLoadingResult.NO_OVERRIDE;
}
+ // If accessing a file URL, which points to an offline copy of an offline page, there
+ // is no need to override the navigation.
+ if (OfflinePageBridge.isEnabled()) {
+ OfflinePageBridge offlinePageBridge =
+ new OfflinePageBridge(params.getTab().getProfile());
+ if (offlinePageBridge.isOfflinePageUrl(params.getUrl())) {
+ return OverrideUrlLoadingResult.NO_OVERRIDE;
+ }
+ offlinePageBridge.destroy();
+ }
+
// If accessing a file URL, ensure that the user has granted the necessary file access
// to Chrome. This check should happen for reloads, navigations, etc..., which is why
// it occurs before the subsequent blocks.

Powered by Google App Engine
This is Rietveld 408576698