[fenix] For https://github.com/mozilla-mobile/fenix/issues/25213: Add tabs prioritization experiment

pull/600/head
Arturo Mejia 2 years ago committed by mergify[bot]
parent e05daef826
commit 9b6fd9047d

@ -7,6 +7,14 @@ default-browser-message:
message-location: message-location:
type: string type: string
description: Where is the message to be put. description: Where is the message to be put.
engine-settings:
description: Contains a set of settings for controlling the web engine configurations.
hasExposure: true
exposureDescription: ""
variables:
tabs-prioritization-enabled:
type: boolean
description: "If true, enables tabs prioritization feature."
homescreen: homescreen:
description: The homescreen that the user goes to when they press home or new tab. description: The homescreen that the user goes to when they press home or new tab.
hasExposure: true hasExposure: true

@ -88,6 +88,7 @@ import org.mozilla.fenix.historymetadata.DefaultHistoryMetadataService
import org.mozilla.fenix.historymetadata.HistoryMetadataMiddleware import org.mozilla.fenix.historymetadata.HistoryMetadataMiddleware
import org.mozilla.fenix.historymetadata.HistoryMetadataService import org.mozilla.fenix.historymetadata.HistoryMetadataService
import org.mozilla.fenix.media.MediaSessionService import org.mozilla.fenix.media.MediaSessionService
import org.mozilla.fenix.nimbus.FxNimbus
import org.mozilla.fenix.perf.StrictModeManager import org.mozilla.fenix.perf.StrictModeManager
import org.mozilla.fenix.perf.lazyMonitored import org.mozilla.fenix.perf.lazyMonitored
import org.mozilla.fenix.settings.SupportUtils import org.mozilla.fenix.settings.SupportUtils
@ -224,6 +225,8 @@ class Core(
* The [BrowserStore] holds the global [BrowserState]. * The [BrowserStore] holds the global [BrowserState].
*/ */
val store by lazyMonitored { val store by lazyMonitored {
val tabsPrioritizationEnable =
FxNimbus.features.engineSettings.value().tabsPrioritizationEnabled
val middlewareList = val middlewareList =
mutableListOf( mutableListOf(
LastAccessMiddleware(), LastAccessMiddleware(),
@ -244,9 +247,12 @@ class Core(
AdsTelemetryMiddleware(adsTelemetry), AdsTelemetryMiddleware(adsTelemetry),
LastMediaAccessMiddleware(), LastMediaAccessMiddleware(),
HistoryMetadataMiddleware(historyMetadataService), HistoryMetadataMiddleware(historyMetadataService),
SearchTermTabGroupMiddleware(), SearchTermTabGroupMiddleware()
SessionPrioritizationMiddleware() ) + if (tabsPrioritizationEnable) {
) listOf(SessionPrioritizationMiddleware())
} else {
emptyList()
}
BrowserStore( BrowserStore(
initialState = BrowserState( initialState = BrowserState(

@ -203,6 +203,14 @@ features:
value: value:
enabled: true enabled: true
engine-settings:
description: Contains a set of settings for controlling the web engine configurations.
variables:
tabs-prioritization-enabled:
description: If true, enables tabs prioritization feature.
type: Boolean
default: true
types: types:
objects: objects:
MessageData: MessageData:

Loading…
Cancel
Save