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