| Index: third_party/WebKit/Source/bindings/scripts/v8_attributes.py
|
| diff --git a/third_party/WebKit/Source/bindings/scripts/v8_attributes.py b/third_party/WebKit/Source/bindings/scripts/v8_attributes.py
|
| index 109b010f4b9c90a336c98eaf0888aba037dbc113..4b47204bca4396be584d915e1273f60a1c6a1e1e 100644
|
| --- a/third_party/WebKit/Source/bindings/scripts/v8_attributes.py
|
| +++ b/third_party/WebKit/Source/bindings/scripts/v8_attributes.py
|
| @@ -378,19 +378,20 @@ def is_keep_alive_for_gc(interface, attribute):
|
|
|
| def setter_context(interface, attribute, interfaces, context):
|
| if 'PutForwards' in attribute.extended_attributes:
|
| - # Use target interface and attribute in place of original interface and
|
| - # attribute from this point onwards.
|
| + # Make sure the target interface and attribute exist.
|
| target_interface_name = attribute.idl_type.base_type
|
| target_attribute_name = attribute.extended_attributes['PutForwards']
|
| interface = interfaces[target_interface_name]
|
| try:
|
| - attribute = next(candidate
|
| - for candidate in interface.attributes
|
| - if candidate.name == target_attribute_name)
|
| + next(candidate
|
| + for candidate in interface.attributes
|
| + if candidate.name == target_attribute_name)
|
| except StopIteration:
|
| raise Exception('[PutForward] target not found:\n'
|
| 'Attribute "%s" is not present in interface "%s"' %
|
| (target_attribute_name, target_interface_name))
|
| + context['target_attribute_name'] = target_attribute_name
|
| + return
|
|
|
| if ('Replaceable' in attribute.extended_attributes):
|
| context['cpp_setter'] = 'v8CallBoolean(info.Holder()->CreateDataProperty(info.GetIsolate()->GetCurrentContext(), propertyName, v8Value))'
|
|
|