Index: Source/bindings/templates/interface.cpp |
diff --git a/Source/bindings/templates/interface.cpp b/Source/bindings/templates/interface.cpp |
index cad506c562a94de5b9b456fd14282dc7d1aad949..e75b9ae29f2254b6a29fc72b858fe09d72ff174b 100644 |
--- a/Source/bindings/templates/interface.cpp |
+++ b/Source/bindings/templates/interface.cpp |
@@ -128,14 +128,14 @@ bool namedSecurityCheck(v8::Local<v8::Object> host, v8::Local<v8::Value> key, v8 |
{% set getter = indexed_property_getter %} |
static void indexedPropertyGetter(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) |
{ |
- {{cpp_class}}* collection = {{v8_class}}::toNative(info.Holder()); |
+ {{cpp_class}}* imp = {{v8_class}}::toNative(info.Holder()); |
{% if getter.is_raises_exception %} |
ExceptionState exceptionState(info.Holder(), info.GetIsolate()); |
{% endif %} |
{% set getter_name = getter.name or 'anonymousIndexedGetter' %} |
{% set getter_arguments = ['index', 'exceptionState'] |
if getter.is_raises_exception else ['index'] %} |
- {{getter.cpp_type}} element = collection->{{getter_name}}({{getter_arguments|join(', ')}}); |
+ {{getter.cpp_type}} result = imp->{{getter_name}}({{getter_arguments|join(', ')}}); |
{% if getter.is_raises_exception %} |
if (exceptionState.throwIfNeeded()) |
return; |
@@ -174,7 +174,7 @@ static void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCall |
{% set setter = indexed_property_setter %} |
static void indexedPropertySetter(uint32_t index, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<v8::Value>& info) |
{ |
- {{cpp_class}}* collection = {{v8_class}}::toNative(info.Holder()); |
+ {{cpp_class}}* imp = {{v8_class}}::toNative(info.Holder()); |
{{setter.v8_value_to_local_cpp_value}}; |
{% if setter.has_exception_state %} |
ExceptionState exceptionState(info.Holder(), info.GetIsolate()); |
@@ -191,7 +191,7 @@ static void indexedPropertySetter(uint32_t index, v8::Local<v8::Value> jsValue, |
{% set setter_name = setter.name or 'anonymousIndexedSetter' %} |
{% set setter_arguments = ['index', 'propertyValue', 'exceptionState'] |
if setter.is_raises_exception else ['index', 'propertyValue'] %} |
- bool result = collection->{{setter_name}}({{setter_arguments|join(', ')}}); |
+ bool result = imp->{{setter_name}}({{setter_arguments|join(', ')}}); |
{% if setter.is_raises_exception %} |
if (exceptionState.throwIfNeeded()) |
return; |
@@ -230,14 +230,14 @@ static void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> j |
{% set deleter = indexed_property_deleter %} |
static void indexedPropertyDeleter(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) |
{ |
- {{cpp_class}}* collection = {{v8_class}}::toNative(info.Holder()); |
+ {{cpp_class}}* imp = {{v8_class}}::toNative(info.Holder()); |
{% if deleter.is_raises_exception %} |
ExceptionState exceptionState(info.Holder(), info.GetIsolate()); |
{% endif %} |
{% set deleter_name = deleter.name or 'anonymousIndexedDeleter' %} |
{% set deleter_arguments = ['index', 'exceptionState'] |
if deleter.is_raises_exception else ['index'] %} |
- DeleteResult result = collection->{{deleter_name}}({{deleter_arguments|join(', ')}}); |
+ DeleteResult result = imp->{{deleter_name}}({{deleter_arguments|join(', ')}}); |
{% if deleter.is_raises_exception %} |
if (exceptionState.throwIfNeeded()) |
return; |
@@ -270,6 +270,7 @@ static void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCal |
{##############################################################################} |
+{% from 'methods.cpp' import union_type_method_call %} |
{% block named_property_getter %} |
{% if named_property_getter and not named_property_getter.is_custom %} |
{% set getter = named_property_getter %} |
@@ -284,31 +285,15 @@ static void namedPropertyGetter(v8::Local<v8::String> name, const v8::PropertyCa |
return; |
{% endif %} |
- {{cpp_class}}* collection = {{v8_class}}::toNative(info.Holder()); |
+ {{cpp_class}}* imp = {{v8_class}}::toNative(info.Holder()); |
AtomicString propertyName = toCoreAtomicString(name); |
{% if getter.is_raises_exception %} |
ExceptionState exceptionState(info.Holder(), info.GetIsolate()); |
{% endif %} |
- {% set getter_name = getter.name or 'anonymousNamedGetter' %} |
- {% set getter_arguments = ['propertyName', 'exceptionState'] |
- if getter.is_raises_exception else ['propertyName'] %} |
{% if getter.union_arguments %} |
- {% for cpp_type in getter.cpp_type %} |
- bool element{{loop.index0}}Enabled = false; |
- {{cpp_type}} element{{loop.index0}}; |
- {% endfor %} |
- {% set getter_arguments = getter_arguments + getter.union_arguments %} |
- collection->{{getter_name}}({{getter_arguments|join(', ')}}); |
- {% for v8_set_return_value in getter.v8_set_return_value %} |
- if (element{{loop.index0}}Enabled) { |
- {{v8_set_return_value}}; |
- return; |
- } |
- |
- {% endfor %} |
- return; |
+ {{union_type_method_call(getter) | indent}} |
{% else %} |
- {{getter.cpp_type}} element = collection->{{getter_name}}({{getter_arguments|join(', ')}}); |
+ {{getter.cpp_type}} result = {{getter.cpp_value}}; |
{% if getter.is_raises_exception %} |
if (exceptionState.throwIfNeeded()) |
return; |
@@ -357,7 +342,7 @@ static void namedPropertySetter(v8::Local<v8::String> name, v8::Local<v8::Value> |
return; |
{% endif %} |
- {{cpp_class}}* collection = {{v8_class}}::toNative(info.Holder()); |
+ {{cpp_class}}* imp = {{v8_class}}::toNative(info.Holder()); |
{# v8_value_to_local_cpp_value('DOMString', 'name', 'propertyName') #} |
V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, propertyName, name); |
{{setter.v8_value_to_local_cpp_value}}; |
@@ -369,7 +354,7 @@ static void namedPropertySetter(v8::Local<v8::String> name, v8::Local<v8::Value> |
['propertyName', 'propertyValue', 'exceptionState'] |
if setter.is_raises_exception else |
['propertyName', 'propertyValue'] %} |
- bool result = collection->{{setter_name}}({{setter_arguments|join(', ')}}); |
+ bool result = imp->{{setter_name}}({{setter_arguments|join(', ')}}); |
{% if setter.is_raises_exception %} |
if (exceptionState.throwIfNeeded()) |
return; |
@@ -410,10 +395,10 @@ static void namedPropertySetterCallback(v8::Local<v8::String> name, v8::Local<v8 |
communicate property attributes. #} |
static void namedPropertyQuery(v8::Local<v8::String> name, const v8::PropertyCallbackInfo<v8::Integer>& info) |
{ |
- {{cpp_class}}* collection = {{v8_class}}::toNative(info.Holder()); |
+ {{cpp_class}}* imp = {{v8_class}}::toNative(info.Holder()); |
AtomicString propertyName = toCoreAtomicString(name); |
ExceptionState exceptionState(info.Holder(), info.GetIsolate()); |
- bool result = collection->namedPropertyQuery(propertyName, exceptionState); |
+ bool result = imp->namedPropertyQuery(propertyName, exceptionState); |
if (exceptionState.throwIfNeeded()) |
return; |
if (!result) |
@@ -450,7 +435,7 @@ static void namedPropertyQueryCallback(v8::Local<v8::String> name, const v8::Pro |
{% set deleter = named_property_deleter %} |
static void namedPropertyDeleter(v8::Local<v8::String> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) |
{ |
- {{cpp_class}}* collection = {{v8_class}}::toNative(info.Holder()); |
+ {{cpp_class}}* imp = {{v8_class}}::toNative(info.Holder()); |
AtomicString propertyName = toCoreAtomicString(name); |
{% if deleter.is_raises_exception %} |
ExceptionState exceptionState(info.Holder(), info.GetIsolate()); |
@@ -458,7 +443,7 @@ static void namedPropertyDeleter(v8::Local<v8::String> name, const v8::PropertyC |
{% set deleter_name = deleter.name or 'anonymousNamedDeleter' %} |
{% set deleter_arguments = ['propertyName', 'exceptionState'] |
if deleter.is_raises_exception else ['propertyName'] %} |
- DeleteResult result = collection->{{deleter_name}}({{deleter_arguments|join(', ')}}); |
+ DeleteResult result = imp->{{deleter_name}}({{deleter_arguments|join(', ')}}); |
{% if deleter.is_raises_exception %} |
if (exceptionState.throwIfNeeded()) |
return; |
@@ -496,10 +481,10 @@ static void namedPropertyDeleterCallback(v8::Local<v8::String> name, const v8::P |
not named_property_getter.is_custom_property_enumerator %} |
static void namedPropertyEnumerator(const v8::PropertyCallbackInfo<v8::Array>& info) |
{ |
- {{cpp_class}}* collection = {{v8_class}}::toNative(info.Holder()); |
+ {{cpp_class}}* imp = {{v8_class}}::toNative(info.Holder()); |
Vector<String> names; |
ExceptionState exceptionState(info.Holder(), info.GetIsolate()); |
- collection->namedPropertyEnumerator(names, exceptionState); |
+ imp->namedPropertyEnumerator(names, exceptionState); |
if (exceptionState.throwIfNeeded()) |
return; |
v8::Handle<v8::Array> v8names = v8::Array::New(info.GetIsolate(), names.size()); |