| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) | 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) |
| 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) | 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) |
| 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All r
ights reserved. | 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All r
ights reserved. |
| 6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> | 6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
| 7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> | 7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> |
| 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
| 9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. | 9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. |
| 10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. | 10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. |
| (...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 476 state.style()->setBorderTopWidth(image.borderSlices().top().length()
.value()); | 476 state.style()->setBorderTopWidth(image.borderSlices().top().length()
.value()); |
| 477 if (image.borderSlices().right().isLength() && image.borderSlices().righ
t().length().isFixed()) | 477 if (image.borderSlices().right().isLength() && image.borderSlices().righ
t().length().isFixed()) |
| 478 state.style()->setBorderRightWidth(image.borderSlices().right().leng
th().value()); | 478 state.style()->setBorderRightWidth(image.borderSlices().right().leng
th().value()); |
| 479 if (image.borderSlices().bottom().isLength() && image.borderSlices().bot
tom().length().isFixed()) | 479 if (image.borderSlices().bottom().isLength() && image.borderSlices().bot
tom().length().isFixed()) |
| 480 state.style()->setBorderBottomWidth(image.borderSlices().bottom().le
ngth().value()); | 480 state.style()->setBorderBottomWidth(image.borderSlices().bottom().le
ngth().value()); |
| 481 if (image.borderSlices().left().isLength() && image.borderSlices().left(
).length().isFixed()) | 481 if (image.borderSlices().left().isLength() && image.borderSlices().left(
).length().isFixed()) |
| 482 state.style()->setBorderLeftWidth(image.borderSlices().left().length
().value()); | 482 state.style()->setBorderLeftWidth(image.borderSlices().left().length
().value()); |
| 483 } | 483 } |
| 484 } | 484 } |
| 485 | 485 |
| 486 static Length convertBorderImageSliceSide(const CSSPrimitiveValue& value) | 486 static Length convertBorderImageSliceSide(const CSSPrimitiveValue& value, const
CSSToLengthConversionData& conversionData) |
| 487 { | 487 { |
| 488 if (value.isPercentage()) | 488 if (value.isPercentage() || value.isCalculated()) |
| 489 return Length(value.getDoubleValue(), Percent); | 489 return value.convertToLength(conversionData); |
| 490 return Length(round(value.getDoubleValue()), Fixed); | 490 return Length(round(value.getDoubleValue()), Fixed); |
| 491 } | 491 } |
| 492 | 492 |
| 493 void CSSToStyleMap::mapNinePieceImageSlice(StyleResolverState&, const CSSValue&
value, NinePieceImage& image) | 493 void CSSToStyleMap::mapNinePieceImageSlice(StyleResolverState& state, const CSSV
alue& value, NinePieceImage& image) |
| 494 { | 494 { |
| 495 if (!value.isBorderImageSliceValue()) | 495 if (!value.isBorderImageSliceValue()) |
| 496 return; | 496 return; |
| 497 | 497 |
| 498 // Retrieve the border image value. | 498 // Retrieve the border image value. |
| 499 const CSSBorderImageSliceValue& borderImageSlice = toCSSBorderImageSliceValu
e(value); | 499 const CSSBorderImageSliceValue& borderImageSlice = toCSSBorderImageSliceValu
e(value); |
| 500 | 500 |
| 501 // Set up a length box to represent our image slices. | 501 // Set up a length box to represent our image slices. |
| 502 LengthBox box; | 502 LengthBox box; |
| 503 const CSSQuadValue& slices = borderImageSlice.slices(); | 503 const CSSQuadValue& slices = borderImageSlice.slices(); |
| 504 box.m_top = convertBorderImageSliceSide(*slices.top()); | 504 box.m_top = convertBorderImageSliceSide(*slices.top(), state.cssToLengthConv
ersionData()); |
| 505 box.m_bottom = convertBorderImageSliceSide(*slices.bottom()); | 505 box.m_bottom = convertBorderImageSliceSide(*slices.bottom(), state.cssToLeng
thConversionData()); |
| 506 box.m_left = convertBorderImageSliceSide(*slices.left()); | 506 box.m_left = convertBorderImageSliceSide(*slices.left(), state.cssToLengthCo
nversionData()); |
| 507 box.m_right = convertBorderImageSliceSide(*slices.right()); | 507 box.m_right = convertBorderImageSliceSide(*slices.right(), state.cssToLength
ConversionData()); |
| 508 image.setImageSlices(box); | 508 image.setImageSlices(box); |
| 509 | 509 |
| 510 // Set our fill mode. | 510 // Set our fill mode. |
| 511 image.setFill(borderImageSlice.fill()); | 511 image.setFill(borderImageSlice.fill()); |
| 512 } | 512 } |
| 513 | 513 |
| 514 static BorderImageLength toBorderImageLength(CSSPrimitiveValue& value, const CSS
ToLengthConversionData& conversionData) | 514 static BorderImageLength toBorderImageLength(CSSPrimitiveValue& value, const CSS
ToLengthConversionData& conversionData) |
| 515 { | 515 { |
| 516 if (value.isNumber()) | 516 if (value.isNumber()) |
| 517 return value.getDoubleValue(); | 517 return value.getDoubleValue(); |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 575 verticalRule = SpaceImageRule; | 575 verticalRule = SpaceImageRule; |
| 576 break; | 576 break; |
| 577 default: // CSSValueRepeat | 577 default: // CSSValueRepeat |
| 578 verticalRule = RepeatImageRule; | 578 verticalRule = RepeatImageRule; |
| 579 break; | 579 break; |
| 580 } | 580 } |
| 581 image.setVerticalRule(verticalRule); | 581 image.setVerticalRule(verticalRule); |
| 582 } | 582 } |
| 583 | 583 |
| 584 } // namespace blink | 584 } // namespace blink |
| OLD | NEW |