| Index: Source/core/css/parser/BisonCSSParser-in.cpp
|
| diff --git a/Source/core/css/parser/BisonCSSParser-in.cpp b/Source/core/css/parser/BisonCSSParser-in.cpp
|
| index bd5cdcd3459bdeca1707377a9f2ede3e5e2d6409..a882c58be43be812e7443fa1efc55a8043f403a0 100644
|
| --- a/Source/core/css/parser/BisonCSSParser-in.cpp
|
| +++ b/Source/core/css/parser/BisonCSSParser-in.cpp
|
| @@ -551,6 +551,7 @@ bool isValidKeywordPropertyAndValue(CSSPropertyID propertyId, int valueID, const
|
| if ((valueID >= CSSValueCheckbox && valueID <= CSSValueTextarea) || valueID == CSSValueNone)
|
| return true;
|
| break;
|
| + case CSSPropertyBackfaceVisibility:
|
| case CSSPropertyWebkitBackfaceVisibility:
|
| if (valueID == CSSValueVisible || valueID == CSSValueHidden)
|
| return true;
|
| @@ -687,6 +688,7 @@ bool isValidKeywordPropertyAndValue(CSSPropertyID propertyId, int valueID, const
|
| if (valueID == CSSValueDisc || valueID == CSSValueCircle || valueID == CSSValueSquare || valueID == CSSValueNone)
|
| return true;
|
| break;
|
| + case CSSPropertyTransformStyle:
|
| case CSSPropertyWebkitTransformStyle:
|
| if (valueID == CSSValueFlat || valueID == CSSValuePreserve3d)
|
| return true;
|
| @@ -783,6 +785,7 @@ bool isKeywordPropertyID(CSSPropertyID propertyId)
|
| case CSSPropertyTouchActionDelay:
|
| case CSSPropertyVisibility:
|
| case CSSPropertyWebkitAppearance:
|
| + case CSSPropertyBackfaceVisibility:
|
| case CSSPropertyWebkitBackfaceVisibility:
|
| case CSSPropertyWebkitBorderAfterStyle:
|
| case CSSPropertyWebkitBorderBeforeStyle:
|
| @@ -821,6 +824,7 @@ bool isKeywordPropertyID(CSSPropertyID propertyId)
|
| case CSSPropertyWebkitTextCombine:
|
| case CSSPropertyWebkitTextEmphasisPosition:
|
| case CSSPropertyWebkitTextSecurity:
|
| + case CSSPropertyTransformStyle:
|
| case CSSPropertyWebkitTransformStyle:
|
| case CSSPropertyWebkitUserDrag:
|
| case CSSPropertyWebkitUserModify:
|
| @@ -967,7 +971,7 @@ static PassRefPtrWillBeRawPtr<CSSValueList> parseTranslateTransformList(CharType
|
|
|
| static bool parseTranslateTransform(MutableStylePropertySet* properties, CSSPropertyID propertyID, const String& string, bool important)
|
| {
|
| - if (propertyID != CSSPropertyWebkitTransform)
|
| + if (propertyID != CSSPropertyTransform && propertyID != CSSPropertyWebkitTransform)
|
| return false;
|
| if (string.isEmpty())
|
| return false;
|
| @@ -985,7 +989,7 @@ static bool parseTranslateTransform(MutableStylePropertySet* properties, CSSProp
|
| if (!transformList)
|
| return false;
|
| }
|
| - properties->addParsedProperty(CSSProperty(CSSPropertyWebkitTransform, transformList.release(), important));
|
| + properties->addParsedProperty(CSSProperty(propertyID, transformList.release(), important));
|
| return true;
|
| }
|
|
|
| @@ -1401,14 +1405,14 @@ private:
|
| CSSPropertyParser::Units m_unit;
|
| };
|
|
|
| -PassRefPtrWillBeRawPtr<CSSValueList> CSSPropertyParser::parseTransform()
|
| +PassRefPtrWillBeRawPtr<CSSValueList> CSSPropertyParser::parseTransform(CSSPropertyID propId)
|
| {
|
| if (!m_valueList)
|
| return nullptr;
|
|
|
| RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
|
| for (CSSParserValue* value = m_valueList->current(); value; value = m_valueList->next()) {
|
| - RefPtrWillBeRawPtr<CSSValue> parsedTransformValue = parseTransformValue(value);
|
| + RefPtrWillBeRawPtr<CSSValue> parsedTransformValue = parseTransformValue(propId, value);
|
| if (!parsedTransformValue)
|
| return nullptr;
|
|
|
| @@ -1418,7 +1422,7 @@ PassRefPtrWillBeRawPtr<CSSValueList> CSSPropertyParser::parseTransform()
|
| return list.release();
|
| }
|
|
|
| -PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseTransformValue(CSSParserValue *value)
|
| +PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseTransformValue(CSSPropertyID propId, CSSParserValue *value)
|
| {
|
| if (value->unit != CSSParserValue::Function || !value->function)
|
| return nullptr;
|
| @@ -1462,7 +1466,8 @@ PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseTransformValue(CSSParse
|
| return nullptr;
|
| } else if (info.type() == CSSTransformValue::PerspectiveTransformOperation && !argNumber) {
|
| // 1st param of perspective() must be a non-negative number (deprecated) or length.
|
| - if (!validUnit(a, FNumber | FLength | FNonNeg, HTMLStandardMode))
|
| + if ((propId == CSSPropertyWebkitTransform && !validUnit(a, FNumber | FLength | FNonNeg, HTMLStandardMode))
|
| + || (propId == CSSPropertyTransform && !validUnit(a, FLength | FNonNeg, HTMLStandardMode)))
|
| return nullptr;
|
| } else if (!validUnit(a, unit, HTMLStandardMode)) {
|
| return nullptr;
|
|
|