| Index: Source/build/scripts/templates/StyleBuilderFunctions.cpp.tmpl
|
| diff --git a/Source/build/scripts/templates/StyleBuilderFunctions.cpp.tmpl b/Source/build/scripts/templates/StyleBuilderFunctions.cpp.tmpl
|
| index 78a0245da7aecc7f128add31de82281a9876f239..0c94b6463d6c5023f131472dcda7dbb2da3d1bf9 100644
|
| --- a/Source/build/scripts/templates/StyleBuilderFunctions.cpp.tmpl
|
| +++ b/Source/build/scripts/templates/StyleBuilderFunctions.cpp.tmpl
|
| @@ -481,18 +481,31 @@ namespace WebCore {
|
| CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
|
| if (primitiveValue->getValueID() == CSSValueAuto)
|
| {{ set_value(property) }}(nullptr);
|
| - else if (primitiveValue->getValueID() == CSSValueMarginBox
|
| - || primitiveValue->getValueID() == CSSValueBorderBox
|
| - || primitiveValue->getValueID() == CSSValuePaddingBox
|
| - || primitiveValue->getValueID() == CSSValueContentBox)
|
| - {{ set_value(property) }}(ShapeValue::createLayoutBoxValue(LayoutBox(*primitiveValue)));
|
| else if (primitiveValue->getValueID() == CSSValueOutsideShape)
|
| {{ set_value(property) }}(ShapeValue::createOutsideValue());
|
| - else if (primitiveValue->isShape()) {
|
| - {{ set_value(property) }}(ShapeValue::createShapeValue(basicShapeForValue(state, primitiveValue->getShapeValue())));
|
| - }
|
| } else if (value->isImageValue() || value->isImageSetValue()) {
|
| {{ set_value(property) }}(ShapeValue::createImageValue(state.styleImage({{property_id}}, value)));
|
| + } else if (value->isValueList()) {
|
| + RefPtr<BasicShape> shape;
|
| + LayoutBox layoutBox = BoxMissing;
|
| + CSSValueList* valueList = toCSSValueList(value);
|
| + for (unsigned i = 0; i < valueList->length(); ++i) {
|
| + CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(valueList->itemWithoutBoundsCheck(i));
|
| + if (primitiveValue->isShape())
|
| + shape = basicShapeForValue(state, primitiveValue->getShapeValue());
|
| + else if (primitiveValue->getValueID() == CSSValueContentBox
|
| + || primitiveValue->getValueID() == CSSValueBorderBox
|
| + || primitiveValue->getValueID() == CSSValuePaddingBox
|
| + || primitiveValue->getValueID() == CSSValueMarginBox)
|
| + layoutBox = LayoutBox(*primitiveValue);
|
| + else
|
| + return;
|
| + }
|
| +
|
| + if (shape)
|
| + {{ set_value(property) }}(ShapeValue::createShapeValue(shape.release(), layoutBox));
|
| + else if (layoutBox != BoxMissing)
|
| + {{ set_value(property) }}(ShapeValue::createLayoutBoxValue(layoutBox));
|
| }
|
| }
|
| {%- endmacro %}
|
|
|