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

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

Issue 2612103003: Implements CSSPropertyAPI for the paint-order property. (Closed)
Patch Set: rebase Created 3 years, 11 months 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 c35f0e700e6c30195f70bf04a9d2d4e452a4c46e..6072468834a9ce291f7ee120ea73ec8178419065 100644
--- a/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
+++ b/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
@@ -1756,56 +1756,6 @@ static CSSValue* consumePaintStroke(CSSParserTokenRange& range,
return consumeColor(range, cssParserMode);
}
-static CSSValue* consumePaintOrder(CSSParserTokenRange& range) {
- if (range.peek().id() == CSSValueNormal)
- return consumeIdent(range);
-
- Vector<CSSValueID, 3> paintTypeList;
- CSSIdentifierValue* fill = nullptr;
- CSSIdentifierValue* stroke = nullptr;
- CSSIdentifierValue* markers = nullptr;
- do {
- CSSValueID id = range.peek().id();
- if (id == CSSValueFill && !fill)
- fill = consumeIdent(range);
- else if (id == CSSValueStroke && !stroke)
- stroke = consumeIdent(range);
- else if (id == CSSValueMarkers && !markers)
- markers = consumeIdent(range);
- else
- return nullptr;
- paintTypeList.push_back(id);
- } while (!range.atEnd());
-
- // After parsing we serialize the paint-order list. Since it is not possible
- // to pop a last list items from CSSValueList without bigger cost, we create
- // the list after parsing.
- CSSValueID firstPaintOrderType = paintTypeList.at(0);
- CSSValueList* paintOrderList = CSSValueList::createSpaceSeparated();
- switch (firstPaintOrderType) {
- case CSSValueFill:
- case CSSValueStroke:
- paintOrderList->append(firstPaintOrderType == CSSValueFill ? *fill
- : *stroke);
- if (paintTypeList.size() > 1) {
- if (paintTypeList.at(1) == CSSValueMarkers)
- paintOrderList->append(*markers);
- }
- break;
- case CSSValueMarkers:
- paintOrderList->append(*markers);
- if (paintTypeList.size() > 1) {
- if (paintTypeList.at(1) == CSSValueStroke)
- paintOrderList->append(*stroke);
- }
- break;
- default:
- ASSERT_NOT_REACHED();
- }
-
- return paintOrderList;
-}
-
static CSSValue* consumeNoneOrURI(CSSParserTokenRange& range) {
if (range.peek().id() == CSSValueNone)
return consumeIdent(range);
@@ -3449,8 +3399,6 @@ const CSSValue* CSSPropertyParser::parseSingleValue(
case CSSPropertyFill:
case CSSPropertyStroke:
return consumePaintStroke(m_range, m_context.mode());
- case CSSPropertyPaintOrder:
- return consumePaintOrder(m_range);
case CSSPropertyMarkerStart:
case CSSPropertyMarkerMid:
case CSSPropertyMarkerEnd:

Powered by Google App Engine
This is Rietveld 408576698