summaryrefslogtreecommitdiff
path: root/Source/WebCore/css/CSSStyleApplyProperty.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/css/CSSStyleApplyProperty.cpp')
-rw-r--r--Source/WebCore/css/CSSStyleApplyProperty.cpp19
1 files changed, 12 insertions, 7 deletions
diff --git a/Source/WebCore/css/CSSStyleApplyProperty.cpp b/Source/WebCore/css/CSSStyleApplyProperty.cpp
index 629470b89..524ed773c 100644
--- a/Source/WebCore/css/CSSStyleApplyProperty.cpp
+++ b/Source/WebCore/css/CSSStyleApplyProperty.cpp
@@ -349,6 +349,8 @@ public:
static void setValue(RenderStyle* style, Length value) { (style->*setterFunction)(value); }
static void applyValue(CSSStyleSelector* selector, CSSValue* value)
{
+ float positiveFlex = 0;
+ float negativeFlex = 0;
if (!value->isPrimitiveValue()) {
if (!flexDirection || !value->isFlexValue())
return;
@@ -356,13 +358,16 @@ public:
CSSFlexValue* flexValue = static_cast<CSSFlexValue*>(value);
value = flexValue->preferredSize();
- if (flexDirection == FlexWidth) {
- selector->style()->setFlexboxWidthPositiveFlex(flexValue->positiveFlex());
- selector->style()->setFlexboxWidthNegativeFlex(flexValue->negativeFlex());
- } else if (flexDirection == FlexHeight) {
- selector->style()->setFlexboxHeightPositiveFlex(flexValue->positiveFlex());
- selector->style()->setFlexboxHeightNegativeFlex(flexValue->negativeFlex());
- }
+ positiveFlex = flexValue->positiveFlex();
+ negativeFlex = flexValue->negativeFlex();
+ }
+
+ if (flexDirection == FlexWidth) {
+ selector->style()->setFlexboxWidthPositiveFlex(positiveFlex);
+ selector->style()->setFlexboxWidthNegativeFlex(negativeFlex);
+ } else if (flexDirection == FlexHeight) {
+ selector->style()->setFlexboxHeightPositiveFlex(positiveFlex);
+ selector->style()->setFlexboxHeightNegativeFlex(negativeFlex);
}
CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);