Index: third_party/WebKit/Source/build/scripts/templates/CSSPropertyDescriptor.cpp.tmpl |
diff --git a/third_party/WebKit/Source/core/css/properties/CSSPropertyDescriptor.cpp b/third_party/WebKit/Source/build/scripts/templates/CSSPropertyDescriptor.cpp.tmpl |
similarity index 53% |
rename from third_party/WebKit/Source/core/css/properties/CSSPropertyDescriptor.cpp |
rename to third_party/WebKit/Source/build/scripts/templates/CSSPropertyDescriptor.cpp.tmpl |
index 10e77269e06fa28cae33f81168acd26bb1825f7b..d6605a0dbf827a87cf562724e7abf016c4f7bb61 100644 |
--- a/third_party/WebKit/Source/core/css/properties/CSSPropertyDescriptor.cpp |
+++ b/third_party/WebKit/Source/build/scripts/templates/CSSPropertyDescriptor.cpp.tmpl |
@@ -1,30 +1,23 @@ |
// Copyright 2016 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
- |
#include "core/css/properties/CSSPropertyDescriptor.h" |
-#include "core/css/properties/CSSPropertyAPIPadding.h" |
+{% for api_class in api_classes %} |
+#include "core/css/properties/{{api_class.classname}}.h" |
+{% endfor %} |
namespace blink { |
-// Initialises a CSSPropertyDescriptor. When functions are added to |
-// CSSPropertyAPI, also add them to the struct initaliser below. |
-#define GET_DESCRIPTOR(X) \ |
- { X::parseSingleValue, true } |
- |
-// Initialises an invalid CSSPropertyDescriptor. When functions are added to |
-// CSSPropertyAPI, add a nullptr to represent their function pointers in the |
-// struct initaliser. |
-#define GET_INVALID_DESCRIPTOR() \ |
- { nullptr, false } |
- |
static_assert( |
std::is_pod<CSSPropertyDescriptor>::value, |
"CSSPropertyDescriptor must be a POD to support using initializer lists."); |
static CSSPropertyDescriptor cssPropertyDescriptors[] = { |
- GET_INVALID_DESCRIPTOR(), GET_DESCRIPTOR(CSSPropertyAPIWebkitPadding), |
+ { nullptr, false }, |
alancutter (OOO until 2018)
2016/12/13 05:55:34
This should probably have a comment explaining wha
aazzam
2016/12/13 21:47:52
done :)
|
+ {% for api_class in api_classes %} |
+ { {{api_class.classname}}::parseSingleValue, true } |
+ {% endfor %} |
}; |
const CSSPropertyDescriptor& CSSPropertyDescriptor::get(CSSPropertyID id) { |
@@ -34,14 +27,12 @@ const CSSPropertyDescriptor& CSSPropertyDescriptor::get(CSSPropertyID id) { |
// cssPropertyDescriptors[id], and generate the cssPropertyDescriptors array |
// to hold invalid descriptors for methods which haven't been implemented yet. |
switch (id) { |
- case CSSPropertyWebkitPaddingEnd: |
- return cssPropertyDescriptors[1]; |
- case CSSPropertyWebkitPaddingStart: |
- return cssPropertyDescriptors[1]; |
- case CSSPropertyWebkitPaddingBefore: |
- return cssPropertyDescriptors[1]; |
- case CSSPropertyWebkitPaddingAfter: |
- return cssPropertyDescriptors[1]; |
+ {% for api_class in api_classes %} |
+ {% for property_id in api_class.property_ids %} |
+ case {{property_id}}: |
+ {% endfor %} |
+ return cssPropertyDescriptors[{{api_class.index}}]; |
+ {% endfor %} |
default: |
return cssPropertyDescriptors[0]; |
} |