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 image_view()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