| Index: third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
|
| diff --git a/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp b/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
|
| index 69169c1a17ecd52d7c1e44cbf9017237c3037490..d2de9d0e119519ee49a515540caf8a244371b9ee 100644
|
| --- a/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
|
| +++ b/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
|
| @@ -40,6 +40,7 @@
|
| #include "core/css/parser/CSSParserIdioms.h"
|
| #include "core/css/parser/CSSPropertyParserHelpers.h"
|
| #include "core/css/parser/CSSVariableParser.h"
|
| +#include "core/css/properties/CSSPropertyDescriptor.h"
|
| #include "core/frame/UseCounter.h"
|
| #include "core/layout/LayoutTheme.h"
|
| #include "core/svg/SVGPathUtilities.h"
|
| @@ -3425,6 +3426,17 @@ const CSSValue* CSSPropertyParser::parseSingleValue(
|
| m_range.peek().id());
|
| return consumeIdent(m_range);
|
| }
|
| +
|
| + // Gets the parsing function for our current property from the property API.
|
| + // If it has been implemented, we call this function, otherwise we manually
|
| + // parse this value in the switch statement below. As we implement APIs for
|
| + // other properties, those properties will be taken out of the switch
|
| + // statement.
|
| + const CSSPropertyDescriptor& cssPropertyDesc =
|
| + CSSPropertyDescriptor::get(property);
|
| + if (cssPropertyDesc.temporaryCanReadValue)
|
| + return cssPropertyDesc.parseSingleValue(m_range, m_context);
|
| +
|
| switch (property) {
|
| case CSSPropertyWillChange:
|
| return consumeWillChange(m_range);
|
| @@ -3515,13 +3527,6 @@ const CSSValue* CSSPropertyParser::parseSingleValue(
|
| return consumeLengthOrPercent(m_range, m_context.mode(),
|
| ValueRangeNonNegative,
|
| UnitlessQuirk::Allow);
|
| - case CSSPropertyWebkitPaddingStart:
|
| - case CSSPropertyWebkitPaddingEnd:
|
| - case CSSPropertyWebkitPaddingBefore:
|
| - case CSSPropertyWebkitPaddingAfter:
|
| - return consumeLengthOrPercent(m_range, m_context.mode(),
|
| - ValueRangeNonNegative,
|
| - UnitlessQuirk::Forbid);
|
| case CSSPropertyClip:
|
| return consumeClip(m_range, m_context.mode());
|
| case CSSPropertyTouchAction:
|
|
|