Index: Source/core/css/ComputedStyleCSSValueMapping.cpp |
diff --git a/Source/core/css/ComputedStyleCSSValueMapping.cpp b/Source/core/css/ComputedStyleCSSValueMapping.cpp |
index 1f5e1acd2c9ff4b2ffeba14f73ad137d8c44c313..66ab888689c4fe8ff18bee4b30e633e006a9f5ae 100644 |
--- a/Source/core/css/ComputedStyleCSSValueMapping.cpp |
+++ b/Source/core/css/ComputedStyleCSSValueMapping.cpp |
@@ -39,6 +39,7 @@ |
#include "core/css/CSSQuadValue.h" |
#include "core/css/CSSReflectValue.h" |
#include "core/css/CSSShadowValue.h" |
+#include "core/css/CSSStringValue.h" |
#include "core/css/CSSTimingFunctionValue.h" |
#include "core/css/CSSValueList.h" |
#include "core/css/CSSValuePair.h" |
@@ -490,11 +491,11 @@ static CSSValueID identifierForFamily(const AtomicString& family) |
return CSSValueInvalid; |
} |
-static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> valueForFamily(const AtomicString& family) |
+static PassRefPtrWillBeRawPtr<CSSValue> valueForFamily(const AtomicString& family) |
{ |
if (CSSValueID familyIdentifier = identifierForFamily(family)) |
return cssValuePool().createIdentifierValue(familyIdentifier); |
- return cssValuePool().createValue(family.string(), CSSPrimitiveValue::UnitType::CustomIdentifier); |
+ return CSSStringValue::create(family.string(), CSSStringValue::SerializeAsCustomIdentifier); |
} |
static PassRefPtrWillBeRawPtr<CSSValueList> valueForFontFamily(const ComputedStyle& style) |
@@ -565,7 +566,7 @@ static void addValuesForNamedGridLinesAtIndex(const OrderedNamedGridLines& order |
RefPtrWillBeRawPtr<CSSGridLineNamesValue> lineNames = CSSGridLineNamesValue::create(); |
for (size_t j = 0; j < namedGridLines.size(); ++j) |
- lineNames->append(cssValuePool().createValue(namedGridLines[j], CSSPrimitiveValue::UnitType::CustomIdentifier)); |
+ lineNames->append(CSSStringValue::create(namedGridLines[j], CSSStringValue::SerializeAsCustomIdentifier)); |
list.append(lineNames.release()); |
} |
@@ -620,7 +621,7 @@ static PassRefPtrWillBeRawPtr<CSSValue> valueForGridPosition(const GridPosition& |
return cssValuePool().createIdentifierValue(CSSValueAuto); |
if (position.isNamedGridArea()) |
- return cssValuePool().createValue(position.namedGridLine(), CSSPrimitiveValue::UnitType::CustomIdentifier); |
+ return CSSStringValue::create(position.namedGridLine(), CSSStringValue::SerializeAsCustomIdentifier); |
RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
if (position.isSpan()) { |
@@ -631,7 +632,7 @@ static PassRefPtrWillBeRawPtr<CSSValue> valueForGridPosition(const GridPosition& |
} |
if (!position.namedGridLine().isNull()) |
- list->append(cssValuePool().createValue(position.namedGridLine(), CSSPrimitiveValue::UnitType::CustomIdentifier)); |
+ list->append(CSSStringValue::create(position.namedGridLine(), CSSStringValue::SerializeAsCustomIdentifier)); |
return list; |
} |
@@ -941,9 +942,9 @@ static PassRefPtrWillBeRawPtr<CSSValue> createTransitionPropertyValue(const CSST |
if (property.propertyType == CSSTransitionData::TransitionNone) |
return cssValuePool().createIdentifierValue(CSSValueNone); |
if (property.propertyType == CSSTransitionData::TransitionUnknownProperty) |
- return cssValuePool().createValue(property.propertyString, CSSPrimitiveValue::UnitType::CustomIdentifier); |
+ return CSSStringValue::create(property.propertyString, CSSStringValue::SerializeAsCustomIdentifier); |
ASSERT(property.propertyType == CSSTransitionData::TransitionKnownProperty); |
- return cssValuePool().createValue(getPropertyNameString(property.unresolvedProperty), CSSPrimitiveValue::UnitType::CustomIdentifier); |
+ return CSSStringValue::create(getPropertyNameString(property.unresolvedProperty), CSSStringValue::SerializeAsCustomIdentifier); |
} |
static PassRefPtrWillBeRawPtr<CSSValue> valueForTransitionProperty(const CSSTransitionData* transitionData) |
@@ -988,8 +989,8 @@ static PassRefPtrWillBeRawPtr<CSSValue> valueForContentData(const ComputedStyle& |
if (contentData->isCounter()) { |
const CounterContent* counter = toCounterContentData(contentData)->counter(); |
ASSERT(counter); |
- RefPtrWillBeRawPtr<CSSPrimitiveValue> identifier = cssValuePool().createValue(counter->identifier(), CSSPrimitiveValue::UnitType::CustomIdentifier); |
- RefPtrWillBeRawPtr<CSSPrimitiveValue> separator = cssValuePool().createValue(counter->separator(), CSSPrimitiveValue::UnitType::CustomIdentifier); |
+ RefPtrWillBeRawPtr<CSSStringValue> identifier = CSSStringValue::create(counter->identifier(), CSSStringValue::SerializeAsCustomIdentifier); |
+ RefPtrWillBeRawPtr<CSSStringValue> separator = CSSStringValue::create(counter->separator(), CSSStringValue::SerializeAsCustomIdentifier); |
CSSValueID listStyleIdent = CSSValueNone; |
if (counter->listStyle() != NoneListStyle) |
listStyleIdent = static_cast<CSSValueID>(CSSValueDisc + counter->listStyle()); |
@@ -1000,7 +1001,7 @@ static PassRefPtrWillBeRawPtr<CSSValue> valueForContentData(const ComputedStyle& |
ASSERT(image); |
list->append(image->cssValue()); |
} else if (contentData->isText()) { |
- list->append(cssValuePool().createValue(toTextContentData(contentData)->text(), CSSPrimitiveValue::UnitType::String)); |
+ list->append(CSSStringValue::create(toTextContentData(contentData)->text(), CSSStringValue::SerializeAsString)); |
} else if (contentData->isQuote()) { |
const QuoteType quoteType = toQuoteContentData(contentData)->quote(); |
list->append(cssValuePool().createIdentifierValue(valueForQuoteType(quoteType))); |
@@ -1023,7 +1024,7 @@ static PassRefPtrWillBeRawPtr<CSSValue> valueForCounterDirectives(const Computed |
if (!isValidCounterValue) |
continue; |
- list->append(cssValuePool().createValue(item.key, CSSPrimitiveValue::UnitType::CustomIdentifier)); |
+ list->append(CSSStringValue::create(item.key, CSSStringValue::SerializeAsCustomIdentifier)); |
short number = propertyID == CSSPropertyCounterIncrement ? item.value.incrementValue() : item.value.resetValue(); |
list->append(cssValuePool().createValue((double)number, CSSPrimitiveValue::UnitType::Number)); |
} |
@@ -1179,7 +1180,7 @@ static PassRefPtrWillBeRawPtr<CSSValue> adjustSVGPaintForCurrentColor(SVGPaintTy |
{ |
if (paintType >= SVG_PAINTTYPE_URI_NONE) { |
RefPtrWillBeRawPtr<CSSValueList> values = CSSValueList::createSpaceSeparated(); |
- values->append(CSSPrimitiveValue::create(url, CSSPrimitiveValue::UnitType::URI)); |
+ values->append(CSSStringValue::create(url, CSSStringValue::SerializeAsURI)); |
if (paintType == SVG_PAINTTYPE_URI_NONE) |
values->append(CSSPrimitiveValue::create(CSSValueNone)); |
else if (paintType == SVG_PAINTTYPE_URI_CURRENTCOLOR) |
@@ -1238,7 +1239,7 @@ PassRefPtrWillBeRawPtr<CSSValue> ComputedStyleCSSValueMapping::valueForFilter(co |
switch (filterOperation->type()) { |
case FilterOperation::REFERENCE: |
filterValue = CSSFunctionValue::create(CSSValueUrl); |
- filterValue->append(cssValuePool().createValue(toReferenceFilterOperation(filterOperation)->url(), CSSPrimitiveValue::UnitType::CustomIdentifier)); |
+ filterValue->append(CSSStringValue::create(toReferenceFilterOperation(filterOperation)->url(), CSSStringValue::SerializeAsCustomIdentifier)); |
break; |
case FilterOperation::GRAYSCALE: |
filterValue = CSSFunctionValue::create(CSSValueGrayscale); |
@@ -1714,11 +1715,11 @@ PassRefPtrWillBeRawPtr<CSSValue> ComputedStyleCSSValueMapping::get(CSSPropertyID |
case CSSPropertyWebkitHighlight: |
if (style.highlight() == nullAtom) |
return cssValuePool().createIdentifierValue(CSSValueNone); |
- return cssValuePool().createValue(style.highlight(), CSSPrimitiveValue::UnitType::String); |
+ return CSSStringValue::create(style.highlight(), CSSStringValue::SerializeAsString); |
case CSSPropertyWebkitHyphenateCharacter: |
if (style.hyphenationString().isNull()) |
return cssValuePool().createIdentifierValue(CSSValueAuto); |
- return cssValuePool().createValue(style.hyphenationString(), CSSPrimitiveValue::UnitType::String); |
+ return CSSStringValue::create(style.hyphenationString(), CSSStringValue::SerializeAsString); |
case CSSPropertyImageRendering: |
return CSSPrimitiveValue::create(style.imageRendering()); |
case CSSPropertyImageOrientation: |
@@ -1754,7 +1755,7 @@ PassRefPtrWillBeRawPtr<CSSValue> ComputedStyleCSSValueMapping::get(CSSPropertyID |
case CSSPropertyWebkitLocale: |
if (style.locale().isNull()) |
return cssValuePool().createIdentifierValue(CSSValueAuto); |
- return cssValuePool().createValue(style.locale(), CSSPrimitiveValue::UnitType::String); |
+ return CSSStringValue::create(style.locale(), CSSStringValue::SerializeAsString); |
case CSSPropertyMarginTop: { |
Length marginTop = style.marginTop(); |
if (marginTop.isFixed() || !layoutObject || !layoutObject->isBox()) |
@@ -1892,8 +1893,8 @@ PassRefPtrWillBeRawPtr<CSSValue> ComputedStyleCSSValueMapping::get(CSSPropertyID |
if (style.quotes()->size()) { |
RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
for (int i = 0; i < style.quotes()->size(); i++) { |
- list->append(cssValuePool().createValue(style.quotes()->getOpenQuote(i), CSSPrimitiveValue::UnitType::String)); |
- list->append(cssValuePool().createValue(style.quotes()->getCloseQuote(i), CSSPrimitiveValue::UnitType::String)); |
+ list->append(CSSStringValue::create(style.quotes()->getOpenQuote(i), CSSStringValue::SerializeAsString)); |
+ list->append(CSSStringValue::create(style.quotes()->getCloseQuote(i), CSSStringValue::SerializeAsString)); |
} |
return list.release(); |
} |
@@ -1937,7 +1938,7 @@ PassRefPtrWillBeRawPtr<CSSValue> ComputedStyleCSSValueMapping::get(CSSPropertyID |
case TextEmphasisMarkNone: |
return cssValuePool().createIdentifierValue(CSSValueNone); |
case TextEmphasisMarkCustom: |
- return cssValuePool().createValue(style.textEmphasisCustomMark(), CSSPrimitiveValue::UnitType::String); |
+ return CSSStringValue::create(style.textEmphasisCustomMark(), CSSStringValue::SerializeAsString); |
case TextEmphasisMarkAuto: |
ASSERT_NOT_REACHED(); |
// Fall through |
@@ -2115,7 +2116,7 @@ PassRefPtrWillBeRawPtr<CSSValue> ComputedStyleCSSValueMapping::get(CSSPropertyID |
const CSSAnimationData* animationData = style.animations(); |
if (animationData) { |
for (size_t i = 0; i < animationData->nameList().size(); ++i) |
- list->append(cssValuePool().createValue(animationData->nameList()[i], CSSPrimitiveValue::UnitType::CustomIdentifier)); |
+ list->append(CSSStringValue::create(animationData->nameList()[i], CSSStringValue::SerializeAsCustomIdentifier)); |
} else { |
list->append(cssValuePool().createIdentifierValue(CSSValueNone)); |
} |
@@ -2140,7 +2141,7 @@ PassRefPtrWillBeRawPtr<CSSValue> ComputedStyleCSSValueMapping::get(CSSPropertyID |
RefPtrWillBeRawPtr<CSSValueList> animationsList = CSSValueList::createCommaSeparated(); |
for (size_t i = 0; i < animationData->nameList().size(); ++i) { |
RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
- list->append(cssValuePool().createValue(animationData->nameList()[i], CSSPrimitiveValue::UnitType::CustomIdentifier)); |
+ list->append(CSSStringValue::create(animationData->nameList()[i], CSSStringValue::SerializeAsCustomIdentifier)); |
list->append(cssValuePool().createValue(CSSTimingData::getRepeated(animationData->durationList(), i), CSSPrimitiveValue::UnitType::Seconds)); |
list->append(createTimingFunctionValue(CSSTimingData::getRepeated(animationData->timingFunctionList(), i).get())); |
list->append(cssValuePool().createValue(CSSTimingData::getRepeated(animationData->delayList(), i), CSSPrimitiveValue::UnitType::Seconds)); |
@@ -2324,7 +2325,7 @@ PassRefPtrWillBeRawPtr<CSSValue> ComputedStyleCSSValueMapping::get(CSSPropertyID |
if (operation->type() == ClipPathOperation::SHAPE) |
return valueForBasicShape(style, toShapeClipPathOperation(operation)->basicShape()); |
if (operation->type() == ClipPathOperation::REFERENCE) |
- return CSSPrimitiveValue::create(toReferenceClipPathOperation(operation)->url(), CSSPrimitiveValue::UnitType::URI); |
+ return CSSStringValue::create(toReferenceClipPathOperation(operation)->url(), CSSStringValue::SerializeAsURI); |
} |
return cssValuePool().createIdentifierValue(CSSValueNone); |
case CSSPropertyShapeMargin: |
@@ -2526,15 +2527,15 @@ PassRefPtrWillBeRawPtr<CSSValue> ComputedStyleCSSValueMapping::get(CSSPropertyID |
return CSSPrimitiveValue::create(svgStyle.writingMode()); |
case CSSPropertyClipPath: |
if (!svgStyle.clipperResource().isEmpty()) |
- return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(svgStyle.clipperResource()), CSSPrimitiveValue::UnitType::URI); |
+ return CSSStringValue::create(serializeAsFragmentIdentifier(svgStyle.clipperResource()), CSSStringValue::SerializeAsURI); |
return CSSPrimitiveValue::createIdentifier(CSSValueNone); |
case CSSPropertyMask: |
if (!svgStyle.maskerResource().isEmpty()) |
- return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(svgStyle.maskerResource()), CSSPrimitiveValue::UnitType::URI); |
+ return CSSStringValue::create(serializeAsFragmentIdentifier(svgStyle.maskerResource()), CSSStringValue::SerializeAsURI); |
return CSSPrimitiveValue::createIdentifier(CSSValueNone); |
case CSSPropertyFilter: |
if (!svgStyle.filterResource().isEmpty()) |
- return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(svgStyle.filterResource()), CSSPrimitiveValue::UnitType::URI); |
+ return CSSStringValue::create(serializeAsFragmentIdentifier(svgStyle.filterResource()), CSSStringValue::SerializeAsURI); |
return CSSPrimitiveValue::createIdentifier(CSSValueNone); |
case CSSPropertyFloodColor: |
return currentColorOrValidColor(style, svgStyle.floodColor()); |
@@ -2546,15 +2547,15 @@ PassRefPtrWillBeRawPtr<CSSValue> ComputedStyleCSSValueMapping::get(CSSPropertyID |
return adjustSVGPaintForCurrentColor(svgStyle.fillPaintType(), svgStyle.fillPaintUri(), svgStyle.fillPaintColor(), style.color()); |
case CSSPropertyMarkerEnd: |
if (!svgStyle.markerEndResource().isEmpty()) |
- return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(svgStyle.markerEndResource()), CSSPrimitiveValue::UnitType::URI); |
+ return CSSStringValue::create(serializeAsFragmentIdentifier(svgStyle.markerEndResource()), CSSStringValue::SerializeAsURI); |
return CSSPrimitiveValue::createIdentifier(CSSValueNone); |
case CSSPropertyMarkerMid: |
if (!svgStyle.markerMidResource().isEmpty()) |
- return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(svgStyle.markerMidResource()), CSSPrimitiveValue::UnitType::URI); |
+ return CSSStringValue::create(serializeAsFragmentIdentifier(svgStyle.markerMidResource()), CSSStringValue::SerializeAsURI); |
return CSSPrimitiveValue::createIdentifier(CSSValueNone); |
case CSSPropertyMarkerStart: |
if (!svgStyle.markerStartResource().isEmpty()) |
- return CSSPrimitiveValue::create(serializeAsFragmentIdentifier(svgStyle.markerStartResource()), CSSPrimitiveValue::UnitType::URI); |
+ return CSSStringValue::create(serializeAsFragmentIdentifier(svgStyle.markerStartResource()), CSSStringValue::SerializeAsURI); |
return CSSPrimitiveValue::createIdentifier(CSSValueNone); |
case CSSPropertyStroke: |
return adjustSVGPaintForCurrentColor(svgStyle.strokePaintType(), svgStyle.strokePaintUri(), svgStyle.strokePaintColor(), style.color()); |