| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. | 2 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above | 8 * 1. Redistributions of source code must retain the above |
| 9 * copyright notice, this list of conditions and the following | 9 * copyright notice, this list of conditions and the following |
| 10 * disclaimer. | 10 * disclaimer. |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 CSSValueID side = defaultSide; | 73 CSSValueID side = defaultSide; |
| 74 RefPtrWillBeRawPtr<CSSPrimitiveValue> amount = nullptr; | 74 RefPtrWillBeRawPtr<CSSPrimitiveValue> amount = nullptr; |
| 75 | 75 |
| 76 if (!offset) { | 76 if (!offset) { |
| 77 side = CSSValueCenter; | 77 side = CSSValueCenter; |
| 78 } else if (offset->isPrimitiveValue() && toCSSPrimitiveValue(offset.get())->
isValueID()) { | 78 } else if (offset->isPrimitiveValue() && toCSSPrimitiveValue(offset.get())->
isValueID()) { |
| 79 side = toCSSPrimitiveValue(offset.get())->getValueID(); | 79 side = toCSSPrimitiveValue(offset.get())->getValueID(); |
| 80 } else if (offset->isValuePair()) { | 80 } else if (offset->isValuePair()) { |
| 81 side = toCSSPrimitiveValue(toCSSValuePair(*offset).first()).getValueID()
; | 81 side = toCSSPrimitiveValue(toCSSValuePair(*offset).first()).getValueID()
; |
| 82 amount = &toCSSPrimitiveValue(toCSSValuePair(*offset).second()); | 82 amount = &toCSSPrimitiveValue(toCSSValuePair(*offset).second()); |
| 83 if ((side == CSSValueRight || side == CSSValueBottom) && amount->isPerce
ntage()) { |
| 84 side = defaultSide; |
| 85 amount = cssValuePool().createValue(100 - amount->getFloatValue(), C
SSPrimitiveValue::UnitType::Percentage); |
| 86 } |
| 83 } else { | 87 } else { |
| 84 amount = toCSSPrimitiveValue(offset.get()); | 88 amount = toCSSPrimitiveValue(offset.get()); |
| 85 } | 89 } |
| 86 | 90 |
| 87 if (side == CSSValueCenter) { | 91 if (side == CSSValueCenter) { |
| 88 side = defaultSide; | 92 side = defaultSide; |
| 89 amount = cssValuePool().createValue(50, CSSPrimitiveValue::UnitType::Per
centage); | 93 amount = cssValuePool().createValue(50, CSSPrimitiveValue::UnitType::Per
centage); |
| 90 } else if ((side == CSSValueRight || side == CSSValueBottom) | 94 } else if (!amount || (amount->isLength() && !amount->getFloatValue())) { |
| 91 && amount->isPercentage()) { | |
| 92 side = defaultSide; | |
| 93 amount = cssValuePool().createValue(100 - amount->getFloatValue(), CSSPr
imitiveValue::UnitType::Percentage); | |
| 94 } else if (amount->isLength() && !amount->getFloatValue()) { | |
| 95 if (side == CSSValueRight || side == CSSValueBottom) | 95 if (side == CSSValueRight || side == CSSValueBottom) |
| 96 amount = cssValuePool().createValue(100, CSSPrimitiveValue::UnitType
::Percentage); | 96 amount = cssValuePool().createValue(100, CSSPrimitiveValue::UnitType
::Percentage); |
| 97 else | 97 else |
| 98 amount = cssValuePool().createValue(0, CSSPrimitiveValue::UnitType::
Percentage); | 98 amount = cssValuePool().createValue(0, CSSPrimitiveValue::UnitType::
Percentage); |
| 99 side = defaultSide; | 99 side = defaultSide; |
| 100 } | 100 } |
| 101 | 101 |
| 102 return CSSValuePair::create(cssValuePool().createIdentifierValue(side), amou
nt.release(), CSSValuePair::KeepIdenticalValues); | 102 return CSSValuePair::create(cssValuePool().createIdentifierValue(side), amou
nt.release(), CSSValuePair::KeepIdenticalValues); |
| 103 } | 103 } |
| 104 | 104 |
| (...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 398 visitor->trace(m_left); | 398 visitor->trace(m_left); |
| 399 visitor->trace(m_topLeftRadius); | 399 visitor->trace(m_topLeftRadius); |
| 400 visitor->trace(m_topRightRadius); | 400 visitor->trace(m_topRightRadius); |
| 401 visitor->trace(m_bottomRightRadius); | 401 visitor->trace(m_bottomRightRadius); |
| 402 visitor->trace(m_bottomLeftRadius); | 402 visitor->trace(m_bottomLeftRadius); |
| 403 CSSValue::traceAfterDispatch(visitor); | 403 CSSValue::traceAfterDispatch(visitor); |
| 404 } | 404 } |
| 405 | 405 |
| 406 } // namespace blink | 406 } // namespace blink |
| 407 | 407 |
| OLD | NEW |