Add support for experiments
This change refactors the options logic and adds support for
experiments: a new type of options which are not shown in the options
page (their usage will be similar to Chrome flags).
Experiments can be set from the
chrome-extension://{extension_id}/options/experiments.html page.
This code refactoring simplifies the options definition. Each option now
has a default value, and a context: the place where the option is set
(options, experiments, internal, deprecated).
Change-Id: I358ae07c832acae6b4536788c4dbe12a0e4730bf
diff --git a/docs/developers/add_feature.md b/docs/developers/add_feature.md
index 1f3fe0d..15053e4 100644
--- a/docs/developers/add_feature.md
+++ b/docs/developers/add_feature.md
@@ -9,8 +9,8 @@
### How to add the feature switch option
1. First of all, think of a short codename for the feature.
-2. Modify the `//src/common/common.js` file by adding the default value for the
-option in the `defaultOptions` object.
+2. Modify the `//src/common/common.js` file by adding an entry in the
+`optionsPrototype` object.
- All features should have the `false` value set as a default, so existing
users have to explicitly enable the option after they receive the extension
update. Otherwise, it might cause confusion, because users wouldn't know if
@@ -59,7 +59,7 @@
codename appended by an underscore and a suffix
(`{{feature_codename}}_{{suffix}}`).
2. Modify the `//src/common/common.js` file by doing the following things:
- 1. Add a default value for the option in the `defaultOptions` object.
+ 1. Add an entry for the option in the `optionsPrototype` object.
2. Append the option's codename to the `specialOptions` object. This is so
the option can be handled in a specific way when showing/saving it in the
options page, or so it is handled outside of the options page.