| Index: Source/core/css/resolver/StyleBuilderCustom.cpp
|
| diff --git a/Source/core/css/resolver/StyleBuilderCustom.cpp b/Source/core/css/resolver/StyleBuilderCustom.cpp
|
| index bb17fbe351c89929b7cc32a1bab60dcca761a2cd..e79a181207c464cee0898148501f7e10e232bd10 100644
|
| --- a/Source/core/css/resolver/StyleBuilderCustom.cpp
|
| +++ b/Source/core/css/resolver/StyleBuilderCustom.cpp
|
| @@ -104,7 +104,7 @@ static inline bool isValidVisitedLinkProperty(CSSPropertyID id)
|
|
|
| } // namespace
|
|
|
| -void StyleBuilder::applyProperty(CSSPropertyID id, StyleResolverState& state, CSSValue value)
|
| +void StyleBuilder::applyProperty(CSSPropertyID id, StyleResolverState& state, const CSSValue& value)
|
| {
|
| ASSERT_WITH_MESSAGE(!isShorthandProperty(id), "Shorthand property id = %d wasn't expanded at parsing time", id);
|
|
|
| @@ -150,9 +150,9 @@ void StyleBuilderFunctions::applyInheritCSSPropertyColor(StyleResolverState& sta
|
| state.style()->setVisitedLinkColor(color);
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyColor(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyColor(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| // As per the spec, 'color: currentColor' is treated as 'color: inherit'
|
| if (primitiveValue.getValueID() == CSSValueCurrentcolor) {
|
| applyInheritCSSPropertyColor(state);
|
| @@ -177,7 +177,7 @@ void StyleBuilderFunctions::applyInheritCSSPropertyCursor(StyleResolverState& st
|
| state.style()->setCursorList(state.parentStyle()->cursors());
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyCursor(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyCursor(StyleResolverState& state, const CSSValue& value)
|
| {
|
| state.style()->clearCursorList();
|
| if (value.isValueList()) {
|
| @@ -200,12 +200,12 @@ void StyleBuilderFunctions::applyValueCSSPropertyCursor(StyleResolverState& stat
|
| }
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyDirection(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyDirection(StyleResolverState& state, const CSSValue& value)
|
| {
|
| state.style()->setDirection(toCSSPrimitiveValue(value));
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyGlyphOrientationVertical(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyGlyphOrientationVertical(StyleResolverState& state, const CSSValue& value)
|
| {
|
| if (value.isPrimitiveValue() && toCSSPrimitiveValue(value).getValueID() == CSSValueAuto)
|
| state.style()->accessSVGStyle().setGlyphOrientationVertical(GO_AUTO);
|
| @@ -227,7 +227,7 @@ void StyleBuilderFunctions::applyInheritCSSPropertyGridTemplateAreas(StyleResolv
|
| state.style()->setNamedGridAreaColumnCount(state.parentStyle()->namedGridAreaColumnCount());
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyGridTemplateAreas(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyGridTemplateAreas(StyleResolverState& state, const CSSValue& value)
|
| {
|
| if (value.isPrimitiveValue()) {
|
| // FIXME: Shouldn't we clear the grid-area values
|
| @@ -252,7 +252,7 @@ void StyleBuilderFunctions::applyValueCSSPropertyGridTemplateAreas(StyleResolver
|
| state.style()->setNamedGridAreaColumnCount(gridTemplateAreasValue.columnCount());
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyListStyleImage(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyListStyleImage(StyleResolverState& state, const CSSValue& value)
|
| {
|
| state.style()->setListStyleImage(state.styleImage(CSSPropertyListStyleImage, value));
|
| }
|
| @@ -269,16 +269,16 @@ void StyleBuilderFunctions::applyInheritCSSPropertyOutlineStyle(StyleResolverSta
|
| state.style()->setOutlineStyle(state.parentStyle()->outlineStyle());
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyOutlineStyle(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyOutlineStyle(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| state.style()->setOutlineStyleIsAuto(primitiveValue);
|
| state.style()->setOutlineStyle(primitiveValue);
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyResize(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyResize(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
|
|
| EResize r = RESIZE_NONE;
|
| if (primitiveValue.getValueID() == CSSValueAuto) {
|
| @@ -292,7 +292,7 @@ void StyleBuilderFunctions::applyValueCSSPropertyResize(StyleResolverState& stat
|
|
|
| static float mmToPx(float mm) { return mm * cssPixelsPerMillimeter; }
|
| static float inchToPx(float inch) { return inch * cssPixelsPerInch; }
|
| -static FloatSize getPageSizeFromName(CSSPrimitiveValue pageSizeName)
|
| +static FloatSize getPageSizeFromName(const CSSPrimitiveValue& pageSizeName)
|
| {
|
| switch (pageSizeName.getValueID()) {
|
| case CSSValueA5:
|
| @@ -319,7 +319,7 @@ static FloatSize getPageSizeFromName(CSSPrimitiveValue pageSizeName)
|
|
|
| void StyleBuilderFunctions::applyInitialCSSPropertySize(StyleResolverState&) { }
|
| void StyleBuilderFunctions::applyInheritCSSPropertySize(StyleResolverState&) { }
|
| -void StyleBuilderFunctions::applyValueCSSPropertySize(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertySize(StyleResolverState& state, const CSSValue& value)
|
| {
|
| state.style()->resetPageSizeType();
|
| FloatSize size;
|
| @@ -327,8 +327,8 @@ void StyleBuilderFunctions::applyValueCSSPropertySize(StyleResolverState& state,
|
| CSSValueList& list = toCSSValueList(value);
|
| if (list.length() == 2) {
|
| // <length>{2} | <page-size> <orientation>
|
| - CSSPrimitiveValue first = toCSSPrimitiveValue(list.item(0));
|
| - CSSPrimitiveValue second = toCSSPrimitiveValue(list.item(1));
|
| + const CSSPrimitiveValue& first = toCSSPrimitiveValue(list.item(0));
|
| + const CSSPrimitiveValue& second = toCSSPrimitiveValue(list.item(1));
|
| if (first.isLength()) {
|
| // <length>{2}
|
| size = FloatSize(first.computeLength<float>(state.cssToLengthConversionData().copyWithAdjustedZoom(1.0)),
|
| @@ -345,7 +345,7 @@ void StyleBuilderFunctions::applyValueCSSPropertySize(StyleResolverState& state,
|
| } else {
|
| ASSERT(list.length() == 1);
|
| // <length> | auto | <page-size> | [ portrait | landscape]
|
| - CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(list.item(0));
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(list.item(0));
|
| if (primitiveValue.isLength()) {
|
| // <length>
|
| pageSizeType = PAGE_SIZE_RESOLVED;
|
| @@ -373,9 +373,9 @@ void StyleBuilderFunctions::applyValueCSSPropertySize(StyleResolverState& state,
|
| state.style()->setPageSize(size);
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyTextAlign(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyTextAlign(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| if (primitiveValue.isValueID() && primitiveValue.getValueID() != CSSValueWebkitMatchParent)
|
| state.style()->setTextAlign(primitiveValue);
|
| else if (state.parentStyle()->textAlign() == TASTART)
|
| @@ -400,14 +400,14 @@ void StyleBuilderFunctions::applyInitialCSSPropertyTextIndent(StyleResolverState
|
| state.style()->setTextIndentType(ComputedStyle::initialTextIndentType());
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyTextIndent(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyTextIndent(StyleResolverState& state, const CSSValue& value)
|
| {
|
| Length lengthOrPercentageValue;
|
| TextIndentLine textIndentLineValue = ComputedStyle::initialTextIndentLine();
|
| TextIndentType textIndentTypeValue = ComputedStyle::initialTextIndentType();
|
|
|
| for (auto& listValue : toCSSValueList(value)) {
|
| - CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(listValue);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(listValue);
|
| if (!primitiveValue.getValueID())
|
| lengthOrPercentageValue = primitiveValue.convertToLength(state.cssToLengthConversionData());
|
| else if (primitiveValue.getValueID() == CSSValueEachLine)
|
| @@ -423,7 +423,7 @@ void StyleBuilderFunctions::applyValueCSSPropertyTextIndent(StyleResolverState&
|
| state.style()->setTextIndentType(textIndentTypeValue);
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyTransform(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyTransform(StyleResolverState& state, const CSSValue& value)
|
| {
|
| // FIXME: We should just make this a converter
|
| TransformOperations operations;
|
| @@ -439,7 +439,7 @@ void StyleBuilderFunctions::applyInheritCSSPropertyMotionPath(StyleResolverState
|
| state.style()->resetMotionPath();
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyMotionPath(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyMotionPath(StyleResolverState& state, const CSSValue& value)
|
| {
|
| if (value.isPathValue()) {
|
| const String& pathString = toCSSPathValue(value).pathString();
|
| @@ -468,7 +468,7 @@ void StyleBuilderFunctions::applyInitialCSSPropertyMotionRotation(StyleResolverS
|
| state.style()->setMotionRotationType(ComputedStyle::initialMotionRotationType());
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyMotionRotation(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyMotionRotation(StyleResolverState& state, const CSSValue& value)
|
| {
|
| float rotation = 0;
|
| MotionRotationType rotationType = MotionRotationFixed;
|
| @@ -479,7 +479,7 @@ void StyleBuilderFunctions::applyValueCSSPropertyMotionRotation(StyleResolverSta
|
| for (int i = 0; i < len; i++) {
|
| CSSValue item = list.item(i);
|
| ASSERT(item.isPrimitiveValue());
|
| - CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(item);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(item);
|
| if (primitiveValue.getValueID() == CSSValueAuto) {
|
| rotationType = MotionRotationAuto;
|
| } else if (primitiveValue.getValueID() == CSSValueReverse) {
|
| @@ -502,9 +502,9 @@ void StyleBuilderFunctions::applyInheritCSSPropertyVerticalAlign(StyleResolverSt
|
| state.style()->setVerticalAlignLength(state.parentStyle()->verticalAlignLength());
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyVerticalAlign(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyVerticalAlign(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
|
|
| if (primitiveValue.getValueID())
|
| state.style()->setVerticalAlign(primitiveValue);
|
| @@ -530,10 +530,10 @@ void StyleBuilderFunctions::applyInheritCSSPropertyZoom(StyleResolverState& stat
|
| state.setZoom(state.parentStyle()->zoom());
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyZoom(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyZoom(StyleResolverState& state, const CSSValue& value)
|
| {
|
| ASSERT_WITH_SECURITY_IMPLICATION(value.isPrimitiveValue());
|
| - CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
|
|
| if (primitiveValue.getValueID() == CSSValueNormal) {
|
| resetEffectiveZoom(state);
|
| @@ -556,17 +556,17 @@ void StyleBuilderFunctions::applyValueCSSPropertyZoom(StyleResolverState& state,
|
| }
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyWebkitBorderImage(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyWebkitBorderImage(StyleResolverState& state, const CSSValue& value)
|
| {
|
| NinePieceImage image;
|
| CSSToStyleMap::mapNinePieceImage(state, CSSPropertyWebkitBorderImage, value, image);
|
| state.style()->setBorderImage(image);
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyWebkitClipPath(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyWebkitClipPath(StyleResolverState& state, const CSSValue& value)
|
| {
|
| if (value.isPrimitiveValue()) {
|
| - CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| if (primitiveValue.getValueID() == CSSValueNone) {
|
| state.style()->setClipPath(nullptr);
|
| } else if (primitiveValue.isShape()) {
|
| @@ -580,7 +580,7 @@ void StyleBuilderFunctions::applyValueCSSPropertyWebkitClipPath(StyleResolverSta
|
| }
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyWebkitFilter(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyWebkitFilter(StyleResolverState& state, const CSSValue& value)
|
| {
|
| FilterOperations operations;
|
| if (FilterOperationResolver::createFilterOperations(value, state.cssToLengthConversionData(), operations, state))
|
| @@ -601,13 +601,13 @@ void StyleBuilderFunctions::applyInheritCSSPropertyWebkitTextEmphasisStyle(Style
|
| state.style()->setTextEmphasisCustomMark(state.parentStyle()->textEmphasisCustomMark());
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyWebkitTextEmphasisStyle(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyWebkitTextEmphasisStyle(StyleResolverState& state, const CSSValue& value)
|
| {
|
| if (value.isValueList()) {
|
| CSSValueList& list = toCSSValueList(value);
|
| ASSERT(list.length() == 2);
|
| for (unsigned i = 0; i < 2; ++i) {
|
| - CSSPrimitiveValue value = toCSSPrimitiveValue(list.item(i));
|
| + const CSSPrimitiveValue& value = toCSSPrimitiveValue(list.item(i));
|
| if (value.getValueID() == CSSValueFilled || value.getValueID() == CSSValueOpen)
|
| state.style()->setTextEmphasisFill(value);
|
| else
|
| @@ -617,7 +617,7 @@ void StyleBuilderFunctions::applyValueCSSPropertyWebkitTextEmphasisStyle(StyleRe
|
| return;
|
| }
|
|
|
| - CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
|
|
| if (primitiveValue.isString()) {
|
| state.style()->setTextEmphasisFill(TextEmphasisFillFilled);
|
| @@ -653,7 +653,7 @@ void StyleBuilderFunctions::applyInheritCSSPropertyWillChange(StyleResolverState
|
| state.style()->setSubtreeWillChangeContents(state.parentStyle()->subtreeWillChangeContents());
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyWillChange(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyWillChange(StyleResolverState& state, const CSSValue& value)
|
| {
|
| ASSERT(value.isValueList());
|
| bool willChangeContents = false;
|
| @@ -661,7 +661,7 @@ void StyleBuilderFunctions::applyValueCSSPropertyWillChange(StyleResolverState&
|
| Vector<CSSPropertyID> willChangeProperties;
|
|
|
| for (auto& willChangeValue : toCSSValueList(value)) {
|
| - CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(willChangeValue);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(willChangeValue);
|
| if (CSSPropertyID propertyID = primitiveValue.getPropertyID())
|
| willChangeProperties.append(propertyID);
|
| else if (primitiveValue.getValueID() == CSSValueContents)
|
| @@ -688,7 +688,7 @@ void StyleBuilderFunctions::applyInheritCSSPropertyContent(StyleResolverState&)
|
| // note is a reminder that eventually "inherit" needs to be supported.
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyContent(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyContent(StyleResolverState& state, const CSSValue& value)
|
| {
|
| // list of string, uri, counter, attr, i
|
|
|
| @@ -711,7 +711,7 @@ void StyleBuilderFunctions::applyValueCSSPropertyContent(StyleResolverState& sta
|
| if (!item.isPrimitiveValue())
|
| continue;
|
|
|
| - CSSPrimitiveValue contentValue = toCSSPrimitiveValue(item);
|
| + const CSSPrimitiveValue& contentValue = toCSSPrimitiveValue(item);
|
|
|
| if (contentValue.isString()) {
|
| state.style()->setContent(contentValue.getStringValue().impl(), didSet);
|
| @@ -763,9 +763,9 @@ void StyleBuilderFunctions::applyValueCSSPropertyContent(StyleResolverState& sta
|
| state.style()->clearContent();
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyWebkitLocale(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyWebkitLocale(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - const CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| if (primitiveValue.getValueID() == CSSValueAuto)
|
| state.style()->setLocale(nullAtom);
|
| else
|
| @@ -781,19 +781,19 @@ void StyleBuilderFunctions::applyInheritCSSPropertyWebkitAppRegion(StyleResolver
|
| {
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyWebkitAppRegion(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyWebkitAppRegion(StyleResolverState& state, const CSSValue& value)
|
| {
|
| - const CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| state.style()->setDraggableRegionMode(primitiveValue.getValueID() == CSSValueDrag ? DraggableRegionDrag : DraggableRegionNoDrag);
|
| state.document().setHasAnnotatedRegions(true);
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyWebkitWritingMode(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyWebkitWritingMode(StyleResolverState& state, const CSSValue& value)
|
| {
|
| state.setWritingMode(toCSSPrimitiveValue(value));
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyWebkitTextOrientation(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyWebkitTextOrientation(StyleResolverState& state, const CSSValue& value)
|
| {
|
| state.setTextOrientation(toCSSPrimitiveValue(value));
|
| }
|
| @@ -808,10 +808,10 @@ void StyleBuilderFunctions::applyInheritCSSPropertyBaselineShift(StyleResolverSt
|
| svgStyle.setBaselineShiftValue(parentSvgStyle.baselineShiftValue());
|
| }
|
|
|
| -void StyleBuilderFunctions::applyValueCSSPropertyBaselineShift(StyleResolverState& state, CSSValue value)
|
| +void StyleBuilderFunctions::applyValueCSSPropertyBaselineShift(StyleResolverState& state, const CSSValue& value)
|
| {
|
| SVGComputedStyle& svgStyle = state.style()->accessSVGStyle();
|
| - CSSPrimitiveValue primitiveValue = toCSSPrimitiveValue(value);
|
| + const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value);
|
| if (!primitiveValue.isValueID()) {
|
| svgStyle.setBaselineShift(BS_LENGTH);
|
| svgStyle.setBaselineShiftValue(StyleBuilderConverter::convertLength(state, value));
|
|
|