Changeset 121380 in webkit for trunk/Source/WebCore/css/StyleBuilder.cpp
- Timestamp:
- Jun 27, 2012, 4:05:19 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/css/StyleBuilder.cpp
r121349 r121380 1715 1715 return PropertyHandler(&applyInheritValue, &applyInitialValue, &applyValue); 1716 1716 } 1717 };1718 1719 class ApplyPropertyFlex {1720 public:1721 static void applyInheritValue(StyleResolver* styleResolver)1722 {1723 ApplyPropertyDefaultBase<float, &RenderStyle::flexGrow, float, &RenderStyle::setFlexGrow, float, &RenderStyle::initialFlexGrow>::applyInheritValue(styleResolver);1724 ApplyPropertyDefaultBase<float, &RenderStyle::flexShrink, float, &RenderStyle::setFlexShrink, float, &RenderStyle::initialFlexShrink>::applyInheritValue(styleResolver);1725 ApplyPropertyDefaultBase<Length, &RenderStyle::flexBasis, Length, &RenderStyle::setFlexBasis, Length, &RenderStyle::initialFlexBasis>::applyInheritValue(styleResolver);1726 }1727 1728 static void applyInitialValue(StyleResolver* styleResolver)1729 {1730 styleResolver->style()->setFlexGrow(RenderStyle::initialFlexGrow());1731 styleResolver->style()->setFlexShrink(RenderStyle::initialFlexShrink());1732 styleResolver->style()->setFlexBasis(RenderStyle::initialFlexBasis());1733 }1734 1735 static void applyValue(StyleResolver* styleResolver, CSSValue* value)1736 {1737 if (value->isPrimitiveValue()) {1738 CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);1739 if (primitiveValue->getIdent() == CSSValueNone) {1740 styleResolver->style()->setFlexGrow(0);1741 styleResolver->style()->setFlexShrink(0);1742 styleResolver->style()->setFlexBasis(Length(Auto));1743 }1744 return;1745 }1746 1747 if (!value->isValueList())1748 return;1749 CSSValueList* valueList = static_cast<CSSValueList*>(value);1750 if (valueList->length() != 3)1751 return;1752 1753 float flexValue = 0;1754 if (!getFlexValue(valueList->itemWithoutBoundsCheck(0), flexValue))1755 return;1756 styleResolver->style()->setFlexGrow(flexValue);1757 1758 if (!getFlexValue(valueList->itemWithoutBoundsCheck(1), flexValue))1759 return;1760 styleResolver->style()->setFlexShrink(flexValue);1761 1762 ApplyPropertyLength<&RenderStyle::flexBasis, &RenderStyle::setFlexBasis, &RenderStyle::initialFlexBasis, AutoEnabled>::applyValue(styleResolver, valueList->itemWithoutBoundsCheck(2));1763 }1764 1765 static PropertyHandler createHandler()1766 {1767 return PropertyHandler(&applyInheritValue, &applyInitialValue, &applyValue);1768 }1769 private:1770 static bool getFlexValue(CSSValue* value, float& flexValue)1771 {1772 if (!value->isPrimitiveValue())1773 return false;1774 CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);1775 if (!primitiveValue->isNumber())1776 return false;1777 flexValue = primitiveValue->getFloatValue();1778 return true;1779 }1780 1781 1717 }; 1782 1718 … … 2031 1967 setPropertyHandler(CSSPropertyWebkitAlignItems, ApplyPropertyDefault<EAlignItems, &RenderStyle::alignItems, EAlignItems, &RenderStyle::setAlignItems, EAlignItems, &RenderStyle::initialAlignItems>::createHandler()); 2032 1968 setPropertyHandler(CSSPropertyWebkitAlignSelf, ApplyPropertyDefault<EAlignItems, &RenderStyle::alignSelf, EAlignItems, &RenderStyle::setAlignSelf, EAlignItems, &RenderStyle::initialAlignSelf>::createHandler()); 2033 setPropertyHandler(CSSPropertyWebkitFlex , ApplyPropertyFlex::createHandler());1969 setPropertyHandler(CSSPropertyWebkitFlexBasis, ApplyPropertyLength<&RenderStyle::flexBasis, &RenderStyle::setFlexBasis, &RenderStyle::initialFlexBasis, AutoEnabled>::createHandler()); 2034 1970 setPropertyHandler(CSSPropertyWebkitFlexDirection, ApplyPropertyDefault<EFlexDirection, &RenderStyle::flexDirection, EFlexDirection, &RenderStyle::setFlexDirection, EFlexDirection, &RenderStyle::initialFlexDirection>::createHandler()); 2035 setPropertyHandler(CSSPropertyWebkitFlexFlow, ApplyPropertyExpanding<SuppressValue, CSSPropertyWebkitFlexDirection, CSSPropertyWebkitFlexWrap>::createHandler()); 1971 setPropertyHandler(CSSPropertyWebkitFlexGrow, ApplyPropertyDefault<float, &RenderStyle::flexGrow, float, &RenderStyle::setFlexGrow, float, &RenderStyle::initialFlexGrow>::createHandler()); 1972 setPropertyHandler(CSSPropertyWebkitFlexShrink, ApplyPropertyDefault<float, &RenderStyle::flexShrink, float, &RenderStyle::setFlexShrink, float, &RenderStyle::initialFlexShrink>::createHandler()); 2036 1973 setPropertyHandler(CSSPropertyWebkitFlexWrap, ApplyPropertyDefault<EFlexWrap, &RenderStyle::flexWrap, EFlexWrap, &RenderStyle::setFlexWrap, EFlexWrap, &RenderStyle::initialFlexWrap>::createHandler()); 2037 1974 setPropertyHandler(CSSPropertyWebkitJustifyContent, ApplyPropertyDefault<EJustifyContent, &RenderStyle::justifyContent, EJustifyContent, &RenderStyle::setJustifyContent, EJustifyContent, &RenderStyle::initialJustifyContent>::createHandler());
Note:
See TracChangeset
for help on using the changeset viewer.