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

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

Issue 1542943006: [Offline pages] Removing permission prompt when accessing offline page (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
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 044f6053657d5cfd3182c53690d1b98a7a55b5e5..2b29bcbdc228be35f29a89ebe71d8e53b0c25641 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.OfflinePageUtils;
import org.chromium.chrome.browser.util.IntentUtils;
import org.chromium.chrome.browser.util.UrlUtilities;
import org.chromium.ui.base.PageTransition;
@@ -172,12 +173,16 @@ public class ExternalNavigationHandler {
// 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.
- if (params.getUrl().startsWith("file:")
- && mDelegate.shouldRequestFileAccess(params.getTab())) {
- mDelegate.startFileIntent(
- intent, params.getReferrerUrl(), params.getTab(),
- params.shouldCloseContentsOnOverrideUrlLoadingAndLaunchIntent());
- return OverrideUrlLoadingResult.OVERRIDE_WITH_ASYNC_ACTION;
+ if (params.getUrl().startsWith("file:")) {
+ // If accessing a file URL, which points to inside of an offline copy archive, there
+ // is no need to override the navigation.
+ if (OfflinePageUtils.isOfflineUrlForStoragePermissionCheck(params.getUrl())) {
+ return OverrideUrlLoadingResult.NO_OVERRIDE;
+ } else if (mDelegate.shouldRequestFileAccess(params.getTab())) {
+ mDelegate.startFileIntent(intent, params.getReferrerUrl(), params.getTab(),
+ params.shouldCloseContentsOnOverrideUrlLoadingAndLaunchIntent());
+ return OverrideUrlLoadingResult.OVERRIDE_WITH_ASYNC_ACTION;
+ }
}
// http://crbug/331571 : Do not override a navigation started from user typing.

Powered by Google App Engine
This is Rietveld 408576698