- add third_party src.
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / build / scripts / templates / RuntimeEnabledFeatures.h.tmpl
1 {% from "macros.tmpl" import wrap_with_condition, license -%}
2 {{ license() }}
3
4 #ifndef RuntimeEnabledFeatures_h
5 #define RuntimeEnabledFeatures_h
6
7 #include "platform/PlatformExport.h"
8
9 namespace WebCore {
10
11 // A class that stores static enablers for all experimental features.
12
13 class PLATFORM_EXPORT RuntimeEnabledFeatures {
14 public:
15
16 {%- for feature_set in feature_sets %}
17     static void set{{feature_set|capitalize}}FeaturesEnabled(bool);
18 {%- endfor %}
19
20 {% for feature in features %}
21 {%- if feature.custom %}
22     static bool {{feature.first_lowered_name}}Enabled();
23 {%- else %}
24 {%- if feature.condition %}
25 #if ENABLE({{feature.condition}})
26 {%- endif %}
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 %}
30 #else
31     static void set{{feature.name}}Enabled(bool) { }
32     static bool {{feature.first_lowered_name}}Enabled() { return false; }
33 #endif
34 {%- endif %}
35 {%- endif %}
36 {% endfor %}
37
38 private:
39     RuntimeEnabledFeatures() { }
40 {% for feature in features if not feature.custom %}
41 {%- call wrap_with_condition(feature.condition) %}
42     static bool is{{feature.name}}Enabled;
43 {%- endcall %}
44 {%- endfor %}
45 };
46
47 } // namespace WebCore
48
49 #endif // RuntimeEnabledFeatures_h