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

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

Issue 2692873002: binding: Sets location[Symbol.toPrimitive]. (Closed)
Patch Set: 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
« no previous file with comments | « third_party/WebKit/LayoutTests/fast/dom/location-toprimitive.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 {% if iterator_method %} 490 {% if iterator_method %}
491 {% filter exposed(iterator_method.exposed_test) %} 491 {% filter exposed(iterator_method.exposed_test) %}
492 {% filter runtime_enabled(iterator_method.runtime_enabled_feature_name) %} 492 {% filter runtime_enabled(iterator_method.runtime_enabled_feature_name) %}
493 // Iterator (@@iterator) 493 // Iterator (@@iterator)
494 const V8DOMConfiguration::SymbolKeyedMethodConfiguration symbolKeyedIteratorCo nfiguration = { v8::Symbol::GetIterator, {{cpp_class_or_partial}}V8Internal::ite ratorMethodCallback, 0, v8::DontEnum, V8DOMConfiguration::OnPrototype }; 494 const V8DOMConfiguration::SymbolKeyedMethodConfiguration symbolKeyedIteratorCo nfiguration = { v8::Symbol::GetIterator, {{cpp_class_or_partial}}V8Internal::ite ratorMethodCallback, 0, v8::DontEnum, V8DOMConfiguration::OnPrototype };
495 V8DOMConfiguration::installMethod(isolate, world, prototypeTemplate, signature , symbolKeyedIteratorConfiguration); 495 V8DOMConfiguration::installMethod(isolate, world, prototypeTemplate, signature , symbolKeyedIteratorConfiguration);
496 {% endfilter %} 496 {% endfilter %}
497 {% endfilter %} 497 {% endfilter %}
498 {% endif %} 498 {% endif %}
499 499
500 {% if interface_name == 'Location' %}
501 // Symbol.toPrimitive
502 // Prevent author scripts to inject Symbol.toPrimitive property into location
503 // objects, also prevent the look-up of Symbol.toPrimitive through the
504 // prototype chain.
505 instanceTemplate->Set(v8::Symbol::GetToPrimitive(isolate),
506 v8::Undefined(isolate),
507 static_cast<v8::PropertyAttribute>(
508 v8::ReadOnly | v8::DontEnum | v8::DontDelete));
509 {% endif %}
510
500 {% if legacy_caller and not is_partial %} 511 {% if legacy_caller and not is_partial %}
501 instanceTemplate->SetCallAsFunctionHandler({{cpp_class_or_partial}}V8Internal: :{{legacy_caller.name}}MethodCallback); 512 instanceTemplate->SetCallAsFunctionHandler({{cpp_class_or_partial}}V8Internal: :{{legacy_caller.name}}MethodCallback);
502 {% elif has_custom_legacy_call_as_function and not is_partial %} 513 {% elif has_custom_legacy_call_as_function and not is_partial %}
503 instanceTemplate->SetCallAsFunctionHandler({{v8_class}}::legacyCallCustom); 514 instanceTemplate->SetCallAsFunctionHandler({{v8_class}}::legacyCallCustom);
504 {% endif %} 515 {% endif %}
505 516
506 {% if interface_name == 'HTMLAllCollection' and not is_partial %} 517 {% if interface_name == 'HTMLAllCollection' and not is_partial %}
507 // Needed for legacy support of document.all 518 // Needed for legacy support of document.all
508 instanceTemplate->MarkAsUndetectable(); 519 instanceTemplate->MarkAsUndetectable();
509 {% endif %} 520 {% endif %}
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
654 {% block has_instance %}{% endblock %} 665 {% block has_instance %}{% endblock %}
655 {% block to_impl %}{% endblock %} 666 {% block to_impl %}{% endblock %}
656 {% block to_impl_with_type_check %}{% endblock %} 667 {% block to_impl_with_type_check %}{% endblock %}
657 {##############################################################################} 668 {##############################################################################}
658 {% block prepare_prototype_and_interface_object %}{% endblock %} 669 {% block prepare_prototype_and_interface_object %}{% endblock %}
659 {##############################################################################} 670 {##############################################################################}
660 {% block partial_interface %}{% endblock %} 671 {% block partial_interface %}{% endblock %}
661 } // namespace blink 672 } // namespace blink
662 673
663 {% endfilter %}{# format_blink_cpp_source_code #} 674 {% endfilter %}{# format_blink_cpp_source_code #}
OLDNEW
« no previous file with comments | « third_party/WebKit/LayoutTests/fast/dom/location-toprimitive.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698