From c8f8956e543435388599dd9a14f624e35700cde3 Mon Sep 17 00:00:00 2001 From: Aitor Viana Date: Thu, 24 Oct 2024 14:16:00 +0100 Subject: [PATCH] Remove fixBlobDownloadWithIframes kill switch (#5184) Task/Issue URL: https://app.asana.com/0/1198194956794324/1208351041752901/f ### Description Remove the `fixBlobDownloadWithIframes` kill switch and all the (deactivated) code behind it ### Steps to test this PR Just code review, we're removing code that doesn't execute --- .../app/browser/BrowserTabViewModel.kt | 36 ++++++------------- .../AndroidBrowserConfigFeature.kt | 9 ----- 2 files changed, 10 insertions(+), 35 deletions(-) diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt index a4bc27ffd3b8..80c970071977 100644 --- a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt +++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt @@ -438,8 +438,6 @@ class BrowserTabViewModel @Inject constructor( private var hasUserSeenHistoryIAM = false private var lastAutoCompleteState: AutoCompleteViewState? = null - private val replyProxyMap = mutableMapOf() - // Map>() = Map>() private val fixedReplyProxyMap = mutableMapOf>() @@ -1494,7 +1492,6 @@ class BrowserTabViewModel @Inject constructor( private fun cleanupBlobDownloadReplyProxyMaps() { fixedReplyProxyMap.clear() - replyProxyMap.clear() } private fun setAdClickActiveTabData(url: String?) { @@ -3048,21 +3045,12 @@ class BrowserTabViewModel @Inject constructor( @SuppressLint("RequiresFeature") // it's already checked in isBlobDownloadWebViewFeatureEnabled private fun postMessageToConvertBlobToDataUri(url: String) { appCoroutineScope.launch(dispatchers.main()) { // main because postMessage is not always safe in another thread - if (withContext(dispatchers.io()) { androidBrowserConfig.fixBlobDownloadWithIframes().isEnabled() }) { - for ((key, proxies) in fixedReplyProxyMap) { - if (sameOrigin(url.removePrefix("blob:"), key)) { - for (replyProxy in proxies.values) { - replyProxy.postMessage(url) - } - return@launch - } - } - } else { - for ((key, value) in replyProxyMap) { - if (sameOrigin(url.removePrefix("blob:"), key)) { - value.postMessage(url) - return@launch + for ((key, proxies) in fixedReplyProxyMap) { + if (sameOrigin(url.removePrefix("blob:"), key)) { + for (replyProxy in proxies.values) { + replyProxy.postMessage(url) } + return@launch } } } @@ -3742,15 +3730,11 @@ class BrowserTabViewModel @Inject constructor( locationHref: String? = null, ) { appCoroutineScope.launch(dispatchers.io()) { // FF check has disk IO - if (androidBrowserConfig.fixBlobDownloadWithIframes().isEnabled()) { - val frameProxies = fixedReplyProxyMap[originUrl]?.toMutableMap() ?: mutableMapOf() - // if location.href is not passed, we fall back to origin - val safeLocationHref = locationHref ?: originUrl - frameProxies[safeLocationHref] = replyProxy - fixedReplyProxyMap[originUrl] = frameProxies - } else { - replyProxyMap[originUrl] = replyProxy - } + val frameProxies = fixedReplyProxyMap[originUrl]?.toMutableMap() ?: mutableMapOf() + // if location.href is not passed, we fall back to origin + val safeLocationHref = locationHref ?: originUrl + frameProxies[safeLocationHref] = replyProxy + fixedReplyProxyMap[originUrl] = frameProxies } } diff --git a/app/src/main/java/com/duckduckgo/app/pixels/remoteconfig/AndroidBrowserConfigFeature.kt b/app/src/main/java/com/duckduckgo/app/pixels/remoteconfig/AndroidBrowserConfigFeature.kt index 78586db36681..0380995ae0ba 100644 --- a/app/src/main/java/com/duckduckgo/app/pixels/remoteconfig/AndroidBrowserConfigFeature.kt +++ b/app/src/main/java/com/duckduckgo/app/pixels/remoteconfig/AndroidBrowserConfigFeature.kt @@ -67,13 +67,4 @@ interface AndroidBrowserConfigFeature { */ @Toggle.DefaultValue(false) fun optimizeTrackerEvaluationV2(): Toggle - - /** - * This feature flag guards a fix for blob downloads - * - * @return always returns `true` for internal builds - * @return `true` when the remote feature is enabled. - */ - @Toggle.DefaultValue(true) - fun fixBlobDownloadWithIframes(): Toggle }