Changeset 91410 in webkit
- Timestamp:
- Jul 20, 2011 3:00:29 PM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r91409 r91410 1 2011-07-20 Tony Chang <tony@chromium.org> 2 3 Pass -webkit-flex() values on to RenderStyle 4 https://bugs.webkit.org/show_bug.cgi?id=64038 5 6 Reviewed by Eric Seidel. 7 8 No new tests, this just copies data to RenderStyle, which we can 9 then access when doing layout. Tests will come with the layout 10 changes. 11 12 * css/CSSStyleApplyProperty.cpp: 13 (WebCore::ApplyPropertyLength::applyValue): 14 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): 15 1 16 2011-07-20 Daniel Bates <dbates@rim.com> 2 17 -
trunk/Source/WebCore/css/CSSStyleApplyProperty.cpp
r91336 r91410 27 27 28 28 #include "CSSCursorImageValue.h" 29 #include "CSSFlexValue.h" 29 30 #include "CSSPrimitiveValueMappings.h" 30 31 #include "CSSStyleSelector.h" … … 214 215 enum LengthNone {NoneDisabled = 0, NoneEnabled = 1}; 215 216 enum LengthUndefined {UndefinedDisabled = 0, UndefinedEnabled = 1}; 217 enum LengthFlexDirection {FlexDirectionDisabled = 0, FlexWidth = 1, FlexHeight}; 216 218 template <LengthAuto autoEnabled = AutoDisabled, 217 219 LengthIntrinsic intrinsicEnabled = IntrinsicDisabled, 218 220 LengthMinIntrinsic minIntrinsicEnabled = MinIntrinsicDisabled, 219 221 LengthNone noneEnabled = NoneDisabled, 220 LengthUndefined noneUndefined = UndefinedDisabled> 222 LengthUndefined noneUndefined = UndefinedDisabled, 223 LengthFlexDirection flexDirection = FlexDirectionDisabled> 221 224 class ApplyPropertyLength : public ApplyPropertyDefaultBase<Length> { 222 225 public: … … 229 232 virtual void applyValue(CSSStyleSelector* selector, CSSValue* value) const 230 233 { 234 #if ENABLE(CSS3_FLEXBOX) 235 if (!value->isPrimitiveValue()) { 236 if (!flexDirection || !value->isFlexValue()) 237 return; 238 239 CSSFlexValue* flexValue = static_cast<CSSFlexValue*>(value); 240 value = flexValue->preferredSize(); 241 242 if (flexDirection == FlexWidth) { 243 selector->style()->setFlexboxWidthPositiveFlex(flexValue->positiveFlex()); 244 selector->style()->setFlexboxWidthNegativeFlex(flexValue->negativeFlex()); 245 } else if (flexDirection == FlexHeight) { 246 selector->style()->setFlexboxHeightPositiveFlex(flexValue->positiveFlex()); 247 selector->style()->setFlexboxHeightNegativeFlex(flexValue->negativeFlex()); 248 } 249 } 250 #else 231 251 if (!value->isPrimitiveValue()) 232 252 return; 253 #endif 233 254 234 255 CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value); … … 750 771 setPropertyHandler(CSSPropertyLeft, new ApplyPropertyLength<AutoEnabled>(&RenderStyle::left, &RenderStyle::setLeft, &RenderStyle::initialOffset)); 751 772 752 setPropertyHandler(CSSPropertyWidth, new ApplyPropertyLength<AutoEnabled, IntrinsicEnabled, MinIntrinsicEnabled >(&RenderStyle::width, &RenderStyle::setWidth, &RenderStyle::initialSize));753 setPropertyHandler(CSSPropertyHeight, new ApplyPropertyLength<AutoEnabled, IntrinsicEnabled, MinIntrinsicEnabled >(&RenderStyle::height, &RenderStyle::setHeight, &RenderStyle::initialSize));773 setPropertyHandler(CSSPropertyWidth, new ApplyPropertyLength<AutoEnabled, IntrinsicEnabled, MinIntrinsicEnabled, NoneDisabled, UndefinedDisabled, FlexWidth>(&RenderStyle::width, &RenderStyle::setWidth, &RenderStyle::initialSize)); 774 setPropertyHandler(CSSPropertyHeight, new ApplyPropertyLength<AutoEnabled, IntrinsicEnabled, MinIntrinsicEnabled, NoneDisabled, UndefinedDisabled, FlexHeight>(&RenderStyle::height, &RenderStyle::setHeight, &RenderStyle::initialSize)); 754 775 755 776 setPropertyHandler(CSSPropertyTextIndent, new ApplyPropertyLength<>(&RenderStyle::textIndent, &RenderStyle::setTextIndent, &RenderStyle::initialTextIndent));
Note: See TracChangeset
for help on using the changeset viewer.