| Index: third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.cpp.tmpl
|
| diff --git a/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.cpp.tmpl b/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.cpp.tmpl
|
| index 6399fe1442c8aec94a053437e69481a8b0a5ba00..c9af826d04dbc71108e499c45fd85fd69cb25558 100644
|
| --- a/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.cpp.tmpl
|
| +++ b/third_party/WebKit/Source/build/scripts/templates/ComputedStyleBase.cpp.tmpl
|
| @@ -1,4 +1,5 @@
|
| {% from 'macros.tmpl' import license %}
|
| +{% from 'fields/field.tmpl' import getter_expression, setter_expression %}
|
| {{license()}}
|
|
|
| #include "core/ComputedStyleBase.h"
|
| @@ -7,11 +8,15 @@
|
| namespace blink {
|
|
|
| struct SameSizeAsComputedStyleBase {
|
| - {% for field in fields|rejectattr("is_bit_field") %}
|
| + {% if computed_style.subgroups is defined %}
|
| + void* dataRefs[{{computed_style.subgroups|length}}];
|
| + {% endif %}
|
| + {% for field in computed_style.fields|rejectattr("is_bit_field") %}
|
| {{field.type_name}} {{field.name}}};
|
| {% endfor %}
|
| - unsigned m_bit_fields[{{expected_bit_field_bytes}}];
|
| + unsigned m_bit_fields[{{computed_style.num_32_bit_words_for_bit_fields}}];
|
| };
|
| +
|
| // If this fails, the packing algorithm in make_computed_style_base.py has
|
| // failed to produce the optimal packed size. To fix, update the algorithm to
|
| // ensure that the buckets are placed so that each takes up at most 1 word.
|
| @@ -19,23 +24,23 @@ ASSERT_SIZE(ComputedStyleBase, SameSizeAsComputedStyleBase);
|
|
|
| void ComputedStyleBase::InheritFrom(const ComputedStyleBase& inheritParent,
|
| IsAtShadowBoundary isAtShadowBoundary) {
|
| - {% for field in fields if field.is_inherited %}
|
| - {{field.name}} = inheritParent.{{field.name}};
|
| + {% for field in computed_style.all_fields if field.is_inherited %}
|
| + {{setter_expression(field)}} = inheritParent.{{getter_expression(field)}};
|
| {% endfor %}
|
| }
|
|
|
| void ComputedStyleBase::CopyNonInheritedFromCached(
|
| const ComputedStyleBase& other) {
|
| - {% for field in fields if (field.is_property and not field.is_inherited) or field.is_inherited_flag %}
|
| - {{field.name}} = other.{{field.name}};
|
| + {% for field in computed_style.all_fields if (field.is_property and not field.is_inherited) or field.is_inherited_flag %}
|
| + {{setter_expression(field)}} = other.{{getter_expression(field)}};
|
| {% endfor %}
|
| }
|
|
|
| void ComputedStyleBase::PropagateIndependentInheritedProperties(
|
| const ComputedStyleBase& parentStyle) {
|
| - {% for field in fields if field.is_property and field.is_independent %}
|
| + {% for field in computed_style.all_fields if field.is_property and field.is_independent %}
|
| if ({{field.is_inherited_method_name}}())
|
| - {{field.setter_method_name}}(parentStyle.{{field.getter_method_name}}());
|
| + {{setter_expression(field)}} = parentStyle.{{getter_expression(field)}};
|
| {% endfor %}
|
| }
|
|
|
|
|