• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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   virtual ~ManagePasswordsIconView();
23 
24   // BubbleIconView:
25   virtual bool IsBubbleShowing() const OVERRIDE;
26   virtual void OnExecuting(BubbleIconView::ExecuteSource source) OVERRIDE;
27   virtual bool OnMousePressed(const ui::MouseEvent& event) OVERRIDE;
28   virtual bool OnKeyPressed(const ui::KeyEvent& event) OVERRIDE;
29 
30   // views::View:
31   virtual void AboutToRequestFocusFromTabTraversal(bool reverse) OVERRIDE;
32 
33 #if defined(UNIT_TEST)
icon_id()34   int icon_id() const { return icon_id_; }
tooltip_text_id()35   int tooltip_text_id() const { return tooltip_text_id_; }
36 #endif
37 
38  protected:
39   // ManagePasswordsIcon:
40   virtual 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_
48