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.
5 #ifndef CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_KEYWORD_HINT_VIEW_H_
6 #define CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_KEYWORD_HINT_VIEW_H_
10 #include "base/compiler_specific.h"
11 #include "ui/gfx/geometry/size.h"
12 #include "ui/views/view.h"
25 // KeywordHintView is used by the location bar view to display a hint to the
26 // user when the selected url has a corresponding keyword.
28 // Internally KeywordHintView uses two labels to render the text, and draws
29 // the tab image itself.
31 // NOTE: This should really be called LocationBarKeywordHintView, but I
32 // couldn't bring myself to use such a long name.
33 class KeywordHintView
: public views::View
{
35 KeywordHintView(Profile
* profile
,
36 const gfx::FontList
& font_list
,
38 SkColor background_color
);
39 ~KeywordHintView() override
;
41 void SetKeyword(const base::string16
& keyword
);
42 base::string16
keyword() const { return keyword_
; }
46 gfx::Size
GetPreferredSize() const override
;
47 // The minimum size is just big enough to show the tab.
48 gfx::Size
GetMinimumSize() const override
;
49 void Layout() override
;
50 const char* GetClassName() const override
;
52 views::Label
* CreateLabel(const gfx::FontList
& font_list
,
54 SkColor background_color
);
57 views::Label
* leading_label_
;
58 views::ImageView
* tab_image_
;
59 views::Label
* trailing_label_
;
60 base::string16 keyword_
;
62 DISALLOW_COPY_AND_ASSIGN(KeywordHintView
);
65 #endif // CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_KEYWORD_HINT_VIEW_H_