Chromium Code Reviews| 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 1126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1137 break; | 1137 break; |
| 1138 | 1138 |
| 1139 case CSSPropertyGridColumnEnd: | 1139 case CSSPropertyGridColumnEnd: |
| 1140 case CSSPropertyGridColumnStart: | 1140 case CSSPropertyGridColumnStart: |
| 1141 case CSSPropertyGridRowEnd: | 1141 case CSSPropertyGridRowEnd: |
| 1142 case CSSPropertyGridRowStart: | 1142 case CSSPropertyGridRowStart: |
| 1143 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled()); | 1143 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled()); |
| 1144 parsedValue = parseGridPosition(); | 1144 parsedValue = parseGridPosition(); |
| 1145 break; | 1145 break; |
| 1146 | 1146 |
| 1147 case CSSPropertyGridColumnGap: | |
| 1148 case CSSPropertyGridRowGap: | |
| 1149 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled()); | |
| 1150 validPrimitive = validUnit(value, FLength | FNonNeg); | |
| 1151 break; | |
| 1152 | |
| 1153 case CSSPropertyGridGap: | |
| 1154 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled()); | |
| 1155 return parseGridGapShorthand(important); | |
| 1156 | |
| 1147 case CSSPropertyGridColumn: | 1157 case CSSPropertyGridColumn: |
| 1148 case CSSPropertyGridRow: | 1158 case CSSPropertyGridRow: |
| 1149 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled()); | 1159 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled()); |
| 1150 return parseGridItemPositionShorthand(propId, important); | 1160 return parseGridItemPositionShorthand(propId, important); |
| 1151 | 1161 |
| 1152 case CSSPropertyGridArea: | 1162 case CSSPropertyGridArea: |
| 1153 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled()); | 1163 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled()); |
| 1154 return parseGridAreaShorthand(important); | 1164 return parseGridAreaShorthand(important); |
| 1155 | 1165 |
| 1156 case CSSPropertyGridTemplateAreas: | 1166 case CSSPropertyGridTemplateAreas: |
| (...skipping 2007 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3164 return false; | 3174 return false; |
| 3165 } else { | 3175 } else { |
| 3166 endValue = gridMissingGridPositionValue(startValue.get()); | 3176 endValue = gridMissingGridPositionValue(startValue.get()); |
| 3167 } | 3177 } |
| 3168 | 3178 |
| 3169 addProperty(shorthand.properties()[0], startValue, important); | 3179 addProperty(shorthand.properties()[0], startValue, important); |
| 3170 addProperty(shorthand.properties()[1], endValue, important); | 3180 addProperty(shorthand.properties()[1], endValue, important); |
| 3171 return true; | 3181 return true; |
| 3172 } | 3182 } |
| 3173 | 3183 |
| 3184 bool CSSPropertyParser::parseGridGapShorthand(bool important) | |
| 3185 { | |
| 3186 ShorthandScope scope(this, CSSPropertyGridGap); | |
| 3187 ASSERT(shorthandForProperty(CSSPropertyGridGap).length() == 2); | |
| 3188 | |
| 3189 CSSParserValue* value = m_valueList->current(); | |
| 3190 if (!value) | |
| 3191 return false; | |
| 3192 | |
| 3193 RefPtrWillBeRawPtr<CSSPrimitiveValue> columnGap = nullptr; | |
|
fs
2015/10/07 10:25:19
Nit: With this new structure, I'd propose that the
| |
| 3194 RefPtrWillBeRawPtr<CSSPrimitiveValue> rowGap = nullptr; | |
| 3195 | |
| 3196 if (!validUnit(value, FLength | FNonNeg)) | |
| 3197 return false; | |
| 3198 | |
| 3199 columnGap = createPrimitiveNumericValue(value); | |
| 3200 | |
| 3201 value = m_valueList->next(); | |
| 3202 if (value) { | |
| 3203 if (!validUnit(value, FLength | FNonNeg)) | |
| 3204 return false; | |
| 3205 | |
| 3206 rowGap = createPrimitiveNumericValue(value); | |
| 3207 if (m_valueList->next()) | |
| 3208 return false; | |
| 3209 } else { | |
| 3210 rowGap = columnGap; | |
| 3211 } | |
| 3212 | |
| 3213 addProperty(CSSPropertyGridColumnGap, columnGap, important); | |
| 3214 addProperty(CSSPropertyGridRowGap, rowGap, important); | |
| 3215 | |
| 3216 return true; | |
| 3217 } | |
| 3218 | |
| 3174 bool CSSPropertyParser::parseGridTemplateRowsAndAreas(PassRefPtrWillBeRawPtr<CSS Value> templateColumns, bool important) | 3219 bool CSSPropertyParser::parseGridTemplateRowsAndAreas(PassRefPtrWillBeRawPtr<CSS Value> templateColumns, bool important) |
| 3175 { | 3220 { |
| 3176 NamedGridAreaMap gridAreaMap; | 3221 NamedGridAreaMap gridAreaMap; |
| 3177 size_t rowCount = 0; | 3222 size_t rowCount = 0; |
| 3178 size_t columnCount = 0; | 3223 size_t columnCount = 0; |
| 3179 bool trailingIdentWasAdded = false; | 3224 bool trailingIdentWasAdded = false; |
| 3180 RefPtrWillBeRawPtr<CSSValueList> templateRows = CSSValueList::createSpaceSep arated(); | 3225 RefPtrWillBeRawPtr<CSSValueList> templateRows = CSSValueList::createSpaceSep arated(); |
| 3181 | 3226 |
| 3182 // At least template-areas strings must be defined. | 3227 // At least template-areas strings must be defined. |
| 3183 if (!m_valueList->current()) | 3228 if (!m_valueList->current()) |
| (...skipping 4253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 7437 } | 7482 } |
| 7438 } | 7483 } |
| 7439 | 7484 |
| 7440 if (!list->length()) | 7485 if (!list->length()) |
| 7441 return nullptr; | 7486 return nullptr; |
| 7442 | 7487 |
| 7443 return list.release(); | 7488 return list.release(); |
| 7444 } | 7489 } |
| 7445 | 7490 |
| 7446 } // namespace blink | 7491 } // namespace blink |
| OLD | NEW |