Bug 1648223 - Enable the Experimental Preferences by default. r=mstriemer
☠☠ backed out by 9b981fcfb6ac ☠ ☠
authorJared Wein <jwein@mozilla.com>
Fri, 26 Jun 2020 03:45:05 +0000
changeset 537567 48790fe7990a69934299ad1f7618c3093ace2176
parent 537566 2d52e80dd32125ae5206287205c3b50aa305fce3
child 537568 74444d8237d1342d94a5a0b094b550112ef7881d
push id120073
push userjwein@mozilla.com
push dateFri, 26 Jun 2020 03:47:03 +0000
treeherderautoland@48790fe7990a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmstriemer
bugs1648223
milestone79.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1648223 - Enable the Experimental Preferences by default. r=mstriemer Differential Revision: https://phabricator.services.mozilla.com/D81111
browser/app/profile/firefox.js
toolkit/components/featuregates/docs/index.rst
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -749,17 +749,21 @@ pref("plugins.favorfallback.rules", "nos
 #ifdef XP_WIN
   pref("browser.preferences.instantApply", false);
 #else
   pref("browser.preferences.instantApply", true);
 #endif
 
 // Toggling Search bar on and off in about:preferences
 pref("browser.preferences.search", true);
+#if defined(NIGHTLY_BUILD)
+pref("browser.preferences.experimental", true);
+#else
 pref("browser.preferences.experimental", false);
+#endif
 pref("browser.preferences.defaultPerformanceSettings.enabled", true);
 
 pref("browser.download.show_plugins_in_list", true);
 pref("browser.download.hide_plugins_without_extensions", true);
 
 // Backspace and Shift+Backspace behavior
 // 0 goes Back/Forward
 // 1 act like PgUp/PgDown
--- a/toolkit/components/featuregates/docs/index.rst
+++ b/toolkit/components/featuregates/docs/index.rst
@@ -10,31 +10,35 @@ pitfalls of other systems, such as using
 to be compatible with tools that want to know and affect the state of
 features in Firefox over time and in the wild.
 
 Feature Definitions
 ===================
 
 All features must have a definition, specified in
 ``toolkit/components/featuregates/Features.toml``. These definitions include
-data such as title and description (to be shown to users), and bug numbers (to
-track the development of the feature over time). Here is an example feature
-definition with an id of ``demo-feature``:
+data such as references to title and description strings (to be shown to users),
+and bug numbers (to track the development of the feature over time). Here is an
+example feature definition with an id of ``demo-feature``:
 
 .. code-block:: toml
 
    [demo-feature]
-   title = "Demo Feature"
-   description = "A no-op feature to demo the feature gate system."
+   title = "experimental-features-demo-feature"
+   description = "experimental-features-demo-feature-description"
    restart-required = false
    bug-numbers = [1479127]
    type = boolean
    is-public = {default = false, nightly = true}
    default-value = {default = false, nightly = true}
 
+The references defined in the `title` and `description` values point to strings
+stored in ``toolkit/locales/en-US/toolkit/featuregates/features.ftl``. The `title`
+string should specify the user-facing string as the `label` attribute.
+
 .. _targeted value:
 
 Targeted values
 ---------------
 
 Several fields can take a value that indicates it varies by channel and OS.
 These are known as *targeted values*. The simplest computed value is to
 simply provide the value:
@@ -78,27 +82,50 @@ more-specific case matches. The conditio
 * ``mac``
 * ``linux``
 * ``android``
 
 Fields
 ------
 
 title
-    Required. A human readable name for the feature, meant to be shown to
-    users. Should fit onto a single line.
+    Required. The string ID of the human readable name for the feature, meant to be shown to
+    users. Should fit onto a single line. The actual string should be defined in
+    ``toolkit/locales/en-US/toolkit/featuregates/features.ftl`` with the user-facing value
+    defined as the `label` attribute of the string.
 
 description
-    Required. A human readable description for the feature, meant to be shown to
-    users. Should be at most a paragraph.
+    Required. The string ID of the human readable description for the feature, meant to be shown to
+    users. Should be at most a paragraph. The actual string should be defined in
+    ``toolkit/locales/en-US/toolkit/featuregates/features.ftl``.
 
 description-links
     Optional. A dictionary of key-value pairs that are referenced in the description. The key
     name must appear in the description localization text as
-    <a data-l10n-name="key-name">.
+    <a data-l10n-name="key-name">. For example in Features.toml:
+
+.. code-block:: toml
+
+   [demo-feature]
+   title = "experimental-features-demo-feature"
+   description = "experimental-features-demo-feature-description"
+   description-links = {exampleCom = "https://example.com", exampleOrg = "https://example.org"}
+   restart-required = false
+   bug-numbers = [1479127]
+   type = boolean
+   is-public = {default = false, nightly = true}
+   default-value = {default = false, nightly = true}
+
+and in features.ftl:
+
+.. code-block:: fluent
+
+   experimental-features-demo-feature =
+       .label = Example Demo Feature
+   experimental-features-demo-feature-description = Example demo feature that can point to <a data-l10n-name="exampleCom">.com</a> links and <a data-l10n-name="exampleOrg">.org</a> links.
 
 bug-numbers
     Required. A list of bug numbers related to this feature. This should
     likely be the metabug for the the feature, but any related bugs can be
     included. At least one bug is required.
 
 restart-required
     Required. If this feature requires a the browser to be restarted for changes