Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(155)

Side by Side Diff: third_party/WebKit/Source/core/css/resolver/TransformBuilder.cpp

Issue 2478233002: Make 'transform' a presentation attribute on SVG elements (Closed)
Patch Set: Rebase Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com)
4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com)
5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc.
6 * All rights reserved. 6 * All rights reserved.
7 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> 7 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
8 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> 8 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org>
9 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. 9 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved.
10 * (http://www.torchmobile.com/) 10 * (http://www.torchmobile.com/)
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 } 222 }
223 223
224 operations.operations().append( 224 operations.operations().append(
225 TranslateTransformOperation::create(tx, ty, tz, transformType)); 225 TranslateTransformOperation::create(tx, ty, tz, transformType));
226 break; 226 break;
227 } 227 }
228 case TransformOperation::RotateX: 228 case TransformOperation::RotateX:
229 case TransformOperation::RotateY: 229 case TransformOperation::RotateY:
230 case TransformOperation::RotateZ: { 230 case TransformOperation::RotateZ: {
231 double angle = firstValue.computeDegrees(); 231 double angle = firstValue.computeDegrees();
232 double x = transformType == TransformOperation::RotateX; 232 if (transformValue->length() == 1) {
233 double y = transformType == TransformOperation::RotateY; 233 double x = transformType == TransformOperation::RotateX;
234 double z = transformType == TransformOperation::RotateZ; 234 double y = transformType == TransformOperation::RotateY;
235 operations.operations().append( 235 double z = transformType == TransformOperation::RotateZ;
236 RotateTransformOperation::create(x, y, z, angle, transformType)); 236 operations.operations().append(
237 RotateTransformOperation::create(x, y, z, angle, transformType));
238 } else {
239 // For SVG 'transform' attributes we generate 3-argument rotate()
240 // functions.
241 DCHECK_EQ(transformValue->length(), 3u);
242 const CSSPrimitiveValue& secondValue =
243 toCSSPrimitiveValue(transformValue->item(1));
244 const CSSPrimitiveValue& thirdValue =
245 toCSSPrimitiveValue(transformValue->item(2));
246 operations.operations().append(
247 RotateAroundOriginTransformOperation::create(
248 angle, secondValue.computeLength<double>(conversionData),
249 thirdValue.computeLength<double>(conversionData)));
250 }
237 break; 251 break;
238 } 252 }
239 case TransformOperation::Rotate3D: { 253 case TransformOperation::Rotate3D: {
240 const CSSPrimitiveValue& secondValue = 254 const CSSPrimitiveValue& secondValue =
241 toCSSPrimitiveValue(transformValue->item(1)); 255 toCSSPrimitiveValue(transformValue->item(1));
242 const CSSPrimitiveValue& thirdValue = 256 const CSSPrimitiveValue& thirdValue =
243 toCSSPrimitiveValue(transformValue->item(2)); 257 toCSSPrimitiveValue(transformValue->item(2));
244 const CSSPrimitiveValue& fourthValue = 258 const CSSPrimitiveValue& fourthValue =
245 toCSSPrimitiveValue(transformValue->item(3)); 259 toCSSPrimitiveValue(transformValue->item(3));
246 double x = firstValue.getDoubleValue(); 260 double x = firstValue.getDoubleValue();
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 } 337 }
324 default: 338 default:
325 ASSERT_NOT_REACHED(); 339 ASSERT_NOT_REACHED();
326 break; 340 break;
327 } 341 }
328 } 342 }
329 return operations; 343 return operations;
330 } 344 }
331 345
332 } // namespace blink 346 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698