Title: [93557] trunk/Source/WebCore
Revision
93557
Author
macpher...@chromium.org
Date
2011-08-22 16:24:18 -0700 (Mon, 22 Aug 2011)

Log Message

Implement cast between CSSPrimitiveValue and EBackfaceVisibility, use in CSSStyleSelector::applyProperty.
https://bugs.webkit.org/show_bug.cgi?id=66648

Reviewed by Dan Bernstein.

No new tests / no functionality changed.

* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
Support cast from EBackfaceVisibility.
(WebCore::CSSPrimitiveValue::operator EBackfaceVisibility):
Support cast from EBackfaceVisibility.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (93556 => 93557)


--- trunk/Source/WebCore/ChangeLog	2011-08-22 23:15:05 UTC (rev 93556)
+++ trunk/Source/WebCore/ChangeLog	2011-08-22 23:24:18 UTC (rev 93557)
@@ -1,3 +1,21 @@
+2011-08-22  Luke Macpherson   <macpher...@chromium.org>
+
+        Implement cast between CSSPrimitiveValue and EBackfaceVisibility, use in CSSStyleSelector::applyProperty.
+        https://bugs.webkit.org/show_bug.cgi?id=66648
+
+        Reviewed by Dan Bernstein.
+
+        No new tests / no functionality changed.
+
+        * css/CSSPrimitiveValueMappings.h:
+        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+        Support cast from EBackfaceVisibility.
+        (WebCore::CSSPrimitiveValue::operator EBackfaceVisibility):
+        Support cast from EBackfaceVisibility.
+        * css/CSSStyleSelector.cpp:
+        (WebCore::CSSStyleSelector::applyProperty):
+        Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro.
+
 2011-08-22  Peter Kasting  <pkast...@google.com>
 
         Unreviewed, rolling out r93538.

Modified: trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h (93556 => 93557)


--- trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h	2011-08-22 23:15:05 UTC (rev 93556)
+++ trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h	2011-08-22 23:24:18 UTC (rev 93557)
@@ -457,6 +457,34 @@
         return ControlPart(m_value.ident - CSSValueCheckbox + 1);
 }
 
+template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBackfaceVisibility e)
+    : m_type(CSS_IDENT)
+    , m_hasCachedCSSText(false)
+{
+    switch (e) {
+    case BackfaceVisibilityVisible:
+        m_value.ident = CSSValueVisible;
+        break;
+    case BackfaceVisibilityHidden:
+        m_value.ident = CSSValueHidden;
+        break;
+    }
+}
+
+template<> inline CSSPrimitiveValue::operator EBackfaceVisibility() const
+{
+    switch (m_value.ident) {
+    case CSSValueVisible:
+        return BackfaceVisibilityVisible;
+    case CSSValueHidden:
+        return BackfaceVisibilityHidden;
+    default:
+        ASSERT_NOT_REACHED();
+        return BackfaceVisibilityHidden;
+    }
+}
+
+
 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFillAttachment e)
     : m_type(CSS_IDENT)
     , m_hasCachedCSSText(false)

Modified: trunk/Source/WebCore/css/CSSStyleSelector.cpp (93556 => 93557)


--- trunk/Source/WebCore/css/CSSStyleSelector.cpp	2011-08-22 23:15:05 UTC (rev 93556)
+++ trunk/Source/WebCore/css/CSSStyleSelector.cpp	2011-08-22 23:24:18 UTC (rev 93557)
@@ -4483,9 +4483,7 @@
     case CSSPropertyUnicodeRange: // Only used in @font-face rules.
         return;
     case CSSPropertyWebkitBackfaceVisibility:
-        HANDLE_INHERIT_AND_INITIAL(backfaceVisibility, BackfaceVisibility)
-        if (primitiveValue)
-            m_style->setBackfaceVisibility((primitiveValue->getIdent() == CSSValueVisible) ? BackfaceVisibilityVisible : BackfaceVisibilityHidden);
+        HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE(backfaceVisibility, BackfaceVisibility)
         return;
     case CSSPropertyWebkitBoxDirection:
         HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE(boxDirection, BoxDirection)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to