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

Unified Diff: Source/core/css/resolver/StyleBuilderConverter.cpp

Issue 1252933003: Shrink SVG paint-order to take less bits (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 5 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: Source/core/css/resolver/StyleBuilderConverter.cpp
diff --git a/Source/core/css/resolver/StyleBuilderConverter.cpp b/Source/core/css/resolver/StyleBuilderConverter.cpp
index c0e62fead1f50e243621548f65805909eb0bd0f6..3221d316e2f8e20b7635929e2120dc215da14886 100644
--- a/Source/core/css/resolver/StyleBuilderConverter.cpp
+++ b/Source/core/css/resolver/StyleBuilderConverter.cpp
@@ -714,31 +714,21 @@ LengthPoint StyleBuilderConverter::convertPerspectiveOrigin(StyleResolverState&
EPaintOrder StyleBuilderConverter::convertPaintOrder(StyleResolverState&, CSSValue* cssPaintOrder)
{
if (cssPaintOrder->isValueList()) {
- int paintOrder = 0;
- const CSSValueList& list = *toCSSValueList(cssPaintOrder);
- for (size_t i = 0; i < list.length(); ++i) {
- EPaintOrderType paintOrderType = PT_NONE;
- switch (toCSSPrimitiveValue(list.item(i))->getValueID()) {
- case CSSValueFill:
- paintOrderType = PT_FILL;
- break;
- case CSSValueStroke:
- paintOrderType = PT_STROKE;
- break;
- case CSSValueMarkers:
- paintOrderType = PT_MARKERS;
- break;
- default:
- ASSERT_NOT_REACHED();
- break;
- }
-
- paintOrder |= (paintOrderType << kPaintOrderBitwidth*i);
+ const CSSValueList& orderTypeList = *toCSSValueList(cssPaintOrder);
+ switch (toCSSPrimitiveValue(orderTypeList.item(0))->getValueID()) {
+ case CSSValueFill:
+ return orderTypeList.length() > 1 ? PaintOrderFillMarkers : PaintOrderFill;
+ case CSSValueStroke:
+ return orderTypeList.length() > 1 ? PaintOrderStrokeMarkers : PaintOrderStroke;
+ case CSSValueMarkers:
+ return orderTypeList.length() > 1 ? PaintOrderMarkersStroke : PaintOrderMarkers;
+ default:
+ ASSERT_NOT_REACHED();
+ return PaintOrderNormal;
}
- return (EPaintOrder)paintOrder;
}
- return PO_NORMAL;
+ return PaintOrderNormal;
}
Length StyleBuilderConverter::convertQuirkyLength(StyleResolverState& state, CSSValue* value)

Powered by Google App Engine
This is Rietveld 408576698