| OLD | NEW | 
|    1 {% extends 'interface_base.cpp' %} |    1 {% extends 'interface_base.cpp' %} | 
|    2  |    2  | 
|    3  |    3  | 
|    4 {##############################################################################} |    4 {##############################################################################} | 
|    5 {% macro attribute_configuration(attribute) %} |    5 {% macro attribute_configuration(attribute) %} | 
|    6 {% set getter_callback_name = |    6 {% set getter_callback_name = | 
|    7        '%sV8Internal::%sAttributeGetterCallback' % |    7        '%sV8Internal::%sAttributeGetterCallback' % | 
|    8             (interface_name, attribute.name) |    8             (interface_name, attribute.name) | 
|    9        if not attribute.constructor_type else |    9        if not attribute.constructor_type else | 
|   10        '{0}V8Internal::{0}ConstructorGetter'.format(interface_name) %} |   10        '{0}V8Internal::{0}ConstructorGetter'.format(interface_name) %} | 
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   72 static void {{interface_name}}ReplaceableAttributeSetterCallback(v8::Local<v8::S
     tring> name, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>&
      info) |   72 static void {{interface_name}}ReplaceableAttributeSetterCallback(v8::Local<v8::S
     tring> name, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>&
      info) | 
|   73 { |   73 { | 
|   74     {{interface_name}}V8Internal::{{interface_name}}ReplaceableAttributeSetter(n
     ame, jsValue, info); |   74     {{interface_name}}V8Internal::{{interface_name}}ReplaceableAttributeSetter(n
     ame, jsValue, info); | 
|   75 } |   75 } | 
|   76  |   76  | 
|   77 {% endif %} |   77 {% endif %} | 
|   78 {% endblock %} |   78 {% endblock %} | 
|   79  |   79  | 
|   80  |   80  | 
|   81 {##############################################################################} |   81 {##############################################################################} | 
 |   82 {% block security_check_functions %} | 
 |   83 {% if is_check_security and interface_name != 'Window' %} | 
 |   84 bool indexedSecurityCheck(v8::Local<v8::Object> host, uint32_t index, v8::Access
     Type type, v8::Local<v8::Value>) | 
 |   85 { | 
 |   86     {{cpp_class_name}}* imp =  {{v8_class_name}}::toNative(host); | 
 |   87     return BindingSecurity::shouldAllowAccessToFrame(imp->frame(), DoNotReportSe
     curityError); | 
 |   88 } | 
 |   89  | 
 |   90 bool namedSecurityCheck(v8::Local<v8::Object> host, v8::Local<v8::Value> key, v8
     ::AccessType type, v8::Local<v8::Value>) | 
 |   91 { | 
 |   92     {{cpp_class_name}}* imp =  {{v8_class_name}}::toNative(host); | 
 |   93     return BindingSecurity::shouldAllowAccessToFrame(imp->frame(), DoNotReportSe
     curityError); | 
 |   94 } | 
 |   95  | 
 |   96 {% endif %} | 
 |   97 {% endblock %} | 
 |   98  | 
 |   99  | 
 |  100 {##############################################################################} | 
|   82 {% block class_attributes %} |  101 {% block class_attributes %} | 
|   83 {# FIXME: rename to install_attributes and put into configure_class_template #} |  102 {# FIXME: rename to install_attributes and put into configure_class_template #} | 
|   84 {% if attributes %} |  103 {% if attributes %} | 
|   85 static const V8DOMConfiguration::AttributeConfiguration {{v8_class_name}}Attribu
     tes[] = { |  104 static const V8DOMConfiguration::AttributeConfiguration {{v8_class_name}}Attribu
     tes[] = { | 
|   86     {% for attribute in attributes |  105     {% for attribute in attributes | 
|   87        if not (attribute.is_expose_js_accessors or |  106        if not (attribute.is_expose_js_accessors or | 
|   88                attribute.is_static or |  107                attribute.is_static or | 
|   89                attribute.runtime_enabled_function_name or |  108                attribute.runtime_enabled_function_name or | 
|   90                attribute.per_context_enabled_function_name) %} |  109                attribute.per_context_enabled_function_name) %} | 
|   91     {% filter conditional(attribute.conditional_string) %} |  110     {% filter conditional(attribute.conditional_string) %} | 
| (...skipping 16 matching lines...) Expand all  Loading... | 
|  108     {% endfor %} |  127     {% endfor %} | 
|  109 }; |  128 }; | 
|  110  |  129  | 
|  111 {% endif %} |  130 {% endif %} | 
|  112 {% endblock %} |  131 {% endblock %} | 
|  113  |  132  | 
|  114  |  133  | 
|  115 {##############################################################################} |  134 {##############################################################################} | 
|  116 {% block class_methods %} |  135 {% block class_methods %} | 
|  117 {# FIXME: rename to install_methods and put into configure_class_template #} |  136 {# FIXME: rename to install_methods and put into configure_class_template #} | 
|  118 {% if methods %} |  137 {% if has_method_configuration %} | 
|  119 static const V8DOMConfiguration::MethodConfiguration {{v8_class_name}}Methods[] 
     = { |  138 static const V8DOMConfiguration::MethodConfiguration {{v8_class_name}}Methods[] 
     = { | 
|  120     {% for method in methods |  139     {% for method in methods if method.do_generate_method_configuration %} | 
|  121        if method.do_not_check_signature and |  | 
|  122           not method.per_context_enabled_function_name and |  | 
|  123           (not method.overload_index or method.overload_index == 1) %} |  | 
|  124     {# For overloaded methods, only generate one accessor #} |  | 
|  125     {% filter conditional(method.conditional_string) %} |  140     {% filter conditional(method.conditional_string) %} | 
|  126     {{method_configuration(method)}}, |  141     {{method_configuration(method)}}, | 
|  127     {% endfilter %} |  142     {% endfilter %} | 
|  128     {% endfor %} |  143     {% endfor %} | 
|  129 }; |  144 }; | 
|  130  |  145  | 
|  131 {% endif %} |  146 {% endif %} | 
|  132 {% endblock %} |  147 {% endblock %} | 
|  133  |  148  | 
|  134  |  149  | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
|  146                ('%sAttributes' % v8_class_name, |  161                ('%sAttributes' % v8_class_name, | 
|  147                 'WTF_ARRAY_LENGTH(%sAttributes)' % v8_class_name) |  162                 'WTF_ARRAY_LENGTH(%sAttributes)' % v8_class_name) | 
|  148            if attributes else (0, 0) %} |  163            if attributes else (0, 0) %} | 
|  149         {% set accessors_name, accessors_length = |  164         {% set accessors_name, accessors_length = | 
|  150                ('%sAccessors' % v8_class_name, |  165                ('%sAccessors' % v8_class_name, | 
|  151                 'WTF_ARRAY_LENGTH(%sAccessors)' % v8_class_name) |  166                 'WTF_ARRAY_LENGTH(%sAccessors)' % v8_class_name) | 
|  152            if has_accessors else (0, 0) %} |  167            if has_accessors else (0, 0) %} | 
|  153         {% set methods_name, methods_length = |  168         {% set methods_name, methods_length = | 
|  154                ('%sMethods' % v8_class_name, |  169                ('%sMethods' % v8_class_name, | 
|  155                 'WTF_ARRAY_LENGTH(%sMethods)' % v8_class_name) |  170                 'WTF_ARRAY_LENGTH(%sMethods)' % v8_class_name) | 
|  156            if methods else (0, 0) %} |  171            if has_method_configuration else (0, 0) %} | 
|  157         {{attributes_name}}, {{attributes_length}}, |  172         {{attributes_name}}, {{attributes_length}}, | 
|  158         {{accessors_name}}, {{accessors_length}}, |  173         {{accessors_name}}, {{accessors_length}}, | 
|  159         {{methods_name}}, {{methods_length}}, |  174         {{methods_name}}, {{methods_length}}, | 
|  160         isolate, currentWorldType); |  175         isolate, currentWorldType); | 
|  161     UNUSED_PARAM(defaultSignature); |  176     UNUSED_PARAM(defaultSignature); | 
|  162     v8::Local<v8::ObjectTemplate> instanceTemplate = functionTemplate->InstanceT
     emplate(); |  177     v8::Local<v8::ObjectTemplate> instanceTemplate = functionTemplate->InstanceT
     emplate(); | 
|  163     v8::Local<v8::ObjectTemplate> prototypeTemplate = functionTemplate->Prototyp
     eTemplate(); |  178     v8::Local<v8::ObjectTemplate> prototypeTemplate = functionTemplate->Prototyp
     eTemplate(); | 
|  164     UNUSED_PARAM(instanceTemplate); |  179     UNUSED_PARAM(instanceTemplate); | 
|  165     UNUSED_PARAM(prototypeTemplate); |  180     UNUSED_PARAM(prototypeTemplate); | 
 |  181     {% if is_check_security and interface_name != 'Window' %} | 
 |  182     instanceTemplate->SetAccessCheckCallbacks({{cpp_class_name}}V8Internal::name
     dSecurityCheck, {{cpp_class_name}}V8Internal::indexedSecurityCheck, v8::External
     ::New(isolate, const_cast<WrapperTypeInfo*>(&{{v8_class_name}}::wrapperTypeInfo)
     )); | 
 |  183     {% endif %} | 
|  166     {% for attribute in attributes if attribute.runtime_enabled_function_name %} |  184     {% for attribute in attributes if attribute.runtime_enabled_function_name %} | 
|  167     {% filter conditional(attribute.conditional_string) %} |  185     {% filter conditional(attribute.conditional_string) %} | 
|  168     if ({{attribute.runtime_enabled_function_name}}()) { |  186     if ({{attribute.runtime_enabled_function_name}}()) { | 
|  169         static const V8DOMConfiguration::AttributeConfiguration attributeConfigu
     ration =\ |  187         static const V8DOMConfiguration::AttributeConfiguration attributeConfigu
     ration =\ | 
|  170         {{attribute_configuration(attribute)}}; |  188         {{attribute_configuration(attribute)}}; | 
|  171         V8DOMConfiguration::installAttribute(instanceTemplate, prototypeTemplate
     , attributeConfiguration, isolate, currentWorldType); |  189         V8DOMConfiguration::installAttribute(instanceTemplate, prototypeTemplate
     , attributeConfiguration, isolate, currentWorldType); | 
|  172     } |  190     } | 
|  173     {% endfilter %} |  191     {% endfilter %} | 
|  174     {% endfor %} |  192     {% endfor %} | 
|  175     {% for method in methods if not method.do_not_check_signature %} |  193     {% for method in methods if not method.do_not_check_signature %} | 
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  372     V8DOMWrapper::associateObjectWithWrapper<{{v8_class_name}}>(impl, &wrapperTy
     peInfo, wrapper, isolate, {{wrapper_configuration}}); |  390     V8DOMWrapper::associateObjectWithWrapper<{{v8_class_name}}>(impl, &wrapperTy
     peInfo, wrapper, isolate, {{wrapper_configuration}}); | 
|  373     return wrapper; |  391     return wrapper; | 
|  374 } |  392 } | 
|  375  |  393  | 
|  376 void {{v8_class_name}}::derefObject(void* object) |  394 void {{v8_class_name}}::derefObject(void* object) | 
|  377 { |  395 { | 
|  378     fromInternalPointer(object)->deref(); |  396     fromInternalPointer(object)->deref(); | 
|  379 } |  397 } | 
|  380  |  398  | 
|  381 {% endblock %} |  399 {% endblock %} | 
| OLD | NEW |