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) { |