OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * * Redistributions of source code must retain the above copyright | 4 * * Redistributions of source code must retain the above copyright |
5 * notice, this list of conditions and the following disclaimer. | 5 * notice, this list of conditions and the following disclaimer. |
6 * * Redistributions in binary form must reproduce the above | 6 * * Redistributions in binary form must reproduce the above |
7 * copyright notice, this list of conditions and the following disclaimer | 7 * copyright notice, this list of conditions and the following disclaimer |
8 * in the documentation and/or other materials provided with the | 8 * in the documentation and/or other materials provided with the |
9 * distribution. | 9 * distribution. |
10 * * Neither the name of Google Inc. nor the names of its | 10 * * Neither the name of Google Inc. nor the names of its |
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
331 | 331 |
332 if (angle <= 45.0f || angle > 315.0f) | 332 if (angle <= 45.0f || angle > 315.0f) |
333 return GO_0DEG; | 333 return GO_0DEG; |
334 if (angle > 45.0f && angle <= 135.0f) | 334 if (angle > 45.0f && angle <= 135.0f) |
335 return GO_90DEG; | 335 return GO_90DEG; |
336 if (angle > 135.0f && angle <= 225.0f) | 336 if (angle > 135.0f && angle <= 225.0f) |
337 return GO_180DEG; | 337 return GO_180DEG; |
338 return GO_270DEG; | 338 return GO_270DEG; |
339 } | 339 } |
340 | 340 |
341 GridAutoFlow StyleBuilderConverter::convertGridAutoFlow(StyleResolverState&, CSS Value* value) | |
342 { | |
343 CSSValueList* list = toCSSValueList(value); | |
344 | |
345 CSSPrimitiveValue* first = list->length() >= 1 ? toCSSPrimitiveValue(list->i tem(0)) : nullptr; | |
346 | |
347 if (!first) | |
348 return RenderStyle::initialGridAutoFlow(); | |
Timothy Loh
2014/10/10 14:38:45
Looks like the parser always puts at least one val
| |
349 | |
350 CSSPrimitiveValue* second = list->length() == 2 ? toCSSPrimitiveValue(list-> item(1)) : nullptr; | |
Timothy Loh
2014/10/10 14:38:45
All the logic here should probably get moved to th
Timothy Loh
2014/10/10 16:12:20
Err probably we'd have either a single value for t
| |
351 | |
352 switch (first->getValueID()) { | |
353 case CSSValueRow: | |
354 if (second) { | |
355 if (second->getValueID() == CSSValueDense) | |
356 return AutoFlowRowDense; | |
357 return AutoFlowStackRow; | |
358 } | |
359 return AutoFlowRow; | |
360 case CSSValueColumn: | |
361 if (second) { | |
362 if (second->getValueID() == CSSValueDense) | |
363 return AutoFlowColumnDense; | |
364 return AutoFlowStackColumn; | |
365 } | |
366 return AutoFlowColumn; | |
367 case CSSValueDense: | |
368 if (second && second->getValueID() == CSSValueColumn) | |
369 return AutoFlowColumnDense; | |
370 return AutoFlowRowDense; | |
371 case CSSValueStack: | |
372 if (second && second->getValueID() == CSSValueColumn) | |
373 return AutoFlowStackColumn; | |
374 return AutoFlowStackRow; | |
375 default: | |
376 ASSERT_NOT_REACHED(); | |
377 return RenderStyle::initialGridAutoFlow(); | |
378 } | |
379 } | |
380 | |
341 GridPosition StyleBuilderConverter::convertGridPosition(StyleResolverState&, CSS Value* value) | 381 GridPosition StyleBuilderConverter::convertGridPosition(StyleResolverState&, CSS Value* value) |
342 { | 382 { |
343 // We accept the specification's grammar: | 383 // We accept the specification's grammar: |
344 // 'auto' | [ <integer> || <custom-ident> ] | [ span && [ <integer> || <cust om-ident> ] ] | <custom-ident> | 384 // 'auto' | [ <integer> || <custom-ident> ] | [ span && [ <integer> || <cust om-ident> ] ] | <custom-ident> |
345 | 385 |
346 GridPosition position; | 386 GridPosition position; |
347 | 387 |
348 if (value->isPrimitiveValue()) { | 388 if (value->isPrimitiveValue()) { |
349 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); | 389 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
350 // We translate <custom-ident> to <string> during parsing as it | 390 // We translate <custom-ident> to <string> during parsing as it |
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
683 { | 723 { |
684 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); | 724 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
685 if (primitiveValue->getValueID()) { | 725 if (primitiveValue->getValueID()) { |
686 float multiplier = convertLineWidth<float>(state, value); | 726 float multiplier = convertLineWidth<float>(state, value); |
687 return CSSPrimitiveValue::create(multiplier / 48, CSSPrimitiveValue::CSS _EMS)->computeLength<float>(state.cssToLengthConversionData()); | 727 return CSSPrimitiveValue::create(multiplier / 48, CSSPrimitiveValue::CSS _EMS)->computeLength<float>(state.cssToLengthConversionData()); |
688 } | 728 } |
689 return primitiveValue->computeLength<float>(state.cssToLengthConversionData( )); | 729 return primitiveValue->computeLength<float>(state.cssToLengthConversionData( )); |
690 } | 730 } |
691 | 731 |
692 } // namespace blink | 732 } // namespace blink |
OLD | NEW |