255 lines
8.0 KiB
JavaScript
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)",
|
|
},
|
|
},
|
|
},
|
|
};
|