Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(155)

Unified Diff: third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp

Issue 2533673002: Added CSSPropertyAPI and CSS padding properties which implement this API (Closed)
Patch Set: Added comments and made code neater Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 cb27b6b55f89c8eb1707cfce2d21562dcd142272..f10ef1ae0dec952a962508dfc72ab24518a7e67b 100644
--- a/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
+++ b/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
@@ -40,6 +40,8 @@
#include "core/css/parser/CSSParserIdioms.h"
#include "core/css/parser/CSSPropertyParserHelpers.h"
#include "core/css/parser/CSSVariableParser.h"
+#include "core/css/properties/CSSPaddingProperties.h"
+#include "core/css/properties/CSSPropertyDescriptor.h"
#include "core/frame/UseCounter.h"
#include "core/layout/LayoutTheme.h"
#include "core/svg/SVGPathUtilities.h"
@@ -3425,6 +3427,18 @@ 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.isValidProperty)
+ return cssPropertyDesc.parseSingleValue(m_range, m_context);
+
switch (property) {
case CSSPropertyWillChange:
return consumeWillChange(m_range);
@@ -3515,13 +3529,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:

Powered by Google App Engine
This is Rietveld 408576698