Files
tubestation/toolkit/components/nimbus/FeatureManifest.js

255 lines
8.0 KiB
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/**
* FEATURE MANIFEST
* =================
* Features must be added here to be accessible through the NimbusFeature API.
*/
const EXPORTED_SYMBOLS = ["FeatureManifest"];
const FeatureManifest = {
urlbar: {
description: "The Address Bar",
variables: {
quickSuggestEnabled: {
type: "boolean",
fallbackPref: "browser.urlbar.quicksuggest.enabled",
description: "Global toggle for the QuickSuggest feature",
},
quickSuggestNonSponsoredIndex: {
type: "int",
fallbackPref: "browser.urlbar.quicksuggest.nonSponsoredIndex",
description:
"The index of non-sponsored QuickSuggest results within the general group. A negative index is relative to the end of the group",
},
quickSuggestShouldShowOnboardingDialog: {
type: "boolean",
fallbackPref: "browser.urlbar.quicksuggest.shouldShowOnboardingDialog",
description:
"Whether or not to show the QuickSuggest onboarding dialog",
},
quickSuggestShowOnboardingDialogAfterNRestarts: {
type: "int",
fallbackPref:
"browser.urlbar.quicksuggest.showOnboardingDialogAfterNRestarts",
description:
"Show QuickSuggest onboarding dialog after N browser restarts",
},
quickSuggestSponsoredIndex: {
type: "int",
fallbackPref: "browser.urlbar.quicksuggest.sponsoredIndex",
description:
"The index of sponsored QuickSuggest results within the general group. A negative index is relative to the end of the group",
},
},
},
aboutwelcome: {
description: "The about:welcome page",
isEarlyStartup: true,
variables: {
enabled: {
type: "boolean",
fallbackPref: "browser.aboutwelcome.enabled",
description:
"Should users see about:welcome? If this is false, users will see a regular new tab instead.",
},
screens: {
type: "json",
fallbackPref: "browser.aboutwelcome.screens",
description: "Content to show in the onboarding flow",
},
skipFocus: {
type: "boolean",
fallbackPref: "browser.aboutwelcome.skipFocus",
description:
"Should the urlbar should be focused when users first land on about:welcome?",
},
transitions: {
type: "boolean",
description: "Enable transition effect between screens",
},
},
},
abouthomecache: {
description: "The startup about:home cache.",
isEarlyStartup: true,
variables: {
enabled: {
type: "boolean",
fallbackPref: "browser.startup.homepage.abouthome_cache.enabled",
description: "Is the feature enabled?",
},
},
},
firefox100: {
description: "Firefox User-Agent version",
isEarlyStartup: true,
variables: {
firefoxVersion: {
type: "int",
description: "Firefox version to spoof (or `0` to use default version)",
},
},
},
newtab: {
description: "The about:newtab page",
isEarlyStartup: true,
variables: {
newNewtabExperienceEnabled: {
type: "boolean",
fallbackPref:
"browser.newtabpage.activity-stream.newNewtabExperience.enabled",
description: "Is the new UI enabled?",
},
customizationMenuEnabled: {
type: "boolean",
fallbackPref:
"browser.newtabpage.activity-stream.customizationMenu.enabled",
description: "Enable the customization panel inside of the newtab",
},
prefsButtonIcon: {
type: "string",
description: "Icon url to use for the preferences button",
},
},
},
pocketNewtab: {
description: "The Pocket section in newtab",
isEarlyStartup: true,
variables: {
spocPositions: {
type: "string",
fallbackPref:
"browser.newtabpage.activity-stream.discoverystream.spoc-positions",
description: "CSV string of spoc position indexes on newtab grid",
},
},
},
"password-autocomplete": {
description: "A special autocomplete UI for password fields.",
variables: {
directMigrateSingleProfile: {
type: "boolean",
description: "Enable direct migration?",
},
},
},
shellService: {
description: "Interface with OS, e.g., pinning and set default",
isEarlyStartup: true,
variables: {
disablePin: {
type: "boolean",
description: "Disable pin to taskbar feature",
},
setDefaultBrowserUserChoice: {
type: "boolean",
fallbackPref: "browser.shell.setDefaultBrowserUserChoice",
description: "Should it set as default browser",
},
},
},
upgradeDialog: {
description: "The dialog shown for major upgrades",
isEarlyStartup: true,
variables: {
enabled: {
type: "boolean",
fallbackPref: "browser.startup.upgradeDialog.enabled",
description: "Is the feature enabled?",
},
},
},
privatebrowsing: {
description: "about:privatebrowsing",
variables: {
infoEnabled: {
type: "boolean",
fallbackPref: "browser.privatebrowsing.infoEnabled",
description: "Should we show the info section.",
},
infoIcon: {
type: "string",
fallbackPref: "browser.privatebrowsing.infoIcon",
description:
"Icon shown in the left side of the info section. Default is the private browsing icon.",
},
infoTitle: {
type: "string",
fallbackPref: "browser.privatebrowsing.infoTitle",
description: "Is the title in the info section enabled.",
},
infoTitleEnabled: {
type: "boolean",
fallbackPref: "browser.privatebrowsing.infoTitleEnabled",
description: "Is the title in the info section enabled.",
},
infoBody: {
type: "string",
fallbackPref: "browser.privatebrowsing.infoBody",
description: "Text content in the info section.",
},
infoLinkText: {
type: "string",
fallbackPref: "browser.privatebrowsing.infoLinkText",
description: "Text for the link in the info section.",
},
infoLinkUrl: {
type: "string",
fallbackPref: "browser.privatebrowsing.infoLinkUrl",
description: "URL for the info section link.",
},
promoEnabled: {
type: "boolean",
fallbackPref: "browser.privatebrowsing.promoEnabled",
description: "Should we show the promo section.",
},
promoSectionStyle: {
type: "string",
description:
"Sets the position of the promo section. Possible values are: top, bottom. Default bottom.",
},
promoTitle: {
type: "string",
fallbackPref: "browser.privatebrowsing.promoTitle",
description: "The text content of the promo section.",
},
promoTitleEnabled: {
type: "boolean",
fallbackPref: "browser.privatebrowsing.promoTitleEnabled",
description: "Should we show text content in the promo section.",
},
promoLinkText: {
type: "string",
fallbackPref: "browser.privatebrowsing.promoLinkText",
description: "The text of the link in the promo box.",
},
promoLinkUrl: {
type: "string",
fallbackPref: "browser.privatebrowsing.promoLinkUrl",
description: "URL for link in the promo box.",
},
promoLinkType: {
type: "string",
description:
"Type of promo link type. Possible values: link, button. Default is button.",
},
},
},
readerMode: {
description: "Firefox Reader Mode",
isEarlyStartup: true,
variables: {
pocketCTAVersion: {
type: "string",
fallbackPref: "reader.pocket.ctaVersion",
description:
"What version of Pocket CTA to show in Reader Mode (Empty string is no CTA)",
},
},
},
};