Index: Source/core/css/resolver/StyleBuilderCustom.cpp |
diff --git a/Source/core/css/resolver/StyleBuilderCustom.cpp b/Source/core/css/resolver/StyleBuilderCustom.cpp |
index eefd6cc6d4ca7854247e16577902c80b892926b9..45e3585ef0f3047c149125ab133e42373aed3349 100644 |
--- a/Source/core/css/resolver/StyleBuilderCustom.cpp |
+++ b/Source/core/css/resolver/StyleBuilderCustom.cpp |
@@ -104,12 +104,12 @@ static inline bool isValidVisitedLinkProperty(CSSPropertyID id) |
} // namespace |
-void StyleBuilder::applyProperty(CSSPropertyID id, StyleResolverState& state, CSSValue* value) |
+void StyleBuilder::applyProperty(CSSPropertyID id, StyleResolverState& state, CSSValue value) |
{ |
ASSERT_WITH_MESSAGE(!isShorthandProperty(id), "Shorthand property id = %d wasn't expanded at parsing time", id); |
- bool isInherit = state.parentNode() && value->isInheritedValue(); |
- bool isInitial = value->isInitialValue() || (!state.parentNode() && value->isInheritedValue()); |
+ bool isInherit = state.parentNode() && value.isInheritedValue(); |
+ bool isInitial = value.isInitialValue() || (!state.parentNode() && value.isInheritedValue()); |
ASSERT(!isInherit || !isInitial); // isInherit -> !isInitial && isInitial -> !isInherit |
ASSERT(!isInherit || (state.parentNode() && state.parentStyle())); // isInherit -> (state.parentNode() && state.parentStyle()) |
@@ -121,7 +121,7 @@ void StyleBuilder::applyProperty(CSSPropertyID id, StyleResolverState& state, CS |
if (isInherit && !state.parentStyle()->hasExplicitlyInheritedProperties() && !CSSPropertyMetadata::isInheritedProperty(id)) { |
state.parentStyle()->setHasExplicitlyInheritedProperties(); |
- } else if (value->isUnsetValue()) { |
+ } else if (value.isUnsetValue()) { |
ASSERT(!isInherit && !isInitial); |
if (CSSPropertyMetadata::isInheritedProperty(id)) |
isInherit = true; |
@@ -150,11 +150,11 @@ void StyleBuilderFunctions::applyInheritCSSPropertyColor(StyleResolverState& sta |
state.style()->setVisitedLinkColor(color); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyColor(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyColor(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
// As per the spec, 'color: currentColor' is treated as 'color: inherit' |
- if (primitiveValue->getValueID() == CSSValueCurrentcolor) { |
+ if (primitiveValue.getValueID() == CSSValueCurrentcolor) { |
applyInheritCSSPropertyColor(state); |
return; |
} |
@@ -177,37 +177,37 @@ void StyleBuilderFunctions::applyInheritCSSPropertyCursor(StyleResolverState& st |
state.style()->setCursorList(state.parentStyle()->cursors()); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyCursor(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyCursor(StyleResolverState& state, CSSValue value) |
{ |
state.style()->clearCursorList(); |
- if (value->isValueList()) { |
- CSSValueList* list = toCSSValueList(value); |
- int len = list->length(); |
+ if (value.isValueList()) { |
+ CSSValueList& list = toCSSValueList(value); |
+ int len = list.length(); |
state.style()->setCursor(CURSOR_AUTO); |
for (int i = 0; i < len; i++) { |
- 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. |
+ 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. |
state.style()->setUnique(); |
- state.style()->addCursor(state.styleImage(CSSPropertyCursor, image), image->hotSpotSpecified(), image->hotSpot()); |
+ state.style()->addCursor(state.styleImage(CSSPropertyCursor, item), image.hotSpotSpecified(), image.hotSpot()); |
} else { |
- state.style()->setCursor(*toCSSPrimitiveValue(item)); |
+ state.style()->setCursor(toCSSPrimitiveValue(item)); |
} |
} |
} else { |
- state.style()->setCursor(*toCSSPrimitiveValue(value)); |
+ state.style()->setCursor(toCSSPrimitiveValue(value)); |
} |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyDirection(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyDirection(StyleResolverState& state, CSSValue value) |
{ |
- state.style()->setDirection(*toCSSPrimitiveValue(value)); |
+ state.style()->setDirection(toCSSPrimitiveValue(value)); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyGlyphOrientationVertical(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyGlyphOrientationVertical(StyleResolverState& state, CSSValue value) |
{ |
- if (value->isPrimitiveValue() && toCSSPrimitiveValue(value)->getValueID() == CSSValueAuto) |
+ if (value.isPrimitiveValue() && toCSSPrimitiveValue(value).getValueID() == CSSValueAuto) |
state.style()->accessSVGStyle().setGlyphOrientationVertical(GO_AUTO); |
else |
state.style()->accessSVGStyle().setGlyphOrientationVertical(StyleBuilderConverter::convertGlyphOrientation(state, value)); |
@@ -227,16 +227,16 @@ void StyleBuilderFunctions::applyInheritCSSPropertyGridTemplateAreas(StyleResolv |
state.style()->setNamedGridAreaColumnCount(state.parentStyle()->namedGridAreaColumnCount()); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyGridTemplateAreas(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyGridTemplateAreas(StyleResolverState& state, CSSValue value) |
{ |
- if (value->isPrimitiveValue()) { |
+ if (value.isPrimitiveValue()) { |
// FIXME: Shouldn't we clear the grid-area values |
- ASSERT(toCSSPrimitiveValue(value)->getValueID() == CSSValueNone); |
+ ASSERT(toCSSPrimitiveValue(value).getValueID() == CSSValueNone); |
return; |
} |
- CSSGridTemplateAreasValue* gridTemplateAreasValue = toCSSGridTemplateAreasValue(value); |
- const NamedGridAreaMap& newNamedGridAreas = gridTemplateAreasValue->gridAreaMap(); |
+ CSSGridTemplateAreasValue& gridTemplateAreasValue = toCSSGridTemplateAreasValue(value); |
+ const NamedGridAreaMap& newNamedGridAreas = gridTemplateAreasValue.gridAreaMap(); |
NamedGridLinesMap namedGridColumnLines; |
NamedGridLinesMap namedGridRowLines; |
@@ -248,11 +248,11 @@ void StyleBuilderFunctions::applyValueCSSPropertyGridTemplateAreas(StyleResolver |
state.style()->setNamedGridRowLines(namedGridRowLines); |
state.style()->setNamedGridArea(newNamedGridAreas); |
- state.style()->setNamedGridAreaRowCount(gridTemplateAreasValue->rowCount()); |
- state.style()->setNamedGridAreaColumnCount(gridTemplateAreasValue->columnCount()); |
+ state.style()->setNamedGridAreaRowCount(gridTemplateAreasValue.rowCount()); |
+ state.style()->setNamedGridAreaColumnCount(gridTemplateAreasValue.columnCount()); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyListStyleImage(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyListStyleImage(StyleResolverState& state, CSSValue value) |
{ |
state.style()->setListStyleImage(state.styleImage(CSSPropertyListStyleImage, value)); |
} |
@@ -269,32 +269,32 @@ void StyleBuilderFunctions::applyInheritCSSPropertyOutlineStyle(StyleResolverSta |
state.style()->setOutlineStyle(state.parentStyle()->outlineStyle()); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyOutlineStyle(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyOutlineStyle(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- state.style()->setOutlineStyleIsAuto(*primitiveValue); |
- state.style()->setOutlineStyle(*primitiveValue); |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ state.style()->setOutlineStyleIsAuto(primitiveValue); |
+ state.style()->setOutlineStyle(primitiveValue); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyResize(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyResize(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
EResize r = RESIZE_NONE; |
- if (primitiveValue->getValueID() == CSSValueAuto) { |
+ if (primitiveValue.getValueID() == CSSValueAuto) { |
if (Settings* settings = state.document().settings()) |
r = settings->textAreasAreResizable() ? RESIZE_BOTH : RESIZE_NONE; |
} else { |
- r = *primitiveValue; |
+ r = primitiveValue; |
} |
state.style()->setResize(r); |
} |
static float mmToPx(float mm) { return mm * cssPixelsPerMillimeter; } |
static float inchToPx(float inch) { return inch * cssPixelsPerInch; } |
-static FloatSize getPageSizeFromName(CSSPrimitiveValue* pageSizeName) |
+static FloatSize getPageSizeFromName(CSSPrimitiveValue& pageSizeName) |
{ |
- switch (pageSizeName->getValueID()) { |
+ switch (pageSizeName.getValueID()) { |
case CSSValueA5: |
return FloatSize(mmToPx(148), mmToPx(210)); |
case CSSValueA4: |
@@ -319,40 +319,40 @@ 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, CSSValue value) |
{ |
state.style()->resetPageSizeType(); |
FloatSize size; |
PageSizeType pageSizeType = PAGE_SIZE_AUTO; |
- CSSValueList* list = toCSSValueList(value); |
- if (list->length() == 2) { |
+ 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)); |
- if (first->isLength()) { |
+ CSSPrimitiveValue& first = toCSSPrimitiveValue(list.item(0)); |
+ CSSPrimitiveValue& second = toCSSPrimitiveValue(list.item(1)); |
+ if (first.isLength()) { |
// <length>{2} |
- size = FloatSize(first->computeLength<float>(state.cssToLengthConversionData().copyWithAdjustedZoom(1.0)), |
- second->computeLength<float>(state.cssToLengthConversionData().copyWithAdjustedZoom(1.0))); |
+ size = FloatSize(first.computeLength<float>(state.cssToLengthConversionData().copyWithAdjustedZoom(1.0)), |
+ second.computeLength<float>(state.cssToLengthConversionData().copyWithAdjustedZoom(1.0))); |
} else { |
// <page-size> <orientation> |
size = getPageSizeFromName(first); |
- ASSERT(second->getValueID() == CSSValueLandscape || second->getValueID() == CSSValuePortrait); |
- if (second->getValueID() == CSSValueLandscape) |
+ ASSERT(second.getValueID() == CSSValueLandscape || second.getValueID() == CSSValuePortrait); |
+ if (second.getValueID() == CSSValueLandscape) |
size = size.transposedSize(); |
} |
pageSizeType = PAGE_SIZE_RESOLVED; |
} else { |
- ASSERT(list->length() == 1); |
+ ASSERT(list.length() == 1); |
// <length> | auto | <page-size> | [ portrait | landscape] |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(list->item(0)); |
- if (primitiveValue->isLength()) { |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(list.item(0)); |
+ if (primitiveValue.isLength()) { |
// <length> |
pageSizeType = PAGE_SIZE_RESOLVED; |
- float width = primitiveValue->computeLength<float>(state.cssToLengthConversionData().copyWithAdjustedZoom(1.0)); |
+ float width = primitiveValue.computeLength<float>(state.cssToLengthConversionData().copyWithAdjustedZoom(1.0)); |
size = FloatSize(width, width); |
} else { |
- switch (primitiveValue->getValueID()) { |
+ switch (primitiveValue.getValueID()) { |
case CSSValueAuto: |
pageSizeType = PAGE_SIZE_AUTO; |
break; |
@@ -373,11 +373,11 @@ void StyleBuilderFunctions::applyValueCSSPropertySize(StyleResolverState& state, |
state.style()->setPageSize(size); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyTextAlign(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyTextAlign(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- if (primitiveValue->isValueID() && primitiveValue->getValueID() != CSSValueWebkitMatchParent) |
- state.style()->setTextAlign(*primitiveValue); |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ if (primitiveValue.isValueID() && primitiveValue.getValueID() != CSSValueWebkitMatchParent) |
+ state.style()->setTextAlign(primitiveValue); |
else if (state.parentStyle()->textAlign() == TASTART) |
state.style()->setTextAlign(state.parentStyle()->isLeftToRightDirection() ? LEFT : RIGHT); |
else if (state.parentStyle()->textAlign() == TAEND) |
@@ -400,19 +400,19 @@ void StyleBuilderFunctions::applyInitialCSSPropertyTextIndent(StyleResolverState |
state.style()->setTextIndentType(ComputedStyle::initialTextIndentType()); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyTextIndent(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyTextIndent(StyleResolverState& state, CSSValue value) |
{ |
Length lengthOrPercentageValue; |
TextIndentLine textIndentLineValue = ComputedStyle::initialTextIndentLine(); |
TextIndentType textIndentTypeValue = ComputedStyle::initialTextIndentType(); |
- for (auto& listValue : toCSSValueList(*value)) { |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(listValue.get()); |
- if (!primitiveValue->getValueID()) |
- lengthOrPercentageValue = primitiveValue->convertToLength(state.cssToLengthConversionData()); |
- else if (primitiveValue->getValueID() == CSSValueEachLine) |
+ for (auto& listValue : toCSSValueList(value)) { |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(listValue); |
+ if (!primitiveValue.getValueID()) |
+ lengthOrPercentageValue = primitiveValue.convertToLength(state.cssToLengthConversionData()); |
+ else if (primitiveValue.getValueID() == CSSValueEachLine) |
textIndentLineValue = TextIndentEachLine; |
- else if (primitiveValue->getValueID() == CSSValueHanging) |
+ else if (primitiveValue.getValueID() == CSSValueHanging) |
textIndentTypeValue = TextIndentHanging; |
else |
ASSERT_NOT_REACHED(); |
@@ -423,11 +423,11 @@ void StyleBuilderFunctions::applyValueCSSPropertyTextIndent(StyleResolverState& |
state.style()->setTextIndentType(textIndentTypeValue); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyTransform(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyTransform(StyleResolverState& state, CSSValue value) |
{ |
// FIXME: We should just make this a converter |
TransformOperations operations; |
- TransformBuilder::createTransformOperations(*value, state.cssToLengthConversionData(), operations); |
+ TransformBuilder::createTransformOperations(value, state.cssToLengthConversionData(), operations); |
state.style()->setTransform(operations); |
} |
@@ -439,15 +439,15 @@ void StyleBuilderFunctions::applyInheritCSSPropertyMotionPath(StyleResolverState |
state.style()->resetMotionPath(); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyMotionPath(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyMotionPath(StyleResolverState& state, CSSValue value) |
{ |
- if (value->isPathValue()) { |
- const String& pathString = toCSSPathValue(value)->pathString(); |
+ if (value.isPathValue()) { |
+ const String& pathString = toCSSPathValue(value).pathString(); |
state.style()->setMotionPath(PathStyleMotionPath::create(pathString)); |
return; |
} |
- ASSERT(value->isPrimitiveValue() && toCSSPrimitiveValue(value)->getValueID() == CSSValueNone); |
+ ASSERT(value.isPrimitiveValue() && toCSSPrimitiveValue(value).getValueID() == CSSValueNone); |
state.style()->resetMotionPath(); |
} |
@@ -468,25 +468,25 @@ void StyleBuilderFunctions::applyInitialCSSPropertyMotionRotation(StyleResolverS |
state.style()->setMotionRotationType(ComputedStyle::initialMotionRotationType()); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyMotionRotation(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyMotionRotation(StyleResolverState& state, CSSValue value) |
{ |
float rotation = 0; |
MotionRotationType rotationType = MotionRotationFixed; |
- ASSERT(value->isValueList()); |
- CSSValueList* list = toCSSValueList(value); |
- int len = list->length(); |
+ ASSERT(value.isValueList()); |
+ CSSValueList& list = toCSSValueList(value); |
+ int len = list.length(); |
for (int i = 0; i < len; i++) { |
- CSSValue* item = list->item(i); |
- ASSERT(item->isPrimitiveValue()); |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(item); |
- if (primitiveValue->getValueID() == CSSValueAuto) { |
+ CSSValue item = list.item(i); |
+ ASSERT(item.isPrimitiveValue()); |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(item); |
+ if (primitiveValue.getValueID() == CSSValueAuto) { |
rotationType = MotionRotationAuto; |
- } else if (primitiveValue->getValueID() == CSSValueReverse) { |
+ } else if (primitiveValue.getValueID() == CSSValueReverse) { |
rotationType = MotionRotationAuto; |
rotation += 180; |
} else { |
- rotation += primitiveValue->computeDegrees(); |
+ rotation += primitiveValue.computeDegrees(); |
} |
} |
@@ -502,14 +502,14 @@ void StyleBuilderFunctions::applyInheritCSSPropertyVerticalAlign(StyleResolverSt |
state.style()->setVerticalAlignLength(state.parentStyle()->verticalAlignLength()); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyVerticalAlign(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyVerticalAlign(StyleResolverState& state, CSSValue value) |
{ |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
- if (primitiveValue->getValueID()) |
- state.style()->setVerticalAlign(*primitiveValue); |
+ if (primitiveValue.getValueID()) |
+ state.style()->setVerticalAlign(primitiveValue); |
else |
- state.style()->setVerticalAlignLength(primitiveValue->convertToLength(state.cssToLengthConversionData())); |
+ state.style()->setVerticalAlignLength(primitiveValue.convertToLength(state.cssToLengthConversionData())); |
} |
static void resetEffectiveZoom(StyleResolverState& state) |
@@ -530,49 +530,49 @@ void StyleBuilderFunctions::applyInheritCSSPropertyZoom(StyleResolverState& stat |
state.setZoom(state.parentStyle()->zoom()); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyZoom(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyZoom(StyleResolverState& state, CSSValue value) |
{ |
- ASSERT_WITH_SECURITY_IMPLICATION(value->isPrimitiveValue()); |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
+ ASSERT_WITH_SECURITY_IMPLICATION(value.isPrimitiveValue()); |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
- if (primitiveValue->getValueID() == CSSValueNormal) { |
+ if (primitiveValue.getValueID() == CSSValueNormal) { |
resetEffectiveZoom(state); |
state.setZoom(ComputedStyle::initialZoom()); |
- } else if (primitiveValue->getValueID() == CSSValueReset) { |
+ } else if (primitiveValue.getValueID() == CSSValueReset) { |
state.setEffectiveZoom(ComputedStyle::initialZoom()); |
state.setZoom(ComputedStyle::initialZoom()); |
- } else if (primitiveValue->getValueID() == CSSValueDocument) { |
+ } else if (primitiveValue.getValueID() == CSSValueDocument) { |
float docZoom = state.rootElementStyle() ? state.rootElementStyle()->zoom() : ComputedStyle::initialZoom(); |
state.setEffectiveZoom(docZoom); |
state.setZoom(docZoom); |
- } else if (primitiveValue->isPercentage()) { |
+ } else if (primitiveValue.isPercentage()) { |
resetEffectiveZoom(state); |
- if (float percent = primitiveValue->getFloatValue()) |
+ if (float percent = primitiveValue.getFloatValue()) |
state.setZoom(percent / 100.0f); |
- } else if (primitiveValue->isNumber()) { |
+ } else if (primitiveValue.isNumber()) { |
resetEffectiveZoom(state); |
- if (float number = primitiveValue->getFloatValue()) |
+ if (float number = primitiveValue.getFloatValue()) |
state.setZoom(number); |
} |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyWebkitBorderImage(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyWebkitBorderImage(StyleResolverState& state, 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, CSSValue value) |
{ |
- if (value->isPrimitiveValue()) { |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- if (primitiveValue->getValueID() == CSSValueNone) { |
+ if (value.isPrimitiveValue()) { |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ if (primitiveValue.getValueID() == CSSValueNone) { |
state.style()->setClipPath(nullptr); |
- } else if (primitiveValue->isShape()) { |
- state.style()->setClipPath(ShapeClipPathOperation::create(basicShapeForValue(state, primitiveValue->getShapeValue()))); |
- } else if (primitiveValue->primitiveType() == CSSPrimitiveValue::CSS_URI) { |
- String cssURLValue = primitiveValue->getStringValue(); |
+ } else if (primitiveValue.isShape()) { |
+ state.style()->setClipPath(ShapeClipPathOperation::create(basicShapeForValue(state, primitiveValue.getShapeValue()))); |
+ } else if (primitiveValue.primitiveType() == CSSPrimitiveValue::CSS_URI) { |
+ String cssURLValue = primitiveValue.getStringValue(); |
KURL url = state.document().completeURL(cssURLValue); |
// FIXME: It doesn't work with forward or external SVG references (see https://bugs.webkit.org/show_bug.cgi?id=90405) |
state.style()->setClipPath(ReferenceClipPathOperation::create(cssURLValue, AtomicString(url.fragmentIdentifier()))); |
@@ -580,7 +580,7 @@ void StyleBuilderFunctions::applyValueCSSPropertyWebkitClipPath(StyleResolverSta |
} |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyWebkitFilter(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyWebkitFilter(StyleResolverState& state, CSSValue value) |
{ |
FilterOperations operations; |
if (FilterOperationResolver::createFilterOperations(value, state.cssToLengthConversionData(), operations, state)) |
@@ -601,39 +601,39 @@ void StyleBuilderFunctions::applyInheritCSSPropertyWebkitTextEmphasisStyle(Style |
state.style()->setTextEmphasisCustomMark(state.parentStyle()->textEmphasisCustomMark()); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyWebkitTextEmphasisStyle(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyWebkitTextEmphasisStyle(StyleResolverState& state, CSSValue value) |
{ |
- if (value->isValueList()) { |
- CSSValueList* list = toCSSValueList(value); |
- ASSERT(list->length() == 2); |
+ if (value.isValueList()) { |
+ CSSValueList& list = toCSSValueList(value); |
+ ASSERT(list.length() == 2); |
for (unsigned i = 0; i < 2; ++i) { |
- CSSPrimitiveValue* value = toCSSPrimitiveValue(list->item(i)); |
- if (value->getValueID() == CSSValueFilled || value->getValueID() == CSSValueOpen) |
- state.style()->setTextEmphasisFill(*value); |
+ CSSPrimitiveValue& value = toCSSPrimitiveValue(list.item(i)); |
+ if (value.getValueID() == CSSValueFilled || value.getValueID() == CSSValueOpen) |
+ state.style()->setTextEmphasisFill(value); |
else |
- state.style()->setTextEmphasisMark(*value); |
+ state.style()->setTextEmphasisMark(value); |
} |
state.style()->setTextEmphasisCustomMark(nullAtom); |
return; |
} |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
- if (primitiveValue->isString()) { |
+ if (primitiveValue.isString()) { |
state.style()->setTextEmphasisFill(TextEmphasisFillFilled); |
state.style()->setTextEmphasisMark(TextEmphasisMarkCustom); |
- state.style()->setTextEmphasisCustomMark(AtomicString(primitiveValue->getStringValue())); |
+ state.style()->setTextEmphasisCustomMark(AtomicString(primitiveValue.getStringValue())); |
return; |
} |
state.style()->setTextEmphasisCustomMark(nullAtom); |
- if (primitiveValue->getValueID() == CSSValueFilled || primitiveValue->getValueID() == CSSValueOpen) { |
- state.style()->setTextEmphasisFill(*primitiveValue); |
+ if (primitiveValue.getValueID() == CSSValueFilled || primitiveValue.getValueID() == CSSValueOpen) { |
+ state.style()->setTextEmphasisFill(primitiveValue); |
state.style()->setTextEmphasisMark(TextEmphasisMarkAuto); |
} else { |
state.style()->setTextEmphasisFill(TextEmphasisFillFilled); |
- state.style()->setTextEmphasisMark(*primitiveValue); |
+ state.style()->setTextEmphasisMark(primitiveValue); |
} |
} |
@@ -653,20 +653,20 @@ void StyleBuilderFunctions::applyInheritCSSPropertyWillChange(StyleResolverState |
state.style()->setSubtreeWillChangeContents(state.parentStyle()->subtreeWillChangeContents()); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyWillChange(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyWillChange(StyleResolverState& state, CSSValue value) |
{ |
- ASSERT(value->isValueList()); |
+ ASSERT(value.isValueList()); |
bool willChangeContents = false; |
bool willChangeScrollPosition = false; |
Vector<CSSPropertyID> willChangeProperties; |
- for (auto& willChangeValue : toCSSValueList(*value)) { |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(willChangeValue.get()); |
- if (CSSPropertyID propertyID = primitiveValue->getPropertyID()) |
+ for (auto& willChangeValue : toCSSValueList(value)) { |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(willChangeValue); |
+ if (CSSPropertyID propertyID = primitiveValue.getPropertyID()) |
willChangeProperties.append(propertyID); |
- else if (primitiveValue->getValueID() == CSSValueContents) |
+ else if (primitiveValue.getValueID() == CSSValueContents) |
willChangeContents = true; |
- else if (primitiveValue->getValueID() == CSSValueScrollPosition) |
+ else if (primitiveValue.getValueID() == CSSValueScrollPosition) |
willChangeScrollPosition = true; |
else |
ASSERT_NOT_REACHED(); |
@@ -688,46 +688,46 @@ 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, CSSValue value) |
{ |
// list of string, uri, counter, attr, i |
bool didSet = false; |
- for (auto& item : toCSSValueList(*value)) { |
- if (item->isImageGeneratorValue()) { |
- state.style()->setContent(StyleGeneratedImage::create(toCSSImageGeneratorValue(item.get())), didSet); |
+ for (auto& item : toCSSValueList(value)) { |
+ if (item.isImageGeneratorValue()) { |
+ state.style()->setContent(StyleGeneratedImage::create(&toCSSImageGeneratorValue(item)), didSet); |
didSet = true; |
- } else if (item->isImageSetValue()) { |
- state.style()->setContent(state.elementStyleResources().setOrPendingFromValue(CSSPropertyContent, toCSSImageSetValue(item.get())), didSet); |
+ } else if (item.isImageSetValue()) { |
+ state.style()->setContent(state.elementStyleResources().setOrPendingFromValue(CSSPropertyContent, toCSSImageSetValue(item)), didSet); |
didSet = true; |
} |
- if (item->isImageValue()) { |
- state.style()->setContent(state.elementStyleResources().cachedOrPendingFromValue(state.document(), CSSPropertyContent, toCSSImageValue(item.get())), didSet); |
+ if (item.isImageValue()) { |
+ state.style()->setContent(state.elementStyleResources().cachedOrPendingFromValue(state.document(), CSSPropertyContent, toCSSImageValue(item)), didSet); |
didSet = true; |
continue; |
} |
- if (!item->isPrimitiveValue()) |
+ if (!item.isPrimitiveValue()) |
continue; |
- CSSPrimitiveValue* contentValue = toCSSPrimitiveValue(item.get()); |
+ CSSPrimitiveValue& contentValue = toCSSPrimitiveValue(item); |
- if (contentValue->isString()) { |
- state.style()->setContent(contentValue->getStringValue().impl(), didSet); |
+ if (contentValue.isString()) { |
+ state.style()->setContent(contentValue.getStringValue().impl(), didSet); |
didSet = true; |
- } else if (contentValue->isAttr()) { |
+ } else if (contentValue.isAttr()) { |
// FIXME: Can a namespace be specified for an attr(foo)? |
if (state.style()->styleType() == NOPSEUDO) |
state.style()->setUnique(); |
else |
state.parentStyle()->setUnique(); |
- QualifiedName attr(nullAtom, AtomicString(contentValue->getStringValue()), nullAtom); |
+ QualifiedName attr(nullAtom, AtomicString(contentValue.getStringValue()), nullAtom); |
const AtomicString& value = state.element()->getAttribute(attr); |
state.style()->setContent(value.isNull() ? emptyString() : value.string(), didSet); |
didSet = true; |
- } else if (contentValue->isCounter()) { |
- Counter* counterValue = contentValue->getCounterValue(); |
+ } else if (contentValue.isCounter()) { |
+ Counter* counterValue = contentValue.getCounterValue(); |
EListStyleType listStyleType = NoneListStyle; |
CSSValueID listStyleIdent = counterValue->listStyleIdent(); |
if (listStyleIdent != CSSValueNone) |
@@ -736,7 +736,7 @@ void StyleBuilderFunctions::applyValueCSSPropertyContent(StyleResolverState& sta |
state.style()->setContent(counter.release(), didSet); |
didSet = true; |
} else { |
- switch (contentValue->getValueID()) { |
+ switch (contentValue.getValueID()) { |
case CSSValueOpenQuote: |
state.style()->setContent(OPEN_QUOTE, didSet); |
didSet = true; |
@@ -763,13 +763,13 @@ void StyleBuilderFunctions::applyValueCSSPropertyContent(StyleResolverState& sta |
state.style()->clearContent(); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyWebkitLocale(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyWebkitLocale(StyleResolverState& state, CSSValue value) |
{ |
- const CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- if (primitiveValue->getValueID() == CSSValueAuto) |
+ const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ if (primitiveValue.getValueID() == CSSValueAuto) |
state.style()->setLocale(nullAtom); |
else |
- state.style()->setLocale(AtomicString(primitiveValue->getStringValue())); |
+ state.style()->setLocale(AtomicString(primitiveValue.getStringValue())); |
state.fontBuilder().setScript(state.style()->locale()); |
} |
@@ -781,21 +781,21 @@ void StyleBuilderFunctions::applyInheritCSSPropertyWebkitAppRegion(StyleResolver |
{ |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyWebkitAppRegion(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyWebkitAppRegion(StyleResolverState& state, CSSValue value) |
{ |
- const CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- state.style()->setDraggableRegionMode(primitiveValue->getValueID() == CSSValueDrag ? DraggableRegionDrag : DraggableRegionNoDrag); |
+ 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, CSSValue value) |
{ |
- state.setWritingMode(*toCSSPrimitiveValue(value)); |
+ state.setWritingMode(toCSSPrimitiveValue(value)); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyWebkitTextOrientation(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyWebkitTextOrientation(StyleResolverState& state, CSSValue value) |
{ |
- state.setTextOrientation(*toCSSPrimitiveValue(value)); |
+ state.setTextOrientation(toCSSPrimitiveValue(value)); |
} |
void StyleBuilderFunctions::applyInheritCSSPropertyBaselineShift(StyleResolverState& state) |
@@ -808,16 +808,16 @@ void StyleBuilderFunctions::applyInheritCSSPropertyBaselineShift(StyleResolverSt |
svgStyle.setBaselineShiftValue(parentSvgStyle.baselineShiftValue()); |
} |
-void StyleBuilderFunctions::applyValueCSSPropertyBaselineShift(StyleResolverState& state, CSSValue* value) |
+void StyleBuilderFunctions::applyValueCSSPropertyBaselineShift(StyleResolverState& state, CSSValue value) |
{ |
SVGComputedStyle& svgStyle = state.style()->accessSVGStyle(); |
- CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
- if (!primitiveValue->isValueID()) { |
+ CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); |
+ if (!primitiveValue.isValueID()) { |
svgStyle.setBaselineShift(BS_LENGTH); |
- svgStyle.setBaselineShiftValue(StyleBuilderConverter::convertLength(state, primitiveValue)); |
+ svgStyle.setBaselineShiftValue(StyleBuilderConverter::convertLength(state, value)); |
return; |
} |
- switch (primitiveValue->getValueID()) { |
+ switch (primitiveValue.getValueID()) { |
case CSSValueBaseline: |
svgStyle.setBaselineShift(BS_LENGTH); |
svgStyle.setBaselineShiftValue(Length(Fixed)); |