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

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

Issue 2452073002: Freeze global prototype chain per WebIDL (Closed)
Patch Set: Also freeze named properties objects Created 4 years, 1 month 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 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 v8::Local<v8::Signature> signature = v8::Signature::New(isolate, interfaceTe mplate); 291 v8::Local<v8::Signature> signature = v8::Signature::New(isolate, interfaceTe mplate);
292 ALLOW_UNUSED_LOCAL(signature); 292 ALLOW_UNUSED_LOCAL(signature);
293 v8::Local<v8::ObjectTemplate> instanceTemplate = interfaceTemplate->Instance Template(); 293 v8::Local<v8::ObjectTemplate> instanceTemplate = interfaceTemplate->Instance Template();
294 ALLOW_UNUSED_LOCAL(instanceTemplate); 294 ALLOW_UNUSED_LOCAL(instanceTemplate);
295 v8::Local<v8::ObjectTemplate> prototypeTemplate = interfaceTemplate->Prototy peTemplate(); 295 v8::Local<v8::ObjectTemplate> prototypeTemplate = interfaceTemplate->Prototy peTemplate();
296 ALLOW_UNUSED_LOCAL(prototypeTemplate); 296 ALLOW_UNUSED_LOCAL(prototypeTemplate);
297 297
298 {%- if interface_name == 'Window' and not is_partial %}{{newline}} 298 {%- if interface_name == 'Window' and not is_partial %}{{newline}}
299 prototypeTemplate->SetInternalFieldCount(V8Window::internalFieldCount); 299 prototypeTemplate->SetInternalFieldCount(V8Window::internalFieldCount);
300 {% endif %} 300 {% endif %}
301 {%if is_immutable_prototype %}{{newline}}
302 // Global object prototype chain consists of Immutable Prototype Exotic Obje cts
303 prototypeTemplate->SetImmutableProto();
304 {% endif %}
301 305
302 // Register DOM constants, attributes and operations. 306 // Register DOM constants, attributes and operations.
303 {% filter runtime_enabled(runtime_enabled_function) %} 307 {% filter runtime_enabled(runtime_enabled_function) %}
304 {% if constants %} 308 {% if constants %}
305 {{install_constants() | indent}} 309 {{install_constants() | indent}}
306 {% endif %} 310 {% endif %}
307 {% if attributes | has_attribute_configuration %} 311 {% if attributes | has_attribute_configuration %}
308 V8DOMConfiguration::installAttributes(isolate, world, instanceTemplate, prot otypeTemplate, {{'%sAttributes' % v8_class}}, {{'WTF_ARRAY_LENGTH(%sAttributes)' % v8_class}}); 312 V8DOMConfiguration::installAttributes(isolate, world, instanceTemplate, prot otypeTemplate, {{'%sAttributes' % v8_class}}, {{'WTF_ARRAY_LENGTH(%sAttributes)' % v8_class}});
309 {% endif %} 313 {% endif %}
310 {% if attributes | has_accessor_configuration %} 314 {% if attributes | has_accessor_configuration %}
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 {% for attribute in attributes if attribute.is_implemented_in_private_script %} 466 {% for attribute in attributes if attribute.is_implemented_in_private_script %}
463 {{attribute_getter_implemented_in_private_script(attribute)}} 467 {{attribute_getter_implemented_in_private_script(attribute)}}
464 {% if attribute.has_setter %} 468 {% if attribute.has_setter %}
465 {{attribute_setter_implemented_in_private_script(attribute)}} 469 {{attribute_setter_implemented_in_private_script(attribute)}}
466 {% endif %} 470 {% endif %}
467 {% endfor %} 471 {% endfor %}
468 {% block partial_interface %}{% endblock %} 472 {% block partial_interface %}{% endblock %}
469 } // namespace blink 473 } // namespace blink
470 474
471 {% endfilter %}{# format_blink_cpp_source_code #} 475 {% endfilter %}{# format_blink_cpp_source_code #}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698