Closed Bug 1479127 Opened 6 years ago Closed 5 years ago

Add feature gating library

Categories

(Toolkit :: FeatureGate, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
Tracking Status
firefox66 --- fixed

People

(Reporter: mythmon, Assigned: mythmon)

References

(Blocks 1 open bug)

Details

(Keywords: feature)

Attachments

(1 file)

In order to support the Feature Gating project, we should make a small library for Firefox features that makes it easy to respond to features turning on and off in a reliable, efficient, and auditable way. This will enable developers to be more assured that the way they enable and disable features is correct without having to dodge the litany of foot-guns that exist when using preferences directly. It will also make it possible for external tools to easily list and change the features in Firefox. Examples include:

* Shield/Normandy enabling or disabling features
* Delivery Console monitoring the state of features
* An in-browser about: page that describes features and allows control of them by end users.

Initially this will be based on the preferences system, while exposing an API that ensures that none of the common problems with using preferences happen (such as ignoring default-branch values, accidentally requiring a browser restart, erasing user choice of preferences, or ignoring values of the pref as it changes). In the future, it may be desirable to move the backing store to another platform, such as rkv. Because of this, the implementation should be async, even if the preference system does not require it.

Features will be specified in a static file in tree, much like Telemetry's Events.yaml or Telemetry.yaml. This will provide a centralized place to store metadata, such as a human readable name and description, the type of the preference, if the preference requires a restart, its default, etc.
Priority: -- → P1
See Also: → 1489527
Blocks: 1501030
Attachment #9006998 - Attachment description: Bug 1479127 - Add strawman featuregate library → Bug 1479127 - Add featuregate library
Pushed by mcooper@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/7e107869b00d
Add featuregate library r=mossop,firefox-build-system-reviewers,mshal
Pushed by mcooper@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/badd599eb7d7
Add featuregate library r=mossop,firefox-build-system-reviewers,mshal
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 66
Flags: needinfo?(mcooper)
Blocks: 1519276
Severity: normal → enhancement
Component: General → FeatureGate
Keywords: feature
Product: Firefox → Toolkit
Target Milestone: Firefox 66 → ---
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: