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.
5 #ifndef CHROME_BROWSER_UI_VIEWS_PASSWORDS_MANAGE_PASSWORDS_ICON_VIEW_H_
6 #define CHROME_BROWSER_UI_VIEWS_PASSWORDS_MANAGE_PASSWORDS_ICON_VIEW_H_
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"
15 class ManagePasswordsUIController
;
17 // View for the password icon in the Omnibox.
18 class ManagePasswordsIconView
: public ManagePasswordsIcon
,
19 public BubbleIconView
{
21 explicit ManagePasswordsIconView(CommandUpdater
* updater
);
22 ~ManagePasswordsIconView() override
;
25 void OnExecuting(BubbleIconView::ExecuteSource source
) override
;
26 bool OnMousePressed(const ui::MouseEvent
& event
) override
;
27 bool OnKeyPressed(const ui::KeyEvent
& event
) override
;
30 void AboutToRequestFocusFromTabTraversal(bool reverse
) override
;
32 #if defined(UNIT_TEST)
33 int icon_id() const { return icon_id_
; }
34 int tooltip_text_id() const { return tooltip_text_id_
; }
38 // ManagePasswordsIcon:
39 void UpdateVisibleUI() override
;
40 void OnChangingState() override
;
43 views::BubbleDelegateView
* GetBubble() const override
;
47 DISALLOW_COPY_AND_ASSIGN(ManagePasswordsIconView
);
50 #endif // CHROME_BROWSER_UI_VIEWS_PASSWORDS_MANAGE_PASSWORDS_ICON_VIEW_H_