1160 // sometimes the animation values from WebCore are misleading and we have to use the actual matrix as source
1161 // The Mac implementation simply doesn't try to accelerate those (e.g. 360deg rotation), but we do.
1162 if (progress == 1 || !targetOperations.size() || sourceOperations == targetOperations) {
1163 TransformationMatrix sourceMatrix;
1164 sourceOperations.apply(m_boxSize, sourceMatrix);
1165 transformMatrix = m_sourceMatrix;
1166 transformMatrix.blend(sourceMatrix, 1 - progress);
1167 } else {
1168 bool validTransformLists = true;
1169 const int sourceOperationCount = sourceOperations.size();
1170 if (sourceOperationCount) {
1171 if (targetOperations.size() != sourceOperationCount)
1172 validTransformLists = false;
1173 else
1174 for (size_t j = 0; j < sourceOperationCount && validTransformLists; ++j)
1175 if (!sourceOperations.operations()[j]->isSameType(*targetOperations.operations()[j]))
1176 validTransformLists = false;
1177 }
1160 bool validTransformLists = true;
1161 const int sourceOperationCount = sourceOperations.size();
1162 if (sourceOperationCount) {
1163 if (targetOperations.size() != sourceOperationCount)
1164 validTransformLists = false;
1165 else
1166 for (size_t j = 0; j < sourceOperationCount && validTransformLists; ++j)
1167 if (!sourceOperations.operations()[j]->isSameType(*targetOperations.operations()[j]))
1168 validTransformLists = false;
1169 }