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..dc0c5c187cd93d841ee33c0644120ff14a8a6467 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()) { |
@@ -185,7 +185,7 @@ void StyleBuilderFunctions::applyValueCSSPropertyCursor(StyleResolverState& stat |
int len = list.length(); |
state.style()->setCursor(CURSOR_AUTO); |
for (int i = 0; i < len; i++) { |
- CSSValue item = list.item(i); |
+ const CSSValue& item = list.item(i); |
if (item.isCursorImageValue()) { |
CSSCursorImageValue& image = toCSSCursorImageValue(item); |
if (image.updateIfSVGCursorIsUsed(state.element())) // Elements with SVG cursors are not allowed to share style. |
@@ -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) { |
@@ -319,16 +319,16 @@ 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; |
PageSizeType pageSizeType = PAGE_SIZE_AUTO; |
- CSSValueList& list = toCSSValueList(value); |
+ const 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)); |