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

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

Issue 2683853005: bindings: Make some value iterator properties aliases to Array.prototype functions (Closed)
Patch Set: Remove constexpr from Internals.h to fix the Android build Created 3 years, 10 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 {% filter format_blink_cpp_source_code %} 1 {% filter format_blink_cpp_source_code %}
2 2
3 {% include 'copyright_block.txt' %} 3 {% include 'copyright_block.txt' %}
4 #include "{{v8_class_or_partial}}.h" 4 #include "{{v8_class_or_partial}}.h"
5 5
6 {% for filename in cpp_includes if filename != '%s.h' % cpp_class_or_partial %} 6 {% for filename in cpp_includes if filename != '%s.h' % cpp_class_or_partial %}
7 #include "{{filename}}" 7 #include "{{filename}}"
8 {% endfor %} 8 {% endfor %}
9 9
10 namespace blink { 10 namespace blink {
(...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after
507 {{install_indexed_property_handler('instanceTemplate') | indent(2)}} 507 {{install_indexed_property_handler('instanceTemplate') | indent(2)}}
508 {% endif %} 508 {% endif %}
509 {% if named_property_getter and not is_partial and not has_named_properties_ob ject %} 509 {% if named_property_getter and not is_partial and not has_named_properties_ob ject %}
510 // Named properties 510 // Named properties
511 {{install_named_property_handler('instanceTemplate') | indent(2)}} 511 {{install_named_property_handler('instanceTemplate') | indent(2)}}
512 {% endif %} 512 {% endif %}
513 513
514 {% if has_array_iterator and not is_partial %} 514 {% if has_array_iterator and not is_partial %}
515 // Array iterator (@@iterator) 515 // Array iterator (@@iterator)
516 {%+ if is_global %}instanceTemplate{% else %}prototypeTemplate{% endif %}->Set IntrinsicDataProperty(v8::Symbol::GetIterator(isolate), v8::kArrayProto_values, v8::DontEnum); 516 {%+ if is_global %}instanceTemplate{% else %}prototypeTemplate{% endif %}->Set IntrinsicDataProperty(v8::Symbol::GetIterator(isolate), v8::kArrayProto_values, v8::DontEnum);
517 {% if iterable %}
518 {% if is_global %}
519 #error "iterable<V> on [Global] and [PrimaryGlobal] is currently unsupported."
520 {% endif %}
521 // For value iterators, the properties below must originally be set to the cor responding ones in %ArrayPrototype%.
522 // See https://heycam.github.io/webidl/#es-iterators.
523 prototypeTemplate->SetIntrinsicDataProperty(v8AtomicString(isolate, "entries") , v8::kArrayProto_entries);
524 prototypeTemplate->SetIntrinsicDataProperty(v8AtomicString(isolate, "forEach") , v8::kArrayProto_forEach);
525 prototypeTemplate->SetIntrinsicDataProperty(v8AtomicString(isolate, "keys"), v 8::kArrayProto_keys);
526 prototypeTemplate->SetIntrinsicDataProperty(v8AtomicString(isolate, "values"), v8::kArrayProto_values);
527 {% endif %}
517 {% endif %} 528 {% endif %}
518 529
519 {% if iterator_method %} 530 {% if iterator_method %}
520 {% filter exposed(iterator_method.exposed_test) %} 531 {% filter exposed(iterator_method.exposed_test) %}
521 {% filter runtime_enabled(iterator_method.runtime_enabled_feature_name) %} 532 {% filter runtime_enabled(iterator_method.runtime_enabled_feature_name) %}
522 // Iterator (@@iterator) 533 // Iterator (@@iterator)
523 const V8DOMConfiguration::SymbolKeyedMethodConfiguration symbolKeyedIteratorCo nfiguration = { v8::Symbol::GetIterator, {{v8_class_or_partial}}::iteratorMethod Callback, 0, v8::DontEnum, V8DOMConfiguration::OnPrototype }; 534 const V8DOMConfiguration::SymbolKeyedMethodConfiguration symbolKeyedIteratorCo nfiguration = { v8::Symbol::GetIterator, {{v8_class_or_partial}}::iteratorMethod Callback, 0, v8::DontEnum, V8DOMConfiguration::OnPrototype };
524 V8DOMConfiguration::installMethod(isolate, world, prototypeTemplate, signature , symbolKeyedIteratorConfiguration); 535 V8DOMConfiguration::installMethod(isolate, world, prototypeTemplate, signature , symbolKeyedIteratorConfiguration);
525 {% endfilter %} 536 {% endfilter %}
526 {% endfilter %} 537 {% endfilter %}
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
694 {% block has_instance %}{% endblock %} 705 {% block has_instance %}{% endblock %}
695 {% block to_impl %}{% endblock %} 706 {% block to_impl %}{% endblock %}
696 {% block to_impl_with_type_check %}{% endblock %} 707 {% block to_impl_with_type_check %}{% endblock %}
697 {##############################################################################} 708 {##############################################################################}
698 {% block prepare_prototype_and_interface_object %}{% endblock %} 709 {% block prepare_prototype_and_interface_object %}{% endblock %}
699 {##############################################################################} 710 {##############################################################################}
700 {% block partial_interface %}{% endblock %} 711 {% block partial_interface %}{% endblock %}
701 } // namespace blink 712 } // namespace blink
702 713
703 {% endfilter %}{# format_blink_cpp_source_code #} 714 {% endfilter %}{# format_blink_cpp_source_code #}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698