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); |