manage_passwords_icon_view.h revision 5f1c94371a64b3196d4be9466099bb892df9b88e
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 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) 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 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