| Index: Source/bindings/templates/interface_base.cpp
|
| diff --git a/Source/bindings/templates/interface_base.cpp b/Source/bindings/templates/interface_base.cpp
|
| index d8b696c8811934e88c9ced23addcd6c59c1d1998..be36312858b3e19abaa21ee71c068f0887e38f82 100644
|
| --- a/Source/bindings/templates/interface_base.cpp
|
| +++ b/Source/bindings/templates/interface_base.cpp
|
| @@ -70,13 +70,6 @@ static void {{cpp_class}}ForceSetAttributeOnThis(v8::Local<v8::String> name, v8:
|
| }
|
|
|
| {% endif %}
|
| -{% if has_constructor_attributes %}
|
| -static void {{cpp_class}}ForceSetAttributeOnThisCallback(v8::Local<v8::String> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
|
| -{
|
| - {{cpp_class_or_partial}}V8Internal::{{cpp_class}}ForceSetAttributeOnThis(name, v8Value, info);
|
| -}
|
| -
|
| -{% endif %}
|
| {% endblock %}
|
| {##############################################################################}
|
| {% from 'attributes.cpp' import constructor_getter_callback,
|
| @@ -85,13 +78,14 @@ static void {{cpp_class}}ForceSetAttributeOnThisCallback(v8::Local<v8::String> n
|
| attribute_getter_implemented_in_private_script,
|
| attribute_setter_implemented_in_private_script
|
| with context %}
|
| -{% for attribute in attributes if not attribute.constructor_type %}
|
| -{% if attribute.should_be_exposed_to_script %}
|
| +{% for attribute in attributes if attribute.should_be_exposed_to_script %}
|
| {% for world_suffix in attribute.world_suffixes %}
|
| +{% if not attribute.constructor_type %}
|
| {% if not attribute.has_custom_getter %}
|
| {{attribute_getter(attribute, world_suffix)}}
|
| {% endif %}
|
| {{attribute_getter_callback(attribute, world_suffix)}}
|
| +{% endif %}
|
| {% if attribute.has_setter %}
|
| {% if not attribute.has_custom_setter %}
|
| {{attribute_setter(attribute, world_suffix)}}
|
| @@ -99,24 +93,8 @@ static void {{cpp_class}}ForceSetAttributeOnThisCallback(v8::Local<v8::String> n
|
| {{attribute_setter_callback(attribute, world_suffix)}}
|
| {% endif %}
|
| {% endfor %}
|
| -{% endif %}
|
| {% endfor %}
|
| {##############################################################################}
|
| -{% block constructor_getter %}
|
| -{% if has_constructor_attributes %}
|
| -static void {{cpp_class}}ConstructorGetter(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
|
| -{
|
| - v8::Local<v8::Value> data = info.Data();
|
| - ASSERT(data->IsExternal());
|
| - V8PerContextData* perContextData = V8PerContextData::from(info.Holder()->CreationContext());
|
| - if (!perContextData)
|
| - return;
|
| - v8SetReturnValue(info, perContextData->constructorForType(WrapperTypeInfo::unwrap(data)));
|
| -}
|
| -
|
| -{% endif %}
|
| -{% endblock %}
|
| -{##############################################################################}
|
| {% for attribute in attributes if attribute.needs_constructor_getter_callback %}
|
| {% for world_suffix in attribute.world_suffixes %}
|
| {{constructor_getter_callback(attribute, world_suffix)}}
|
| @@ -447,9 +425,12 @@ static void install{{v8_class}}Template(v8::Local<v8::FunctionTemplate> function
|
| {% endfor %}
|
| {% for attribute in attributes if attribute.is_static %}
|
| {% set getter_callback = '%sV8Internal::%sAttributeGetterCallback' %
|
| - (cpp_class, attribute.name) %}
|
| + (cpp_class, attribute.name) %}
|
| + {% set setter_callback = '%sV8Internal::%sAttributeSetterCallback' %
|
| + (cpp_class, attribute.name)
|
| + if attribute.has_setter else '0' %}
|
| {% filter conditional(attribute.conditional_string) %}
|
| - functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "{{attribute.name}}"), {{getter_callback}}, {{attribute.setter_callback}}, v8::External::New(isolate, 0), static_cast<v8::PropertyAttribute>(v8::None), v8::Local<v8::AccessorSignature>(), static_cast<v8::AccessControl>(v8::DEFAULT));
|
| + functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "{{attribute.name}}"), {{getter_callback}}, {{setter_callback}}, v8::External::New(isolate, 0), static_cast<v8::PropertyAttribute>(v8::None), v8::Local<v8::AccessorSignature>(), static_cast<v8::AccessControl>(v8::DEFAULT));
|
| {% endfilter %}
|
| {% endfor %}
|
| {# Special interfaces #}
|
|
|