| Index: Source/core/css/resolver/AnimatedStyleBuilder.cpp
|
| diff --git a/Source/core/css/resolver/AnimatedStyleBuilder.cpp b/Source/core/css/resolver/AnimatedStyleBuilder.cpp
|
| index 50f2f24cc60ba6c4bc0fa906c0fac3289b3be256..3a6b0ff0188bc1211c943179821bf4b13b58fb27 100644
|
| --- a/Source/core/css/resolver/AnimatedStyleBuilder.cpp
|
| +++ b/Source/core/css/resolver/AnimatedStyleBuilder.cpp
|
| @@ -225,6 +225,26 @@ void setOnFillLayers(FillLayer* fillLayer, const AnimatableValue* value, StyleRe
|
| }
|
| }
|
|
|
| +FontStretch animatableValueToFontStretch(const AnimatableValue* value)
|
| +{
|
| + ASSERT(FontStretchUltraCondensed == 1 && FontStretchUltraExpanded == 9);
|
| + unsigned index = round(toAnimatableDouble(value)->toDouble()) - 1;
|
| + static const FontStretch stretchValues[] = {
|
| + FontStretchUltraCondensed,
|
| + FontStretchExtraCondensed,
|
| + FontStretchCondensed,
|
| + FontStretchSemiCondensed,
|
| + FontStretchNormal,
|
| + FontStretchSemiExpanded,
|
| + FontStretchExpanded,
|
| + FontStretchExtraExpanded,
|
| + FontStretchUltraExpanded
|
| + };
|
| +
|
| + index = clampTo<unsigned>(index, 0, WTF_ARRAY_LENGTH(stretchValues) - 1);
|
| + return stretchValues[index];
|
| +}
|
| +
|
| FontWeight animatableValueToFontWeight(const AnimatableValue* value)
|
| {
|
| int index = round(toAnimatableDouble(value)->toDouble() / 100) - 1;
|
| @@ -372,6 +392,9 @@ void AnimatedStyleBuilder::applyProperty(CSSPropertyID property, StyleResolverSt
|
| case CSSPropertyFontSize:
|
| style->setFontSize(clampTo<float>(toAnimatableDouble(value)->toDouble(), 0));
|
| return;
|
| + case CSSPropertyFontStretch:
|
| + style->setFontStretch(animatableValueToFontStretch(value));
|
| + return;
|
| case CSSPropertyFontWeight:
|
| style->setFontWeight(animatableValueToFontWeight(value));
|
| return;
|
|
|