diff options
author | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-22 21:23:50 +0000 |
---|---|---|
committer | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-22 21:23:50 +0000 |
commit | 699c1e725012084d66b8a77781cc8cb202505932 (patch) | |
tree | 20f55df1d1ad8730592a912608fa0a6d3bd0ced3 /chrome/browser/extensions/extensions_service_unittest.cc | |
parent | 3fbf204d3173b31c5971cc203531e7e8b000a987 (diff) | |
download | chromium_src-699c1e725012084d66b8a77781cc8cb202505932.zip chromium_src-699c1e725012084d66b8a77781cc8cb202505932.tar.gz chromium_src-699c1e725012084d66b8a77781cc8cb202505932.tar.bz2 |
Disable extensions besides externally installed ones and themes.
This is mainly intended to be pulled to the 3.0 branch. It won't be submitted until another corresponding change to
undo the damage is ready.
BUG=13467
TEST=Added unit tests
Review URL: http://codereview.chromium.org/132003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18959 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extensions_service_unittest.cc')
-rw-r--r-- | chrome/browser/extensions/extensions_service_unittest.cc | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/chrome/browser/extensions/extensions_service_unittest.cc b/chrome/browser/extensions/extensions_service_unittest.cc index e2dd984..e41a84a 100644 --- a/chrome/browser/extensions/extensions_service_unittest.cc +++ b/chrome/browser/extensions/extensions_service_unittest.cc @@ -131,7 +131,7 @@ class ExtensionsServiceTest profile_.reset(new TestingProfile()); service_ = new ExtensionsService(profile_.get(), &loop_, &loop_); - service_->set_extensions_enabled(true); + service_->SetExtensionsEnabled(true); service_->set_show_extensions_prompts(false); // When we start up, we want to make sure there is no external provider, @@ -191,7 +191,7 @@ class ExtensionsServiceTest } void SetExtensionsEnabled(bool enabled) { - service_->set_extensions_enabled(enabled); + service_->SetExtensionsEnabled(enabled); } void SetMockExternalProvider(Extension::Location location, @@ -498,8 +498,6 @@ TEST_F(ExtensionsServiceTest, InstallExtension) { // Test Packaging and installing an extension. // TODO(rafaelw): add more tests for failure cases. TEST_F(ExtensionsServiceTest, PackExtension) { - SetExtensionsEnabled(true); - FilePath extensions_path; ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &extensions_path)); extensions_path = extensions_path.AppendASCII("extensions"); @@ -530,8 +528,6 @@ TEST_F(ExtensionsServiceTest, PackExtension) { // The privkey.pem is a PrivateKey, and the pcks8 -topk8 creates a // PrivateKeyInfo ASN.1 structure, we our RSAPrivateKey expects. TEST_F(ExtensionsServiceTest, PackExtensionOpenSSLKey) { - SetExtensionsEnabled(true); - FilePath extensions_path; ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &extensions_path)); extensions_path = extensions_path.AppendASCII("extensions"); @@ -804,6 +800,9 @@ TEST_F(ExtensionsServiceTest, GenerateID) { #if defined(OS_WIN) TEST_F(ExtensionsServiceTest, ExternalInstallRegistry) { + // This should all work, even when normal extension installation is disabled. + SetExtensionsEnabled(false); + // Verify that starting with no providers loads no extensions. service_->Init(); loop_.RunAllPending(); @@ -1013,4 +1012,14 @@ TEST_F(ExtensionsServiceTest, ExternalInstallPref) { extension_path = extension_path.AppendASCII(good_crx); EXPECT_FALSE(file_util::PathExists(extension_path)) << extension_path.ToWStringHack(); + + // This shouldn't work if extensions are disabled. + SetExtensionsEnabled(false); + + pref_provider->UpdateOrAddExtension(good_crx, "1.0", source_path); + service_->CheckForUpdates(); + loop_.RunAllPending(); + + ASSERT_EQ(0u, loaded_.size()); + ASSERT_EQ(1u, GetErrors().size()); } |