Opens _blank links in new custom tab
This commit is contained in:
parent
4ae60f2cce
commit
ee4e1c8f39
|
@ -53,7 +53,6 @@ import mozilla.components.feature.session.SwipeRefreshFeature
|
|||
import mozilla.components.feature.sitepermissions.SitePermissions
|
||||
import mozilla.components.feature.sitepermissions.SitePermissionsFeature
|
||||
import mozilla.components.feature.sitepermissions.SitePermissionsRules
|
||||
import mozilla.components.feature.tabs.WindowFeature
|
||||
import mozilla.components.support.base.feature.BackHandler
|
||||
import mozilla.components.support.base.feature.PermissionsFeature
|
||||
import mozilla.components.support.base.feature.ViewBoundFeatureWrapper
|
||||
|
@ -103,7 +102,6 @@ abstract class BaseBrowserFragment : Fragment(), BackHandler, SessionManager.Obs
|
|||
protected val readerViewFeature = ViewBoundFeatureWrapper<ReaderViewFeature>()
|
||||
|
||||
private val sessionFeature = ViewBoundFeatureWrapper<SessionFeature>()
|
||||
private val windowFeature = ViewBoundFeatureWrapper<WindowFeature>()
|
||||
private val contextMenuFeature = ViewBoundFeatureWrapper<ContextMenuFeature>()
|
||||
private val downloadsFeature = ViewBoundFeatureWrapper<DownloadsFeature>()
|
||||
private val appLinksFeature = ViewBoundFeatureWrapper<AppLinksFeature>()
|
||||
|
@ -243,15 +241,6 @@ abstract class BaseBrowserFragment : Fragment(), BackHandler, SessionManager.Obs
|
|||
view = view
|
||||
)
|
||||
|
||||
windowFeature.set(
|
||||
feature = WindowFeature(
|
||||
store = store,
|
||||
tabsUseCases = context.components.useCases.tabsUseCases
|
||||
),
|
||||
owner = this,
|
||||
view = view
|
||||
)
|
||||
|
||||
val downloadFeature = DownloadsFeature(
|
||||
context.applicationContext,
|
||||
store = store,
|
||||
|
|
|
@ -22,18 +22,19 @@ import androidx.core.content.ContextCompat
|
|||
import androidx.lifecycle.Observer
|
||||
import androidx.transition.TransitionInflater
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import kotlinx.android.synthetic.main.fragment_browser.view.browserLayout
|
||||
import kotlinx.android.synthetic.main.fragment_browser.view.readerViewControlsBar
|
||||
import kotlinx.android.synthetic.main.fragment_home.bottom_bar
|
||||
import kotlinx.android.synthetic.main.tracking_protection_onboarding_popup.view.onboarding_message
|
||||
import kotlinx.android.synthetic.main.fragment_browser.view.*
|
||||
import kotlinx.android.synthetic.main.fragment_home.*
|
||||
import kotlinx.android.synthetic.main.tracking_protection_onboarding_popup.view.*
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import mozilla.components.browser.session.Session
|
||||
import mozilla.components.feature.contextmenu.ContextMenuCandidate
|
||||
import mozilla.components.feature.readerview.ReaderViewFeature
|
||||
import mozilla.components.feature.session.TrackingProtectionUseCases
|
||||
import mozilla.components.feature.sitepermissions.SitePermissions
|
||||
import mozilla.components.feature.tabs.WindowFeature
|
||||
import mozilla.components.lib.state.ext.consumeFrom
|
||||
import mozilla.components.support.base.feature.BackHandler
|
||||
import mozilla.components.support.base.feature.ViewBoundFeatureWrapper
|
||||
import org.jetbrains.anko.dimen
|
||||
import org.mozilla.fenix.HomeActivity
|
||||
import org.mozilla.fenix.R
|
||||
|
@ -54,9 +55,11 @@ import org.mozilla.fenix.mvi.getManagedEmitter
|
|||
* Fragment used for browsing the web within the main app.
|
||||
*/
|
||||
@ExperimentalCoroutinesApi
|
||||
@Suppress("TooManyFunctions", "LargeClass")
|
||||
@Suppress("TooManyFunctions")
|
||||
class BrowserFragment : BaseBrowserFragment(), BackHandler {
|
||||
|
||||
private val windowFeature = ViewBoundFeatureWrapper<WindowFeature>()
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
postponeEnterTransition()
|
||||
|
@ -100,6 +103,15 @@ class BrowserFragment : BaseBrowserFragment(), BackHandler {
|
|||
view = view
|
||||
)
|
||||
|
||||
windowFeature.set(
|
||||
feature = WindowFeature(
|
||||
store = context.components.core.store,
|
||||
tabsUseCases = context.components.useCases.tabsUseCases
|
||||
),
|
||||
owner = this,
|
||||
view = view
|
||||
)
|
||||
|
||||
if ((activity as HomeActivity).browsingModeManager.mode.isPrivate) {
|
||||
// We need to update styles for private mode programmatically for now:
|
||||
// https://github.com/mozilla-mobile/android-components/issues/3400
|
||||
|
|
|
@ -16,6 +16,7 @@ import mozilla.components.browser.session.Session
|
|||
import mozilla.components.concept.engine.manifest.WebAppManifestParser
|
||||
import mozilla.components.concept.engine.manifest.getOrNull
|
||||
import mozilla.components.feature.contextmenu.ContextMenuCandidate
|
||||
import mozilla.components.feature.customtabs.CustomTabWindowFeature
|
||||
import mozilla.components.feature.pwa.ext.getTrustedScope
|
||||
import mozilla.components.feature.pwa.ext.trustedOrigins
|
||||
import mozilla.components.feature.pwa.feature.ManifestUpdateFeature
|
||||
|
@ -45,6 +46,7 @@ class ExternalAppBrowserFragment : BaseBrowserFragment(), BackHandler {
|
|||
private val args by navArgs<ExternalAppBrowserFragmentArgs>()
|
||||
|
||||
private val customTabsIntegration = ViewBoundFeatureWrapper<CustomTabsIntegration>()
|
||||
private val windowFeature = ViewBoundFeatureWrapper<CustomTabWindowFeature>()
|
||||
private val hideToolbarFeature = ViewBoundFeatureWrapper<WebAppHideToolbarFeature>()
|
||||
|
||||
@Suppress("LongMethod")
|
||||
|
@ -71,6 +73,16 @@ class ExternalAppBrowserFragment : BaseBrowserFragment(), BackHandler {
|
|||
owner = this,
|
||||
view = view)
|
||||
|
||||
windowFeature.set(
|
||||
feature = CustomTabWindowFeature(
|
||||
activity,
|
||||
components.core.store,
|
||||
customTabSessionId
|
||||
),
|
||||
owner = this,
|
||||
view = view
|
||||
)
|
||||
|
||||
hideToolbarFeature.set(
|
||||
feature = WebAppHideToolbarFeature(
|
||||
requireComponents.core.sessionManager,
|
||||
|
|
Loading…
Reference in New Issue
Block a user