Index: Source/core/css/resolver/StyleBuilderConverter.cpp |
diff --git a/Source/core/css/resolver/StyleBuilderConverter.cpp b/Source/core/css/resolver/StyleBuilderConverter.cpp |
index 54001e8d280f838f8e8dcf389b903618507e82ea..5b3100b7772e60942fdb9a2595c383fa6009f278 100644 |
--- a/Source/core/css/resolver/StyleBuilderConverter.cpp |
+++ b/Source/core/css/resolver/StyleBuilderConverter.cpp |
@@ -47,19 +47,19 @@ namespace blink { |
namespace { |
-static GridLength convertGridTrackBreadth(const StyleResolverState& state, CSSPrimitiveValue* primitiveValue) |
+static GridLength convertGridTrackBreadth(const StyleResolverState& state, CSSPrimitiveValue primitiveValue) |
{ |
- if (primitiveValue->getValueID() == CSSValueMinContent) |
+ if (primitiveValue.getValueID() == CSSValueMinContent) |
return Length(MinContent); |
- if (primitiveValue->getValueID() == CSSValueMaxContent) |
+ if (primitiveValue.getValueID() == CSSValueMaxContent) |
return Length(MaxContent); |
// Fractional unit. |
- if (primitiveValue->isFlex()) |
- return GridLength(primitiveValue->getDoubleValue()); |
+ if (primitiveValue.isFlex()) |
+ return GridLength(primitiveValue.getDoubleValue()); |
- return StyleBuilderConverter::convertLengthOrAuto(state, CSSValue(*primitiveValue)); |
+ return StyleBuilderConverter::convertLengthOrAuto(state, primitiveValue); |
} |
} // namespace |
@@ -73,9 +73,8 @@ PassRefPtr<StyleReflection> StyleBuilderConverter::convertBoxReflect(StyleResolv |
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()); |
+ reflection->setOffset(reflectValue.offset().convertToLength(state.cssToLengthConversionData())); |
NinePieceImage mask; |
mask.setMaskDefaults(); |
CSSToStyleMap::mapNinePieceImage(state, CSSPropertyWebkitBoxReflect, reflectValue.mask(), mask); |
@@ -86,13 +85,13 @@ PassRefPtr<StyleReflection> StyleBuilderConverter::convertBoxReflect(StyleResolv |
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) |
{ |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
if (primitiveValue.isURI()) |
return SVGURIReference::fragmentIdentifierFromIRIString(primitiveValue.getStringValue(), state.element()->treeScope()); |
return nullAtom; |
@@ -102,10 +101,10 @@ LengthBox StyleBuilderConverter::convertClip(StyleResolverState& state, CSSValue |
{ |
Rect* rect = toCSSPrimitiveValue(value).getRectValue(); |
- return LengthBox(convertLengthOrAuto(state, CSSValue(*rect->top())), |
- convertLengthOrAuto(state, CSSValue(*rect->right())), |
- convertLengthOrAuto(state, CSSValue(*rect->bottom())), |
- convertLengthOrAuto(state, CSSValue(*rect->left()))); |
+ return LengthBox(convertLengthOrAuto(state, rect->top()), |
+ convertLengthOrAuto(state, rect->right()), |
+ convertLengthOrAuto(state, rect->bottom()), |
+ convertLengthOrAuto(state, rect->left())); |
} |
static FontDescription::GenericFamilyType convertGenericFamily(CSSValueID valueID) |
@@ -130,7 +129,7 @@ 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()) { |
@@ -190,7 +189,7 @@ PassRefPtr<FontFeatureSettings> StyleBuilderConverter::convertFontFeatureSetting |
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; |
@@ -209,7 +208,7 @@ static float computeFontSize(StyleResolverState& state, CSSPrimitiveValue& primi |
FontDescription::Size StyleBuilderConverter::convertFontSize(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
FontDescription::Size parentSize(0, 0.0f, false); |
@@ -248,7 +247,7 @@ FontDescription::Size StyleBuilderConverter::convertFontSize(StyleResolverState& |
float StyleBuilderConverter::convertFontSizeAdjust(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
if (primitiveValue.getValueID() == CSSValueNone) |
return FontBuilder::initialSizeAdjust(); |
@@ -258,7 +257,7 @@ float StyleBuilderConverter::convertFontSizeAdjust(StyleResolverState& state, CS |
FontWeight StyleBuilderConverter::convertFontWeight(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
switch (primitiveValue.getValueID()) { |
case CSSValueBolder: |
return FontDescription::bolderWeight(state.parentStyle()->fontDescription().weight()); |
@@ -276,7 +275,7 @@ FontDescription::VariantLigatures StyleBuilderConverter::convertFontVariantLigat |
CSSValueList& valueList = toCSSValueList(value); |
for (size_t i = 0; i < valueList.length(); ++i) { |
CSSValue item = valueList.item(i); |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(item); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(item); |
switch (primitiveValue.getValueID()) { |
case CSSValueNoCommonLigatures: |
ligatures.common = FontDescription::DisabledLigaturesState; |
@@ -320,7 +319,7 @@ EGlyphOrientation StyleBuilderConverter::convertGlyphOrientation(StyleResolverSt |
if (!value.isPrimitiveValue()) |
return GO_0DEG; |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
if (primitiveValue.primitiveType() != CSSPrimitiveValue::CSS_DEG) |
return GO_0DEG; |
@@ -338,14 +337,14 @@ EGlyphOrientation StyleBuilderConverter::convertGlyphOrientation(StyleResolverSt |
StyleSelfAlignmentData StyleBuilderConverter::convertSelfOrDefaultAlignmentData(StyleResolverState&, CSSValue value) |
{ |
StyleSelfAlignmentData alignmentData = ComputedStyle::initialSelfAlignment(); |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
if (Pair* pairValue = primitiveValue.getPairValue()) { |
- if (pairValue->first()->getValueID() == CSSValueLegacy) { |
+ if (toCSSPrimitiveValue(*pairValue->first()).getValueID() == CSSValueLegacy) { |
alignmentData.setPositionType(LegacyPosition); |
- alignmentData.setPosition(*pairValue->second()); |
+ alignmentData.setPosition(toCSSPrimitiveValue(*pairValue->second())); |
} else { |
- alignmentData.setPosition(*pairValue->first()); |
- alignmentData.setOverflow(*pairValue->second()); |
+ alignmentData.setPosition(toCSSPrimitiveValue(*pairValue->first())); |
+ alignmentData.setOverflow(toCSSPrimitiveValue(*pairValue->second())); |
} |
} else { |
alignmentData.setPosition(primitiveValue); |
@@ -357,12 +356,12 @@ StyleContentAlignmentData StyleBuilderConverter::convertContentAlignmentData(Sty |
{ |
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()); |
+ 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; |
} |
@@ -371,20 +370,20 @@ GridAutoFlow StyleBuilderConverter::convertGridAutoFlow(StyleResolverState&, CSS |
CSSValueList& list = toCSSValueList(value); |
ASSERT(list.length() >= 1); |
- CSSPrimitiveValue* first = &toCSSPrimitiveValue(list.item(0)); |
- CSSPrimitiveValue* second = list.length() == 2 ? &toCSSPrimitiveValue(list.item(1)) : nullptr; |
+ CSSPrimitiveValue first = toCSSPrimitiveValue(list.item(0)); |
+ NullableCSSValue second = list.length() == 2 ? NullableCSSValue(list.item(1)) : nullptr; |
- switch (first->getValueID()) { |
+ switch (first.getValueID()) { |
case CSSValueRow: |
- if (second && second->getValueID() == CSSValueDense) |
+ if (second && toCSSPrimitiveValue(*second).getValueID() == CSSValueDense) |
return AutoFlowRowDense; |
return AutoFlowRow; |
case CSSValueColumn: |
- if (second && second->getValueID() == CSSValueDense) |
+ if (second && toCSSPrimitiveValue(*second).getValueID() == CSSValueDense) |
return AutoFlowColumnDense; |
return AutoFlowColumn; |
case CSSValueDense: |
- if (second && second->getValueID() == CSSValueColumn) |
+ if (second && toCSSPrimitiveValue(*second).getValueID() == CSSValueColumn) |
return AutoFlowColumnDense; |
return AutoFlowRowDense; |
default: |
@@ -401,7 +400,7 @@ GridPosition StyleBuilderConverter::convertGridPosition(StyleResolverState&, CSS |
GridPosition position; |
if (value.isPrimitiveValue()) { |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
// We translate <custom-ident> to <string> during parsing as it |
// makes handling it more simple. |
if (primitiveValue.isCustomIdent()) { |
@@ -422,21 +421,21 @@ GridPosition StyleBuilderConverter::convertGridPosition(StyleResolverState&, CSS |
String gridLineName; |
auto it = values.begin(); |
- CSSPrimitiveValue* currentValue = &toCSSPrimitiveValue(*it); |
- if (currentValue->getValueID() == CSSValueSpan) { |
+ NullableCSSValue currentValue = *it; |
+ if (toCSSPrimitiveValue(*currentValue).getValueID() == CSSValueSpan) { |
isSpanPosition = true; |
++it; |
- currentValue = it != values.end() ? &toCSSPrimitiveValue(*it) : 0; |
+ currentValue = it != values.end() ? *it : NullableCSSValue(); |
} |
- if (currentValue && currentValue->isNumber()) { |
- gridLineNumber = currentValue->getIntValue(); |
+ if (currentValue && toCSSPrimitiveValue(*currentValue).isNumber()) { |
+ gridLineNumber = toCSSPrimitiveValue(*currentValue).getIntValue(); |
++it; |
- currentValue = it != values.end() ? &toCSSPrimitiveValue(*it) : 0; |
+ currentValue = it != values.end() ? *it : NullableCSSValue(); |
} |
- if (currentValue && currentValue->isCustomIdent()) { |
- gridLineName = currentValue->getStringValue(); |
+ if (currentValue && toCSSPrimitiveValue(*currentValue).isCustomIdent()) { |
+ gridLineName = toCSSPrimitiveValue(*currentValue).getStringValue(); |
++it; |
} |
@@ -452,12 +451,12 @@ GridPosition StyleBuilderConverter::convertGridPosition(StyleResolverState&, CSS |
GridTrackSize StyleBuilderConverter::convertGridTrackSize(StyleResolverState& state, CSSValue value) |
{ |
if (value.isPrimitiveValue()) |
- return GridTrackSize(convertGridTrackBreadth(state, &toCSSPrimitiveValue(value))); |
+ 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)))); |
+ GridLength minTrackBreadth(convertGridTrackBreadth(state, toCSSPrimitiveValue(minmaxFunction.item(0)))); |
+ GridLength maxTrackBreadth(convertGridTrackBreadth(state, toCSSPrimitiveValue(minmaxFunction.item(1)))); |
return GridTrackSize(minTrackBreadth, maxTrackBreadth); |
} |
@@ -465,7 +464,7 @@ bool StyleBuilderConverter::convertGridTrackList(CSSValue value, Vector<GridTrac |
{ |
// Handle 'none'. |
if (value.isPrimitiveValue()) { |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
return primitiveValue.getValueID() == CSSValueNone; |
} |
@@ -544,7 +543,7 @@ UnzoomedLength StyleBuilderConverter::convertUnzoomedLength(const StyleResolverS |
Length StyleBuilderConverter::convertLengthOrAuto(const StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
if (primitiveValue.getValueID() == CSSValueAuto) |
return Length(Auto); |
return primitiveValue.convertToLength(state.cssToLengthConversionData()); |
@@ -552,7 +551,7 @@ Length StyleBuilderConverter::convertLengthOrAuto(const StyleResolverState& stat |
Length StyleBuilderConverter::convertLengthSizing(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
switch (primitiveValue.getValueID()) { |
case CSSValueInvalid: |
return convertLength(state, value); |
@@ -580,7 +579,7 @@ Length StyleBuilderConverter::convertLengthSizing(StyleResolverState& state, CSS |
Length StyleBuilderConverter::convertLengthMaxSizing(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
if (primitiveValue.getValueID() == CSSValueNone) |
return Length(MaxSizeNone); |
return convertLengthSizing(state, value); |
@@ -588,7 +587,7 @@ Length StyleBuilderConverter::convertLengthMaxSizing(StyleResolverState& state, |
TabSize StyleBuilderConverter::convertLengthOrTabSpaces(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
if (primitiveValue.isNumber()) |
return TabSize(primitiveValue.getIntValue()); |
return TabSize(primitiveValue.computeLength<float>(state.cssToLengthConversionData())); |
@@ -614,7 +613,7 @@ static CSSToLengthConversionData lineHeightToLengthConversionData(StyleResolverS |
Length StyleBuilderConverter::convertLineHeight(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
if (primitiveValue.isLength()) |
return primitiveValue.computeLength<Length>(lineHeightToLengthConversionData(state)); |
@@ -633,7 +632,7 @@ Length StyleBuilderConverter::convertLineHeight(StyleResolverState& state, CSSVa |
float StyleBuilderConverter::convertNumberOrPercentage(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
ASSERT(primitiveValue.isNumber() || primitiveValue.isPercentage()); |
if (primitiveValue.isNumber()) |
return primitiveValue.getFloatValue(); |
@@ -641,37 +640,37 @@ float StyleBuilderConverter::convertNumberOrPercentage(StyleResolverState& state |
} |
template <CSSValueID cssValueFor0, CSSValueID cssValueFor100> |
-static Length convertPositionLength(StyleResolverState& state, CSSPrimitiveValue* primitiveValue) |
+static Length convertPositionLength(StyleResolverState& state, CSSPrimitiveValue primitiveValue) |
{ |
- if (Pair* pair = primitiveValue->getPairValue()) { |
+ if (Pair* pair = primitiveValue.getPairValue()) { |
Length length = StyleBuilderConverter::convertLength(state, CSSValue(*pair->second())); |
- if (pair->first()->getValueID() == cssValueFor0) |
+ if (toCSSPrimitiveValue(*pair->first()).getValueID() == cssValueFor0) |
return length; |
- ASSERT(pair->first()->getValueID() == cssValueFor100); |
+ ASSERT(toCSSPrimitiveValue(*pair->first()).getValueID() == cssValueFor100); |
return length.subtractFromOneHundredPercent(); |
} |
- return StyleBuilderConverter::convertLength(state, CSSValue(*primitiveValue)); |
+ return StyleBuilderConverter::convertLength(state, primitiveValue); |
} |
LengthPoint StyleBuilderConverter::convertPosition(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
Pair* pair = primitiveValue.getPairValue(); |
return LengthPoint( |
- convertPositionLength<CSSValueLeft, CSSValueRight>(state, pair->first()), |
- convertPositionLength<CSSValueTop, CSSValueBottom>(state, pair->second()) |
+ convertPositionLength<CSSValueLeft, CSSValueRight>(state, toCSSPrimitiveValue(*pair->first())), |
+ convertPositionLength<CSSValueTop, CSSValueBottom>(state, toCSSPrimitiveValue(*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); |
} |
float StyleBuilderConverter::convertPerspective(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
if (primitiveValue.getValueID() == CSSValueNone) |
return ComputedStyle::initialPerspective(); |
@@ -679,7 +678,7 @@ float StyleBuilderConverter::convertPerspective(StyleResolverState& state, CSSVa |
} |
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()) { |
@@ -702,8 +701,8 @@ LengthPoint StyleBuilderConverter::convertPerspectiveOrigin(StyleResolverState& |
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), |
@@ -769,10 +768,10 @@ PassRefPtr<QuotesData> StyleBuilderConverter::convertQuotes(StyleResolverState&, |
LengthSize StyleBuilderConverter::convertRadius(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
Pair* pair = primitiveValue.getPairValue(); |
- Length radiusWidth = pair->first()->convertToLength(state.cssToLengthConversionData()); |
- Length radiusHeight = pair->second()->convertToLength(state.cssToLengthConversionData()); |
+ Length radiusWidth = toCSSPrimitiveValue(*pair->first()).convertToLength(state.cssToLengthConversionData()); |
+ Length radiusHeight = toCSSPrimitiveValue(*pair->second()).convertToLength(state.cssToLengthConversionData()); |
float width = radiusWidth.value(); |
float height = radiusHeight.value(); |
ASSERT(width >= 0 && height >= 0); |
@@ -793,11 +792,11 @@ PassRefPtr<ShadowList> StyleBuilderConverter::convertShadow(StyleResolverState& |
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; |
+ float x = toCSSPrimitiveValue(*item.x).computeLength<float>(state.cssToLengthConversionData()); |
+ float y = toCSSPrimitiveValue(*item.y).computeLength<float>(state.cssToLengthConversionData()); |
+ float blur = item.blur ? toCSSPrimitiveValue(*item.blur).computeLength<float>(state.cssToLengthConversionData()) : 0; |
+ float spread = item.spread ? toCSSPrimitiveValue(*item.spread).computeLength<float>(state.cssToLengthConversionData()) : 0; |
+ ShadowStyle shadowStyle = item.style && toCSSPrimitiveValue(*item.style).getValueID() == CSSValueInset ? Inset : Normal; |
StyleColor color = StyleColor::currentColor(); |
if (item.color) |
color = convertStyleColor(state, CSSValue(*item.color)); |
@@ -820,7 +819,7 @@ PassRefPtr<ShapeValue> StyleBuilderConverter::convertShapeValue(StyleResolverSta |
CSSBoxType cssBox = BoxMissing; |
CSSValueList& valueList = toCSSValueList(value); |
for (unsigned i = 0; i < valueList.length(); ++i) { |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(valueList.item(i)); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(valueList.item(i)); |
if (primitiveValue.isShape()) |
shape = basicShapeForValue(state, primitiveValue.getShapeValue()); |
else |
@@ -836,7 +835,7 @@ PassRefPtr<ShapeValue> StyleBuilderConverter::convertShapeValue(StyleResolverSta |
float StyleBuilderConverter::convertSpacing(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
if (primitiveValue.getValueID() == CSSValueNormal) |
return 0; |
return primitiveValue.computeLength<float>(state.cssToLengthConversionData()); |
@@ -864,7 +863,7 @@ PassRefPtr<SVGDashArray> StyleBuilderConverter::convertStrokeDasharray(StyleReso |
StyleColor StyleBuilderConverter::convertStyleColor(StyleResolverState& state, CSSValue value, bool forVisitedLink) |
{ |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value); |
if (primitiveValue.getValueID() == CSSValueCurrentcolor) |
return StyleColor::currentColor(); |
return state.document().textLinkColors().colorFromPrimitiveValue(primitiveValue, Color(), forVisitedLink); |
@@ -872,10 +871,10 @@ StyleColor StyleBuilderConverter::convertStyleColor(StyleResolverState& state, C |
float StyleBuilderConverter::convertTextStrokeWidth(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ 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 CSSPrimitiveValue::create(multiplier / 48, CSSPrimitiveValue::CSS_EMS).computeLength<float>(state.cssToLengthConversionData()); |
} |
return primitiveValue.computeLength<float>(state.cssToLengthConversionData()); |
} |
@@ -885,8 +884,8 @@ TransformOrigin StyleBuilderConverter::convertTransformOrigin(StyleResolverState |
CSSValueList& list = toCSSValueList(value); |
ASSERT(list.length() == 3); |
- 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 TransformOrigin( |
convertOriginLength<CSSValueLeft, CSSValueRight>(state, primitiveValueX), |