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

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: Addressing comments. 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 'utilities.cpp' import declare_enum_validation_variable, v8_value_to_loc al_cpp_value %} 1 {% from 'utilities.cpp' import declare_enum_validation_variable, v8_value_to_loc al_cpp_value, check_api_experiment %}
2 2
3
4 {##############################################################################} 3 {##############################################################################}
5 {% macro generate_method(method, world_suffix) %} 4 {% macro generate_method(method, world_suffix) %}
6 {% filter conditional(method.conditional_string) %} 5 {% filter conditional(method.conditional_string) %}
7 {% if method.returns_promise and method.has_exception_state %} 6 {% 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) 7 static void {{method.name}}{{method.overload_index}}Method{{world_suffix}}Promis e(const v8::FunctionCallbackInfo<v8::Value>& info, ExceptionState& exceptionStat e)
9 {% else %} 8 {% else %}
10 static void {{method.name}}{{method.overload_index}}Method{{world_suffix}}(const v8::FunctionCallbackInfo<v8::Value>& info) 9 static void {{method.name}}{{method.overload_index}}Method{{world_suffix}}(const v8::FunctionCallbackInfo<v8::Value>& info)
11 {% endif %} 10 {% endif %}
12 { 11 {
13 {# Local variables #} 12 {# Local variables #}
(...skipping 490 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) 503 static void {{method.name}}MethodCallback{{world_suffix}}(const v8::FunctionCall backInfo<v8::Value>& info)
505 { 504 {
506 TRACE_EVENT_SET_SAMPLING_STATE("blink", "DOMMethod"); 505 TRACE_EVENT_SET_SAMPLING_STATE("blink", "DOMMethod");
507 {% if not method.overloads %}{# Overloaded methods are measured in overload_ resolution_method() #} 506 {% if not method.overloads %}{# Overloaded methods are measured in overload_ resolution_method() #}
508 {% if method.measure_as %} 507 {% if method.measure_as %}
509 UseCounter::countIfNotPrivateScript(info.GetIsolate(), callingExecutionConte xt(info.GetIsolate()), UseCounter::{{method.measure_as('Method')}}); 508 UseCounter::countIfNotPrivateScript(info.GetIsolate(), callingExecutionConte xt(info.GetIsolate()), UseCounter::{{method.measure_as('Method')}});
510 {% endif %} 509 {% endif %}
511 {% if method.deprecate_as %} 510 {% if method.deprecate_as %}
512 UseCounter::countDeprecationIfNotPrivateScript(info.GetIsolate(), callingExe cutionContext(info.GetIsolate()), UseCounter::{{method.deprecate_as}}); 511 UseCounter::countDeprecationIfNotPrivateScript(info.GetIsolate(), callingExe cutionContext(info.GetIsolate()), UseCounter::{{method.deprecate_as}});
513 {% endif %} 512 {% endif %}
513 {% if method.is_api_experiment_enabled %}
514 {{check_api_experiment(method) | indent}}
515 {% endif %}
514 {% endif %}{# not method.overloads #} 516 {% endif %}{# not method.overloads #}
515 {% if world_suffix in method.activity_logging_world_list %} 517 {% if world_suffix in method.activity_logging_world_list %}
516 ScriptState* scriptState = ScriptState::from(info.GetIsolate()->GetCurrentCo ntext()); 518 ScriptState* scriptState = ScriptState::from(info.GetIsolate()->GetCurrentCo ntext());
517 V8PerContextData* contextData = scriptState->perContextData(); 519 V8PerContextData* contextData = scriptState->perContextData();
518 {% if method.activity_logging_world_check %} 520 {% if method.activity_logging_world_check %}
519 if (scriptState->world().isIsolatedWorld() && contextData && contextData->ac tivityLogger()) 521 if (scriptState->world().isIsolatedWorld() && contextData && contextData->ac tivityLogger())
520 {% else %} 522 {% else %}
521 if (contextData && contextData->activityLogger()) { 523 if (contextData && contextData->activityLogger()) {
522 {% endif %} 524 {% endif %}
523 ExceptionState exceptionState(ExceptionState::ExecutionContext, "{{metho d.name}}", "{{interface_name}}", info.Holder(), info.GetIsolate()); 525 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 709 {% filter runtime_enabled(method.overloads.runtime_enabled_function_all
708 if method.overloads else 710 if method.overloads else
709 method.runtime_enabled_function) %} 711 method.runtime_enabled_function) %}
710 const V8DOMConfiguration::MethodConfiguration {{method.name}}MethodConfiguration = {{method_configuration(method)}}; 712 const V8DOMConfiguration::MethodConfiguration {{method.name}}MethodConfiguration = {{method_configuration(method)}};
711 V8DOMConfiguration::installMethod(isolate, v8::Local<v8::Object>(), prototypeObj ect, interfaceObject, defaultSignature, {{method.name}}MethodConfiguration); 713 V8DOMConfiguration::installMethod(isolate, v8::Local<v8::Object>(), prototypeObj ect, interfaceObject, defaultSignature, {{method.name}}MethodConfiguration);
712 {% endfilter %}{# runtime_enabled() #} 714 {% endfilter %}{# runtime_enabled() #}
713 {% endfilter %}{# exposed() #} 715 {% endfilter %}{# exposed() #}
714 {% endfor %} 716 {% endfor %}
715 {% endif %} 717 {% endif %}
716 {%- endmacro %} 718 {%- endmacro %}
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/bindings/templates/constants.cpp ('k') | third_party/WebKit/Source/bindings/templates/utilities.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698