PassRefPtr<StyleReflection> StyleBuilderConverter::convertBoxReflect(StyleResolverState& state, CSSValue* value) { if (value->isPrimitiveValue()) { ASSERT(toCSSPrimitiveValue(value)->getValueID() == CSSValueNone); return RenderStyle::initialBoxReflect(); } CSSReflectValue* reflectValue = toCSSReflectValue(value); RefPtr<StyleReflection> reflection = StyleReflection::create(); reflection->setDirection(*reflectValue->direction()); if (reflectValue->offset()) reflection->setOffset(reflectValue->offset()->convertToLength<FixedConversion | PercentConversion>(state.cssToLengthConversionData())); NinePieceImage mask; mask.setMaskDefaults(); state.styleMap().mapNinePieceImage(state.style(), CSSPropertyWebkitBoxReflect, reflectValue->mask(), mask); reflection->setMask(mask); return reflection.release(); }
void StyleBuilderFunctions::applyValueCSSPropertyWebkitBorderImage(StyleResolverState& state, CSSValue* value) { NinePieceImage image; state.styleMap().mapNinePieceImage(state.style(), CSSPropertyWebkitBorderImage, value, image); state.style()->setBorderImage(image); }