Index: third_party/WebKit/Source/bindings/templates/constants.cpp |
diff --git a/third_party/WebKit/Source/bindings/templates/constants.cpp b/third_party/WebKit/Source/bindings/templates/constants.cpp |
index bac23ca38f6fa129543b54c134c7c6d3b8336fa0..7e9ebe445613c607e4a864c2425a80a84ae27c24 100644 |
--- a/third_party/WebKit/Source/bindings/templates/constants.cpp |
+++ b/third_party/WebKit/Source/bindings/templates/constants.cpp |
@@ -34,13 +34,22 @@ const V8DOMConfiguration::ConstantConfiguration {{v8_class}}Constants[] = { |
}; |
V8DOMConfiguration::installConstants(isolate, functionTemplate, prototypeTemplate, {{v8_class}}Constants, WTF_ARRAY_LENGTH({{v8_class}}Constants)); |
{% endif %} |
+ExecutionContext* ec = currentExecutionContext(isolate); |
+ALLOW_UNUSED_LOCAL(ec); |
{# Runtime-enabled constants #} |
{% for constant_tuple in runtime_enabled_constants %} |
{% filter runtime_enabled(constant_tuple[0]) %} |
{% for constant in constant_tuple[1] %} |
{% set constant_name = constant.name.title().replace('_', '') %} |
+{% if constant.name in experimental_enabled_constants %} |
+if (Experiments::isApiEnabledWithoutMessage(ec, "{{experimental_enabled_constants.get(constant.name)}}")) { |
+ const V8DOMConfiguration::ConstantConfiguration constant{{constant_name}}Configuration = {{constant_configuration(constant)}}; |
+ V8DOMConfiguration::installConstant(isolate, functionTemplate, prototypeTemplate, constant{{constant_name}}Configuration); |
+} |
+{% else %} |
const V8DOMConfiguration::ConstantConfiguration constant{{constant_name}}Configuration = {{constant_configuration(constant)}}; |
V8DOMConfiguration::installConstant(isolate, functionTemplate, prototypeTemplate, constant{{constant_name}}Configuration); |
+{% endif %} |
{% endfor %} |
{% endfilter %} |
{% endfor %} |
@@ -48,6 +57,13 @@ V8DOMConfiguration::installConstant(isolate, functionTemplate, prototypeTemplate |
{% for constant in special_getter_constants %} |
V8DOMConfiguration::installConstantWithGetter(isolate, functionTemplate, prototypeTemplate, "{{constant.name}}", {{cpp_class}}V8Internal::{{constant.name}}ConstantGetterCallback); |
{% endfor %} |
+{# Constants with [ExperimentEnabled] only #} |
+{% for constant in experimental_only_constants %} |
+if (Experiments::isApiEnabledWithoutMessage(ec, "{{constant['api_experiment_name']}}")) { |
+ const V8DOMConfiguration::ConstantConfiguration constant{{constant.name}}Configuration = {{constant_configuration(constant)}}; |
+ V8DOMConfiguration::installConstant(isolate, functionTemplate, prototypeTemplate, constant{{constant.name}}Configuration); |
+} |
+{% endfor %} |
{# Check constants #} |
{% if not do_not_check_constants %} |
{% for constant in constants %} |