| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/extensions/extension_service_unittest.h" | 5 #include "chrome/browser/extensions/extension_service_unittest.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 3000 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3011 EXPECT_EQ(0u, registry_->disabled_extensions().size()); | 3011 EXPECT_EQ(0u, registry_->disabled_extensions().size()); |
| 3012 } | 3012 } |
| 3013 #endif // !defined(OS_POSIX) || defined(OS_MACOSX) | 3013 #endif // !defined(OS_POSIX) || defined(OS_MACOSX) |
| 3014 | 3014 |
| 3015 namespace { | 3015 namespace { |
| 3016 | 3016 |
| 3017 bool IsExtension(const Extension* extension) { | 3017 bool IsExtension(const Extension* extension) { |
| 3018 return extension->GetType() == Manifest::TYPE_EXTENSION; | 3018 return extension->GetType() == Manifest::TYPE_EXTENSION; |
| 3019 } | 3019 } |
| 3020 | 3020 |
| 3021 std::set<std::string> StringSet(const std::string& s) { |
| 3022 std::set<std::string> set; |
| 3023 set.insert(s); |
| 3024 return set; |
| 3025 } |
| 3026 |
| 3027 std::set<std::string> StringSet(const std::string& s1, const std::string& s2) { |
| 3028 std::set<std::string> set = StringSet(s1); |
| 3029 set.insert(s2); |
| 3030 return set; |
| 3031 } |
| 3032 |
| 3021 } // namespace | 3033 } // namespace |
| 3022 | 3034 |
| 3023 // Test adding a pending extension. | 3035 // Test adding a pending extension. |
| 3024 TEST_F(ExtensionServiceTest, AddPendingExtensionFromSync) { | 3036 TEST_F(ExtensionServiceTest, AddPendingExtensionFromSync) { |
| 3025 InitializeEmptyExtensionService(); | 3037 InitializeEmptyExtensionService(); |
| 3026 | 3038 |
| 3027 const std::string kFakeId(all_zero); | 3039 const std::string kFakeId(all_zero); |
| 3028 const GURL kFakeUpdateURL("http:://fake.update/url"); | 3040 const GURL kFakeUpdateURL("http:://fake.update/url"); |
| 3029 const bool kFakeInstallSilently(true); | 3041 const bool kFakeInstallSilently(true); |
| 3030 const bool kFakeRemoteInstall(false); | 3042 const bool kFakeRemoteInstall(false); |
| (...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3629 base::RunLoop().RunUntilIdle(); | 3641 base::RunLoop().RunUntilIdle(); |
| 3630 | 3642 |
| 3631 // good0 re-enabled, other remain as they were. | 3643 // good0 re-enabled, other remain as they were. |
| 3632 EXPECT_TRUE(enabled_extensions.Contains(good0)); | 3644 EXPECT_TRUE(enabled_extensions.Contains(good0)); |
| 3633 EXPECT_FALSE(disabled_extensions.Contains(good0)); | 3645 EXPECT_FALSE(disabled_extensions.Contains(good0)); |
| 3634 EXPECT_FALSE(enabled_extensions.Contains(good1)); | 3646 EXPECT_FALSE(enabled_extensions.Contains(good1)); |
| 3635 EXPECT_TRUE(disabled_extensions.Contains(good1)); | 3647 EXPECT_TRUE(disabled_extensions.Contains(good1)); |
| 3636 EXPECT_TRUE(enabled_extensions.Contains(good2)); | 3648 EXPECT_TRUE(enabled_extensions.Contains(good2)); |
| 3637 EXPECT_FALSE(disabled_extensions.Contains(good2)); | 3649 EXPECT_FALSE(disabled_extensions.Contains(good2)); |
| 3638 } | 3650 } |
| 3651 |
| 3652 // Tests that blacklisted extensions cannot be reloaded, both those loaded |
| 3653 // before and after extension service startup. |
| 3654 TEST_F(ExtensionServiceTest, ReloadBlacklistedExtension) { |
| 3655 extensions::TestBlacklist test_blacklist; |
| 3656 |
| 3657 InitializeGoodInstalledExtensionService(); |
| 3658 test_blacklist.Attach(service_->blacklist_); |
| 3659 |
| 3660 test_blacklist.SetBlacklistState( |
| 3661 good1, extensions::BLACKLISTED_MALWARE, false); |
| 3662 service_->Init(); |
| 3663 test_blacklist.SetBlacklistState( |
| 3664 good2, extensions::BLACKLISTED_MALWARE, false); |
| 3665 base::RunLoop().RunUntilIdle(); |
| 3666 |
| 3667 EXPECT_EQ(StringSet(good0), registry_->enabled_extensions().GetIDs()); |
| 3668 EXPECT_EQ(StringSet(good1, good2), |
| 3669 registry_->blacklisted_extensions().GetIDs()); |
| 3670 |
| 3671 service_->ReloadExtension(good1); |
| 3672 service_->ReloadExtension(good2); |
| 3673 base::RunLoop().RunUntilIdle(); |
| 3674 |
| 3675 EXPECT_EQ(StringSet(good0), registry_->enabled_extensions().GetIDs()); |
| 3676 EXPECT_EQ(StringSet(good1, good2), |
| 3677 registry_->blacklisted_extensions().GetIDs()); |
| 3678 } |
| 3679 |
| 3639 #endif // defined(ENABLE_BLACKLIST_TESTS) | 3680 #endif // defined(ENABLE_BLACKLIST_TESTS) |
| 3640 | 3681 |
| 3641 // Will not install extension blacklisted by policy. | 3682 // Will not install extension blacklisted by policy. |
| 3642 TEST_F(ExtensionServiceTest, BlacklistedByPolicyWillNotInstall) { | 3683 TEST_F(ExtensionServiceTest, BlacklistedByPolicyWillNotInstall) { |
| 3643 InitializeEmptyExtensionService(); | 3684 InitializeEmptyExtensionService(); |
| 3644 | 3685 |
| 3645 // Blacklist everything. | 3686 // Blacklist everything. |
| 3646 { | 3687 { |
| 3647 ListPrefUpdate update(profile_->GetPrefs(), | 3688 ListPrefUpdate update(profile_->GetPrefs(), |
| 3648 extensions::pref_names::kInstallDenyList); | 3689 extensions::pref_names::kInstallDenyList); |
| (...skipping 3318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6967 | 7008 |
| 6968 service_->Observe(chrome::NOTIFICATION_PROFILE_DESTRUCTION_STARTED, | 7009 service_->Observe(chrome::NOTIFICATION_PROFILE_DESTRUCTION_STARTED, |
| 6969 content::Source<Profile>(profile_.get()), | 7010 content::Source<Profile>(profile_.get()), |
| 6970 content::NotificationService::NoDetails()); | 7011 content::NotificationService::NoDetails()); |
| 6971 EXPECT_EQ(UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN, unloaded_reason_); | 7012 EXPECT_EQ(UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN, unloaded_reason_); |
| 6972 EXPECT_EQ(0u, registry_->enabled_extensions().size()); | 7013 EXPECT_EQ(0u, registry_->enabled_extensions().size()); |
| 6973 EXPECT_EQ(0u, registry_->disabled_extensions().size()); | 7014 EXPECT_EQ(0u, registry_->disabled_extensions().size()); |
| 6974 EXPECT_EQ(0u, registry_->terminated_extensions().size()); | 7015 EXPECT_EQ(0u, registry_->terminated_extensions().size()); |
| 6975 EXPECT_EQ(0u, registry_->blacklisted_extensions().size()); | 7016 EXPECT_EQ(0u, registry_->blacklisted_extensions().size()); |
| 6976 } | 7017 } |
| OLD | NEW |