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

Side by Side Diff: third_party/WebKit/Source/build/scripts/templates/fields/group.tmpl

Issue 2786883002: Generate subgroup StyleSurroundData in ComputedStyle. (Closed)
Patch Set: Rebase Created 3 years, 8 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
OLDNEW
(Empty)
1 {% from 'fields/field.tmpl' import encode, declare_storage %}
2 {% from 'macros.tmpl' import print_if %}
3 {% macro define_field_group_class(group): -%}
4 class {{group.type_name}} : public RefCounted<{{group.type_name}}> {
5 public:
6 static PassRefPtr<{{group.type_name}}> Create() {
7 return AdoptRef(new {{group.type_name}});
8 }
9 PassRefPtr<{{group.type_name}}> Copy() const {
10 return AdoptRef(new {{group.type_name}}(*this));
11 }
12
13 bool operator==(const {{group.type_name}}& other) const {
14 return (
15 {% for field in group.fields %}
16 {{field.name}} == other.{{field.name}}{{print_if(not loop.last, ' &&')}}
17 {% endfor %}
18 );
19 }
20 bool operator!=(const {{group.type_name}}& other) const { return !(*this == ot her); }
21
22 {% for field in group.fields %}
23 {{declare_storage(field)}}
24 {% endfor %}
25
26 private:
27 {{group.type_name}}() :
28 {% for field in group.fields %}
29 {{field.name}}({{encode(field, field.default_value)}}){{print_if(not loop. last, ',')}}
30 {% endfor %}
31 {}
32
33 ALWAYS_INLINE {{group.type_name}}(const {{group.type_name}}& other) :
34 RefCounted<{{group.type_name}}>(),
35 {% for field in group.fields %}
36 {{field.name}}(other.{{field.name}}){{print_if(not loop.last, ',')}}
37 {% endfor %}
38 {}
39 };
40 {%- endmacro %}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698