infobar_container_view.h revision 7dbb3d5cf0c15f500944d211057644d6a2f37371
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 "chrome/browser/infobars/infobar_container.h"
9#include "ui/views/accessible_pane_view.h"
10
11// The views-specific implementation of InfoBarContainer.
12class InfoBarContainerView : public views::AccessiblePaneView,
13                             public 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() OVERRIDE;
23  virtual const char* GetClassName() const OVERRIDE;
24  virtual void Layout() OVERRIDE;
25  virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE;
26
27  // InfobarContainer:
28  virtual void PlatformSpecificAddInfoBar(InfoBar* infobar,
29                                          size_t position) OVERRIDE;
30  virtual void PlatformSpecificRemoveInfoBar(InfoBar* infobar) OVERRIDE;
31
32  DISALLOW_COPY_AND_ASSIGN(InfoBarContainerView);
33};
34
35#endif  // CHROME_BROWSER_UI_VIEWS_INFOBARS_INFOBAR_CONTAINER_VIEW_H_
36