Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / views / passwords / manage_passwords_icon_view.h
1 // Copyright 2013 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_PASSWORDS_MANAGE_PASSWORDS_ICON_VIEW_H_
6 #define CHROME_BROWSER_UI_VIEWS_PASSWORDS_MANAGE_PASSWORDS_ICON_VIEW_H_
7
8 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h"
9 #include "chrome/browser/ui/passwords/manage_passwords_icon.h"
10 #include "chrome/browser/ui/views/location_bar/bubble_icon_view.h"
11 #include "chrome/browser/ui/views/location_bar/location_bar_view.h"
12 #include "ui/views/controls/image_view.h"
13
14 class CommandUpdater;
15 class ManagePasswordsUIController;
16
17 // View for the password icon in the Omnibox.
18 class ManagePasswordsIconView : public ManagePasswordsIcon,
19                                 public BubbleIconView {
20  public:
21   explicit ManagePasswordsIconView(CommandUpdater* updater);
22   ~ManagePasswordsIconView() override;
23
24   // BubbleIconView:
25   bool IsBubbleShowing() const override;
26   void OnExecuting(BubbleIconView::ExecuteSource source) override;
27   bool OnMousePressed(const ui::MouseEvent& event) override;
28   bool OnKeyPressed(const ui::KeyEvent& event) override;
29
30   // views::View:
31   void AboutToRequestFocusFromTabTraversal(bool reverse) override;
32
33 #if defined(UNIT_TEST)
34   int icon_id() const { return icon_id_; }
35   int tooltip_text_id() const { return tooltip_text_id_; }
36 #endif
37
38  protected:
39   // ManagePasswordsIcon:
40   void UpdateVisibleUI() override;
41
42  private:
43
44   DISALLOW_COPY_AND_ASSIGN(ManagePasswordsIconView);
45 };
46
47 #endif  // CHROME_BROWSER_UI_VIEWS_PASSWORDS_MANAGE_PASSWORDS_ICON_VIEW_H_