OLD | NEW |
---|---|
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 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
100 } | 100 } |
101 } | 101 } |
102 | 102 |
103 bool TransformBuilder::hasRelativeLengths(const CSSValueList& valueList) { | 103 bool TransformBuilder::hasRelativeLengths(const CSSValueList& valueList) { |
104 for (auto& value : valueList) { | 104 for (auto& value : valueList) { |
105 const CSSFunctionValue* transformValue = toCSSFunctionValue(value.get()); | 105 const CSSFunctionValue* transformValue = toCSSFunctionValue(value.get()); |
106 | 106 |
107 for (const CSSValue* item : *transformValue) { | 107 for (const CSSValue* item : *transformValue) { |
108 const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(*item); | 108 const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(*item); |
109 | 109 |
110 // TODO(hs1217.lee) : to prevent relative unit like calc(10px + 1em). | |
111 // but when calc() not take parameter of ralative unit like calc(1px +1 | |
112 // px), | |
113 // shoud be return false; | |
114 if (primitiveValue.isCalculated()) { | 110 if (primitiveValue.isCalculated()) { |
115 return true; | 111 CSSCalcValue* cssCalcValue = primitiveValue.cssCalcValue(); |
112 CSSPrimitiveValue::UnitType resolvedType = | |
113 cssCalcValue->expressionNode()->typeWithCalcResolved(); | |
114 if (CSSPrimitiveValue::isRelativeUnit(resolvedType) || | |
115 resolvedType == CSSPrimitiveValue::UnitType::Unknown) { | |
alancutter (OOO until 2018)
2017/03/20 00:56:19
Add test coverage for non-px non-relative lengths
Hwanseung Lee
2017/03/20 14:10:06
Done.
| |
116 return true; | |
117 } | |
116 } | 118 } |
117 | 119 |
118 if (CSSPrimitiveValue::isRelativeUnit( | 120 if (CSSPrimitiveValue::isRelativeUnit( |
119 primitiveValue.typeWithCalcResolved())) { | 121 primitiveValue.typeWithCalcResolved())) { |
120 return true; | 122 return true; |
121 } | 123 } |
122 } | 124 } |
123 } | 125 } |
124 return false; | 126 return false; |
125 } | 127 } |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
335 } | 337 } |
336 default: | 338 default: |
337 ASSERT_NOT_REACHED(); | 339 ASSERT_NOT_REACHED(); |
338 break; | 340 break; |
339 } | 341 } |
340 } | 342 } |
341 return operations; | 343 return operations; |
342 } | 344 } |
343 | 345 |
344 } // namespace blink | 346 } // namespace blink |
OLD | NEW |