Index: Source/core/css/resolver/StyleBuilderConverter.cpp |
diff --git a/Source/core/css/resolver/StyleBuilderConverter.cpp b/Source/core/css/resolver/StyleBuilderConverter.cpp |
index c0e62fead1f50e243621548f65805909eb0bd0f6..54001e8d280f838f8e8dcf389b903618507e82ea 100644 |
--- a/Source/core/css/resolver/StyleBuilderConverter.cpp |
+++ b/Source/core/css/resolver/StyleBuilderConverter.cpp |
@@ -59,53 +59,53 @@ static GridLength convertGridTrackBreadth(const StyleResolverState& state, CSSPr |
if (primitiveValue->isFlex()) |
return GridLength(primitiveValue->getDoubleValue()); |
- return StyleBuilderConverter::convertLengthOrAuto(state, primitiveValue); |
+ return StyleBuilderConverter::convertLengthOrAuto(state, CSSValue(*primitiveValue)); |
} |
} // namespace |
-PassRefPtr<StyleReflection> StyleBuilderConverter::convertBoxReflect(StyleResolverState& state, CSSValue* value) |
+PassRefPtr<StyleReflection> StyleBuilderConverter::convertBoxReflect(StyleResolverState& state, CSSValue value) |
{ |
- if (value->isPrimitiveValue()) { |
- ASSERT(toCSSPrimitiveValue(value)->getValueID() == CSSValueNone); |
+ if (value.isPrimitiveValue()) { |
+ ASSERT(toCSSPrimitiveValue(value).getValueID() == CSSValueNone); |
return ComputedStyle::initialBoxReflect(); |
} |
- CSSReflectValue* reflectValue = toCSSReflectValue(value); |
+ CSSReflectValue& reflectValue = toCSSReflectValue(value); |
RefPtr<StyleReflection> reflection = StyleReflection::create(); |
- reflection->setDirection(*reflectValue->direction()); |
- if (reflectValue->offset()) |
- reflection->setOffset(reflectValue->offset()->convertToLength(state.cssToLengthConversionData())); |
+ reflection->setDirection(*reflectValue.direction()); |
+ if (reflectValue.offset()) |
+ reflection->setOffset(reflectValue.offset()->convertToLength(state.cssToLengthConversionData())); |
NinePieceImage mask; |
mask.setMaskDefaults(); |
- CSSToStyleMap::mapNinePieceImage(state, CSSPropertyWebkitBoxReflect, reflectValue->mask(), mask); |
+ CSSToStyleMap::mapNinePieceImage(state, CSSPropertyWebkitBoxReflect, reflectValue.mask(), mask); |
reflection->setMask(mask); |
return reflection.release(); |
} |
-Color StyleBuilderConverter::convertColor(StyleResolverState& state, CSSValue* value, bool forVisitedLink) |
+Color StyleBuilderConverter::convertColor(StyleResolverState& state, CSSValue value, bool forVisitedLink) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
return state.document().textLinkColors().colorFromPrimitiveValue(primitiveValue, state.style()->color(), forVisitedLink); |
} |
-AtomicString StyleBuilderConverter::convertFragmentIdentifier(StyleResolverState& state, CSSValue* value) |
+AtomicString StyleBuilderConverter::convertFragmentIdentifier(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- if (primitiveValue->isURI()) |
- return SVGURIReference::fragmentIdentifierFromIRIString(primitiveValue->getStringValue(), state.element()->treeScope()); |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ if (primitiveValue.isURI()) |
+ return SVGURIReference::fragmentIdentifierFromIRIString(primitiveValue.getStringValue(), state.element()->treeScope()); |
return nullAtom; |
} |
-LengthBox StyleBuilderConverter::convertClip(StyleResolverState& state, CSSValue* value) |
+LengthBox StyleBuilderConverter::convertClip(StyleResolverState& state, CSSValue value) |
{ |
- Rect* rect = toCSSPrimitiveValue(value)->getRectValue(); |
+ Rect* rect = toCSSPrimitiveValue(value).getRectValue(); |
- return LengthBox(convertLengthOrAuto(state, rect->top()), |
- convertLengthOrAuto(state, rect->right()), |
- convertLengthOrAuto(state, rect->bottom()), |
- convertLengthOrAuto(state, rect->left())); |
+ return LengthBox(convertLengthOrAuto(state, CSSValue(*rect->top())), |
+ convertLengthOrAuto(state, CSSValue(*rect->right())), |
+ convertLengthOrAuto(state, CSSValue(*rect->bottom())), |
+ convertLengthOrAuto(state, CSSValue(*rect->left()))); |
} |
static FontDescription::GenericFamilyType convertGenericFamily(CSSValueID valueID) |
@@ -130,32 +130,32 @@ static FontDescription::GenericFamilyType convertGenericFamily(CSSValueID valueI |
} |
} |
-static bool convertFontFamilyName(StyleResolverState& state, CSSPrimitiveValue* primitiveValue, |
+static bool convertFontFamilyName(StyleResolverState& state, CSSPrimitiveValue& primitiveValue, |
FontDescription::GenericFamilyType& genericFamily, AtomicString& familyName) |
{ |
- if (primitiveValue->isCustomIdent()) { |
+ if (primitiveValue.isCustomIdent()) { |
genericFamily = FontDescription::NoFamily; |
- familyName = AtomicString(primitiveValue->getStringValue()); |
+ familyName = AtomicString(primitiveValue.getStringValue()); |
} else if (state.document().settings()) { |
- genericFamily = convertGenericFamily(primitiveValue->getValueID()); |
+ genericFamily = convertGenericFamily(primitiveValue.getValueID()); |
familyName = state.fontBuilder().genericFontFamilyName(genericFamily); |
} |
return !familyName.isEmpty(); |
} |
-FontDescription::FamilyDescription StyleBuilderConverter::convertFontFamily(StyleResolverState& state, CSSValue* value) |
+FontDescription::FamilyDescription StyleBuilderConverter::convertFontFamily(StyleResolverState& state, CSSValue value) |
{ |
- ASSERT(value->isValueList()); |
+ ASSERT(value.isValueList()); |
FontDescription::FamilyDescription desc(FontDescription::NoFamily); |
FontFamily* currFamily = nullptr; |
- for (auto& family : toCSSValueList(*value)) { |
+ for (auto& family : toCSSValueList(value)) { |
FontDescription::GenericFamilyType genericFamily = FontDescription::NoFamily; |
AtomicString familyName; |
- if (!convertFontFamilyName(state, toCSSPrimitiveValue(family.get()), genericFamily, familyName)) |
+ if (!convertFontFamilyName(state, toCSSPrimitiveValue(family), genericFamily, familyName)) |
continue; |
if (!currFamily) { |
@@ -175,22 +175,22 @@ FontDescription::FamilyDescription StyleBuilderConverter::convertFontFamily(Styl |
return desc; |
} |
-PassRefPtr<FontFeatureSettings> StyleBuilderConverter::convertFontFeatureSettings(StyleResolverState& state, CSSValue* value) |
+PassRefPtr<FontFeatureSettings> StyleBuilderConverter::convertFontFeatureSettings(StyleResolverState& state, CSSValue value) |
{ |
- if (value->isPrimitiveValue() && toCSSPrimitiveValue(value)->getValueID() == CSSValueNormal) |
+ if (value.isPrimitiveValue() && toCSSPrimitiveValue(value).getValueID() == CSSValueNormal) |
return FontBuilder::initialFeatureSettings(); |
- CSSValueList* list = toCSSValueList(value); |
+ CSSValueList& list = toCSSValueList(value); |
RefPtr<FontFeatureSettings> settings = FontFeatureSettings::create(); |
- int len = list->length(); |
+ int len = list.length(); |
for (int i = 0; i < len; ++i) { |
- CSSFontFeatureValue* feature = toCSSFontFeatureValue(list->item(i)); |
- settings->append(FontFeature(feature->tag(), feature->value())); |
+ CSSFontFeatureValue& feature = toCSSFontFeatureValue(list.item(i)); |
+ settings->append(FontFeature(feature.tag(), feature.value())); |
} |
return settings; |
} |
-static float computeFontSize(StyleResolverState& state, CSSPrimitiveValue* primitiveValue, const FontDescription::Size& parentSize) |
+static float computeFontSize(StyleResolverState& state, CSSPrimitiveValue& primitiveValue, const FontDescription::Size& parentSize) |
{ |
float em = state.parentStyle()->specifiedFontSize(); |
float rem = state.rootElementStyle() ? state.rootElementStyle()->specifiedFontSize() : 1.0f; |
@@ -198,18 +198,18 @@ static float computeFontSize(StyleResolverState& state, CSSPrimitiveValue* primi |
CSSToLengthConversionData::ViewportSize viewportSize(state.document().layoutView()); |
CSSToLengthConversionData conversionData(state.style(), fontSizes, viewportSize, 1.0f); |
- if (primitiveValue->isLength()) |
- return primitiveValue->computeLength<float>(conversionData); |
- if (primitiveValue->isCalculatedPercentageWithLength()) |
- return primitiveValue->cssCalcValue()->toCalcValue(conversionData)->evaluate(parentSize.value); |
+ if (primitiveValue.isLength()) |
+ return primitiveValue.computeLength<float>(conversionData); |
+ if (primitiveValue.isCalculatedPercentageWithLength()) |
+ return primitiveValue.cssCalcValue()->toCalcValue(conversionData)->evaluate(parentSize.value); |
ASSERT_NOT_REACHED(); |
return 0; |
} |
-FontDescription::Size StyleBuilderConverter::convertFontSize(StyleResolverState& state, CSSValue* value) |
+FontDescription::Size StyleBuilderConverter::convertFontSize(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
FontDescription::Size parentSize(0, 0.0f, false); |
@@ -217,7 +217,7 @@ FontDescription::Size StyleBuilderConverter::convertFontSize(StyleResolverState& |
if (state.parentStyle()) |
parentSize = state.parentFontDescription().size(); |
- if (CSSValueID valueID = primitiveValue->getValueID()) { |
+ if (CSSValueID valueID = primitiveValue.getValueID()) { |
switch (valueID) { |
case CSSValueXxSmall: |
case CSSValueXSmall: |
@@ -240,44 +240,44 @@ FontDescription::Size StyleBuilderConverter::convertFontSize(StyleResolverState& |
bool parentIsAbsoluteSize = state.parentFontDescription().isAbsoluteSize(); |
- if (primitiveValue->isPercentage()) |
- return FontDescription::Size(0, (primitiveValue->getFloatValue() * parentSize.value / 100.0f), parentIsAbsoluteSize); |
+ if (primitiveValue.isPercentage()) |
+ return FontDescription::Size(0, (primitiveValue.getFloatValue() * parentSize.value / 100.0f), parentIsAbsoluteSize); |
- return FontDescription::Size(0, computeFontSize(state, primitiveValue, parentSize), parentIsAbsoluteSize || !primitiveValue->isFontRelativeLength()); |
+ return FontDescription::Size(0, computeFontSize(state, primitiveValue, parentSize), parentIsAbsoluteSize || !primitiveValue.isFontRelativeLength()); |
} |
-float StyleBuilderConverter::convertFontSizeAdjust(StyleResolverState& state, CSSValue* value) |
+float StyleBuilderConverter::convertFontSizeAdjust(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- if (primitiveValue->getValueID() == CSSValueNone) |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ if (primitiveValue.getValueID() == CSSValueNone) |
return FontBuilder::initialSizeAdjust(); |
- ASSERT(primitiveValue->isNumber()); |
- return primitiveValue->getFloatValue(); |
+ ASSERT(primitiveValue.isNumber()); |
+ return primitiveValue.getFloatValue(); |
} |
-FontWeight StyleBuilderConverter::convertFontWeight(StyleResolverState& state, CSSValue* value) |
+FontWeight StyleBuilderConverter::convertFontWeight(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- switch (primitiveValue->getValueID()) { |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ switch (primitiveValue.getValueID()) { |
case CSSValueBolder: |
return FontDescription::bolderWeight(state.parentStyle()->fontDescription().weight()); |
case CSSValueLighter: |
return FontDescription::lighterWeight(state.parentStyle()->fontDescription().weight()); |
default: |
- return *primitiveValue; |
+ return primitiveValue; |
} |
} |
-FontDescription::VariantLigatures StyleBuilderConverter::convertFontVariantLigatures(StyleResolverState&, CSSValue* value) |
+FontDescription::VariantLigatures StyleBuilderConverter::convertFontVariantLigatures(StyleResolverState&, CSSValue value) |
{ |
- if (value->isValueList()) { |
+ if (value.isValueList()) { |
FontDescription::VariantLigatures ligatures; |
- CSSValueList* valueList = toCSSValueList(value); |
- for (size_t i = 0; i < valueList->length(); ++i) { |
- CSSValue* item = valueList->item(i); |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(item); |
- switch (primitiveValue->getValueID()) { |
+ CSSValueList& valueList = toCSSValueList(value); |
+ for (size_t i = 0; i < valueList.length(); ++i) { |
+ CSSValue item = valueList.item(i); |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(item); |
+ switch (primitiveValue.getValueID()) { |
case CSSValueNoCommonLigatures: |
ligatures.common = FontDescription::DisabledLigaturesState; |
break; |
@@ -310,21 +310,21 @@ FontDescription::VariantLigatures StyleBuilderConverter::convertFontVariantLigat |
return ligatures; |
} |
- ASSERT_WITH_SECURITY_IMPLICATION(value->isPrimitiveValue()); |
- ASSERT(toCSSPrimitiveValue(value)->getValueID() == CSSValueNormal); |
+ ASSERT_WITH_SECURITY_IMPLICATION(value.isPrimitiveValue()); |
+ ASSERT(toCSSPrimitiveValue(value).getValueID() == CSSValueNormal); |
return FontDescription::VariantLigatures(); |
} |
-EGlyphOrientation StyleBuilderConverter::convertGlyphOrientation(StyleResolverState&, CSSValue* value) |
+EGlyphOrientation StyleBuilderConverter::convertGlyphOrientation(StyleResolverState&, CSSValue value) |
{ |
- if (!value->isPrimitiveValue()) |
+ if (!value.isPrimitiveValue()) |
return GO_0DEG; |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- if (primitiveValue->primitiveType() != CSSPrimitiveValue::CSS_DEG) |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ if (primitiveValue.primitiveType() != CSSPrimitiveValue::CSS_DEG) |
return GO_0DEG; |
- float angle = fabsf(fmodf(primitiveValue->getFloatValue(), 360.0f)); |
+ float angle = fabsf(fmodf(primitiveValue.getFloatValue(), 360.0f)); |
if (angle <= 45.0f || angle > 315.0f) |
return GO_0DEG; |
@@ -335,11 +335,11 @@ EGlyphOrientation StyleBuilderConverter::convertGlyphOrientation(StyleResolverSt |
return GO_270DEG; |
} |
-StyleSelfAlignmentData StyleBuilderConverter::convertSelfOrDefaultAlignmentData(StyleResolverState&, CSSValue* value) |
+StyleSelfAlignmentData StyleBuilderConverter::convertSelfOrDefaultAlignmentData(StyleResolverState&, CSSValue value) |
{ |
StyleSelfAlignmentData alignmentData = ComputedStyle::initialSelfAlignment(); |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- if (Pair* pairValue = primitiveValue->getPairValue()) { |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ if (Pair* pairValue = primitiveValue.getPairValue()) { |
if (pairValue->first()->getValueID() == CSSValueLegacy) { |
alignmentData.setPositionType(LegacyPosition); |
alignmentData.setPosition(*pairValue->second()); |
@@ -348,31 +348,31 @@ StyleSelfAlignmentData StyleBuilderConverter::convertSelfOrDefaultAlignmentData( |
alignmentData.setOverflow(*pairValue->second()); |
} |
} else { |
- alignmentData.setPosition(*primitiveValue); |
+ alignmentData.setPosition(primitiveValue); |
} |
return alignmentData; |
} |
-StyleContentAlignmentData StyleBuilderConverter::convertContentAlignmentData(StyleResolverState&, CSSValue* value) |
+StyleContentAlignmentData StyleBuilderConverter::convertContentAlignmentData(StyleResolverState&, CSSValue value) |
{ |
StyleContentAlignmentData alignmentData = ComputedStyle::initialContentAlignment(); |
- CSSContentDistributionValue* contentValue = toCSSContentDistributionValue(value); |
- if (contentValue->distribution()->getValueID() != CSSValueInvalid) |
- alignmentData.setDistribution(*contentValue->distribution()); |
- if (contentValue->position()->getValueID() != CSSValueInvalid) |
- alignmentData.setPosition(*contentValue->position()); |
- if (contentValue->overflow()->getValueID() != CSSValueInvalid) |
- alignmentData.setOverflow(*contentValue->overflow()); |
+ CSSContentDistributionValue& contentValue = toCSSContentDistributionValue(value); |
+ if (contentValue.distribution()->getValueID() != CSSValueInvalid) |
+ alignmentData.setDistribution(*contentValue.distribution()); |
+ if (contentValue.position()->getValueID() != CSSValueInvalid) |
+ alignmentData.setPosition(*contentValue.position()); |
+ if (contentValue.overflow()->getValueID() != CSSValueInvalid) |
+ alignmentData.setOverflow(*contentValue.overflow()); |
return alignmentData; |
} |
-GridAutoFlow StyleBuilderConverter::convertGridAutoFlow(StyleResolverState&, CSSValue* value) |
+GridAutoFlow StyleBuilderConverter::convertGridAutoFlow(StyleResolverState&, CSSValue value) |
{ |
- CSSValueList* list = toCSSValueList(value); |
+ CSSValueList& list = toCSSValueList(value); |
- ASSERT(list->length() >= 1); |
- CSSPrimitiveValue* first = toCSSPrimitiveValue(list->item(0)); |
- CSSPrimitiveValue* second = list->length() == 2 ? toCSSPrimitiveValue(list->item(1)) : nullptr; |
+ ASSERT(list.length() >= 1); |
+ CSSPrimitiveValue* first = &toCSSPrimitiveValue(list.item(0)); |
+ CSSPrimitiveValue* second = list.length() == 2 ? &toCSSPrimitiveValue(list.item(1)) : nullptr; |
switch (first->getValueID()) { |
case CSSValueRow: |
@@ -393,46 +393,46 @@ GridAutoFlow StyleBuilderConverter::convertGridAutoFlow(StyleResolverState&, CSS |
} |
} |
-GridPosition StyleBuilderConverter::convertGridPosition(StyleResolverState&, CSSValue* value) |
+GridPosition StyleBuilderConverter::convertGridPosition(StyleResolverState&, CSSValue value) |
{ |
// We accept the specification's grammar: |
// 'auto' | [ <integer> || <custom-ident> ] | [ span && [ <integer> || <custom-ident> ] ] | <custom-ident> |
GridPosition position; |
- if (value->isPrimitiveValue()) { |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
+ if (value.isPrimitiveValue()) { |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
// We translate <custom-ident> to <string> during parsing as it |
// makes handling it more simple. |
- if (primitiveValue->isCustomIdent()) { |
- position.setNamedGridArea(primitiveValue->getStringValue()); |
+ if (primitiveValue.isCustomIdent()) { |
+ position.setNamedGridArea(primitiveValue.getStringValue()); |
return position; |
} |
- ASSERT(primitiveValue->getValueID() == CSSValueAuto); |
+ ASSERT(primitiveValue.getValueID() == CSSValueAuto); |
return position; |
} |
- CSSValueList* values = toCSSValueList(value); |
- ASSERT(values->length()); |
+ CSSValueList& values = toCSSValueList(value); |
+ ASSERT(values.length()); |
bool isSpanPosition = false; |
// The specification makes the <integer> optional, in which case it default to '1'. |
int gridLineNumber = 1; |
String gridLineName; |
- auto it = values->begin(); |
- CSSPrimitiveValue* currentValue = toCSSPrimitiveValue(it->get()); |
+ auto it = values.begin(); |
+ CSSPrimitiveValue* currentValue = &toCSSPrimitiveValue(*it); |
if (currentValue->getValueID() == CSSValueSpan) { |
isSpanPosition = true; |
++it; |
- currentValue = it != values->end() ? toCSSPrimitiveValue(it->get()) : 0; |
+ currentValue = it != values.end() ? &toCSSPrimitiveValue(*it) : 0; |
} |
if (currentValue && currentValue->isNumber()) { |
gridLineNumber = currentValue->getIntValue(); |
++it; |
- currentValue = it != values->end() ? toCSSPrimitiveValue(it->get()) : 0; |
+ currentValue = it != values.end() ? &toCSSPrimitiveValue(*it) : 0; |
} |
if (currentValue && currentValue->isCustomIdent()) { |
@@ -440,7 +440,7 @@ GridPosition StyleBuilderConverter::convertGridPosition(StyleResolverState&, CSS |
++it; |
} |
- ASSERT(it == values->end()); |
+ ASSERT(it == values.end()); |
if (isSpanPosition) |
position.setSpanPosition(gridLineNumber, gridLineName); |
else |
@@ -449,34 +449,34 @@ GridPosition StyleBuilderConverter::convertGridPosition(StyleResolverState&, CSS |
return position; |
} |
-GridTrackSize StyleBuilderConverter::convertGridTrackSize(StyleResolverState& state, CSSValue* value) |
+GridTrackSize StyleBuilderConverter::convertGridTrackSize(StyleResolverState& state, CSSValue value) |
{ |
- if (value->isPrimitiveValue()) |
- return GridTrackSize(convertGridTrackBreadth(state, toCSSPrimitiveValue(value))); |
+ if (value.isPrimitiveValue()) |
+ return GridTrackSize(convertGridTrackBreadth(state, &toCSSPrimitiveValue(value))); |
- CSSFunctionValue* minmaxFunction = toCSSFunctionValue(value); |
- ASSERT_WITH_SECURITY_IMPLICATION(minmaxFunction->length() == 2); |
- GridLength minTrackBreadth(convertGridTrackBreadth(state, toCSSPrimitiveValue(minmaxFunction->item(0)))); |
- GridLength maxTrackBreadth(convertGridTrackBreadth(state, toCSSPrimitiveValue(minmaxFunction->item(1)))); |
+ CSSFunctionValue& minmaxFunction = toCSSFunctionValue(value); |
+ ASSERT_WITH_SECURITY_IMPLICATION(minmaxFunction.length() == 2); |
+ GridLength minTrackBreadth(convertGridTrackBreadth(state, &toCSSPrimitiveValue(minmaxFunction.item(0)))); |
+ GridLength maxTrackBreadth(convertGridTrackBreadth(state, &toCSSPrimitiveValue(minmaxFunction.item(1)))); |
return GridTrackSize(minTrackBreadth, maxTrackBreadth); |
} |
-bool StyleBuilderConverter::convertGridTrackList(CSSValue* value, Vector<GridTrackSize>& trackSizes, NamedGridLinesMap& namedGridLines, OrderedNamedGridLines& orderedNamedGridLines, StyleResolverState& state) |
+bool StyleBuilderConverter::convertGridTrackList(CSSValue value, Vector<GridTrackSize>& trackSizes, NamedGridLinesMap& namedGridLines, OrderedNamedGridLines& orderedNamedGridLines, StyleResolverState& state) |
{ |
// Handle 'none'. |
- if (value->isPrimitiveValue()) { |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- return primitiveValue->getValueID() == CSSValueNone; |
+ if (value.isPrimitiveValue()) { |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ return primitiveValue.getValueID() == CSSValueNone; |
} |
- if (!value->isValueList()) |
+ if (!value.isValueList()) |
return false; |
size_t currentNamedGridLine = 0; |
- for (auto& currValue : *toCSSValueList(value)) { |
- if (currValue->isGridLineNamesValue()) { |
- for (auto& namedGridLineValue : toCSSGridLineNamesValue(*currValue)) { |
- String namedGridLine = toCSSPrimitiveValue(namedGridLineValue.get())->getStringValue(); |
+ for (auto& currValue : toCSSValueList(value)) { |
+ if (currValue.isGridLineNamesValue()) { |
+ for (auto& namedGridLineValue : toCSSGridLineNamesValue(currValue)) { |
+ String namedGridLine = toCSSPrimitiveValue(namedGridLineValue).getStringValue(); |
NamedGridLinesMap::AddResult result = namedGridLines.add(namedGridLine, Vector<size_t>()); |
result.storedValue->value.append(currentNamedGridLine); |
OrderedNamedGridLines::AddResult orderedInsertionResult = orderedNamedGridLines.add(currentNamedGridLine, Vector<String>()); |
@@ -486,7 +486,7 @@ bool StyleBuilderConverter::convertGridTrackList(CSSValue* value, Vector<GridTra |
} |
++currentNamedGridLine; |
- trackSizes.append(convertGridTrackSize(state, currValue.get())); |
+ trackSizes.append(convertGridTrackSize(state, currValue)); |
} |
// The parser should have rejected any <track-list> without any <track-size> as |
@@ -532,28 +532,28 @@ void StyleBuilderConverter::createImplicitNamedGridLinesFromGridArea(const Named |
} |
} |
-Length StyleBuilderConverter::convertLength(const StyleResolverState& state, CSSValue* value) |
+Length StyleBuilderConverter::convertLength(const StyleResolverState& state, CSSValue value) |
{ |
- return toCSSPrimitiveValue(value)->convertToLength(state.cssToLengthConversionData()); |
+ return toCSSPrimitiveValue(value).convertToLength(state.cssToLengthConversionData()); |
} |
-UnzoomedLength StyleBuilderConverter::convertUnzoomedLength(const StyleResolverState& state, CSSValue* value) |
+UnzoomedLength StyleBuilderConverter::convertUnzoomedLength(const StyleResolverState& state, CSSValue value) |
{ |
- return UnzoomedLength(toCSSPrimitiveValue(value)->convertToLength(state.cssToLengthConversionData().copyWithAdjustedZoom(1.0f))); |
+ return UnzoomedLength(toCSSPrimitiveValue(value).convertToLength(state.cssToLengthConversionData().copyWithAdjustedZoom(1.0f))); |
} |
-Length StyleBuilderConverter::convertLengthOrAuto(const StyleResolverState& state, CSSValue* value) |
+Length StyleBuilderConverter::convertLengthOrAuto(const StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- if (primitiveValue->getValueID() == CSSValueAuto) |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ if (primitiveValue.getValueID() == CSSValueAuto) |
return Length(Auto); |
- return primitiveValue->convertToLength(state.cssToLengthConversionData()); |
+ return primitiveValue.convertToLength(state.cssToLengthConversionData()); |
} |
-Length StyleBuilderConverter::convertLengthSizing(StyleResolverState& state, CSSValue* value) |
+Length StyleBuilderConverter::convertLengthSizing(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- switch (primitiveValue->getValueID()) { |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ switch (primitiveValue.getValueID()) { |
case CSSValueInvalid: |
return convertLength(state, value); |
case CSSValueIntrinsic: |
@@ -578,30 +578,30 @@ Length StyleBuilderConverter::convertLengthSizing(StyleResolverState& state, CSS |
} |
} |
-Length StyleBuilderConverter::convertLengthMaxSizing(StyleResolverState& state, CSSValue* value) |
+Length StyleBuilderConverter::convertLengthMaxSizing(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- if (primitiveValue->getValueID() == CSSValueNone) |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ if (primitiveValue.getValueID() == CSSValueNone) |
return Length(MaxSizeNone); |
return convertLengthSizing(state, value); |
} |
-TabSize StyleBuilderConverter::convertLengthOrTabSpaces(StyleResolverState& state, CSSValue* value) |
+TabSize StyleBuilderConverter::convertLengthOrTabSpaces(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- if (primitiveValue->isNumber()) |
- return TabSize(primitiveValue->getIntValue()); |
- return TabSize(primitiveValue->computeLength<float>(state.cssToLengthConversionData())); |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ if (primitiveValue.isNumber()) |
+ return TabSize(primitiveValue.getIntValue()); |
+ return TabSize(primitiveValue.computeLength<float>(state.cssToLengthConversionData())); |
} |
-LineBoxContain StyleBuilderConverter::convertLineBoxContain(StyleResolverState&, CSSValue* value) |
+LineBoxContain StyleBuilderConverter::convertLineBoxContain(StyleResolverState&, CSSValue value) |
{ |
- if (value->isPrimitiveValue()) { |
- ASSERT(toCSSPrimitiveValue(value)->getValueID() == CSSValueNone); |
+ if (value.isPrimitiveValue()) { |
+ ASSERT(toCSSPrimitiveValue(value).getValueID() == CSSValueNone); |
return LineBoxContainNone; |
} |
- return toCSSLineBoxContainValue(value)->value(); |
+ return toCSSLineBoxContainValue(value).value(); |
} |
static CSSToLengthConversionData lineHeightToLengthConversionData(StyleResolverState& state) |
@@ -612,77 +612,77 @@ static CSSToLengthConversionData lineHeightToLengthConversionData(StyleResolverS |
return state.cssToLengthConversionData().copyWithAdjustedZoom(multiplier); |
} |
-Length StyleBuilderConverter::convertLineHeight(StyleResolverState& state, CSSValue* value) |
+Length StyleBuilderConverter::convertLineHeight(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
- if (primitiveValue->isLength()) |
- return primitiveValue->computeLength<Length>(lineHeightToLengthConversionData(state)); |
- if (primitiveValue->isPercentage()) |
- return Length((state.style()->computedFontSize() * primitiveValue->getIntValue()) / 100.0, Fixed); |
- if (primitiveValue->isNumber()) |
- return Length(primitiveValue->getDoubleValue() * 100.0, Percent); |
- if (primitiveValue->isCalculated()) { |
- Length zoomedLength = Length(primitiveValue->cssCalcValue()->toCalcValue(lineHeightToLengthConversionData(state))); |
+ if (primitiveValue.isLength()) |
+ return primitiveValue.computeLength<Length>(lineHeightToLengthConversionData(state)); |
+ if (primitiveValue.isPercentage()) |
+ return Length((state.style()->computedFontSize() * primitiveValue.getIntValue()) / 100.0, Fixed); |
+ if (primitiveValue.isNumber()) |
+ return Length(primitiveValue.getDoubleValue() * 100.0, Percent); |
+ if (primitiveValue.isCalculated()) { |
+ Length zoomedLength = Length(primitiveValue.cssCalcValue()->toCalcValue(lineHeightToLengthConversionData(state))); |
return Length(valueForLength(zoomedLength, state.style()->fontSize()), Fixed); |
} |
- ASSERT(primitiveValue->getValueID() == CSSValueNormal); |
+ ASSERT(primitiveValue.getValueID() == CSSValueNormal); |
return ComputedStyle::initialLineHeight(); |
} |
-float StyleBuilderConverter::convertNumberOrPercentage(StyleResolverState& state, CSSValue* value) |
+float StyleBuilderConverter::convertNumberOrPercentage(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- ASSERT(primitiveValue->isNumber() || primitiveValue->isPercentage()); |
- if (primitiveValue->isNumber()) |
- return primitiveValue->getFloatValue(); |
- return primitiveValue->getFloatValue() / 100.0f; |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ ASSERT(primitiveValue.isNumber() || primitiveValue.isPercentage()); |
+ if (primitiveValue.isNumber()) |
+ return primitiveValue.getFloatValue(); |
+ return primitiveValue.getFloatValue() / 100.0f; |
} |
template <CSSValueID cssValueFor0, CSSValueID cssValueFor100> |
static Length convertPositionLength(StyleResolverState& state, CSSPrimitiveValue* primitiveValue) |
{ |
if (Pair* pair = primitiveValue->getPairValue()) { |
- Length length = StyleBuilderConverter::convertLength(state, pair->second()); |
+ Length length = StyleBuilderConverter::convertLength(state, CSSValue(*pair->second())); |
if (pair->first()->getValueID() == cssValueFor0) |
return length; |
ASSERT(pair->first()->getValueID() == cssValueFor100); |
return length.subtractFromOneHundredPercent(); |
} |
- return StyleBuilderConverter::convertLength(state, primitiveValue); |
+ return StyleBuilderConverter::convertLength(state, CSSValue(*primitiveValue)); |
} |
-LengthPoint StyleBuilderConverter::convertPosition(StyleResolverState& state, CSSValue* value) |
+LengthPoint StyleBuilderConverter::convertPosition(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- Pair* pair = primitiveValue->getPairValue(); |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ Pair* pair = primitiveValue.getPairValue(); |
return LengthPoint( |
convertPositionLength<CSSValueLeft, CSSValueRight>(state, pair->first()), |
convertPositionLength<CSSValueTop, CSSValueBottom>(state, pair->second()) |
); |
} |
-static float convertPerspectiveLength(StyleResolverState& state, CSSPrimitiveValue* primitiveValue) |
+static float convertPerspectiveLength(StyleResolverState& state, CSSPrimitiveValue& primitiveValue) |
{ |
- return std::max(primitiveValue->computeLength<float>(state.cssToLengthConversionData()), 0.0f); |
+ return std::max(primitiveValue.computeLength<float>(state.cssToLengthConversionData()), 0.0f); |
} |
-float StyleBuilderConverter::convertPerspective(StyleResolverState& state, CSSValue* value) |
+float StyleBuilderConverter::convertPerspective(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
- if (primitiveValue->getValueID() == CSSValueNone) |
+ if (primitiveValue.getValueID() == CSSValueNone) |
return ComputedStyle::initialPerspective(); |
return convertPerspectiveLength(state, primitiveValue); |
} |
template <CSSValueID cssValueFor0, CSSValueID cssValueFor100> |
-static Length convertOriginLength(StyleResolverState& state, CSSPrimitiveValue* primitiveValue) |
+static Length convertOriginLength(StyleResolverState& state, CSSPrimitiveValue& primitiveValue) |
{ |
- if (primitiveValue->isValueID()) { |
- switch (primitiveValue->getValueID()) { |
+ if (primitiveValue.isValueID()) { |
+ switch (primitiveValue.getValueID()) { |
case cssValueFor0: |
return Length(0, Percent); |
case cssValueFor100: |
@@ -694,16 +694,16 @@ static Length convertOriginLength(StyleResolverState& state, CSSPrimitiveValue* |
} |
} |
- return StyleBuilderConverter::convertLength(state, primitiveValue); |
+ return StyleBuilderConverter::convertLength(state, CSSValue(primitiveValue)); |
} |
-LengthPoint StyleBuilderConverter::convertPerspectiveOrigin(StyleResolverState& state, CSSValue* value) |
+LengthPoint StyleBuilderConverter::convertPerspectiveOrigin(StyleResolverState& state, CSSValue value) |
{ |
- CSSValueList* list = toCSSValueList(value); |
- ASSERT(list->length() == 2); |
+ CSSValueList& list = toCSSValueList(value); |
+ ASSERT(list.length() == 2); |
- CSSPrimitiveValue* primitiveValueX = toCSSPrimitiveValue(list->item(0)); |
- CSSPrimitiveValue* primitiveValueY = toCSSPrimitiveValue(list->item(1)); |
+ CSSPrimitiveValue& primitiveValueX = toCSSPrimitiveValue(list.item(0)); |
+ CSSPrimitiveValue& primitiveValueY = toCSSPrimitiveValue(list.item(1)); |
return LengthPoint( |
convertOriginLength<CSSValueLeft, CSSValueRight>(state, primitiveValueX), |
@@ -711,14 +711,14 @@ LengthPoint StyleBuilderConverter::convertPerspectiveOrigin(StyleResolverState& |
); |
} |
-EPaintOrder StyleBuilderConverter::convertPaintOrder(StyleResolverState&, CSSValue* cssPaintOrder) |
+EPaintOrder StyleBuilderConverter::convertPaintOrder(StyleResolverState&, CSSValue cssPaintOrder) |
{ |
- if (cssPaintOrder->isValueList()) { |
+ if (cssPaintOrder.isValueList()) { |
int paintOrder = 0; |
- const CSSValueList& list = *toCSSValueList(cssPaintOrder); |
+ const CSSValueList& list = toCSSValueList(cssPaintOrder); |
for (size_t i = 0; i < list.length(); ++i) { |
EPaintOrderType paintOrderType = PT_NONE; |
- switch (toCSSPrimitiveValue(list.item(i))->getValueID()) { |
+ switch (toCSSPrimitiveValue(list.item(i)).getValueID()) { |
case CSSValueFill: |
paintOrderType = PT_FILL; |
break; |
@@ -741,24 +741,24 @@ EPaintOrder StyleBuilderConverter::convertPaintOrder(StyleResolverState&, CSSVal |
return PO_NORMAL; |
} |
-Length StyleBuilderConverter::convertQuirkyLength(StyleResolverState& state, CSSValue* value) |
+Length StyleBuilderConverter::convertQuirkyLength(StyleResolverState& state, CSSValue value) |
{ |
Length length = convertLengthOrAuto(state, value); |
// This is only for margins which use __qem |
- length.setQuirk(toCSSPrimitiveValue(value)->isQuirkValue()); |
+ length.setQuirk(toCSSPrimitiveValue(value).isQuirkValue()); |
return length; |
} |
-PassRefPtr<QuotesData> StyleBuilderConverter::convertQuotes(StyleResolverState&, CSSValue* value) |
+PassRefPtr<QuotesData> StyleBuilderConverter::convertQuotes(StyleResolverState&, CSSValue value) |
{ |
- if (value->isValueList()) { |
- CSSValueList* list = toCSSValueList(value); |
+ if (value.isValueList()) { |
+ CSSValueList& list = toCSSValueList(value); |
RefPtr<QuotesData> quotes = QuotesData::create(); |
- for (size_t i = 0; i < list->length(); i += 2) { |
- CSSValue* first = list->item(i); |
- CSSValue* second = list->item(i + 1); |
- String startQuote = toCSSPrimitiveValue(first)->getStringValue(); |
- String endQuote = toCSSPrimitiveValue(second)->getStringValue(); |
+ for (size_t i = 0; i < list.length(); i += 2) { |
+ CSSValue first = list.item(i); |
+ CSSValue second = list.item(i + 1); |
+ String startQuote = toCSSPrimitiveValue(first).getStringValue(); |
+ String endQuote = toCSSPrimitiveValue(second).getStringValue(); |
quotes->addPair(std::make_pair(startQuote, endQuote)); |
} |
return quotes.release(); |
@@ -767,10 +767,10 @@ PassRefPtr<QuotesData> StyleBuilderConverter::convertQuotes(StyleResolverState&, |
return QuotesData::create(); |
} |
-LengthSize StyleBuilderConverter::convertRadius(StyleResolverState& state, CSSValue* value) |
+LengthSize StyleBuilderConverter::convertRadius(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- Pair* pair = primitiveValue->getPairValue(); |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ Pair* pair = primitiveValue.getPairValue(); |
Length radiusWidth = pair->first()->convertToLength(state.cssToLengthConversionData()); |
Length radiusHeight = pair->second()->convertToLength(state.cssToLengthConversionData()); |
float width = radiusWidth.value(); |
@@ -781,50 +781,50 @@ LengthSize StyleBuilderConverter::convertRadius(StyleResolverState& state, CSSVa |
return LengthSize(radiusWidth, radiusHeight); |
} |
-PassRefPtr<ShadowList> StyleBuilderConverter::convertShadow(StyleResolverState& state, CSSValue* value) |
+PassRefPtr<ShadowList> StyleBuilderConverter::convertShadow(StyleResolverState& state, CSSValue value) |
{ |
- if (value->isPrimitiveValue()) { |
- ASSERT(toCSSPrimitiveValue(value)->getValueID() == CSSValueNone); |
+ if (value.isPrimitiveValue()) { |
+ ASSERT(toCSSPrimitiveValue(value).getValueID() == CSSValueNone); |
return PassRefPtr<ShadowList>(); |
} |
- const CSSValueList* valueList = toCSSValueList(value); |
- size_t shadowCount = valueList->length(); |
+ const CSSValueList& valueList = toCSSValueList(value); |
+ size_t shadowCount = valueList.length(); |
ShadowDataVector shadows; |
for (size_t i = 0; i < shadowCount; ++i) { |
- const CSSShadowValue* item = toCSSShadowValue(valueList->item(i)); |
- float x = item->x->computeLength<float>(state.cssToLengthConversionData()); |
- float y = item->y->computeLength<float>(state.cssToLengthConversionData()); |
- float blur = item->blur ? item->blur->computeLength<float>(state.cssToLengthConversionData()) : 0; |
- float spread = item->spread ? item->spread->computeLength<float>(state.cssToLengthConversionData()) : 0; |
- ShadowStyle shadowStyle = item->style && item->style->getValueID() == CSSValueInset ? Inset : Normal; |
+ const CSSShadowValue& item = toCSSShadowValue(valueList.item(i)); |
+ float x = item.x->computeLength<float>(state.cssToLengthConversionData()); |
+ float y = item.y->computeLength<float>(state.cssToLengthConversionData()); |
+ float blur = item.blur ? item.blur->computeLength<float>(state.cssToLengthConversionData()) : 0; |
+ float spread = item.spread ? item.spread->computeLength<float>(state.cssToLengthConversionData()) : 0; |
+ ShadowStyle shadowStyle = item.style && item.style->getValueID() == CSSValueInset ? Inset : Normal; |
StyleColor color = StyleColor::currentColor(); |
- if (item->color) |
- color = convertStyleColor(state, item->color.get()); |
+ if (item.color) |
+ color = convertStyleColor(state, CSSValue(*item.color)); |
shadows.append(ShadowData(FloatPoint(x, y), blur, spread, shadowStyle, color)); |
} |
return ShadowList::adopt(shadows); |
} |
-PassRefPtr<ShapeValue> StyleBuilderConverter::convertShapeValue(StyleResolverState& state, CSSValue* value) |
+PassRefPtr<ShapeValue> StyleBuilderConverter::convertShapeValue(StyleResolverState& state, CSSValue value) |
{ |
- if (value->isPrimitiveValue()) { |
- ASSERT(toCSSPrimitiveValue(value)->getValueID() == CSSValueNone); |
+ if (value.isPrimitiveValue()) { |
+ ASSERT(toCSSPrimitiveValue(value).getValueID() == CSSValueNone); |
return nullptr; |
} |
- if (value->isImageValue() || value->isImageGeneratorValue() || value->isImageSetValue()) |
+ if (value.isImageValue() || value.isImageGeneratorValue() || value.isImageSetValue()) |
return ShapeValue::createImageValue(state.styleImage(CSSPropertyShapeOutside, value)); |
RefPtr<BasicShape> shape; |
CSSBoxType cssBox = BoxMissing; |
- CSSValueList* valueList = toCSSValueList(value); |
- for (unsigned i = 0; i < valueList->length(); ++i) { |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(valueList->item(i)); |
- if (primitiveValue->isShape()) |
- shape = basicShapeForValue(state, primitiveValue->getShapeValue()); |
+ CSSValueList& valueList = toCSSValueList(value); |
+ for (unsigned i = 0; i < valueList.length(); ++i) { |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(valueList.item(i)); |
+ if (primitiveValue.isShape()) |
+ shape = basicShapeForValue(state, primitiveValue.getShapeValue()); |
else |
- cssBox = CSSBoxType(*primitiveValue); |
+ cssBox = CSSBoxType(primitiveValue); |
} |
if (shape) |
@@ -834,106 +834,104 @@ PassRefPtr<ShapeValue> StyleBuilderConverter::convertShapeValue(StyleResolverSta |
return ShapeValue::createBoxShapeValue(cssBox); |
} |
-float StyleBuilderConverter::convertSpacing(StyleResolverState& state, CSSValue* value) |
+float StyleBuilderConverter::convertSpacing(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- if (primitiveValue->getValueID() == CSSValueNormal) |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ if (primitiveValue.getValueID() == CSSValueNormal) |
return 0; |
- return primitiveValue->computeLength<float>(state.cssToLengthConversionData()); |
+ return primitiveValue.computeLength<float>(state.cssToLengthConversionData()); |
} |
-PassRefPtr<SVGDashArray> StyleBuilderConverter::convertStrokeDasharray(StyleResolverState& state, CSSValue* value) |
+PassRefPtr<SVGDashArray> StyleBuilderConverter::convertStrokeDasharray(StyleResolverState& state, CSSValue value) |
{ |
- if (!value->isValueList()) |
+ if (!value.isValueList()) |
return SVGComputedStyle::initialStrokeDashArray(); |
- CSSValueList* dashes = toCSSValueList(value); |
+ CSSValueList& dashes = toCSSValueList(value); |
RefPtr<SVGDashArray> array = SVGDashArray::create(); |
- size_t length = dashes->length(); |
+ size_t length = dashes.length(); |
for (size_t i = 0; i < length; ++i) { |
- CSSValue* currValue = dashes->item(i); |
- if (!currValue->isPrimitiveValue()) |
+ CSSValue currValue = dashes.item(i); |
+ if (!currValue.isPrimitiveValue()) |
continue; |
- CSSPrimitiveValue* dash = toCSSPrimitiveValue(dashes->item(i)); |
- array->append(convertLength(state, dash)); |
+ array->append(convertLength(state, currValue)); |
} |
return array.release(); |
} |
-StyleColor StyleBuilderConverter::convertStyleColor(StyleResolverState& state, CSSValue* value, bool forVisitedLink) |
+StyleColor StyleBuilderConverter::convertStyleColor(StyleResolverState& state, CSSValue value, bool forVisitedLink) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- if (primitiveValue->getValueID() == CSSValueCurrentcolor) |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ if (primitiveValue.getValueID() == CSSValueCurrentcolor) |
return StyleColor::currentColor(); |
return state.document().textLinkColors().colorFromPrimitiveValue(primitiveValue, Color(), forVisitedLink); |
} |
-float StyleBuilderConverter::convertTextStrokeWidth(StyleResolverState& state, CSSValue* value) |
+float StyleBuilderConverter::convertTextStrokeWidth(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- if (primitiveValue->getValueID()) { |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ if (primitiveValue.getValueID()) { |
float multiplier = convertLineWidth<float>(state, value); |
return CSSPrimitiveValue::create(multiplier / 48, CSSPrimitiveValue::CSS_EMS)->computeLength<float>(state.cssToLengthConversionData()); |
} |
- return primitiveValue->computeLength<float>(state.cssToLengthConversionData()); |
+ return primitiveValue.computeLength<float>(state.cssToLengthConversionData()); |
} |
-TransformOrigin StyleBuilderConverter::convertTransformOrigin(StyleResolverState& state, CSSValue* value) |
+TransformOrigin StyleBuilderConverter::convertTransformOrigin(StyleResolverState& state, CSSValue value) |
{ |
- CSSValueList* list = toCSSValueList(value); |
- ASSERT(list->length() == 3); |
+ CSSValueList& list = toCSSValueList(value); |
+ ASSERT(list.length() == 3); |
- CSSPrimitiveValue* primitiveValueX = toCSSPrimitiveValue(list->item(0)); |
- CSSPrimitiveValue* primitiveValueY = toCSSPrimitiveValue(list->item(1)); |
- CSSPrimitiveValue* primitiveValueZ = toCSSPrimitiveValue(list->item(2)); |
+ CSSPrimitiveValue& primitiveValueX = toCSSPrimitiveValue(list.item(0)); |
+ CSSPrimitiveValue& primitiveValueY = toCSSPrimitiveValue(list.item(1)); |
return TransformOrigin( |
convertOriginLength<CSSValueLeft, CSSValueRight>(state, primitiveValueX), |
convertOriginLength<CSSValueTop, CSSValueBottom>(state, primitiveValueY), |
- StyleBuilderConverter::convertComputedLength<float>(state, primitiveValueZ) |
+ StyleBuilderConverter::convertComputedLength<float>(state, list.item(2)) |
); |
} |
-ScrollSnapPoints StyleBuilderConverter::convertSnapPoints(StyleResolverState& state, CSSValue* value) |
+ScrollSnapPoints StyleBuilderConverter::convertSnapPoints(StyleResolverState& state, CSSValue value) |
{ |
// Handles: none | repeat(<length>) |
ScrollSnapPoints points; |
points.hasRepeat = false; |
- if (!value->isFunctionValue()) |
+ if (!value.isFunctionValue()) |
return points; |
- CSSFunctionValue* repeatFunction = toCSSFunctionValue(value); |
- ASSERT_WITH_SECURITY_IMPLICATION(repeatFunction->length() == 1); |
- points.repeatOffset = convertLength(state, toCSSPrimitiveValue(repeatFunction->item(0))); |
+ CSSFunctionValue& repeatFunction = toCSSFunctionValue(value); |
+ ASSERT_WITH_SECURITY_IMPLICATION(repeatFunction.length() == 1); |
+ points.repeatOffset = convertLength(state, repeatFunction.item(0)); |
points.hasRepeat = true; |
return points; |
} |
-Vector<LengthPoint> StyleBuilderConverter::convertSnapCoordinates(StyleResolverState& state, CSSValue* value) |
+Vector<LengthPoint> StyleBuilderConverter::convertSnapCoordinates(StyleResolverState& state, CSSValue value) |
{ |
// Handles: none | <position># |
Vector<LengthPoint> coordinates; |
- if (!value->isValueList()) |
+ if (!value.isValueList()) |
return coordinates; |
- CSSValueList* valueList = toCSSValueList(value); |
- coordinates.reserveInitialCapacity(valueList->length()); |
- for (auto& snapCoordinate : *valueList) { |
- coordinates.uncheckedAppend(convertPosition(state, snapCoordinate.get())); |
+ CSSValueList& valueList = toCSSValueList(value); |
+ coordinates.reserveInitialCapacity(valueList.length()); |
+ for (auto& snapCoordinate : valueList) { |
+ coordinates.uncheckedAppend(convertPosition(state, snapCoordinate)); |
} |
return coordinates; |
} |
-PassRefPtr<TranslateTransformOperation> StyleBuilderConverter::convertTranslate(StyleResolverState& state, CSSValue* value) |
+PassRefPtr<TranslateTransformOperation> StyleBuilderConverter::convertTranslate(StyleResolverState& state, CSSValue value) |
{ |
- CSSValueList& list = *toCSSValueList(value); |
+ CSSValueList& list = toCSSValueList(value); |
ASSERT(list.length() <= 3); |
Length tx = convertLength(state, list.item(0)); |
Length ty(0, Fixed); |
@@ -941,39 +939,39 @@ PassRefPtr<TranslateTransformOperation> StyleBuilderConverter::convertTranslate( |
if (list.length() >= 2) |
ty = convertLength(state, list.item(1)); |
if (list.length() == 3) |
- tz = toCSSPrimitiveValue(list.item(2))->getDoubleValue(); |
+ tz = toCSSPrimitiveValue(list.item(2)).getDoubleValue(); |
return TranslateTransformOperation::create(tx, ty, tz, TransformOperation::Translate3D); |
} |
-PassRefPtr<RotateTransformOperation> StyleBuilderConverter::convertRotate(StyleResolverState& state, CSSValue* value) |
+PassRefPtr<RotateTransformOperation> StyleBuilderConverter::convertRotate(StyleResolverState& state, CSSValue value) |
{ |
- CSSValueList& list = *toCSSValueList(value); |
+ CSSValueList& list = toCSSValueList(value); |
ASSERT(list.length() == 1 || list.length() == 4); |
- double angle = toCSSPrimitiveValue(list.item(0))->computeDegrees(); |
+ double angle = toCSSPrimitiveValue(list.item(0)).computeDegrees(); |
double x = 0; |
double y = 0; |
double z = 1; |
if (list.length() == 4) { |
- x = toCSSPrimitiveValue(list.item(1))->getDoubleValue(); |
- y = toCSSPrimitiveValue(list.item(2))->getDoubleValue(); |
- z = toCSSPrimitiveValue(list.item(3))->getDoubleValue(); |
+ x = toCSSPrimitiveValue(list.item(1)).getDoubleValue(); |
+ y = toCSSPrimitiveValue(list.item(2)).getDoubleValue(); |
+ z = toCSSPrimitiveValue(list.item(3)).getDoubleValue(); |
} |
return RotateTransformOperation::create(x, y, z, angle, TransformOperation::Rotate3D); |
} |
-PassRefPtr<ScaleTransformOperation> StyleBuilderConverter::convertScale(StyleResolverState& state, CSSValue* value) |
+PassRefPtr<ScaleTransformOperation> StyleBuilderConverter::convertScale(StyleResolverState& state, CSSValue value) |
{ |
- CSSValueList& list = *toCSSValueList(value); |
+ CSSValueList& list = toCSSValueList(value); |
ASSERT(list.length() <= 3); |
- double sx = toCSSPrimitiveValue(list.item(0))->getDoubleValue(); |
+ double sx = toCSSPrimitiveValue(list.item(0)).getDoubleValue(); |
double sy = sx; |
double sz = 1; |
if (list.length() >= 2) |
- sy = toCSSPrimitiveValue(list.item(1))->getDoubleValue(); |
+ sy = toCSSPrimitiveValue(list.item(1)).getDoubleValue(); |
if (list.length() == 3) |
- sz = toCSSPrimitiveValue(list.item(2))->getDoubleValue(); |
+ sz = toCSSPrimitiveValue(list.item(2)).getDoubleValue(); |
return ScaleTransformOperation::create(sx, sy, sz, TransformOperation::Scale3D); |
} |