| OLD | NEW |
| 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/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
| (...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 674 int route_id) { | 674 int route_id) { |
| 675 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); | 675 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); |
| 676 | 676 |
| 677 content::WebContents* web_contents = tab_util::GetWebContentsByID(child_id, | 677 content::WebContents* web_contents = tab_util::GetWebContentsByID(child_id, |
| 678 route_id); | 678 route_id); |
| 679 | 679 |
| 680 // TODO(mathp): The appearance of this infobar should be tested using a | 680 // TODO(mathp): The appearance of this infobar should be tested using a |
| 681 // browser_test. | 681 // browser_test. |
| 682 OneClickSigninHelper* helper = | 682 OneClickSigninHelper* helper = |
| 683 OneClickSigninHelper::FromWebContents(web_contents); | 683 OneClickSigninHelper::FromWebContents(web_contents); |
| 684 if (!helper) |
| 685 return; |
| 686 |
| 684 int error_message_id = 0; | 687 int error_message_id = 0; |
| 685 | 688 |
| 686 CanOfferFor can_offer_for = | 689 CanOfferFor can_offer_for = |
| 687 (auto_accept != AUTO_ACCEPT_EXPLICIT && | 690 (auto_accept != AUTO_ACCEPT_EXPLICIT && |
| 688 helper->auto_accept_ != AUTO_ACCEPT_EXPLICIT) ? | 691 helper->auto_accept_ != AUTO_ACCEPT_EXPLICIT) ? |
| 689 CAN_OFFER_FOR_INTERSTITAL_ONLY : CAN_OFFER_FOR_ALL; | 692 CAN_OFFER_FOR_INTERSTITAL_ONLY : CAN_OFFER_FOR_ALL; |
| 690 | 693 |
| 691 if (!web_contents || !CanOffer(web_contents, can_offer_for, email, | 694 if (!web_contents || !CanOffer(web_contents, can_offer_for, email, |
| 692 &error_message_id)) { | 695 &error_message_id)) { |
| 693 VLOG(1) << "OneClickSigninHelper::ShowInfoBarUIThread: not offering"; | 696 VLOG(1) << "OneClickSigninHelper::ShowInfoBarUIThread: not offering"; |
| 694 if (helper && helper->error_message_.empty() && error_message_id != 0) | 697 if (helper && helper->error_message_.empty() && error_message_id != 0) |
| 695 helper->error_message_ = l10n_util::GetStringUTF8(error_message_id); | 698 helper->error_message_ = l10n_util::GetStringUTF8(error_message_id); |
| 696 | 699 |
| 697 return; | 700 return; |
| 698 } | 701 } |
| 699 | 702 |
| 700 // Save the email in the one-click signin manager. The manager may | 703 // Save the email in the one-click signin manager. The manager may |
| 701 // not exist if the contents is incognito or if the profile is already | 704 // not exist if the contents is incognito or if the profile is already |
| 702 // connected to a Google account. | 705 // connected to a Google account. |
| 703 if (helper) { | 706 if (!session_index.empty()) |
| 704 if (!session_index.empty()) | 707 helper->session_index_ = session_index; |
| 705 helper->session_index_ = session_index; | |
| 706 | 708 |
| 707 if (!email.empty()) | 709 if (!email.empty()) |
| 708 helper->email_ = email; | 710 helper->email_ = email; |
| 709 | 711 |
| 710 if (auto_accept != NO_AUTO_ACCEPT) { | 712 if (auto_accept != NO_AUTO_ACCEPT) { |
| 711 helper->auto_accept_ = auto_accept; | 713 helper->auto_accept_ = auto_accept; |
| 712 helper->source_ = source; | 714 helper->source_ = source; |
| 713 } | |
| 714 } | 715 } |
| 715 } | 716 } |
| 716 | 717 |
| 717 void OneClickSigninHelper::RedirectToNTP() { | 718 void OneClickSigninHelper::RedirectToNTP() { |
| 718 // Redirect to NTP with sign in bubble visible. | 719 // Redirect to NTP with sign in bubble visible. |
| 719 content::WebContents* contents = web_contents(); | 720 content::WebContents* contents = web_contents(); |
| 720 Profile* profile = | 721 Profile* profile = |
| 721 Profile::FromBrowserContext(contents->GetBrowserContext()); | 722 Profile::FromBrowserContext(contents->GetBrowserContext()); |
| 722 PrefService* pref_service = profile->GetPrefs(); | 723 PrefService* pref_service = profile->GetPrefs(); |
| 723 pref_service->SetBoolean(prefs::kSyncPromoShowNTPBubble, true); | 724 pref_service->SetBoolean(prefs::kSyncPromoShowNTPBubble, true); |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 837 break; | 838 break; |
| 838 } | 839 } |
| 839 } | 840 } |
| 840 | 841 |
| 841 RedirectToNTP(); | 842 RedirectToNTP(); |
| 842 } | 843 } |
| 843 | 844 |
| 844 void OneClickSigninHelper::SigninSuccess() { | 845 void OneClickSigninHelper::SigninSuccess() { |
| 845 RedirectToNTP(); | 846 RedirectToNTP(); |
| 846 } | 847 } |
| OLD | NEW |