OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.chrome.browser.externalnav; | 5 package org.chromium.chrome.browser.externalnav; |
6 | 6 |
7 import android.Manifest.permission; | 7 import android.Manifest.permission; |
8 import android.app.Activity; | 8 import android.app.Activity; |
9 import android.content.Context; | 9 import android.content.Context; |
10 import android.content.DialogInterface; | 10 import android.content.DialogInterface; |
(...skipping 17 matching lines...) Expand all Loading... |
28 import org.chromium.base.ApplicationState; | 28 import org.chromium.base.ApplicationState; |
29 import org.chromium.base.ApplicationStatus; | 29 import org.chromium.base.ApplicationStatus; |
30 import org.chromium.base.ContextUtils; | 30 import org.chromium.base.ContextUtils; |
31 import org.chromium.base.PathUtils; | 31 import org.chromium.base.PathUtils; |
32 import org.chromium.base.ThreadUtils; | 32 import org.chromium.base.ThreadUtils; |
33 import org.chromium.base.VisibleForTesting; | 33 import org.chromium.base.VisibleForTesting; |
34 import org.chromium.base.metrics.RecordUserAction; | 34 import org.chromium.base.metrics.RecordUserAction; |
35 import org.chromium.chrome.R; | 35 import org.chromium.chrome.R; |
36 import org.chromium.chrome.browser.ChromeActivity; | 36 import org.chromium.chrome.browser.ChromeActivity; |
37 import org.chromium.chrome.browser.ChromeApplication; | 37 import org.chromium.chrome.browser.ChromeApplication; |
38 import org.chromium.chrome.browser.ChromeFeatureList; | |
39 import org.chromium.chrome.browser.ChromeTabbedActivity2; | 38 import org.chromium.chrome.browser.ChromeTabbedActivity2; |
40 import org.chromium.chrome.browser.IntentHandler; | 39 import org.chromium.chrome.browser.IntentHandler; |
41 import org.chromium.chrome.browser.document.ChromeLauncherActivity; | 40 import org.chromium.chrome.browser.document.ChromeLauncherActivity; |
42 import org.chromium.chrome.browser.externalnav.ExternalNavigationHandler.Overrid
eUrlLoadingResult; | 41 import org.chromium.chrome.browser.externalnav.ExternalNavigationHandler.Overrid
eUrlLoadingResult; |
43 import org.chromium.chrome.browser.instantapps.InstantAppsHandler; | 42 import org.chromium.chrome.browser.instantapps.InstantAppsHandler; |
44 import org.chromium.chrome.browser.tab.Tab; | 43 import org.chromium.chrome.browser.tab.Tab; |
45 import org.chromium.chrome.browser.util.UrlUtilities; | 44 import org.chromium.chrome.browser.util.UrlUtilities; |
46 import org.chromium.chrome.browser.webapps.WebappActivity; | 45 import org.chromium.chrome.browser.webapps.WebappActivity; |
47 import org.chromium.content_public.browser.LoadUrlParams; | 46 import org.chromium.content_public.browser.LoadUrlParams; |
48 import org.chromium.content_public.common.Referrer; | 47 import org.chromium.content_public.common.Referrer; |
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
529 | 528 |
530 private void closeTab(Tab tab) { | 529 private void closeTab(Tab tab) { |
531 Context context = tab.getWindowAndroid().getContext().get(); | 530 Context context = tab.getWindowAndroid().getContext().get(); |
532 if (context instanceof ChromeActivity) { | 531 if (context instanceof ChromeActivity) { |
533 ((ChromeActivity) context).getTabModelSelector().closeTab(tab); | 532 ((ChromeActivity) context).getTabModelSelector().closeTab(tab); |
534 } | 533 } |
535 } | 534 } |
536 | 535 |
537 @Override | 536 @Override |
538 public boolean isPdfDownload(String url) { | 537 public boolean isPdfDownload(String url) { |
539 if (ChromeFeatureList.isEnabled(ChromeFeatureList.SYSTEM_DOWNLOAD_MANAGE
R)) return false; | |
540 | |
541 String fileExtension = MimeTypeMap.getFileExtensionFromUrl(url); | 538 String fileExtension = MimeTypeMap.getFileExtensionFromUrl(url); |
542 if (TextUtils.isEmpty(fileExtension)) return false; | 539 if (TextUtils.isEmpty(fileExtension)) return false; |
543 | 540 |
544 return PDF_EXTENSION.equals(fileExtension); | 541 return PDF_EXTENSION.equals(fileExtension); |
545 } | 542 } |
546 | 543 |
547 @Override | 544 @Override |
548 public void maybeRecordAppHandlersInIntent(Intent intent, List<ResolveInfo>
infos) { | 545 public void maybeRecordAppHandlersInIntent(Intent intent, List<ResolveInfo>
infos) { |
549 intent.putExtra(IntentHandler.EXTRA_EXTERNAL_NAV_PACKAGES, | 546 intent.putExtra(IntentHandler.EXTRA_EXTERNAL_NAV_PACKAGES, |
550 getSpecializedHandlersWithFilter(infos, null)); | 547 getSpecializedHandlersWithFilter(infos, null)); |
551 } | 548 } |
552 | 549 |
553 @Override | 550 @Override |
554 public boolean maybeLaunchInstantApp(String url, String referrerUrl) { | 551 public boolean maybeLaunchInstantApp(String url, String referrerUrl) { |
555 return InstantAppsHandler.getInstance((ChromeApplication) mApplicationCo
ntext) | 552 return InstantAppsHandler.getInstance((ChromeApplication) mApplicationCo
ntext) |
556 .handleNavigation(getAvailableContext(), url, | 553 .handleNavigation(getAvailableContext(), url, |
557 TextUtils.isEmpty(referrerUrl) ? null : Uri.parse(referr
erUrl)); | 554 TextUtils.isEmpty(referrerUrl) ? null : Uri.parse(referr
erUrl)); |
558 } | 555 } |
559 } | 556 } |
OLD | NEW |