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

Side by Side Diff: third_party/WebKit/Source/build/scripts/templates/CSSPropertyDescriptor.cpp.tmpl

Issue 2550313003: Made CSSPropertyAPIWillChange which implements API for will-change (Closed)
Patch Set: Rebase Created 4 years 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 | third_party/WebKit/Source/core/css/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 #include "core/css/properties/CSSPropertyDescriptor.h" 4 #include "core/css/properties/CSSPropertyDescriptor.h"
5 5
6 {% for api_class in api_classes %} 6 {% for api_class in api_classes %}
7 #include "core/css/properties/{{api_class.classname}}.h" 7 #include "core/css/properties/{{api_class.classname}}.h"
8 {% endfor %} 8 {% endfor %}
9 9
10 namespace blink { 10 namespace blink {
11 11
12 static_assert( 12 static_assert(
13 std::is_pod<CSSPropertyDescriptor>::value, 13 std::is_pod<CSSPropertyDescriptor>::value,
14 "CSSPropertyDescriptor must be a POD to support using initializer lists."); 14 "CSSPropertyDescriptor must be a POD to support using initializer lists.");
15 15
16 static CSSPropertyDescriptor cssPropertyDescriptors[] = { 16 static CSSPropertyDescriptor cssPropertyDescriptors[] = {
17 // An invalid CSSPropertyDescriptor. When functions are added to 17 // An invalid CSSPropertyDescriptor. When functions are added to
18 // CSSPropertyAPI, add a nullptr to represent their function pointers in the 18 // CSSPropertyAPI, add a nullptr to represent their function pointers in the
19 // struct initaliser. 19 // struct initaliser.
20 { nullptr, false }, 20 { nullptr, false },
21 // When functions are added to CSSPropertyAPI, also add them to the struct 21 // When functions are added to CSSPropertyAPI, also add them to the struct
22 // initaliser below. 22 // initaliser below.
23 {% for api_class in api_classes %} 23 {% for api_class in api_classes %}
24 { {{api_class.classname}}::parseSingleValue, true } 24 { {{api_class.classname}}::parseSingleValue, true },
25 {% endfor %} 25 {% endfor %}
26 }; 26 };
27 27
28 const CSSPropertyDescriptor& CSSPropertyDescriptor::get(CSSPropertyID id) { 28 const CSSPropertyDescriptor& CSSPropertyDescriptor::get(CSSPropertyID id) {
29 // TODO(aazzam): We are currently using hard-coded indexes for 29 // TODO(aazzam): We are currently using hard-coded indexes for
30 // cssPropertyDescriptor since we have only implemented a few properties. 30 // cssPropertyDescriptor since we have only implemented a few properties.
31 // Later, generate this switch statement, or alternatively return 31 // Later, generate this switch statement, or alternatively return
32 // cssPropertyDescriptors[id], and generate the cssPropertyDescriptors array 32 // cssPropertyDescriptors[id], and generate the cssPropertyDescriptors array
33 // to hold invalid descriptors for methods which haven't been implemented yet. 33 // to hold invalid descriptors for methods which haven't been implemented yet.
34 switch (id) { 34 switch (id) {
35 {% for api_class in api_classes %} 35 {% for api_class in api_classes %}
36 {% for property_id in api_class.property_ids %} 36 {% for property_id in api_class.property_ids %}
37 case {{property_id}}: 37 case {{property_id}}:
38 {% endfor %} 38 {% endfor %}
39 return cssPropertyDescriptors[{{api_class.index}}]; 39 return cssPropertyDescriptors[{{api_class.index}}];
40 {% endfor %} 40 {% endfor %}
41 default: 41 default:
42 return cssPropertyDescriptors[0]; 42 return cssPropertyDescriptors[0];
43 } 43 }
44 } 44 }
45 45
46 } // namespace blink 46 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/css/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698