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

Side by Side Diff: Source/core/css/ComputedStyleCSSValueMapping.cpp

Issue 1306823004: Split out String, URI and CustomIdent from CSSPrimitiveValue (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@split_out_attr_values
Patch Set: Rebase Created 5 years, 3 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2004 Zack Rusin <zack@kde.org> 2 * Copyright (C) 2004 Zack Rusin <zack@kde.org>
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved. 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved.
4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> 4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> 5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com>
6 * Copyright (C) 2011 Sencha, Inc. All rights reserved. 6 * Copyright (C) 2011 Sencha, Inc. All rights reserved.
7 * Copyright (C) 2015 Google Inc. All rights reserved. 7 * Copyright (C) 2015 Google Inc. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public 10 * modify it under the terms of the GNU Lesser General Public
(...skipping 21 matching lines...) Expand all
32 #include "core/css/CSSCounterValue.h" 32 #include "core/css/CSSCounterValue.h"
33 #include "core/css/CSSFontFeatureValue.h" 33 #include "core/css/CSSFontFeatureValue.h"
34 #include "core/css/CSSFunctionValue.h" 34 #include "core/css/CSSFunctionValue.h"
35 #include "core/css/CSSGridLineNamesValue.h" 35 #include "core/css/CSSGridLineNamesValue.h"
36 #include "core/css/CSSGridTemplateAreasValue.h" 36 #include "core/css/CSSGridTemplateAreasValue.h"
37 #include "core/css/CSSPathValue.h" 37 #include "core/css/CSSPathValue.h"
38 #include "core/css/CSSPrimitiveValueMappings.h" 38 #include "core/css/CSSPrimitiveValueMappings.h"
39 #include "core/css/CSSQuadValue.h" 39 #include "core/css/CSSQuadValue.h"
40 #include "core/css/CSSReflectValue.h" 40 #include "core/css/CSSReflectValue.h"
41 #include "core/css/CSSShadowValue.h" 41 #include "core/css/CSSShadowValue.h"
42 #include "core/css/CSSStringValue.h"
42 #include "core/css/CSSTimingFunctionValue.h" 43 #include "core/css/CSSTimingFunctionValue.h"
43 #include "core/css/CSSValueList.h" 44 #include "core/css/CSSValueList.h"
44 #include "core/css/CSSValuePair.h" 45 #include "core/css/CSSValuePair.h"
45 #include "core/css/CSSValuePool.h" 46 #include "core/css/CSSValuePool.h"
46 #include "core/layout/LayoutBlock.h" 47 #include "core/layout/LayoutBlock.h"
47 #include "core/layout/LayoutBox.h" 48 #include "core/layout/LayoutBox.h"
48 #include "core/layout/LayoutGrid.h" 49 #include "core/layout/LayoutGrid.h"
49 #include "core/layout/LayoutObject.h" 50 #include "core/layout/LayoutObject.h"
50 #include "core/style/ComputedStyle.h" 51 #include "core/style/ComputedStyle.h"
51 #include "core/style/ContentData.h" 52 #include "core/style/ContentData.h"
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 return CSSValueMonospace; 484 return CSSValueMonospace;
484 if (family == FontFamilyNames::webkit_pictograph) 485 if (family == FontFamilyNames::webkit_pictograph)
485 return CSSValueWebkitPictograph; 486 return CSSValueWebkitPictograph;
486 if (family == FontFamilyNames::webkit_sans_serif) 487 if (family == FontFamilyNames::webkit_sans_serif)
487 return CSSValueSansSerif; 488 return CSSValueSansSerif;
488 if (family == FontFamilyNames::webkit_serif) 489 if (family == FontFamilyNames::webkit_serif)
489 return CSSValueSerif; 490 return CSSValueSerif;
490 return CSSValueInvalid; 491 return CSSValueInvalid;
491 } 492 }
492 493
493 static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> valueForFamily(const AtomicStri ng& family) 494 static PassRefPtrWillBeRawPtr<CSSValue> valueForFamily(const AtomicString& famil y)
494 { 495 {
495 if (CSSValueID familyIdentifier = identifierForFamily(family)) 496 if (CSSValueID familyIdentifier = identifierForFamily(family))
496 return cssValuePool().createIdentifierValue(familyIdentifier); 497 return cssValuePool().createIdentifierValue(familyIdentifier);
497 return cssValuePool().createValue(family.string(), CSSPrimitiveValue::UnitTy pe::CustomIdentifier); 498 return CSSStringValue::create(family.string(), CSSStringValue::SerializeAsCu stomIdentifier);
498 } 499 }
499 500
500 static PassRefPtrWillBeRawPtr<CSSValueList> valueForFontFamily(const ComputedSty le& style) 501 static PassRefPtrWillBeRawPtr<CSSValueList> valueForFontFamily(const ComputedSty le& style)
501 { 502 {
502 const FontFamily& firstFamily = style.fontDescription().family(); 503 const FontFamily& firstFamily = style.fontDescription().family();
503 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparated() ; 504 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparated() ;
504 for (const FontFamily* family = &firstFamily; family; family = family->next( )) 505 for (const FontFamily* family = &firstFamily; family; family = family->next( ))
505 list->append(valueForFamily(family->family())); 506 list->append(valueForFamily(family->family()));
506 return list.release(); 507 return list.release();
507 } 508 }
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
558 } 559 }
559 560
560 static void addValuesForNamedGridLinesAtIndex(const OrderedNamedGridLines& order edNamedGridLines, size_t i, CSSValueList& list) 561 static void addValuesForNamedGridLinesAtIndex(const OrderedNamedGridLines& order edNamedGridLines, size_t i, CSSValueList& list)
561 { 562 {
562 const Vector<String>& namedGridLines = orderedNamedGridLines.get(i); 563 const Vector<String>& namedGridLines = orderedNamedGridLines.get(i);
563 if (namedGridLines.isEmpty()) 564 if (namedGridLines.isEmpty())
564 return; 565 return;
565 566
566 RefPtrWillBeRawPtr<CSSGridLineNamesValue> lineNames = CSSGridLineNamesValue: :create(); 567 RefPtrWillBeRawPtr<CSSGridLineNamesValue> lineNames = CSSGridLineNamesValue: :create();
567 for (size_t j = 0; j < namedGridLines.size(); ++j) 568 for (size_t j = 0; j < namedGridLines.size(); ++j)
568 lineNames->append(cssValuePool().createValue(namedGridLines[j], CSSPrimi tiveValue::UnitType::CustomIdentifier)); 569 lineNames->append(CSSStringValue::create(namedGridLines[j], CSSStringVal ue::SerializeAsCustomIdentifier));
569 list.append(lineNames.release()); 570 list.append(lineNames.release());
570 } 571 }
571 572
572 static PassRefPtrWillBeRawPtr<CSSValue> valueForGridTrackList(GridTrackSizingDir ection direction, const LayoutObject* layoutObject, const ComputedStyle& style) 573 static PassRefPtrWillBeRawPtr<CSSValue> valueForGridTrackList(GridTrackSizingDir ection direction, const LayoutObject* layoutObject, const ComputedStyle& style)
573 { 574 {
574 const Vector<GridTrackSize>& trackSizes = direction == ForColumns ? style.gr idTemplateColumns() : style.gridTemplateRows(); 575 const Vector<GridTrackSize>& trackSizes = direction == ForColumns ? style.gr idTemplateColumns() : style.gridTemplateRows();
575 const OrderedNamedGridLines& orderedNamedGridLines = direction == ForColumns ? style.orderedNamedGridColumnLines() : style.orderedNamedGridRowLines(); 576 const OrderedNamedGridLines& orderedNamedGridLines = direction == ForColumns ? style.orderedNamedGridColumnLines() : style.orderedNamedGridRowLines();
576 bool isLayoutGrid = layoutObject && layoutObject->isLayoutGrid(); 577 bool isLayoutGrid = layoutObject && layoutObject->isLayoutGrid();
577 578
578 // Handle the 'none' case. 579 // Handle the 'none' case.
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 addValuesForNamedGridLinesAtIndex(orderedNamedGridLines, insertionIndex, *li st); 614 addValuesForNamedGridLinesAtIndex(orderedNamedGridLines, insertionIndex, *li st);
614 return list.release(); 615 return list.release();
615 } 616 }
616 617
617 static PassRefPtrWillBeRawPtr<CSSValue> valueForGridPosition(const GridPosition& position) 618 static PassRefPtrWillBeRawPtr<CSSValue> valueForGridPosition(const GridPosition& position)
618 { 619 {
619 if (position.isAuto()) 620 if (position.isAuto())
620 return cssValuePool().createIdentifierValue(CSSValueAuto); 621 return cssValuePool().createIdentifierValue(CSSValueAuto);
621 622
622 if (position.isNamedGridArea()) 623 if (position.isNamedGridArea())
623 return cssValuePool().createValue(position.namedGridLine(), CSSPrimitive Value::UnitType::CustomIdentifier); 624 return CSSStringValue::create(position.namedGridLine(), CSSStringValue:: SerializeAsCustomIdentifier);
624 625
625 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ; 626 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ;
626 if (position.isSpan()) { 627 if (position.isSpan()) {
627 list->append(cssValuePool().createIdentifierValue(CSSValueSpan)); 628 list->append(cssValuePool().createIdentifierValue(CSSValueSpan));
628 list->append(cssValuePool().createValue(position.spanPosition(), CSSPrim itiveValue::UnitType::Number)); 629 list->append(cssValuePool().createValue(position.spanPosition(), CSSPrim itiveValue::UnitType::Number));
629 } else { 630 } else {
630 list->append(cssValuePool().createValue(position.integerPosition(), CSSP rimitiveValue::UnitType::Number)); 631 list->append(cssValuePool().createValue(position.integerPosition(), CSSP rimitiveValue::UnitType::Number));
631 } 632 }
632 633
633 if (!position.namedGridLine().isNull()) 634 if (!position.namedGridLine().isNull())
634 list->append(cssValuePool().createValue(position.namedGridLine(), CSSPri mitiveValue::UnitType::CustomIdentifier)); 635 list->append(CSSStringValue::create(position.namedGridLine(), CSSStringV alue::SerializeAsCustomIdentifier));
635 return list; 636 return list;
636 } 637 }
637 638
638 static LayoutRect sizingBox(const LayoutObject* layoutObject) 639 static LayoutRect sizingBox(const LayoutObject* layoutObject)
639 { 640 {
640 if (!layoutObject->isBox()) 641 if (!layoutObject->isBox())
641 return LayoutRect(); 642 return LayoutRect();
642 643
643 const LayoutBox* box = toLayoutBox(layoutObject); 644 const LayoutBox* box = toLayoutBox(layoutObject);
644 return box->style()->boxSizing() == BORDER_BOX ? box->borderBoxRect() : box- >computedCSSContentBoxRect(); 645 return box->style()->boxSizing() == BORDER_BOX ? box->borderBoxRect() : box- >computedCSSContentBoxRect();
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
934 list->append(valueForMatrixTransform(transform, style)); 935 list->append(valueForMatrixTransform(transform, style));
935 936
936 return list.release(); 937 return list.release();
937 } 938 }
938 939
939 static PassRefPtrWillBeRawPtr<CSSValue> createTransitionPropertyValue(const CSST ransitionData::TransitionProperty& property) 940 static PassRefPtrWillBeRawPtr<CSSValue> createTransitionPropertyValue(const CSST ransitionData::TransitionProperty& property)
940 { 941 {
941 if (property.propertyType == CSSTransitionData::TransitionNone) 942 if (property.propertyType == CSSTransitionData::TransitionNone)
942 return cssValuePool().createIdentifierValue(CSSValueNone); 943 return cssValuePool().createIdentifierValue(CSSValueNone);
943 if (property.propertyType == CSSTransitionData::TransitionUnknownProperty) 944 if (property.propertyType == CSSTransitionData::TransitionUnknownProperty)
944 return cssValuePool().createValue(property.propertyString, CSSPrimitiveV alue::UnitType::CustomIdentifier); 945 return CSSStringValue::create(property.propertyString, CSSStringValue::S erializeAsCustomIdentifier);
945 ASSERT(property.propertyType == CSSTransitionData::TransitionKnownProperty); 946 ASSERT(property.propertyType == CSSTransitionData::TransitionKnownProperty);
946 return cssValuePool().createValue(getPropertyNameString(property.unresolvedP roperty), CSSPrimitiveValue::UnitType::CustomIdentifier); 947 return CSSStringValue::create(getPropertyNameString(property.unresolvedPrope rty), CSSStringValue::SerializeAsCustomIdentifier);
947 } 948 }
948 949
949 static PassRefPtrWillBeRawPtr<CSSValue> valueForTransitionProperty(const CSSTran sitionData* transitionData) 950 static PassRefPtrWillBeRawPtr<CSSValue> valueForTransitionProperty(const CSSTran sitionData* transitionData)
950 { 951 {
951 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparated() ; 952 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparated() ;
952 if (transitionData) { 953 if (transitionData) {
953 for (size_t i = 0; i < transitionData->propertyList().size(); ++i) 954 for (size_t i = 0; i < transitionData->propertyList().size(); ++i)
954 list->append(createTransitionPropertyValue(transitionData->propertyL ist()[i])); 955 list->append(createTransitionPropertyValue(transitionData->propertyL ist()[i]));
955 } else { 956 } else {
956 list->append(cssValuePool().createIdentifierValue(CSSValueAll)); 957 list->append(cssValuePool().createIdentifierValue(CSSValueAll));
(...skipping 24 matching lines...) Expand all
981 return CSSValueInvalid; 982 return CSSValueInvalid;
982 } 983 }
983 984
984 static PassRefPtrWillBeRawPtr<CSSValue> valueForContentData(const ComputedStyle& style) 985 static PassRefPtrWillBeRawPtr<CSSValue> valueForContentData(const ComputedStyle& style)
985 { 986 {
986 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ; 987 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ;
987 for (const ContentData* contentData = style.contentData(); contentData; cont entData = contentData->next()) { 988 for (const ContentData* contentData = style.contentData(); contentData; cont entData = contentData->next()) {
988 if (contentData->isCounter()) { 989 if (contentData->isCounter()) {
989 const CounterContent* counter = toCounterContentData(contentData)->c ounter(); 990 const CounterContent* counter = toCounterContentData(contentData)->c ounter();
990 ASSERT(counter); 991 ASSERT(counter);
991 RefPtrWillBeRawPtr<CSSPrimitiveValue> identifier = cssValuePool().cr eateValue(counter->identifier(), CSSPrimitiveValue::UnitType::CustomIdentifier); 992 RefPtrWillBeRawPtr<CSSStringValue> identifier = CSSStringValue::crea te(counter->identifier(), CSSStringValue::SerializeAsCustomIdentifier);
992 RefPtrWillBeRawPtr<CSSPrimitiveValue> separator = cssValuePool().cre ateValue(counter->separator(), CSSPrimitiveValue::UnitType::CustomIdentifier); 993 RefPtrWillBeRawPtr<CSSStringValue> separator = CSSStringValue::creat e(counter->separator(), CSSStringValue::SerializeAsCustomIdentifier);
993 CSSValueID listStyleIdent = CSSValueNone; 994 CSSValueID listStyleIdent = CSSValueNone;
994 if (counter->listStyle() != NoneListStyle) 995 if (counter->listStyle() != NoneListStyle)
995 listStyleIdent = static_cast<CSSValueID>(CSSValueDisc + counter- >listStyle()); 996 listStyleIdent = static_cast<CSSValueID>(CSSValueDisc + counter- >listStyle());
996 RefPtrWillBeRawPtr<CSSPrimitiveValue> listStyle = cssValuePool().cre ateIdentifierValue(listStyleIdent); 997 RefPtrWillBeRawPtr<CSSPrimitiveValue> listStyle = cssValuePool().cre ateIdentifierValue(listStyleIdent);
997 list->append(CSSCounterValue::create(identifier.release(), listStyle .release(), separator.release())); 998 list->append(CSSCounterValue::create(identifier.release(), listStyle .release(), separator.release()));
998 } else if (contentData->isImage()) { 999 } else if (contentData->isImage()) {
999 const StyleImage* image = toImageContentData(contentData)->image(); 1000 const StyleImage* image = toImageContentData(contentData)->image();
1000 ASSERT(image); 1001 ASSERT(image);
1001 list->append(image->cssValue()); 1002 list->append(image->cssValue());
1002 } else if (contentData->isText()) { 1003 } else if (contentData->isText()) {
1003 list->append(cssValuePool().createValue(toTextContentData(contentDat a)->text(), CSSPrimitiveValue::UnitType::String)); 1004 list->append(CSSStringValue::create(toTextContentData(contentData)-> text(), CSSStringValue::SerializeAsString));
1004 } else if (contentData->isQuote()) { 1005 } else if (contentData->isQuote()) {
1005 const QuoteType quoteType = toQuoteContentData(contentData)->quote() ; 1006 const QuoteType quoteType = toQuoteContentData(contentData)->quote() ;
1006 list->append(cssValuePool().createIdentifierValue(valueForQuoteType( quoteType))); 1007 list->append(cssValuePool().createIdentifierValue(valueForQuoteType( quoteType)));
1007 } else { 1008 } else {
1008 ASSERT_NOT_REACHED(); 1009 ASSERT_NOT_REACHED();
1009 } 1010 }
1010 } 1011 }
1011 return list.release(); 1012 return list.release();
1012 } 1013 }
1013 1014
1014 static PassRefPtrWillBeRawPtr<CSSValue> valueForCounterDirectives(const Computed Style& style, CSSPropertyID propertyID) 1015 static PassRefPtrWillBeRawPtr<CSSValue> valueForCounterDirectives(const Computed Style& style, CSSPropertyID propertyID)
1015 { 1016 {
1016 const CounterDirectiveMap* map = style.counterDirectives(); 1017 const CounterDirectiveMap* map = style.counterDirectives();
1017 if (!map) 1018 if (!map)
1018 return cssValuePool().createIdentifierValue(CSSValueNone); 1019 return cssValuePool().createIdentifierValue(CSSValueNone);
1019 1020
1020 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ; 1021 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ;
1021 for (const auto& item : *map) { 1022 for (const auto& item : *map) {
1022 bool isValidCounterValue = propertyID == CSSPropertyCounterIncrement ? i tem.value.isIncrement() : item.value.isReset(); 1023 bool isValidCounterValue = propertyID == CSSPropertyCounterIncrement ? i tem.value.isIncrement() : item.value.isReset();
1023 if (!isValidCounterValue) 1024 if (!isValidCounterValue)
1024 continue; 1025 continue;
1025 1026
1026 list->append(cssValuePool().createValue(item.key, CSSPrimitiveValue::Uni tType::CustomIdentifier)); 1027 list->append(CSSStringValue::create(item.key, CSSStringValue::SerializeA sCustomIdentifier));
1027 short number = propertyID == CSSPropertyCounterIncrement ? item.value.in crementValue() : item.value.resetValue(); 1028 short number = propertyID == CSSPropertyCounterIncrement ? item.value.in crementValue() : item.value.resetValue();
1028 list->append(cssValuePool().createValue((double)number, CSSPrimitiveValu e::UnitType::Number)); 1029 list->append(cssValuePool().createValue((double)number, CSSPrimitiveValu e::UnitType::Number));
1029 } 1030 }
1030 1031
1031 if (!list->length()) 1032 if (!list->length())
1032 return cssValuePool().createIdentifierValue(CSSValueNone); 1033 return cssValuePool().createIdentifierValue(CSSValueNone);
1033 1034
1034 return list.release(); 1035 return list.release();
1035 } 1036 }
1036 1037
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
1172 } 1173 }
1173 } 1174 }
1174 1175
1175 return list.release(); 1176 return list.release();
1176 } 1177 }
1177 1178
1178 static PassRefPtrWillBeRawPtr<CSSValue> adjustSVGPaintForCurrentColor(SVGPaintTy pe paintType, const String& url, const Color& color, const Color& currentColor) 1179 static PassRefPtrWillBeRawPtr<CSSValue> adjustSVGPaintForCurrentColor(SVGPaintTy pe paintType, const String& url, const Color& color, const Color& currentColor)
1179 { 1180 {
1180 if (paintType >= SVG_PAINTTYPE_URI_NONE) { 1181 if (paintType >= SVG_PAINTTYPE_URI_NONE) {
1181 RefPtrWillBeRawPtr<CSSValueList> values = CSSValueList::createSpaceSepar ated(); 1182 RefPtrWillBeRawPtr<CSSValueList> values = CSSValueList::createSpaceSepar ated();
1182 values->append(CSSPrimitiveValue::create(url, CSSPrimitiveValue::UnitTyp e::URI)); 1183 values->append(CSSStringValue::create(url, CSSStringValue::SerializeAsUR I));
1183 if (paintType == SVG_PAINTTYPE_URI_NONE) 1184 if (paintType == SVG_PAINTTYPE_URI_NONE)
1184 values->append(CSSPrimitiveValue::create(CSSValueNone)); 1185 values->append(CSSPrimitiveValue::create(CSSValueNone));
1185 else if (paintType == SVG_PAINTTYPE_URI_CURRENTCOLOR) 1186 else if (paintType == SVG_PAINTTYPE_URI_CURRENTCOLOR)
1186 values->append(CSSPrimitiveValue::createColor(currentColor.rgb())); 1187 values->append(CSSPrimitiveValue::createColor(currentColor.rgb()));
1187 else if (paintType == SVG_PAINTTYPE_URI_RGBCOLOR) 1188 else if (paintType == SVG_PAINTTYPE_URI_RGBCOLOR)
1188 values->append(CSSPrimitiveValue::createColor(color.rgb())); 1189 values->append(CSSPrimitiveValue::createColor(color.rgb()));
1189 return values.release(); 1190 return values.release();
1190 } 1191 }
1191 if (paintType == SVG_PAINTTYPE_NONE) 1192 if (paintType == SVG_PAINTTYPE_NONE)
1192 return CSSPrimitiveValue::create(CSSValueNone); 1193 return CSSPrimitiveValue::create(CSSValueNone);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1231 1232
1232 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ; 1233 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ;
1233 1234
1234 RefPtrWillBeRawPtr<CSSFunctionValue> filterValue = nullptr; 1235 RefPtrWillBeRawPtr<CSSFunctionValue> filterValue = nullptr;
1235 1236
1236 for (const auto& operation : style.filter().operations()) { 1237 for (const auto& operation : style.filter().operations()) {
1237 FilterOperation* filterOperation = operation.get(); 1238 FilterOperation* filterOperation = operation.get();
1238 switch (filterOperation->type()) { 1239 switch (filterOperation->type()) {
1239 case FilterOperation::REFERENCE: 1240 case FilterOperation::REFERENCE:
1240 filterValue = CSSFunctionValue::create(CSSValueUrl); 1241 filterValue = CSSFunctionValue::create(CSSValueUrl);
1241 filterValue->append(cssValuePool().createValue(toReferenceFilterOper ation(filterOperation)->url(), CSSPrimitiveValue::UnitType::CustomIdentifier)); 1242 filterValue->append(CSSStringValue::create(toReferenceFilterOperatio n(filterOperation)->url(), CSSStringValue::SerializeAsCustomIdentifier));
1242 break; 1243 break;
1243 case FilterOperation::GRAYSCALE: 1244 case FilterOperation::GRAYSCALE:
1244 filterValue = CSSFunctionValue::create(CSSValueGrayscale); 1245 filterValue = CSSFunctionValue::create(CSSValueGrayscale);
1245 filterValue->append(cssValuePool().createValue(toBasicColorMatrixFil terOperation(filterOperation)->amount(), CSSPrimitiveValue::UnitType::Number)); 1246 filterValue->append(cssValuePool().createValue(toBasicColorMatrixFil terOperation(filterOperation)->amount(), CSSPrimitiveValue::UnitType::Number));
1246 break; 1247 break;
1247 case FilterOperation::SEPIA: 1248 case FilterOperation::SEPIA:
1248 filterValue = CSSFunctionValue::create(CSSValueSepia); 1249 filterValue = CSSFunctionValue::create(CSSValueSepia);
1249 filterValue->append(cssValuePool().createValue(toBasicColorMatrixFil terOperation(filterOperation)->amount(), CSSPrimitiveValue::UnitType::Number)); 1250 filterValue->append(cssValuePool().createValue(toBasicColorMatrixFil terOperation(filterOperation)->amount(), CSSPrimitiveValue::UnitType::Number));
1250 break; 1251 break;
1251 case FilterOperation::SATURATE: 1252 case FilterOperation::SATURATE:
(...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after
1707 // According to http://www.w3.org/TR/CSS2/visudet.html#the-height-pr operty, 1708 // According to http://www.w3.org/TR/CSS2/visudet.html#the-height-pr operty,
1708 // the "height" property does not apply for non-replaced inline elem ents. 1709 // the "height" property does not apply for non-replaced inline elem ents.
1709 if (!layoutObject->isReplaced() && layoutObject->isInline()) 1710 if (!layoutObject->isReplaced() && layoutObject->isInline())
1710 return cssValuePool().createIdentifierValue(CSSValueAuto); 1711 return cssValuePool().createIdentifierValue(CSSValueAuto);
1711 return zoomAdjustedPixelValue(sizingBox(layoutObject).height(), styl e); 1712 return zoomAdjustedPixelValue(sizingBox(layoutObject).height(), styl e);
1712 } 1713 }
1713 return zoomAdjustedPixelValueForLength(style.height(), style); 1714 return zoomAdjustedPixelValueForLength(style.height(), style);
1714 case CSSPropertyWebkitHighlight: 1715 case CSSPropertyWebkitHighlight:
1715 if (style.highlight() == nullAtom) 1716 if (style.highlight() == nullAtom)
1716 return cssValuePool().createIdentifierValue(CSSValueNone); 1717 return cssValuePool().createIdentifierValue(CSSValueNone);
1717 return cssValuePool().createValue(style.highlight(), CSSPrimitiveValue:: UnitType::String); 1718 return CSSStringValue::create(style.highlight(), CSSStringValue::Seriali zeAsString);
1718 case CSSPropertyWebkitHyphenateCharacter: 1719 case CSSPropertyWebkitHyphenateCharacter:
1719 if (style.hyphenationString().isNull()) 1720 if (style.hyphenationString().isNull())
1720 return cssValuePool().createIdentifierValue(CSSValueAuto); 1721 return cssValuePool().createIdentifierValue(CSSValueAuto);
1721 return cssValuePool().createValue(style.hyphenationString(), CSSPrimitiv eValue::UnitType::String); 1722 return CSSStringValue::create(style.hyphenationString(), CSSStringValue: :SerializeAsString);
1722 case CSSPropertyImageRendering: 1723 case CSSPropertyImageRendering:
1723 return CSSPrimitiveValue::create(style.imageRendering()); 1724 return CSSPrimitiveValue::create(style.imageRendering());
1724 case CSSPropertyImageOrientation: 1725 case CSSPropertyImageOrientation:
1725 if (style.respectImageOrientation() == RespectImageOrientation) 1726 if (style.respectImageOrientation() == RespectImageOrientation)
1726 return cssValuePool().createValue(CSSValueFromImage); 1727 return cssValuePool().createValue(CSSValueFromImage);
1727 return cssValuePool().createValue(0, CSSPrimitiveValue::UnitType::Degree s); 1728 return cssValuePool().createValue(0, CSSPrimitiveValue::UnitType::Degree s);
1728 case CSSPropertyIsolation: 1729 case CSSPropertyIsolation:
1729 return cssValuePool().createValue(style.isolation()); 1730 return cssValuePool().createValue(style.isolation());
1730 case CSSPropertyJustifyItems: 1731 case CSSPropertyJustifyItems:
1731 return valueForItemPositionWithOverflowAlignment(resolveAlignmentAuto(st yle.justifyItemsPosition(), styledNode), style.justifyItemsOverflowAlignment(), style.justifyItemsPositionType()); 1732 return valueForItemPositionWithOverflowAlignment(resolveAlignmentAuto(st yle.justifyItemsPosition(), styledNode), style.justifyItemsOverflowAlignment(), style.justifyItemsPositionType());
(...skipping 15 matching lines...) Expand all
1747 if (style.listStyleImage()) 1748 if (style.listStyleImage())
1748 return style.listStyleImage()->cssValue(); 1749 return style.listStyleImage()->cssValue();
1749 return cssValuePool().createIdentifierValue(CSSValueNone); 1750 return cssValuePool().createIdentifierValue(CSSValueNone);
1750 case CSSPropertyListStylePosition: 1751 case CSSPropertyListStylePosition:
1751 return cssValuePool().createValue(style.listStylePosition()); 1752 return cssValuePool().createValue(style.listStylePosition());
1752 case CSSPropertyListStyleType: 1753 case CSSPropertyListStyleType:
1753 return cssValuePool().createValue(style.listStyleType()); 1754 return cssValuePool().createValue(style.listStyleType());
1754 case CSSPropertyWebkitLocale: 1755 case CSSPropertyWebkitLocale:
1755 if (style.locale().isNull()) 1756 if (style.locale().isNull())
1756 return cssValuePool().createIdentifierValue(CSSValueAuto); 1757 return cssValuePool().createIdentifierValue(CSSValueAuto);
1757 return cssValuePool().createValue(style.locale(), CSSPrimitiveValue::Uni tType::String); 1758 return CSSStringValue::create(style.locale(), CSSStringValue::SerializeA sString);
1758 case CSSPropertyMarginTop: { 1759 case CSSPropertyMarginTop: {
1759 Length marginTop = style.marginTop(); 1760 Length marginTop = style.marginTop();
1760 if (marginTop.isFixed() || !layoutObject || !layoutObject->isBox()) 1761 if (marginTop.isFixed() || !layoutObject || !layoutObject->isBox())
1761 return zoomAdjustedPixelValueForLength(marginTop, style); 1762 return zoomAdjustedPixelValueForLength(marginTop, style);
1762 return zoomAdjustedPixelValue(toLayoutBox(layoutObject)->marginTop(), st yle); 1763 return zoomAdjustedPixelValue(toLayoutBox(layoutObject)->marginTop(), st yle);
1763 } 1764 }
1764 case CSSPropertyMarginRight: { 1765 case CSSPropertyMarginRight: {
1765 Length marginRight = style.marginRight(); 1766 Length marginRight = style.marginRight();
1766 if (marginRight.isFixed() || !layoutObject || !layoutObject->isBox()) 1767 if (marginRight.isFixed() || !layoutObject || !layoutObject->isBox())
1767 return zoomAdjustedPixelValueForLength(marginRight, style); 1768 return zoomAdjustedPixelValueForLength(marginRight, style);
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
1885 case CSSPropertyPosition: 1886 case CSSPropertyPosition:
1886 return cssValuePool().createValue(style.position()); 1887 return cssValuePool().createValue(style.position());
1887 case CSSPropertyQuotes: 1888 case CSSPropertyQuotes:
1888 if (!style.quotes()) { 1889 if (!style.quotes()) {
1889 // TODO(ramya.v): We should return the quote values that we're actua lly using. 1890 // TODO(ramya.v): We should return the quote values that we're actua lly using.
1890 return nullptr; 1891 return nullptr;
1891 } 1892 }
1892 if (style.quotes()->size()) { 1893 if (style.quotes()->size()) {
1893 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSep arated(); 1894 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSep arated();
1894 for (int i = 0; i < style.quotes()->size(); i++) { 1895 for (int i = 0; i < style.quotes()->size(); i++) {
1895 list->append(cssValuePool().createValue(style.quotes()->getOpenQ uote(i), CSSPrimitiveValue::UnitType::String)); 1896 list->append(CSSStringValue::create(style.quotes()->getOpenQuote (i), CSSStringValue::SerializeAsString));
1896 list->append(cssValuePool().createValue(style.quotes()->getClose Quote(i), CSSPrimitiveValue::UnitType::String)); 1897 list->append(CSSStringValue::create(style.quotes()->getCloseQuot e(i), CSSStringValue::SerializeAsString));
1897 } 1898 }
1898 return list.release(); 1899 return list.release();
1899 } 1900 }
1900 return cssValuePool().createIdentifierValue(CSSValueNone); 1901 return cssValuePool().createIdentifierValue(CSSValueNone);
1901 case CSSPropertyRight: 1902 case CSSPropertyRight:
1902 return valueForPositionOffset(style, CSSPropertyRight, layoutObject); 1903 return valueForPositionOffset(style, CSSPropertyRight, layoutObject);
1903 case CSSPropertyWebkitRubyPosition: 1904 case CSSPropertyWebkitRubyPosition:
1904 return cssValuePool().createValue(style.rubyPosition()); 1905 return cssValuePool().createValue(style.rubyPosition());
1905 case CSSPropertyScrollBehavior: 1906 case CSSPropertyScrollBehavior:
1906 return cssValuePool().createValue(style.scrollBehavior()); 1907 return cssValuePool().createValue(style.scrollBehavior());
(...skipping 23 matching lines...) Expand all
1930 return currentColorOrValidColor(style, style.textFillColor()); 1931 return currentColorOrValidColor(style, style.textFillColor());
1931 case CSSPropertyWebkitTextEmphasisColor: 1932 case CSSPropertyWebkitTextEmphasisColor:
1932 return currentColorOrValidColor(style, style.textEmphasisColor()); 1933 return currentColorOrValidColor(style, style.textEmphasisColor());
1933 case CSSPropertyWebkitTextEmphasisPosition: 1934 case CSSPropertyWebkitTextEmphasisPosition:
1934 return cssValuePool().createValue(style.textEmphasisPosition()); 1935 return cssValuePool().createValue(style.textEmphasisPosition());
1935 case CSSPropertyWebkitTextEmphasisStyle: 1936 case CSSPropertyWebkitTextEmphasisStyle:
1936 switch (style.textEmphasisMark()) { 1937 switch (style.textEmphasisMark()) {
1937 case TextEmphasisMarkNone: 1938 case TextEmphasisMarkNone:
1938 return cssValuePool().createIdentifierValue(CSSValueNone); 1939 return cssValuePool().createIdentifierValue(CSSValueNone);
1939 case TextEmphasisMarkCustom: 1940 case TextEmphasisMarkCustom:
1940 return cssValuePool().createValue(style.textEmphasisCustomMark(), CS SPrimitiveValue::UnitType::String); 1941 return CSSStringValue::create(style.textEmphasisCustomMark(), CSSStr ingValue::SerializeAsString);
1941 case TextEmphasisMarkAuto: 1942 case TextEmphasisMarkAuto:
1942 ASSERT_NOT_REACHED(); 1943 ASSERT_NOT_REACHED();
1943 // Fall through 1944 // Fall through
1944 case TextEmphasisMarkDot: 1945 case TextEmphasisMarkDot:
1945 case TextEmphasisMarkCircle: 1946 case TextEmphasisMarkCircle:
1946 case TextEmphasisMarkDoubleCircle: 1947 case TextEmphasisMarkDoubleCircle:
1947 case TextEmphasisMarkTriangle: 1948 case TextEmphasisMarkTriangle:
1948 case TextEmphasisMarkSesame: { 1949 case TextEmphasisMarkSesame: {
1949 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSep arated(); 1950 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSep arated();
1950 list->append(cssValuePool().createValue(style.textEmphasisFill())); 1951 list->append(cssValuePool().createValue(style.textEmphasisFill()));
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
2108 } else { 2109 } else {
2109 list->append(cssValuePool().createValue(CSSAnimationData::initialIte rationCount(), CSSPrimitiveValue::UnitType::Number)); 2110 list->append(cssValuePool().createValue(CSSAnimationData::initialIte rationCount(), CSSPrimitiveValue::UnitType::Number));
2110 } 2111 }
2111 return list.release(); 2112 return list.release();
2112 } 2113 }
2113 case CSSPropertyAnimationName: { 2114 case CSSPropertyAnimationName: {
2114 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparat ed(); 2115 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparat ed();
2115 const CSSAnimationData* animationData = style.animations(); 2116 const CSSAnimationData* animationData = style.animations();
2116 if (animationData) { 2117 if (animationData) {
2117 for (size_t i = 0; i < animationData->nameList().size(); ++i) 2118 for (size_t i = 0; i < animationData->nameList().size(); ++i)
2118 list->append(cssValuePool().createValue(animationData->nameList( )[i], CSSPrimitiveValue::UnitType::CustomIdentifier)); 2119 list->append(CSSStringValue::create(animationData->nameList()[i] , CSSStringValue::SerializeAsCustomIdentifier));
2119 } else { 2120 } else {
2120 list->append(cssValuePool().createIdentifierValue(CSSValueNone)); 2121 list->append(cssValuePool().createIdentifierValue(CSSValueNone));
2121 } 2122 }
2122 return list.release(); 2123 return list.release();
2123 } 2124 }
2124 case CSSPropertyAnimationPlayState: { 2125 case CSSPropertyAnimationPlayState: {
2125 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparat ed(); 2126 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparat ed();
2126 const CSSAnimationData* animationData = style.animations(); 2127 const CSSAnimationData* animationData = style.animations();
2127 if (animationData) { 2128 if (animationData) {
2128 for (size_t i = 0; i < animationData->playStateList().size(); ++i) 2129 for (size_t i = 0; i < animationData->playStateList().size(); ++i)
2129 list->append(valueForAnimationPlayState(animationData->playState List()[i])); 2130 list->append(valueForAnimationPlayState(animationData->playState List()[i]));
2130 } else { 2131 } else {
2131 list->append(cssValuePool().createIdentifierValue(CSSValueRunning)); 2132 list->append(cssValuePool().createIdentifierValue(CSSValueRunning));
2132 } 2133 }
2133 return list.release(); 2134 return list.release();
2134 } 2135 }
2135 case CSSPropertyAnimationTimingFunction: 2136 case CSSPropertyAnimationTimingFunction:
2136 return valueForAnimationTimingFunction(style.animations()); 2137 return valueForAnimationTimingFunction(style.animations());
2137 case CSSPropertyAnimation: { 2138 case CSSPropertyAnimation: {
2138 const CSSAnimationData* animationData = style.animations(); 2139 const CSSAnimationData* animationData = style.animations();
2139 if (animationData) { 2140 if (animationData) {
2140 RefPtrWillBeRawPtr<CSSValueList> animationsList = CSSValueList::crea teCommaSeparated(); 2141 RefPtrWillBeRawPtr<CSSValueList> animationsList = CSSValueList::crea teCommaSeparated();
2141 for (size_t i = 0; i < animationData->nameList().size(); ++i) { 2142 for (size_t i = 0; i < animationData->nameList().size(); ++i) {
2142 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpac eSeparated(); 2143 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpac eSeparated();
2143 list->append(cssValuePool().createValue(animationData->nameList( )[i], CSSPrimitiveValue::UnitType::CustomIdentifier)); 2144 list->append(CSSStringValue::create(animationData->nameList()[i] , CSSStringValue::SerializeAsCustomIdentifier));
2144 list->append(cssValuePool().createValue(CSSTimingData::getRepeat ed(animationData->durationList(), i), CSSPrimitiveValue::UnitType::Seconds)); 2145 list->append(cssValuePool().createValue(CSSTimingData::getRepeat ed(animationData->durationList(), i), CSSPrimitiveValue::UnitType::Seconds));
2145 list->append(createTimingFunctionValue(CSSTimingData::getRepeate d(animationData->timingFunctionList(), i).get())); 2146 list->append(createTimingFunctionValue(CSSTimingData::getRepeate d(animationData->timingFunctionList(), i).get()));
2146 list->append(cssValuePool().createValue(CSSTimingData::getRepeat ed(animationData->delayList(), i), CSSPrimitiveValue::UnitType::Seconds)); 2147 list->append(cssValuePool().createValue(CSSTimingData::getRepeat ed(animationData->delayList(), i), CSSPrimitiveValue::UnitType::Seconds));
2147 list->append(valueForAnimationIterationCount(CSSTimingData::getR epeated(animationData->iterationCountList(), i))); 2148 list->append(valueForAnimationIterationCount(CSSTimingData::getR epeated(animationData->iterationCountList(), i)));
2148 list->append(valueForAnimationDirection(CSSTimingData::getRepeat ed(animationData->directionList(), i))); 2149 list->append(valueForAnimationDirection(CSSTimingData::getRepeat ed(animationData->directionList(), i)));
2149 list->append(valueForAnimationFillMode(CSSTimingData::getRepeate d(animationData->fillModeList(), i))); 2150 list->append(valueForAnimationFillMode(CSSTimingData::getRepeate d(animationData->fillModeList(), i)));
2150 list->append(valueForAnimationPlayState(CSSTimingData::getRepeat ed(animationData->playStateList(), i))); 2151 list->append(valueForAnimationPlayState(CSSTimingData::getRepeat ed(animationData->playStateList(), i)));
2151 animationsList->append(list); 2152 animationsList->append(list);
2152 } 2153 }
2153 return animationsList.release(); 2154 return animationsList.release();
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
2317 return valueForContentData(style); 2318 return valueForContentData(style);
2318 case CSSPropertyCounterIncrement: 2319 case CSSPropertyCounterIncrement:
2319 return valueForCounterDirectives(style, propertyID); 2320 return valueForCounterDirectives(style, propertyID);
2320 case CSSPropertyCounterReset: 2321 case CSSPropertyCounterReset:
2321 return valueForCounterDirectives(style, propertyID); 2322 return valueForCounterDirectives(style, propertyID);
2322 case CSSPropertyWebkitClipPath: 2323 case CSSPropertyWebkitClipPath:
2323 if (ClipPathOperation* operation = style.clipPath()) { 2324 if (ClipPathOperation* operation = style.clipPath()) {
2324 if (operation->type() == ClipPathOperation::SHAPE) 2325 if (operation->type() == ClipPathOperation::SHAPE)
2325 return valueForBasicShape(style, toShapeClipPathOperation(operat ion)->basicShape()); 2326 return valueForBasicShape(style, toShapeClipPathOperation(operat ion)->basicShape());
2326 if (operation->type() == ClipPathOperation::REFERENCE) 2327 if (operation->type() == ClipPathOperation::REFERENCE)
2327 return CSSPrimitiveValue::create(toReferenceClipPathOperation(op eration)->url(), CSSPrimitiveValue::UnitType::URI); 2328 return CSSStringValue::create(toReferenceClipPathOperation(opera tion)->url(), CSSStringValue::SerializeAsURI);
2328 } 2329 }
2329 return cssValuePool().createIdentifierValue(CSSValueNone); 2330 return cssValuePool().createIdentifierValue(CSSValueNone);
2330 case CSSPropertyShapeMargin: 2331 case CSSPropertyShapeMargin:
2331 return cssValuePool().createValue(style.shapeMargin(), style); 2332 return cssValuePool().createValue(style.shapeMargin(), style);
2332 case CSSPropertyShapeImageThreshold: 2333 case CSSPropertyShapeImageThreshold:
2333 return cssValuePool().createValue(style.shapeImageThreshold(), CSSPrimit iveValue::UnitType::Number); 2334 return cssValuePool().createValue(style.shapeImageThreshold(), CSSPrimit iveValue::UnitType::Number);
2334 case CSSPropertyShapeOutside: 2335 case CSSPropertyShapeOutside:
2335 return valueForShape(style, style.shapeOutside()); 2336 return valueForShape(style, style.shapeOutside());
2336 case CSSPropertyWebkitFilter: 2337 case CSSPropertyWebkitFilter:
2337 return valueForFilter(style); 2338 return valueForFilter(style);
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
2519 case CSSPropertyAlignmentBaseline: 2520 case CSSPropertyAlignmentBaseline:
2520 return CSSPrimitiveValue::create(svgStyle.alignmentBaseline()); 2521 return CSSPrimitiveValue::create(svgStyle.alignmentBaseline());
2521 case CSSPropertyDominantBaseline: 2522 case CSSPropertyDominantBaseline:
2522 return CSSPrimitiveValue::create(svgStyle.dominantBaseline()); 2523 return CSSPrimitiveValue::create(svgStyle.dominantBaseline());
2523 case CSSPropertyTextAnchor: 2524 case CSSPropertyTextAnchor:
2524 return CSSPrimitiveValue::create(svgStyle.textAnchor()); 2525 return CSSPrimitiveValue::create(svgStyle.textAnchor());
2525 case CSSPropertyWritingMode: 2526 case CSSPropertyWritingMode:
2526 return CSSPrimitiveValue::create(svgStyle.writingMode()); 2527 return CSSPrimitiveValue::create(svgStyle.writingMode());
2527 case CSSPropertyClipPath: 2528 case CSSPropertyClipPath:
2528 if (!svgStyle.clipperResource().isEmpty()) 2529 if (!svgStyle.clipperResource().isEmpty())
2529 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(svgSt yle.clipperResource()), CSSPrimitiveValue::UnitType::URI); 2530 return CSSStringValue::create(serializeAsFragmentIdentifier(svgStyle .clipperResource()), CSSStringValue::SerializeAsURI);
2530 return CSSPrimitiveValue::createIdentifier(CSSValueNone); 2531 return CSSPrimitiveValue::createIdentifier(CSSValueNone);
2531 case CSSPropertyMask: 2532 case CSSPropertyMask:
2532 if (!svgStyle.maskerResource().isEmpty()) 2533 if (!svgStyle.maskerResource().isEmpty())
2533 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(svgSt yle.maskerResource()), CSSPrimitiveValue::UnitType::URI); 2534 return CSSStringValue::create(serializeAsFragmentIdentifier(svgStyle .maskerResource()), CSSStringValue::SerializeAsURI);
2534 return CSSPrimitiveValue::createIdentifier(CSSValueNone); 2535 return CSSPrimitiveValue::createIdentifier(CSSValueNone);
2535 case CSSPropertyFilter: 2536 case CSSPropertyFilter:
2536 if (!svgStyle.filterResource().isEmpty()) 2537 if (!svgStyle.filterResource().isEmpty())
2537 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(svgSt yle.filterResource()), CSSPrimitiveValue::UnitType::URI); 2538 return CSSStringValue::create(serializeAsFragmentIdentifier(svgStyle .filterResource()), CSSStringValue::SerializeAsURI);
2538 return CSSPrimitiveValue::createIdentifier(CSSValueNone); 2539 return CSSPrimitiveValue::createIdentifier(CSSValueNone);
2539 case CSSPropertyFloodColor: 2540 case CSSPropertyFloodColor:
2540 return currentColorOrValidColor(style, svgStyle.floodColor()); 2541 return currentColorOrValidColor(style, svgStyle.floodColor());
2541 case CSSPropertyLightingColor: 2542 case CSSPropertyLightingColor:
2542 return currentColorOrValidColor(style, svgStyle.lightingColor()); 2543 return currentColorOrValidColor(style, svgStyle.lightingColor());
2543 case CSSPropertyStopColor: 2544 case CSSPropertyStopColor:
2544 return currentColorOrValidColor(style, svgStyle.stopColor()); 2545 return currentColorOrValidColor(style, svgStyle.stopColor());
2545 case CSSPropertyFill: 2546 case CSSPropertyFill:
2546 return adjustSVGPaintForCurrentColor(svgStyle.fillPaintType(), svgStyle. fillPaintUri(), svgStyle.fillPaintColor(), style.color()); 2547 return adjustSVGPaintForCurrentColor(svgStyle.fillPaintType(), svgStyle. fillPaintUri(), svgStyle.fillPaintColor(), style.color());
2547 case CSSPropertyMarkerEnd: 2548 case CSSPropertyMarkerEnd:
2548 if (!svgStyle.markerEndResource().isEmpty()) 2549 if (!svgStyle.markerEndResource().isEmpty())
2549 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(svgSt yle.markerEndResource()), CSSPrimitiveValue::UnitType::URI); 2550 return CSSStringValue::create(serializeAsFragmentIdentifier(svgStyle .markerEndResource()), CSSStringValue::SerializeAsURI);
2550 return CSSPrimitiveValue::createIdentifier(CSSValueNone); 2551 return CSSPrimitiveValue::createIdentifier(CSSValueNone);
2551 case CSSPropertyMarkerMid: 2552 case CSSPropertyMarkerMid:
2552 if (!svgStyle.markerMidResource().isEmpty()) 2553 if (!svgStyle.markerMidResource().isEmpty())
2553 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(svgSt yle.markerMidResource()), CSSPrimitiveValue::UnitType::URI); 2554 return CSSStringValue::create(serializeAsFragmentIdentifier(svgStyle .markerMidResource()), CSSStringValue::SerializeAsURI);
2554 return CSSPrimitiveValue::createIdentifier(CSSValueNone); 2555 return CSSPrimitiveValue::createIdentifier(CSSValueNone);
2555 case CSSPropertyMarkerStart: 2556 case CSSPropertyMarkerStart:
2556 if (!svgStyle.markerStartResource().isEmpty()) 2557 if (!svgStyle.markerStartResource().isEmpty())
2557 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(svgSt yle.markerStartResource()), CSSPrimitiveValue::UnitType::URI); 2558 return CSSStringValue::create(serializeAsFragmentIdentifier(svgStyle .markerStartResource()), CSSStringValue::SerializeAsURI);
2558 return CSSPrimitiveValue::createIdentifier(CSSValueNone); 2559 return CSSPrimitiveValue::createIdentifier(CSSValueNone);
2559 case CSSPropertyStroke: 2560 case CSSPropertyStroke:
2560 return adjustSVGPaintForCurrentColor(svgStyle.strokePaintType(), svgStyl e.strokePaintUri(), svgStyle.strokePaintColor(), style.color()); 2561 return adjustSVGPaintForCurrentColor(svgStyle.strokePaintType(), svgStyl e.strokePaintUri(), svgStyle.strokePaintColor(), style.color());
2561 case CSSPropertyStrokeDasharray: 2562 case CSSPropertyStrokeDasharray:
2562 return strokeDashArrayToCSSValueList(*svgStyle.strokeDashArray(), style) ; 2563 return strokeDashArrayToCSSValueList(*svgStyle.strokeDashArray(), style) ;
2563 case CSSPropertyStrokeDashoffset: 2564 case CSSPropertyStrokeDashoffset:
2564 return zoomAdjustedPixelValueForLength(svgStyle.strokeDashOffset(), styl e); 2565 return zoomAdjustedPixelValueForLength(svgStyle.strokeDashOffset(), styl e);
2565 case CSSPropertyStrokeWidth: 2566 case CSSPropertyStrokeWidth:
2566 return pixelValueForUnzoomedLength(svgStyle.strokeWidth(), style); 2567 return pixelValueForUnzoomedLength(svgStyle.strokeWidth(), style);
2567 case CSSPropertyBaselineShift: { 2568 case CSSPropertyBaselineShift: {
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
2673 case CSSPropertyAll: 2674 case CSSPropertyAll:
2674 return nullptr; 2675 return nullptr;
2675 default: 2676 default:
2676 break; 2677 break;
2677 } 2678 }
2678 ASSERT_NOT_REACHED(); 2679 ASSERT_NOT_REACHED();
2679 return nullptr; 2680 return nullptr;
2680 } 2681 }
2681 2682
2682 } 2683 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698