manage_passwords_icon_view.h revision 010d83a9304c5a91596085d917d248abff47903a
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
14class CommandUpdater;
15class ManagePasswordsUIController;
16
17// View for the password icon in the Omnibox.
18class 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
28#if defined(UNIT_TEST)
29  int icon_id() const { return icon_id_; }
30  int tooltip_text_id() const { return tooltip_text_id_; }
31#endif
32
33 protected:
34  // ManagePasswordsIcon:
35  virtual void UpdateVisibleUI() OVERRIDE;
36
37 private:
38  // The ID of the icon and text resources that are currently displayed.
39  int icon_id_;
40  int tooltip_text_id_;
41
42  DISALLOW_COPY_AND_ASSIGN(ManagePasswordsIconView);
43};
44
45#endif  // CHROME_BROWSER_UI_VIEWS_PASSWORDS_MANAGE_PASSWORDS_ICON_VIEW_H_
46