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

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: format Created 4 years 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 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:
« no previous file with comments | « third_party/WebKit/Source/core/css/BUILD.gn ('k') | third_party/WebKit/Source/core/css/properties/CSSPropertyAPI.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698