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/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_; }
44 gfx::Size GetPreferredSize() const override;
45 // The minimum size is just big enough to show the tab.
46 gfx::Size GetMinimumSize() const override;
47 void Layout() override;
50 views::Label* CreateLabel(const gfx::FontList& font_list,
52 SkColor background_color);
55 views::Label* leading_label_;
56 views::ImageView* tab_image_;
57 views::Label* trailing_label_;
58 base::string16 keyword_;
60 DISALLOW_COPY_AND_ASSIGN(KeywordHintView);
63 #endif // CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_KEYWORD_HINT_VIEW_H_