Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(634)

Side by Side Diff: chrome/browser/extensions/extension_service_unittest.cc

Issue 2839373003: struct UnloadedExtensionInfo -> enum UnloadedExtensionInfoReason (Closed)
Patch Set: Rebase Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 using extensions::ExternalInstallError; 175 using extensions::ExternalInstallError;
176 using extensions::ExternalInstallInfoFile; 176 using extensions::ExternalInstallInfoFile;
177 using extensions::ExternalInstallInfoUpdateUrl; 177 using extensions::ExternalInstallInfoUpdateUrl;
178 using extensions::ExternalProviderInterface; 178 using extensions::ExternalProviderInterface;
179 using extensions::FakeSafeBrowsingDatabaseManager; 179 using extensions::FakeSafeBrowsingDatabaseManager;
180 using extensions::FeatureSwitch; 180 using extensions::FeatureSwitch;
181 using extensions::Manifest; 181 using extensions::Manifest;
182 using extensions::MockExternalProvider; 182 using extensions::MockExternalProvider;
183 using extensions::PermissionSet; 183 using extensions::PermissionSet;
184 using extensions::TestExtensionSystem; 184 using extensions::TestExtensionSystem;
185 using extensions::UnloadedExtensionInfo; 185 using extensions::UnloadedExtensionReason;
186 using extensions::URLPatternSet; 186 using extensions::URLPatternSet;
187 187
188 namespace keys = extensions::manifest_keys; 188 namespace keys = extensions::manifest_keys;
189 189
190 namespace { 190 namespace {
191 191
192 // Extension ids used during testing. 192 // Extension ids used during testing.
193 const char good0[] = "behllobkkfkfnphdnhnkndlbkcpglgmj"; 193 const char good0[] = "behllobkkfkfnphdnhnkndlbkcpglgmj";
194 const char good1[] = "hpiknbiabeeppbpihjehijgoemciehgk"; 194 const char good1[] = "hpiknbiabeeppbpihjehijgoemciehgk";
195 const char good2[] = "bjafgdebaacbbbecmhlhpofkepfkgcpa"; 195 const char good2[] = "bjafgdebaacbbbecmhlhpofkepfkgcpa";
(...skipping 4214 matching lines...) Expand 10 before | Expand all | Expand 10 after
4410 EXPECT_EQ(1u, registry()->enabled_extensions().size()); 4410 EXPECT_EQ(1u, registry()->enabled_extensions().size());
4411 EXPECT_EQ(0u, registry()->disabled_extensions().size()); 4411 EXPECT_EQ(0u, registry()->disabled_extensions().size());
4412 } 4412 }
4413 4413
4414 TEST_F(ExtensionServiceTest, UninstallExtension) { 4414 TEST_F(ExtensionServiceTest, UninstallExtension) {
4415 InitializeEmptyExtensionService(); 4415 InitializeEmptyExtensionService();
4416 InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW); 4416 InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW);
4417 EXPECT_EQ(1u, registry()->enabled_extensions().size()); 4417 EXPECT_EQ(1u, registry()->enabled_extensions().size());
4418 UninstallExtension(good_crx, false); 4418 UninstallExtension(good_crx, false);
4419 EXPECT_EQ(0u, registry()->enabled_extensions().size()); 4419 EXPECT_EQ(0u, registry()->enabled_extensions().size());
4420 EXPECT_EQ(UnloadedExtensionInfo::REASON_UNINSTALL, unloaded_reason_); 4420 EXPECT_EQ(UnloadedExtensionReason::UNINSTALL, unloaded_reason_);
4421 } 4421 }
4422 4422
4423 TEST_F(ExtensionServiceTest, UninstallTerminatedExtension) { 4423 TEST_F(ExtensionServiceTest, UninstallTerminatedExtension) {
4424 InitializeEmptyExtensionService(); 4424 InitializeEmptyExtensionService();
4425 InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW); 4425 InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW);
4426 TerminateExtension(good_crx); 4426 TerminateExtension(good_crx);
4427 UninstallExtension(good_crx, false); 4427 UninstallExtension(good_crx, false);
4428 EXPECT_EQ(UnloadedExtensionInfo::REASON_TERMINATE, unloaded_reason_); 4428 EXPECT_EQ(UnloadedExtensionReason::TERMINATE, unloaded_reason_);
4429 } 4429 }
4430 4430
4431 // Tests the uninstaller helper. 4431 // Tests the uninstaller helper.
4432 TEST_F(ExtensionServiceTest, UninstallExtensionHelper) { 4432 TEST_F(ExtensionServiceTest, UninstallExtensionHelper) {
4433 InitializeEmptyExtensionService(); 4433 InitializeEmptyExtensionService();
4434 InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW); 4434 InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW);
4435 UninstallExtension(good_crx, true); 4435 UninstallExtension(good_crx, true);
4436 EXPECT_EQ(UnloadedExtensionInfo::REASON_UNINSTALL, unloaded_reason_); 4436 EXPECT_EQ(UnloadedExtensionReason::UNINSTALL, unloaded_reason_);
4437 } 4437 }
4438 4438
4439 TEST_F(ExtensionServiceTest, UninstallExtensionHelperTerminated) { 4439 TEST_F(ExtensionServiceTest, UninstallExtensionHelperTerminated) {
4440 InitializeEmptyExtensionService(); 4440 InitializeEmptyExtensionService();
4441 InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW); 4441 InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW);
4442 TerminateExtension(good_crx); 4442 TerminateExtension(good_crx);
4443 UninstallExtension(good_crx, true); 4443 UninstallExtension(good_crx, true);
4444 EXPECT_EQ(UnloadedExtensionInfo::REASON_TERMINATE, unloaded_reason_); 4444 EXPECT_EQ(UnloadedExtensionReason::TERMINATE, unloaded_reason_);
4445 } 4445 }
4446 4446
4447 // An extension disabled because of unsupported requirements should re-enabled 4447 // An extension disabled because of unsupported requirements should re-enabled
4448 // if updated to a version with supported requirements as long as there are no 4448 // if updated to a version with supported requirements as long as there are no
4449 // other disable reasons. 4449 // other disable reasons.
4450 TEST_F(ExtensionServiceTest, UpgradingRequirementsEnabled) { 4450 TEST_F(ExtensionServiceTest, UpgradingRequirementsEnabled) {
4451 InitializeEmptyExtensionService(); 4451 InitializeEmptyExtensionService();
4452 content::GpuDataManager::GetInstance()->BlacklistWebGLForTesting(); 4452 content::GpuDataManager::GetInstance()->BlacklistWebGLForTesting();
4453 4453
4454 base::FilePath path = data_dir().AppendASCII("requirements"); 4454 base::FilePath path = data_dir().AppendASCII("requirements");
(...skipping 2404 matching lines...) Expand 10 before | Expand all | Expand 10 after
6859 id, extensions::UNINSTALL_REASON_USER_INITIATED, 6859 id, extensions::UNINSTALL_REASON_USER_INITIATED,
6860 base::Bind(&base::DoNothing), nullptr)); 6860 base::Bind(&base::DoNothing), nullptr));
6861 EXPECT_EQ(nullptr, registry()->GetInstalledExtension(id)); 6861 EXPECT_EQ(nullptr, registry()->GetInstalledExtension(id));
6862 } 6862 }
6863 6863
6864 // Tests a profile being destroyed correctly disables extensions. 6864 // Tests a profile being destroyed correctly disables extensions.
6865 TEST_F(ExtensionServiceTest, DestroyingProfileClearsExtensions) { 6865 TEST_F(ExtensionServiceTest, DestroyingProfileClearsExtensions) {
6866 InitializeEmptyExtensionService(); 6866 InitializeEmptyExtensionService();
6867 6867
6868 InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW); 6868 InstallCRX(data_dir().AppendASCII("good.crx"), INSTALL_NEW);
6869 EXPECT_NE(UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN, unloaded_reason_); 6869 EXPECT_NE(UnloadedExtensionReason::PROFILE_SHUTDOWN, unloaded_reason_);
6870 EXPECT_EQ(1u, registry()->enabled_extensions().size()); 6870 EXPECT_EQ(1u, registry()->enabled_extensions().size());
6871 EXPECT_EQ(0u, registry()->disabled_extensions().size()); 6871 EXPECT_EQ(0u, registry()->disabled_extensions().size());
6872 EXPECT_EQ(0u, registry()->terminated_extensions().size()); 6872 EXPECT_EQ(0u, registry()->terminated_extensions().size());
6873 EXPECT_EQ(0u, registry()->blacklisted_extensions().size()); 6873 EXPECT_EQ(0u, registry()->blacklisted_extensions().size());
6874 6874
6875 service()->Observe(chrome::NOTIFICATION_PROFILE_DESTRUCTION_STARTED, 6875 service()->Observe(chrome::NOTIFICATION_PROFILE_DESTRUCTION_STARTED,
6876 content::Source<Profile>(profile()), 6876 content::Source<Profile>(profile()),
6877 content::NotificationService::NoDetails()); 6877 content::NotificationService::NoDetails());
6878 EXPECT_EQ(UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN, unloaded_reason_); 6878 EXPECT_EQ(UnloadedExtensionReason::PROFILE_SHUTDOWN, unloaded_reason_);
6879 EXPECT_EQ(0u, registry()->enabled_extensions().size()); 6879 EXPECT_EQ(0u, registry()->enabled_extensions().size());
6880 EXPECT_EQ(0u, registry()->disabled_extensions().size()); 6880 EXPECT_EQ(0u, registry()->disabled_extensions().size());
6881 EXPECT_EQ(0u, registry()->terminated_extensions().size()); 6881 EXPECT_EQ(0u, registry()->terminated_extensions().size());
6882 EXPECT_EQ(0u, registry()->blacklisted_extensions().size()); 6882 EXPECT_EQ(0u, registry()->blacklisted_extensions().size());
6883 } 6883 }
6884 6884
6885 // Test that updating a corrupt extension removes the DISABLE_CORRUPTED disable 6885 // Test that updating a corrupt extension removes the DISABLE_CORRUPTED disable
6886 // reason. 6886 // reason.
6887 TEST_F(ExtensionServiceTest, CorruptExtensionUpdate) { 6887 TEST_F(ExtensionServiceTest, CorruptExtensionUpdate) {
6888 InitializeEmptyExtensionService(); 6888 InitializeEmptyExtensionService();
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
6958 shared_module->manifest()->type()); 6958 shared_module->manifest()->type());
6959 EXPECT_TRUE(registry()->enabled_extensions().Contains(kExtensionId)); 6959 EXPECT_TRUE(registry()->enabled_extensions().Contains(kExtensionId));
6960 6960
6961 // Reload the extension and wait for it to complete. This previously crashed 6961 // Reload the extension and wait for it to complete. This previously crashed
6962 // (see crbug.com/676815). 6962 // (see crbug.com/676815).
6963 service()->ReloadExtension(kExtensionId); 6963 service()->ReloadExtension(kExtensionId);
6964 base::RunLoop().RunUntilIdle(); 6964 base::RunLoop().RunUntilIdle();
6965 // The shared module should be enabled. 6965 // The shared module should be enabled.
6966 EXPECT_TRUE(registry()->enabled_extensions().Contains(kExtensionId)); 6966 EXPECT_TRUE(registry()->enabled_extensions().Contains(kExtensionId));
6967 } 6967 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698