app_shell: Add version number in user agent
[chromium-blink-merge.git] / chrome / browser / ui / passwords / manage_passwords_icon.cc
bloba7245d50bb19e1dd35c6069587941d02120e279f
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 "grit/generated_resources.h"
8 #include "grit/theme_resources.h"
10 ManagePasswordsIcon::ManagePasswordsIcon()
11 : icon_id_(0),
12 tooltip_text_id_(0),
13 state_(password_manager::ui::INACTIVE_STATE),
14 active_(false) {
17 ManagePasswordsIcon::~ManagePasswordsIcon() {
20 void ManagePasswordsIcon::SetActive(bool active) {
21 if (active_ == active)
22 return;
23 active_ = active;
24 UpdateIDs();
25 UpdateVisibleUI();
28 void ManagePasswordsIcon::SetState(password_manager::ui::State state) {
29 if (state_ == state)
30 return;
31 state_ = state;
32 UpdateIDs();
33 UpdateVisibleUI();
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) {
39 icon_id_ = 0;
40 tooltip_text_id_ = 0;
41 return;
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;
55 #endif