Home | History | Annotate | Download | only in infobars
      1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_BROWSER_UI_VIEWS_INFOBARS_INFOBAR_CONTAINER_VIEW_H_
      6 #define CHROME_BROWSER_UI_VIEWS_INFOBARS_INFOBAR_CONTAINER_VIEW_H_
      7 
      8 #include "components/infobars/core/infobar_container.h"
      9 #include "ui/views/accessible_pane_view.h"
     10 
     11 // The views-specific implementation of InfoBarContainer.
     12 class InfoBarContainerView : public views::AccessiblePaneView,
     13                              public infobars::InfoBarContainer {
     14  public:
     15   static const char kViewClassName[];
     16 
     17   explicit InfoBarContainerView(Delegate* delegate);
     18   virtual ~InfoBarContainerView();
     19 
     20  private:
     21   // AccessiblePaneView:
     22   virtual gfx::Size GetPreferredSize() const OVERRIDE;
     23   virtual const char* GetClassName() const OVERRIDE;
     24   virtual void Layout() OVERRIDE;
     25   virtual void GetAccessibleState(ui::AXViewState* state) OVERRIDE;
     26 
     27   // InfobarContainer:
     28   virtual void PlatformSpecificAddInfoBar(infobars::InfoBar* infobar,
     29                                           size_t position) OVERRIDE;
     30   virtual void PlatformSpecificRemoveInfoBar(
     31       infobars::InfoBar* infobar) OVERRIDE;
     32 
     33   DISALLOW_COPY_AND_ASSIGN(InfoBarContainerView);
     34 };
     35 
     36 #endif  // CHROME_BROWSER_UI_VIEWS_INFOBARS_INFOBAR_CONTAINER_VIEW_H_
     37