| Index: third_party/WebKit/Source/bindings/templates/interface_base.cpp
|
| diff --git a/third_party/WebKit/Source/bindings/templates/interface_base.cpp b/third_party/WebKit/Source/bindings/templates/interface_base.cpp
|
| index c8a993adf597410c03a5a95af5c2632724305266..0e365a690c19ae3d3641b66f37cb178d53af0f04 100644
|
| --- a/third_party/WebKit/Source/bindings/templates/interface_base.cpp
|
| +++ b/third_party/WebKit/Source/bindings/templates/interface_base.cpp
|
| @@ -352,22 +352,34 @@ static void install{{v8_class}}Template(v8::Local<v8::FunctionTemplate> function
|
| {% endif %}
|
| {% endfilter %}{# runtime_enabled() #}
|
| {% endif %}
|
| + {% set runtime_enabled_features = dict() %}
|
| {% for attribute in attributes
|
| if attribute.runtime_enabled_function and
|
| not attribute.exposed_test %}
|
| - {% filter conditional(attribute.conditional_string) %}
|
| - if ({{attribute.runtime_enabled_function}}()) {
|
| + {% if attribute.runtime_enabled_function not in runtime_enabled_features %}
|
| + {% set unused = runtime_enabled_features.update({attribute.runtime_enabled_function: []}) %}
|
| + {% endif %}
|
| + {% set unused = runtime_enabled_features.get(attribute.runtime_enabled_function).append(attribute) %}
|
| + {% endfor %}
|
| + {% for runtime_enabled_feature in runtime_enabled_features | sort %}
|
| + if ({{runtime_enabled_feature}}()) {
|
| + {% set distinct_attributes = [] %}
|
| + {% for attribute in runtime_enabled_features.get(runtime_enabled_feature) | sort
|
| + if attribute.name not in distinct_attributes %}
|
| + {% set unused = distinct_attributes.append(attribute.name) %}
|
| + {% filter conditional(attribute.conditional_string) %}
|
| {% if attribute.is_data_type_property %}
|
| - const V8DOMConfiguration::AttributeConfiguration attributeConfiguration = \
|
| + const V8DOMConfiguration::AttributeConfiguration attribute{{attribute.name}}Configuration = \
|
| {{attribute_configuration(attribute)}};
|
| - V8DOMConfiguration::installAttribute(isolate, instanceTemplate, prototypeTemplate, attributeConfiguration);
|
| + V8DOMConfiguration::installAttribute(isolate, instanceTemplate, prototypeTemplate, attribute{{attribute.name}}Configuration);
|
| {% else %}
|
| - const V8DOMConfiguration::AccessorConfiguration accessorConfiguration = \
|
| + const V8DOMConfiguration::AccessorConfiguration accessor{{attribute.name}}Configuration = \
|
| {{attribute_configuration(attribute)}};
|
| - V8DOMConfiguration::installAccessor(isolate, instanceTemplate, prototypeTemplate, functionTemplate, defaultSignature, accessorConfiguration);
|
| + V8DOMConfiguration::installAccessor(isolate, instanceTemplate, prototypeTemplate, functionTemplate, defaultSignature, accessor{{attribute.name}}Configuration);
|
| {% endif %}
|
| + {% endfilter %}
|
| + {% endfor %}
|
| }
|
| - {% endfilter %}
|
| {% endfor %}
|
| {% if constants %}
|
| {{install_constants() | indent}}
|
|
|