--- about: description: Nimbus Feature Manifest for Fenix (Firefox Android) kotlin: package: org.mozilla.fenix class: .nimbus.FxNimbus channels: - release - beta - nightly - developer - forkDebug - forkRelease includes: - onboarding.fml.yaml - pbm.fml.yaml - messaging-fenix.fml.yaml import: - path: ../android-components/components/browser/engine-gecko/geckoview.fml.yaml channel: release features: pdfjs: - channel: developer value: { download-button: true, open-in-app-button: true } - path: ../android-components/components/feature/fxsuggest/fxsuggest.fml.yaml channel: release features: awesomebar-suggestion-provider: - value: available-suggestion-types: { "amp": true, "ampMobile": false, "wikipedia": true, } features: toolbar: description: The searchbar/awesomebar that user uses to search. variables: toolbar-position-top: description: If true, toolbar appears at top of the screen. type: Boolean default: false homescreen: description: The homescreen that the user goes to when they press home or new tab. variables: sections-enabled: description: "This property provides a lookup table of whether or not the given section should be enabled. If the section is enabled, it should be toggleable in the settings screen, and on by default." type: Map default: { "top-sites": true, "jump-back-in": true, "bookmarks": true, "recent-explorations": true, "pocket": true, "pocket-sponsored-stories": true, } defaults: - channel: nightly value: { "sections-enabled": { "top-sites": true, "jump-back-in": true, "bookmarks": true, "recent-explorations": true, "pocket": true, } } nimbus-validation: description: "A feature that does not correspond to an application feature suitable for showing that Nimbus is working. This should never be used in production." variables: settings-title: description: The title of displayed in the Settings screen and app menu. type: Text default: browser_menu_settings settings-punctuation: description: The emoji displayed in the Settings screen title. type: String default: "" settings-icon: description: The drawable displayed in the app menu for Settings type: String default: mozac_ic_settings search-term-groups: description: A feature allowing the grouping of URLs around the search term that it came from. variables: enabled: description: If true, the feature shows up on the homescreen and on the new tab screen. type: Boolean default: false defaults: - channel: nightly value: enabled: true - channel: developer value: enabled: true mr2022: description: Features for MR 2022. variables: sections-enabled: description: "This property provides a lookup table of whether or not the given section should be enabled." type: Map default: { "home-onboarding-dialog-existing-users": true, "sync-cfr": true, "wallpapers-selection-tool": true, "jump-back-in-cfr": true, "tcp-cfr": true, "tcp-feature": true, } defaults: - channel: developer value: { "sections-enabled": { "home-onboarding-dialog-existing-users": true, "sync-cfr": true, "wallpapers-selection-tool": true, "jump-back-in-cfr": true, } } query-parameter-stripping: description: Features for query parameter stripping. variables: sections-enabled: description: "This property provides a lookup table of whether or not the given section should be enabled." type: Map default: { "query-parameter-stripping": "0", "query-parameter-stripping-pmb": "0", "query-parameter-stripping-allow-list": "", "query-parameter-stripping-strip-list": "", } defaults: - channel: developer value: { "sections-enabled": { "query-parameter-stripping": "0", "query-parameter-stripping-pmb": "0", "query-parameter-stripping-allow-list": "", "query-parameter-stripping-strip-list": "", } } - channel: nightly value: { "sections-enabled": { "query-parameter-stripping": "0", "query-parameter-stripping-pmb": "0", "query-parameter-stripping-allow-list": "", "query-parameter-stripping-strip-list": "", } } cookie-banners: description: Features for cookie banner handling. variables: sections-enabled: description: "This property provides a lookup table of whether or not the given section should be enabled." type: Map default: { "feature-ui": 0, "feature-setting-value": 0, "feature-setting-value-pbm": 0, "feature-setting-detect-only": 0, "feature-setting-global-rules": 1, "feature-setting-global-rules-sub-frames": 1, } defaults: - channel: developer value: { "sections-enabled": { "feature-ui": 1, "feature-setting-value": 0, "feature-setting-value-pbm": 1, "feature-setting-detect-only": 0, "feature-setting-global-rules": 1, "feature-setting-global-rules-sub-frames": 1, } } - channel: nightly value: { "sections-enabled": { "feature-ui": 1, "feature-setting-value": 0, "feature-setting-value-pbm": 1, "feature-setting-detect-only": 0, "feature-setting-global-rules": 1, "feature-setting-global-rules-sub-frames": 1, } } - channel: beta value: { "sections-enabled": { "feature-ui": 1, "feature-setting-value": 0, "feature-setting-value-pbm": 1, "feature-setting-detect-only": 0, "feature-setting-global-rules": 1, "feature-setting-global-rules-sub-frames": 1, } } unified-search: description: A feature allowing user to easily search for specified results directly in the search bar. variables: enabled: description: If true, the feature shows up in the search bar. type: Boolean default: true growth-data: description: A feature measuring campaign growth data variables: enabled: description: If true, the feature is active type: Boolean default: false defaults: - channel: release value: enabled: true re-engagement-notification: description: A feature that shows the re-engagement notification if the user is inactive. variables: enabled: description: If true, the re-engagement notification is shown to the inactive user. type: Boolean default: false type: description: The type of re-engagement notification that is shown to the inactive user. type: Int default: 0 onboarding: description: "A feature that configures the new user onboarding page. Note that onboarding is a **first run** feature, and should only be modified by first run experiments." variables: order: description: Determines the order of the onboarding page panels type: List default: ["themes", "toolbar-placement", "sync", "tcp", "privacy-notice"] one-click-search: description: Enable/disable the one click search feature. variables: enabled: description: If true, the one click search will be enabled. type: Boolean default: false glean: description: "A feature that provides server-side configurations for Glean metrics (aka Server Knobs)." allow-coenrollment: true variables: metrics-enabled: description: "A map of metric base-identifiers to booleans representing the state of the 'enabled' flag for that metric." type: Map default: {} enable-event-timestamps: description: "Enables precise event timestamps for Glean events" type: Boolean default: false delay-ping-lifetime-io: description: "Glean will delay io for ping lifetime metrics" type: Boolean default: true ping-lifetime-threshold: description: "Write count threshold when to auto-flush" type: Int default: 1000 ping-lifetime-max-time: description: "After what time to auto-flush" type: Int default: 0 splash-screen: description: "A feature that extends splash screen duration, allowing additional data fetching time for the app's initial run." variables: enabled: description: "If true, the feature is active." type: Boolean default: false maximum_duration_ms: description: The maximum amount of time in milliseconds the splashscreen will be visible while waiting for initialization calls to complete. type: Int default: 0 shopping-experience: description: A feature that shows product review quality information. variables: enabled: description: if true, the shopping experience feature is shown to the user. type: Boolean default: false product-recommendations: description: if true, recommended products feature is enabled to be shown to the user based on their preference. type: Boolean default: false product-recommendations-exposure: description: if true, we want to record recommended products inventory for opted-in users, even if product recommendations are disabled. type: Boolean default: false defaults: - channel: developer value: enabled: true product-recommendations: true product-recommendations-exposure: true print: description: A feature for printing from the share or browser menu. variables: share-print-enabled: description: If true, a print button from the share menu is available. type: Boolean default: true browser-print-enabled: description: If true, a print button from the browser menu is available. type: Boolean default: true search-extra-params: description: A feature that provides additional args for search. variables: enabled: description: If true, the feature is active. type: Boolean default: false search-engine: description: The search engine name. type: String default: "" feature-enabler: description: The feature enabler param name with arg, NOTE this map could be empty. type: Map default: {} channel-id: description: The channel Id param name with arg. type: Map default: {} fx-suggest: description: A feature that provides Firefox Suggest search suggestions. variables: enabled: description: > Whether the feature is enabled. When Firefox Suggest is enabled, Firefox will download and store new search suggestions in the background, and show additional Search settings to control which suggestions appear in the awesomebar. When Firefox Suggest is disabled, Firefox will not download new suggestions, and hide the additional Search settings. type: Boolean default: false defaults: - channel: developer value: enabled: true - channel: nightly value: enabled: true nimbus-is-ready: description: > A feature that provides the number of Nimbus is_ready events to send when Nimbus finishes launching. variables: event-count: description: The number of events that should be sent. type: Int default: 1 translations: description: The feature that allows on-device translations of web content. variables: main-flow-toolbar-enabled: description: > Show the primary toolbar entry point into the translations feature. (Translations icon on URL toolbar.) type: Boolean default: true main-flow-browser-menu-enabled: description: > Show the browser menu entry point into the translations feature. ('Translate Page' on browser menu.) type: Boolean default: true page-settings-enabled: description: > Show the page settings entry point within the translations feature. (Gear icon on the translations main flow page.) 'main-flow-toolbar-enabled' or 'main-flow-browser-menu-enabled' must also be enabled for users to access this feature. type: Boolean default: true global-settings-enabled: description: > Show the global settings entry point within the translations feature. ('Translation Settings' on the page settings view.) 'page-settings-enabled' must also be enabled for users to access this feature. type: Boolean default: true global-lang-settings-enabled: description: > Show the global language options entry point for automatically translating. ('Automatic Translation' on the global settings view.) 'global-settings-enabled' must also be enabled for users to access this feature. type: Boolean default: true global-site-settings-enabled: description: > Show the global never translate this site options entry point for site management. ('Never translate these sites' on the global settings view.) 'global-settings-enabled' must also be enabled for users to access this feature. type: Boolean default: true downloads-enabled: description: > Show the global language model download options entry point for translations. ('Download languages' on the global settings view.) 'global-settings-enabled' must also be enabled for users to access this feature. type: Boolean default: true navigation-toolbar: description: Feature for navigation toolbar. variables: enabled: description: > When the feature is enabled then the user will see the new navigation toolbar. type: Boolean default: false defaults: - channel: developer value: enabled: true - channel: nightly value: enabled: true remote-tab-management: description: > Features that let users manage tabs on other devices that are connected to the same Mozilla account. variables: close-tabs-enabled: description: > Whether the feature to close synced tabs is enabled. When enabled, this device will allow other devices to close tabs that are open on this device, and show a "close" button for tabs that are currently open on other supported devices in the synced tabs tray. type: Boolean default: true suggest-shipped-domains: description: Feature that suggests domains from the shipped domain list. variables: enabled: description: > Suggest domains from the shipped domain list. type: Boolean default: true defaults: - channel: nightly value: enabled: false - channel: developer value: enabled: false fingerprinting-protection: description: Control Fingerprinting Protection variables: enabled: description: If true, the feature is active. type: Boolean default: false enabled-normal: description: > Enables / disables fingerprinting protection in normal browsing mode. type: Boolean default: false enabled-private: description: > Enables / disables fingerprinting protection in private browsing mode. type: Boolean default: true overrides: description: > The protection overrides to add or remove fingerprinting protection targets. Please check RFPTargets.inc for all supported targets. type: String default: "" fdlibm-math: description: > Uses a different math backend for Math.sin/cos/tan in JavaScript that exposes less entropy type: Boolean default: false menu-redesign: description: Control the new menu redesign. variables: enabled: description: If true, the new menu redesign is available. type: Boolean default: false microsurveys: description: Feature for microsurveys. variables: enabled: description: > When the feature is enabled then microsurveys can be used. type: Boolean default: true set-as-default-prompt: description: > Displays native default browser prompt to existing users. variables: enabled: description: > When the feature is enabled then the Set as default prompt can be triggered for existing users. type: Boolean default: false app-cold-starts-between-prompts: description: > Minimum number of app cold starts before the next prompt should be displayed to the user. type: Int default: 4 days-between-prompts: description: > Minimum number of days between displays of Set as default prompt. type: Int default: 14 max-number-of-times-to-display: description: > Maximum number of time the prompt should be displayed. type: Int default: 3 defaults: - channel: developer value: enabled: true - channel: nightly value: enabled: false user-characteristics: description: A feature for control user characteristic data collection variables: currentVersion: description: The current collection version of the user characteristics. type: Int default: 0 types: objects: {} enums: HomeScreenSection: description: The identifiers for the sections of the homescreen. variants: top-sites: description: The frecency and pinned sites. bookmarks: description: The sites the user has bookmarked. jump-back-in: description: The tabs the user was looking immediately before being interrupted. recent-explorations: description: The tab groups pocket: description: The pocket section. This should only be available in the US. pocket-sponsored-stories: description: Subsection of the Pocket homescreen section which shows sponsored stories. MR2022Section: description: The identifiers for the sections of the MR 2022. variants: home-onboarding-dialog-existing-users: description: Home onboarding dialog for upgraded users. sync-cfr: description: CFR for the first time you see a synced tab on the home screen. wallpapers-selection-tool: description: Wallpapers selection dialog tool for the home screen. jump-back-in-cfr: description: Jump back-in onboarding message. tcp-cfr: description: CFR for the first time you use the browse with Total Cookie Protection on the browser screen. tcp-feature: description: Controls the Total Cookie Protection feature. CookieBannersSection: description: The identifiers for the sections of the MR 2022. variants: feature-ui: description: An integer either 0 or 1 indicating if the UI for cookie banner handling should be visible, 0 to hide the UI and 1 to show the UI. The actual UI is composed by cookie banner section in the settings page, the toolbar section and the re-engagement dialog. feature-setting-value: description: An integer either 0 or 1 indicating if cookie banner setting should be enabled or disabled, 0 for setting the value to disabled, 1 for enabling the setting with the value reject_all. feature-setting-value-pbm: description: An integer either 0 or 1 indicating if cookie banner setting should be enabled or disabled, 0 for setting the value to disabled, 1 for enabling the setting with the value reject_all. feature-setting-detect-only: description: An integer either 0 or 1 indicating if cookie banner detect only mode should be enabled or disabled. 0 for setting to be disabled, and 1 for enabling the setting. feature-setting-global-rules: description: An integer either 0 or 1 indicating if cookie banner global rules should be enabled or disabled. 0 for setting to be disabled, and 1 for enabling the setting. feature-setting-global-rules-sub-frames: description: An integer either 0 or 1 indicating if cookie banner global rules sub-frames should be enabled or disabled. 0 for setting to be disabled, and 1 for enabling the setting. QueryParameterStrippingSection: description: The identifiers for the options for the Query Parameter Stripping feature. variants: query-parameter-stripping: description: An integer either 0 or 1 indicating if query parameter stripping should be enabled or disabled in normal mode. 0 for setting to be disabled, and 1 for enabling the setting. query-parameter-stripping-pmb: description: An integer either 0 or 1 indicating if query parameter stripping should be enabled or disabled in private mode. 0 for setting to be disabled, and 1 for enabling the setting. query-parameter-stripping-allow-list: description: An string separated by commas indicating the sites where should from query stripping should be exempted. query-parameter-stripping-strip-list: description: An string separated by commas indicating the list of query params to be stripped from URIs. This list will be merged with records coming from RemoteSettings. OnboardingPanel: description: The types of onboarding panels in the onboarding page variants: themes: description: The themes onboarding panel where users pick themes toolbar-placement: description: The onboarding panel where users choose their toolbar placement (bottom or top) sync: description: The onboarding panel where users can sign in to sync tcp: description: The onboarding panel where users can choose their total cookie protection settings privacy-notice: description: The onboarding panel where users can tap to view our privacy notice.