summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extensions_service_unittest.cc
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-22 21:23:50 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-22 21:23:50 +0000
commit699c1e725012084d66b8a77781cc8cb202505932 (patch)
tree20f55df1d1ad8730592a912608fa0a6d3bd0ced3 /chrome/browser/extensions/extensions_service_unittest.cc
parent3fbf204d3173b31c5971cc203531e7e8b000a987 (diff)
downloadchromium_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.cc21
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());
}