OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2003 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2003 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) | 3 * Copyright (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) |
4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. | 4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. |
5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> | 5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> |
6 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> | 6 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> |
7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
8 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved. | 8 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved. |
9 * Copyright (C) 2012 Intel Corporation. All rights reserved. | 9 * Copyright (C) 2012 Intel Corporation. All rights reserved. |
10 * | 10 * |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 if (parsedValue) { | 297 if (parsedValue) { |
298 if (!m_valueList->current() || inShorthand()) | 298 if (!m_valueList->current() || inShorthand()) |
299 return parsedValue.release(); | 299 return parsedValue.release(); |
300 } | 300 } |
301 return nullptr; | 301 return nullptr; |
302 } | 302 } |
303 | 303 |
304 bool CSSPropertyParser::legacyParseShorthand(CSSPropertyID propertyID, bool impo
rtant) | 304 bool CSSPropertyParser::legacyParseShorthand(CSSPropertyID propertyID, bool impo
rtant) |
305 { | 305 { |
306 switch (propertyID) { | 306 switch (propertyID) { |
307 case CSSPropertyGridGap: | |
308 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled()); | |
309 return parseGridGapShorthand(important); | |
310 | |
311 case CSSPropertyGridColumn: | 307 case CSSPropertyGridColumn: |
312 case CSSPropertyGridRow: | 308 case CSSPropertyGridRow: |
313 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled()); | 309 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled()); |
314 return parseGridItemPositionShorthand(propertyID, important); | 310 return parseGridItemPositionShorthand(propertyID, important); |
315 | 311 |
316 case CSSPropertyGridArea: | 312 case CSSPropertyGridArea: |
317 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled()); | 313 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled()); |
318 return parseGridAreaShorthand(important); | 314 return parseGridAreaShorthand(important); |
319 | 315 |
320 case CSSPropertyGridTemplate: | 316 case CSSPropertyGridTemplate: |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
456 return false; | 452 return false; |
457 } else { | 453 } else { |
458 endValue = gridMissingGridPositionValue(startValue.get()); | 454 endValue = gridMissingGridPositionValue(startValue.get()); |
459 } | 455 } |
460 | 456 |
461 addProperty(shorthand.properties()[0], startValue, important); | 457 addProperty(shorthand.properties()[0], startValue, important); |
462 addProperty(shorthand.properties()[1], endValue, important); | 458 addProperty(shorthand.properties()[1], endValue, important); |
463 return true; | 459 return true; |
464 } | 460 } |
465 | 461 |
466 bool CSSPropertyParser::parseGridGapShorthand(bool important) | |
467 { | |
468 ShorthandScope scope(this, CSSPropertyGridGap); | |
469 ASSERT(shorthandForProperty(CSSPropertyGridGap).length() == 2); | |
470 | |
471 CSSParserValue* value = m_valueList->current(); | |
472 if (!value) | |
473 return false; | |
474 | |
475 if (!validUnit(value, FLength | FNonNeg)) | |
476 return false; | |
477 | |
478 RefPtrWillBeRawPtr<CSSPrimitiveValue> rowGap = createPrimitiveNumericValue(v
alue); | |
479 RefPtrWillBeRawPtr<CSSPrimitiveValue> columnGap = nullptr; | |
480 | |
481 value = m_valueList->next(); | |
482 if (value) { | |
483 if (!validUnit(value, FLength | FNonNeg)) | |
484 return false; | |
485 | |
486 columnGap = createPrimitiveNumericValue(value); | |
487 if (m_valueList->next()) | |
488 return false; | |
489 } else { | |
490 columnGap = rowGap; | |
491 } | |
492 | |
493 addProperty(CSSPropertyGridRowGap, rowGap, important); | |
494 addProperty(CSSPropertyGridColumnGap, columnGap, important); | |
495 | |
496 return true; | |
497 } | |
498 | |
499 PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseGridTemplateColumns(boo
l important) | 462 PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseGridTemplateColumns(boo
l important) |
500 { | 463 { |
501 if (!(m_valueList->current() && isForwardSlashOperator(m_valueList->current(
)) && m_valueList->next())) | 464 if (!(m_valueList->current() && isForwardSlashOperator(m_valueList->current(
)) && m_valueList->next())) |
502 return nullptr; | 465 return nullptr; |
503 if (RefPtrWillBeRawPtr<CSSValue> columnsValue = parseGridTrackList()) { | 466 if (RefPtrWillBeRawPtr<CSSValue> columnsValue = parseGridTrackList()) { |
504 if (m_valueList->current()) | 467 if (m_valueList->current()) |
505 return nullptr; | 468 return nullptr; |
506 return columnsValue; | 469 return columnsValue; |
507 } | 470 } |
508 | 471 |
(...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1125 ASSERT(!m_parsedCalculation); | 1088 ASSERT(!m_parsedCalculation); |
1126 m_parsedCalculation = CSSCalcValue::create(args, range); | 1089 m_parsedCalculation = CSSCalcValue::create(args, range); |
1127 | 1090 |
1128 if (!m_parsedCalculation) | 1091 if (!m_parsedCalculation) |
1129 return false; | 1092 return false; |
1130 | 1093 |
1131 return true; | 1094 return true; |
1132 } | 1095 } |
1133 | 1096 |
1134 } // namespace blink | 1097 } // namespace blink |
OLD | NEW |