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

Unified 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, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/css/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());

Powered by Google App Engine
This is Rietveld 408576698