Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(330)

Side by Side Diff: chrome/browser/ui/passwords/manage_passwords_icon.h

Issue 419263002: Add ManagePasswordsDecoration and unit tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_UI_PASSWORDS_MANAGE_PASSWORDS_ICON_H_ 5 #ifndef CHROME_BROWSER_UI_PASSWORDS_MANAGE_PASSWORDS_ICON_H_
6 #define CHROME_BROWSER_UI_PASSWORDS_MANAGE_PASSWORDS_ICON_H_ 6 #define CHROME_BROWSER_UI_PASSWORDS_MANAGE_PASSWORDS_ICON_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "components/password_manager/core/common/password_manager_ui.h" 9 #include "components/password_manager/core/common/password_manager_ui.h"
10 10
11 // Abstract base class for platform-specific password management icon views. 11 // Abstract base class for platform-specific password management icon views.
12 class ManagePasswordsIcon { 12 class ManagePasswordsIcon {
13 public: 13 public:
14 // Get/set the icon's state. Implementations of this class must implement 14 // Get/set the icon's state. Implementations of this class must implement
15 // SetStateInternal to do reasonable platform-specific things to represent 15 // SetStateInternal to do reasonable platform-specific things to represent
16 // the icon's state to the user. 16 // the icon's state to the user.
17 void SetState(password_manager::ui::State state); 17 void SetState(password_manager::ui::State state);
18 password_manager::ui::State state() const { return state_; } 18 password_manager::ui::State state() const { return state_; }
19 19
20 void SetActive(bool active); 20 void SetActive(bool active);
21 bool active() const { return active_; } 21 bool active() const { return active_; }
22 22
23 protected: 23 protected:
24 // The ID of the icon and text resources that are currently displayed.
25 int icon_id_;
26 int tooltip_text_id_;
27
24 ManagePasswordsIcon(); 28 ManagePasswordsIcon();
25 ~ManagePasswordsIcon(); 29 ~ManagePasswordsIcon();
26 30
27 // Called from SetState() iff the icon's state has changed in order to do 31 // Called from SetState() iff the icon's state has changed in order to do
28 // whatever platform-specific UI work is necessary given the new state. 32 // whatever platform-specific UI work is necessary given the new state.
29 virtual void UpdateVisibleUI() = 0; 33 virtual void UpdateVisibleUI() = 0;
30 34
31 private: 35 private:
36 // Updates the resource IDs in response to state changes.
37 void UpdateIDs();
38
32 password_manager::ui::State state_; 39 password_manager::ui::State state_;
33 bool active_; 40 bool active_;
34 41
35 DISALLOW_COPY_AND_ASSIGN(ManagePasswordsIcon); 42 DISALLOW_COPY_AND_ASSIGN(ManagePasswordsIcon);
36 }; 43 };
37 44
38 #endif // CHROME_BROWSER_UI_PASSWORDS_MANAGE_PASSWORDS_ICON_H_ 45 #endif // CHROME_BROWSER_UI_PASSWORDS_MANAGE_PASSWORDS_ICON_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698