page_action_with_badge_view.h revision 5f1c94371a64b3196d4be9466099bb892df9b88e
1// Copyright (c) 2012 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_LOCATION_BAR_PAGE_ACTION_WITH_BADGE_VIEW_H_
6#define CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_PAGE_ACTION_WITH_BADGE_VIEW_H_
7
8#include "base/compiler_specific.h"
9#include "ui/gfx/size.h"
10#include "ui/views/view.h"
11
12class PageActionImageView;
13
14namespace content {
15class WebContents;
16}
17
18// A container for the PageActionImageView plus its badge.
19class PageActionWithBadgeView : public views::View {
20 public:
21  explicit PageActionWithBadgeView(PageActionImageView* image_view);
22
23  PageActionImageView* image_view() { return image_view_; }
24
25  // views::View:
26  virtual void GetAccessibleState(ui::AXViewState* state) OVERRIDE;
27  virtual gfx::Size GetPreferredSize() const OVERRIDE;
28
29  void UpdateVisibility(content::WebContents* contents);
30
31 private:
32  virtual void Layout() OVERRIDE;
33
34  // The button this view contains.
35  PageActionImageView* image_view_;
36
37  DISALLOW_COPY_AND_ASSIGN(PageActionWithBadgeView);
38};
39
40#endif  // CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_PAGE_ACTION_WITH_BADGE_VIEW_H_
41