1
0
Fork 0

Issue #7863: Ensure parent process triggers speculative connect

master
Christian Sadilek 2020-03-02 16:21:56 -05:00 committed by Sebastian Kaspari
parent f20fb50481
commit 20387401b1
5 changed files with 35 additions and 10 deletions

View File

@ -213,7 +213,8 @@ class BrowserToolbarView(
components.core.sessionManager,
sessionId = null,
isPrivate = sessionManager.selectedSession?.private ?: false,
interactor = interactor
interactor = interactor,
engine = components.core.engine
)
}
}

View File

@ -12,6 +12,7 @@ import mozilla.components.browser.domains.autocomplete.DomainAutocompleteProvide
import mozilla.components.browser.session.SessionManager
import mozilla.components.browser.toolbar.BrowserToolbar
import mozilla.components.browser.toolbar.display.DisplayToolbar
import mozilla.components.concept.engine.Engine
import mozilla.components.concept.storage.HistoryStorage
import mozilla.components.feature.toolbar.ToolbarAutocompleteFeature
import mozilla.components.feature.toolbar.ToolbarFeature
@ -72,7 +73,8 @@ class DefaultToolbarIntegration(
sessionManager: SessionManager,
sessionId: String? = null,
isPrivate: Boolean,
interactor: BrowserToolbarViewInteractor
interactor: BrowserToolbarViewInteractor,
engine: Engine
) : ToolbarIntegration(
context = context,
toolbar = toolbar,
@ -135,7 +137,11 @@ class DefaultToolbarIntegration(
}
toolbar.addBrowserAction(tabsAction)
ToolbarAutocompleteFeature(toolbar).apply {
val engineForSpeculativeConnects = if (!isPrivate) engine else null
ToolbarAutocompleteFeature(
toolbar,
engineForSpeculativeConnects
).apply {
addDomainProvider(domainAutocompleteProvider)
if (context.settings().shouldShowHistorySuggestions) {
addHistoryStorageProvider(historyStorage)

View File

@ -127,7 +127,8 @@ class SearchFragment : Fragment(), UserInteractionHandler {
view.toolbar_component_wrapper,
searchInteractor,
historyStorageProvider(),
(activity as HomeActivity).browsingModeManager.mode.isPrivate
(activity as HomeActivity).browsingModeManager.mode.isPrivate,
requireComponents.core.engine
)
val urlView = toolbarView.view
@ -307,6 +308,10 @@ class SearchFragment : Fragment(), UserInteractionHandler {
fill_link_from_clipboard.visibility = visibility
divider_line.visibility = visibility
clipboard_url.text = clipboardUrl
if (clipboardUrl != null && !((activity as HomeActivity).browsingModeManager.mode.isPrivate)) {
requireComponents.core.engine.speculativeConnect(clipboardUrl)
}
}
override fun onRequestPermissionsResult(

View File

@ -141,6 +141,7 @@ class AwesomeBarView(
val draw = getDrawable(context, R.drawable.ic_link)!!
draw.colorFilter = createBlendModeColorFilterCompat(primaryTextColor, SRC_IN)
val engineForSpeculativeConnects = if (!isBrowsingModePrivate()) components.core.engine else null
sessionProvider =
SessionSuggestionProvider(
context.resources,
@ -154,14 +155,16 @@ class AwesomeBarView(
HistoryStorageSuggestionProvider(
components.core.historyStorage,
loadUrlUseCase,
components.core.icons
components.core.icons,
engineForSpeculativeConnects
)
bookmarksStorageSuggestionProvider =
BookmarksStorageSuggestionProvider(
components.core.bookmarksStorage,
loadUrlUseCase,
components.core.icons
components.core.icons,
engineForSpeculativeConnects
)
val searchDrawable = getDrawable(context, R.drawable.ic_search)!!
@ -176,7 +179,8 @@ class AwesomeBarView(
mode = SearchSuggestionProvider.Mode.MULTIPLE_SUGGESTIONS,
limit = 3,
icon = searchDrawable.toBitmap(),
showDescription = false
showDescription = false,
engine = engineForSpeculativeConnects
)
shortcutsEnginePickerProvider =
@ -344,6 +348,8 @@ class AwesomeBarView(
val draw = getDrawable(context, R.drawable.ic_search)
draw?.colorFilter = createBlendModeColorFilterCompat(primaryTextColor, SRC_IN)
val engineForSpeculativeConnects = if (!isBrowsingModePrivate()) components.core.engine else null
SearchSuggestionProvider(
components.search.provider.installedSearchEngines(context).list.find { it.name == engine.name }
?: components.search.provider.getDefaultEngine(context),
@ -351,7 +357,8 @@ class AwesomeBarView(
components.core.client,
limit = 3,
mode = SearchSuggestionProvider.Mode.MULTIPLE_SUGGESTIONS,
icon = draw?.toBitmap()
icon = draw?.toBitmap(),
engine = engineForSpeculativeConnects
)
}
}

View File

@ -22,6 +22,7 @@ import kotlinx.android.extensions.LayoutContainer
import mozilla.components.browser.domains.autocomplete.ShippedDomainsProvider
import mozilla.components.browser.toolbar.BrowserToolbar
import mozilla.components.browser.toolbar.behavior.BrowserToolbarBottomBehavior
import mozilla.components.concept.engine.Engine
import mozilla.components.concept.storage.HistoryStorage
import mozilla.components.feature.toolbar.ToolbarAutocompleteFeature
import mozilla.components.support.ktx.android.content.getColorFromAttr
@ -63,7 +64,8 @@ class ToolbarView(
private val container: ViewGroup,
private val interactor: ToolbarInteractor,
private val historyStorage: HistoryStorage?,
private val isPrivate: Boolean
private val isPrivate: Boolean,
engine: Engine
) : LayoutContainer {
override val containerView: View?
@ -137,7 +139,11 @@ class ToolbarView(
})
}
ToolbarAutocompleteFeature(view).apply {
val engineForSpeculativeConnects = if (!isPrivate) engine else null
ToolbarAutocompleteFeature(
view,
engineForSpeculativeConnects
).apply {
addDomainProvider(ShippedDomainsProvider().also { it.initialize(view.context) })
historyStorage?.also(::addHistoryStorageProvider)
}