| 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 09ad1cfb150c5e43902b74d3b517d98965039af0..c9696bbf685f2afeac617853ba89e96cfacc7576 100644
|
| --- a/third_party/WebKit/Source/core/css/parser/LegacyCSSPropertyParser.cpp
|
| +++ b/third_party/WebKit/Source/core/css/parser/LegacyCSSPropertyParser.cpp
|
| @@ -1090,6 +1090,24 @@ bool CSSPropertyParser::parseValue(CSSPropertyID unresolvedProperty, bool import
|
| case CSSPropertyWebkitColumnRule:
|
| case CSSPropertyWebkitColumnRuleColor:
|
| case CSSPropertyWebkitColumnRuleWidth:
|
| + case CSSPropertyClipPath:
|
| + case CSSPropertyFilter:
|
| + case CSSPropertyMask:
|
| + case CSSPropertyStrokeOpacity:
|
| + case CSSPropertyFillOpacity:
|
| + case CSSPropertyStopOpacity:
|
| + case CSSPropertyFloodOpacity:
|
| + case CSSPropertyBaselineShift:
|
| + case CSSPropertyStrokeMiterlimit:
|
| + case CSSPropertyStrokeWidth:
|
| + case CSSPropertyStrokeDashoffset:
|
| + case CSSPropertyCx:
|
| + case CSSPropertyCy:
|
| + case CSSPropertyX:
|
| + case CSSPropertyY:
|
| + case CSSPropertyR:
|
| + case CSSPropertyRx:
|
| + case CSSPropertyRy:
|
| validPrimitive = false;
|
| break;
|
|
|
| @@ -1105,7 +1123,10 @@ bool CSSPropertyParser::parseValue(CSSPropertyID unresolvedProperty, bool import
|
| break;
|
|
|
| default:
|
| - return parseSVGValue(propId, important);
|
| + // If you crash here, it's because you added a css property and are not handling it
|
| + // in either this switch statement or the one in CSSPropertyParser::parseSingleValue.
|
| + ASSERT_WITH_MESSAGE(0, "unimplemented propertyID: %d", propId);
|
| + return false;
|
| }
|
|
|
| if (validPrimitive) {
|
| @@ -5293,97 +5314,4 @@ bool CSSPropertyParser::isSystemColor(CSSValueID id)
|
| return (id >= CSSValueActiveborder && id <= CSSValueWindowtext) || id == CSSValueMenu;
|
| }
|
|
|
| -bool CSSPropertyParser::parseSVGValue(CSSPropertyID propId, bool important)
|
| -{
|
| - CSSParserValue* value = m_valueList->current();
|
| - ASSERT(value);
|
| -
|
| - CSSValueID id = value->id;
|
| -
|
| - bool validPrimitive = false;
|
| - RefPtrWillBeRawPtr<CSSValue> parsedValue = nullptr;
|
| -
|
| - switch (propId) {
|
| - /* The comment to the right defines all valid value of these
|
| - * properties as defined in SVG 1.1, Appendix N. Property index */
|
| - case CSSPropertyBaselineShift:
|
| - // baseline | super | sub | <percentage> | <length> | inherit
|
| - if (id == CSSValueBaseline || id == CSSValueSub || id == CSSValueSuper)
|
| - validPrimitive = true;
|
| - else
|
| - validPrimitive = validUnit(value, FLength | FPercent, SVGAttributeMode);
|
| - break;
|
| -
|
| - case CSSPropertyClipPath:
|
| - case CSSPropertyFilter:
|
| - case CSSPropertyMask:
|
| - if (id == CSSValueNone) {
|
| - validPrimitive = true;
|
| - } else if (value->m_unit == CSSParserValue::URI) {
|
| - parsedValue = CSSURIValue::create(value->string);
|
| - if (parsedValue)
|
| - m_valueList->next();
|
| - }
|
| - break;
|
| -
|
| - case CSSPropertyStrokeMiterlimit: // <miterlimit> | inherit
|
| - validPrimitive = validUnit(value, FNumber | FNonNeg, SVGAttributeMode);
|
| - break;
|
| -
|
| - case CSSPropertyStrokeOpacity: // <opacity-value> | inherit
|
| - case CSSPropertyFillOpacity:
|
| - case CSSPropertyStopOpacity:
|
| - case CSSPropertyFloodOpacity:
|
| - validPrimitive = validUnit(value, FNumber | FPercent, SVGAttributeMode);
|
| - break;
|
| -
|
| - /* Start of supported CSS properties with validation. This is needed for parseShortHand to work
|
| - * correctly and allows optimization in applyRule(..)
|
| - */
|
| -
|
| - case CSSPropertyStrokeWidth: // <length> | inherit
|
| - case CSSPropertyStrokeDashoffset:
|
| - case CSSPropertyCx:
|
| - case CSSPropertyCy:
|
| - case CSSPropertyX:
|
| - case CSSPropertyY:
|
| - case CSSPropertyR:
|
| - case CSSPropertyRx:
|
| - case CSSPropertyRy:
|
| - validPrimitive = validUnit(value, FLength | FPercent, SVGAttributeMode);
|
| - break;
|
| -
|
| - default:
|
| - // If you crash here, it's because you added a css property and are not handling it
|
| - // in either this switch statement or the one in CSSPropertyParser::parseValue
|
| - ASSERT_WITH_MESSAGE(0, "unimplemented propertyID: %d", propId);
|
| - return false;
|
| - }
|
| -
|
| - if (validPrimitive) {
|
| - if (id)
|
| - parsedValue = CSSPrimitiveValue::createIdentifier(id);
|
| - else if (value->m_unit == CSSParserValue::String)
|
| - parsedValue = CSSStringValue::create(value->string);
|
| - else if (value->unit() >= CSSPrimitiveValue::UnitType::Number && value->unit() <= CSSPrimitiveValue::UnitType::Kilohertz)
|
| - parsedValue = CSSPrimitiveValue::create(value->fValue, value->unit());
|
| - else if (value->unit() == CSSPrimitiveValue::UnitType::Rems || value->unit() == CSSPrimitiveValue::UnitType::Chs)
|
| - parsedValue = CSSPrimitiveValue::create(value->fValue, value->unit());
|
| - else if (value->unit() == CSSPrimitiveValue::UnitType::QuirkyEms)
|
| - parsedValue = CSSPrimitiveValue::create(value->fValue, CSSPrimitiveValue::UnitType::QuirkyEms);
|
| - if (isCalculation(value)) {
|
| - // FIXME calc() http://webkit.org/b/16662 : actually create a CSSPrimitiveValue here, ie
|
| - // parsedValue = CSSPrimitiveValue::create(m_parsedCalculation.release());
|
| - m_parsedCalculation.release();
|
| - parsedValue = nullptr;
|
| - }
|
| - m_valueList->next();
|
| - }
|
| - if (!parsedValue || (m_valueList->current() && !inShorthand()))
|
| - return false;
|
| -
|
| - addProperty(propId, parsedValue.release(), important);
|
| - return true;
|
| -}
|
| -
|
| } // namespace blink
|
|
|