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

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

Issue 120863003: Convert ExtensionRegistry to a BrowserContextKeyedService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 12 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 | Annotate | Revision Log
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_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 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 #include "content/public/browser/dom_storage_context.h" 80 #include "content/public/browser/dom_storage_context.h"
81 #include "content/public/browser/gpu_data_manager.h" 81 #include "content/public/browser/gpu_data_manager.h"
82 #include "content/public/browser/indexed_db_context.h" 82 #include "content/public/browser/indexed_db_context.h"
83 #include "content/public/browser/notification_registrar.h" 83 #include "content/public/browser/notification_registrar.h"
84 #include "content/public/browser/notification_service.h" 84 #include "content/public/browser/notification_service.h"
85 #include "content/public/browser/plugin_service.h" 85 #include "content/public/browser/plugin_service.h"
86 #include "content/public/browser/render_process_host.h" 86 #include "content/public/browser/render_process_host.h"
87 #include "content/public/browser/storage_partition.h" 87 #include "content/public/browser/storage_partition.h"
88 #include "content/public/common/content_constants.h" 88 #include "content/public/common/content_constants.h"
89 #include "content/public/test/test_utils.h" 89 #include "content/public/test/test_utils.h"
90 #include "extensions/browser/extension_registry.h"
90 #include "extensions/browser/external_provider_interface.h" 91 #include "extensions/browser/external_provider_interface.h"
91 #include "extensions/browser/management_policy.h" 92 #include "extensions/browser/management_policy.h"
92 #include "extensions/browser/pending_extension_info.h" 93 #include "extensions/browser/pending_extension_info.h"
93 #include "extensions/browser/pending_extension_manager.h" 94 #include "extensions/browser/pending_extension_manager.h"
94 #include "extensions/browser/test_management_policy.h" 95 #include "extensions/browser/test_management_policy.h"
95 #include "extensions/common/constants.h" 96 #include "extensions/common/constants.h"
96 #include "extensions/common/extension.h" 97 #include "extensions/common/extension.h"
97 #include "extensions/common/extension_builder.h" 98 #include "extensions/common/extension_builder.h"
98 #include "extensions/common/extension_resource.h" 99 #include "extensions/common/extension_resource.h"
99 #include "extensions/common/manifest_constants.h" 100 #include "extensions/common/manifest_constants.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 using content::IndexedDBContext; 145 using content::IndexedDBContext;
145 using content::PluginService; 146 using content::PluginService;
146 using extensions::APIPermission; 147 using extensions::APIPermission;
147 using extensions::APIPermissionSet; 148 using extensions::APIPermissionSet;
148 using extensions::AppSorting; 149 using extensions::AppSorting;
149 using extensions::Blacklist; 150 using extensions::Blacklist;
150 using extensions::CrxInstaller; 151 using extensions::CrxInstaller;
151 using extensions::Extension; 152 using extensions::Extension;
152 using extensions::ExtensionCreator; 153 using extensions::ExtensionCreator;
153 using extensions::ExtensionPrefs; 154 using extensions::ExtensionPrefs;
155 using extensions::ExtensionRegistry;
154 using extensions::ExtensionResource; 156 using extensions::ExtensionResource;
155 using extensions::ExtensionSystem; 157 using extensions::ExtensionSystem;
156 using extensions::FakeSafeBrowsingDatabaseManager; 158 using extensions::FakeSafeBrowsingDatabaseManager;
157 using extensions::FeatureSwitch; 159 using extensions::FeatureSwitch;
158 using extensions::Manifest; 160 using extensions::Manifest;
159 using extensions::PermissionSet; 161 using extensions::PermissionSet;
160 using extensions::TestExtensionSystem; 162 using extensions::TestExtensionSystem;
161 using extensions::URLPatternSet; 163 using extensions::URLPatternSet;
162 164
163 namespace keys = extensions::manifest_keys; 165 namespace keys = extensions::manifest_keys;
(...skipping 3198 matching lines...) Expand 10 before | Expand all | Expand 10 after
3362 // initialized. 3364 // initialized.
3363 TEST_F(ExtensionServiceTest, SetUnsetBlacklistInPrefs) { 3365 TEST_F(ExtensionServiceTest, SetUnsetBlacklistInPrefs) {
3364 scoped_refptr<FakeSafeBrowsingDatabaseManager> blacklist_db( 3366 scoped_refptr<FakeSafeBrowsingDatabaseManager> blacklist_db(
3365 new FakeSafeBrowsingDatabaseManager(true)); 3367 new FakeSafeBrowsingDatabaseManager(true));
3366 Blacklist::ScopedDatabaseManagerForTest scoped_blacklist_db(blacklist_db); 3368 Blacklist::ScopedDatabaseManagerForTest scoped_blacklist_db(blacklist_db);
3367 3369
3368 // A profile with 3 extensions installed: good0, good1, and good2. 3370 // A profile with 3 extensions installed: good0, good1, and good2.
3369 InitializeGoodInstalledExtensionService(); 3371 InitializeGoodInstalledExtensionService();
3370 service_->Init(); 3372 service_->Init();
3371 3373
3372 const extensions::ExtensionSet* extensions = service_->extensions(); 3374 ExtensionRegistry* registry = ExtensionRegistry::Get(profile_.get());
3373 const extensions::ExtensionSet* blacklisted_extensions = 3375 const extensions::ExtensionSet& enabled_extensions =
3374 service_->blacklisted_extensions(); 3376 registry->enabled_extensions();
3377 const extensions::ExtensionSet& blacklisted_extensions =
3378 registry->blacklisted_extensions();
3375 3379
3376 EXPECT_TRUE( extensions->Contains(good0) && 3380 EXPECT_TRUE(enabled_extensions.Contains(good0) &&
3377 !blacklisted_extensions->Contains(good0)); 3381 !blacklisted_extensions.Contains(good0));
3378 EXPECT_TRUE( extensions->Contains(good1) && 3382 EXPECT_TRUE(enabled_extensions.Contains(good1) &&
3379 !blacklisted_extensions->Contains(good1)); 3383 !blacklisted_extensions.Contains(good1));
3380 EXPECT_TRUE( extensions->Contains(good2) && 3384 EXPECT_TRUE(enabled_extensions.Contains(good2) &&
3381 !blacklisted_extensions->Contains(good2)); 3385 !blacklisted_extensions.Contains(good2));
3382 3386
3383 EXPECT_FALSE(IsPrefExist(good0, "blacklist")); 3387 EXPECT_FALSE(IsPrefExist(good0, "blacklist"));
3384 EXPECT_FALSE(IsPrefExist(good1, "blacklist")); 3388 EXPECT_FALSE(IsPrefExist(good1, "blacklist"));
3385 EXPECT_FALSE(IsPrefExist(good2, "blacklist")); 3389 EXPECT_FALSE(IsPrefExist(good2, "blacklist"));
3386 EXPECT_FALSE(IsPrefExist("invalid_id", "blacklist")); 3390 EXPECT_FALSE(IsPrefExist("invalid_id", "blacklist"));
3387 3391
3388 // Blacklist good0 and good1 (and an invalid extension ID). 3392 // Blacklist good0 and good1 (and an invalid extension ID).
3389 blacklist_db->SetUnsafe(good0, good1, "invalid_id").NotifyUpdate(); 3393 blacklist_db->SetUnsafe(good0, good1, "invalid_id").NotifyUpdate();
3390 base::RunLoop().RunUntilIdle(); 3394 base::RunLoop().RunUntilIdle();
3391 3395
3392 EXPECT_TRUE(!extensions->Contains(good0) && 3396 EXPECT_TRUE(!enabled_extensions.Contains(good0) &&
3393 blacklisted_extensions->Contains(good0)); 3397 blacklisted_extensions.Contains(good0));
3394 EXPECT_TRUE(!extensions->Contains(good1) && 3398 EXPECT_TRUE(!enabled_extensions.Contains(good1) &&
3395 blacklisted_extensions->Contains(good1)); 3399 blacklisted_extensions.Contains(good1));
3396 EXPECT_TRUE( extensions->Contains(good2) && 3400 EXPECT_TRUE(enabled_extensions.Contains(good2) &&
3397 !blacklisted_extensions->Contains(good2)); 3401 !blacklisted_extensions.Contains(good2));
3398 3402
3399 EXPECT_TRUE(ValidateBooleanPref(good0, "blacklist", true)); 3403 EXPECT_TRUE(ValidateBooleanPref(good0, "blacklist", true));
3400 EXPECT_TRUE(ValidateBooleanPref(good1, "blacklist", true)); 3404 EXPECT_TRUE(ValidateBooleanPref(good1, "blacklist", true));
3401 EXPECT_FALSE(IsPrefExist(good2, "blacklist")); 3405 EXPECT_FALSE(IsPrefExist(good2, "blacklist"));
3402 EXPECT_FALSE(IsPrefExist("invalid_id", "blacklist")); 3406 EXPECT_FALSE(IsPrefExist("invalid_id", "blacklist"));
3403 3407
3404 // Un-blacklist good1 and blacklist good2. 3408 // Un-blacklist good1 and blacklist good2.
3405 blacklist_db->SetUnsafe(good0, good2, "invalid_id").NotifyUpdate(); 3409 blacklist_db->SetUnsafe(good0, good2, "invalid_id").NotifyUpdate();
3406 base::RunLoop().RunUntilIdle(); 3410 base::RunLoop().RunUntilIdle();
3407 3411
3408 EXPECT_TRUE(!extensions->Contains(good0) && 3412 EXPECT_TRUE(!enabled_extensions.Contains(good0) &&
3409 blacklisted_extensions->Contains(good0)); 3413 blacklisted_extensions.Contains(good0));
3410 EXPECT_TRUE( extensions->Contains(good1) && 3414 EXPECT_TRUE(enabled_extensions.Contains(good1) &&
3411 !blacklisted_extensions->Contains(good1)); 3415 !blacklisted_extensions.Contains(good1));
3412 EXPECT_TRUE(!extensions->Contains(good2) && 3416 EXPECT_TRUE(!enabled_extensions.Contains(good2) &&
3413 blacklisted_extensions->Contains(good2)); 3417 blacklisted_extensions.Contains(good2));
3414 3418
3415 EXPECT_TRUE(ValidateBooleanPref(good0, "blacklist", true)); 3419 EXPECT_TRUE(ValidateBooleanPref(good0, "blacklist", true));
3416 EXPECT_FALSE(IsPrefExist(good1, "blacklist")); 3420 EXPECT_FALSE(IsPrefExist(good1, "blacklist"));
3417 EXPECT_TRUE(ValidateBooleanPref(good2, "blacklist", true)); 3421 EXPECT_TRUE(ValidateBooleanPref(good2, "blacklist", true));
3418 EXPECT_FALSE(IsPrefExist("invalid_id", "blacklist")); 3422 EXPECT_FALSE(IsPrefExist("invalid_id", "blacklist"));
3419 } 3423 }
3420 #endif // defined(ENABLE_BLACKLIST_TESTS) 3424 #endif // defined(ENABLE_BLACKLIST_TESTS)
3421 3425
3422 #if defined(ENABLE_BLACKLIST_TESTS) 3426 #if defined(ENABLE_BLACKLIST_TESTS)
3423 // Tests trying to install a blacklisted extension. 3427 // Tests trying to install a blacklisted extension.
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
3485 InitializeGoodInstalledExtensionService(); 3489 InitializeGoodInstalledExtensionService();
3486 3490
3487 // Blacklist good1 before the service initializes. 3491 // Blacklist good1 before the service initializes.
3488 blacklist_db->SetUnsafe(good1); 3492 blacklist_db->SetUnsafe(good1);
3489 3493
3490 // Load extensions. 3494 // Load extensions.
3491 service_->Init(); 3495 service_->Init();
3492 ASSERT_EQ(3u, loaded_.size()); // hasn't had time to blacklist yet 3496 ASSERT_EQ(3u, loaded_.size()); // hasn't had time to blacklist yet
3493 3497
3494 base::RunLoop().RunUntilIdle(); 3498 base::RunLoop().RunUntilIdle();
3495 ASSERT_EQ(1u, service_->blacklisted_extensions()->size());
3496 ASSERT_EQ(2u, service_->extensions()->size());
3497 3499
3498 ASSERT_TRUE(service_->extensions()->Contains(good0)); 3500 ExtensionRegistry* registry = ExtensionRegistry::Get(profile_.get());
3499 ASSERT_TRUE(service_->blacklisted_extensions()->Contains(good1)); 3501 ASSERT_EQ(1u, registry->blacklisted_extensions().size());
3500 ASSERT_TRUE(service_->extensions()->Contains(good2)); 3502 ASSERT_EQ(2u, registry->enabled_extensions().size());
3503
3504 ASSERT_TRUE(registry->enabled_extensions().Contains(good0));
3505 ASSERT_TRUE(registry->blacklisted_extensions().Contains(good1));
3506 ASSERT_TRUE(registry->enabled_extensions().Contains(good2));
3501 } 3507 }
3502 #endif // defined(ENABLE_BLACKLIST_TESTS) 3508 #endif // defined(ENABLE_BLACKLIST_TESTS)
3503 3509
3504 #if defined(ENABLE_BLACKLIST_TESTS) 3510 #if defined(ENABLE_BLACKLIST_TESTS)
3505 // Tests extensions blacklisted in prefs on startup; one still blacklisted by 3511 // Tests extensions blacklisted in prefs on startup; one still blacklisted by
3506 // safe browsing, the other not. The not-blacklisted one should recover. 3512 // safe browsing, the other not. The not-blacklisted one should recover.
3507 TEST_F(ExtensionServiceTest, BlacklistedInPrefsFromStartup) { 3513 TEST_F(ExtensionServiceTest, BlacklistedInPrefsFromStartup) {
3508 scoped_refptr<FakeSafeBrowsingDatabaseManager> blacklist_db( 3514 scoped_refptr<FakeSafeBrowsingDatabaseManager> blacklist_db(
3509 new FakeSafeBrowsingDatabaseManager(true)); 3515 new FakeSafeBrowsingDatabaseManager(true));
3510 Blacklist::ScopedDatabaseManagerForTest scoped_blacklist_db(blacklist_db); 3516 Blacklist::ScopedDatabaseManagerForTest scoped_blacklist_db(blacklist_db);
3511 3517
3512 InitializeGoodInstalledExtensionService(); 3518 InitializeGoodInstalledExtensionService();
3513 service_->extension_prefs()->SetExtensionBlacklisted(good0, true); 3519 service_->extension_prefs()->SetExtensionBlacklisted(good0, true);
3514 service_->extension_prefs()->SetExtensionBlacklisted(good1, true); 3520 service_->extension_prefs()->SetExtensionBlacklisted(good1, true);
3515 3521
3516 blacklist_db->SetUnsafe(good1); 3522 blacklist_db->SetUnsafe(good1);
3517 3523
3518 service_->Init(); 3524 service_->Init();
3519 3525
3520 ASSERT_EQ(2u, service_->blacklisted_extensions()->size()); 3526 ExtensionRegistry* registry = ExtensionRegistry::Get(profile_.get());
3521 ASSERT_EQ(1u, service_->extensions()->size()); 3527 ASSERT_EQ(2u, registry->blacklisted_extensions().size());
3528 ASSERT_EQ(1u, registry->enabled_extensions().size());
3522 3529
3523 ASSERT_TRUE(service_->blacklisted_extensions()->Contains(good0)); 3530 ASSERT_TRUE(registry->blacklisted_extensions().Contains(good0));
3524 ASSERT_TRUE(service_->blacklisted_extensions()->Contains(good1)); 3531 ASSERT_TRUE(registry->blacklisted_extensions().Contains(good1));
3525 ASSERT_TRUE(service_->extensions()->Contains(good2)); 3532 ASSERT_TRUE(registry->enabled_extensions().Contains(good2));
3526 3533
3527 // Give time for the blacklist to update. 3534 // Give time for the blacklist to update.
3528 base::RunLoop().RunUntilIdle(); 3535 base::RunLoop().RunUntilIdle();
3529 3536
3530 ASSERT_EQ(1u, service_->blacklisted_extensions()->size()); 3537 ASSERT_EQ(1u, registry->blacklisted_extensions().size());
3531 ASSERT_EQ(2u, service_->extensions()->size()); 3538 ASSERT_EQ(2u, registry->enabled_extensions().size());
3532 3539
3533 ASSERT_TRUE(service_->extensions()->Contains(good0)); 3540 ASSERT_TRUE(registry->enabled_extensions().Contains(good0));
3534 ASSERT_TRUE(service_->blacklisted_extensions()->Contains(good1)); 3541 ASSERT_TRUE(registry->blacklisted_extensions().Contains(good1));
3535 ASSERT_TRUE(service_->extensions()->Contains(good2)); 3542 ASSERT_TRUE(registry->enabled_extensions().Contains(good2));
3536 } 3543 }
3537 #endif // defined(ENABLE_BLACKLIST_TESTS) 3544 #endif // defined(ENABLE_BLACKLIST_TESTS)
3538 3545
3539 // Will not install extension blacklisted by policy. 3546 // Will not install extension blacklisted by policy.
3540 TEST_F(ExtensionServiceTest, BlacklistedByPolicyWillNotInstall) { 3547 TEST_F(ExtensionServiceTest, BlacklistedByPolicyWillNotInstall) {
3541 InitializeEmptyExtensionService(); 3548 InitializeEmptyExtensionService();
3542 3549
3543 // Blacklist everything. 3550 // Blacklist everything.
3544 { 3551 {
3545 ListPrefUpdate update(profile_->GetPrefs(), 3552 ListPrefUpdate update(profile_->GetPrefs(),
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after
3908 } 3915 }
3909 #endif 3916 #endif
3910 3917
3911 // Tests disabling extensions 3918 // Tests disabling extensions
3912 TEST_F(ExtensionServiceTest, DisableExtension) { 3919 TEST_F(ExtensionServiceTest, DisableExtension) {
3913 InitializeEmptyExtensionService(); 3920 InitializeEmptyExtensionService();
3914 3921
3915 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); 3922 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW);
3916 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); 3923 EXPECT_TRUE(service_->GetExtensionById(good_crx, true));
3917 EXPECT_TRUE(service_->GetExtensionById(good_crx, false)); 3924 EXPECT_TRUE(service_->GetExtensionById(good_crx, false));
3918 EXPECT_EQ(1u, service_->extensions()->size()); 3925
3919 EXPECT_EQ(0u, service_->disabled_extensions()->size()); 3926 ExtensionRegistry* registry = ExtensionRegistry::Get(profile_.get());
3920 EXPECT_EQ(0u, service_->terminated_extensions()->size()); 3927 EXPECT_EQ(1u, registry->enabled_extensions().size());
3921 EXPECT_EQ(0u, service_->blacklisted_extensions()->size()); 3928 EXPECT_EQ(0u, registry->disabled_extensions().size());
3929 EXPECT_EQ(0u, registry->terminated_extensions().size());
3930 EXPECT_EQ(0u, registry->blacklisted_extensions().size());
3922 3931
3923 // Disable it. 3932 // Disable it.
3924 service_->DisableExtension(good_crx, Extension::DISABLE_USER_ACTION); 3933 service_->DisableExtension(good_crx, Extension::DISABLE_USER_ACTION);
3925 3934
3926 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); 3935 EXPECT_TRUE(service_->GetExtensionById(good_crx, true));
3927 EXPECT_FALSE(service_->GetExtensionById(good_crx, false)); 3936 EXPECT_FALSE(service_->GetExtensionById(good_crx, false));
3928 EXPECT_EQ(0u, service_->extensions()->size()); 3937 EXPECT_EQ(0u, registry->enabled_extensions().size());
3929 EXPECT_EQ(1u, service_->disabled_extensions()->size()); 3938 EXPECT_EQ(1u, registry->disabled_extensions().size());
3930 EXPECT_EQ(0u, service_->terminated_extensions()->size()); 3939 EXPECT_EQ(0u, registry->terminated_extensions().size());
3931 EXPECT_EQ(0u, service_->blacklisted_extensions()->size()); 3940 EXPECT_EQ(0u, registry->blacklisted_extensions().size());
3932 } 3941 }
3933 3942
3934 TEST_F(ExtensionServiceTest, TerminateExtension) { 3943 TEST_F(ExtensionServiceTest, TerminateExtension) {
3935 InitializeEmptyExtensionService(); 3944 InitializeEmptyExtensionService();
3936 3945
3937 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); 3946 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW);
3938 EXPECT_EQ(1u, service_->extensions()->size()); 3947 ExtensionRegistry* registry = ExtensionRegistry::Get(profile_.get());
3939 EXPECT_EQ(0u, service_->disabled_extensions()->size()); 3948 EXPECT_EQ(1u, registry->enabled_extensions().size());
3940 EXPECT_EQ(0u, service_->terminated_extensions()->size()); 3949 EXPECT_EQ(0u, registry->disabled_extensions().size());
3941 EXPECT_EQ(0u, service_->blacklisted_extensions()->size()); 3950 EXPECT_EQ(0u, registry->terminated_extensions().size());
3951 EXPECT_EQ(0u, registry->blacklisted_extensions().size());
3942 3952
3943 TerminateExtension(good_crx); 3953 TerminateExtension(good_crx);
3944 3954
3945 EXPECT_EQ(0u, service_->extensions()->size()); 3955 EXPECT_EQ(0u, registry->enabled_extensions().size());
3946 EXPECT_EQ(0u, service_->disabled_extensions()->size()); 3956 EXPECT_EQ(0u, registry->disabled_extensions().size());
3947 EXPECT_EQ(1u, service_->terminated_extensions()->size()); 3957 EXPECT_EQ(1u, registry->terminated_extensions().size());
3948 EXPECT_EQ(0u, service_->blacklisted_extensions()->size()); 3958 EXPECT_EQ(0u, registry->blacklisted_extensions().size());
3949 } 3959 }
3950 3960
3951 TEST_F(ExtensionServiceTest, DisableTerminatedExtension) { 3961 TEST_F(ExtensionServiceTest, DisableTerminatedExtension) {
3952 InitializeEmptyExtensionService(); 3962 InitializeEmptyExtensionService();
3953 3963
3954 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); 3964 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW);
3955 TerminateExtension(good_crx); 3965 TerminateExtension(good_crx);
3956 EXPECT_TRUE(service_->GetTerminatedExtension(good_crx)); 3966 EXPECT_TRUE(service_->GetTerminatedExtension(good_crx));
3957 3967
3958 // Disable it. 3968 // Disable it.
3959 service_->DisableExtension(good_crx, Extension::DISABLE_USER_ACTION); 3969 service_->DisableExtension(good_crx, Extension::DISABLE_USER_ACTION);
3960 3970
3961 EXPECT_FALSE(service_->GetTerminatedExtension(good_crx)); 3971 EXPECT_FALSE(service_->GetTerminatedExtension(good_crx));
3962 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); 3972 EXPECT_TRUE(service_->GetExtensionById(good_crx, true));
3963 3973
3964 EXPECT_EQ(0u, service_->extensions()->size()); 3974 ExtensionRegistry* registry = ExtensionRegistry::Get(profile_.get());
3965 EXPECT_EQ(1u, service_->disabled_extensions()->size()); 3975 EXPECT_EQ(0u, registry->enabled_extensions().size());
3966 EXPECT_EQ(0u, service_->terminated_extensions()->size()); 3976 EXPECT_EQ(1u, registry->disabled_extensions().size());
3967 EXPECT_EQ(0u, service_->blacklisted_extensions()->size()); 3977 EXPECT_EQ(0u, registry->terminated_extensions().size());
3978 EXPECT_EQ(0u, registry->blacklisted_extensions().size());
3968 } 3979 }
3969 3980
3970 // Tests disabling all extensions (simulating --disable-extensions flag). 3981 // Tests disabling all extensions (simulating --disable-extensions flag).
3971 TEST_F(ExtensionServiceTest, DisableAllExtensions) { 3982 TEST_F(ExtensionServiceTest, DisableAllExtensions) {
3972 InitializeEmptyExtensionService(); 3983 InitializeEmptyExtensionService();
3973 3984
3974 base::FilePath path = data_dir_.AppendASCII("good.crx"); 3985 base::FilePath path = data_dir_.AppendASCII("good.crx");
3975 InstallCRX(path, INSTALL_NEW); 3986 InstallCRX(path, INSTALL_NEW);
3976 3987
3977 EXPECT_EQ(1u, service_->extensions()->size()); 3988 EXPECT_EQ(1u, service_->extensions()->size());
(...skipping 2718 matching lines...) Expand 10 before | Expand all | Expand 10 after
6696 extension.get(), 6707 extension.get(),
6697 syncer::StringOrdinal(), 6708 syncer::StringOrdinal(),
6698 false /* has requirement errors */, 6709 false /* has requirement errors */,
6699 extensions::BLACKLISTED_MALWARE, 6710 extensions::BLACKLISTED_MALWARE,
6700 false /* wait for idle */); 6711 false /* wait for idle */);
6701 base::RunLoop().RunUntilIdle(); 6712 base::RunLoop().RunUntilIdle();
6702 6713
6703 // Extension was installed but not loaded. 6714 // Extension was installed but not loaded.
6704 EXPECT_TRUE(notifications.CheckNotifications( 6715 EXPECT_TRUE(notifications.CheckNotifications(
6705 chrome::NOTIFICATION_EXTENSION_INSTALLED)); 6716 chrome::NOTIFICATION_EXTENSION_INSTALLED));
6717 EXPECT_TRUE(service_->GetInstalledExtension(id));
6706 6718
6707 EXPECT_TRUE(service_->GetInstalledExtension(id)); 6719 ExtensionRegistry* registry = ExtensionRegistry::Get(profile_.get());
6708 EXPECT_FALSE(service_->extensions()->Contains(id)); 6720 EXPECT_FALSE(registry->enabled_extensions().Contains(id));
6709 EXPECT_TRUE(service_->blacklisted_extensions()->Contains(id)); 6721 EXPECT_TRUE(registry->blacklisted_extensions().Contains(id));
6722
6710 EXPECT_TRUE(service_->extension_prefs()->IsExtensionBlacklisted(id)); 6723 EXPECT_TRUE(service_->extension_prefs()->IsExtensionBlacklisted(id));
6711 EXPECT_TRUE( 6724 EXPECT_TRUE(
6712 service_->extension_prefs()->IsBlacklistedExtensionAcknowledged(id)); 6725 service_->extension_prefs()->IsBlacklistedExtensionAcknowledged(id));
6713 } 6726 }
6714 6727
6715 TEST_F(ExtensionServiceTest, ReconcileKnownDisabledNoneDisabled) { 6728 TEST_F(ExtensionServiceTest, ReconcileKnownDisabledNoneDisabled) {
6716 // A profile with 3 extensions installed: good0, good1, and good2. 6729 // A profile with 3 extensions installed: good0, good1, and good2.
6717 InitializeGoodInstalledExtensionService(); 6730 InitializeGoodInstalledExtensionService();
6718 6731
6719 // Initializing shouldn't disable any extensions if none are known to be 6732 // Initializing shouldn't disable any extensions if none are known to be
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
6767 // ReconcileKnownDisabled(). 6780 // ReconcileKnownDisabled().
6768 service_->EnableExtension(good2); 6781 service_->EnableExtension(good2);
6769 service_->ReconcileKnownDisabled(); 6782 service_->ReconcileKnownDisabled();
6770 expected_extensions.insert(good2); 6783 expected_extensions.insert(good2);
6771 expected_disabled_extensions.erase(good2); 6784 expected_disabled_extensions.erase(good2);
6772 6785
6773 EXPECT_EQ(expected_extensions, service_->extensions()->GetIDs()); 6786 EXPECT_EQ(expected_extensions, service_->extensions()->GetIDs());
6774 EXPECT_EQ(expected_disabled_extensions, 6787 EXPECT_EQ(expected_disabled_extensions,
6775 service_->disabled_extensions()->GetIDs()); 6788 service_->disabled_extensions()->GetIDs());
6776 } 6789 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698