Home | History | Annotate | Download | only in passwords
      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)
     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