[Webkit-unassigned] [Bug 222885] Formalize rules for what is an Experimental Feature

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Mar 8 14:08:03 PST 2021


https://bugs.webkit.org/show_bug.cgi?id=222885

--- Comment #3 from Sam Weinig <sam at webkit.org> ---
(In reply to Simon Fraser (smfr) from comment #2)
> Would be good to clarify what happens when:
> 1. the feature gets stable enough to be on by default, but has not been
> shipped yet.

This might be good argument against my "Off by default" rule.

> 2. the feature has been shipped in an OS release (by Apple, at least)

This is a good point. Perhaps "experimental" status needs to be a per-port concept. Perhaps we should have an independent list of Features that are experimental, instead of binding it into the preferences themselves.

> There is utility in turning the feature off for QA testing (or, for a web
> dev, to test  behavior in older Safari versions), so the switch needs to be
> exposed somewhere.

Agreed. I think once a feature has been shipped on by default, using an Internal Setting should cover this.


Ok, updated proposal:

Experimental Features are:

- Features that have not shipped in an official release.
- Preferred to be off by default (this means that if the experiment is disabling something, it should be phrased as a negative, e.g. Disable SQL Databases), but a stable feature waiting for an upcoming release can stay in the experimental features set on by default until has shipped.
- Stable enough that we would like people to try them out.


Features that still have utility in being configurable after they ship should move to the Internal Features set.


Implementation Changes:
- Merge all WebPreferences*.yaml files into WebPreferences.yaml
- Add new ExperimentalFeatures.yaml, InternalFeatures.yaml and DebugFeatures.yaml files that list preferences from WebPreferences.yaml that should be in that set. 
- Stop relying on a feature being on by default in LayoutTests when it is an Experimental Feature, and rather add new keys to the defaultValue: dictionary in each preference definition for WebKitTestRunner and DumpRenderTree.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20210308/12688cd9/attachment-0001.htm>


More information about the webkit-unassigned mailing list