| 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:
 | 
| 
 |