Index: Source/core/css/resolver/TransformBuilder.cpp |
diff --git a/Source/core/css/resolver/TransformBuilder.cpp b/Source/core/css/resolver/TransformBuilder.cpp |
index f6fdbc11e8c510e189735d158518cbf936beb429..d6786476bf4f35c00aba8e6d0d8fe16feeae2ef2 100644 |
--- a/Source/core/css/resolver/TransformBuilder.cpp |
+++ b/Source/core/css/resolver/TransformBuilder.cpp |
@@ -43,10 +43,9 @@ |
namespace blink { |
-static Length convertToFloatLength(CSSPrimitiveValue* primitiveValue, const CSSToLengthConversionData& conversionData) |
+static Length convertToFloatLength(CSSPrimitiveValue& primitiveValue, const CSSToLengthConversionData& conversionData) |
{ |
- ASSERT(primitiveValue); |
- return primitiveValue->convertToLength(conversionData); |
+ return primitiveValue.convertToLength(conversionData); |
} |
static TransformOperation::OperationType getTransformOperationType(CSSValueID type) |
@@ -90,10 +89,10 @@ void TransformBuilder::createTransformOperations(CSSValue& inValue, const CSSToL |
float zoomFactor = conversionData.zoom(); |
for (auto& value : toCSSValueList(inValue)) { |
- CSSFunctionValue* transformValue = toCSSFunctionValue(value.get()); |
- TransformOperation::OperationType transformType = getTransformOperationType(transformValue->functionType()); |
+ CSSFunctionValue& transformValue = toCSSFunctionValue(value); |
+ TransformOperation::OperationType transformType = getTransformOperationType(transformValue.functionType()); |
- CSSPrimitiveValue* firstValue = toCSSPrimitiveValue(transformValue->item(0)); |
+ CSSPrimitiveValue& firstValue = toCSSPrimitiveValue(transformValue.item(0)); |
switch (transformType) { |
case TransformOperation::Scale: |
@@ -102,13 +101,13 @@ void TransformBuilder::createTransformOperations(CSSValue& inValue, const CSSToL |
double sx = 1.0; |
double sy = 1.0; |
if (transformType == TransformOperation::ScaleY) { |
- sy = firstValue->getDoubleValue(); |
+ sy = firstValue.getDoubleValue(); |
} else { |
- sx = firstValue->getDoubleValue(); |
+ sx = firstValue.getDoubleValue(); |
if (transformType != TransformOperation::ScaleX) { |
- if (transformValue->length() > 1) { |
- CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(transformValue->item(1)); |
- sy = secondValue->getDoubleValue(); |
+ if (transformValue.length() > 1) { |
+ CSSPrimitiveValue& secondValue = toCSSPrimitiveValue(transformValue.item(1)); |
+ sy = secondValue.getDoubleValue(); |
} else { |
sy = sx; |
} |
@@ -123,11 +122,11 @@ void TransformBuilder::createTransformOperations(CSSValue& inValue, const CSSToL |
double sy = 1.0; |
double sz = 1.0; |
if (transformType == TransformOperation::ScaleZ) { |
- sz = firstValue->getDoubleValue(); |
+ sz = firstValue.getDoubleValue(); |
} else { |
- sx = firstValue->getDoubleValue(); |
- sy = toCSSPrimitiveValue(transformValue->item(1))->getDoubleValue(); |
- sz = toCSSPrimitiveValue(transformValue->item(2))->getDoubleValue(); |
+ sx = firstValue.getDoubleValue(); |
+ sy = toCSSPrimitiveValue(transformValue.item(1)).getDoubleValue(); |
+ sz = toCSSPrimitiveValue(transformValue.item(2)).getDoubleValue(); |
} |
outOperations.operations().append(ScaleTransformOperation::create(sx, sy, sz, transformType)); |
break; |
@@ -142,8 +141,8 @@ void TransformBuilder::createTransformOperations(CSSValue& inValue, const CSSToL |
else { |
tx = convertToFloatLength(firstValue, conversionData); |
if (transformType != TransformOperation::TranslateX) { |
- if (transformValue->length() > 1) { |
- CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(transformValue->item(1)); |
+ if (transformValue.length() > 1) { |
+ CSSPrimitiveValue& secondValue = toCSSPrimitiveValue(transformValue.item(1)); |
ty = convertToFloatLength(secondValue, conversionData); |
} |
} |
@@ -158,11 +157,11 @@ void TransformBuilder::createTransformOperations(CSSValue& inValue, const CSSToL |
Length ty = Length(0, Fixed); |
double tz = 0; |
if (transformType == TransformOperation::TranslateZ) { |
- tz = firstValue->computeLength<double>(conversionData); |
+ tz = firstValue.computeLength<double>(conversionData); |
} else { |
tx = convertToFloatLength(firstValue, conversionData); |
- ty = convertToFloatLength(toCSSPrimitiveValue(transformValue->item(1)), conversionData); |
- tz = toCSSPrimitiveValue(transformValue->item(2))->computeLength<double>(conversionData); |
+ ty = convertToFloatLength(toCSSPrimitiveValue(transformValue.item(1)), conversionData); |
+ tz = toCSSPrimitiveValue(transformValue.item(2)).computeLength<double>(conversionData); |
} |
outOperations.operations().append(TranslateTransformOperation::create(tx, ty, tz, transformType)); |
@@ -171,7 +170,7 @@ void TransformBuilder::createTransformOperations(CSSValue& inValue, const CSSToL |
case TransformOperation::RotateX: |
case TransformOperation::RotateY: |
case TransformOperation::RotateZ: { |
- double angle = firstValue->computeDegrees(); |
+ double angle = firstValue.computeDegrees(); |
double x = transformType == TransformOperation::RotateX; |
double y = transformType == TransformOperation::RotateY; |
double z = transformType == TransformOperation::RotateZ; |
@@ -179,13 +178,13 @@ void TransformBuilder::createTransformOperations(CSSValue& inValue, const CSSToL |
break; |
} |
case TransformOperation::Rotate3D: { |
- CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(transformValue->item(1)); |
- CSSPrimitiveValue* thirdValue = toCSSPrimitiveValue(transformValue->item(2)); |
- CSSPrimitiveValue* fourthValue = toCSSPrimitiveValue(transformValue->item(3)); |
- double x = firstValue->getDoubleValue(); |
- double y = secondValue->getDoubleValue(); |
- double z = thirdValue->getDoubleValue(); |
- double angle = fourthValue->computeDegrees(); |
+ CSSPrimitiveValue& secondValue = toCSSPrimitiveValue(transformValue.item(1)); |
+ CSSPrimitiveValue& thirdValue = toCSSPrimitiveValue(transformValue.item(2)); |
+ CSSPrimitiveValue& fourthValue = toCSSPrimitiveValue(transformValue.item(3)); |
+ double x = firstValue.getDoubleValue(); |
+ double y = secondValue.getDoubleValue(); |
+ double z = thirdValue.getDoubleValue(); |
+ double angle = fourthValue.computeDegrees(); |
outOperations.operations().append(RotateTransformOperation::create(x, y, z, angle, transformType)); |
break; |
} |
@@ -194,15 +193,15 @@ void TransformBuilder::createTransformOperations(CSSValue& inValue, const CSSToL |
case TransformOperation::SkewY: { |
double angleX = 0; |
double angleY = 0; |
- double angle = firstValue->computeDegrees(); |
+ double angle = firstValue.computeDegrees(); |
if (transformType == TransformOperation::SkewY) |
angleY = angle; |
else { |
angleX = angle; |
if (transformType == TransformOperation::Skew) { |
- if (transformValue->length() > 1) { |
- CSSPrimitiveValue* secondValue = toCSSPrimitiveValue(transformValue->item(1)); |
- angleY = secondValue->computeDegrees(); |
+ if (transformValue.length() > 1) { |
+ CSSPrimitiveValue& secondValue = toCSSPrimitiveValue(transformValue.item(1)); |
+ angleY = secondValue.computeDegrees(); |
} |
} |
} |
@@ -210,37 +209,37 @@ void TransformBuilder::createTransformOperations(CSSValue& inValue, const CSSToL |
break; |
} |
case TransformOperation::Matrix: { |
- double a = firstValue->getDoubleValue(); |
- double b = toCSSPrimitiveValue(transformValue->item(1))->getDoubleValue(); |
- double c = toCSSPrimitiveValue(transformValue->item(2))->getDoubleValue(); |
- double d = toCSSPrimitiveValue(transformValue->item(3))->getDoubleValue(); |
- double e = zoomFactor * toCSSPrimitiveValue(transformValue->item(4))->getDoubleValue(); |
- double f = zoomFactor * toCSSPrimitiveValue(transformValue->item(5))->getDoubleValue(); |
+ double a = firstValue.getDoubleValue(); |
+ double b = toCSSPrimitiveValue(transformValue.item(1)).getDoubleValue(); |
+ double c = toCSSPrimitiveValue(transformValue.item(2)).getDoubleValue(); |
+ double d = toCSSPrimitiveValue(transformValue.item(3)).getDoubleValue(); |
+ double e = zoomFactor * toCSSPrimitiveValue(transformValue.item(4)).getDoubleValue(); |
+ double f = zoomFactor * toCSSPrimitiveValue(transformValue.item(5)).getDoubleValue(); |
outOperations.operations().append(MatrixTransformOperation::create(a, b, c, d, e, f)); |
break; |
} |
case TransformOperation::Matrix3D: { |
- TransformationMatrix matrix(toCSSPrimitiveValue(transformValue->item(0))->getDoubleValue(), |
- toCSSPrimitiveValue(transformValue->item(1))->getDoubleValue(), |
- toCSSPrimitiveValue(transformValue->item(2))->getDoubleValue(), |
- toCSSPrimitiveValue(transformValue->item(3))->getDoubleValue(), |
- toCSSPrimitiveValue(transformValue->item(4))->getDoubleValue(), |
- toCSSPrimitiveValue(transformValue->item(5))->getDoubleValue(), |
- toCSSPrimitiveValue(transformValue->item(6))->getDoubleValue(), |
- toCSSPrimitiveValue(transformValue->item(7))->getDoubleValue(), |
- toCSSPrimitiveValue(transformValue->item(8))->getDoubleValue(), |
- toCSSPrimitiveValue(transformValue->item(9))->getDoubleValue(), |
- toCSSPrimitiveValue(transformValue->item(10))->getDoubleValue(), |
- toCSSPrimitiveValue(transformValue->item(11))->getDoubleValue(), |
- zoomFactor * toCSSPrimitiveValue(transformValue->item(12))->getDoubleValue(), |
- zoomFactor * toCSSPrimitiveValue(transformValue->item(13))->getDoubleValue(), |
- toCSSPrimitiveValue(transformValue->item(14))->getDoubleValue(), |
- toCSSPrimitiveValue(transformValue->item(15))->getDoubleValue()); |
+ TransformationMatrix matrix(toCSSPrimitiveValue(transformValue.item(0)).getDoubleValue(), |
+ toCSSPrimitiveValue(transformValue.item(1)).getDoubleValue(), |
+ toCSSPrimitiveValue(transformValue.item(2)).getDoubleValue(), |
+ toCSSPrimitiveValue(transformValue.item(3)).getDoubleValue(), |
+ toCSSPrimitiveValue(transformValue.item(4)).getDoubleValue(), |
+ toCSSPrimitiveValue(transformValue.item(5)).getDoubleValue(), |
+ toCSSPrimitiveValue(transformValue.item(6)).getDoubleValue(), |
+ toCSSPrimitiveValue(transformValue.item(7)).getDoubleValue(), |
+ toCSSPrimitiveValue(transformValue.item(8)).getDoubleValue(), |
+ toCSSPrimitiveValue(transformValue.item(9)).getDoubleValue(), |
+ toCSSPrimitiveValue(transformValue.item(10)).getDoubleValue(), |
+ toCSSPrimitiveValue(transformValue.item(11)).getDoubleValue(), |
+ zoomFactor * toCSSPrimitiveValue(transformValue.item(12)).getDoubleValue(), |
+ zoomFactor * toCSSPrimitiveValue(transformValue.item(13)).getDoubleValue(), |
+ toCSSPrimitiveValue(transformValue.item(14)).getDoubleValue(), |
+ toCSSPrimitiveValue(transformValue.item(15)).getDoubleValue()); |
outOperations.operations().append(Matrix3DTransformOperation::create(matrix)); |
break; |
} |
case TransformOperation::Perspective: { |
- double p = firstValue->computeLength<double>(conversionData); |
+ double p = firstValue.computeLength<double>(conversionData); |
ASSERT(p >= 0); |
outOperations.operations().append(PerspectiveTransformOperation::create(p)); |
break; |