1 {% from 'macros.tmpl' import license %}
4 #ifndef RuntimeEnabledFeatures_h
5 #define RuntimeEnabledFeatures_h
7 #include "platform/PlatformExport.h"
11 // A class that stores static enablers for all experimental features.
13 class PLATFORM_EXPORT RuntimeEnabledFeatures {
15 {% for feature_set in feature_sets %}
16 static void set{{feature_set|capitalize}}FeaturesEnabled(bool);
20 {% for feature in features %}
21 {% if feature.custom %}
22 static bool {{feature.first_lowered_name}}Enabled();
24 {% if feature.condition %}
25 #if ENABLE({{feature.condition}})
27 static void set{{feature.name}}Enabled(bool isEnabled) { is{{feature.name}}Enabled = isEnabled; }
28 static bool {{feature.first_lowered_name}}Enabled() { return {{feature.enabled_condition}}; }
29 {% if feature.condition %}
31 static void set{{feature.name}}Enabled(bool) { }
32 static bool {{feature.first_lowered_name}}Enabled() { return false; }
40 RuntimeEnabledFeatures() { }
42 {% for feature in features if not feature.custom %}
43 {% filter enable_conditional(feature.condition) %}
44 static bool is{{feature.name}}Enabled;
49 } // namespace WebCore
51 #endif // RuntimeEnabledFeatures_h