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

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

Issue 1579573002: Count feature usage for the current context instead of the calling one (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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, check_api_experiment %} 1 {% from 'utilities.cpp' import declare_enum_validation_variable, v8_value_to_loc al_cpp_value, check_api_experiment %}
2 2
3 {##############################################################################} 3 {##############################################################################}
4 {% macro generate_method(method, world_suffix) %} 4 {% macro generate_method(method, world_suffix) %}
5 {% filter conditional(method.conditional_string) %} 5 {% filter conditional(method.conditional_string) %}
6 {% if method.returns_promise and method.has_exception_state %} 6 {% if method.returns_promise and method.has_exception_state %}
7 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)
8 {% else %} 8 {% else %}
9 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)
10 {% endif %} 10 {% endif %}
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 392
393 {##############################################################################} 393 {##############################################################################}
394 {# FIXME: We should return a rejected Promise if an error occurs in this 394 {# FIXME: We should return a rejected Promise if an error occurs in this
395 function when ALL methods in this overload return Promise. In order to do so, 395 function when ALL methods in this overload return Promise. In order to do so,
396 we must ensure either ALL or NO methods in this overload return Promise #} 396 we must ensure either ALL or NO methods in this overload return Promise #}
397 {% macro overload_resolution_method(overloads, world_suffix) %} 397 {% macro overload_resolution_method(overloads, world_suffix) %}
398 static void {{overloads.name}}Method{{world_suffix}}(const v8::FunctionCallbackI nfo<v8::Value>& info) 398 static void {{overloads.name}}Method{{world_suffix}}(const v8::FunctionCallbackI nfo<v8::Value>& info)
399 { 399 {
400 ExceptionState exceptionState(ExceptionState::ExecutionContext, "{{overloads .name}}", "{{interface_name}}", info.Holder(), info.GetIsolate()); 400 ExceptionState exceptionState(ExceptionState::ExecutionContext, "{{overloads .name}}", "{{interface_name}}", info.Holder(), info.GetIsolate());
401 {% if overloads.measure_all_as %} 401 {% if overloads.measure_all_as %}
402 UseCounter::countIfNotPrivateScript(info.GetIsolate(), callingExecutionConte xt(info.GetIsolate()), UseCounter::{{overloads.measure_all_as}}); 402 UseCounter::countIfNotPrivateScript(info.GetIsolate(), currentExecutionConte xt(info.GetIsolate()), UseCounter::{{overloads.measure_all_as}});
403 {% endif %} 403 {% endif %}
404 {% if overloads.deprecate_all_as %} 404 {% if overloads.deprecate_all_as %}
405 UseCounter::countDeprecationIfNotPrivateScript(info.GetIsolate(), callingExe cutionContext(info.GetIsolate()), UseCounter::{{overloads.deprecate_all_as}}); 405 UseCounter::countDeprecationIfNotPrivateScript(info.GetIsolate(), currentExe cutionContext(info.GetIsolate()), UseCounter::{{overloads.deprecate_all_as}});
406 {% endif %} 406 {% endif %}
407 {# First resolve by length #} 407 {# First resolve by length #}
408 {# 2. Initialize argcount to be min(maxarg, n). #} 408 {# 2. Initialize argcount to be min(maxarg, n). #}
409 switch (std::min({{overloads.maxarg}}, info.Length())) { 409 switch (std::min({{overloads.maxarg}}, info.Length())) {
410 {# 3. Remove from S all entries whose type list is not of length argcount. # } 410 {# 3. Remove from S all entries whose type list is not of length argcount. # }
411 {% for length, tests_methods in overloads.length_tests_methods %} 411 {% for length, tests_methods in overloads.length_tests_methods %}
412 {# 10. If i = d, then: #} 412 {# 10. If i = d, then: #}
413 case {{length}}: 413 case {{length}}:
414 {# Then resolve by testing argument #} 414 {# Then resolve by testing argument #}
415 {% for test, method in tests_methods %} 415 {% for test, method in tests_methods %}
416 {% if method.visible %} 416 {% if method.visible %}
417 {% filter runtime_enabled(not overloads.runtime_enabled_function_all and 417 {% filter runtime_enabled(not overloads.runtime_enabled_function_all and
418 method.runtime_enabled_function) %} 418 method.runtime_enabled_function) %}
419 if ({{test}}) { 419 if ({{test}}) {
420 {% if method.measure_as and not overloads.measure_all_as %} 420 {% if method.measure_as and not overloads.measure_all_as %}
421 UseCounter::countIfNotPrivateScript(info.GetIsolate(), callingExecut ionContext(info.GetIsolate()), UseCounter::{{method.measure_as('Method')}}); 421 UseCounter::countIfNotPrivateScript(info.GetIsolate(), currentExecut ionContext(info.GetIsolate()), UseCounter::{{method.measure_as('Method')}});
422 {% endif %} 422 {% endif %}
423 {% if method.deprecate_as and not overloads.deprecate_all_as %} 423 {% if method.deprecate_as and not overloads.deprecate_all_as %}
424 UseCounter::countDeprecationIfNotPrivateScript(info.GetIsolate(), ca llingExecutionContext(info.GetIsolate()), UseCounter::{{method.deprecate_as}}); 424 UseCounter::countDeprecationIfNotPrivateScript(info.GetIsolate(), cu rrentExecutionContext(info.GetIsolate()), UseCounter::{{method.deprecate_as}});
425 {% endif %} 425 {% endif %}
426 {{method.name}}{{method.overload_index}}Method{{world_suffix}}(info) ; 426 {{method.name}}{{method.overload_index}}Method{{world_suffix}}(info) ;
427 return; 427 return;
428 } 428 }
429 {% endfilter %} 429 {% endfilter %}
430 {% endif %} 430 {% endif %}
431 {% endfor %} 431 {% endfor %}
432 break; 432 break;
433 {% endfor %} 433 {% endfor %}
434 {% if is_partial or not overloads.has_partial_overloads %} 434 {% if is_partial or not overloads.has_partial_overloads %}
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
498 {% endmacro %} 498 {% endmacro %}
499 499
500 {##############################################################################} 500 {##############################################################################}
501 {% macro method_callback(method, world_suffix) %} 501 {% macro method_callback(method, world_suffix) %}
502 {% filter conditional(method.conditional_string) %} 502 {% filter conditional(method.conditional_string) %}
503 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)
504 { 504 {
505 TRACE_EVENT_SET_SAMPLING_STATE("blink", "DOMMethod"); 505 TRACE_EVENT_SET_SAMPLING_STATE("blink", "DOMMethod");
506 {% 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() #}
507 {% if method.measure_as %} 507 {% if method.measure_as %}
508 UseCounter::countIfNotPrivateScript(info.GetIsolate(), callingExecutionConte xt(info.GetIsolate()), UseCounter::{{method.measure_as('Method')}}); 508 UseCounter::countIfNotPrivateScript(info.GetIsolate(), currentExecutionConte xt(info.GetIsolate()), UseCounter::{{method.measure_as('Method')}});
509 {% endif %} 509 {% endif %}
510 {% if method.deprecate_as %} 510 {% if method.deprecate_as %}
511 UseCounter::countDeprecationIfNotPrivateScript(info.GetIsolate(), callingExe cutionContext(info.GetIsolate()), UseCounter::{{method.deprecate_as}}); 511 UseCounter::countDeprecationIfNotPrivateScript(info.GetIsolate(), currentExe cutionContext(info.GetIsolate()), UseCounter::{{method.deprecate_as}});
512 {% endif %} 512 {% endif %}
513 {% if method.is_api_experiment_enabled %} 513 {% if method.is_api_experiment_enabled %}
514 {{check_api_experiment(method) | indent}} 514 {{check_api_experiment(method) | indent}}
515 {% endif %} 515 {% endif %}
516 {% endif %}{# not method.overloads #} 516 {% endif %}{# not method.overloads #}
517 {% if world_suffix in method.activity_logging_world_list %} 517 {% if world_suffix in method.activity_logging_world_list %}
518 ScriptState* scriptState = ScriptState::from(info.GetIsolate()->GetCurrentCo ntext()); 518 ScriptState* scriptState = ScriptState::from(info.GetIsolate()->GetCurrentCo ntext());
519 V8PerContextData* contextData = scriptState->perContextData(); 519 V8PerContextData* contextData = scriptState->perContextData();
520 {% if method.activity_logging_world_check %} 520 {% if method.activity_logging_world_check %}
521 if (scriptState->world().isIsolatedWorld() && contextData && contextData->ac tivityLogger()) 521 if (scriptState->world().isIsolatedWorld() && contextData && contextData->ac tivityLogger())
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
709 {% filter runtime_enabled(method.overloads.runtime_enabled_function_all 709 {% filter runtime_enabled(method.overloads.runtime_enabled_function_all
710 if method.overloads else 710 if method.overloads else
711 method.runtime_enabled_function) %} 711 method.runtime_enabled_function) %}
712 const V8DOMConfiguration::MethodConfiguration {{method.name}}MethodConfiguration = {{method_configuration(method)}}; 712 const V8DOMConfiguration::MethodConfiguration {{method.name}}MethodConfiguration = {{method_configuration(method)}};
713 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);
714 {% endfilter %}{# runtime_enabled() #} 714 {% endfilter %}{# runtime_enabled() #}
715 {% endfilter %}{# exposed() #} 715 {% endfilter %}{# exposed() #}
716 {% endfor %} 716 {% endfor %}
717 {% endif %} 717 {% endif %}
718 {%- endmacro %} 718 {%- endmacro %}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698