| 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..238f429a944678bf4151282e07d1ec720a88dbea 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,28 @@
|
| // 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),
|
| + // An invalid CSSPropertyDescriptor. When functions are added to
|
| + // CSSPropertyAPI, add a nullptr to represent their function pointers in the
|
| + // struct initaliser.
|
| + { nullptr, false },
|
| + // When functions are added to CSSPropertyAPI, also add them to the struct
|
| + // initaliser below.
|
| + {% for api_class in api_classes %}
|
| + { {{api_class.classname}}::parseSingleValue, true }
|
| + {% endfor %}
|
| };
|
|
|
| const CSSPropertyDescriptor& CSSPropertyDescriptor::get(CSSPropertyID id) {
|
| @@ -34,14 +32,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];
|
| }
|
|
|