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

Unified Diff: third_party/WebKit/Source/core/css/cssom/CSSRotation.cpp

Issue 2813583002: Support calc(...) in ConsumeAngleOrPercent / for conic-gradient (Closed)
Patch Set: TypedOM CSSRotation fixup Created 3 years, 8 months 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/css/cssom/CSSRotation.cpp
diff --git a/third_party/WebKit/Source/core/css/cssom/CSSRotation.cpp b/third_party/WebKit/Source/core/css/cssom/CSSRotation.cpp
index f8e4eb42a3c8a41e6ed7c9577068aab2d45f459d..898f4f1e8f0c4eae91f9e567f5c1f973882334f6 100644
--- a/third_party/WebKit/Source/core/css/cssom/CSSRotation.cpp
+++ b/third_party/WebKit/Source/core/css/cssom/CSSRotation.cpp
@@ -18,7 +18,7 @@ bool IsNumberValue(const CSSValue& value) {
CSSRotation* FromCSSRotate(const CSSFunctionValue& value) {
DCHECK_EQ(value.length(), 1UL);
const CSSPrimitiveValue& primitive_value = ToCSSPrimitiveValue(value.Item(0));
- if (!primitive_value.IsAngle())
+ if (primitive_value.IsCalculated() || !primitive_value.IsAngle())
return nullptr;
return CSSRotation::Create(CSSAngleValue::FromCSSValue(primitive_value));
}
@@ -29,7 +29,7 @@ CSSRotation* FromCSSRotate3d(const CSSFunctionValue& value) {
DCHECK(IsNumberValue(value.Item(1)));
DCHECK(IsNumberValue(value.Item(2)));
const CSSPrimitiveValue& angle = ToCSSPrimitiveValue(value.Item(3));
- if (!angle.IsAngle())
+ if (angle.IsCalculated() || !angle.IsAngle())
return nullptr;
double x = ToCSSPrimitiveValue(value.Item(0)).GetDoubleValue();
@@ -41,9 +41,10 @@ CSSRotation* FromCSSRotate3d(const CSSFunctionValue& value) {
CSSRotation* FromCSSRotateXYZ(const CSSFunctionValue& value) {
DCHECK_EQ(value.length(), 1UL);
-
- CSSAngleValue* angle =
- CSSAngleValue::FromCSSValue(ToCSSPrimitiveValue(value.Item(0)));
+ const CSSPrimitiveValue& primitive_value = ToCSSPrimitiveValue(value.Item(0));
+ if (primitive_value.IsCalculated())
+ return nullptr;
+ CSSAngleValue* angle = CSSAngleValue::FromCSSValue(primitive_value);
switch (value.FunctionType()) {
case CSSValueRotateX:
return CSSRotation::Create(1, 0, 0, angle);

Powered by Google App Engine
This is Rietveld 408576698