| Index: chrome/browser/extensions/extension_service_unittest.cc
|
| diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc
|
| index d3df70f12b6bdde6ff5e148db3cf164d9bc410e9..471cd5d7890f8ca26532a3a9a26bb607beed0376 100644
|
| --- a/chrome/browser/extensions/extension_service_unittest.cc
|
| +++ b/chrome/browser/extensions/extension_service_unittest.cc
|
| @@ -6776,6 +6776,36 @@ TEST_F(ExtensionServiceTest, CannotEnableBlacklistedExtension) {
|
| EXPECT_TRUE(ExtensionPrefs::Get(profile())->IsExtensionBlacklisted(id));
|
| }
|
|
|
| +// Test that calls to disable Shared Modules do not work.
|
| +TEST_F(ExtensionServiceTest, CannotDisableSharedModules) {
|
| + InitializeEmptyExtensionService();
|
| + std::unique_ptr<base::DictionaryValue> manifest =
|
| + extensions::DictionaryBuilder()
|
| + .Set("name", "Shared Module")
|
| + .Set("version", "1.0")
|
| + .Set("manifest_version", 2)
|
| + .Set("export",
|
| + extensions::DictionaryBuilder()
|
| + .Set("resources",
|
| + extensions::ListBuilder().Append("foo.js").Build())
|
| + .Build())
|
| + .Build();
|
| +
|
| + scoped_refptr<Extension> extension = extensions::ExtensionBuilder()
|
| + .SetManifest(std::move(manifest))
|
| + .AddFlags(Extension::FROM_WEBSTORE)
|
| + .Build();
|
| +
|
| + service()->OnExtensionInstalled(extension.get(), syncer::StringOrdinal(),
|
| + extensions::kInstallFlagInstallImmediately);
|
| +
|
| + ASSERT_TRUE(registry()->enabled_extensions().Contains(extension->id()));
|
| + // Try to disable the extension.
|
| + service()->DisableExtension(extension->id(), Extension::DISABLE_USER_ACTION);
|
| + // Shared Module should still be enabled.
|
| + EXPECT_TRUE(registry()->enabled_extensions().Contains(extension->id()));
|
| +}
|
| +
|
| // Make sure we can uninstall a blacklisted extension
|
| TEST_F(ExtensionServiceTest, UninstallBlacklistedExtension) {
|
| InitializeGoodInstalledExtensionService();
|
|
|