using namespace WTF;
-namespace WebCore {
+namespace blink {
DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(CSSBasicShape)
if (side == CSSValueCenter) {
side = defaultSide;
- amount = cssValuePool().createValue(Length(50, Percent));
+ amount = cssValuePool().createValue(50, CSSPrimitiveValue::CSS_PERCENTAGE);
} else if ((side == CSSValueRight || side == CSSValueBottom)
&& amount->isPercentage()) {
side = defaultSide;
- amount = cssValuePool().createValue(Length(100 - amount->getFloatValue(), Percent));
+ amount = cssValuePool().createValue(100 - amount->getFloatValue(), CSSPrimitiveValue::CSS_PERCENTAGE);
} else if (amount->isLength() && !amount->getFloatValue()) {
if (side == CSSValueRight || side == CSSValueBottom)
- amount = cssValuePool().createValue(Length(100, Percent));
+ amount = cssValuePool().createValue(100, CSSPrimitiveValue::CSS_PERCENTAGE);
else
- amount = cssValuePool().createValue(Length(0, Percent));
+ amount = cssValuePool().createValue(0, CSSPrimitiveValue::CSS_PERCENTAGE);
side = defaultSide;
}
RefPtrWillBeRawPtr<CSSPrimitiveValue> normalizedCX = buildSerializablePositionOffset(m_centerX, CSSValueLeft);
RefPtrWillBeRawPtr<CSSPrimitiveValue> normalizedCY = buildSerializablePositionOffset(m_centerY, CSSValueTop);
- return buildCircleString(m_radius ? m_radius->cssText() : String(),
+ String radius;
+ if (m_radius && m_radius->getValueID() != CSSValueClosestSide)
+ radius = m_radius->cssText();
+
+ return buildCircleString(radius,
serializePositionOffset(*normalizedCX->getPairValue(), *normalizedCY->getPairValue()),
serializePositionOffset(*normalizedCY->getPairValue(), *normalizedCX->getPairValue()),
m_referenceBox ? m_referenceBox->cssText() : String());
RefPtrWillBeRawPtr<CSSPrimitiveValue> normalizedCX = buildSerializablePositionOffset(m_centerX, CSSValueLeft);
RefPtrWillBeRawPtr<CSSPrimitiveValue> normalizedCY = buildSerializablePositionOffset(m_centerY, CSSValueTop);
- return buildEllipseString(m_radiusX ? m_radiusX->cssText() : String(),
- m_radiusY ? m_radiusY->cssText() : String(),
+ String radiusX;
+ String radiusY;
+ if (m_radiusX) {
+ bool shouldSerializeRadiusXValue = m_radiusX->getValueID() != CSSValueClosestSide;
+ bool shouldSerializeRadiusYValue = false;
+
+ if (m_radiusY) {
+ shouldSerializeRadiusYValue = m_radiusY->getValueID() != CSSValueClosestSide;
+ if (shouldSerializeRadiusYValue)
+ radiusY = m_radiusY->cssText();
+ }
+ if (shouldSerializeRadiusXValue || (!shouldSerializeRadiusXValue && shouldSerializeRadiusYValue))
+ radiusX = m_radiusX->cssText();
+ }
+
+ return buildEllipseString(radiusX, radiusY,
serializePositionOffset(*normalizedCX->getPairValue(), *normalizedCY->getPairValue()),
serializePositionOffset(*normalizedCY->getPairValue(), *normalizedCX->getPairValue()),
m_referenceBox ? m_referenceBox->cssText() : String());
CSSBasicShape::trace(visitor);
}
-} // namespace WebCore
+} // namespace blink