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

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

Issue 342003005: Show alert failure for reloading unpacked extensions with bad manifest (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed be_noisy, support interaction with multiple failures Created 6 years, 5 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 <algorithm> 5 #include <algorithm>
6 #include <set> 6 #include <set>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/at_exit.h" 9 #include "base/at_exit.h"
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 2827 matching lines...) Expand 10 before | Expand all | Expand 10 after
2838 EXPECT_TRUE(permissions->HasEffectiveFullAccess()); 2838 EXPECT_TRUE(permissions->HasEffectiveFullAccess());
2839 EXPECT_FALSE(permissions->apis().empty()); 2839 EXPECT_FALSE(permissions->apis().empty());
2840 EXPECT_TRUE(permissions->HasAPIPermission(APIPermission::kPlugin)); 2840 EXPECT_TRUE(permissions->HasAPIPermission(APIPermission::kPlugin));
2841 2841
2842 // We should be able to reload the extension without getting another prompt. 2842 // We should be able to reload the extension without getting another prompt.
2843 loaded_.clear(); 2843 loaded_.clear();
2844 CommandLine::ForCurrentProcess()->AppendSwitchASCII( 2844 CommandLine::ForCurrentProcess()->AppendSwitchASCII(
2845 switches::kAppsGalleryInstallAutoConfirmForTests, 2845 switches::kAppsGalleryInstallAutoConfirmForTests,
2846 "cancel"); 2846 "cancel");
2847 2847
2848 service()->ReloadExtension(good1); 2848 service()->ReloadExtension(good1, true);
2849 base::RunLoop().RunUntilIdle(); 2849 base::RunLoop().RunUntilIdle();
2850 EXPECT_EQ(1u, loaded_.size()); 2850 EXPECT_EQ(1u, loaded_.size());
2851 EXPECT_EQ(2u, registry()->enabled_extensions().size()); 2851 EXPECT_EQ(2u, registry()->enabled_extensions().size());
2852 EXPECT_EQ(0u, registry()->disabled_extensions().size()); 2852 EXPECT_EQ(0u, registry()->disabled_extensions().size());
2853 } 2853 }
2854 #endif // !defined(OS_POSIX) || defined(OS_MACOSX) 2854 #endif // !defined(OS_POSIX) || defined(OS_MACOSX)
2855 2855
2856 namespace { 2856 namespace {
2857 2857
2858 bool IsExtension(const Extension* extension) { 2858 bool IsExtension(const Extension* extension) {
(...skipping 661 matching lines...) Expand 10 before | Expand all | Expand 10 after
3520 good1, extensions::BLACKLISTED_MALWARE, false); 3520 good1, extensions::BLACKLISTED_MALWARE, false);
3521 service()->Init(); 3521 service()->Init();
3522 test_blacklist.SetBlacklistState( 3522 test_blacklist.SetBlacklistState(
3523 good2, extensions::BLACKLISTED_MALWARE, false); 3523 good2, extensions::BLACKLISTED_MALWARE, false);
3524 base::RunLoop().RunUntilIdle(); 3524 base::RunLoop().RunUntilIdle();
3525 3525
3526 EXPECT_EQ(StringSet(good0), registry()->enabled_extensions().GetIDs()); 3526 EXPECT_EQ(StringSet(good0), registry()->enabled_extensions().GetIDs());
3527 EXPECT_EQ(StringSet(good1, good2), 3527 EXPECT_EQ(StringSet(good1, good2),
3528 registry()->blacklisted_extensions().GetIDs()); 3528 registry()->blacklisted_extensions().GetIDs());
3529 3529
3530 service()->ReloadExtension(good1); 3530 service()->ReloadExtension(good1, true);
3531 service()->ReloadExtension(good2); 3531 service()->ReloadExtension(good2, true);
3532 base::RunLoop().RunUntilIdle(); 3532 base::RunLoop().RunUntilIdle();
3533 3533
3534 EXPECT_EQ(StringSet(good0), registry()->enabled_extensions().GetIDs()); 3534 EXPECT_EQ(StringSet(good0), registry()->enabled_extensions().GetIDs());
3535 EXPECT_EQ(StringSet(good1, good2), 3535 EXPECT_EQ(StringSet(good1, good2),
3536 registry()->blacklisted_extensions().GetIDs()); 3536 registry()->blacklisted_extensions().GetIDs());
3537 } 3537 }
3538 3538
3539 #endif // defined(ENABLE_BLACKLIST_TESTS) 3539 #endif // defined(ENABLE_BLACKLIST_TESTS)
3540 3540
3541 // Will not install extension blacklisted by policy. 3541 // Will not install extension blacklisted by policy.
(...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after
4057 .AppendASCII("good") 4057 .AppendASCII("good")
4058 .AppendASCII("Extensions") 4058 .AppendASCII("Extensions")
4059 .AppendASCII(extension_id) 4059 .AppendASCII(extension_id)
4060 .AppendASCII("1.0.0.0"); 4060 .AppendASCII("1.0.0.0");
4061 extensions::UnpackedInstaller::Create(service())->Load(ext); 4061 extensions::UnpackedInstaller::Create(service())->Load(ext);
4062 base::RunLoop().RunUntilIdle(); 4062 base::RunLoop().RunUntilIdle();
4063 4063
4064 EXPECT_EQ(1u, registry()->enabled_extensions().size()); 4064 EXPECT_EQ(1u, registry()->enabled_extensions().size());
4065 EXPECT_EQ(0u, registry()->disabled_extensions().size()); 4065 EXPECT_EQ(0u, registry()->disabled_extensions().size());
4066 4066
4067 service()->ReloadExtension(extension_id); 4067 service()->ReloadExtension(extension_id, true);
4068 4068
4069 // Extension should be disabled now, waiting to be reloaded. 4069 // Extension should be disabled now, waiting to be reloaded.
4070 EXPECT_EQ(0u, registry()->enabled_extensions().size()); 4070 EXPECT_EQ(0u, registry()->enabled_extensions().size());
4071 EXPECT_EQ(1u, registry()->disabled_extensions().size()); 4071 EXPECT_EQ(1u, registry()->disabled_extensions().size());
4072 EXPECT_EQ(Extension::DISABLE_RELOAD, 4072 EXPECT_EQ(Extension::DISABLE_RELOAD,
4073 ExtensionPrefs::Get(profile())->GetDisableReasons(extension_id)); 4073 ExtensionPrefs::Get(profile())->GetDisableReasons(extension_id));
4074 4074
4075 // Reloading again should not crash. 4075 // Reloading again should not crash.
4076 service()->ReloadExtension(extension_id); 4076 service()->ReloadExtension(extension_id, true);
4077 4077
4078 // Finish reloading 4078 // Finish reloading
4079 base::RunLoop().RunUntilIdle(); 4079 base::RunLoop().RunUntilIdle();
4080 4080
4081 // Extension should be enabled again. 4081 // Extension should be enabled again.
4082 EXPECT_EQ(1u, registry()->enabled_extensions().size()); 4082 EXPECT_EQ(1u, registry()->enabled_extensions().size());
4083 EXPECT_EQ(0u, registry()->disabled_extensions().size()); 4083 EXPECT_EQ(0u, registry()->disabled_extensions().size());
4084 } 4084 }
4085 4085
4086 TEST_F(ExtensionServiceTest, UninstallExtension) { 4086 TEST_F(ExtensionServiceTest, UninstallExtension) {
(...skipping 2846 matching lines...) Expand 10 before | Expand all | Expand 10 after
6933 6933
6934 service()->Observe(chrome::NOTIFICATION_PROFILE_DESTRUCTION_STARTED, 6934 service()->Observe(chrome::NOTIFICATION_PROFILE_DESTRUCTION_STARTED,
6935 content::Source<Profile>(profile()), 6935 content::Source<Profile>(profile()),
6936 content::NotificationService::NoDetails()); 6936 content::NotificationService::NoDetails());
6937 EXPECT_EQ(UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN, unloaded_reason_); 6937 EXPECT_EQ(UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN, unloaded_reason_);
6938 EXPECT_EQ(0u, registry()->enabled_extensions().size()); 6938 EXPECT_EQ(0u, registry()->enabled_extensions().size());
6939 EXPECT_EQ(0u, registry()->disabled_extensions().size()); 6939 EXPECT_EQ(0u, registry()->disabled_extensions().size());
6940 EXPECT_EQ(0u, registry()->terminated_extensions().size()); 6940 EXPECT_EQ(0u, registry()->terminated_extensions().size());
6941 EXPECT_EQ(0u, registry()->blacklisted_extensions().size()); 6941 EXPECT_EQ(0u, registry()->blacklisted_extensions().size());
6942 } 6942 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698