#include "chrome/browser/extensions/pending_extension_manager.h"
#include "chrome/browser/extensions/shared_module_service.h"
#include "chrome/common/extensions/features/feature_channel.h"
+#include "components/crx_file/id_util.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/install_flag.h"
#include "extensions/browser/uninstall_reason.h"
#include "extensions/common/extension_builder.h"
-#include "extensions/common/id_util.h"
#include "extensions/common/value_builder.h"
#include "sync/api/string_ordinal.h"
TEST_F(SharedModuleServiceUnitTest, AddDependentSharedModules) {
// Create an extension that has a dependency.
- std::string import_id = id_util::GenerateId("id");
- std::string extension_id = id_util::GenerateId("extension_id");
+ std::string import_id = crx_file::id_util::GenerateId("id");
+ std::string extension_id = crx_file::id_util::GenerateId("extension_id");
scoped_refptr<Extension> extension =
CreateExtensionImportingModule(import_id, extension_id, "1.0");
// Try to satisfy imports for the extension. This should queue the imported
// module's installation.
- service()->shared_module_service()->SatisfyImports(extension);
+ service()->shared_module_service()->SatisfyImports(extension.get());
EXPECT_TRUE(pending_extension_manager->IsIdPending(import_id));
}
DictionaryBuilder().Set("resources",
ListBuilder().Append("foo.js"))).Build();
scoped_refptr<Extension> shared_module =
- ExtensionBuilder().SetManifest(manifest.Pass())
- .AddFlags(Extension::FROM_WEBSTORE)
- .SetID(id_util::GenerateId("shared_module"))
- .Build();
+ ExtensionBuilder()
+ .SetManifest(manifest.Pass())
+ .AddFlags(Extension::FROM_WEBSTORE)
+ .SetID(crx_file::id_util::GenerateId("shared_module"))
+ .Build();
- EXPECT_TRUE(InstallExtension(shared_module, false));
+ EXPECT_TRUE(InstallExtension(shared_module.get(), false));
- std::string extension_id = id_util::GenerateId("extension_id");
+ std::string extension_id = crx_file::id_util::GenerateId("extension_id");
// Create and install an extension that imports our new module.
scoped_refptr<Extension> importing_extension =
CreateExtensionImportingModule(shared_module->id(), extension_id, "1.0");
- EXPECT_TRUE(InstallExtension(importing_extension, false));
+ EXPECT_TRUE(InstallExtension(importing_extension.get(), false));
// Uninstall the extension that imports our module.
base::string16 error;
DictionaryBuilder().Set("resources",
ListBuilder().Append("foo.js"))).Build();
scoped_refptr<Extension> shared_module_1 =
- ExtensionBuilder().SetManifest(manifest_1.Pass())
- .AddFlags(Extension::FROM_WEBSTORE)
- .SetID(id_util::GenerateId("shared_module_1"))
- .Build();
- EXPECT_TRUE(InstallExtension(shared_module_1, false));
+ ExtensionBuilder()
+ .SetManifest(manifest_1.Pass())
+ .AddFlags(Extension::FROM_WEBSTORE)
+ .SetID(crx_file::id_util::GenerateId("shared_module_1"))
+ .Build();
+ EXPECT_TRUE(InstallExtension(shared_module_1.get(), false));
scoped_ptr<base::DictionaryValue> manifest_2 =
DictionaryBuilder()
DictionaryBuilder().Set("resources",
ListBuilder().Append("foo.js"))).Build();
scoped_refptr<Extension> shared_module_2 =
- ExtensionBuilder().SetManifest(manifest_2.Pass())
- .AddFlags(Extension::FROM_WEBSTORE)
- .SetID(id_util::GenerateId("shared_module_2"))
- .Build();
- EXPECT_TRUE(InstallExtension(shared_module_2, false));
+ ExtensionBuilder()
+ .SetManifest(manifest_2.Pass())
+ .AddFlags(Extension::FROM_WEBSTORE)
+ .SetID(crx_file::id_util::GenerateId("shared_module_2"))
+ .Build();
+ EXPECT_TRUE(InstallExtension(shared_module_2.get(), false));
- std::string extension_id = id_util::GenerateId("extension_id");
+ std::string extension_id = crx_file::id_util::GenerateId("extension_id");
// Create and install an extension v1.0 that imports our new module 1.
scoped_refptr<Extension> importing_extension_1 =
CreateExtensionImportingModule(shared_module_1->id(),
extension_id,
"1.0");
- EXPECT_TRUE(InstallExtension(importing_extension_1, false));
+ EXPECT_TRUE(InstallExtension(importing_extension_1.get(), false));
// Create and install a new version of the extension that imports our new
// module 2.
CreateExtensionImportingModule(shared_module_2->id(),
extension_id,
"1.1");
- EXPECT_TRUE(InstallExtension(importing_extension_2, true));
+ EXPECT_TRUE(InstallExtension(importing_extension_2.get(), true));
// Since the extension v1.1 depends the module 2 insteand module 1.
// So the module 1 should be uninstalled.
// module.
scoped_refptr<Extension> importing_extension_3 =
CreateExtensionImportingModule("", extension_id, "1.2");
- EXPECT_TRUE(InstallExtension(importing_extension_3, true));
+ EXPECT_TRUE(InstallExtension(importing_extension_3.get(), true));
// Since the extension v1.2 does not depend any module, so the all models
// should have been uninstalled.
}
TEST_F(SharedModuleServiceUnitTest, WhitelistedImports) {
- std::string whitelisted_id = id_util::GenerateId("whitelisted");
- std::string nonwhitelisted_id = id_util::GenerateId("nonwhitelisted");
+ std::string whitelisted_id = crx_file::id_util::GenerateId("whitelisted");
+ std::string nonwhitelisted_id =
+ crx_file::id_util::GenerateId("nonwhitelisted");
// Create a module which exports to a restricted whitelist.
scoped_ptr<base::DictionaryValue> manifest =
DictionaryBuilder()
.Set("resources",
ListBuilder().Append("*"))).Build();
scoped_refptr<Extension> shared_module =
- ExtensionBuilder().SetManifest(manifest.Pass())
- .AddFlags(Extension::FROM_WEBSTORE)
- .SetID(id_util::GenerateId("shared_module"))
- .Build();
+ ExtensionBuilder()
+ .SetManifest(manifest.Pass())
+ .AddFlags(Extension::FROM_WEBSTORE)
+ .SetID(crx_file::id_util::GenerateId("shared_module"))
+ .Build();
- EXPECT_TRUE(InstallExtension(shared_module, false));
+ EXPECT_TRUE(InstallExtension(shared_module.get(), false));
// Create and install an extension with the whitelisted ID.
scoped_refptr<Extension> whitelisted_extension =
CreateExtensionImportingModule(shared_module->id(),
whitelisted_id,
"1.0");
- EXPECT_TRUE(InstallExtension(whitelisted_extension, false));
+ EXPECT_TRUE(InstallExtension(whitelisted_extension.get(), false));
// Try to install an extension with an ID that is not whitelisted.
scoped_refptr<Extension> nonwhitelisted_extension =