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

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

Issue 2026953002: Disable external navigation for file downloads. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 7 months 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/ExternalNavigationDelegateImpl.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
index 620fa92ad56e6b6bc637b9e8aa648c0764509cd1..f6946ecb7d8311c7477d287bd830b1ed745a7a3f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
@@ -23,6 +23,7 @@ import android.provider.Telephony;
import android.support.v7.app.AlertDialog;
import android.text.TextUtils;
import android.util.Log;
+import android.webkit.MimeTypeMap;
import org.chromium.base.ApplicationState;
import org.chromium.base.ApplicationStatus;
@@ -31,6 +32,7 @@ import org.chromium.base.PathUtils;
import org.chromium.base.ThreadUtils;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeActivity;
+import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.ChromeTabbedActivity2;
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.document.ChromeLauncherActivity;
@@ -54,6 +56,7 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
private static final String PDF_VIEWER = "com.google.android.apps.docs";
private static final String PDF_MIME = "application/pdf";
private static final String PDF_SUFFIX = ".pdf";
+ private static final String PDF_EXTENSION = "pdf";
protected final Context mApplicationContext;
private final Tab mTab;
@@ -479,4 +482,14 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
((ChromeActivity) context).getTabModelSelector().closeTab(tab);
}
}
+
+ @Override
+ public boolean isPdfDownload(String url) {
+ if (ChromeFeatureList.isEnabled(ChromeFeatureList.SYSTEM_DOWNLOAD_MANAGER)) return false;
+
+ String fileExtension = MimeTypeMap.getFileExtensionFromUrl(url);
+ if (TextUtils.isEmpty(fileExtension)) return false;
+
+ return PDF_EXTENSION.equals(fileExtension);
+ }
}

Powered by Google App Engine
This is Rietveld 408576698