OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "core/css/parser/CSSPropertyParserHelpers.h" | 5 #include "core/css/parser/CSSPropertyParserHelpers.h" |
6 | 6 |
7 #include "core/css/CSSCalculationValue.h" | 7 #include "core/css/CSSCalculationValue.h" |
8 #include "core/css/CSSColorValue.h" | 8 #include "core/css/CSSColorValue.h" |
9 #include "core/css/CSSStringValue.h" | 9 #include "core/css/CSSStringValue.h" |
10 #include "core/css/CSSValuePair.h" | 10 #include "core/css/CSSValuePair.h" |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
215 } | 215 } |
216 | 216 |
217 CSSPrimitiveValue* consumeLengthOrPercent(CSSParserTokenRange& range, CSSParserM ode cssParserMode, ValueRange valueRange, UnitlessQuirk unitless) | 217 CSSPrimitiveValue* consumeLengthOrPercent(CSSParserTokenRange& range, CSSParserM ode cssParserMode, ValueRange valueRange, UnitlessQuirk unitless) |
218 { | 218 { |
219 const CSSParserToken& token = range.peek(); | 219 const CSSParserToken& token = range.peek(); |
220 if (token.type() == DimensionToken || token.type() == NumberToken) | 220 if (token.type() == DimensionToken || token.type() == NumberToken) |
221 return consumeLength(range, cssParserMode, valueRange, unitless); | 221 return consumeLength(range, cssParserMode, valueRange, unitless); |
222 if (token.type() == PercentageToken) | 222 if (token.type() == PercentageToken) |
223 return consumePercent(range, valueRange); | 223 return consumePercent(range, valueRange); |
224 CalcParser calcParser(range, valueRange); | 224 CalcParser calcParser(range, valueRange); |
225 | |
225 if (const CSSCalcValue* calculation = calcParser.value()) { | 226 if (const CSSCalcValue* calculation = calcParser.value()) { |
226 if (calculation->category() == CalcLength || calculation->category() == CalcPercent || calculation->category() == CalcPercentLength) | 227 switch (calculation->category()) { |
fs
2016/06/29 09:28:17
Maybe move this to a helper (predicate) function,
Shanmuga Pandi
2016/07/15 12:18:22
Done.
| |
228 case CalcLength: | |
229 case CalcPercent: | |
230 case CalcPercentLength: | |
227 return calcParser.consumeValue(); | 231 return calcParser.consumeValue(); |
232 case CalcNumber: | |
233 case CalcPercentNumber: | |
234 case CalcLengthNumber: | |
235 case CalcPercentLengthNumber: | |
236 if (cssParserMode == SVGAttributeMode) | |
237 return calcParser.consumeValue(); | |
238 break; | |
239 default: | |
240 break; | |
241 } | |
228 } | 242 } |
229 return nullptr; | 243 return nullptr; |
230 } | 244 } |
231 | 245 |
232 CSSPrimitiveValue* consumeAngle(CSSParserTokenRange& range) | 246 CSSPrimitiveValue* consumeAngle(CSSParserTokenRange& range) |
233 { | 247 { |
234 const CSSParserToken& token = range.peek(); | 248 const CSSParserToken& token = range.peek(); |
235 if (token.type() == DimensionToken) { | 249 if (token.type() == DimensionToken) { |
236 switch (token.unitType()) { | 250 switch (token.unitType()) { |
237 case CSSPrimitiveValue::UnitType::Degrees: | 251 case CSSPrimitiveValue::UnitType::Degrees: |
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
592 if (!value2) { | 606 if (!value2) { |
593 positionFromOneValue(value1, resultX, resultY); | 607 positionFromOneValue(value1, resultX, resultY); |
594 return true; | 608 return true; |
595 } | 609 } |
596 return positionFromTwoValues(value1, value2, resultX, resultY); | 610 return positionFromTwoValues(value1, value2, resultX, resultY); |
597 } | 611 } |
598 | 612 |
599 } // namespace CSSPropertyParserHelpers | 613 } // namespace CSSPropertyParserHelpers |
600 | 614 |
601 } // namespace blink | 615 } // namespace blink |
OLD | NEW |