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

Side by Side Diff: chrome/browser/ui/sync/one_click_signin_helper.cc

Issue 10830353: Introduce InfoBarTabService API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Respond to review comments, merge to LKGR Created 8 years, 4 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ui/sync/one_click_signin_helper.h" 5 #include "chrome/browser/ui/sync/one_click_signin_helper.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "base/string_split.h" 10 #include "base/string_split.h"
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 new OneClickSigninSyncStarter(browser, session_index, email, password, 146 new OneClickSigninSyncStarter(browser, session_index, email, password,
147 start_mode); 147 start_mode);
148 } 148 }
149 149
150 } // namespace 150 } // namespace
151 151
152 bool OneClickLoginInfoBarDelegate::Accept() { 152 bool OneClickLoginInfoBarDelegate::Accept() {
153 // User has accepted one-click sign-in for this account. Never ask again for 153 // User has accepted one-click sign-in for this account. Never ask again for
154 // this profile. 154 // this profile.
155 DisableOneClickSignIn(); 155 DisableOneClickSignIn();
156 content::WebContents* web_contents = owner()->web_contents(); 156 content::WebContents* web_contents = owner()->GetWebContents();
157 RecordHistogramAction(one_click_signin::HISTOGRAM_ACCEPTED); 157 RecordHistogramAction(one_click_signin::HISTOGRAM_ACCEPTED);
158 browser::FindBrowserWithWebContents(web_contents)->window()-> 158 browser::FindBrowserWithWebContents(web_contents)->window()->
159 ShowOneClickSigninBubble(base::Bind(&StartSync, web_contents, 159 ShowOneClickSigninBubble(base::Bind(&StartSync, web_contents,
160 session_index_, email_, password_)); 160 session_index_, email_, password_));
161 button_pressed_ = true; 161 button_pressed_ = true;
162 return true; 162 return true;
163 } 163 }
164 164
165 bool OneClickLoginInfoBarDelegate::Cancel() { 165 bool OneClickLoginInfoBarDelegate::Cancel() {
166 AddEmailToOneClickRejectedList(email_); 166 AddEmailToOneClickRejectedList(email_);
167 RecordHistogramAction(one_click_signin::HISTOGRAM_REJECTED); 167 RecordHistogramAction(one_click_signin::HISTOGRAM_REJECTED);
168 button_pressed_ = true; 168 button_pressed_ = true;
169 return true; 169 return true;
170 } 170 }
171 171
172 string16 OneClickLoginInfoBarDelegate::GetLinkText() const { 172 string16 OneClickLoginInfoBarDelegate::GetLinkText() const {
173 return l10n_util::GetStringUTF16(IDS_LEARN_MORE); 173 return l10n_util::GetStringUTF16(IDS_LEARN_MORE);
174 } 174 }
175 175
176 bool OneClickLoginInfoBarDelegate::LinkClicked( 176 bool OneClickLoginInfoBarDelegate::LinkClicked(
177 WindowOpenDisposition disposition) { 177 WindowOpenDisposition disposition) {
178 RecordHistogramAction(one_click_signin::HISTOGRAM_LEARN_MORE); 178 RecordHistogramAction(one_click_signin::HISTOGRAM_LEARN_MORE);
179 content::OpenURLParams params( 179 content::OpenURLParams params(
180 GURL(chrome::kChromeSyncLearnMoreURL), content::Referrer(), disposition, 180 GURL(chrome::kChromeSyncLearnMoreURL), content::Referrer(), disposition,
181 content::PAGE_TRANSITION_LINK, false); 181 content::PAGE_TRANSITION_LINK, false);
182 owner()->web_contents()->OpenURL(params); 182 owner()->GetWebContents()->OpenURL(params);
183 return false; 183 return false;
184 } 184 }
185 185
186 186
187 InfoBarDelegate::InfoBarAutomationType 187 InfoBarDelegate::InfoBarAutomationType
188 OneClickLoginInfoBarDelegate::GetInfoBarAutomationType() const { 188 OneClickLoginInfoBarDelegate::GetInfoBarAutomationType() const {
189 return ONE_CLICK_LOGIN_INFOBAR; 189 return ONE_CLICK_LOGIN_INFOBAR;
190 } 190 }
191 191
192 void OneClickLoginInfoBarDelegate::DisableOneClickSignIn() { 192 void OneClickLoginInfoBarDelegate::DisableOneClickSignIn() {
193 PrefService* pref_service = 193 PrefService* pref_service =
194 TabContents::FromWebContents(owner()->web_contents())-> 194 TabContents::FromWebContents(owner()->GetWebContents())->
195 profile()->GetPrefs(); 195 profile()->GetPrefs();
196 pref_service->SetBoolean(prefs::kReverseAutologinEnabled, false); 196 pref_service->SetBoolean(prefs::kReverseAutologinEnabled, false);
197 } 197 }
198 198
199 void OneClickLoginInfoBarDelegate::AddEmailToOneClickRejectedList( 199 void OneClickLoginInfoBarDelegate::AddEmailToOneClickRejectedList(
200 const std::string& email) { 200 const std::string& email) {
201 PrefService* pref_service = 201 PrefService* pref_service =
202 TabContents::FromWebContents(owner()->web_contents())-> 202 TabContents::FromWebContents(owner()->GetWebContents())->
203 profile()->GetPrefs(); 203 profile()->GetPrefs();
204 ListPrefUpdate updater(pref_service, 204 ListPrefUpdate updater(pref_service,
205 prefs::kReverseAutologinRejectedEmailList); 205 prefs::kReverseAutologinRejectedEmailList);
206 updater->AppendIfNotPresent(base::Value::CreateStringValue(email)); 206 updater->AppendIfNotPresent(base::Value::CreateStringValue(email));
207 } 207 }
208 208
209 void OneClickLoginInfoBarDelegate::RecordHistogramAction(int action) { 209 void OneClickLoginInfoBarDelegate::RecordHistogramAction(int action) {
210 UMA_HISTOGRAM_ENUMERATION("AutoLogin.Reverse", action, 210 UMA_HISTOGRAM_ENUMERATION("AutoLogin.Reverse", action,
211 one_click_signin::HISTOGRAM_MAX); 211 one_click_signin::HISTOGRAM_MAX);
212 } 212 }
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 session_index_ = session_index; 378 session_index_ = session_index;
379 email_ = email; 379 email_ = email;
380 } 380 }
381 381
382 void OneClickSigninHelper::SavePassword(const std::string& password) { 382 void OneClickSigninHelper::SavePassword(const std::string& password) {
383 // TODO(rogerta): in the case of a 2-factor or captcha or some other type of 383 // TODO(rogerta): in the case of a 2-factor or captcha or some other type of
384 // challenge, its possible for the user to never complete the signin. 384 // challenge, its possible for the user to never complete the signin.
385 // Should have a way to detect this and clear the password member. 385 // Should have a way to detect this and clear the password member.
386 password_ = password; 386 password_ = password;
387 } 387 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/startup/startup_browser_creator_browsertest.cc ('k') | chrome/browser/ui/views/infobars/confirm_infobar.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698