Index: third_party/WebKit/Source/bindings/templates/methods.cpp |
diff --git a/third_party/WebKit/Source/bindings/templates/methods.cpp b/third_party/WebKit/Source/bindings/templates/methods.cpp |
index c9295cdb161dd59f47fef4cb27ac0742c9f17d09..f6c0ff4306edc26d4a600f1d99690d2bd7766969 100644 |
--- a/third_party/WebKit/Source/bindings/templates/methods.cpp |
+++ b/third_party/WebKit/Source/bindings/templates/methods.cpp |
@@ -366,7 +366,7 @@ createMinimumArityTypeErrorForMethod(info.GetIsolate(), "{{method.name}}", "{{in |
static int {{overloads.name}}MethodLength() |
{ |
{% for length, runtime_enabled_functions in overloads.runtime_determined_lengths %} |
- {% for runtime_enabled_function in runtime_enabled_functions %} |
+{% for runtime_enabled_function in runtime_enabled_functions %} |
{% filter runtime_enabled(runtime_enabled_function) %} |
return {{length}}; |
{% endfilter %} |
@@ -398,6 +398,8 @@ we must ensure either ALL or NO methods in this overload return Promise #} |
{% macro overload_resolution_method(overloads, world_suffix) %} |
static void {{overloads.name}}Method{{world_suffix}}(const v8::FunctionCallbackInfo<v8::Value>& info) |
{ |
+ String errorMessage; |
+ ALLOW_UNUSED_LOCAL(errorMessage); |
ExceptionState exceptionState(ExceptionState::ExecutionContext, "{{overloads.name}}", "{{interface_name}}", info.Holder(), info.GetIsolate()); |
{% if overloads.measure_all_as %} |
UseCounter::countIfNotPrivateScript(info.GetIsolate(), callingExecutionContext(info.GetIsolate()), UseCounter::{{overloads.measure_all_as}}); |
@@ -417,6 +419,8 @@ static void {{overloads.name}}Method{{world_suffix}}(const v8::FunctionCallbackI |
{% if method.visible %} |
{% filter runtime_enabled(not overloads.runtime_enabled_function_all and |
method.runtime_enabled_function) %} |
+ {% filter experiment_enabled(not overloads.experimental_api_name_all and |
+ method.experimental_api_name, "errorMessage") %} |
if ({{test}}) { |
{% if method.measure_as and not overloads.measure_all_as %} |
UseCounter::countIfNotPrivateScript(info.GetIsolate(), callingExecutionContext(info.GetIsolate()), UseCounter::{{method.measure_as('Method')}}); |
@@ -428,6 +432,7 @@ static void {{overloads.name}}Method{{world_suffix}}(const v8::FunctionCallbackI |
return; |
} |
{% endfilter %} |
+ {% endfilter %} |
{% endif %} |
{% endfor %} |
break; |
@@ -700,6 +705,8 @@ V8DOMConfiguration::installMethod(isolate, {{instance_template}}, {{prototype_te |
v8::Local<v8::Signature> defaultSignature = v8::Signature::New(isolate, domTemplate(isolate)); |
ExecutionContext* executionContext = toExecutionContext(prototypeObject->CreationContext()); |
ASSERT(executionContext); |
+String errorMessage; |
+ALLOW_UNUSED_LOCAL(errorMessage); |
{% for method in conditionally_enabled_methods %} |
{% filter exposed(method.overloads.exposed_test_all |
if method.overloads else |
@@ -707,8 +714,12 @@ ASSERT(executionContext); |
{% filter runtime_enabled(method.overloads.runtime_enabled_function_all |
if method.overloads else |
method.runtime_enabled_function) %} |
+{% filter experiment_enabled(method.overloads.experimental_api_name_all |
+ if method.overloads else |
+ method.experimental_api_name, "errorMessage") %} |
const V8DOMConfiguration::MethodConfiguration {{method.name}}MethodConfiguration = {{method_configuration(method)}}; |
V8DOMConfiguration::installMethod(isolate, v8::Local<v8::Object>(), prototypeObject, interfaceObject, defaultSignature, {{method.name}}MethodConfiguration); |
+{% endfilter %}{# experiment_enabled() #} |
{% endfilter %}{# runtime_enabled() #} |
{% endfilter %}{# exposed() #} |
{% endfor %} |