| Index: Source/core/css/resolver/StyleBuilderConverter.cpp
|
| diff --git a/Source/core/css/resolver/StyleBuilderConverter.cpp b/Source/core/css/resolver/StyleBuilderConverter.cpp
|
| index 35c7bc90c70f4ebc91c2dedb74802f004087a7b7..8b2c4e96e95b6d716d9e701a7210b766516e7583 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, const CSSValue& value, bool forVisitedLink)
|
| {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| return state.document().textLinkColors().colorFromPrimitiveValue(primitiveValue, state.style()->color(), forVisitedLink);
|
| }
|
|
|
| AtomicString StyleBuilderConverter::convertFragmentIdentifier(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const 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, const CS
|
| {
|
| 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, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const 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, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| if (primitiveValue.getValueID() == CSSValueNone)
|
| return FontBuilder::initialSizeAdjust();
|
|
|
| @@ -258,7 +257,7 @@ float StyleBuilderConverter::convertFontSizeAdjust(StyleResolverState& state, co
|
|
|
| FontWeight StyleBuilderConverter::convertFontWeight(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| switch (primitiveValue.getValueID()) {
|
| case CSSValueBolder:
|
| return FontDescription::bolderWeight(state.parentStyle()->fontDescription().weight());
|
| @@ -275,8 +274,8 @@ FontDescription::VariantLigatures StyleBuilderConverter::convertFontVariantLigat
|
| FontDescription::VariantLigatures ligatures;
|
| CSSValueList& valueList = toCSSValueList(value);
|
| for (size_t i = 0; i < valueList.length(); ++i) {
|
| - CSSValue item = valueList.item(i);
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(item);
|
| + const CSSValue& item = valueList.item(i);
|
| + const 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);
|
| + const 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&, const CSSValue& value)
|
| {
|
| StyleSelfAlignmentData alignmentData = ComputedStyle::initialSelfAlignment();
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| if (Pair* pairValue = primitiveValue.getPairValue()) {
|
| - if (pairValue->first()->getValueID() == CSSValueLegacy) {
|
| + if (pairValue->first().getValueID() == CSSValueLegacy) {
|
| alignmentData.setPositionType(LegacyPosition);
|
| - alignmentData.setPosition(*pairValue->second());
|
| + alignmentData.setPosition(pairValue->second());
|
| } else {
|
| - alignmentData.setPosition(*pairValue->first());
|
| - alignmentData.setOverflow(*pairValue->second());
|
| + alignmentData.setPosition(pairValue->first());
|
| + alignmentData.setOverflow(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&, con
|
| CSSValueList& list = toCSSValueList(value);
|
|
|
| ASSERT(list.length() >= 1);
|
| - CSSPrimitiveValue* first = &toCSSPrimitiveValue(list.item(0));
|
| - CSSPrimitiveValue* second = list.length() == 2 ? &toCSSPrimitiveValue(list.item(1)) : nullptr;
|
| + const 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&, con
|
| GridPosition position;
|
|
|
| if (value.isPrimitiveValue()) {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const 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&, con
|
| 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,20 +451,20 @@ GridPosition StyleBuilderConverter::convertGridPosition(StyleResolverState&, con
|
| GridTrackSize StyleBuilderConverter::convertGridTrackSize(StyleResolverState& state, const 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);
|
| }
|
|
|
| -bool StyleBuilderConverter::convertGridTrackList(CSSValue value, Vector<GridTrackSize>& trackSizes, NamedGridLinesMap& namedGridLines, OrderedNamedGridLines& orderedNamedGridLines, StyleResolverState& state)
|
| +bool StyleBuilderConverter::convertGridTrackList(const CSSValue& value, Vector<GridTrackSize>& trackSizes, NamedGridLinesMap& namedGridLines, OrderedNamedGridLines& orderedNamedGridLines, StyleResolverState& state)
|
| {
|
| // Handle 'none'.
|
| if (value.isPrimitiveValue()) {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| return primitiveValue.getValueID() == CSSValueNone;
|
| }
|
|
|
| @@ -544,7 +543,7 @@ UnzoomedLength StyleBuilderConverter::convertUnzoomedLength(const StyleResolverS
|
|
|
| Length StyleBuilderConverter::convertLengthOrAuto(const StyleResolverState& state, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const 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, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| switch (primitiveValue.getValueID()) {
|
| case CSSValueInvalid:
|
| return convertLength(state, value);
|
| @@ -580,7 +579,7 @@ Length StyleBuilderConverter::convertLengthSizing(StyleResolverState& state, con
|
|
|
| Length StyleBuilderConverter::convertLengthMaxSizing(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const 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, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const 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, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
|
|
| if (primitiveValue.isLength())
|
| return primitiveValue.computeLength<Length>(lineHeightToLengthConversionData(state));
|
| @@ -633,7 +632,7 @@ Length StyleBuilderConverter::convertLineHeight(StyleResolverState& state, const
|
|
|
| float StyleBuilderConverter::convertNumberOrPercentage(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| ASSERT(primitiveValue.isNumber() || primitiveValue.isPercentage());
|
| if (primitiveValue.isNumber())
|
| return primitiveValue.getFloatValue();
|
| @@ -641,22 +640,22 @@ 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()) {
|
| - Length length = StyleBuilderConverter::convertLength(state, CSSValue(*pair->second()));
|
| - if (pair->first()->getValueID() == cssValueFor0)
|
| + if (Pair* pair = primitiveValue.getPairValue()) {
|
| + Length length = StyleBuilderConverter::convertLength(state, CSSValue(pair->second()));
|
| + if (pair->first().getValueID() == cssValueFor0)
|
| return length;
|
| - ASSERT(pair->first()->getValueID() == cssValueFor100);
|
| + ASSERT(pair->first().getValueID() == cssValueFor100);
|
| return length.subtractFromOneHundredPercent();
|
| }
|
|
|
| - return StyleBuilderConverter::convertLength(state, CSSValue(*primitiveValue));
|
| + return StyleBuilderConverter::convertLength(state, primitiveValue);
|
| }
|
|
|
| LengthPoint StyleBuilderConverter::convertPosition(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| Pair* pair = primitiveValue.getPairValue();
|
| return LengthPoint(
|
| convertPositionLength<CSSValueLeft, CSSValueRight>(state, pair->first()),
|
| @@ -664,14 +663,14 @@ LengthPoint StyleBuilderConverter::convertPosition(StyleResolverState& state, co
|
| );
|
| }
|
|
|
| -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, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
|
|
| if (primitiveValue.getValueID() == CSSValueNone)
|
| return ComputedStyle::initialPerspective();
|
| @@ -679,7 +678,7 @@ float StyleBuilderConverter::convertPerspective(StyleResolverState& state, const
|
| }
|
|
|
| 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));
|
| + const CSSPrimitiveValue& primitiveValueX = toCSSPrimitiveValue(list.item(0));
|
| + const 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, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| Pair* pair = primitiveValue.getPairValue();
|
| - Length radiusWidth = pair->first()->convertToLength(state.cssToLengthConversionData());
|
| - Length radiusHeight = pair->second()->convertToLength(state.cssToLengthConversionData());
|
| + Length radiusWidth = pair->first().convertToLength(state.cssToLengthConversionData());
|
| + Length radiusHeight = pair->second().convertToLength(state.cssToLengthConversionData());
|
| float width = radiusWidth.value();
|
| float height = radiusHeight.value();
|
| ASSERT(width >= 0 && height >= 0);
|
| @@ -793,14 +792,14 @@ 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));
|
| + color = convertStyleColor(state, *item.color);
|
| shadows.append(ShadowData(FloatPoint(x, y), blur, spread, shadowStyle, color));
|
| }
|
| return ShadowList::adopt(shadows);
|
| @@ -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));
|
| + const 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, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| if (primitiveValue.getValueID() == CSSValueNormal)
|
| return 0;
|
| return primitiveValue.computeLength<float>(state.cssToLengthConversionData());
|
| @@ -862,9 +861,9 @@ PassRefPtr<SVGDashArray> StyleBuilderConverter::convertStrokeDasharray(StyleReso
|
| return array.release();
|
| }
|
|
|
| -StyleColor StyleBuilderConverter::convertStyleColor(StyleResolverState& state, CSSValue value, bool forVisitedLink)
|
| +StyleColor StyleBuilderConverter::convertStyleColor(StyleResolverState& state, const CSSValue& value, bool forVisitedLink)
|
| {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const 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, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const 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));
|
| + const CSSPrimitiveValue& primitiveValueX = toCSSPrimitiveValue(list.item(0));
|
| + const CSSPrimitiveValue& primitiveValueY = toCSSPrimitiveValue(list.item(1));
|
|
|
| return TransformOrigin(
|
| convertOriginLength<CSSValueLeft, CSSValueRight>(state, primitiveValueX),
|
|
|