| 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.h" | 5 #include "chrome/browser/extensions/extension_service.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 3000 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3011 | 3011 |
| 3012 // Use AddExtensionImpl() as AddFrom*() would balk. | 3012 // Use AddExtensionImpl() as AddFrom*() would balk. |
| 3013 service()->pending_extension_manager()->AddExtensionImpl( | 3013 service()->pending_extension_manager()->AddExtensionImpl( |
| 3014 good->id(), | 3014 good->id(), |
| 3015 std::string(), | 3015 std::string(), |
| 3016 extensions::ManifestURL::GetUpdateURL(good), | 3016 extensions::ManifestURL::GetUpdateURL(good), |
| 3017 Version(), | 3017 Version(), |
| 3018 &IsExtension, | 3018 &IsExtension, |
| 3019 kGoodIsFromSync, | 3019 kGoodIsFromSync, |
| 3020 Manifest::INTERNAL, | 3020 Manifest::INTERNAL, |
| 3021 Extension::NO_FLAGS, |
| 3021 false, | 3022 false, |
| 3022 kGoodRemoteInstall); | 3023 kGoodRemoteInstall); |
| 3023 UpdateExtension(good->id(), path, ENABLED); | 3024 UpdateExtension(good->id(), path, ENABLED); |
| 3024 | 3025 |
| 3025 EXPECT_FALSE(service()->pending_extension_manager()->IsIdPending(kGoodId)); | 3026 EXPECT_FALSE(service()->pending_extension_manager()->IsIdPending(kGoodId)); |
| 3026 } | 3027 } |
| 3027 | 3028 |
| 3028 #if defined(ENABLE_BLACKLIST_TESTS) | 3029 #if defined(ENABLE_BLACKLIST_TESTS) |
| 3029 // Tests blacklisting then unblacklisting extensions after the service has been | 3030 // Tests blacklisting then unblacklisting extensions after the service has been |
| 3030 // initialized. | 3031 // initialized. |
| (...skipping 1143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4174 observer.Wait(); | 4175 observer.Wait(); |
| 4175 | 4176 |
| 4176 ASSERT_EQ(1u, registry()->enabled_extensions().size()); | 4177 ASSERT_EQ(1u, registry()->enabled_extensions().size()); |
| 4177 EXPECT_TRUE(service()->GetExtensionById(good_crx, false)); | 4178 EXPECT_TRUE(service()->GetExtensionById(good_crx, false)); |
| 4178 const Extension* extension = service()->GetExtensionById(good_crx, false); | 4179 const Extension* extension = service()->GetExtensionById(good_crx, false); |
| 4179 EXPECT_TRUE(extension->from_webstore()); | 4180 EXPECT_TRUE(extension->from_webstore()); |
| 4180 EXPECT_TRUE(extension->was_installed_by_default()); | 4181 EXPECT_TRUE(extension->was_installed_by_default()); |
| 4181 } | 4182 } |
| 4182 #endif | 4183 #endif |
| 4183 | 4184 |
| 4185 TEST_F(ExtensionServiceTest, UpdatingPendingExternalExtensionWithFlags) { |
| 4186 // Regression test for crbug.com/627522 |
| 4187 const char kPrefFromBookmark[] = "from_bookmark"; |
| 4188 |
| 4189 InitializeEmptyExtensionService(); |
| 4190 |
| 4191 base::FilePath path = data_dir().AppendASCII("good.crx"); |
| 4192 service()->set_extensions_enabled(true); |
| 4193 |
| 4194 // Register and install an external extension. |
| 4195 std::unique_ptr<Version> version(new Version("1.0.0.0")); |
| 4196 content::WindowedNotificationObserver observer( |
| 4197 extensions::NOTIFICATION_CRX_INSTALLER_DONE, |
| 4198 content::NotificationService::AllSources()); |
| 4199 std::unique_ptr<ExternalInstallInfoFile> info(new ExternalInstallInfoFile( |
| 4200 good_crx, std::move(version), path, Manifest::EXTERNAL_PREF, |
| 4201 Extension::FROM_BOOKMARK, false /* mark_acknowledged */, |
| 4202 false /* install_immediately */)); |
| 4203 ASSERT_TRUE(service()->OnExternalExtensionFileFound(*info)); |
| 4204 EXPECT_TRUE(service()->pending_extension_manager()->IsIdPending(good_crx)); |
| 4205 |
| 4206 // Upgrade to version 2.0, the flag should be preserved. |
| 4207 path = data_dir().AppendASCII("good2.crx"); |
| 4208 UpdateExtension(good_crx, path, ENABLED); |
| 4209 ASSERT_TRUE(ValidateBooleanPref(good_crx, kPrefFromBookmark, true)); |
| 4210 const Extension* extension = service()->GetExtensionById(good_crx, false); |
| 4211 ASSERT_TRUE(extension); |
| 4212 ASSERT_TRUE(extension->from_bookmark()); |
| 4213 } |
| 4214 |
| 4184 // Tests disabling extensions | 4215 // Tests disabling extensions |
| 4185 TEST_F(ExtensionServiceTest, DisableExtension) { | 4216 TEST_F(ExtensionServiceTest, DisableExtension) { |
| 4186 InitializeEmptyExtensionService(); | 4217 InitializeEmptyExtensionService(); |
| 4187 | 4218 |
| 4188 InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW); | 4219 InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW); |
| 4189 EXPECT_TRUE(service()->GetExtensionById(good_crx, true)); | 4220 EXPECT_TRUE(service()->GetExtensionById(good_crx, true)); |
| 4190 EXPECT_TRUE(service()->GetExtensionById(good_crx, false)); | 4221 EXPECT_TRUE(service()->GetExtensionById(good_crx, false)); |
| 4191 | 4222 |
| 4192 EXPECT_EQ(1u, registry()->enabled_extensions().size()); | 4223 EXPECT_EQ(1u, registry()->enabled_extensions().size()); |
| 4193 EXPECT_EQ(0u, registry()->disabled_extensions().size()); | 4224 EXPECT_EQ(0u, registry()->disabled_extensions().size()); |
| (...skipping 2642 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6836 | 6867 |
| 6837 service()->Observe(chrome::NOTIFICATION_PROFILE_DESTRUCTION_STARTED, | 6868 service()->Observe(chrome::NOTIFICATION_PROFILE_DESTRUCTION_STARTED, |
| 6838 content::Source<Profile>(profile()), | 6869 content::Source<Profile>(profile()), |
| 6839 content::NotificationService::NoDetails()); | 6870 content::NotificationService::NoDetails()); |
| 6840 EXPECT_EQ(UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN, unloaded_reason_); | 6871 EXPECT_EQ(UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN, unloaded_reason_); |
| 6841 EXPECT_EQ(0u, registry()->enabled_extensions().size()); | 6872 EXPECT_EQ(0u, registry()->enabled_extensions().size()); |
| 6842 EXPECT_EQ(0u, registry()->disabled_extensions().size()); | 6873 EXPECT_EQ(0u, registry()->disabled_extensions().size()); |
| 6843 EXPECT_EQ(0u, registry()->terminated_extensions().size()); | 6874 EXPECT_EQ(0u, registry()->terminated_extensions().size()); |
| 6844 EXPECT_EQ(0u, registry()->blacklisted_extensions().size()); | 6875 EXPECT_EQ(0u, registry()->blacklisted_extensions().size()); |
| 6845 } | 6876 } |
| OLD | NEW |