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

Unified Diff: Source/core/css/resolver/CSSToStyleMap.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
Index: Source/core/css/resolver/CSSToStyleMap.cpp
diff --git a/Source/core/css/resolver/CSSToStyleMap.cpp b/Source/core/css/resolver/CSSToStyleMap.cpp
index 2b7c2ae257b06c6cd28bcdde380c3c9777f77a70..bee7f7364e6c52fe3dec88ed3e428aa2a0290ee2 100644
--- a/Source/core/css/resolver/CSSToStyleMap.cpp
+++ b/Source/core/css/resolver/CSSToStyleMap.cpp
@@ -53,7 +53,7 @@ void CSSToStyleMap::mapFillAttachment(StyleResolverState&, FillLayer* layer, CSS
if (!value.isPrimitiveValue())
return;
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
switch (primitiveValue.getValueID()) {
case CSSValueFixed:
layer->setAttachment(FixedBackgroundAttachment);
@@ -79,7 +79,7 @@ void CSSToStyleMap::mapFillClip(StyleResolverState&, FillLayer* layer, CSSValue
if (!value.isPrimitiveValue())
return;
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
layer->setClip(primitiveValue);
}
@@ -93,7 +93,7 @@ void CSSToStyleMap::mapFillComposite(StyleResolverState&, FillLayer* layer, CSSV
if (!value.isPrimitiveValue())
return;
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
layer->setComposite(primitiveValue);
}
@@ -107,7 +107,7 @@ void CSSToStyleMap::mapFillBlendMode(StyleResolverState&, FillLayer* layer, CSSV
if (!value.isPrimitiveValue())
return;
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
layer->setBlendMode(primitiveValue);
}
@@ -121,7 +121,7 @@ void CSSToStyleMap::mapFillOrigin(StyleResolverState&, FillLayer* layer, CSSValu
if (!value.isPrimitiveValue())
return;
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
layer->setOrigin(primitiveValue);
}
@@ -147,7 +147,7 @@ void CSSToStyleMap::mapFillRepeatX(StyleResolverState&, FillLayer* layer, CSSVal
if (!value.isPrimitiveValue())
return;
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
layer->setRepeatX(primitiveValue);
}
@@ -161,7 +161,7 @@ void CSSToStyleMap::mapFillRepeatY(StyleResolverState&, FillLayer* layer, CSSVal
if (!value.isPrimitiveValue())
return;
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
layer->setRepeatY(primitiveValue);
}
@@ -176,7 +176,7 @@ void CSSToStyleMap::mapFillSize(StyleResolverState& state, FillLayer* layer, CSS
if (!value.isPrimitiveValue())
return;
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
if (primitiveValue.getValueID() == CSSValueContain)
layer->setSizeType(Contain);
else if (primitiveValue.getValueID() == CSSValueCover)
@@ -217,16 +217,16 @@ void CSSToStyleMap::mapFillXPosition(StyleResolverState& state, FillLayer* layer
if (!value.isPrimitiveValue())
return;
- CSSPrimitiveValue* primitiveValue = &toCSSPrimitiveValue(value);
- Pair* pair = primitiveValue->getPairValue();
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
+ Pair* pair = primitiveValue.getPairValue();
if (pair)
- primitiveValue = pair->second();
+ primitiveValue = toCSSPrimitiveValue(*pair->second());
- Length length = primitiveValue->convertToLength(state.cssToLengthConversionData());
+ Length length = primitiveValue.convertToLength(state.cssToLengthConversionData());
layer->setXPosition(length);
if (pair)
- layer->setBackgroundXOrigin(*(pair->first()));
+ layer->setBackgroundXOrigin(toCSSPrimitiveValue(*pair->first()));
}
void CSSToStyleMap::mapFillYPosition(StyleResolverState& state, FillLayer* layer, CSSValue value)
@@ -239,16 +239,16 @@ void CSSToStyleMap::mapFillYPosition(StyleResolverState& state, FillLayer* layer
if (!value.isPrimitiveValue())
return;
- CSSPrimitiveValue* primitiveValue = &toCSSPrimitiveValue(value);
- Pair* pair = primitiveValue->getPairValue();
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
+ Pair* pair = primitiveValue.getPairValue();
if (pair)
- primitiveValue = pair->second();
+ primitiveValue = toCSSPrimitiveValue(*pair->second());
- Length length = primitiveValue->convertToLength(state.cssToLengthConversionData());
+ Length length = primitiveValue.convertToLength(state.cssToLengthConversionData());
layer->setYPosition(length);
if (pair)
- layer->setBackgroundYOrigin(*(pair->first()));
+ layer->setBackgroundYOrigin(toCSSPrimitiveValue(*pair->first()));
}
void CSSToStyleMap::mapFillMaskSourceType(StyleResolverState&, FillLayer* layer, CSSValue value)
@@ -336,7 +336,7 @@ double CSSToStyleMap::mapAnimationIterationCount(CSSValue value)
{
if (value.isInitialValue())
return CSSAnimationData::initialIterationCount();
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
if (primitiveValue.getValueID() == CSSValueInfinite)
return std::numeric_limits<double>::infinity();
return primitiveValue.getFloatValue();
@@ -346,7 +346,7 @@ AtomicString CSSToStyleMap::mapAnimationName(CSSValue value)
{
if (value.isInitialValue())
return CSSAnimationData::initialName();
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
if (primitiveValue.getValueID() == CSSValueNone)
return CSSAnimationData::initialName();
return AtomicString(primitiveValue.getStringValue());
@@ -366,7 +366,7 @@ CSSTransitionData::TransitionProperty CSSToStyleMap::mapAnimationProperty(CSSVal
{
if (value.isInitialValue())
return CSSTransitionData::initialProperty();
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
if (primitiveValue.isCustomIdent())
return CSSTransitionData::TransitionProperty(primitiveValue.getStringValue());
if (primitiveValue.getValueID() == CSSValueAll)
@@ -384,7 +384,7 @@ PassRefPtr<TimingFunction> CSSToStyleMap::mapAnimationTimingFunction(CSSValue va
// properties in shorthands to initial.
if (value.isPrimitiveValue()) {
- CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
switch (primitiveValue.getValueID()) {
case CSSValueLinear:
return LinearTimingFunction::shared();
@@ -495,29 +495,29 @@ void CSSToStyleMap::mapNinePieceImageSlice(StyleResolverState&, NullableCSSValue
// Set up a length box to represent our image slices.
LengthBox box;
Quad* slices = borderImageSlice->slices();
- if (slices->top()->isPercentage())
- box.m_top = Length(slices->top()->getDoubleValue(), Percent);
+ if (slices->top().isPercentage())
+ box.m_top = Length(slices->top().getDoubleValue(), Percent);
else
- box.m_top = Length(slices->top()->getIntValue(), Fixed);
- if (slices->bottom()->isPercentage())
- box.m_bottom = Length(slices->bottom()->getDoubleValue(), Percent);
+ box.m_top = Length(slices->top().getIntValue(), Fixed);
+ if (slices->bottom().isPercentage())
+ box.m_bottom = Length(slices->bottom().getDoubleValue(), Percent);
else
- box.m_bottom = Length(slices->bottom()->getIntValue(), Fixed);
- if (slices->left()->isPercentage())
- box.m_left = Length(slices->left()->getDoubleValue(), Percent);
+ box.m_bottom = Length(slices->bottom().getIntValue(), Fixed);
+ if (slices->left().isPercentage())
+ box.m_left = Length(slices->left().getDoubleValue(), Percent);
else
- box.m_left = Length(slices->left()->getIntValue(), Fixed);
- if (slices->right()->isPercentage())
- box.m_right = Length(slices->right()->getDoubleValue(), Percent);
+ box.m_left = Length(slices->left().getIntValue(), Fixed);
+ if (slices->right().isPercentage())
+ box.m_right = Length(slices->right().getDoubleValue(), Percent);
else
- box.m_right = Length(slices->right()->getIntValue(), Fixed);
+ box.m_right = Length(slices->right().getIntValue(), Fixed);
image.setImageSlices(box);
// Set our fill mode.
image.setFill(borderImageSlice->m_fill);
}
-static BorderImageLength toBorderImageLength(CSSPrimitiveValue& value, const CSSToLengthConversionData& conversionData)
+static BorderImageLength toBorderImageLength(CSSPrimitiveValue value, const CSSToLengthConversionData& conversionData)
{
if (value.isNumber())
return value.getDoubleValue();
@@ -533,14 +533,14 @@ BorderImageLengthBox CSSToStyleMap::mapNinePieceImageQuad(StyleResolverState& st
if (!value || !value->isPrimitiveValue())
return BorderImageLengthBox(Length(Auto));
- Quad* slices = toCSSPrimitiveValue(value)->getQuadValue();
+ Quad* slices = toCSSPrimitiveValue(*value).getQuadValue();
// Set up a border image length box to represent our image slices.
return BorderImageLengthBox(
- toBorderImageLength(*slices->top(), state.cssToLengthConversionData()),
- toBorderImageLength(*slices->right(), state.cssToLengthConversionData()),
- toBorderImageLength(*slices->bottom(), state.cssToLengthConversionData()),
- toBorderImageLength(*slices->left(), state.cssToLengthConversionData()));
+ toBorderImageLength(slices->top(), state.cssToLengthConversionData()),
+ toBorderImageLength(slices->right(), state.cssToLengthConversionData()),
+ toBorderImageLength(slices->bottom(), state.cssToLengthConversionData()),
+ toBorderImageLength(slices->left(), state.cssToLengthConversionData()));
}
void CSSToStyleMap::mapNinePieceImageRepeat(StyleResolverState&, NullableCSSValue value, NinePieceImage& image)
@@ -548,13 +548,13 @@ void CSSToStyleMap::mapNinePieceImageRepeat(StyleResolverState&, NullableCSSValu
if (!value || !value->isPrimitiveValue())
return;
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
- Pair* pair = primitiveValue->getPairValue();
+ CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(*value);
+ Pair* pair = primitiveValue.getPairValue();
if (!pair || !pair->first() || !pair->second())
return;
- CSSValueID firstIdentifier = pair->first()->getValueID();
- CSSValueID secondIdentifier = pair->second()->getValueID();
+ CSSValueID firstIdentifier = toCSSPrimitiveValue(*pair->first()).getValueID();
+ CSSValueID secondIdentifier = toCSSPrimitiveValue(*pair->second()).getValueID();
ENinePieceImageRule horizontalRule;
switch (firstIdentifier) {
« no previous file with comments | « Source/core/css/parser/SizesCalcParserTest.cpp ('k') | Source/core/css/resolver/FilterOperationResolver.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698