| Index: Source/bindings/templates/constants.cpp | 
| diff --git a/Source/bindings/templates/constants.cpp b/Source/bindings/templates/constants.cpp | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..994b0ba0ef2ca1c0c2662f24edebb0e1104f3d08 | 
| --- /dev/null | 
| +++ b/Source/bindings/templates/constants.cpp | 
| @@ -0,0 +1,52 @@ | 
| +{# FIXME: remove all the conditional_string blocks once test removed #} | 
| +{# FIXME: should use name_reflect instead of name #} | 
| +{# FIXME: do we need separate value and value_raw? #} | 
| +{% macro class_consts() %} | 
| +static const V8DOMConfiguration::BatchedConstant {{v8_class_name}}Consts[] = { | 
| +{% for constant in constants %} | 
| +{% if not constant.enabled_at_runtime %} | 
| +{% if constant.conditional_string %} | 
| +#if {{constant.conditional_string}} | 
| +{% endif %} | 
| +    {"{{constant.name}}", {{constant.value}}}, | 
| +{% if constant.conditional_string %} | 
| +#endif // {{constant.conditional_string}} | 
| +{% endif %} | 
| +{% endif %}{# not constant.enabled_at_runtime #} | 
| +{% endfor %} | 
| +}; | 
| +{% if not do_not_check_constants %} | 
| + | 
| + | 
| +{% for constant in constants %} | 
| +{% if constant.conditional_string %} | 
| +#if {{constant.conditional_string}} | 
| +{% endif %} | 
| +COMPILE_ASSERT({{constant.value_raw}} == {{cpp_class_name}}::{{constant.name_reflect}}, {{cpp_class_name}}Enum{{constant.name_reflect}}IsWrongUseDoNotCheckConstants); | 
| +{% if constant.conditional_string %} | 
| +#endif // {{constant.conditional_string}} | 
| +{% endif %} | 
| +{% endfor %} | 
| +{% endif %}{# not do_not_check_constants #} | 
| +{% endmacro %}{# class_consts #} | 
| + | 
| + | 
| +{% macro const_data(constant) %} | 
| +{% if constant.enabled_at_runtime %} | 
| +{% if constant.conditional_string %} | 
| +#if {{constant.conditional_string}} | 
| +{% endif %} | 
| +    if ({{constant.enable_function}}()) { | 
| +        static const V8DOMConfiguration::BatchedConstant constData = {"{{constant.name}}", static_cast<signed int>({{constant.value}})}; | 
| +        V8DOMConfiguration::batchConfigureConstants(desc, proto, &constData, 1, isolate); | 
| +    } | 
| +{% if constant.conditional_string %} | 
| +#endif // {{constant.conditional_string}} | 
| +{%- endif %} | 
| +{% endif %} | 
| +{% endmacro %}{# const_data #} | 
| + | 
| + | 
| +{% macro batch_configure_constants() %} | 
| +V8DOMConfiguration::batchConfigureConstants(desc, proto, {{v8_class_name}}Consts, WTF_ARRAY_LENGTH({{v8_class_name}}Consts), isolate); | 
| +{%- endmacro %} | 
|  |