Home | History | Annotate | Download | only in location_bar
      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 
     12 class PageActionImageView;
     13 
     14 namespace content {
     15 class WebContents;
     16 }
     17 
     18 // A container for the PageActionImageView plus its badge.
     19 class 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