| 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 |