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

Unified Diff: Source/core/css/resolver/StyleBuilderConverter.cpp

Issue 1225553002: CSSValue Immediates: Make CSSPrimitiveValue a container (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@cssvalue_patch_1
Patch Set: Rebase Created 5 years, 5 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
« no previous file with comments | « Source/core/css/resolver/StyleBuilderConverter.h ('k') | Source/core/css/resolver/StyleBuilderCustom.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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),
« no previous file with comments | « Source/core/css/resolver/StyleBuilderConverter.h ('k') | Source/core/css/resolver/StyleBuilderCustom.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698