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

Unified Diff: third_party/WebKit/Source/core/css/resolver/CSSToStyleMap.cpp

Issue 2346193002: Split CSSPrimitiveValue into CSSPrimitiveValue and CSSIdentifierValue (Closed)
Patch Set: Rebase please work Created 4 years, 3 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: third_party/WebKit/Source/core/css/resolver/CSSToStyleMap.cpp
diff --git a/third_party/WebKit/Source/core/css/resolver/CSSToStyleMap.cpp b/third_party/WebKit/Source/core/css/resolver/CSSToStyleMap.cpp
index 5a0b41e64b2eace67b00bad77e27af45f2a5ad87..859ef55551c563619ef6280adc322130c45ac203 100644
--- a/third_party/WebKit/Source/core/css/resolver/CSSToStyleMap.cpp
+++ b/third_party/WebKit/Source/core/css/resolver/CSSToStyleMap.cpp
@@ -50,11 +50,11 @@ void CSSToStyleMap::mapFillAttachment(StyleResolverState&, FillLayer* layer, con
return;
}
- if (!value.isPrimitiveValue())
+ if (!value.isIdentifierValue())
return;
- const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
- switch (primitiveValue.getValueID()) {
+ const CSSIdentifierValue& identifierValue = toCSSIdentifierValue(value);
+ switch (identifierValue.getValueID()) {
case CSSValueFixed:
layer->setAttachment(FixedBackgroundAttachment);
break;
@@ -76,11 +76,11 @@ void CSSToStyleMap::mapFillClip(StyleResolverState&, FillLayer* layer, const CSS
return;
}
- if (!value.isPrimitiveValue())
+ if (!value.isIdentifierValue())
return;
- const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
- layer->setClip(primitiveValue.convertTo<EFillBox>());
+ const CSSIdentifierValue& identifierValue = toCSSIdentifierValue(value);
+ layer->setClip(identifierValue.convertTo<EFillBox>());
}
void CSSToStyleMap::mapFillComposite(StyleResolverState&, FillLayer* layer, const CSSValue& value)
@@ -90,11 +90,11 @@ void CSSToStyleMap::mapFillComposite(StyleResolverState&, FillLayer* layer, cons
return;
}
- if (!value.isPrimitiveValue())
+ if (!value.isIdentifierValue())
return;
- const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
- layer->setComposite(primitiveValue.convertTo<CompositeOperator>());
+ const CSSIdentifierValue& identifierValue = toCSSIdentifierValue(value);
+ layer->setComposite(identifierValue.convertTo<CompositeOperator>());
}
void CSSToStyleMap::mapFillBlendMode(StyleResolverState&, FillLayer* layer, const CSSValue& value)
@@ -104,11 +104,11 @@ void CSSToStyleMap::mapFillBlendMode(StyleResolverState&, FillLayer* layer, cons
return;
}
- if (!value.isPrimitiveValue())
+ if (!value.isIdentifierValue())
return;
- const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
- layer->setBlendMode(primitiveValue.convertTo<WebBlendMode>());
+ const CSSIdentifierValue& identifierValue = toCSSIdentifierValue(value);
+ layer->setBlendMode(identifierValue.convertTo<WebBlendMode>());
}
void CSSToStyleMap::mapFillOrigin(StyleResolverState&, FillLayer* layer, const CSSValue& value)
@@ -118,11 +118,11 @@ void CSSToStyleMap::mapFillOrigin(StyleResolverState&, FillLayer* layer, const C
return;
}
- if (!value.isPrimitiveValue())
+ if (!value.isIdentifierValue())
return;
- const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
- layer->setOrigin(primitiveValue.convertTo<EFillBox>());
+ const CSSIdentifierValue& identifierValue = toCSSIdentifierValue(value);
+ layer->setOrigin(identifierValue.convertTo<EFillBox>());
}
@@ -144,11 +144,11 @@ void CSSToStyleMap::mapFillRepeatX(StyleResolverState&, FillLayer* layer, const
return;
}
- if (!value.isPrimitiveValue())
+ if (!value.isIdentifierValue())
return;
- const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
- layer->setRepeatX(primitiveValue.convertTo<EFillRepeat>());
+ const CSSIdentifierValue& identifierValue = toCSSIdentifierValue(value);
+ layer->setRepeatX(identifierValue.convertTo<EFillRepeat>());
}
void CSSToStyleMap::mapFillRepeatY(StyleResolverState&, FillLayer* layer, const CSSValue& value)
@@ -158,11 +158,11 @@ void CSSToStyleMap::mapFillRepeatY(StyleResolverState&, FillLayer* layer, const
return;
}
- if (!value.isPrimitiveValue())
+ if (!value.isIdentifierValue())
return;
- const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
- layer->setRepeatY(primitiveValue.convertTo<EFillRepeat>());
+ const CSSIdentifierValue& identifierValue = toCSSIdentifierValue(value);
+ layer->setRepeatY(identifierValue.convertTo<EFillRepeat>());
}
void CSSToStyleMap::mapFillSize(StyleResolverState& state, FillLayer* layer, const CSSValue& value)
@@ -173,19 +173,19 @@ void CSSToStyleMap::mapFillSize(StyleResolverState& state, FillLayer* layer, con
return;
}
- if (!value.isPrimitiveValue() && !value.isValuePair())
+ if (!value.isIdentifierValue() && !value.isPrimitiveValue() && !value.isValuePair())
return;
- if (value.isPrimitiveValue() && toCSSPrimitiveValue(value).getValueID() == CSSValueContain)
+ if (value.isIdentifierValue() && toCSSIdentifierValue(value).getValueID() == CSSValueContain)
layer->setSizeType(Contain);
- else if (value.isPrimitiveValue() && toCSSPrimitiveValue(value).getValueID() == CSSValueCover)
+ else if (value.isIdentifierValue() && toCSSIdentifierValue(value).getValueID() == CSSValueCover)
layer->setSizeType(Cover);
else
layer->setSizeType(SizeLength);
LengthSize b = FillLayer::initialFillSizeLength(layer->type());
- if (value.isPrimitiveValue() && (toCSSPrimitiveValue(value).getValueID() == CSSValueContain || toCSSPrimitiveValue(value).getValueID() == CSSValueCover)) {
+ if (value.isIdentifierValue() && (toCSSIdentifierValue(value).getValueID() == CSSValueContain || toCSSIdentifierValue(value).getValueID() == CSSValueCover)) {
layer->setSizeLength(b);
return;
}
@@ -198,7 +198,7 @@ void CSSToStyleMap::mapFillSize(StyleResolverState& state, FillLayer* layer, con
firstLength = StyleBuilderConverter::convertLengthOrAuto(state, pair.first());
secondLength = StyleBuilderConverter::convertLengthOrAuto(state, pair.second());
} else {
- ASSERT(value.isPrimitiveValue());
+ DCHECK(value.isPrimitiveValue() || value.isIdentifierValue());
firstLength = StyleBuilderConverter::convertLengthOrAuto(state, value);
secondLength = Length();
}
@@ -215,18 +215,18 @@ void CSSToStyleMap::mapFillXPosition(StyleResolverState& state, FillLayer* layer
return;
}
- if (!value.isPrimitiveValue() && !value.isValuePair())
+ if (!value.isIdentifierValue() && !value.isPrimitiveValue() && !value.isValuePair())
return;
Length length;
if (value.isValuePair())
length = toCSSPrimitiveValue(toCSSValuePair(value).second()).convertToLength(state.cssToLengthConversionData());
else
- length = StyleBuilderConverter::convertPositionLength<CSSValueLeft, CSSValueRight>(state, toCSSPrimitiveValue(value));
+ length = StyleBuilderConverter::convertPositionLength<CSSValueLeft, CSSValueRight>(state, value);
layer->setXPosition(length);
if (value.isValuePair())
- layer->setBackgroundXOrigin(toCSSPrimitiveValue(toCSSValuePair(value).first()).convertTo<BackgroundEdgeOrigin>());
+ layer->setBackgroundXOrigin(toCSSIdentifierValue(toCSSValuePair(value).first()).convertTo<BackgroundEdgeOrigin>());
}
void CSSToStyleMap::mapFillYPosition(StyleResolverState& state, FillLayer* layer, const CSSValue& value)
@@ -236,18 +236,18 @@ void CSSToStyleMap::mapFillYPosition(StyleResolverState& state, FillLayer* layer
return;
}
- if (!value.isPrimitiveValue() && !value.isValuePair())
+ if (!value.isIdentifierValue() && !value.isPrimitiveValue() && !value.isValuePair())
return;
Length length;
if (value.isValuePair())
length = toCSSPrimitiveValue(toCSSValuePair(value).second()).convertToLength(state.cssToLengthConversionData());
else
- length = StyleBuilderConverter::convertPositionLength<CSSValueTop, CSSValueBottom>(state, toCSSPrimitiveValue(value));
+ length = StyleBuilderConverter::convertPositionLength<CSSValueTop, CSSValueBottom>(state, value);
layer->setYPosition(length);
if (value.isValuePair())
- layer->setBackgroundYOrigin(toCSSPrimitiveValue(toCSSValuePair(value).first()).convertTo<BackgroundEdgeOrigin>());
+ layer->setBackgroundYOrigin(toCSSIdentifierValue(toCSSValuePair(value).first()).convertTo<BackgroundEdgeOrigin>());
}
void CSSToStyleMap::mapFillMaskSourceType(StyleResolverState&, FillLayer* layer, const CSSValue& value)
@@ -258,10 +258,10 @@ void CSSToStyleMap::mapFillMaskSourceType(StyleResolverState&, FillLayer* layer,
return;
}
- if (!value.isPrimitiveValue())
+ if (!value.isIdentifierValue())
return;
- switch (toCSSPrimitiveValue(value).getValueID()) {
+ switch (toCSSIdentifierValue(value).getValueID()) {
case CSSValueAlpha:
type = MaskAlpha;
break;
@@ -289,7 +289,7 @@ Timing::PlaybackDirection CSSToStyleMap::mapAnimationDirection(const CSSValue& v
if (value.isInitialValue())
return CSSAnimationData::initialDirection();
- switch (toCSSPrimitiveValue(value).getValueID()) {
+ switch (toCSSIdentifierValue(value).getValueID()) {
case CSSValueNormal:
return Timing::PlaybackDirection::NORMAL;
case CSSValueAlternate:
@@ -316,7 +316,7 @@ Timing::FillMode CSSToStyleMap::mapAnimationFillMode(const CSSValue& value)
if (value.isInitialValue())
return CSSAnimationData::initialFillMode();
- switch (toCSSPrimitiveValue(value).getValueID()) {
+ switch (toCSSIdentifierValue(value).getValueID()) {
case CSSValueNone:
return Timing::FillMode::NONE;
case CSSValueForwards:
@@ -335,10 +335,9 @@ double CSSToStyleMap::mapAnimationIterationCount(const CSSValue& value)
{
if (value.isInitialValue())
return CSSAnimationData::initialIterationCount();
- const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
- if (primitiveValue.getValueID() == CSSValueInfinite)
+ if (value.isIdentifierValue() && toCSSIdentifierValue(value).getValueID() == CSSValueInfinite)
return std::numeric_limits<double>::infinity();
- return primitiveValue.getFloatValue();
+ return toCSSPrimitiveValue(value).getFloatValue();
}
AtomicString CSSToStyleMap::mapAnimationName(const CSSValue& value)
@@ -347,7 +346,7 @@ AtomicString CSSToStyleMap::mapAnimationName(const CSSValue& value)
return CSSAnimationData::initialName();
if (value.isCustomIdentValue())
return AtomicString(toCSSCustomIdentValue(value).value());
- ASSERT(toCSSPrimitiveValue(value).getValueID() == CSSValueNone);
+ DCHECK_EQ(toCSSIdentifierValue(value).getValueID(), CSSValueNone);
return CSSAnimationData::initialName();
}
@@ -355,9 +354,9 @@ EAnimPlayState CSSToStyleMap::mapAnimationPlayState(const CSSValue& value)
{
if (value.isInitialValue())
return CSSAnimationData::initialPlayState();
- if (toCSSPrimitiveValue(value).getValueID() == CSSValuePaused)
+ if (toCSSIdentifierValue(value).getValueID() == CSSValuePaused)
return AnimPlayStatePaused;
- ASSERT(toCSSPrimitiveValue(value).getValueID() == CSSValueRunning);
+ DCHECK_EQ(toCSSIdentifierValue(value).getValueID(), CSSValueRunning);
return AnimPlayStatePlaying;
}
@@ -371,7 +370,7 @@ CSSTransitionData::TransitionProperty CSSToStyleMap::mapAnimationProperty(const
return CSSTransitionData::TransitionProperty(customIdentValue.valueAsPropertyID());
return CSSTransitionData::TransitionProperty(customIdentValue.value());
}
- ASSERT(toCSSPrimitiveValue(value).getValueID() == CSSValueNone);
+ DCHECK_EQ(toCSSIdentifierValue(value).getValueID(), CSSValueNone);
return CSSTransitionData::TransitionProperty(CSSTransitionData::TransitionNone);
}
@@ -382,9 +381,9 @@ PassRefPtr<TimingFunction> CSSToStyleMap::mapAnimationTimingFunction(const CSSVa
// currently get into here with initial since the parser expands unset
// properties in shorthands to initial.
- if (value.isPrimitiveValue()) {
- const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
- switch (primitiveValue.getValueID()) {
+ if (value.isIdentifierValue()) {
+ const CSSIdentifierValue& identifierValue = toCSSIdentifierValue(value);
+ switch (identifierValue.getValueID()) {
case CSSValueLinear:
return LinearTimingFunction::shared();
case CSSValueEase:
@@ -501,24 +500,27 @@ void CSSToStyleMap::mapNinePieceImageSlice(StyleResolverState&, const CSSValue&
// Set up a length box to represent our image slices.
LengthBox box;
const CSSQuadValue& slices = borderImageSlice.slices();
- box.m_top = convertBorderImageSliceSide(*slices.top());
- box.m_bottom = convertBorderImageSliceSide(*slices.bottom());
- box.m_left = convertBorderImageSliceSide(*slices.left());
- box.m_right = convertBorderImageSliceSide(*slices.right());
+ box.m_top = convertBorderImageSliceSide(toCSSPrimitiveValue(*slices.top()));
+ box.m_bottom = convertBorderImageSliceSide(toCSSPrimitiveValue(*slices.bottom()));
+ box.m_left = convertBorderImageSliceSide(toCSSPrimitiveValue(*slices.left()));
+ box.m_right = convertBorderImageSliceSide(toCSSPrimitiveValue(*slices.right()));
image.setImageSlices(box);
// Set our fill mode.
image.setFill(borderImageSlice.fill());
}
-static BorderImageLength toBorderImageLength(CSSPrimitiveValue& value, const CSSToLengthConversionData& conversionData)
+static BorderImageLength toBorderImageLength(CSSValue& value, const CSSToLengthConversionData& conversionData)
{
- if (value.isNumber())
- return value.getDoubleValue();
- if (value.isPercentage())
- return Length(value.getDoubleValue(), Percent);
- if (value.getValueID() != CSSValueAuto)
- return value.computeLength<Length>(conversionData);
+ if (value.isPrimitiveValue()) {
+ const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
+ if (primitiveValue.isNumber())
+ return primitiveValue.getDoubleValue();
+ if (primitiveValue.isPercentage())
+ return Length(primitiveValue.getDoubleValue(), Percent);
+ return primitiveValue.computeLength<Length>(conversionData);
+ }
+ DCHECK_EQ(toCSSIdentifierValue(value).getValueID(), CSSValueAuto);
return Length(Auto);
}
@@ -543,8 +545,8 @@ void CSSToStyleMap::mapNinePieceImageRepeat(StyleResolverState&, const CSSValue&
return;
const CSSValuePair& pair = toCSSValuePair(value);
- CSSValueID firstIdentifier = toCSSPrimitiveValue(pair.first()).getValueID();
- CSSValueID secondIdentifier = toCSSPrimitiveValue(pair.second()).getValueID();
+ CSSValueID firstIdentifier = toCSSIdentifierValue(pair.first()).getValueID();
+ CSSValueID secondIdentifier = toCSSIdentifierValue(pair.second()).getValueID();
ENinePieceImageRule horizontalRule;
switch (firstIdentifier) {

Powered by Google App Engine
This is Rietveld 408576698