Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(321)

Side by Side Diff: Source/build/scripts/templates/StyleBuilderFunctions.cpp.tmpl

Issue 454133004: Use common converter for -webkit-column-[gap, width]. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | Source/core/css/CSSProperties.in » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 {% from 'macros.tmpl' import license %} 1 {% from 'macros.tmpl' import license %}
2 {# 2 {#
3 This file is for property handlers which use the templating engine to 3 This file is for property handlers which use the templating engine to
4 reduce (handwritten) code duplication. 4 reduce (handwritten) code duplication.
5 5
6 The `properties' dict can be used to access a property's parameters in 6 The `properties' dict can be used to access a property's parameters in
7 jinja2 templates (i.e. setter, getter, initial, type_name) 7 jinja2 templates (i.e. setter, getter, initial, type_name)
8 #} 8 #}
9 #include "config.h" 9 #include "config.h"
10 #include "StyleBuilderFunctions.h" 10 #include "StyleBuilderFunctions.h"
(...skipping 15 matching lines...) Expand all
26 {%- endmacro %} 26 {%- endmacro %}
27 {% macro set_value(property) %} 27 {% macro set_value(property) %}
28 {% if property.svg %} 28 {% if property.svg %}
29 state.style()->accessSVGStyle().{{property.setter}} 29 state.style()->accessSVGStyle().{{property.setter}}
30 {%- elif property.font %} 30 {%- elif property.font %}
31 state.fontBuilder().{{property.setter}} 31 state.fontBuilder().{{property.setter}}
32 {%- else %} 32 {%- else %}
33 state.style()->{{property.setter}} 33 state.style()->{{property.setter}}
34 {%- endif %} 34 {%- endif %}
35 {% endmacro %} 35 {% endmacro %}
36 {% macro convert_and_set_value(property) %}
37 {% if property.converter %}
38 {{set_value(property)}}(StyleBuilderConverter::{{property.converter}}(state, val ue));
39 {%- else %}
40 {{set_value(property)}}(static_cast<{{property.type_name}}>(*toCSSPrimitiveValue (value)));
41 {%- endif %}
42 {% endmacro %}
36 43
37 namespace blink { 44 namespace blink {
38 45
39 {% for property_id, property in properties.items() if property.should_declare_fu nctions %} 46 {% for property_id, property in properties.items() if property.should_declare_fu nctions %}
40 {% set apply_type = property.apply_type %} 47 {% set apply_type = property.apply_type %}
41 {% if not property.custom_initial %} 48 {% if not property.custom_initial %}
42 {{declare_initial_function(property_id)}} 49 {{declare_initial_function(property_id)}}
43 { 50 {
44 {% if property.svg %} 51 {% if property.svg %}
45 {{set_value(property)}}(SVGRenderStyle::{{property.initial}}()); 52 {{set_value(property)}}(SVGRenderStyle::{{property.initial}}());
(...skipping 14 matching lines...) Expand all
60 {{set_value(property)}}(state.parentFontDescription().{{property.getter}}()) ; 67 {{set_value(property)}}(state.parentFontDescription().{{property.getter}}()) ;
61 {% else %} 68 {% else %}
62 {{set_value(property)}}(state.parentStyle()->{{property.getter}}()); 69 {{set_value(property)}}(state.parentStyle()->{{property.getter}}());
63 {% endif %} 70 {% endif %}
64 } 71 }
65 72
66 {% endif %} 73 {% endif %}
67 {% if not property.custom_value %} 74 {% if not property.custom_value %}
68 {{declare_value_function(property_id)}} 75 {{declare_value_function(property_id)}}
69 { 76 {
70 {% if property.converter %} 77 {{convert_and_set_value(property)}}
71 {{set_value(property)}}(StyleBuilderConverter::{{property.converter}}(state, value));
72 {% else %}
73 {{set_value(property)}}(static_cast<{{property.type_name}}>(*toCSSPrimitiveV alue(value)));
74 {% endif %}
75 } 78 }
76 79
77 {% endif %} 80 {% endif %}
78 {% endfor %} 81 {% endfor %}
79 82
80 {% macro apply_animation(property_id, attribute, animation) %} 83 {% macro apply_animation(property_id, attribute, animation) %}
81 {% set vector = attribute|lower_first + "List()" %} 84 {% set vector = attribute|lower_first + "List()" %}
82 {{declare_initial_function(property_id)}} 85 {{declare_initial_function(property_id)}}
83 { 86 {
84 CSS{{animation}}Data& data = state.style()->access{{animation}}s(); 87 CSS{{animation}}Data& data = state.style()->access{{animation}}s();
(...skipping 24 matching lines...) Expand all
109 {{apply_animation('CSSPropertyWebkitAnimationFillMode', 'FillMode', 'Animation') }} 112 {{apply_animation('CSSPropertyWebkitAnimationFillMode', 'FillMode', 'Animation') }}
110 {{apply_animation('CSSPropertyWebkitAnimationIterationCount', 'IterationCount', 'Animation')}} 113 {{apply_animation('CSSPropertyWebkitAnimationIterationCount', 'IterationCount', 'Animation')}}
111 {{apply_animation('CSSPropertyWebkitAnimationName', 'Name', 'Animation')}} 114 {{apply_animation('CSSPropertyWebkitAnimationName', 'Name', 'Animation')}}
112 {{apply_animation('CSSPropertyWebkitAnimationPlayState', 'PlayState', 'Animation ')}} 115 {{apply_animation('CSSPropertyWebkitAnimationPlayState', 'PlayState', 'Animation ')}}
113 {{apply_animation('CSSPropertyWebkitAnimationTimingFunction', 'TimingFunction', 'Animation')}} 116 {{apply_animation('CSSPropertyWebkitAnimationTimingFunction', 'TimingFunction', 'Animation')}}
114 {{apply_animation('CSSPropertyWebkitTransitionDelay', 'Delay', 'Transition')}} 117 {{apply_animation('CSSPropertyWebkitTransitionDelay', 'Delay', 'Transition')}}
115 {{apply_animation('CSSPropertyWebkitTransitionDuration', 'Duration', 'Transition ')}} 118 {{apply_animation('CSSPropertyWebkitTransitionDuration', 'Duration', 'Transition ')}}
116 {{apply_animation('CSSPropertyWebkitTransitionProperty', 'Property', 'Transition ')}} 119 {{apply_animation('CSSPropertyWebkitTransitionProperty', 'Property', 'Transition ')}}
117 {{apply_animation('CSSPropertyWebkitTransitionTimingFunction', 'TimingFunction', 'Transition')}} 120 {{apply_animation('CSSPropertyWebkitTransitionTimingFunction', 'TimingFunction', 'Transition')}}
118 121
119 {% macro apply_auto(property_id, auto_getter=none, auto_setter=none, auto_identi ty='CSSValueAuto', compute_length=false) %} 122 {% macro apply_auto(property_id, auto_getter=none, auto_setter=none, auto_identi ty='CSSValueAuto') %}
120 {% set property = properties[property_id] %} 123 {% set property = properties[property_id] %}
121 {% set auto_getter = auto_getter or 'hasAuto' + property.name_for_methods %} 124 {% set auto_getter = auto_getter or 'hasAuto' + property.name_for_methods %}
122 {% set auto_setter = auto_setter or 'setHasAuto' + property.name_for_methods %} 125 {% set auto_setter = auto_setter or 'setHasAuto' + property.name_for_methods %}
123 {{declare_initial_function(property_id)}} 126 {{declare_initial_function(property_id)}}
124 { 127 {
125 state.style()->{{auto_setter}}(); 128 state.style()->{{auto_setter}}();
126 } 129 }
127 130
128 {{declare_inherit_function(property_id)}} 131 {{declare_inherit_function(property_id)}}
129 { 132 {
130 if (state.parentStyle()->{{auto_getter}}()) 133 if (state.parentStyle()->{{auto_getter}}())
131 state.style()->{{auto_setter}}(); 134 state.style()->{{auto_setter}}();
132 else 135 else
133 {{set_value(property)}}(state.parentStyle()->{{property.getter}}()); 136 {{set_value(property)}}(state.parentStyle()->{{property.getter}}());
134 } 137 }
135 138
136 {{declare_value_function(property_id)}} 139 {{declare_value_function(property_id)}}
137 { 140 {
138 if (!value->isPrimitiveValue()) 141 if (!value->isPrimitiveValue())
139 return; 142 return;
140 143
141 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); 144 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
142 if (primitiveValue->getValueID() == {{auto_identity}}) 145 if (primitiveValue->getValueID() == {{auto_identity}})
143 state.style()->{{auto_setter}}(); 146 state.style()->{{auto_setter}}();
144 else 147 else
145 {% if compute_length %} 148 {{convert_and_set_value(property)}}
146 {{set_value(property)}}(primitiveValue->computeLength<{{property.type_na me}}>(state.cssToLengthConversionData()));
147 {% else %}
148 {{set_value(property)}}(*primitiveValue);
149 {% endif %}
150 } 149 }
151 {% endmacro %} 150 {% endmacro %}
152 {{apply_auto('CSSPropertyOrphans')}} 151 {{apply_auto('CSSPropertyOrphans')}}
153 {{apply_auto('CSSPropertyWebkitColumnCount')}} 152 {{apply_auto('CSSPropertyWebkitColumnCount')}}
154 {{apply_auto('CSSPropertyWebkitColumnGap', auto_getter='hasNormalColumnGap', aut o_setter='setHasNormalColumnGap', auto_identity='CSSValueNormal', compute_length =true)}} 153 {{apply_auto('CSSPropertyWebkitColumnGap', auto_getter='hasNormalColumnGap', aut o_setter='setHasNormalColumnGap', auto_identity='CSSValueNormal')}}
155 {{apply_auto('CSSPropertyWebkitColumnWidth', compute_length=true)}} 154 {{apply_auto('CSSPropertyWebkitColumnWidth')}}
156 {{apply_auto('CSSPropertyWidows')}} 155 {{apply_auto('CSSPropertyWidows')}}
157 {{apply_auto('CSSPropertyZIndex')}} 156 {{apply_auto('CSSPropertyZIndex')}}
158 157
159 static bool lengthTypeAndValueMatch(const Length& length, LengthType type, float value) 158 static bool lengthTypeAndValueMatch(const Length& length, LengthType type, float value)
160 { 159 {
161 return length.type() == type && length.value() == value; 160 return length.type() == type && length.value() == value;
162 } 161 }
163 162
164 static bool lengthTypeAndValueMatch(const LengthBox& lengthBox, LengthType type, float value) 163 static bool lengthTypeAndValueMatch(const LengthBox& lengthBox, LengthType type, float value)
165 { 164 {
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after
634 } 633 }
635 {{set_value(property)}}(ptype, c, url, 634 {{set_value(property)}}(ptype, c, url,
636 state.applyPropertyToRegularStyle(), 635 state.applyPropertyToRegularStyle(),
637 state.applyPropertyToVisitedLinkStyle()); 636 state.applyPropertyToVisitedLinkStyle());
638 } 637 }
639 } 638 }
640 {% endmacro %} 639 {% endmacro %}
641 {{apply_svg_paint('CSSPropertyFill', 'FillPaint')}} 640 {{apply_svg_paint('CSSPropertyFill', 'FillPaint')}}
642 {{apply_svg_paint('CSSPropertyStroke', 'StrokePaint')}} 641 {{apply_svg_paint('CSSPropertyStroke', 'StrokePaint')}}
643 } // namespace blink 642 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | Source/core/css/CSSProperties.in » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698