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/utf_string_conversions.h" | 5 #include "base/utf_string_conversions.h" |
6 #include "base/values.h" | 6 #include "base/values.h" |
7 #include "chrome/browser/content_settings/cookie_settings.h" | 7 #include "chrome/browser/content_settings/cookie_settings.h" |
8 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" | 8 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" |
9 #include "chrome/browser/prefs/pref_service.h" | 9 #include "chrome/browser/prefs/pref_service.h" |
10 #include "chrome/browser/prefs/pref_service_syncable.h" | 10 #include "chrome/browser/prefs/pref_service_syncable.h" |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 reverse_autologin_enabled()->Init(prefs::kReverseAutologinEnabled, | 69 reverse_autologin_enabled()->Init(prefs::kReverseAutologinEnabled, |
70 pref_service); | 70 pref_service); |
71 one_click_signin_rejected_email_list()->Init( | 71 one_click_signin_rejected_email_list()->Init( |
72 prefs::kReverseAutologinRejectedEmailList, pref_service); | 72 prefs::kReverseAutologinRejectedEmailList, pref_service); |
73 | 73 |
74 google_services_username_pattern()->Init( | 74 google_services_username_pattern()->Init( |
75 prefs::kGoogleServicesUsernamePattern, local_state); | 75 prefs::kGoogleServicesUsernamePattern, local_state); |
76 | 76 |
77 sync_disabled()->Init(prefs::kSyncManaged, pref_service); | 77 sync_disabled()->Init(prefs::kSyncManaged, pref_service); |
78 | 78 |
| 79 signin_allowed()->Init(prefs::kSigninAllowed, pref_service); |
| 80 |
79 set_signin_names_for_testing(new SigninNamesOnIOThread()); | 81 set_signin_names_for_testing(new SigninNamesOnIOThread()); |
80 SetCookieSettingsForTesting(cookie_settings); | 82 SetCookieSettingsForTesting(cookie_settings); |
81 } | 83 } |
82 | 84 |
83 virtual ~TestProfileIOData() { | 85 virtual ~TestProfileIOData() { |
84 signin_names()->ReleaseResourcesOnUIThread(); | 86 signin_names()->ReleaseResourcesOnUIThread(); |
85 } | 87 } |
86 | 88 |
87 // ProfileIOData overrides: | 89 // ProfileIOData overrides: |
88 virtual void LazyInitializeInternal( | 90 virtual void LazyInitializeInternal( |
(...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
529 CreateSigninManager(false, ""); | 531 CreateSigninManager(false, ""); |
530 | 532 |
531 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 533 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
532 WillRepeatedly(Return(true)); | 534 WillRepeatedly(Return(true)); |
533 | 535 |
534 EnableOneClick(true); | 536 EnableOneClick(true); |
535 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 537 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
536 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 538 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
537 "user@gmail.com", NULL)); | 539 "user@gmail.com", NULL)); |
538 | 540 |
| 541 // Simulate a policy disabling signin by writing kSigninAllowed directly. |
| 542 profile_->GetTestingPrefService()->SetManagedPref( |
| 543 prefs::kSigninAllowed, base::Value::CreateBooleanValue(false)); |
| 544 |
| 545 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 546 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 547 "user@gmail.com", NULL)); |
| 548 |
| 549 // Reset the preference value to true. |
| 550 profile_->GetTestingPrefService()->SetManagedPref( |
| 551 prefs::kSigninAllowed, base::Value::CreateBooleanValue(true)); |
| 552 |
539 // Simulate a policy disabling sync by writing kSyncManaged directly. | 553 // Simulate a policy disabling sync by writing kSyncManaged directly. |
540 profile_->GetTestingPrefService()->SetManagedPref( | 554 profile_->GetTestingPrefService()->SetManagedPref( |
541 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); | 555 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); |
542 | 556 |
543 // Should still offer even if sync is disabled by policy. | 557 // Should still offer even if sync is disabled by policy. |
544 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 558 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
545 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 559 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
546 "user@gmail.com", NULL)); | 560 "user@gmail.com", NULL)); |
547 } | 561 } |
548 | 562 |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
734 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 748 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
735 valid_gaia_url_, "", &request_, io_data.get())); | 749 valid_gaia_url_, "", &request_, io_data.get())); |
736 } | 750 } |
737 | 751 |
738 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadDisabledByPolicy) { | 752 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadDisabledByPolicy) { |
739 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); | 753 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); |
740 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, | 754 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, |
741 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 755 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
742 valid_gaia_url_, "", &request_, io_data.get())); | 756 valid_gaia_url_, "", &request_, io_data.get())); |
743 | 757 |
| 758 // Simulate a policy disabling signin by writing kSigninAllowed directly. |
| 759 // We should not offer to sign in the browser. |
| 760 profile_->GetTestingPrefService()->SetManagedPref( |
| 761 prefs::kSigninAllowed, base::Value::CreateBooleanValue(false)); |
| 762 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, |
| 763 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 764 valid_gaia_url_, "", &request_, io_data.get())); |
| 765 |
| 766 // Reset the preference. |
| 767 profile_->GetTestingPrefService()->SetManagedPref( |
| 768 prefs::kSigninAllowed, base::Value::CreateBooleanValue(true)); |
| 769 |
744 // Simulate a policy disabling sync by writing kSyncManaged directly. | 770 // Simulate a policy disabling sync by writing kSyncManaged directly. |
745 // We should still offer to sign in the browser. | 771 // We should still offer to sign in the browser. |
746 profile_->GetTestingPrefService()->SetManagedPref( | 772 profile_->GetTestingPrefService()->SetManagedPref( |
747 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); | 773 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); |
748 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, | 774 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, |
749 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 775 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
750 valid_gaia_url_, "", &request_, io_data.get())); | 776 valid_gaia_url_, "", &request_, io_data.get())); |
751 } | 777 } |
OLD | NEW |