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 "base/prefs/pref_service.h" | 5 #include "base/prefs/pref_service.h" |
6 #include "base/utf_string_conversions.h" | 6 #include "base/utf_string_conversions.h" |
7 #include "base/values.h" | 7 #include "base/values.h" |
8 #include "chrome/browser/content_settings/cookie_settings.h" | 8 #include "chrome/browser/content_settings/cookie_settings.h" |
9 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" | 9 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" |
10 #include "chrome/browser/prefs/scoped_user_pref_update.h" | 10 #include "chrome/browser/prefs/scoped_user_pref_update.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 reverse_autologin_enabled()->Init(prefs::kReverseAutologinEnabled, | 70 reverse_autologin_enabled()->Init(prefs::kReverseAutologinEnabled, |
71 pref_service); | 71 pref_service); |
72 one_click_signin_rejected_email_list()->Init( | 72 one_click_signin_rejected_email_list()->Init( |
73 prefs::kReverseAutologinRejectedEmailList, pref_service); | 73 prefs::kReverseAutologinRejectedEmailList, pref_service); |
74 | 74 |
75 google_services_username_pattern()->Init( | 75 google_services_username_pattern()->Init( |
76 prefs::kGoogleServicesUsernamePattern, local_state); | 76 prefs::kGoogleServicesUsernamePattern, local_state); |
77 | 77 |
78 sync_disabled()->Init(prefs::kSyncManaged, pref_service); | 78 sync_disabled()->Init(prefs::kSyncManaged, pref_service); |
79 | 79 |
| 80 signin_allowed()->Init(prefs::kSigninAllowed, pref_service); |
| 81 |
80 set_signin_names_for_testing(new SigninNamesOnIOThread()); | 82 set_signin_names_for_testing(new SigninNamesOnIOThread()); |
81 SetCookieSettingsForTesting(cookie_settings); | 83 SetCookieSettingsForTesting(cookie_settings); |
82 } | 84 } |
83 | 85 |
84 virtual ~TestProfileIOData() { | 86 virtual ~TestProfileIOData() { |
85 signin_names()->ReleaseResourcesOnUIThread(); | 87 signin_names()->ReleaseResourcesOnUIThread(); |
86 } | 88 } |
87 | 89 |
88 // ProfileIOData overrides: | 90 // ProfileIOData overrides: |
89 virtual void InitializeInternal( | 91 virtual void InitializeInternal( |
(...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
575 CreateSigninManager(false, ""); | 577 CreateSigninManager(false, ""); |
576 | 578 |
577 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 579 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
578 WillRepeatedly(Return(true)); | 580 WillRepeatedly(Return(true)); |
579 | 581 |
580 EnableOneClick(true); | 582 EnableOneClick(true); |
581 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 583 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
582 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 584 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
583 "user@gmail.com", NULL)); | 585 "user@gmail.com", NULL)); |
584 | 586 |
| 587 // Simulate a policy disabling signin by writing kSigninAllowed directly. |
| 588 profile_->GetTestingPrefService()->SetManagedPref( |
| 589 prefs::kSigninAllowed, base::Value::CreateBooleanValue(false)); |
| 590 |
| 591 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 592 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 593 "user@gmail.com", NULL)); |
| 594 |
| 595 // Reset the preference value to true. |
| 596 profile_->GetTestingPrefService()->SetManagedPref( |
| 597 prefs::kSigninAllowed, base::Value::CreateBooleanValue(true)); |
| 598 |
585 // Simulate a policy disabling sync by writing kSyncManaged directly. | 599 // Simulate a policy disabling sync by writing kSyncManaged directly. |
586 profile_->GetTestingPrefService()->SetManagedPref( | 600 profile_->GetTestingPrefService()->SetManagedPref( |
587 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); | 601 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); |
588 | 602 |
589 // Should still offer even if sync is disabled by policy. | 603 // Should still offer even if sync is disabled by policy. |
590 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 604 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
591 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 605 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
592 "user@gmail.com", NULL)); | 606 "user@gmail.com", NULL)); |
593 } | 607 } |
594 | 608 |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
778 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 792 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
779 valid_gaia_url_, "", &request_, io_data.get())); | 793 valid_gaia_url_, "", &request_, io_data.get())); |
780 } | 794 } |
781 | 795 |
782 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadDisabledByPolicy) { | 796 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadDisabledByPolicy) { |
783 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); | 797 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); |
784 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, | 798 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, |
785 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 799 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
786 valid_gaia_url_, "", &request_, io_data.get())); | 800 valid_gaia_url_, "", &request_, io_data.get())); |
787 | 801 |
| 802 // Simulate a policy disabling signin by writing kSigninAllowed directly. |
| 803 // We should not offer to sign in the browser. |
| 804 profile_->GetTestingPrefService()->SetManagedPref( |
| 805 prefs::kSigninAllowed, base::Value::CreateBooleanValue(false)); |
| 806 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, |
| 807 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 808 valid_gaia_url_, "", &request_, io_data.get())); |
| 809 |
| 810 // Reset the preference. |
| 811 profile_->GetTestingPrefService()->SetManagedPref( |
| 812 prefs::kSigninAllowed, base::Value::CreateBooleanValue(true)); |
| 813 |
788 // Simulate a policy disabling sync by writing kSyncManaged directly. | 814 // Simulate a policy disabling sync by writing kSyncManaged directly. |
789 // We should still offer to sign in the browser. | 815 // We should still offer to sign in the browser. |
790 profile_->GetTestingPrefService()->SetManagedPref( | 816 profile_->GetTestingPrefService()->SetManagedPref( |
791 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); | 817 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); |
792 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, | 818 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, |
793 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 819 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
794 valid_gaia_url_, "", &request_, io_data.get())); | 820 valid_gaia_url_, "", &request_, io_data.get())); |
795 } | 821 } |
OLD | NEW |