Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 398 if has_named_properties_object else | 398 if has_named_properties_object else |
| 399 'V8%s::domTemplate(isolate, world)' % parent_interface | 399 'V8%s::domTemplate(isolate, world)' % parent_interface |
| 400 if parent_interface else | 400 if parent_interface else |
| 401 'v8::Local<v8::FunctionTemplate>()' %} | 401 'v8::Local<v8::FunctionTemplate>()' %} |
| 402 V8DOMConfiguration::initializeDOMInterfaceTemplate(isolate, interfaceTemplate, {{v8_class}}::wrapperTypeInfo.interfaceName, {{parent_interface_template}}, {{v 8_class}}::internalFieldCount); | 402 V8DOMConfiguration::initializeDOMInterfaceTemplate(isolate, interfaceTemplate, {{v8_class}}::wrapperTypeInfo.interfaceName, {{parent_interface_template}}, {{v 8_class}}::internalFieldCount); |
| 403 {% if constructors or has_custom_constructor or has_event_constructor or has_h tml_constructor %} | 403 {% if constructors or has_custom_constructor or has_event_constructor or has_h tml_constructor %} |
| 404 interfaceTemplate->SetCallHandler({{v8_class}}::constructorCallback); | 404 interfaceTemplate->SetCallHandler({{v8_class}}::constructorCallback); |
| 405 interfaceTemplate->SetLength({{interface_length}}); | 405 interfaceTemplate->SetLength({{interface_length}}); |
| 406 {% endif %} | 406 {% endif %} |
| 407 {% endif %}{# is_partial #} | 407 {% endif %}{# is_partial #} |
| 408 | |
| 409 {% if runtime_enabled_feature_name %} | |
| 410 if (!{{runtime_enabled_feature_name | runtime_enabled_function}}) { | |
|
Yuki
2017/01/13 02:38:37
This is okay, but I guess you should be able to wr
Yuki
2017/01/13 02:38:37
If the feature is disabled, we shouldn't hit this
peria
2017/01/13 05:54:26
V8Type::domTemplate() calls it through V8DOMConfig
peria
2017/01/13 05:54:26
As a context of Jinja, I think it better to make t
| |
| 411 return; | |
| 412 } | |
| 413 {% endif %} | |
| 414 | |
| 408 v8::Local<v8::Signature> signature = v8::Signature::New(isolate, interfaceTemp late); | 415 v8::Local<v8::Signature> signature = v8::Signature::New(isolate, interfaceTemp late); |
| 409 ALLOW_UNUSED_LOCAL(signature); | 416 ALLOW_UNUSED_LOCAL(signature); |
| 410 v8::Local<v8::ObjectTemplate> instanceTemplate = interfaceTemplate->InstanceTe mplate(); | 417 v8::Local<v8::ObjectTemplate> instanceTemplate = interfaceTemplate->InstanceTe mplate(); |
| 411 ALLOW_UNUSED_LOCAL(instanceTemplate); | 418 ALLOW_UNUSED_LOCAL(instanceTemplate); |
| 412 v8::Local<v8::ObjectTemplate> prototypeTemplate = interfaceTemplate->Prototype Template(); | 419 v8::Local<v8::ObjectTemplate> prototypeTemplate = interfaceTemplate->Prototype Template(); |
| 413 ALLOW_UNUSED_LOCAL(prototypeTemplate); | 420 ALLOW_UNUSED_LOCAL(prototypeTemplate); |
| 414 | 421 |
| 415 {% if interface_name == 'Window' and not is_partial %} | 422 {% if interface_name == 'Window' and not is_partial %} |
| 416 prototypeTemplate->SetInternalFieldCount(V8Window::internalFieldCount); | 423 prototypeTemplate->SetInternalFieldCount(V8Window::internalFieldCount); |
| 417 {% endif %} | 424 {% endif %} |
| 418 | 425 |
| 419 {% if is_immutable_prototype %} | 426 {% if is_immutable_prototype %} |
| 420 // Global object prototype chain consists of Immutable Prototype Exotic Object s | 427 // Global object prototype chain consists of Immutable Prototype Exotic Object s |
| 421 prototypeTemplate->SetImmutableProto(); | 428 prototypeTemplate->SetImmutableProto(); |
| 422 {% endif %} | 429 {% endif %} |
| 423 | 430 |
| 424 {% if is_global %} | 431 {% if is_global %} |
| 425 // Global objects are Immutable Prototype Exotic Objects | 432 // Global objects are Immutable Prototype Exotic Objects |
| 426 instanceTemplate->SetImmutableProto(); | 433 instanceTemplate->SetImmutableProto(); |
| 427 {% endif %} | 434 {% endif %} |
| 428 | 435 |
| 429 // Register DOM constants, attributes and operations. | 436 // Register DOM constants, attributes and operations. |
| 430 {% filter runtime_enabled(runtime_enabled_feature_name) %} | |
| 431 {% if constants %} | 437 {% if constants %} |
| 432 {{install_constants() | indent(2)}} | 438 {{install_constants() | indent(2)}} |
| 433 {% endif %} | 439 {% endif %} |
| 434 {% if data_attributes %} | 440 {% if data_attributes %} |
| 435 V8DOMConfiguration::installAttributes(isolate, world, instanceTemplate, protot ypeTemplate, {{'%sAttributes' % v8_class}}, {{'WTF_ARRAY_LENGTH(%sAttributes)' % v8_class}}); | 441 V8DOMConfiguration::installAttributes(isolate, world, instanceTemplate, protot ypeTemplate, {{'%sAttributes' % v8_class}}, {{'WTF_ARRAY_LENGTH(%sAttributes)' % v8_class}}); |
| 436 {% endif %} | 442 {% endif %} |
| 437 {% if lazy_data_attributes %} | 443 {% if lazy_data_attributes %} |
| 438 V8DOMConfiguration::installLazyDataAttributes(isolate, world, instanceTemplate , prototypeTemplate, {{'%sLazyDataAttributes' % v8_class}}, {{'WTF_ARRAY_LENGTH( %sLazyDataAttributes)' % v8_class}}); | 444 V8DOMConfiguration::installLazyDataAttributes(isolate, world, instanceTemplate , prototypeTemplate, {{'%sLazyDataAttributes' % v8_class}}, {{'WTF_ARRAY_LENGTH( %sLazyDataAttributes)' % v8_class}}); |
| 439 {% endif %} | 445 {% endif %} |
| 440 {% if accessors %} | 446 {% if accessors %} |
| 441 V8DOMConfiguration::installAccessors(isolate, world, instanceTemplate, prototy peTemplate, interfaceTemplate, signature, {{'%sAccessors' % v8_class}}, {{'WTF_A RRAY_LENGTH(%sAccessors)' % v8_class}}); | 447 V8DOMConfiguration::installAccessors(isolate, world, instanceTemplate, prototy peTemplate, interfaceTemplate, signature, {{'%sAccessors' % v8_class}}, {{'WTF_A RRAY_LENGTH(%sAccessors)' % v8_class}}); |
| 442 {% endif %} | 448 {% endif %} |
| 443 {% if methods | has_method_configuration(is_partial) %} | 449 {% if methods | has_method_configuration(is_partial) %} |
| 444 V8DOMConfiguration::installMethods(isolate, world, instanceTemplate, prototype Template, interfaceTemplate, signature, {{'%sMethods' % v8_class}}, {{'WTF_ARRAY _LENGTH(%sMethods)' % v8_class}}); | 450 V8DOMConfiguration::installMethods(isolate, world, instanceTemplate, prototype Template, interfaceTemplate, signature, {{'%sMethods' % v8_class}}, {{'WTF_ARRAY _LENGTH(%sMethods)' % v8_class}}); |
| 445 {% endif %} | 451 {% endif %} |
| 446 {% endfilter %} | |
| 447 | 452 |
| 448 {% if has_access_check_callbacks and not is_partial %} | 453 {% if has_access_check_callbacks and not is_partial %} |
| 449 // Cross-origin access check | 454 // Cross-origin access check |
| 450 {% set cross_origin_named_getter = '%sV8Internal::crossOriginNamedGetter' % cp p_class if has_cross_origin_named_getter else 'nullptr' %} | 455 {% set cross_origin_named_getter = '%sV8Internal::crossOriginNamedGetter' % cp p_class if has_cross_origin_named_getter else 'nullptr' %} |
| 451 {% set cross_origin_named_setter = '%sV8Internal::crossOriginNamedSetter' % cp p_class if has_cross_origin_named_setter else 'nullptr' %} | 456 {% set cross_origin_named_setter = '%sV8Internal::crossOriginNamedSetter' % cp p_class if has_cross_origin_named_setter else 'nullptr' %} |
| 452 {% set cross_origin_named_enumerator = '%sV8Internal::crossOriginNamedEnumerat or' % cpp_class if has_cross_origin_named_enumerator else 'nullptr' %} | 457 {% set cross_origin_named_enumerator = '%sV8Internal::crossOriginNamedEnumerat or' % cpp_class if has_cross_origin_named_enumerator else 'nullptr' %} |
| 453 {% set cross_origin_indexed_getter = '%sV8Internal::crossOriginIndexedGetter' % cpp_class if has_cross_origin_indexed_getter else 'nullptr' %} | 458 {% set cross_origin_indexed_getter = '%sV8Internal::crossOriginIndexedGetter' % cpp_class if has_cross_origin_indexed_getter else 'nullptr' %} |
| 454 instanceTemplate->SetAccessCheckCallbackAndHandler({{cpp_class}}V8Internal::se curityCheck, v8::NamedPropertyHandlerConfiguration({{cross_origin_named_getter}} , {{cross_origin_named_setter}}, nullptr, nullptr, {{cross_origin_named_enumerat or}}), v8::IndexedPropertyHandlerConfiguration({{cross_origin_indexed_getter}}), v8::External::New(isolate, const_cast<WrapperTypeInfo*>(&{{v8_class}}::wrapperT ypeInfo))); | 459 instanceTemplate->SetAccessCheckCallbackAndHandler({{cpp_class}}V8Internal::se curityCheck, v8::NamedPropertyHandlerConfiguration({{cross_origin_named_getter}} , {{cross_origin_named_setter}}, nullptr, nullptr, {{cross_origin_named_enumerat or}}), v8::IndexedPropertyHandlerConfiguration({{cross_origin_indexed_getter}}), v8::External::New(isolate, const_cast<WrapperTypeInfo*>(&{{v8_class}}::wrapperT ypeInfo))); |
| 455 {% endif %} | 460 {% endif %} |
| 456 | 461 |
| 457 {% for group in runtime_enabled_attributes | groupby('runtime_enabled_feature_ name') %} | 462 {% for feature_name, attribute_list in runtime_enabled_attributes | groupby('r untime_enabled_feature_name') %} |
| 458 {% filter runtime_enabled(group.list[0].runtime_enabled_feature_name) %} | 463 {% filter runtime_enabled(feature_name) %} |
| 459 {% for attribute in group.list | unique_by('name') | sort %} | 464 {% for attribute in attribute_list | unique_by('name') | sort %} |
| 460 {% if attribute.is_data_type_property %} | 465 {% if attribute.is_data_type_property %} |
| 461 const V8DOMConfiguration::AttributeConfiguration attribute{{attribute.name}}Co nfiguration = {{attribute_configuration(attribute)}}; | 466 const V8DOMConfiguration::AttributeConfiguration attribute{{attribute.name}}Co nfiguration = {{attribute_configuration(attribute)}}; |
| 462 V8DOMConfiguration::installAttribute(isolate, world, instanceTemplate, prototy peTemplate, attribute{{attribute.name}}Configuration); | 467 V8DOMConfiguration::installAttribute(isolate, world, instanceTemplate, prototy peTemplate, attribute{{attribute.name}}Configuration); |
| 463 {% else %} | 468 {% else %} |
| 464 const V8DOMConfiguration::AccessorConfiguration accessor{{attribute.name}}Conf iguration = {{attribute_configuration(attribute)}}; | 469 const V8DOMConfiguration::AccessorConfiguration accessor{{attribute.name}}Conf iguration = {{attribute_configuration(attribute)}}; |
| 465 V8DOMConfiguration::installAccessor(isolate, world, instanceTemplate, prototyp eTemplate, interfaceTemplate, signature, accessor{{attribute.name}}Configuration ); | 470 V8DOMConfiguration::installAccessor(isolate, world, instanceTemplate, prototyp eTemplate, interfaceTemplate, signature, accessor{{attribute.name}}Configuration ); |
| 466 {% endif %} | 471 {% endif %} |
| 467 {% endfor %} | 472 {% endfor %} |
| 468 {% endfilter %} | 473 {% endfilter %} |
| 469 {% endfor %} | 474 {% endfor %} |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 649 {% block has_instance %}{% endblock %} | 654 {% block has_instance %}{% endblock %} |
| 650 {% block to_impl %}{% endblock %} | 655 {% block to_impl %}{% endblock %} |
| 651 {% block to_impl_with_type_check %}{% endblock %} | 656 {% block to_impl_with_type_check %}{% endblock %} |
| 652 {##############################################################################} | 657 {##############################################################################} |
| 653 {% block prepare_prototype_and_interface_object %}{% endblock %} | 658 {% block prepare_prototype_and_interface_object %}{% endblock %} |
| 654 {##############################################################################} | 659 {##############################################################################} |
| 655 {% block partial_interface %}{% endblock %} | 660 {% block partial_interface %}{% endblock %} |
| 656 } // namespace blink | 661 } // namespace blink |
| 657 | 662 |
| 658 {% endfilter %}{# format_blink_cpp_source_code #} | 663 {% endfilter %}{# format_blink_cpp_source_code #} |
| OLD | NEW |