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

Side by Side Diff: chrome/browser/password_manager/save_password_infobar_delegate.cc

Issue 1313363004: [Password Manager] Extract some methods of SavePasswordInfobarDelegate to separate class. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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
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 #include "chrome/browser/password_manager/save_password_infobar_delegate.h" 5 #include "chrome/browser/password_manager/save_password_infobar_delegate.h"
6 6
7 #include "base/metrics/histogram.h" 7 #include "base/metrics/histogram.h"
8 #include "chrome/browser/infobars/infobar_service.h" 8 #include "chrome/browser/infobars/infobar_service.h"
9 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/sync/profile_sync_service.h" 10 #include "chrome/browser/sync/profile_sync_service.h"
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 } 84 }
85 } 85 }
86 86
87 SavePasswordInfoBarDelegate::SavePasswordInfoBarDelegate( 87 SavePasswordInfoBarDelegate::SavePasswordInfoBarDelegate(
88 content::WebContents* web_contents, 88 content::WebContents* web_contents,
89 scoped_ptr<password_manager::PasswordFormManager> form_to_save, 89 scoped_ptr<password_manager::PasswordFormManager> form_to_save,
90 const std::string& uma_histogram_suffix, 90 const std::string& uma_histogram_suffix,
91 password_manager::CredentialSourceType source_type, 91 password_manager::CredentialSourceType source_type,
92 bool is_smartlock_branding_enabled, 92 bool is_smartlock_branding_enabled,
93 bool should_show_first_run_experience) 93 bool should_show_first_run_experience)
94 : ConfirmInfoBarDelegate(), 94 : PasswordManagerInfoBarDelegate(),
95 form_to_save_(form_to_save.Pass()), 95 form_to_save_(form_to_save.Pass()),
96 infobar_response_(password_manager::metrics_util::NO_RESPONSE), 96 infobar_response_(password_manager::metrics_util::NO_RESPONSE),
97 uma_histogram_suffix_(uma_histogram_suffix), 97 uma_histogram_suffix_(uma_histogram_suffix),
98 source_type_(source_type), 98 source_type_(source_type),
99 should_show_first_run_experience_(should_show_first_run_experience), 99 should_show_first_run_experience_(should_show_first_run_experience),
100 web_contents_(web_contents) { 100 web_contents_(web_contents) {
101 if (!uma_histogram_suffix_.empty()) { 101 if (!uma_histogram_suffix_.empty()) {
102 password_manager::metrics_util::LogUMAHistogramBoolean( 102 password_manager::metrics_util::LogUMAHistogramBoolean(
103 "PasswordManager.SavePasswordPromptDisplayed_" + uma_histogram_suffix_, 103 "PasswordManager.SavePasswordPromptDisplayed_" + uma_histogram_suffix_,
104 true); 104 true);
105 } 105 }
106 message_link_range_ = gfx::Range(); 106 base::string16 message;
107 gfx::Range message_link_range = gfx::Range();
107 GetSavePasswordDialogTitleTextAndLinkRange( 108 GetSavePasswordDialogTitleTextAndLinkRange(
108 web_contents->GetVisibleURL(), form_to_save_->observed_form().origin, 109 web_contents->GetVisibleURL(), form_to_save_->observed_form().origin,
109 is_smartlock_branding_enabled, false, &message_, &message_link_range_); 110 is_smartlock_branding_enabled, false, &message, &message_link_range);
111 SetMessage(message);
112 SetMessageLinkRange(message_link_range);
110 } 113 }
111 114
112 base::string16 SavePasswordInfoBarDelegate::GetFirstRunExperienceMessage() { 115 base::string16 SavePasswordInfoBarDelegate::GetFirstRunExperienceMessage() {
113 return should_show_first_run_experience_ 116 return should_show_first_run_experience_
114 ? l10n_util::GetStringUTF16( 117 ? l10n_util::GetStringUTF16(
115 IDS_PASSWORD_MANAGER_SAVE_PROMPT_FIRST_RUN_EXPERIENCE) 118 IDS_PASSWORD_MANAGER_SAVE_PROMPT_FIRST_RUN_EXPERIENCE)
116 : base::string16(); 119 : base::string16();
117 } 120 }
118 121
119 infobars::InfoBarDelegate::Type
120 SavePasswordInfoBarDelegate::GetInfoBarType() const {
121 return PAGE_ACTION_TYPE;
122 }
123
124 infobars::InfoBarDelegate::InfoBarAutomationType
125 SavePasswordInfoBarDelegate::GetInfoBarAutomationType() const {
126 return PASSWORD_INFOBAR;
127 }
128
129 int SavePasswordInfoBarDelegate::GetIconId() const {
130 return IDR_INFOBAR_SAVE_PASSWORD;
131 }
132
133 bool SavePasswordInfoBarDelegate::ShouldExpire(
134 const NavigationDetails& details) const {
135 return !details.is_redirect && ConfirmInfoBarDelegate::ShouldExpire(details);
136 }
137
138 void SavePasswordInfoBarDelegate::InfoBarDismissed() { 122 void SavePasswordInfoBarDelegate::InfoBarDismissed() {
139 DCHECK(form_to_save_.get()); 123 DCHECK(form_to_save_.get());
140 infobar_response_ = password_manager::metrics_util::INFOBAR_DISMISSED; 124 infobar_response_ = password_manager::metrics_util::INFOBAR_DISMISSED;
141 } 125 }
142 126
143 base::string16 SavePasswordInfoBarDelegate::GetMessageText() const {
144 return message_;
145 }
146
147 base::string16 SavePasswordInfoBarDelegate::GetButtonLabel( 127 base::string16 SavePasswordInfoBarDelegate::GetButtonLabel(
148 InfoBarButton button) const { 128 InfoBarButton button) const {
149 return l10n_util::GetStringUTF16((button == BUTTON_OK) 129 return l10n_util::GetStringUTF16((button == BUTTON_OK)
150 ? IDS_PASSWORD_MANAGER_SAVE_BUTTON 130 ? IDS_PASSWORD_MANAGER_SAVE_BUTTON
151 : GetCancelButtonText(source_type_)); 131 : GetCancelButtonText(source_type_));
152 } 132 }
153 133
154 bool SavePasswordInfoBarDelegate::Accept() { 134 bool SavePasswordInfoBarDelegate::Accept() {
155 DCHECK(form_to_save_.get()); 135 DCHECK(form_to_save_.get());
156 form_to_save_->Save(); 136 form_to_save_->Save();
157 infobar_response_ = password_manager::metrics_util::REMEMBER_PASSWORD; 137 infobar_response_ = password_manager::metrics_util::REMEMBER_PASSWORD;
158 return true; 138 return true;
159 } 139 }
160 140
161 bool SavePasswordInfoBarDelegate::Cancel() { 141 bool SavePasswordInfoBarDelegate::Cancel() {
162 DCHECK(form_to_save_.get()); 142 DCHECK(form_to_save_.get());
163 if (source_type_ == 143 if (source_type_ ==
164 password_manager::CredentialSourceType::CREDENTIAL_SOURCE_API) { 144 password_manager::CredentialSourceType::CREDENTIAL_SOURCE_API) {
165 InfoBarDismissed(); 145 InfoBarDismissed();
166 } else { 146 } else {
167 form_to_save_->PermanentlyBlacklist(); 147 form_to_save_->PermanentlyBlacklist();
168 infobar_response_ = password_manager::metrics_util::NEVER_REMEMBER_PASSWORD; 148 infobar_response_ = password_manager::metrics_util::NEVER_REMEMBER_PASSWORD;
169 } 149 }
170 return true; 150 return true;
171 } 151 }
172
173 bool SavePasswordInfoBarDelegate::LinkClicked(
174 WindowOpenDisposition disposition) {
175 InfoBarService::WebContentsFromInfoBar(infobar())
176 ->OpenURL(content::OpenURLParams(
177 GURL(l10n_util::GetStringUTF16(
178 IDS_PASSWORD_MANAGER_SMART_LOCK_PAGE)),
179 content::Referrer(),
180 (disposition == CURRENT_TAB) ? NEW_FOREGROUND_TAB : disposition,
181 ui::PAGE_TRANSITION_LINK, false));
182 return true;
183 }
OLDNEW
« no previous file with comments | « chrome/browser/password_manager/save_password_infobar_delegate.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698