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

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

Issue 1531443003: [bindings] Implement an ExperimentEnabled IDL extended attribute. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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 {% extends 'interface_base.cpp' %} 1 {% extends 'interface_base.cpp' %}
2 2
3 3
4 {##############################################################################} 4 {##############################################################################}
5 {% block indexed_property_getter %} 5 {% block indexed_property_getter %}
6 {% if indexed_property_getter and not indexed_property_getter.is_custom %} 6 {% if indexed_property_getter and not indexed_property_getter.is_custom %}
7 {% set getter = indexed_property_getter %} 7 {% set getter = indexed_property_getter %}
8 static void indexedPropertyGetter(uint32_t index, const v8::PropertyCallbackInfo <v8::Value>& info) 8 static void indexedPropertyGetter(uint32_t index, const v8::PropertyCallbackInfo <v8::Value>& info)
9 { 9 {
10 {{cpp_class}}* impl = {{v8_class}}::toImpl(info.Holder()); 10 {{cpp_class}}* impl = {{v8_class}}::toImpl(info.Holder());
(...skipping 885 matching lines...) Expand 10 before | Expand all | Expand 10 after
896 896
897 897
898 {##############################################################################} 898 {##############################################################################}
899 {% macro install_unscopeables() %} 899 {% macro install_unscopeables() %}
900 v8::Local<v8::Name> unscopablesSymbol(v8::Symbol::GetUnscopables(isolate)); 900 v8::Local<v8::Name> unscopablesSymbol(v8::Symbol::GetUnscopables(isolate));
901 v8::Local<v8::Object> unscopeables; 901 v8::Local<v8::Object> unscopeables;
902 if (v8CallBoolean(prototypeObject->HasOwnProperty(context, unscopablesSymbol))) 902 if (v8CallBoolean(prototypeObject->HasOwnProperty(context, unscopablesSymbol)))
903 unscopeables = prototypeObject->Get(context, unscopablesSymbol).ToLocalCheck ed().As<v8::Object>(); 903 unscopeables = prototypeObject->Get(context, unscopablesSymbol).ToLocalCheck ed().As<v8::Object>();
904 else 904 else
905 unscopeables = v8::Object::New(isolate); 905 unscopeables = v8::Object::New(isolate);
906 {% for name, runtime_enabled_function in unscopeables %} 906 String errorMessage;
907 ALLOW_UNUSED_LOCAL(errorMessage);
908 {% for name, runtime_enabled_function, experimental_api_name in unscopeables %}
907 {% filter runtime_enabled(runtime_enabled_function) %} 909 {% filter runtime_enabled(runtime_enabled_function) %}
910 {% filter experiment_enabled(experimental_api_name, "errorMessage") %}
908 unscopeables->CreateDataProperty(context, v8AtomicString(isolate, "{{name}}"), v 8::True(isolate)).FromJust(); 911 unscopeables->CreateDataProperty(context, v8AtomicString(isolate, "{{name}}"), v 8::True(isolate)).FromJust();
909 {% endfilter %} 912 {% endfilter %}
913 {% endfilter %}
910 {% endfor %} 914 {% endfor %}
911 prototypeObject->CreateDataProperty(context, unscopablesSymbol, unscopeables).Fr omJust(); 915 prototypeObject->CreateDataProperty(context, unscopablesSymbol, unscopeables).Fr omJust();
912 {% endmacro %} 916 {% endmacro %}
913 917
914 918
915 {##############################################################################} 919 {##############################################################################}
916 {% macro install_conditionally_enabled_attributes_on_prototype() %} 920 {% macro install_conditionally_enabled_attributes_on_prototype() %}
917 {% from 'attributes.cpp' import attribute_configuration with context %} 921 {% from 'attributes.cpp' import attribute_configuration with context %}
918 ExecutionContext* executionContext = toExecutionContext(context); 922 ExecutionContext* executionContext = toExecutionContext(context);
919 v8::Local<v8::Signature> signature = v8::Signature::New(isolate, interfaceTempla te); 923 v8::Local<v8::Signature> signature = v8::Signature::New(isolate, interfaceTempla te);
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
978 982
979 {% for method in methods if method.overloads and method.overloads.has_partial_ov erloads %} 983 {% for method in methods if method.overloads and method.overloads.has_partial_ov erloads %}
980 void {{v8_class}}::register{{method.name | blink_capitalize}}MethodForPartialInt erface(void (*method)(const v8::FunctionCallbackInfo<v8::Value>&)) 984 void {{v8_class}}::register{{method.name | blink_capitalize}}MethodForPartialInt erface(void (*method)(const v8::FunctionCallbackInfo<v8::Value>&))
981 { 985 {
982 {{cpp_class}}V8Internal::{{method.name}}MethodForPartialInterface = method; 986 {{cpp_class}}V8Internal::{{method.name}}MethodForPartialInterface = method;
983 } 987 }
984 988
985 {% endfor %} 989 {% endfor %}
986 {% endif %} 990 {% endif %}
987 {% endblock %} 991 {% endblock %}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698