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
3 // found in the LICENSE file.
5 #include "chrome/browser/ui/passwords/manage_passwords_icon.h"
7 #include "chrome/grit/generated_resources.h"
8 #include "grit/theme_resources.h"
10 ManagePasswordsIcon::ManagePasswordsIcon()
13 state_(password_manager::ui::INACTIVE_STATE),
17 ManagePasswordsIcon::~ManagePasswordsIcon() {
20 void ManagePasswordsIcon::SetActive(bool active) {
21 if (active_ == active)
28 void ManagePasswordsIcon::SetState(password_manager::ui::State state) {
36 void ManagePasswordsIcon::UpdateIDs() {
37 // If the icon is inactive: clear out its image and tooltip and exit early.
38 if (state() == password_manager::ui::INACTIVE_STATE) {
44 // Otherwise, start with the correct values for MANAGE_STATE, and adjust
45 // things accordingly if we're either in BLACKLIST_STATE or PENDING_STATE.
46 // TODO(dconnelly): Figure out how to share the resources with Android.
47 #if !defined(OS_ANDROID)
48 icon_id_ = active() ? IDR_SAVE_PASSWORD_ACTIVE : IDR_SAVE_PASSWORD_INACTIVE;
49 tooltip_text_id_ = IDS_PASSWORD_MANAGER_TOOLTIP_MANAGE;
50 if (state() == password_manager::ui::BLACKLIST_STATE)
51 icon_id_ = active() ? IDR_SAVE_PASSWORD_DISABLED_ACTIVE
52 : IDR_SAVE_PASSWORD_DISABLED_INACTIVE;
53 else if (password_manager::ui::IsPendingState(state()))
54 tooltip_text_id_ = IDS_PASSWORD_MANAGER_TOOLTIP_SAVE;