| Index: chrome/browser/views/infobars/infobars.cc | 
| =================================================================== | 
| --- chrome/browser/views/infobars/infobars.cc	(revision 23543) | 
| +++ chrome/browser/views/infobars/infobars.cc	(working copy) | 
| @@ -500,6 +500,42 @@ | 
| AddChildView(cancel_button_); | 
| } | 
|  | 
| +// GeolocInfoBar, public: ------------------------------------------------------ | 
| +class GeolocInfoBarBackground : public views::Background { | 
| + public: | 
| +  GeolocInfoBarBackground() { | 
| +    gradient_background_.reset( | 
| +        views::Background::CreateSolidBackground(255, 0, 0)); | 
| +  } | 
| + | 
| +  // Overridden from views::View: | 
| +  virtual void Paint(gfx::Canvas* canvas, views::View* view) const { | 
| +    // First paint the gradient background. | 
| +    gradient_background_->Paint(canvas, view); | 
| + | 
| +    // Now paint the separator line. | 
| +    canvas->FillRectInt(ResourceBundle::toolbar_separator_color, 0, | 
| +                        view->height() - kSeparatorLineHeight, view->width(), | 
| +                        kSeparatorLineHeight); | 
| +  } | 
| + | 
| + private: | 
| +  scoped_ptr<views::Background> gradient_background_; | 
| + | 
| +  DISALLOW_COPY_AND_ASSIGN(GeolocInfoBarBackground); | 
| +}; | 
| + | 
| +GeolocInfoBar::GeolocInfoBar(ConfirmInfoBarDelegate* delegate) | 
| +    : ConfirmInfoBar(delegate) { | 
| +  set_background(new GeolocInfoBarBackground); | 
| +} | 
| + | 
| +// GeolocInfoBar, private: ---------------------------------------------------- | 
| + | 
| +GeolocInfoBarDelegate* GeolocInfoBar::GetDelegate() { | 
| +  return delegate()->AsGeolocInfoBarDelegate(); | 
| +} | 
| + | 
| // AlertInfoBarDelegate, InfoBarDelegate overrides: ---------------------------- | 
|  | 
| InfoBar* AlertInfoBarDelegate::CreateInfoBar() { | 
| @@ -517,3 +553,10 @@ | 
| InfoBar* ConfirmInfoBarDelegate::CreateInfoBar() { | 
| return new ConfirmInfoBar(this); | 
| } | 
| + | 
| +// GeolocInfoBarDelegate, InfoBarDelegate overrides: -------------------------- | 
| + | 
| +InfoBar* GeolocInfoBarDelegate::CreateInfoBar() { | 
| +  DCHECK(false); | 
| +  return new GeolocInfoBar(this); | 
| +} | 
|  |