From 2c7467418eded2b75cf7d99d95c52a0c6b2355e4 Mon Sep 17 00:00:00 2001 From: andrei Date: Mon, 27 Apr 2020 14:40:38 +0300 Subject: [PATCH 1/3] Handled target=_blank if link points to a file --- .../java/com/duckduckgo/app/browser/BrowserTabFragment.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt index 515277405d6b..d58544393c68 100644 --- a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt +++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt @@ -841,6 +841,14 @@ class BrowserTabFragment : Fragment(), FindListener, CoroutineScope, DaxDialogLi } it.setDownloadListener { url, _, contentDisposition, mimeType, _ -> + //handling target=_blank if link points to a file + if (viewModel.url == null) { //in an empty tab + launch { + viewModel.closeCurrentTab() + destroyWebView() + } + } + requestFileDownload(url, contentDisposition, mimeType, true) } From 0ce0f1fb1fbdcd3fe30fb08212588e4946aace33 Mon Sep 17 00:00:00 2001 From: andrei Date: Mon, 27 Apr 2020 14:41:08 +0300 Subject: [PATCH 2/3] Deleted dismissDownloadFragment() --- .../java/com/duckduckgo/app/browser/BrowserTabFragment.kt | 6 ------ 1 file changed, 6 deletions(-) diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt index d58544393c68..245ebbf8ece7 100644 --- a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt +++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt @@ -353,15 +353,9 @@ class BrowserTabFragment : Fragment(), FindListener, CoroutineScope, DaxDialogLi override fun onPause() { logoHidingListener.onPause() - dismissDownloadFragment() super.onPause() } - private fun dismissDownloadFragment() { - val fragment = fragmentManager?.findFragmentByTag(DOWNLOAD_CONFIRMATION_TAG) as? DownloadConfirmationFragment - fragment?.dismiss() - } - private fun createPopupMenu() { popupMenu = BrowserPopupMenu(layoutInflater) val view = popupMenu.contentView From 9d3a41bf802cc8c2ef0985bb37757de3e806927f Mon Sep 17 00:00:00 2001 From: andrei Date: Mon, 27 Apr 2020 14:41:31 +0300 Subject: [PATCH 3/3] Added dismiss DownloadConfirmationFragment when onPause --- .../duckduckgo/app/browser/DownloadConfirmationFragment.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/java/com/duckduckgo/app/browser/DownloadConfirmationFragment.kt b/app/src/main/java/com/duckduckgo/app/browser/DownloadConfirmationFragment.kt index ccec131898f1..c8e4e81ab771 100644 --- a/app/src/main/java/com/duckduckgo/app/browser/DownloadConfirmationFragment.kt +++ b/app/src/main/java/com/duckduckgo/app/browser/DownloadConfirmationFragment.kt @@ -66,6 +66,11 @@ class DownloadConfirmationFragment : BottomSheetDialogFragment() { return view } + override fun onPause() { + dismiss() + super.onPause() + } + private fun setupDownload() { file = if (!pendingDownload.isDataUrl) File(pendingDownload.directory, pendingDownload.guessFileName()) else null }