Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(194)

Side by Side Diff: third_party/WebKit/Source/bindings/templates/methods.cpp

Issue 1531443003: [bindings] Implement an ExperimentEnabled IDL extended attribute. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Install interfaces/attributes/methods unconditionally. Use the generated ExperimentalFeature functi… Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 {% from 'conversions.cpp' import declare_enum_validation_variable, v8_value_to_l ocal_cpp_value %} 1 {% from 'conversions.cpp' import declare_enum_validation_variable, v8_value_to_l ocal_cpp_value %}
2 2 {% from 'api_experiment.cpp' import check_api_experiment %}
3 3
4 {##############################################################################} 4 {##############################################################################}
5 {% macro generate_method(method, world_suffix) %} 5 {% macro generate_method(method, world_suffix) %}
6 {% filter conditional(method.conditional_string) %} 6 {% filter conditional(method.conditional_string) %}
7 {% if method.returns_promise and method.has_exception_state %} 7 {% if method.returns_promise and method.has_exception_state %}
8 static void {{method.name}}{{method.overload_index}}Method{{world_suffix}}Promis e(const v8::FunctionCallbackInfo<v8::Value>& info, ExceptionState& exceptionStat e) 8 static void {{method.name}}{{method.overload_index}}Method{{world_suffix}}Promis e(const v8::FunctionCallbackInfo<v8::Value>& info, ExceptionState& exceptionStat e)
9 {% else %} 9 {% else %}
10 static void {{method.name}}{{method.overload_index}}Method{{world_suffix}}(const v8::FunctionCallbackInfo<v8::Value>& info) 10 static void {{method.name}}{{method.overload_index}}Method{{world_suffix}}(const v8::FunctionCallbackInfo<v8::Value>& info)
11 {% endif %} 11 {% endif %}
12 { 12 {
(...skipping 491 matching lines...) Expand 10 before | Expand all | Expand 10 after
504 static void {{method.name}}MethodCallback{{world_suffix}}(const v8::FunctionCall backInfo<v8::Value>& info) 504 static void {{method.name}}MethodCallback{{world_suffix}}(const v8::FunctionCall backInfo<v8::Value>& info)
505 { 505 {
506 TRACE_EVENT_SET_SAMPLING_STATE("blink", "DOMMethod"); 506 TRACE_EVENT_SET_SAMPLING_STATE("blink", "DOMMethod");
507 {% if not method.overloads %}{# Overloaded methods are measured in overload_ resolution_method() #} 507 {% if not method.overloads %}{# Overloaded methods are measured in overload_ resolution_method() #}
508 {% if method.measure_as %} 508 {% if method.measure_as %}
509 UseCounter::countIfNotPrivateScript(info.GetIsolate(), callingExecutionConte xt(info.GetIsolate()), UseCounter::{{method.measure_as('Method')}}); 509 UseCounter::countIfNotPrivateScript(info.GetIsolate(), callingExecutionConte xt(info.GetIsolate()), UseCounter::{{method.measure_as('Method')}});
510 {% endif %} 510 {% endif %}
511 {% if method.deprecate_as %} 511 {% if method.deprecate_as %}
512 UseCounter::countDeprecationIfNotPrivateScript(info.GetIsolate(), callingExe cutionContext(info.GetIsolate()), UseCounter::{{method.deprecate_as}}); 512 UseCounter::countDeprecationIfNotPrivateScript(info.GetIsolate(), callingExe cutionContext(info.GetIsolate()), UseCounter::{{method.deprecate_as}});
513 {% endif %} 513 {% endif %}
514 {% filter trim %}
515 {{check_api_experiment(method) | indent}}
516 {% endfilter %}
514 {% endif %}{# not method.overloads #} 517 {% endif %}{# not method.overloads #}
515 {% if world_suffix in method.activity_logging_world_list %} 518 {% if world_suffix in method.activity_logging_world_list %}
516 ScriptState* scriptState = ScriptState::from(info.GetIsolate()->GetCurrentCo ntext()); 519 ScriptState* scriptState = ScriptState::from(info.GetIsolate()->GetCurrentCo ntext());
517 V8PerContextData* contextData = scriptState->perContextData(); 520 V8PerContextData* contextData = scriptState->perContextData();
518 {% if method.activity_logging_world_check %} 521 {% if method.activity_logging_world_check %}
519 if (scriptState->world().isIsolatedWorld() && contextData && contextData->ac tivityLogger()) 522 if (scriptState->world().isIsolatedWorld() && contextData && contextData->ac tivityLogger())
520 {% else %} 523 {% else %}
521 if (contextData && contextData->activityLogger()) { 524 if (contextData && contextData->activityLogger()) {
522 {% endif %} 525 {% endif %}
523 ExceptionState exceptionState(ExceptionState::ExecutionContext, "{{metho d.name}}", "{{interface_name}}", info.Holder(), info.GetIsolate()); 526 ExceptionState exceptionState(ExceptionState::ExecutionContext, "{{metho d.name}}", "{{interface_name}}", info.Holder(), info.GetIsolate());
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
707 {% filter runtime_enabled(method.overloads.runtime_enabled_function_all 710 {% filter runtime_enabled(method.overloads.runtime_enabled_function_all
708 if method.overloads else 711 if method.overloads else
709 method.runtime_enabled_function) %} 712 method.runtime_enabled_function) %}
710 const V8DOMConfiguration::MethodConfiguration {{method.name}}MethodConfiguration = {{method_configuration(method)}}; 713 const V8DOMConfiguration::MethodConfiguration {{method.name}}MethodConfiguration = {{method_configuration(method)}};
711 V8DOMConfiguration::installMethod(isolate, v8::Local<v8::Object>(), prototypeObj ect, interfaceObject, defaultSignature, {{method.name}}MethodConfiguration); 714 V8DOMConfiguration::installMethod(isolate, v8::Local<v8::Object>(), prototypeObj ect, interfaceObject, defaultSignature, {{method.name}}MethodConfiguration);
712 {% endfilter %}{# runtime_enabled() #} 715 {% endfilter %}{# runtime_enabled() #}
713 {% endfilter %}{# exposed() #} 716 {% endfilter %}{# exposed() #}
714 {% endfor %} 717 {% endfor %}
715 {% endif %} 718 {% endif %}
716 {%- endmacro %} 719 {%- endmacro %}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698