Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / ui / views / location_bar / keyword_hint_view.h
blob94bdaf9846fcf7d8e33ab555765d94f83b80ec84
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_
8 #include <string>
10 #include "base/compiler_specific.h"
11 #include "ui/gfx/geometry/size.h"
12 #include "ui/views/view.h"
14 class Profile;
16 namespace gfx {
17 class FontList;
20 namespace views {
21 class ImageView;
22 class Label;
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 {
34 public:
35 KeywordHintView(Profile* profile,
36 const gfx::FontList& font_list,
37 SkColor text_color,
38 SkColor background_color);
39 ~KeywordHintView() override;
41 void SetKeyword(const base::string16& keyword);
42 base::string16 keyword() const { return keyword_; }
44 private:
45 // views::View:
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,
53 SkColor text_color,
54 SkColor background_color);
56 Profile* profile_;
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_