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

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: Fixing tests 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/CSSStringValueBase.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 CSSCustomIdentValue::create(family.string());
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(CSSCustomIdentValue::create(namedGridLines[j]));
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 CSSCustomIdentValue::create(position.namedGridLine());
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(CSSCustomIdentValue::create(position.namedGridLine()));
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 CSSCustomIdentValue::create(property.propertyString);
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 CSSCustomIdentValue::create(getPropertyNameString(property.unresolved Property));
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 17 matching lines...) Expand all
974 return CSSValueInvalid; 975 return CSSValueInvalid;
975 } 976 }
976 977
977 static PassRefPtrWillBeRawPtr<CSSValue> valueForContentData(const ComputedStyle& style) 978 static PassRefPtrWillBeRawPtr<CSSValue> valueForContentData(const ComputedStyle& style)
978 { 979 {
979 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ; 980 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ;
980 for (const ContentData* contentData = style.contentData(); contentData; cont entData = contentData->next()) { 981 for (const ContentData* contentData = style.contentData(); contentData; cont entData = contentData->next()) {
981 if (contentData->isCounter()) { 982 if (contentData->isCounter()) {
982 const CounterContent* counter = toCounterContentData(contentData)->c ounter(); 983 const CounterContent* counter = toCounterContentData(contentData)->c ounter();
983 ASSERT(counter); 984 ASSERT(counter);
984 RefPtrWillBeRawPtr<CSSPrimitiveValue> identifier = cssValuePool().cr eateValue(counter->identifier(), CSSPrimitiveValue::UnitType::CustomIdentifier); 985 RefPtrWillBeRawPtr<CSSCustomIdentValue> identifier = CSSCustomIdentV alue::create(counter->identifier());
985 RefPtrWillBeRawPtr<CSSPrimitiveValue> separator = cssValuePool().cre ateValue(counter->separator(), CSSPrimitiveValue::UnitType::CustomIdentifier); 986 RefPtrWillBeRawPtr<CSSCustomIdentValue> separator = CSSCustomIdentVa lue::create(counter->separator());
986 CSSValueID listStyleIdent = CSSValueNone; 987 CSSValueID listStyleIdent = CSSValueNone;
987 if (counter->listStyle() != NoneListStyle) 988 if (counter->listStyle() != NoneListStyle)
988 listStyleIdent = static_cast<CSSValueID>(CSSValueDisc + counter- >listStyle()); 989 listStyleIdent = static_cast<CSSValueID>(CSSValueDisc + counter- >listStyle());
989 RefPtrWillBeRawPtr<CSSPrimitiveValue> listStyle = cssValuePool().cre ateIdentifierValue(listStyleIdent); 990 RefPtrWillBeRawPtr<CSSPrimitiveValue> listStyle = cssValuePool().cre ateIdentifierValue(listStyleIdent);
990 list->append(CSSCounterValue::create(identifier.release(), listStyle .release(), separator.release())); 991 list->append(CSSCounterValue::create(identifier.release(), listStyle .release(), separator.release()));
991 } else if (contentData->isImage()) { 992 } else if (contentData->isImage()) {
992 const StyleImage* image = toImageContentData(contentData)->image(); 993 const StyleImage* image = toImageContentData(contentData)->image();
993 ASSERT(image); 994 ASSERT(image);
994 list->append(image->cssValue()); 995 list->append(image->cssValue());
995 } else if (contentData->isText()) { 996 } else if (contentData->isText()) {
996 list->append(cssValuePool().createValue(toTextContentData(contentDat a)->text(), CSSPrimitiveValue::UnitType::String)); 997 list->append(CSSStringValue::create(toTextContentData(contentData)-> text()));
997 } else if (contentData->isQuote()) { 998 } else if (contentData->isQuote()) {
998 const QuoteType quoteType = toQuoteContentData(contentData)->quote() ; 999 const QuoteType quoteType = toQuoteContentData(contentData)->quote() ;
999 list->append(cssValuePool().createIdentifierValue(valueForQuoteType( quoteType))); 1000 list->append(cssValuePool().createIdentifierValue(valueForQuoteType( quoteType)));
1000 } else { 1001 } else {
1001 ASSERT_NOT_REACHED(); 1002 ASSERT_NOT_REACHED();
1002 } 1003 }
1003 } 1004 }
1004 return list.release(); 1005 return list.release();
1005 } 1006 }
1006 1007
1007 static PassRefPtrWillBeRawPtr<CSSValue> valueForCounterDirectives(const Computed Style& style, CSSPropertyID propertyID) 1008 static PassRefPtrWillBeRawPtr<CSSValue> valueForCounterDirectives(const Computed Style& style, CSSPropertyID propertyID)
1008 { 1009 {
1009 const CounterDirectiveMap* map = style.counterDirectives(); 1010 const CounterDirectiveMap* map = style.counterDirectives();
1010 if (!map) 1011 if (!map)
1011 return cssValuePool().createIdentifierValue(CSSValueNone); 1012 return cssValuePool().createIdentifierValue(CSSValueNone);
1012 1013
1013 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ; 1014 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ;
1014 for (const auto& item : *map) { 1015 for (const auto& item : *map) {
1015 bool isValidCounterValue = propertyID == CSSPropertyCounterIncrement ? i tem.value.isIncrement() : item.value.isReset(); 1016 bool isValidCounterValue = propertyID == CSSPropertyCounterIncrement ? i tem.value.isIncrement() : item.value.isReset();
1016 if (!isValidCounterValue) 1017 if (!isValidCounterValue)
1017 continue; 1018 continue;
1018 1019
1019 list->append(cssValuePool().createValue(item.key, CSSPrimitiveValue::Uni tType::CustomIdentifier)); 1020 list->append(CSSCustomIdentValue::create(item.key));
1020 short number = propertyID == CSSPropertyCounterIncrement ? item.value.in crementValue() : item.value.resetValue(); 1021 short number = propertyID == CSSPropertyCounterIncrement ? item.value.in crementValue() : item.value.resetValue();
1021 list->append(cssValuePool().createValue((double)number, CSSPrimitiveValu e::UnitType::Number)); 1022 list->append(cssValuePool().createValue((double)number, CSSPrimitiveValu e::UnitType::Number));
1022 } 1023 }
1023 1024
1024 if (!list->length()) 1025 if (!list->length())
1025 return cssValuePool().createIdentifierValue(CSSValueNone); 1026 return cssValuePool().createIdentifierValue(CSSValueNone);
1026 1027
1027 return list.release(); 1028 return list.release();
1028 } 1029 }
1029 1030
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
1165 } 1166 }
1166 } 1167 }
1167 1168
1168 return list.release(); 1169 return list.release();
1169 } 1170 }
1170 1171
1171 static PassRefPtrWillBeRawPtr<CSSValue> adjustSVGPaintForCurrentColor(SVGPaintTy pe paintType, const String& url, const Color& color, const Color& currentColor) 1172 static PassRefPtrWillBeRawPtr<CSSValue> adjustSVGPaintForCurrentColor(SVGPaintTy pe paintType, const String& url, const Color& color, const Color& currentColor)
1172 { 1173 {
1173 if (paintType >= SVG_PAINTTYPE_URI_NONE) { 1174 if (paintType >= SVG_PAINTTYPE_URI_NONE) {
1174 RefPtrWillBeRawPtr<CSSValueList> values = CSSValueList::createSpaceSepar ated(); 1175 RefPtrWillBeRawPtr<CSSValueList> values = CSSValueList::createSpaceSepar ated();
1175 values->append(CSSPrimitiveValue::create(url, CSSPrimitiveValue::UnitTyp e::URI)); 1176 values->append(CSSURIValue::create(url));
1176 if (paintType == SVG_PAINTTYPE_URI_NONE) 1177 if (paintType == SVG_PAINTTYPE_URI_NONE)
1177 values->append(CSSPrimitiveValue::create(CSSValueNone)); 1178 values->append(CSSPrimitiveValue::create(CSSValueNone));
1178 else if (paintType == SVG_PAINTTYPE_URI_CURRENTCOLOR) 1179 else if (paintType == SVG_PAINTTYPE_URI_CURRENTCOLOR)
1179 values->append(CSSPrimitiveValue::createColor(currentColor.rgb())); 1180 values->append(CSSPrimitiveValue::createColor(currentColor.rgb()));
1180 else if (paintType == SVG_PAINTTYPE_URI_RGBCOLOR) 1181 else if (paintType == SVG_PAINTTYPE_URI_RGBCOLOR)
1181 values->append(CSSPrimitiveValue::createColor(color.rgb())); 1182 values->append(CSSPrimitiveValue::createColor(color.rgb()));
1182 return values.release(); 1183 return values.release();
1183 } 1184 }
1184 if (paintType == SVG_PAINTTYPE_NONE) 1185 if (paintType == SVG_PAINTTYPE_NONE)
1185 return CSSPrimitiveValue::create(CSSValueNone); 1186 return CSSPrimitiveValue::create(CSSValueNone);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1224 1225
1225 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ; 1226 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ;
1226 1227
1227 RefPtrWillBeRawPtr<CSSFunctionValue> filterValue = nullptr; 1228 RefPtrWillBeRawPtr<CSSFunctionValue> filterValue = nullptr;
1228 1229
1229 for (const auto& operation : filterOperations.operations()) { 1230 for (const auto& operation : filterOperations.operations()) {
1230 FilterOperation* filterOperation = operation.get(); 1231 FilterOperation* filterOperation = operation.get();
1231 switch (filterOperation->type()) { 1232 switch (filterOperation->type()) {
1232 case FilterOperation::REFERENCE: 1233 case FilterOperation::REFERENCE:
1233 filterValue = CSSFunctionValue::create(CSSValueUrl); 1234 filterValue = CSSFunctionValue::create(CSSValueUrl);
1234 filterValue->append(cssValuePool().createValue(toReferenceFilterOper ation(filterOperation)->url(), CSSPrimitiveValue::UnitType::CustomIdentifier)); 1235 filterValue->append(CSSCustomIdentValue::create(toReferenceFilterOpe ration(filterOperation)->url()));
1235 break; 1236 break;
1236 case FilterOperation::GRAYSCALE: 1237 case FilterOperation::GRAYSCALE:
1237 filterValue = CSSFunctionValue::create(CSSValueGrayscale); 1238 filterValue = CSSFunctionValue::create(CSSValueGrayscale);
1238 filterValue->append(cssValuePool().createValue(toBasicColorMatrixFil terOperation(filterOperation)->amount(), CSSPrimitiveValue::UnitType::Number)); 1239 filterValue->append(cssValuePool().createValue(toBasicColorMatrixFil terOperation(filterOperation)->amount(), CSSPrimitiveValue::UnitType::Number));
1239 break; 1240 break;
1240 case FilterOperation::SEPIA: 1241 case FilterOperation::SEPIA:
1241 filterValue = CSSFunctionValue::create(CSSValueSepia); 1242 filterValue = CSSFunctionValue::create(CSSValueSepia);
1242 filterValue->append(cssValuePool().createValue(toBasicColorMatrixFil terOperation(filterOperation)->amount(), CSSPrimitiveValue::UnitType::Number)); 1243 filterValue->append(cssValuePool().createValue(toBasicColorMatrixFil terOperation(filterOperation)->amount(), CSSPrimitiveValue::UnitType::Number));
1243 break; 1244 break;
1244 case FilterOperation::SATURATE: 1245 case FilterOperation::SATURATE:
(...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after
1700 // According to http://www.w3.org/TR/CSS2/visudet.html#the-height-pr operty, 1701 // According to http://www.w3.org/TR/CSS2/visudet.html#the-height-pr operty,
1701 // the "height" property does not apply for non-replaced inline elem ents. 1702 // the "height" property does not apply for non-replaced inline elem ents.
1702 if (!layoutObject->isReplaced() && layoutObject->isInline()) 1703 if (!layoutObject->isReplaced() && layoutObject->isInline())
1703 return cssValuePool().createIdentifierValue(CSSValueAuto); 1704 return cssValuePool().createIdentifierValue(CSSValueAuto);
1704 return zoomAdjustedPixelValue(sizingBox(layoutObject).height(), styl e); 1705 return zoomAdjustedPixelValue(sizingBox(layoutObject).height(), styl e);
1705 } 1706 }
1706 return zoomAdjustedPixelValueForLength(style.height(), style); 1707 return zoomAdjustedPixelValueForLength(style.height(), style);
1707 case CSSPropertyWebkitHighlight: 1708 case CSSPropertyWebkitHighlight:
1708 if (style.highlight() == nullAtom) 1709 if (style.highlight() == nullAtom)
1709 return cssValuePool().createIdentifierValue(CSSValueNone); 1710 return cssValuePool().createIdentifierValue(CSSValueNone);
1710 return cssValuePool().createValue(style.highlight(), CSSPrimitiveValue:: UnitType::String); 1711 return CSSStringValue::create(style.highlight());
1711 case CSSPropertyWebkitHyphenateCharacter: 1712 case CSSPropertyWebkitHyphenateCharacter:
1712 if (style.hyphenationString().isNull()) 1713 if (style.hyphenationString().isNull())
1713 return cssValuePool().createIdentifierValue(CSSValueAuto); 1714 return cssValuePool().createIdentifierValue(CSSValueAuto);
1714 return cssValuePool().createValue(style.hyphenationString(), CSSPrimitiv eValue::UnitType::String); 1715 return CSSStringValue::create(style.hyphenationString());
1715 case CSSPropertyImageRendering: 1716 case CSSPropertyImageRendering:
1716 return CSSPrimitiveValue::create(style.imageRendering()); 1717 return CSSPrimitiveValue::create(style.imageRendering());
1717 case CSSPropertyImageOrientation: 1718 case CSSPropertyImageOrientation:
1718 if (style.respectImageOrientation() == RespectImageOrientation) 1719 if (style.respectImageOrientation() == RespectImageOrientation)
1719 return cssValuePool().createValue(CSSValueFromImage); 1720 return cssValuePool().createValue(CSSValueFromImage);
1720 return cssValuePool().createValue(0, CSSPrimitiveValue::UnitType::Degree s); 1721 return cssValuePool().createValue(0, CSSPrimitiveValue::UnitType::Degree s);
1721 case CSSPropertyIsolation: 1722 case CSSPropertyIsolation:
1722 return cssValuePool().createValue(style.isolation()); 1723 return cssValuePool().createValue(style.isolation());
1723 case CSSPropertyJustifyItems: 1724 case CSSPropertyJustifyItems:
1724 return valueForItemPositionWithOverflowAlignment(resolveAlignmentAuto(st yle.justifyItemsPosition(), styledNode), style.justifyItemsOverflowAlignment(), style.justifyItemsPositionType()); 1725 return valueForItemPositionWithOverflowAlignment(resolveAlignmentAuto(st yle.justifyItemsPosition(), styledNode), style.justifyItemsOverflowAlignment(), style.justifyItemsPositionType());
(...skipping 15 matching lines...) Expand all
1740 if (style.listStyleImage()) 1741 if (style.listStyleImage())
1741 return style.listStyleImage()->cssValue(); 1742 return style.listStyleImage()->cssValue();
1742 return cssValuePool().createIdentifierValue(CSSValueNone); 1743 return cssValuePool().createIdentifierValue(CSSValueNone);
1743 case CSSPropertyListStylePosition: 1744 case CSSPropertyListStylePosition:
1744 return cssValuePool().createValue(style.listStylePosition()); 1745 return cssValuePool().createValue(style.listStylePosition());
1745 case CSSPropertyListStyleType: 1746 case CSSPropertyListStyleType:
1746 return cssValuePool().createValue(style.listStyleType()); 1747 return cssValuePool().createValue(style.listStyleType());
1747 case CSSPropertyWebkitLocale: 1748 case CSSPropertyWebkitLocale:
1748 if (style.locale().isNull()) 1749 if (style.locale().isNull())
1749 return cssValuePool().createIdentifierValue(CSSValueAuto); 1750 return cssValuePool().createIdentifierValue(CSSValueAuto);
1750 return cssValuePool().createValue(style.locale(), CSSPrimitiveValue::Uni tType::String); 1751 return CSSStringValue::create(style.locale());
1751 case CSSPropertyMarginTop: { 1752 case CSSPropertyMarginTop: {
1752 Length marginTop = style.marginTop(); 1753 Length marginTop = style.marginTop();
1753 if (marginTop.isFixed() || !layoutObject || !layoutObject->isBox()) 1754 if (marginTop.isFixed() || !layoutObject || !layoutObject->isBox())
1754 return zoomAdjustedPixelValueForLength(marginTop, style); 1755 return zoomAdjustedPixelValueForLength(marginTop, style);
1755 return zoomAdjustedPixelValue(toLayoutBox(layoutObject)->marginTop(), st yle); 1756 return zoomAdjustedPixelValue(toLayoutBox(layoutObject)->marginTop(), st yle);
1756 } 1757 }
1757 case CSSPropertyMarginRight: { 1758 case CSSPropertyMarginRight: {
1758 Length marginRight = style.marginRight(); 1759 Length marginRight = style.marginRight();
1759 if (marginRight.isFixed() || !layoutObject || !layoutObject->isBox()) 1760 if (marginRight.isFixed() || !layoutObject || !layoutObject->isBox())
1760 return zoomAdjustedPixelValueForLength(marginRight, style); 1761 return zoomAdjustedPixelValueForLength(marginRight, style);
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
1878 case CSSPropertyPosition: 1879 case CSSPropertyPosition:
1879 return cssValuePool().createValue(style.position()); 1880 return cssValuePool().createValue(style.position());
1880 case CSSPropertyQuotes: 1881 case CSSPropertyQuotes:
1881 if (!style.quotes()) { 1882 if (!style.quotes()) {
1882 // TODO(ramya.v): We should return the quote values that we're actua lly using. 1883 // TODO(ramya.v): We should return the quote values that we're actua lly using.
1883 return nullptr; 1884 return nullptr;
1884 } 1885 }
1885 if (style.quotes()->size()) { 1886 if (style.quotes()->size()) {
1886 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSep arated(); 1887 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSep arated();
1887 for (int i = 0; i < style.quotes()->size(); i++) { 1888 for (int i = 0; i < style.quotes()->size(); i++) {
1888 list->append(cssValuePool().createValue(style.quotes()->getOpenQ uote(i), CSSPrimitiveValue::UnitType::String)); 1889 list->append(CSSStringValue::create(style.quotes()->getOpenQuote (i)));
1889 list->append(cssValuePool().createValue(style.quotes()->getClose Quote(i), CSSPrimitiveValue::UnitType::String)); 1890 list->append(CSSStringValue::create(style.quotes()->getCloseQuot e(i)));
1890 } 1891 }
1891 return list.release(); 1892 return list.release();
1892 } 1893 }
1893 return cssValuePool().createIdentifierValue(CSSValueNone); 1894 return cssValuePool().createIdentifierValue(CSSValueNone);
1894 case CSSPropertyRight: 1895 case CSSPropertyRight:
1895 return valueForPositionOffset(style, CSSPropertyRight, layoutObject); 1896 return valueForPositionOffset(style, CSSPropertyRight, layoutObject);
1896 case CSSPropertyWebkitRubyPosition: 1897 case CSSPropertyWebkitRubyPosition:
1897 return cssValuePool().createValue(style.rubyPosition()); 1898 return cssValuePool().createValue(style.rubyPosition());
1898 case CSSPropertyScrollBehavior: 1899 case CSSPropertyScrollBehavior:
1899 return cssValuePool().createValue(style.scrollBehavior()); 1900 return cssValuePool().createValue(style.scrollBehavior());
(...skipping 23 matching lines...) Expand all
1923 return currentColorOrValidColor(style, style.textFillColor()); 1924 return currentColorOrValidColor(style, style.textFillColor());
1924 case CSSPropertyWebkitTextEmphasisColor: 1925 case CSSPropertyWebkitTextEmphasisColor:
1925 return currentColorOrValidColor(style, style.textEmphasisColor()); 1926 return currentColorOrValidColor(style, style.textEmphasisColor());
1926 case CSSPropertyWebkitTextEmphasisPosition: 1927 case CSSPropertyWebkitTextEmphasisPosition:
1927 return cssValuePool().createValue(style.textEmphasisPosition()); 1928 return cssValuePool().createValue(style.textEmphasisPosition());
1928 case CSSPropertyWebkitTextEmphasisStyle: 1929 case CSSPropertyWebkitTextEmphasisStyle:
1929 switch (style.textEmphasisMark()) { 1930 switch (style.textEmphasisMark()) {
1930 case TextEmphasisMarkNone: 1931 case TextEmphasisMarkNone:
1931 return cssValuePool().createIdentifierValue(CSSValueNone); 1932 return cssValuePool().createIdentifierValue(CSSValueNone);
1932 case TextEmphasisMarkCustom: 1933 case TextEmphasisMarkCustom:
1933 return cssValuePool().createValue(style.textEmphasisCustomMark(), CS SPrimitiveValue::UnitType::String); 1934 return CSSStringValue::create(style.textEmphasisCustomMark());
1934 case TextEmphasisMarkAuto: 1935 case TextEmphasisMarkAuto:
1935 ASSERT_NOT_REACHED(); 1936 ASSERT_NOT_REACHED();
1936 // Fall through 1937 // Fall through
1937 case TextEmphasisMarkDot: 1938 case TextEmphasisMarkDot:
1938 case TextEmphasisMarkCircle: 1939 case TextEmphasisMarkCircle:
1939 case TextEmphasisMarkDoubleCircle: 1940 case TextEmphasisMarkDoubleCircle:
1940 case TextEmphasisMarkTriangle: 1941 case TextEmphasisMarkTriangle:
1941 case TextEmphasisMarkSesame: { 1942 case TextEmphasisMarkSesame: {
1942 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSep arated(); 1943 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSep arated();
1943 list->append(cssValuePool().createValue(style.textEmphasisFill())); 1944 list->append(cssValuePool().createValue(style.textEmphasisFill()));
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
2101 } else { 2102 } else {
2102 list->append(cssValuePool().createValue(CSSAnimationData::initialIte rationCount(), CSSPrimitiveValue::UnitType::Number)); 2103 list->append(cssValuePool().createValue(CSSAnimationData::initialIte rationCount(), CSSPrimitiveValue::UnitType::Number));
2103 } 2104 }
2104 return list.release(); 2105 return list.release();
2105 } 2106 }
2106 case CSSPropertyAnimationName: { 2107 case CSSPropertyAnimationName: {
2107 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparat ed(); 2108 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparat ed();
2108 const CSSAnimationData* animationData = style.animations(); 2109 const CSSAnimationData* animationData = style.animations();
2109 if (animationData) { 2110 if (animationData) {
2110 for (size_t i = 0; i < animationData->nameList().size(); ++i) 2111 for (size_t i = 0; i < animationData->nameList().size(); ++i)
2111 list->append(cssValuePool().createValue(animationData->nameList( )[i], CSSPrimitiveValue::UnitType::CustomIdentifier)); 2112 list->append(CSSCustomIdentValue::create(animationData->nameList ()[i]));
2112 } else { 2113 } else {
2113 list->append(cssValuePool().createIdentifierValue(CSSValueNone)); 2114 list->append(cssValuePool().createIdentifierValue(CSSValueNone));
2114 } 2115 }
2115 return list.release(); 2116 return list.release();
2116 } 2117 }
2117 case CSSPropertyAnimationPlayState: { 2118 case CSSPropertyAnimationPlayState: {
2118 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparat ed(); 2119 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparat ed();
2119 const CSSAnimationData* animationData = style.animations(); 2120 const CSSAnimationData* animationData = style.animations();
2120 if (animationData) { 2121 if (animationData) {
2121 for (size_t i = 0; i < animationData->playStateList().size(); ++i) 2122 for (size_t i = 0; i < animationData->playStateList().size(); ++i)
2122 list->append(valueForAnimationPlayState(animationData->playState List()[i])); 2123 list->append(valueForAnimationPlayState(animationData->playState List()[i]));
2123 } else { 2124 } else {
2124 list->append(cssValuePool().createIdentifierValue(CSSValueRunning)); 2125 list->append(cssValuePool().createIdentifierValue(CSSValueRunning));
2125 } 2126 }
2126 return list.release(); 2127 return list.release();
2127 } 2128 }
2128 case CSSPropertyAnimationTimingFunction: 2129 case CSSPropertyAnimationTimingFunction:
2129 return valueForAnimationTimingFunction(style.animations()); 2130 return valueForAnimationTimingFunction(style.animations());
2130 case CSSPropertyAnimation: { 2131 case CSSPropertyAnimation: {
2131 const CSSAnimationData* animationData = style.animations(); 2132 const CSSAnimationData* animationData = style.animations();
2132 if (animationData) { 2133 if (animationData) {
2133 RefPtrWillBeRawPtr<CSSValueList> animationsList = CSSValueList::crea teCommaSeparated(); 2134 RefPtrWillBeRawPtr<CSSValueList> animationsList = CSSValueList::crea teCommaSeparated();
2134 for (size_t i = 0; i < animationData->nameList().size(); ++i) { 2135 for (size_t i = 0; i < animationData->nameList().size(); ++i) {
2135 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpac eSeparated(); 2136 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpac eSeparated();
2136 list->append(cssValuePool().createValue(animationData->nameList( )[i], CSSPrimitiveValue::UnitType::CustomIdentifier)); 2137 list->append(CSSCustomIdentValue::create(animationData->nameList ()[i]));
2137 list->append(cssValuePool().createValue(CSSTimingData::getRepeat ed(animationData->durationList(), i), CSSPrimitiveValue::UnitType::Seconds)); 2138 list->append(cssValuePool().createValue(CSSTimingData::getRepeat ed(animationData->durationList(), i), CSSPrimitiveValue::UnitType::Seconds));
2138 list->append(createTimingFunctionValue(CSSTimingData::getRepeate d(animationData->timingFunctionList(), i).get())); 2139 list->append(createTimingFunctionValue(CSSTimingData::getRepeate d(animationData->timingFunctionList(), i).get()));
2139 list->append(cssValuePool().createValue(CSSTimingData::getRepeat ed(animationData->delayList(), i), CSSPrimitiveValue::UnitType::Seconds)); 2140 list->append(cssValuePool().createValue(CSSTimingData::getRepeat ed(animationData->delayList(), i), CSSPrimitiveValue::UnitType::Seconds));
2140 list->append(valueForAnimationIterationCount(CSSTimingData::getR epeated(animationData->iterationCountList(), i))); 2141 list->append(valueForAnimationIterationCount(CSSTimingData::getR epeated(animationData->iterationCountList(), i)));
2141 list->append(valueForAnimationDirection(CSSTimingData::getRepeat ed(animationData->directionList(), i))); 2142 list->append(valueForAnimationDirection(CSSTimingData::getRepeat ed(animationData->directionList(), i)));
2142 list->append(valueForAnimationFillMode(CSSTimingData::getRepeate d(animationData->fillModeList(), i))); 2143 list->append(valueForAnimationFillMode(CSSTimingData::getRepeate d(animationData->fillModeList(), i)));
2143 list->append(valueForAnimationPlayState(CSSTimingData::getRepeat ed(animationData->playStateList(), i))); 2144 list->append(valueForAnimationPlayState(CSSTimingData::getRepeat ed(animationData->playStateList(), i)));
2144 animationsList->append(list); 2145 animationsList->append(list);
2145 } 2146 }
2146 return animationsList.release(); 2147 return animationsList.release();
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
2308 return valueForContentData(style); 2309 return valueForContentData(style);
2309 case CSSPropertyCounterIncrement: 2310 case CSSPropertyCounterIncrement:
2310 return valueForCounterDirectives(style, propertyID); 2311 return valueForCounterDirectives(style, propertyID);
2311 case CSSPropertyCounterReset: 2312 case CSSPropertyCounterReset:
2312 return valueForCounterDirectives(style, propertyID); 2313 return valueForCounterDirectives(style, propertyID);
2313 case CSSPropertyWebkitClipPath: 2314 case CSSPropertyWebkitClipPath:
2314 if (ClipPathOperation* operation = style.clipPath()) { 2315 if (ClipPathOperation* operation = style.clipPath()) {
2315 if (operation->type() == ClipPathOperation::SHAPE) 2316 if (operation->type() == ClipPathOperation::SHAPE)
2316 return valueForBasicShape(style, toShapeClipPathOperation(operat ion)->basicShape()); 2317 return valueForBasicShape(style, toShapeClipPathOperation(operat ion)->basicShape());
2317 if (operation->type() == ClipPathOperation::REFERENCE) 2318 if (operation->type() == ClipPathOperation::REFERENCE)
2318 return CSSPrimitiveValue::create(toReferenceClipPathOperation(op eration)->url(), CSSPrimitiveValue::UnitType::URI); 2319 return CSSURIValue::create(toReferenceClipPathOperation(operatio n)->url());
2319 } 2320 }
2320 return cssValuePool().createIdentifierValue(CSSValueNone); 2321 return cssValuePool().createIdentifierValue(CSSValueNone);
2321 case CSSPropertyShapeMargin: 2322 case CSSPropertyShapeMargin:
2322 return cssValuePool().createValue(style.shapeMargin(), style); 2323 return cssValuePool().createValue(style.shapeMargin(), style);
2323 case CSSPropertyShapeImageThreshold: 2324 case CSSPropertyShapeImageThreshold:
2324 return cssValuePool().createValue(style.shapeImageThreshold(), CSSPrimit iveValue::UnitType::Number); 2325 return cssValuePool().createValue(style.shapeImageThreshold(), CSSPrimit iveValue::UnitType::Number);
2325 case CSSPropertyShapeOutside: 2326 case CSSPropertyShapeOutside:
2326 return valueForShape(style, style.shapeOutside()); 2327 return valueForShape(style, style.shapeOutside());
2327 case CSSPropertyWebkitFilter: 2328 case CSSPropertyWebkitFilter:
2328 return valueForFilter(style, style.filter()); 2329 return valueForFilter(style, style.filter());
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
2512 case CSSPropertyAlignmentBaseline: 2513 case CSSPropertyAlignmentBaseline:
2513 return CSSPrimitiveValue::create(svgStyle.alignmentBaseline()); 2514 return CSSPrimitiveValue::create(svgStyle.alignmentBaseline());
2514 case CSSPropertyDominantBaseline: 2515 case CSSPropertyDominantBaseline:
2515 return CSSPrimitiveValue::create(svgStyle.dominantBaseline()); 2516 return CSSPrimitiveValue::create(svgStyle.dominantBaseline());
2516 case CSSPropertyTextAnchor: 2517 case CSSPropertyTextAnchor:
2517 return CSSPrimitiveValue::create(svgStyle.textAnchor()); 2518 return CSSPrimitiveValue::create(svgStyle.textAnchor());
2518 case CSSPropertyWritingMode: 2519 case CSSPropertyWritingMode:
2519 return CSSPrimitiveValue::create(svgStyle.writingMode()); 2520 return CSSPrimitiveValue::create(svgStyle.writingMode());
2520 case CSSPropertyClipPath: 2521 case CSSPropertyClipPath:
2521 if (!svgStyle.clipperResource().isEmpty()) 2522 if (!svgStyle.clipperResource().isEmpty())
2522 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(svgSt yle.clipperResource()), CSSPrimitiveValue::UnitType::URI); 2523 return CSSURIValue::create(serializeAsFragmentIdentifier(svgStyle.cl ipperResource()));
2523 return CSSPrimitiveValue::createIdentifier(CSSValueNone); 2524 return CSSPrimitiveValue::createIdentifier(CSSValueNone);
2524 case CSSPropertyMask: 2525 case CSSPropertyMask:
2525 if (!svgStyle.maskerResource().isEmpty()) 2526 if (!svgStyle.maskerResource().isEmpty())
2526 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(svgSt yle.maskerResource()), CSSPrimitiveValue::UnitType::URI); 2527 return CSSURIValue::create(serializeAsFragmentIdentifier(svgStyle.ma skerResource()));
2527 return CSSPrimitiveValue::createIdentifier(CSSValueNone); 2528 return CSSPrimitiveValue::createIdentifier(CSSValueNone);
2528 case CSSPropertyFilter: 2529 case CSSPropertyFilter:
2529 if (!svgStyle.filterResource().isEmpty()) 2530 if (!svgStyle.filterResource().isEmpty())
2530 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(svgSt yle.filterResource()), CSSPrimitiveValue::UnitType::URI); 2531 return CSSURIValue::create(serializeAsFragmentIdentifier(svgStyle.fi lterResource()));
2531 return CSSPrimitiveValue::createIdentifier(CSSValueNone); 2532 return CSSPrimitiveValue::createIdentifier(CSSValueNone);
2532 case CSSPropertyFloodColor: 2533 case CSSPropertyFloodColor:
2533 return currentColorOrValidColor(style, svgStyle.floodColor()); 2534 return currentColorOrValidColor(style, svgStyle.floodColor());
2534 case CSSPropertyLightingColor: 2535 case CSSPropertyLightingColor:
2535 return currentColorOrValidColor(style, svgStyle.lightingColor()); 2536 return currentColorOrValidColor(style, svgStyle.lightingColor());
2536 case CSSPropertyStopColor: 2537 case CSSPropertyStopColor:
2537 return currentColorOrValidColor(style, svgStyle.stopColor()); 2538 return currentColorOrValidColor(style, svgStyle.stopColor());
2538 case CSSPropertyFill: 2539 case CSSPropertyFill:
2539 return adjustSVGPaintForCurrentColor(svgStyle.fillPaintType(), svgStyle. fillPaintUri(), svgStyle.fillPaintColor(), style.color()); 2540 return adjustSVGPaintForCurrentColor(svgStyle.fillPaintType(), svgStyle. fillPaintUri(), svgStyle.fillPaintColor(), style.color());
2540 case CSSPropertyMarkerEnd: 2541 case CSSPropertyMarkerEnd:
2541 if (!svgStyle.markerEndResource().isEmpty()) 2542 if (!svgStyle.markerEndResource().isEmpty())
2542 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(svgSt yle.markerEndResource()), CSSPrimitiveValue::UnitType::URI); 2543 return CSSURIValue::create(serializeAsFragmentIdentifier(svgStyle.ma rkerEndResource()));
2543 return CSSPrimitiveValue::createIdentifier(CSSValueNone); 2544 return CSSPrimitiveValue::createIdentifier(CSSValueNone);
2544 case CSSPropertyMarkerMid: 2545 case CSSPropertyMarkerMid:
2545 if (!svgStyle.markerMidResource().isEmpty()) 2546 if (!svgStyle.markerMidResource().isEmpty())
2546 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(svgSt yle.markerMidResource()), CSSPrimitiveValue::UnitType::URI); 2547 return CSSURIValue::create(serializeAsFragmentIdentifier(svgStyle.ma rkerMidResource()));
2547 return CSSPrimitiveValue::createIdentifier(CSSValueNone); 2548 return CSSPrimitiveValue::createIdentifier(CSSValueNone);
2548 case CSSPropertyMarkerStart: 2549 case CSSPropertyMarkerStart:
2549 if (!svgStyle.markerStartResource().isEmpty()) 2550 if (!svgStyle.markerStartResource().isEmpty())
2550 return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(svgSt yle.markerStartResource()), CSSPrimitiveValue::UnitType::URI); 2551 return CSSURIValue::create(serializeAsFragmentIdentifier(svgStyle.ma rkerStartResource()));
2551 return CSSPrimitiveValue::createIdentifier(CSSValueNone); 2552 return CSSPrimitiveValue::createIdentifier(CSSValueNone);
2552 case CSSPropertyStroke: 2553 case CSSPropertyStroke:
2553 return adjustSVGPaintForCurrentColor(svgStyle.strokePaintType(), svgStyl e.strokePaintUri(), svgStyle.strokePaintColor(), style.color()); 2554 return adjustSVGPaintForCurrentColor(svgStyle.strokePaintType(), svgStyl e.strokePaintUri(), svgStyle.strokePaintColor(), style.color());
2554 case CSSPropertyStrokeDasharray: 2555 case CSSPropertyStrokeDasharray:
2555 return strokeDashArrayToCSSValueList(*svgStyle.strokeDashArray(), style) ; 2556 return strokeDashArrayToCSSValueList(*svgStyle.strokeDashArray(), style) ;
2556 case CSSPropertyStrokeDashoffset: 2557 case CSSPropertyStrokeDashoffset:
2557 return zoomAdjustedPixelValueForLength(svgStyle.strokeDashOffset(), styl e); 2558 return zoomAdjustedPixelValueForLength(svgStyle.strokeDashOffset(), styl e);
2558 case CSSPropertyStrokeWidth: 2559 case CSSPropertyStrokeWidth:
2559 return pixelValueForUnzoomedLength(svgStyle.strokeWidth(), style); 2560 return pixelValueForUnzoomedLength(svgStyle.strokeWidth(), style);
2560 case CSSPropertyBaselineShift: { 2561 case CSSPropertyBaselineShift: {
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
2666 case CSSPropertyAll: 2667 case CSSPropertyAll:
2667 return nullptr; 2668 return nullptr;
2668 default: 2669 default:
2669 break; 2670 break;
2670 } 2671 }
2671 ASSERT_NOT_REACHED(); 2672 ASSERT_NOT_REACHED();
2672 return nullptr; 2673 return nullptr;
2673 } 2674 }
2674 2675
2675 } 2676 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698