| Index: chrome/browser/extensions/component_loader.cc
|
| diff --git a/chrome/browser/extensions/component_loader.cc b/chrome/browser/extensions/component_loader.cc
|
| index 594829606276b0d782c4574b576547c601ce2f63..b90f708d3910bbca31e492b88e8c8020a711123a 100644
|
| --- a/chrome/browser/extensions/component_loader.cc
|
| +++ b/chrome/browser/extensions/component_loader.cc
|
| @@ -68,16 +68,21 @@ std::string GenerateId(const DictionaryValue* manifest,
|
| return id;
|
| }
|
|
|
| +void AbsolutizeRelativeToResourceDir(base::FilePath* directory) {
|
| + if (!directory->IsAbsolute()) {
|
| + base::FilePath root_directory;
|
| + CHECK(PathService::Get(chrome::DIR_RESOURCES, &root_directory));
|
| + *directory = root_directory.Append(*directory);
|
| + }
|
| +}
|
| +
|
| } // namespace
|
|
|
| ComponentLoader::ComponentExtensionInfo::ComponentExtensionInfo(
|
| const DictionaryValue* manifest, const base::FilePath& directory)
|
| : manifest(manifest),
|
| root_directory(directory) {
|
| - if (!root_directory.IsAbsolute()) {
|
| - CHECK(PathService::Get(chrome::DIR_RESOURCES, &root_directory));
|
| - root_directory = root_directory.Append(directory);
|
| - }
|
| + AbsolutizeRelativeToResourceDir(&root_directory);
|
| extension_id = GenerateId(manifest, root_directory);
|
| }
|
|
|
| @@ -286,6 +291,7 @@ void ComponentLoader::AddImageLoaderExtension() {
|
|
|
| void ComponentLoader::AddOrReloadEnterpriseWebStore() {
|
| base::FilePath path(FILE_PATH_LITERAL("enterprise_web_store"));
|
| + AbsolutizeRelativeToResourceDir(&path);
|
|
|
| // Remove the extension if it was already loaded.
|
| Remove(path);
|
|
|