| Index: third_party/WebKit/Source/core/css/parser/LegacyCSSPropertyParser.cpp
|
| diff --git a/third_party/WebKit/Source/core/css/parser/LegacyCSSPropertyParser.cpp b/third_party/WebKit/Source/core/css/parser/LegacyCSSPropertyParser.cpp
|
| index 4a95d794a8b78b20219116ee325402b4fbec1183..f524d8b8c694f7299213f76f673518d94f713dec 100644
|
| --- a/third_party/WebKit/Source/core/css/parser/LegacyCSSPropertyParser.cpp
|
| +++ b/third_party/WebKit/Source/core/css/parser/LegacyCSSPropertyParser.cpp
|
| @@ -749,27 +749,6 @@ bool CSSPropertyParser::parseValue(CSSPropertyID unresolvedProperty, bool import
|
| case CSSPropertyWebkitBoxOrdinalGroup:
|
| validPrimitive = validUnit(value, FInteger | FNonNeg) && value->fValue;
|
| break;
|
| - case CSSPropertyFlex: {
|
| - ShorthandScope scope(this, propId);
|
| - if (id == CSSValueNone) {
|
| - addProperty(CSSPropertyFlexGrow, cssValuePool().createValue(0, CSSPrimitiveValue::UnitType::Number), important);
|
| - addProperty(CSSPropertyFlexShrink, cssValuePool().createValue(0, CSSPrimitiveValue::UnitType::Number), important);
|
| - addProperty(CSSPropertyFlexBasis, cssValuePool().createIdentifierValue(CSSValueAuto), important);
|
| - return true;
|
| - }
|
| - return parseFlex(m_valueList, important);
|
| - }
|
| - case CSSPropertyFlexBasis:
|
| - // FIXME: Support intrinsic dimensions too.
|
| - if (id == CSSValueAuto)
|
| - validPrimitive = true;
|
| - else
|
| - validPrimitive = validUnit(value, FLength | FPercent | FNonNeg);
|
| - break;
|
| - case CSSPropertyFlexGrow:
|
| - case CSSPropertyFlexShrink:
|
| - validPrimitive = validUnit(value, FNumber | FNonNeg);
|
| - break;
|
| case CSSPropertyOrder:
|
| validPrimitive = validUnit(value, FInteger);
|
| break;
|
| @@ -1000,8 +979,6 @@ bool CSSPropertyParser::parseValue(CSSPropertyID unresolvedProperty, bool import
|
| case CSSPropertyPadding:
|
| // <padding-width>{1,4} | inherit
|
| return parse4Values(propId, paddingShorthand().properties(), important);
|
| - case CSSPropertyFlexFlow:
|
| - return parseShorthand(propId, flexFlowShorthand(), important);
|
| case CSSPropertyListStyle:
|
| return parseShorthand(propId, listStyleShorthand(), important);
|
| case CSSPropertyWebkitColumnRule:
|
| @@ -1177,6 +1154,11 @@ bool CSSPropertyParser::parseValue(CSSPropertyID unresolvedProperty, bool import
|
| case CSSPropertyMarkerStart:
|
| case CSSPropertyMarkerMid:
|
| case CSSPropertyMarkerEnd:
|
| + case CSSPropertyFlex:
|
| + case CSSPropertyFlexBasis:
|
| + case CSSPropertyFlexGrow:
|
| + case CSSPropertyFlexShrink:
|
| + case CSSPropertyFlexFlow:
|
| validPrimitive = false;
|
| break;
|
|
|
| @@ -3860,55 +3842,6 @@ PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseReflect()
|
| return CSSReflectValue::create(direction.release(), offset.release(), mask.release());
|
| }
|
|
|
| -static bool isFlexBasisMiddleArg(double flexGrow, double flexShrink, double unsetValue, int argSize)
|
| -{
|
| - return flexGrow != unsetValue && flexShrink == unsetValue && argSize == 3;
|
| -}
|
| -
|
| -bool CSSPropertyParser::parseFlex(CSSParserValueList* args, bool important)
|
| -{
|
| - if (!args || !args->size() || args->size() > 3)
|
| - return false;
|
| - static const double unsetValue = -1;
|
| - double flexGrow = unsetValue;
|
| - double flexShrink = unsetValue;
|
| - RefPtrWillBeRawPtr<CSSPrimitiveValue> flexBasis = nullptr;
|
| -
|
| - while (CSSParserValue* arg = args->current()) {
|
| - if (validUnit(arg, FNumber | FNonNeg)) {
|
| - if (flexGrow == unsetValue)
|
| - flexGrow = arg->fValue;
|
| - else if (flexShrink == unsetValue)
|
| - flexShrink = arg->fValue;
|
| - else if (!arg->fValue) {
|
| - // flex only allows a basis of 0 (sans units) if flex-grow and flex-shrink values have already been set.
|
| - flexBasis = cssValuePool().createValue(0, CSSPrimitiveValue::UnitType::Pixels);
|
| - } else {
|
| - // We only allow 3 numbers without units if the last value is 0. E.g., flex:1 1 1 is invalid.
|
| - return false;
|
| - }
|
| - } else if (!flexBasis && (arg->id == CSSValueAuto || validUnit(arg, FLength | FPercent | FNonNeg)) && !isFlexBasisMiddleArg(flexGrow, flexShrink, unsetValue, args->size()))
|
| - flexBasis = parseValidPrimitive(arg->id, arg);
|
| - else {
|
| - // Not a valid arg for flex.
|
| - return false;
|
| - }
|
| - args->next();
|
| - }
|
| -
|
| - if (flexGrow == unsetValue)
|
| - flexGrow = 1;
|
| - if (flexShrink == unsetValue)
|
| - flexShrink = 1;
|
| - if (!flexBasis)
|
| - flexBasis = cssValuePool().createValue(0, CSSPrimitiveValue::UnitType::Percentage);
|
| -
|
| - addProperty(CSSPropertyFlexGrow, cssValuePool().createValue(clampTo<float>(flexGrow), CSSPrimitiveValue::UnitType::Number), important);
|
| - addProperty(CSSPropertyFlexShrink, cssValuePool().createValue(clampTo<float>(flexShrink), CSSPrimitiveValue::UnitType::Number), important);
|
| - addProperty(CSSPropertyFlexBasis, flexBasis, important);
|
| - return true;
|
| -}
|
| -
|
| PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parsePosition(CSSParserValueList* valueList)
|
| {
|
| RefPtrWillBeRawPtr<CSSValue> xValue = nullptr;
|
|
|