| Index: ui/views/border.cc
 | 
| diff --git a/ui/views/border.cc b/ui/views/border.cc
 | 
| index 153411dc40d61413a70935104fa6856944d2b44a..69e3440272cbb3a27910ff7d43626f3f1cdd9f64 100644
 | 
| --- a/ui/views/border.cc
 | 
| +++ b/ui/views/border.cc
 | 
| @@ -137,6 +137,40 @@ gfx::Size EmptyBorder::GetMinimumSize() const {
 | 
|    return gfx::Size();
 | 
|  }
 | 
|  
 | 
| +class ExtraInsetsBorder : public Border {
 | 
| + public:
 | 
| +  ExtraInsetsBorder(std::unique_ptr<Border> border, const gfx::Insets& insets);
 | 
| +
 | 
| +  // Overridden from Border:
 | 
| +  void Paint(const View& view, gfx::Canvas* canvas) override;
 | 
| +  gfx::Insets GetInsets() const override ;
 | 
| +  gfx::Size GetMinimumSize() const override;
 | 
| +
 | 
| + private:
 | 
| +  std::unique_ptr<Border> border_;
 | 
| +  const gfx::Insets extra_insets_;
 | 
| +
 | 
| +  DISALLOW_COPY_AND_ASSIGN(ExtraInsetsBorder);
 | 
| +};
 | 
| +
 | 
| +ExtraInsetsBorder::ExtraInsetsBorder(std::unique_ptr<Border> border,
 | 
| +                                     const gfx::Insets& insets)
 | 
| +    : border_(std::move(border)), extra_insets_(insets) {}
 | 
| +
 | 
| +void ExtraInsetsBorder::Paint(const View& view, gfx::Canvas* canvas) {
 | 
| +  border_->Paint(view, canvas);
 | 
| +}
 | 
| +
 | 
| +gfx::Insets ExtraInsetsBorder::GetInsets() const {
 | 
| +  return border_->GetInsets() + extra_insets_;
 | 
| +}
 | 
| +
 | 
| +gfx::Size ExtraInsetsBorder::GetMinimumSize() const {
 | 
| +  gfx::Size size = border_->GetMinimumSize();
 | 
| +  size.Enlarge(extra_insets_.width(), extra_insets_.height());
 | 
| +  return size;
 | 
| +}
 | 
| +
 | 
|  class BorderPainter : public Border {
 | 
|   public:
 | 
|    BorderPainter(std::unique_ptr<Painter> painter, const gfx::Insets& insets);
 | 
| @@ -221,6 +255,13 @@ std::unique_ptr<Border> Border::CreateSolidSidedBorder(int top,
 | 
|  }
 | 
|  
 | 
|  // static
 | 
| +std::unique_ptr<Border> Border::AddInteriorPadding(
 | 
| +    std::unique_ptr<Border> border,
 | 
| +    const gfx::Insets& insets) {
 | 
| +  return base::MakeUnique<ExtraInsetsBorder>(std::move(border), insets);
 | 
| +}
 | 
| +
 | 
| +// static
 | 
|  std::unique_ptr<Border> Border::CreateBorderPainter(
 | 
|      std::unique_ptr<Painter> painter,
 | 
|      const gfx::Insets& insets) {
 | 
| 
 |