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 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
207 return CSSPrimitiveValue::create(range.consumeIncludingWhitespace().nume ricValue(), CSSPrimitiveValue::UnitType::Percentage); | 207 return CSSPrimitiveValue::create(range.consumeIncludingWhitespace().nume ricValue(), CSSPrimitiveValue::UnitType::Percentage); |
208 } | 208 } |
209 CalcParser calcParser(range, valueRange); | 209 CalcParser calcParser(range, valueRange); |
210 if (const CSSCalcValue* calculation = calcParser.value()) { | 210 if (const CSSCalcValue* calculation = calcParser.value()) { |
211 if (calculation->category() == CalcPercent) | 211 if (calculation->category() == CalcPercent) |
212 return calcParser.consumeValue(); | 212 return calcParser.consumeValue(); |
213 } | 213 } |
214 return nullptr; | 214 return nullptr; |
215 } | 215 } |
216 | 216 |
217 bool canConsumeCalcValue(CalculationCategory category, CSSParserMode cssParserMo de) | |
218 { | |
219 if (category == CalcLength || category == CalcPercent || category == CalcPer centLength | |
220 || (cssParserMode == SVGAttributeMode | |
fs
2016/07/16 21:13:02
Suggested formatting:
if (<old predicate>)
retu
Shanmuga Pandi
2016/07/18 13:35:32
Done.
| |
221 && (category == CalcNumber || category == CalcPercentNumber || category == CalcLengthNumber || category == CalcPercentLengthNumber))) | |
222 return true; | |
223 | |
224 return false; | |
225 } | |
226 | |
217 CSSPrimitiveValue* consumeLengthOrPercent(CSSParserTokenRange& range, CSSParserM ode cssParserMode, ValueRange valueRange, UnitlessQuirk unitless) | 227 CSSPrimitiveValue* consumeLengthOrPercent(CSSParserTokenRange& range, CSSParserM ode cssParserMode, ValueRange valueRange, UnitlessQuirk unitless) |
218 { | 228 { |
219 const CSSParserToken& token = range.peek(); | 229 const CSSParserToken& token = range.peek(); |
220 if (token.type() == DimensionToken || token.type() == NumberToken) | 230 if (token.type() == DimensionToken || token.type() == NumberToken) |
221 return consumeLength(range, cssParserMode, valueRange, unitless); | 231 return consumeLength(range, cssParserMode, valueRange, unitless); |
222 if (token.type() == PercentageToken) | 232 if (token.type() == PercentageToken) |
223 return consumePercent(range, valueRange); | 233 return consumePercent(range, valueRange); |
224 CalcParser calcParser(range, valueRange); | 234 CalcParser calcParser(range, valueRange); |
225 if (const CSSCalcValue* calculation = calcParser.value()) { | 235 if (const CSSCalcValue* calculation = calcParser.value()) { |
226 if (calculation->category() == CalcLength || calculation->category() == CalcPercent || calculation->category() == CalcPercentLength) | 236 if (canConsumeCalcValue(calculation->category(), cssParserMode)) |
227 return calcParser.consumeValue(); | 237 return calcParser.consumeValue(); |
228 } | 238 } |
229 return nullptr; | 239 return nullptr; |
230 } | 240 } |
231 | 241 |
232 CSSPrimitiveValue* consumeAngle(CSSParserTokenRange& range) | 242 CSSPrimitiveValue* consumeAngle(CSSParserTokenRange& range) |
233 { | 243 { |
234 const CSSParserToken& token = range.peek(); | 244 const CSSParserToken& token = range.peek(); |
235 if (token.type() == DimensionToken) { | 245 if (token.type() == DimensionToken) { |
236 switch (token.unitType()) { | 246 switch (token.unitType()) { |
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
595 if (!value2) { | 605 if (!value2) { |
596 positionFromOneValue(value1, resultX, resultY); | 606 positionFromOneValue(value1, resultX, resultY); |
597 return true; | 607 return true; |
598 } | 608 } |
599 return positionFromTwoValues(value1, value2, resultX, resultY); | 609 return positionFromTwoValues(value1, value2, resultX, resultY); |
600 } | 610 } |
601 | 611 |
602 } // namespace CSSPropertyParserHelpers | 612 } // namespace CSSPropertyParserHelpers |
603 | 613 |
604 } // namespace blink | 614 } // namespace blink |
OLD | NEW |