Index: Source/core/rendering/style/NinePieceImage.h |
diff --git a/Source/core/rendering/style/NinePieceImage.h b/Source/core/rendering/style/NinePieceImage.h |
index 3bf40c17408d06ddc4a73ae394bc46cb984a2154..6474c7f1918eab3e1667b531b5345876a6b20cdd 100644 |
--- a/Source/core/rendering/style/NinePieceImage.h |
+++ b/Source/core/rendering/style/NinePieceImage.h |
@@ -28,6 +28,7 @@ |
#include "core/rendering/style/StyleImage.h" |
#include "platform/LayoutUnit.h" |
#include "platform/LengthBox.h" |
+#include "platform/LengthOrNumberBox.h" |
namespace WebCore { |
@@ -48,8 +49,8 @@ public: |
unsigned verticalRule : 2; // ENinePieceImageRule |
RefPtr<StyleImage> image; |
LengthBox imageSlices; |
- LengthBox borderSlices; |
- LengthBox outset; |
+ LengthOrNumberBox borderSlices; |
+ LengthOrNumberBox outset; |
private: |
NinePieceImageData(); |
@@ -59,7 +60,7 @@ private: |
class NinePieceImage { |
public: |
NinePieceImage(); |
- NinePieceImage(PassRefPtr<StyleImage>, LengthBox imageSlices, bool fill, LengthBox borderSlices, LengthBox outset, ENinePieceImageRule horizontalRule, ENinePieceImageRule verticalRule); |
+ NinePieceImage(PassRefPtr<StyleImage>, LengthBox imageSlices, bool fill, LengthOrNumberBox borderSlices, LengthOrNumberBox outset, ENinePieceImageRule horizontalRule, ENinePieceImageRule verticalRule); |
bool operator==(const NinePieceImage& other) const { return m_data == other.m_data; } |
bool operator!=(const NinePieceImage& other) const { return m_data != other.m_data; } |
@@ -74,11 +75,11 @@ public: |
bool fill() const { return m_data->fill; } |
void setFill(bool fill) { m_data.access()->fill = fill; } |
- const LengthBox& borderSlices() const { return m_data->borderSlices; } |
- void setBorderSlices(const LengthBox& slices) { m_data.access()->borderSlices = slices; } |
+ const LengthOrNumberBox& borderSlices() const { return m_data->borderSlices; } |
+ void setBorderSlices(const LengthOrNumberBox& slices) { m_data.access()->borderSlices = slices; } |
- const LengthBox& outset() const { return m_data->outset; } |
- void setOutset(const LengthBox& outset) { m_data.access()->outset = outset; } |
+ const LengthOrNumberBox& outset() const { return m_data->outset; } |
+ void setOutset(const LengthOrNumberBox& outset) { m_data.access()->outset = outset; } |
ENinePieceImageRule horizontalRule() const { return static_cast<ENinePieceImageRule>(m_data->horizontalRule); } |
void setHorizontalRule(ENinePieceImageRule rule) { m_data.access()->horizontalRule = rule; } |
@@ -112,14 +113,14 @@ public: |
{ |
m_data.access()->imageSlices = LengthBox(0); |
m_data.access()->fill = true; |
- m_data.access()->borderSlices = LengthBox(); |
+ m_data.access()->borderSlices = LengthOrNumberBox(); |
} |
- static LayoutUnit computeOutset(Length outsetSide, LayoutUnit borderSide) |
+ static LayoutUnit computeOutset(LengthOrNumber outsetSide, LayoutUnit borderSide) |
{ |
- if (outsetSide.isRelative()) |
- return outsetSide.value() * borderSide; |
- return outsetSide.value(); |
+ if (outsetSide.isNumber()) |
+ return outsetSide.number() * borderSide; |
+ return outsetSide.length().value(); |
} |
private: |