Changeset 93908 in webkit
- Timestamp:
- Aug 26, 2011 1:42:27 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r93904 r93908 1 2011-08-26 Tony Chang <tony@chromium.org> 2 3 Add CSS parsing for -webkit-flex-align 4 https://bugs.webkit.org/show_bug.cgi?id=66726 5 6 Reviewed by Ojan Vafai. 7 8 * css3/flexbox/css-properties-expected.txt: 9 * css3/flexbox/script-tests/css-properties.js: 10 1 11 2011-08-26 Martin Robinson <mrobinson@igalia.com> 2 12 -
trunk/LayoutTests/css3/flexbox/css-properties-expected.txt
r93551 r93908 29 29 PASS flexbox.style.webkitFlexPack is "" 30 30 PASS window.getComputedStyle(flexbox, null).webkitFlexPack is "start" 31 PASS flexbox.style.webkitFlexAlign is "" 32 PASS window.getComputedStyle(flexbox, null).webkitFlexAlign is "stretch" 33 PASS flexbox.style.webkitFlexAlign is "" 34 PASS flexbox.style.webkitFlexAlign is "before" 35 PASS window.getComputedStyle(flexbox, null).webkitFlexAlign is "before" 36 PASS flexbox.style.webkitFlexAlign is "after" 37 PASS window.getComputedStyle(flexbox, null).webkitFlexAlign is "after" 38 PASS flexbox.style.webkitFlexAlign is "middle" 39 PASS window.getComputedStyle(flexbox, null).webkitFlexAlign is "middle" 40 PASS flexbox.style.webkitFlexAlign is "stretch" 41 PASS window.getComputedStyle(flexbox, null).webkitFlexAlign is "stretch" 42 PASS flexbox.style.webkitFlexAlign is "baseline" 43 PASS window.getComputedStyle(flexbox, null).webkitFlexAlign is "baseline" 44 PASS flexbox.style.webkitFlexAlign is "" 45 PASS window.getComputedStyle(flexbox, null).webkitFlexAlign is "stretch" 31 46 PASS successfullyParsed is true 32 47 -
trunk/LayoutTests/css3/flexbox/script-tests/css-properties.js
r93551 r93908 69 69 shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitFlexPack', 'start'); 70 70 71 72 shouldBeEqualToString('flexbox.style.webkitFlexAlign', ''); 73 // The initial value is 'stretch'. 74 shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitFlexAlign', 'stretch'); 75 76 flexbox.style.webkitFlexAlign = 'foo'; 77 shouldBeEqualToString('flexbox.style.webkitFlexAlign', ''); 78 79 flexbox.style.webkitFlexAlign = 'before'; 80 shouldBeEqualToString('flexbox.style.webkitFlexAlign', 'before'); 81 shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitFlexAlign', 'before'); 82 83 flexbox.style.webkitFlexAlign = 'after'; 84 shouldBeEqualToString('flexbox.style.webkitFlexAlign', 'after'); 85 shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitFlexAlign', 'after'); 86 87 flexbox.style.webkitFlexAlign = 'middle'; 88 shouldBeEqualToString('flexbox.style.webkitFlexAlign', 'middle'); 89 shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitFlexAlign', 'middle'); 90 91 flexbox.style.webkitFlexAlign = 'stretch'; 92 shouldBeEqualToString('flexbox.style.webkitFlexAlign', 'stretch'); 93 shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitFlexAlign', 'stretch'); 94 95 flexbox.style.webkitFlexAlign = 'baseline'; 96 shouldBeEqualToString('flexbox.style.webkitFlexAlign', 'baseline'); 97 shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitFlexAlign', 'baseline'); 98 99 flexbox.style.webkitFlexAlign = ''; 100 shouldBeEqualToString('flexbox.style.webkitFlexAlign', ''); 101 shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitFlexAlign', 'stretch'); 102 71 103 successfullyParsed = true; -
trunk/Source/WebCore/ChangeLog
r93907 r93908 1 2011-08-26 Tony Chang <tony@chromium.org> 2 3 Add CSS parsing for -webkit-flex-align 4 https://bugs.webkit.org/show_bug.cgi?id=66726 5 6 Reviewed by Ojan Vafai. 7 8 * css/CSSComputedStyleDeclaration.cpp: 9 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 10 * css/CSSParser.cpp: 11 (WebCore::CSSParser::parseValue): 12 * css/CSSPrimitiveValueMappings.h: 13 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 14 (WebCore::CSSPrimitiveValue::operator EFlexAlign): 15 * css/CSSPropertyNames.in: 16 * css/CSSStyleApplyProperty.cpp: 17 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): 18 * css/CSSStyleSelector.cpp: 19 (WebCore::CSSStyleSelector::applyProperty): 20 * css/CSSValueKeywords.in: 21 * rendering/style/RenderStyle.h: 22 (WebCore::InheritedFlags::flexAlign): 23 (WebCore::InheritedFlags::setFlexAlign): 24 (WebCore::InheritedFlags::initialFlexAlign): 25 * rendering/style/RenderStyleConstants.h: 26 * rendering/style/StyleFlexibleBoxData.cpp: 27 (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData): 28 (WebCore::StyleFlexibleBoxData::operator==): 29 * rendering/style/StyleFlexibleBoxData.h: 30 1 31 2011-08-26 Nate Chapin <japhet@chromium.org> 2 32 -
trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp
r93551 r93908 203 203 CSSPropertyWebkitFlexOrder, 204 204 CSSPropertyWebkitFlexPack, 205 CSSPropertyWebkitFlexAlign, 205 206 #endif 206 207 CSSPropertyWebkitFontSmoothing, … … 1109 1110 case CSSPropertyWebkitFlexPack: 1110 1111 return primitiveValueCache->createValue(style->flexPack()); 1112 case CSSPropertyWebkitFlexAlign: 1113 return primitiveValueCache->createValue(style->flexAlign()); 1111 1114 #endif 1112 1115 case CSSPropertyFloat: -
trunk/Source/WebCore/css/CSSParser.cpp
r93551 r93908 1543 1543 case CSSPropertyWebkitFlexPack: 1544 1544 validPrimitive = id == CSSValueStart || id == CSSValueEnd || id == CSSValueCenter || id == CSSValueJustify; 1545 break; 1546 case CSSPropertyWebkitFlexAlign: 1547 validPrimitive = id == CSSValueBefore || id == CSSValueAfter || id == CSSValueMiddle || id == CSSValueBaseline || id == CSSValueStretch; 1545 1548 break; 1546 1549 #endif -
trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h
r93557 r93908 1064 1064 } 1065 1065 1066 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFlexAlign e) 1067 : m_type(CSS_IDENT) 1068 , m_hasCachedCSSText(false) 1069 { 1070 switch (e) { 1071 case AlignBefore: 1072 m_value.ident = CSSValueBefore; 1073 break; 1074 case AlignAfter: 1075 m_value.ident = CSSValueAfter; 1076 break; 1077 case AlignMiddle: 1078 m_value.ident = CSSValueMiddle; 1079 break; 1080 case AlignStretch: 1081 m_value.ident = CSSValueStretch; 1082 break; 1083 case AlignBaseline: 1084 m_value.ident = CSSValueBaseline; 1085 break; 1086 } 1087 } 1088 1089 template<> inline CSSPrimitiveValue::operator EFlexAlign() const 1090 { 1091 switch (m_value.ident) { 1092 case CSSValueBefore: 1093 return AlignBefore; 1094 case CSSValueAfter: 1095 return AlignAfter; 1096 case CSSValueMiddle: 1097 return AlignMiddle; 1098 case CSSValueStretch: 1099 return AlignStretch; 1100 case CSSValueBaseline: 1101 return AlignBaseline; 1102 default: 1103 ASSERT_NOT_REACHED(); 1104 return AlignBefore; 1105 } 1106 } 1107 1066 1108 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFlexPack e) 1067 1109 : m_type(CSS_IDENT) -
trunk/Source/WebCore/css/CSSPropertyNames.in
r93551 r93908 244 244 -webkit-columns 245 245 #if defined(ENABLE_CSS3_FLEXBOX) && ENABLE_CSS3_FLEXBOX 246 -webkit-flex-align 246 247 -webkit-flex-order 247 248 -webkit-flex-pack -
trunk/Source/WebCore/css/CSSStyleApplyProperty.cpp
r93848 r93908 988 988 setPropertyHandler(CSSPropertyWebkitFlexOrder, new ApplyPropertyDefault<int>(&RenderStyle::flexOrder, &RenderStyle::setFlexOrder, &RenderStyle::initialFlexOrder)); 989 989 setPropertyHandler(CSSPropertyWebkitFlexPack, new ApplyPropertyDefault<EFlexPack>(&RenderStyle::flexPack, &RenderStyle::setFlexPack, &RenderStyle::initialFlexPack)); 990 setPropertyHandler(CSSPropertyWebkitFlexAlign, new ApplyPropertyDefault<EFlexAlign>(&RenderStyle::flexAlign, &RenderStyle::setFlexAlign, &RenderStyle::initialFlexAlign)); 990 991 #endif 991 992 -
trunk/Source/WebCore/css/CSSStyleSelector.cpp
r93848 r93908 4978 4978 case CSSPropertyWebkitFlexOrder: 4979 4979 case CSSPropertyWebkitFlexPack: 4980 case CSSPropertyWebkitFlexAlign: 4980 4981 #endif 4981 4982 case CSSPropertyFontStyle: -
trunk/Source/WebCore/css/CSSValueKeywords.in
r92792 r93908 472 472 multiple 473 473 474 // CSS_PROP_FLEX_ALIGN 475 before 476 after 477 // middle 478 // stretch 479 // baseline 480 474 481 // CSS_PROP_MARQUEE_DIRECTION 475 482 forwards -
trunk/Source/WebCore/rendering/style/RenderStyle.h
r93807 r93908 680 680 int flexOrder() const { return rareNonInheritedData->m_flexibleBox->m_flexOrder; } 681 681 EFlexPack flexPack() const { return static_cast<EFlexPack>(rareNonInheritedData->m_flexibleBox->m_flexPack); } 682 EFlexAlign flexAlign() const { return static_cast<EFlexAlign>(rareNonInheritedData->m_flexibleBox->m_flexAlign); } 682 683 #endif 683 684 … … 1066 1067 void setFlexOrder(int o) { SET_VAR(rareNonInheritedData.access()->m_flexibleBox, m_flexOrder, o); } 1067 1068 void setFlexPack(EFlexPack p) { SET_VAR(rareNonInheritedData.access()->m_flexibleBox, m_flexPack, p); } 1069 void setFlexAlign(EFlexAlign a) { SET_VAR(rareNonInheritedData.access()->m_flexibleBox, m_flexAlign, a); } 1068 1070 #endif 1069 1071 void setMarqueeIncrement(const Length& f) { SET_VAR(rareNonInheritedData.access()->m_marquee, increment, f); } … … 1346 1348 static int initialFlexOrder() { return 1; } 1347 1349 static EFlexPack initialFlexPack() { return PackStart; } 1350 static EFlexAlign initialFlexAlign() { return AlignStretch; } 1348 1351 static int initialMarqueeLoopCount() { return -1; } 1349 1352 static int initialMarqueeSpeed() { return 85; } -
trunk/Source/WebCore/rendering/style/RenderStyleConstants.h
r93551 r93908 170 170 171 171 enum EFlexPack { PackStart, PackEnd, PackCenter, PackJustify }; 172 enum EFlexAlign { AlignBefore, AlignAfter, AlignMiddle, AlignStretch, AlignBaseline }; 172 173 173 174 enum ETextSecurity { -
trunk/Source/WebCore/rendering/style/StyleFlexibleBoxData.cpp
r93551 r93908 40 40 , m_flexOrder(RenderStyle::initialFlexOrder()) 41 41 , m_flexPack(RenderStyle::initialFlexPack()) 42 , m_flexAlign(RenderStyle::initialFlexAlign()) 42 43 { 43 44 } … … 51 52 , m_flexOrder(o.m_flexOrder) 52 53 , m_flexPack(o.m_flexPack) 54 , m_flexAlign(o.m_flexAlign) 53 55 { 54 56 } … … 58 60 return m_widthPositiveFlex == o.m_widthPositiveFlex && m_widthNegativeFlex == o.m_widthNegativeFlex 59 61 && m_heightPositiveFlex == o.m_heightPositiveFlex && m_heightNegativeFlex == o.m_heightNegativeFlex 60 && m_flexOrder == o.m_flexOrder && m_flexPack == o.m_flexPack ;62 && m_flexOrder == o.m_flexOrder && m_flexPack == o.m_flexPack && m_flexAlign == o.m_flexAlign; 61 63 } 62 64 -
trunk/Source/WebCore/rendering/style/StyleFlexibleBoxData.h
r93551 r93908 53 53 54 54 unsigned m_flexPack : 2; // EFlexPack 55 unsigned m_flexAlign : 3; // EFlexAlign 55 56 56 57 private:
Note: See TracChangeset
for help on using the changeset viewer.