File: StyleInterpolationWrapperMap.cpp

package info (click to toggle)
webkit2gtk 2.51.1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 455,340 kB
  • sloc: cpp: 3,865,253; javascript: 197,710; ansic: 165,177; python: 49,241; asm: 21,868; ruby: 18,095; perl: 16,926; xml: 4,623; sh: 2,409; yacc: 2,356; java: 2,019; lex: 1,330; pascal: 372; makefile: 210
file content (158 lines) | stat: -rw-r--r-- 31,561 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
// This file is automatically generated from CSSProperties.json by the process-css-properties.py script. Do not edit it.

#include "config.h"
#include "StyleInterpolationWrapperMap.h"

#include "StylePropertyShorthand.h"

#define STYLE_INTERPOLATION_GENERATED_INCLUDE_TRAP 1
#include "StyleInterpolationWrappers.h"
#undef STYLE_INTERPOLATION_GENERATED_INCLUDE_TRAP
namespace WebCore {
namespace Style {
namespace Interpolation {

static WrapperBase* makeShorthandWrapper(CSSPropertyID id, const std::array<WrapperBase*, cssPropertyIDEnumValueCount>& wrappers)
{
    auto shorthand = shorthandForProperty(id);
    ASSERT(shorthand.length());

    auto longhandWrappers = WTF::compactMap(shorthand, [&](auto longhand) -> std::optional<WrapperBase*> {
        auto wrapper = wrappers[longhand];
        if (!wrapper)
            return std::nullopt;
        return wrapper;
    });

    return new ShorthandWrapper(id, WTFMove(longhandWrappers));
}

WrapperMap::WrapperMap()
    : m_wrappers {
        nullptr, // CSSPropertyID::CSSPropertyInvalid
        nullptr, // CSSPropertyID::CSSPropertyCustom
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestTopPriority, &RenderStyle::testTopPriority, &RenderStyle::setTestTopPriority), // CSSPropertyID::CSSPropertyTestTopPriority
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestHighPriority, &RenderStyle::testHighPriority, &RenderStyle::setTestHighPriority), // CSSPropertyID::CSSPropertyTestHighPriority
        new FillLayersWrapper(CSSPropertyID::CSSPropertyBackgroundFillLayerTestPrimary, &RenderStyle::backgroundLayers, &RenderStyle::ensureBackgroundLayers, &RenderStyle::setBackgroundLayers, DiscreteFillLayerWrapper(CSSPropertyID::CSSPropertyBackgroundFillLayerTestPrimary, &BackgroundLayers::Layer::backgroundFillLayerTestPrimary, &BackgroundLayers::Layer::setBackgroundFillLayerTestPrimary)), // CSSPropertyID::CSSPropertyBackgroundFillLayerTestPrimary
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMediumPriority, &RenderStyle::testMediumPriority, &RenderStyle::setTestMediumPriority), // CSSPropertyID::CSSPropertyTestMediumPriority
        new DiscreteWrapper(CSSPropertyID::CSSPropertyBackgroundFillLayerTestSecondary, &RenderStyle::backgroundFillLayerTestSecondary, &RenderStyle::setBackgroundFillLayerTestSecondary), // CSSPropertyID::CSSPropertyBackgroundFillLayerTestSecondary
        new DiscreteWrapper(CSSPropertyID::CSSPropertyBackgroundFillLayerTestSecondaryWithConverter, &RenderStyle::backgroundFillLayerTestSecondaryWithConverter, &RenderStyle::setBackgroundFillLayerTestSecondaryWithConverter), // CSSPropertyID::CSSPropertyBackgroundFillLayerTestSecondaryWithConverter
        nullptr, // CSSPropertyID::CSSPropertyFirstTestDescriptorForFirstDescriptor - not animatable (descriptor only)
        nullptr, // CSSPropertyID::CSSPropertyFirstTestDescriptorForSecondDescriptor - not animatable (descriptor only)
        new Wrapper<float>(CSSPropertyID::CSSPropertyTestAnimationWrapper, &RenderStyle::testAnimationWrapper, &RenderStyle::setTestAnimationWrapper), // CSSPropertyID::CSSPropertyTestAnimationWrapper
        new Wrapper<float>(CSSPropertyID::CSSPropertyTestAnimationWrapperAccelerationAlways, &RenderStyle::testAnimationWrapperAccelerationAlways, &RenderStyle::setTestAnimationWrapperAccelerationAlways), // CSSPropertyID::CSSPropertyTestAnimationWrapperAccelerationAlways
        new Wrapper<float>(CSSPropertyID::CSSPropertyTestAnimationWrapperAccelerationThreadedOnly, &RenderStyle::testAnimationWrapperAccelerationThreadedOnly, &RenderStyle::setTestAnimationWrapperAccelerationThreadedOnly), // CSSPropertyID::CSSPropertyTestAnimationWrapperAccelerationThreadedOnly
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestBoundedRepetitionWithCommas, &RenderStyle::testBoundedRepetitionWithCommas, &RenderStyle::setTestBoundedRepetitionWithCommas), // CSSPropertyID::CSSPropertyTestBoundedRepetitionWithCommas
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestBoundedRepetitionWithCommasFixed, &RenderStyle::testBoundedRepetitionWithCommasFixed, &RenderStyle::setTestBoundedRepetitionWithCommasFixed), // CSSPropertyID::CSSPropertyTestBoundedRepetitionWithCommasFixed
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestBoundedRepetitionWithCommasNoSingleItemOpt, &RenderStyle::testBoundedRepetitionWithCommasNoSingleItemOpt, &RenderStyle::setTestBoundedRepetitionWithCommasNoSingleItemOpt), // CSSPropertyID::CSSPropertyTestBoundedRepetitionWithCommasNoSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestBoundedRepetitionWithCommasSingleItemOpt, &RenderStyle::testBoundedRepetitionWithCommasSingleItemOpt, &RenderStyle::setTestBoundedRepetitionWithCommasSingleItemOpt), // CSSPropertyID::CSSPropertyTestBoundedRepetitionWithCommasSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestBoundedRepetitionWithSpaces, &RenderStyle::testBoundedRepetitionWithSpaces, &RenderStyle::setTestBoundedRepetitionWithSpaces), // CSSPropertyID::CSSPropertyTestBoundedRepetitionWithSpaces
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestBoundedRepetitionWithSpacesFixed, &RenderStyle::testBoundedRepetitionWithSpacesFixed, &RenderStyle::setTestBoundedRepetitionWithSpacesFixed), // CSSPropertyID::CSSPropertyTestBoundedRepetitionWithSpacesFixed
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestBoundedRepetitionWithSpacesNoSingleItemOpt, &RenderStyle::testBoundedRepetitionWithSpacesNoSingleItemOpt, &RenderStyle::setTestBoundedRepetitionWithSpacesNoSingleItemOpt), // CSSPropertyID::CSSPropertyTestBoundedRepetitionWithSpacesNoSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestBoundedRepetitionWithSpacesSingleItemOpt, &RenderStyle::testBoundedRepetitionWithSpacesSingleItemOpt, &RenderStyle::setTestBoundedRepetitionWithSpacesSingleItemOpt), // CSSPropertyID::CSSPropertyTestBoundedRepetitionWithSpacesSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestBoundedRepetitionWithSpacesWithType, &RenderStyle::testBoundedRepetitionWithSpacesWithType, &RenderStyle::setTestBoundedRepetitionWithSpacesWithType), // CSSPropertyID::CSSPropertyTestBoundedRepetitionWithSpacesWithType
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestBoundedRepetitionWithSpacesWithTypeNoSingleItemOpt, &RenderStyle::testBoundedRepetitionWithSpacesWithTypeNoSingleItemOpt, &RenderStyle::setTestBoundedRepetitionWithSpacesWithTypeNoSingleItemOpt), // CSSPropertyID::CSSPropertyTestBoundedRepetitionWithSpacesWithTypeNoSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestBoundedRepetitionWithSpacesWithTypeWithDefaultPrevious, &RenderStyle::testBoundedRepetitionWithSpacesWithTypeWithDefaultPrevious, &RenderStyle::setTestBoundedRepetitionWithSpacesWithTypeWithDefaultPrevious), // CSSPropertyID::CSSPropertyTestBoundedRepetitionWithSpacesWithTypeWithDefaultPrevious
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestBoundedRepetitionWithSpacesWithTypeWithDefaultPreviousTwo, &RenderStyle::testBoundedRepetitionWithSpacesWithTypeWithDefaultPreviousTwo, &RenderStyle::setTestBoundedRepetitionWithSpacesWithTypeWithDefaultPreviousTwo), // CSSPropertyID::CSSPropertyTestBoundedRepetitionWithSpacesWithTypeWithDefaultPreviousTwo
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestColor, &RenderStyle::testColor, &RenderStyle::setTestColor), // CSSPropertyID::CSSPropertyTestColor
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestColorAllowsTypesAbsolute, &RenderStyle::testColorAllowsTypesAbsolute, &RenderStyle::setTestColorAllowsTypesAbsolute), // CSSPropertyID::CSSPropertyTestColorAllowsTypesAbsolute
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestColorPropertyWithNoVisitedLinkSupport, &RenderStyle::testColorPropertyWithNoVisitedLinkSupport, &RenderStyle::setTestColorPropertyWithNoVisitedLinkSupport), // CSSPropertyID::CSSPropertyTestColorPropertyWithNoVisitedLinkSupport
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestColorPropertyWithVisitedLinkSupport, &RenderStyle::testColorPropertyWithVisitedLinkSupport, &RenderStyle::setTestColorPropertyWithVisitedLinkSupport, &RenderStyle::visitedLinkTestColorPropertyWithVisitedLinkSupport, &RenderStyle::setVisitedLinkTestColorPropertyWithVisitedLinkSupport), // CSSPropertyID::CSSPropertyTestColorPropertyWithVisitedLinkSupport
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestCustomExtractor, &RenderStyle::testCustomExtractor, &RenderStyle::setTestCustomExtractor), // CSSPropertyID::CSSPropertyTestCustomExtractor
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestExtractorConverter, &RenderStyle::testExtractorConverter, &RenderStyle::setTestExtractorConverter), // CSSPropertyID::CSSPropertyTestExtractorConverter
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestFunctionBoundedParameters, &RenderStyle::testFunctionBoundedParameters, &RenderStyle::setTestFunctionBoundedParameters), // CSSPropertyID::CSSPropertyTestFunctionBoundedParameters
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestFunctionFixedParameters, &RenderStyle::testFunctionFixedParameters, &RenderStyle::setTestFunctionFixedParameters), // CSSPropertyID::CSSPropertyTestFunctionFixedParameters
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestFunctionNoParameters, &RenderStyle::testFunctionNoParameters, &RenderStyle::setTestFunctionNoParameters), // CSSPropertyID::CSSPropertyTestFunctionNoParameters
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestFunctionParametersMatchAllAnyOrder, &RenderStyle::testFunctionParametersMatchAllAnyOrder, &RenderStyle::setTestFunctionParametersMatchAllAnyOrder), // CSSPropertyID::CSSPropertyTestFunctionParametersMatchAllAnyOrder
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestFunctionParametersMatchAllAnyOrderWithOptional, &RenderStyle::testFunctionParametersMatchAllAnyOrderWithOptional, &RenderStyle::setTestFunctionParametersMatchAllAnyOrderWithOptional), // CSSPropertyID::CSSPropertyTestFunctionParametersMatchAllAnyOrderWithOptional
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestFunctionParametersMatchAllOrdered, &RenderStyle::testFunctionParametersMatchAllOrdered, &RenderStyle::setTestFunctionParametersMatchAllOrdered), // CSSPropertyID::CSSPropertyTestFunctionParametersMatchAllOrdered
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestFunctionParametersMatchAllOrderedWithOptional, &RenderStyle::testFunctionParametersMatchAllOrderedWithOptional, &RenderStyle::setTestFunctionParametersMatchAllOrderedWithOptional), // CSSPropertyID::CSSPropertyTestFunctionParametersMatchAllOrderedWithOptional
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestFunctionParametersMatchOneOrMoreAnyOrder, &RenderStyle::testFunctionParametersMatchOneOrMoreAnyOrder, &RenderStyle::setTestFunctionParametersMatchOneOrMoreAnyOrder), // CSSPropertyID::CSSPropertyTestFunctionParametersMatchOneOrMoreAnyOrder
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestFunctionSingleParameter, &RenderStyle::testFunctionSingleParameter, &RenderStyle::setTestFunctionSingleParameter), // CSSPropertyID::CSSPropertyTestFunctionSingleParameter
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestFunctionSingleParameterMatchOne, &RenderStyle::testFunctionSingleParameterMatchOne, &RenderStyle::setTestFunctionSingleParameterMatchOne), // CSSPropertyID::CSSPropertyTestFunctionSingleParameterMatchOne
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestFunctionSingleParameterOptional, &RenderStyle::testFunctionSingleParameterOptional, &RenderStyle::setTestFunctionSingleParameterOptional), // CSSPropertyID::CSSPropertyTestFunctionSingleParameterOptional
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestFunctionUnboundedParametersNoMin, &RenderStyle::testFunctionUnboundedParametersNoMin, &RenderStyle::setTestFunctionUnboundedParametersNoMin), // CSSPropertyID::CSSPropertyTestFunctionUnboundedParametersNoMin
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestFunctionUnboundedParametersWithMinimum, &RenderStyle::testFunctionUnboundedParametersWithMinimum, &RenderStyle::setTestFunctionUnboundedParametersWithMinimum), // CSSPropertyID::CSSPropertyTestFunctionUnboundedParametersWithMinimum
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestImage, &RenderStyle::testImage, &RenderStyle::setTestImage), // CSSPropertyID::CSSPropertyTestImage
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestImageNoImageSet, &RenderStyle::testImageNoImageSet, &RenderStyle::setTestImageNoImageSet), // CSSPropertyID::CSSPropertyTestImageNoImageSet
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestKeyword, &RenderStyle::testKeyword, &RenderStyle::setTestKeyword), // CSSPropertyID::CSSPropertyTestKeyword
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestKeywordWithAliasedTo, &RenderStyle::testKeywordWithAliasedTo, &RenderStyle::setTestKeywordWithAliasedTo), // CSSPropertyID::CSSPropertyTestKeywordWithAliasedTo
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllAnyOrder, &RenderStyle::testMatchAllAnyOrder, &RenderStyle::setTestMatchAllAnyOrder), // CSSPropertyID::CSSPropertyTestMatchAllAnyOrder
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithCustomType, &RenderStyle::testMatchAllAnyOrderWithCustomType, &RenderStyle::setTestMatchAllAnyOrderWithCustomType), // CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithCustomType
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptional, &RenderStyle::testMatchAllAnyOrderWithOptional, &RenderStyle::setTestMatchAllAnyOrderWithOptional), // CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptional
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalAndCustomType, &RenderStyle::testMatchAllAnyOrderWithOptionalAndCustomType, &RenderStyle::setTestMatchAllAnyOrderWithOptionalAndCustomType), // CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalAndCustomType
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalAndMultipleRequiredAndCustomType, &RenderStyle::testMatchAllAnyOrderWithOptionalAndMultipleRequiredAndCustomType, &RenderStyle::setTestMatchAllAnyOrderWithOptionalAndMultipleRequiredAndCustomType), // CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalAndMultipleRequiredAndCustomType
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalAndMultipleRequiredAndCustomTypeNoSingleItemOpt, &RenderStyle::testMatchAllAnyOrderWithOptionalAndMultipleRequiredAndCustomTypeNoSingleItemOpt, &RenderStyle::setTestMatchAllAnyOrderWithOptionalAndMultipleRequiredAndCustomTypeNoSingleItemOpt), // CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalAndMultipleRequiredAndCustomTypeNoSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalAndMultipleRequiredAndPreserveOrderAndCustomType, &RenderStyle::testMatchAllAnyOrderWithOptionalAndMultipleRequiredAndPreserveOrderAndCustomType, &RenderStyle::setTestMatchAllAnyOrderWithOptionalAndMultipleRequiredAndPreserveOrderAndCustomType), // CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalAndMultipleRequiredAndPreserveOrderAndCustomType
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalAndMultipleRequiredAndPreserveOrderAndCustomTypeNoSingleItemOpt, &RenderStyle::testMatchAllAnyOrderWithOptionalAndMultipleRequiredAndPreserveOrderAndCustomTypeNoSingleItemOpt, &RenderStyle::setTestMatchAllAnyOrderWithOptionalAndMultipleRequiredAndPreserveOrderAndCustomTypeNoSingleItemOpt), // CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalAndMultipleRequiredAndPreserveOrderAndCustomTypeNoSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalAndPreserveOrderAndCustomType, &RenderStyle::testMatchAllAnyOrderWithOptionalAndPreserveOrderAndCustomType, &RenderStyle::setTestMatchAllAnyOrderWithOptionalAndPreserveOrderAndCustomType), // CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalAndPreserveOrderAndCustomType
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalNoSingleItemOpt, &RenderStyle::testMatchAllAnyOrderWithOptionalNoSingleItemOpt, &RenderStyle::setTestMatchAllAnyOrderWithOptionalNoSingleItemOpt), // CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalNoSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalSingleItemOpt, &RenderStyle::testMatchAllAnyOrderWithOptionalSingleItemOpt, &RenderStyle::setTestMatchAllAnyOrderWithOptionalSingleItemOpt), // CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalWithPreserveOrder, &RenderStyle::testMatchAllAnyOrderWithOptionalWithPreserveOrder, &RenderStyle::setTestMatchAllAnyOrderWithOptionalWithPreserveOrder), // CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalWithPreserveOrder
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalWithPreserveOrderNoSingleItemOpt, &RenderStyle::testMatchAllAnyOrderWithOptionalWithPreserveOrderNoSingleItemOpt, &RenderStyle::setTestMatchAllAnyOrderWithOptionalWithPreserveOrderNoSingleItemOpt), // CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithOptionalWithPreserveOrderNoSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithPreserveOrder, &RenderStyle::testMatchAllAnyOrderWithPreserveOrder, &RenderStyle::setTestMatchAllAnyOrderWithPreserveOrder), // CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithPreserveOrder
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithPreserveOrderAndCustomType, &RenderStyle::testMatchAllAnyOrderWithPreserveOrderAndCustomType, &RenderStyle::setTestMatchAllAnyOrderWithPreserveOrderAndCustomType), // CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithPreserveOrderAndCustomType
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithPreserveOrderNoSingleItemOpt, &RenderStyle::testMatchAllAnyOrderWithPreserveOrderNoSingleItemOpt, &RenderStyle::setTestMatchAllAnyOrderWithPreserveOrderNoSingleItemOpt), // CSSPropertyID::CSSPropertyTestMatchAllAnyOrderWithPreserveOrderNoSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllOrdered, &RenderStyle::testMatchAllOrdered, &RenderStyle::setTestMatchAllOrdered), // CSSPropertyID::CSSPropertyTestMatchAllOrdered
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllOrderedWithCustomType, &RenderStyle::testMatchAllOrderedWithCustomType, &RenderStyle::setTestMatchAllOrderedWithCustomType), // CSSPropertyID::CSSPropertyTestMatchAllOrderedWithCustomType
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllOrderedWithOptional, &RenderStyle::testMatchAllOrderedWithOptional, &RenderStyle::setTestMatchAllOrderedWithOptional), // CSSPropertyID::CSSPropertyTestMatchAllOrderedWithOptional
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllOrderedWithOptionalAndCustomType, &RenderStyle::testMatchAllOrderedWithOptionalAndCustomType, &RenderStyle::setTestMatchAllOrderedWithOptionalAndCustomType), // CSSPropertyID::CSSPropertyTestMatchAllOrderedWithOptionalAndCustomType
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllOrderedWithOptionalAndCustomTypeAndNoSingleItemOpt, &RenderStyle::testMatchAllOrderedWithOptionalAndCustomTypeAndNoSingleItemOpt, &RenderStyle::setTestMatchAllOrderedWithOptionalAndCustomTypeAndNoSingleItemOpt), // CSSPropertyID::CSSPropertyTestMatchAllOrderedWithOptionalAndCustomTypeAndNoSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllOrderedWithOptionalAndMultipleRequired, &RenderStyle::testMatchAllOrderedWithOptionalAndMultipleRequired, &RenderStyle::setTestMatchAllOrderedWithOptionalAndMultipleRequired), // CSSPropertyID::CSSPropertyTestMatchAllOrderedWithOptionalAndMultipleRequired
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllOrderedWithOptionalAndMultipleRequiredAndCustomType, &RenderStyle::testMatchAllOrderedWithOptionalAndMultipleRequiredAndCustomType, &RenderStyle::setTestMatchAllOrderedWithOptionalAndMultipleRequiredAndCustomType), // CSSPropertyID::CSSPropertyTestMatchAllOrderedWithOptionalAndMultipleRequiredAndCustomType
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllOrderedWithOptionalNoSingleItemOpt, &RenderStyle::testMatchAllOrderedWithOptionalNoSingleItemOpt, &RenderStyle::setTestMatchAllOrderedWithOptionalNoSingleItemOpt), // CSSPropertyID::CSSPropertyTestMatchAllOrderedWithOptionalNoSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchAllOrderedWithOptionalSingleItemOpt, &RenderStyle::testMatchAllOrderedWithOptionalSingleItemOpt, &RenderStyle::setTestMatchAllOrderedWithOptionalSingleItemOpt), // CSSPropertyID::CSSPropertyTestMatchAllOrderedWithOptionalSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchOne, &RenderStyle::testMatchOne, &RenderStyle::setTestMatchOne), // CSSPropertyID::CSSPropertyTestMatchOne
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchOneOrMoreAnyOrder, &RenderStyle::testMatchOneOrMoreAnyOrder, &RenderStyle::setTestMatchOneOrMoreAnyOrder), // CSSPropertyID::CSSPropertyTestMatchOneOrMoreAnyOrder
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchOneOrMoreAnyOrderNoSingleItemOpt, &RenderStyle::testMatchOneOrMoreAnyOrderNoSingleItemOpt, &RenderStyle::setTestMatchOneOrMoreAnyOrderNoSingleItemOpt), // CSSPropertyID::CSSPropertyTestMatchOneOrMoreAnyOrderNoSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchOneOrMoreAnyOrderWithCustomType, &RenderStyle::testMatchOneOrMoreAnyOrderWithCustomType, &RenderStyle::setTestMatchOneOrMoreAnyOrderWithCustomType), // CSSPropertyID::CSSPropertyTestMatchOneOrMoreAnyOrderWithCustomType
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchOneOrMoreAnyOrderWithCustomTypeNoSingleItemOpt, &RenderStyle::testMatchOneOrMoreAnyOrderWithCustomTypeNoSingleItemOpt, &RenderStyle::setTestMatchOneOrMoreAnyOrderWithCustomTypeNoSingleItemOpt), // CSSPropertyID::CSSPropertyTestMatchOneOrMoreAnyOrderWithCustomTypeNoSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchOneOrMoreAnyOrderWithPreserveOrder, &RenderStyle::testMatchOneOrMoreAnyOrderWithPreserveOrder, &RenderStyle::setTestMatchOneOrMoreAnyOrderWithPreserveOrder), // CSSPropertyID::CSSPropertyTestMatchOneOrMoreAnyOrderWithPreserveOrder
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchOneOrMoreAnyOrderWithPreserveOrderAndCustomType, &RenderStyle::testMatchOneOrMoreAnyOrderWithPreserveOrderAndCustomType, &RenderStyle::setTestMatchOneOrMoreAnyOrderWithPreserveOrderAndCustomType), // CSSPropertyID::CSSPropertyTestMatchOneOrMoreAnyOrderWithPreserveOrderAndCustomType
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchOneOrMoreAnyOrderWithPreserveOrderAndCustomTypeNoSingleItemOpt, &RenderStyle::testMatchOneOrMoreAnyOrderWithPreserveOrderAndCustomTypeNoSingleItemOpt, &RenderStyle::setTestMatchOneOrMoreAnyOrderWithPreserveOrderAndCustomTypeNoSingleItemOpt), // CSSPropertyID::CSSPropertyTestMatchOneOrMoreAnyOrderWithPreserveOrderAndCustomTypeNoSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchOneOrMoreAnyOrderWithPreserveOrderNoSingleItemOpt, &RenderStyle::testMatchOneOrMoreAnyOrderWithPreserveOrderNoSingleItemOpt, &RenderStyle::setTestMatchOneOrMoreAnyOrderWithPreserveOrderNoSingleItemOpt), // CSSPropertyID::CSSPropertyTestMatchOneOrMoreAnyOrderWithPreserveOrderNoSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchOneWithGroupWithSettingsFlag, &RenderStyle::testMatchOneWithGroupWithSettingsFlag, &RenderStyle::setTestMatchOneWithGroupWithSettingsFlag), // CSSPropertyID::CSSPropertyTestMatchOneWithGroupWithSettingsFlag
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchOneWithKeywordWithSettingsFlag, &RenderStyle::testMatchOneWithKeywordWithSettingsFlag, &RenderStyle::setTestMatchOneWithKeywordWithSettingsFlag), // CSSPropertyID::CSSPropertyTestMatchOneWithKeywordWithSettingsFlag
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchOneWithMultipleKeywords, &RenderStyle::testMatchOneWithMultipleKeywords, &RenderStyle::setTestMatchOneWithMultipleKeywords), // CSSPropertyID::CSSPropertyTestMatchOneWithMultipleKeywords
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchOneWithReferenceWithSettingsFlag, &RenderStyle::testMatchOneWithReferenceWithSettingsFlag, &RenderStyle::setTestMatchOneWithReferenceWithSettingsFlag), // CSSPropertyID::CSSPropertyTestMatchOneWithReferenceWithSettingsFlag
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestMatchOneWithSettingsFlag, &RenderStyle::testMatchOneWithSettingsFlag, &RenderStyle::setTestMatchOneWithSettingsFlag), // CSSPropertyID::CSSPropertyTestMatchOneWithSettingsFlag
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestNumericValueRange, &RenderStyle::testNumericValueRange, &RenderStyle::setTestNumericValueRange), // CSSPropertyID::CSSPropertyTestNumericValueRange
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestProperty, &RenderStyle::testProperty, &RenderStyle::setTestProperty), // CSSPropertyID::CSSPropertyTestProperty
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestSettingsOne, &RenderStyle::testSettingsOne, &RenderStyle::setTestSettingsOne), // CSSPropertyID::CSSPropertyTestSettingsOne
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestSharedBuilderExtractorConverter, &RenderStyle::testSharedBuilderExtractorConverter, &RenderStyle::setTestSharedBuilderExtractorConverter), // CSSPropertyID::CSSPropertyTestSharedBuilderExtractorConverter
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestUnboundedRepetitionWithCommasWithMin, &RenderStyle::testUnboundedRepetitionWithCommasWithMin, &RenderStyle::setTestUnboundedRepetitionWithCommasWithMin), // CSSPropertyID::CSSPropertyTestUnboundedRepetitionWithCommasWithMin
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestUnboundedRepetitionWithCommasWithMinNoSingleItemOpt, &RenderStyle::testUnboundedRepetitionWithCommasWithMinNoSingleItemOpt, &RenderStyle::setTestUnboundedRepetitionWithCommasWithMinNoSingleItemOpt), // CSSPropertyID::CSSPropertyTestUnboundedRepetitionWithCommasWithMinNoSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestUnboundedRepetitionWithCommasWithMinSingleItemOpt, &RenderStyle::testUnboundedRepetitionWithCommasWithMinSingleItemOpt, &RenderStyle::setTestUnboundedRepetitionWithCommasWithMinSingleItemOpt), // CSSPropertyID::CSSPropertyTestUnboundedRepetitionWithCommasWithMinSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestUnboundedRepetitionWithSpacesNoMin, &RenderStyle::testUnboundedRepetitionWithSpacesNoMin, &RenderStyle::setTestUnboundedRepetitionWithSpacesNoMin), // CSSPropertyID::CSSPropertyTestUnboundedRepetitionWithSpacesNoMin
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestUnboundedRepetitionWithSpacesNoMinNoSingleItemOpt, &RenderStyle::testUnboundedRepetitionWithSpacesNoMinNoSingleItemOpt, &RenderStyle::setTestUnboundedRepetitionWithSpacesNoMinNoSingleItemOpt), // CSSPropertyID::CSSPropertyTestUnboundedRepetitionWithSpacesNoMinNoSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestUnboundedRepetitionWithSpacesWithMin, &RenderStyle::testUnboundedRepetitionWithSpacesWithMin, &RenderStyle::setTestUnboundedRepetitionWithSpacesWithMin), // CSSPropertyID::CSSPropertyTestUnboundedRepetitionWithSpacesWithMin
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestUnboundedRepetitionWithSpacesWithMinNoSingleItemOpt, &RenderStyle::testUnboundedRepetitionWithSpacesWithMinNoSingleItemOpt, &RenderStyle::setTestUnboundedRepetitionWithSpacesWithMinNoSingleItemOpt), // CSSPropertyID::CSSPropertyTestUnboundedRepetitionWithSpacesWithMinNoSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestUnboundedRepetitionWithSpacesWithMinSingleItemOpt, &RenderStyle::testUnboundedRepetitionWithSpacesWithMinSingleItemOpt, &RenderStyle::setTestUnboundedRepetitionWithSpacesWithMinSingleItemOpt), // CSSPropertyID::CSSPropertyTestUnboundedRepetitionWithSpacesWithMinSingleItemOpt
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestUrlWithModifiers, &RenderStyle::testUrlWithModifiers, &RenderStyle::setTestUrlWithModifiers), // CSSPropertyID::CSSPropertyTestUrlWithModifiers
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestUrlWithNoModifiers, &RenderStyle::testUrlWithNoModifiers, &RenderStyle::setTestUrlWithNoModifiers), // CSSPropertyID::CSSPropertyTestUrlWithNoModifiers
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestUsingSharedRule, &RenderStyle::testUsingSharedRule, &RenderStyle::setTestUsingSharedRule), // CSSPropertyID::CSSPropertyTestUsingSharedRule
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestUsingSharedRuleExported, &RenderStyle::testUsingSharedRuleExported, &RenderStyle::setTestUsingSharedRuleExported), // CSSPropertyID::CSSPropertyTestUsingSharedRuleExported
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestUsingSharedRuleWithOverrideFunction, &RenderStyle::testUsingSharedRuleWithOverrideFunction, &RenderStyle::setTestUsingSharedRuleWithOverrideFunction), // CSSPropertyID::CSSPropertyTestUsingSharedRuleWithOverrideFunction
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestSinkPriority, &RenderStyle::testSinkPriority, &RenderStyle::setTestSinkPriority), // CSSPropertyID::CSSPropertyTestSinkPriority
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestLogicalPropertyGroupPhysicalHorizontal, &RenderStyle::testLogicalPropertyGroupPhysicalHorizontal, &RenderStyle::setTestLogicalPropertyGroupPhysicalHorizontal), // CSSPropertyID::CSSPropertyTestLogicalPropertyGroupPhysicalHorizontal
        new DiscreteWrapper(CSSPropertyID::CSSPropertyTestLogicalPropertyGroupPhysicalVertical, &RenderStyle::testLogicalPropertyGroupPhysicalVertical, &RenderStyle::setTestLogicalPropertyGroupPhysicalVertical), // CSSPropertyID::CSSPropertyTestLogicalPropertyGroupPhysicalVertical
        nullptr, // CSSPropertyID::CSSPropertyTestLogicalPropertyGroupLogicalBlock - logical, handled via resolution to physical
        nullptr, // CSSPropertyID::CSSPropertyTestLogicalPropertyGroupLogicalInline - logical, handled via resolution to physical
        nullptr, // CSSPropertyID::CSSPropertyAll - shorthand, will perform fix-up below
        nullptr, // CSSPropertyID::CSSPropertyFont - shorthand, will perform fix-up below
        nullptr, // CSSPropertyID::CSSPropertyTestShorthandOne - shorthand, will perform fix-up below
        nullptr, // CSSPropertyID::CSSPropertyTestShorthandTwo - shorthand, will perform fix-up below
    }
{
    // Build animatable shorthand wrappers from longhand wrappers initialized above.

    m_wrappers[CSSPropertyID::CSSPropertyAll] = makeShorthandWrapper(CSSPropertyID::CSSPropertyAll, m_wrappers);
    m_wrappers[CSSPropertyID::CSSPropertyFont] = makeShorthandWrapper(CSSPropertyID::CSSPropertyFont, m_wrappers);
    m_wrappers[CSSPropertyID::CSSPropertyTestShorthandOne] = makeShorthandWrapper(CSSPropertyID::CSSPropertyTestShorthandOne, m_wrappers);
    m_wrappers[CSSPropertyID::CSSPropertyTestShorthandTwo] = makeShorthandWrapper(CSSPropertyID::CSSPropertyTestShorthandTwo, m_wrappers);
}

} // namespace WebCore
} // namespace Style
} // namespace Interpolation