Support cast between CSSPrimitiveValue and ETransformStyle3D and use in CSSStyleSelector.

https://bugs.webkit.org/show_bug.cgi?id=66273

Reviewed by Simon Fraser.

No new tests - no functionality changed - refactoring only.

* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
Define cast from CSSPrimitiveValue to ETransformStyle3D.
(WebCore::CSSPrimitiveValue::operator ETransformStyle3D):
Define cast from ETransformStyle3D to CSSPrimitiveValue.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
Use appropriate macro to handle CSSPropertyWebkitTransformStyle.


git-svn-id: svn://svn.chromium.org/blink/trunk@93110 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 8a528ab1
2011-08-16 Luke Macpherson <macpherson@chromium.org>
Support cast between CSSPrimitiveValue and ETransformStyle3D and use in CSSStyleSelector.
https://bugs.webkit.org/show_bug.cgi?id=66273
Reviewed by Simon Fraser.
No new tests - no functionality changed - refactoring only.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
Define cast from CSSPrimitiveValue to ETransformStyle3D.
(WebCore::CSSPrimitiveValue::operator ETransformStyle3D):
Define cast from ETransformStyle3D to CSSPrimitiveValue.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
Use appropriate macro to handle CSSPropertyWebkitTransformStyle.
2011-08-16 Luke Macpherson <macpherson@chromium.org>
Use appropriate macro to handle CSSPropertyWebkitContentOrder in CSSStyleSelector::applyProperty()
......@@ -3099,7 +3099,34 @@ template<> inline CSSPrimitiveValue::operator EImageRendering() const
return ImageRenderingAuto;
}
}
template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ETransformStyle3D e)
: m_type(CSS_IDENT)
, m_hasCachedCSSText(false)
{
switch (e) {
case TransformStyle3DFlat:
m_value.ident = CSSValueFlat;
break;
case TransformStyle3DPreserve3D:
m_value.ident = CSSValuePreserve3d;
break;
}
}
template<> inline CSSPrimitiveValue::operator ETransformStyle3D() const
{
switch (m_value.ident) {
case CSSValueFlat:
return TransformStyle3DFlat;
case CSSValuePreserve3d:
return TransformStyle3DPreserve3D;
default:
ASSERT_NOT_REACHED();
return TransformStyle3DFlat;
}
}
#if ENABLE(SVG)
template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EColorInterpolation e)
......
......@@ -4848,9 +4848,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
return;
}
case CSSPropertyWebkitTransformStyle:
HANDLE_INHERIT_AND_INITIAL(transformStyle3D, TransformStyle3D)
if (primitiveValue)
m_style->setTransformStyle3D((primitiveValue->getIdent() == CSSValuePreserve3d) ? TransformStyle3DPreserve3D : TransformStyle3DFlat);
HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE(transformStyle3D, TransformStyle3D)
return;
case CSSPropertyWebkitPerspective: {
HANDLE_INHERIT_AND_INITIAL(perspective, Perspective)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment