| Index: third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
|
| diff --git a/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp b/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
|
| index cdb4359d89b9676489ab52204bc743e595519453..d9caa3354bec6167ef1b8d950707d897c9a9dc67 100644
|
| --- a/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
|
| +++ b/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
|
| @@ -168,7 +168,7 @@ void StyleBuilderFunctions::applyInheritCSSPropertyColor(StyleResolverState& sta
|
| void StyleBuilderFunctions::applyValueCSSPropertyColor(StyleResolverState& state, const CSSValue& value)
|
| {
|
| // As per the spec, 'color: currentColor' is treated as 'color: inherit'
|
| - if (value.isPrimitiveValue() && toCSSPrimitiveValue(value).getValueID() == CSSValueCurrentcolor) {
|
| + if (value.isIdentifierValue() && toCSSIdentifierValue(value).getValueID() == CSSValueCurrentcolor) {
|
| applyInheritCSSPropertyColor(state);
|
| return;
|
| }
|
| @@ -231,17 +231,17 @@ void StyleBuilderFunctions::applyValueCSSPropertyCursor(StyleResolverState& stat
|
|
|
| state.style()->addCursor(state.styleImage(CSSPropertyCursor, image), hotSpotSpecified, hotSpot);
|
| } else {
|
| - state.style()->setCursor(toCSSPrimitiveValue(item).convertTo<ECursor>());
|
| + state.style()->setCursor(toCSSIdentifierValue(item).convertTo<ECursor>());
|
| }
|
| }
|
| } else {
|
| - state.style()->setCursor(toCSSPrimitiveValue(value).convertTo<ECursor>());
|
| + state.style()->setCursor(toCSSIdentifierValue(value).convertTo<ECursor>());
|
| }
|
| }
|
|
|
| void StyleBuilderFunctions::applyValueCSSPropertyDirection(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - state.style()->setDirection(toCSSPrimitiveValue(value).convertTo<TextDirection>());
|
| + state.style()->setDirection(toCSSIdentifierValue(value).convertTo<TextDirection>());
|
| }
|
|
|
| void StyleBuilderFunctions::applyInitialCSSPropertyGridTemplateAreas(StyleResolverState& state)
|
| @@ -260,9 +260,9 @@ void StyleBuilderFunctions::applyInheritCSSPropertyGridTemplateAreas(StyleResolv
|
|
|
| void StyleBuilderFunctions::applyValueCSSPropertyGridTemplateAreas(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - if (value.isPrimitiveValue()) {
|
| + if (value.isIdentifierValue()) {
|
| // FIXME: Shouldn't we clear the grid-area values
|
| - DCHECK_EQ(toCSSPrimitiveValue(value).getValueID(), CSSValueNone);
|
| + DCHECK_EQ(toCSSIdentifierValue(value).getValueID(), CSSValueNone);
|
| return;
|
| }
|
|
|
| @@ -302,28 +302,28 @@ void StyleBuilderFunctions::applyInheritCSSPropertyOutlineStyle(StyleResolverSta
|
|
|
| void StyleBuilderFunctions::applyValueCSSPropertyOutlineStyle(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| - state.style()->setOutlineStyleIsAuto(primitiveValue.convertTo<OutlineIsAuto>());
|
| - state.style()->setOutlineStyle(primitiveValue.convertTo<EBorderStyle>());
|
| + const CSSIdentifierValue& identifierValue = toCSSIdentifierValue(value);
|
| + state.style()->setOutlineStyleIsAuto(identifierValue.convertTo<OutlineIsAuto>());
|
| + state.style()->setOutlineStyle(identifierValue.convertTo<EBorderStyle>());
|
| }
|
|
|
| void StyleBuilderFunctions::applyValueCSSPropertyResize(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSIdentifierValue& identifierValue = toCSSIdentifierValue(value);
|
|
|
| EResize r = RESIZE_NONE;
|
| - if (primitiveValue.getValueID() == CSSValueAuto) {
|
| + if (identifierValue.getValueID() == CSSValueAuto) {
|
| if (Settings* settings = state.document().settings())
|
| r = settings->textAreasAreResizable() ? RESIZE_BOTH : RESIZE_NONE;
|
| } else {
|
| - r = primitiveValue.convertTo<EResize>();
|
| + r = identifierValue.convertTo<EResize>();
|
| }
|
| state.style()->setResize(r);
|
| }
|
|
|
| static float mmToPx(float mm) { return mm * cssPixelsPerMillimeter; }
|
| static float inchToPx(float inch) { return inch * cssPixelsPerInch; }
|
| -static FloatSize getPageSizeFromName(const CSSPrimitiveValue& pageSizeName)
|
| +static FloatSize getPageSizeFromName(const CSSIdentifierValue& pageSizeName)
|
| {
|
| switch (pageSizeName.getValueID()) {
|
| case CSSValueA5:
|
| @@ -358,32 +358,33 @@ void StyleBuilderFunctions::applyValueCSSPropertySize(StyleResolverState& state,
|
| const CSSValueList& list = toCSSValueList(value);
|
| if (list.length() == 2) {
|
| // <length>{2} | <page-size> <orientation>
|
| - const CSSPrimitiveValue& first = toCSSPrimitiveValue(list.item(0));
|
| - const CSSPrimitiveValue& second = toCSSPrimitiveValue(list.item(1));
|
| - if (first.isLength()) {
|
| + const CSSValue& first = list.item(0);
|
| + const CSSValue& second = list.item(1);
|
| + if (first.isPrimitiveValue() && toCSSPrimitiveValue(first).isLength()) {
|
| // <length>{2}
|
| - size = FloatSize(first.computeLength<float>(state.cssToLengthConversionData().copyWithAdjustedZoom(1.0)),
|
| - second.computeLength<float>(state.cssToLengthConversionData().copyWithAdjustedZoom(1.0)));
|
| + size = FloatSize(toCSSPrimitiveValue(first).computeLength<float>(state.cssToLengthConversionData().copyWithAdjustedZoom(1.0)),
|
| + toCSSPrimitiveValue(second).computeLength<float>(state.cssToLengthConversionData().copyWithAdjustedZoom(1.0)));
|
| } else {
|
| // <page-size> <orientation>
|
| - size = getPageSizeFromName(first);
|
| + size = getPageSizeFromName(toCSSIdentifierValue(first));
|
|
|
| - DCHECK(second.getValueID() == CSSValueLandscape || second.getValueID() == CSSValuePortrait);
|
| - if (second.getValueID() == CSSValueLandscape)
|
| + DCHECK(toCSSIdentifierValue(second).getValueID() == CSSValueLandscape || toCSSIdentifierValue(second).getValueID() == CSSValuePortrait);
|
| + if (toCSSIdentifierValue(second).getValueID() == CSSValueLandscape)
|
| size = size.transposedSize();
|
| }
|
| pageSizeType = PAGE_SIZE_RESOLVED;
|
| } else {
|
| DCHECK_EQ(list.length(), 1U);
|
| // <length> | auto | <page-size> | [ portrait | landscape]
|
| - const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(list.item(0));
|
| - if (primitiveValue.isLength()) {
|
| + const CSSValue& first = list.item(0);
|
| + if (first.isPrimitiveValue() && toCSSPrimitiveValue(first).isLength()) {
|
| // <length>
|
| pageSizeType = PAGE_SIZE_RESOLVED;
|
| - float width = primitiveValue.computeLength<float>(state.cssToLengthConversionData().copyWithAdjustedZoom(1.0));
|
| + float width = toCSSPrimitiveValue(first).computeLength<float>(state.cssToLengthConversionData().copyWithAdjustedZoom(1.0));
|
| size = FloatSize(width, width);
|
| } else {
|
| - switch (primitiveValue.getValueID()) {
|
| + const CSSIdentifierValue& ident = toCSSIdentifierValue(first);
|
| + switch (ident.getValueID()) {
|
| case CSSValueAuto:
|
| pageSizeType = PAGE_SIZE_AUTO;
|
| break;
|
| @@ -396,7 +397,7 @@ void StyleBuilderFunctions::applyValueCSSPropertySize(StyleResolverState& state,
|
| default:
|
| // <page-size>
|
| pageSizeType = PAGE_SIZE_RESOLVED;
|
| - size = getPageSizeFromName(primitiveValue);
|
| + size = getPageSizeFromName(ident);
|
| }
|
| }
|
| }
|
| @@ -440,14 +441,14 @@ void StyleBuilderFunctions::applyValueCSSPropertySnapHeight(StyleResolverState&
|
|
|
| void StyleBuilderFunctions::applyValueCSSPropertyTextAlign(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| - if (primitiveValue.isValueID() && primitiveValue.getValueID() != CSSValueWebkitMatchParent) {
|
| + if (value.isIdentifierValue() && toCSSIdentifierValue(value).getValueID() != CSSValueWebkitMatchParent) {
|
| // Special case for th elements - UA stylesheet text-align does not apply if parent's computed value for text-align is not its initial value
|
| // https://html.spec.whatwg.org/multipage/rendering.html#tables-2
|
| - if (primitiveValue.getValueID() == CSSValueInternalCenter && state.parentStyle()->textAlign() != ComputedStyle::initialTextAlign())
|
| + const CSSIdentifierValue& identValue = toCSSIdentifierValue(value);
|
| + if (identValue.getValueID() == CSSValueInternalCenter && state.parentStyle()->textAlign() != ComputedStyle::initialTextAlign())
|
| state.style()->setTextAlign(state.parentStyle()->textAlign());
|
| else
|
| - state.style()->setTextAlign(primitiveValue.convertTo<ETextAlign>());
|
| + state.style()->setTextAlign(identValue.convertTo<ETextAlign>());
|
| }
|
| else if (state.parentStyle()->textAlign() == TASTART)
|
| state.style()->setTextAlign(state.parentStyle()->isLeftToRightDirection() ? LEFT : RIGHT);
|
| @@ -478,15 +479,15 @@ void StyleBuilderFunctions::applyValueCSSPropertyTextIndent(StyleResolverState&
|
| TextIndentType textIndentTypeValue = ComputedStyle::initialTextIndentType();
|
|
|
| for (auto& listValue : toCSSValueList(value)) {
|
| - const CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(listValue.get());
|
| - if (!primitiveValue->getValueID())
|
| - lengthOrPercentageValue = primitiveValue->convertToLength(state.cssToLengthConversionData());
|
| - else if (primitiveValue->getValueID() == CSSValueEachLine)
|
| + if (listValue->isPrimitiveValue()) {
|
| + lengthOrPercentageValue = toCSSPrimitiveValue(*listValue).convertToLength(state.cssToLengthConversionData());
|
| + } else if (toCSSIdentifierValue(*listValue).getValueID() == CSSValueEachLine) {
|
| textIndentLineValue = TextIndentEachLine;
|
| - else if (primitiveValue->getValueID() == CSSValueHanging)
|
| + } else if (toCSSIdentifierValue(*listValue).getValueID() == CSSValueHanging) {
|
| textIndentTypeValue = TextIndentHanging;
|
| - else
|
| + } else {
|
| NOTREACHED();
|
| + }
|
| }
|
|
|
| state.style()->setTextIndent(lengthOrPercentageValue);
|
| @@ -512,12 +513,10 @@ void StyleBuilderFunctions::applyInheritCSSPropertyVerticalAlign(StyleResolverSt
|
|
|
| void StyleBuilderFunctions::applyValueCSSPropertyVerticalAlign(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| -
|
| - if (primitiveValue.getValueID())
|
| - state.style()->setVerticalAlign(primitiveValue.convertTo<EVerticalAlign>());
|
| + if (value.isIdentifierValue())
|
| + state.style()->setVerticalAlign(toCSSIdentifierValue(value).convertTo<EVerticalAlign>());
|
| else
|
| - state.style()->setVerticalAlignLength(primitiveValue.convertToLength(state.cssToLengthConversionData()));
|
| + state.style()->setVerticalAlignLength(toCSSPrimitiveValue(value).convertToLength(state.cssToLengthConversionData()));
|
| }
|
|
|
| static void resetEffectiveZoom(StyleResolverState& state)
|
| @@ -540,27 +539,32 @@ void StyleBuilderFunctions::applyInheritCSSPropertyZoom(StyleResolverState& stat
|
|
|
| void StyleBuilderFunctions::applyValueCSSPropertyZoom(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - SECURITY_DCHECK(value.isPrimitiveValue());
|
| - const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| -
|
| - if (primitiveValue.getValueID() == CSSValueNormal) {
|
| - resetEffectiveZoom(state);
|
| - state.setZoom(ComputedStyle::initialZoom());
|
| - } else if (primitiveValue.getValueID() == CSSValueReset) {
|
| - state.setEffectiveZoom(ComputedStyle::initialZoom());
|
| - state.setZoom(ComputedStyle::initialZoom());
|
| - } else if (primitiveValue.getValueID() == CSSValueDocument) {
|
| - float docZoom = state.rootElementStyle() ? state.rootElementStyle()->zoom() : ComputedStyle::initialZoom();
|
| - state.setEffectiveZoom(docZoom);
|
| - state.setZoom(docZoom);
|
| - } else if (primitiveValue.isPercentage()) {
|
| - resetEffectiveZoom(state);
|
| - if (float percent = primitiveValue.getFloatValue())
|
| - state.setZoom(percent / 100.0f);
|
| - } else if (primitiveValue.isNumber()) {
|
| - resetEffectiveZoom(state);
|
| - if (float number = primitiveValue.getFloatValue())
|
| - state.setZoom(number);
|
| + SECURITY_DCHECK(value.isPrimitiveValue() || value.isIdentifierValue());
|
| +
|
| + if (value.isIdentifierValue()) {
|
| + const CSSIdentifierValue& identifierValue = toCSSIdentifierValue(value);
|
| + if (identifierValue.getValueID() == CSSValueNormal) {
|
| + resetEffectiveZoom(state);
|
| + state.setZoom(ComputedStyle::initialZoom());
|
| + } else if (identifierValue.getValueID() == CSSValueReset) {
|
| + state.setEffectiveZoom(ComputedStyle::initialZoom());
|
| + state.setZoom(ComputedStyle::initialZoom());
|
| + } else if (identifierValue.getValueID() == CSSValueDocument) {
|
| + float docZoom = state.rootElementStyle() ? state.rootElementStyle()->zoom() : ComputedStyle::initialZoom();
|
| + state.setEffectiveZoom(docZoom);
|
| + state.setZoom(docZoom);
|
| + }
|
| + } else if (value.isPrimitiveValue()) {
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + if (primitiveValue.isPercentage()) {
|
| + resetEffectiveZoom(state);
|
| + if (float percent = primitiveValue.getFloatValue())
|
| + state.setZoom(percent / 100.0f);
|
| + } else if (primitiveValue.isNumber()) {
|
| + resetEffectiveZoom(state);
|
| + if (float number = primitiveValue.getFloatValue())
|
| + state.setZoom(number);
|
| + }
|
| }
|
| }
|
|
|
| @@ -591,7 +595,7 @@ void StyleBuilderFunctions::applyValueCSSPropertyWebkitTextEmphasisStyle(StyleRe
|
| const CSSValueList& list = toCSSValueList(value);
|
| DCHECK_EQ(list.length(), 2U);
|
| for (unsigned i = 0; i < 2; ++i) {
|
| - const CSSPrimitiveValue& value = toCSSPrimitiveValue(list.item(i));
|
| + const CSSIdentifierValue& value = toCSSIdentifierValue(list.item(i));
|
| if (value.getValueID() == CSSValueFilled || value.getValueID() == CSSValueOpen)
|
| state.style()->setTextEmphasisFill(value.convertTo<TextEmphasisFill>());
|
| else
|
| @@ -608,16 +612,16 @@ void StyleBuilderFunctions::applyValueCSSPropertyWebkitTextEmphasisStyle(StyleRe
|
| return;
|
| }
|
|
|
| - const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSIdentifierValue& identifierValue = toCSSIdentifierValue(value);
|
|
|
| state.style()->setTextEmphasisCustomMark(nullAtom);
|
|
|
| - if (primitiveValue.getValueID() == CSSValueFilled || primitiveValue.getValueID() == CSSValueOpen) {
|
| - state.style()->setTextEmphasisFill(primitiveValue.convertTo<TextEmphasisFill>());
|
| + if (identifierValue.getValueID() == CSSValueFilled || identifierValue.getValueID() == CSSValueOpen) {
|
| + state.style()->setTextEmphasisFill(identifierValue.convertTo<TextEmphasisFill>());
|
| state.style()->setTextEmphasisMark(TextEmphasisMarkAuto);
|
| } else {
|
| state.style()->setTextEmphasisFill(TextEmphasisFillFilled);
|
| - state.style()->setTextEmphasisMark(primitiveValue.convertTo<TextEmphasisMark>());
|
| + state.style()->setTextEmphasisMark(identifierValue.convertTo<TextEmphasisMark>());
|
| }
|
| }
|
|
|
| @@ -643,16 +647,16 @@ void StyleBuilderFunctions::applyValueCSSPropertyWillChange(StyleResolverState&
|
| bool willChangeScrollPosition = false;
|
| Vector<CSSPropertyID> willChangeProperties;
|
|
|
| - if (value.isPrimitiveValue()) {
|
| - DCHECK_EQ(toCSSPrimitiveValue(value).getValueID(), CSSValueAuto);
|
| + if (value.isIdentifierValue()) {
|
| + DCHECK_EQ(toCSSIdentifierValue(value).getValueID(), CSSValueAuto);
|
| } else {
|
| DCHECK(value.isValueList());
|
| for (auto& willChangeValue : toCSSValueList(value)) {
|
| if (willChangeValue->isCustomIdentValue())
|
| willChangeProperties.append(toCSSCustomIdentValue(*willChangeValue).valueAsPropertyID());
|
| - else if (toCSSPrimitiveValue(*willChangeValue).getValueID() == CSSValueContents)
|
| + else if (toCSSIdentifierValue(*willChangeValue).getValueID() == CSSValueContents)
|
| willChangeContents = true;
|
| - else if (toCSSPrimitiveValue(*willChangeValue).getValueID() == CSSValueScrollPosition)
|
| + else if (toCSSIdentifierValue(*willChangeValue).getValueID() == CSSValueScrollPosition)
|
| willChangeScrollPosition = true;
|
| else
|
| NOTREACHED();
|
| @@ -677,8 +681,8 @@ void StyleBuilderFunctions::applyInheritCSSPropertyContent(StyleResolverState&)
|
|
|
| void StyleBuilderFunctions::applyValueCSSPropertyContent(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - if (value.isPrimitiveValue()) {
|
| - DCHECK(toCSSPrimitiveValue(value).getValueID() == CSSValueNormal || toCSSPrimitiveValue(value).getValueID() == CSSValueNone);
|
| + if (value.isIdentifierValue()) {
|
| + DCHECK(toCSSIdentifierValue(value).getValueID() == CSSValueNormal || toCSSIdentifierValue(value).getValueID() == CSSValueNone);
|
| state.style()->setContent(nullptr);
|
| return;
|
| }
|
| @@ -697,9 +701,9 @@ void StyleBuilderFunctions::applyValueCSSPropertyContent(StyleResolverState& sta
|
| listStyleType = static_cast<EListStyleType>(listStyleIdent - CSSValueDisc);
|
| std::unique_ptr<CounterContent> counter = wrapUnique(new CounterContent(AtomicString(counterValue->identifier()), listStyleType, AtomicString(counterValue->separator())));
|
| nextContent = ContentData::create(std::move(counter));
|
| - } else if (item->isPrimitiveValue()) {
|
| + } else if (item->isIdentifierValue()) {
|
| QuoteType quoteType;
|
| - switch (toCSSPrimitiveValue(*item).getValueID()) {
|
| + switch (toCSSIdentifierValue(*item).getValueID()) {
|
| default:
|
| NOTREACHED();
|
| case CSSValueOpenQuote:
|
| @@ -753,8 +757,8 @@ void StyleBuilderFunctions::applyValueCSSPropertyContent(StyleResolverState& sta
|
|
|
| void StyleBuilderFunctions::applyValueCSSPropertyWebkitLocale(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - if (value.isPrimitiveValue()) {
|
| - DCHECK_EQ(toCSSPrimitiveValue(value).getValueID(), CSSValueAuto);
|
| + if (value.isIdentifierValue()) {
|
| + DCHECK_EQ(toCSSIdentifierValue(value).getValueID(), CSSValueAuto);
|
| state.fontBuilder().setLocale(nullptr);
|
| } else {
|
| state.fontBuilder().setLocale(LayoutLocale::get(AtomicString(toCSSStringValue(value).value())));
|
| @@ -771,29 +775,29 @@ void StyleBuilderFunctions::applyInheritCSSPropertyWebkitAppRegion(StyleResolver
|
|
|
| void StyleBuilderFunctions::applyValueCSSPropertyWebkitAppRegion(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| - state.style()->setDraggableRegionMode(primitiveValue.getValueID() == CSSValueDrag ? DraggableRegionDrag : DraggableRegionNoDrag);
|
| + const CSSIdentifierValue& identifierValue = toCSSIdentifierValue(value);
|
| + state.style()->setDraggableRegionMode(identifierValue.getValueID() == CSSValueDrag ? DraggableRegionDrag : DraggableRegionNoDrag);
|
| state.document().setHasAnnotatedRegions(true);
|
| }
|
|
|
| void StyleBuilderFunctions::applyValueCSSPropertyWritingMode(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - state.setWritingMode(toCSSPrimitiveValue(value).convertTo<WritingMode>());
|
| + state.setWritingMode(toCSSIdentifierValue(value).convertTo<WritingMode>());
|
| }
|
|
|
| void StyleBuilderFunctions::applyValueCSSPropertyWebkitWritingMode(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - state.setWritingMode(toCSSPrimitiveValue(value).convertTo<WritingMode>());
|
| + state.setWritingMode(toCSSIdentifierValue(value).convertTo<WritingMode>());
|
| }
|
|
|
| void StyleBuilderFunctions::applyValueCSSPropertyTextOrientation(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - state.setTextOrientation(toCSSPrimitiveValue(value).convertTo<TextOrientation>());
|
| + state.setTextOrientation(toCSSIdentifierValue(value).convertTo<TextOrientation>());
|
| }
|
|
|
| void StyleBuilderFunctions::applyValueCSSPropertyWebkitTextOrientation(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - state.setTextOrientation(toCSSPrimitiveValue(value).convertTo<TextOrientation>());
|
| + state.setTextOrientation(toCSSIdentifierValue(value).convertTo<TextOrientation>());
|
| }
|
|
|
| void StyleBuilderFunctions::applyValueCSSPropertyVariable(StyleResolverState& state, const CSSValue& value)
|
| @@ -887,13 +891,12 @@ void StyleBuilderFunctions::applyInheritCSSPropertyBaselineShift(StyleResolverSt
|
| void StyleBuilderFunctions::applyValueCSSPropertyBaselineShift(StyleResolverState& state, const CSSValue& value)
|
| {
|
| SVGComputedStyle& svgStyle = state.style()->accessSVGStyle();
|
| - const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| - if (!primitiveValue.isValueID()) {
|
| + if (!value.isIdentifierValue()) {
|
| svgStyle.setBaselineShift(BS_LENGTH);
|
| - svgStyle.setBaselineShiftValue(StyleBuilderConverter::convertLength(state, primitiveValue));
|
| + svgStyle.setBaselineShiftValue(StyleBuilderConverter::convertLength(state, toCSSPrimitiveValue(value)));
|
| return;
|
| }
|
| - switch (primitiveValue.getValueID()) {
|
| + switch (toCSSIdentifierValue(value).getValueID()) {
|
| case CSSValueBaseline:
|
| svgStyle.setBaselineShift(BS_LENGTH);
|
| svgStyle.setBaselineShiftValue(Length(Fixed));
|
|
|