The policy for adding new (major) features to WebKit is:
- Send email to webkit-dev describing the feature and linking to the tracking bug.
- If necessary, add an ENABLE flag for the feature.
How to add an ENABLE flag
By adding a build definition for ENABLE_FEATURE it allows code/preprocessor to test using ENABLE(FEATURE). You'll need to edit at least the following files:
Note that only defines the feature. To turn the feature on, you'll need to edit the build configurations for each port. (TODO: page describing where each configuration is?)
After adding a feature, please add it to the list in the wiki
Activating a feature for CMake based ports
- Edit Source/cmake/Options<Port>.cmake, e.g. OptionsEfl.cmake and set a default value for this feature.
- Edit Tools/Scripts/webkitperl/FeatureList.pm to default enable this for the same port, e.g add a isPort() statement to the default setting assignment.
Information specific to GTK port:
- Source/cmake/OptionsGTK.cmake: This file controls the features enabled for WebKitGTK+ release builds -- the equivalent of production builds. In general, new and unstable features should be disabled here.
- Tools/Scripts/webkitperl/FeatureList.pm: This file controls the features enabled for WebKitGTK+ development builds. We like to enable things early here to get test coverage as soon as possible.