Index: chrome/browser/profiles/profile_impl.cc |
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc |
index 01cd53007f449b4c68e6ace78dc577aff3e3fdbe..e0d342941cbdf49c93f320fd970f1d3610e040e9 100644 |
--- a/chrome/browser/profiles/profile_impl.cc |
+++ b/chrome/browser/profiles/profile_impl.cc |
@@ -25,6 +25,7 @@ |
#include "chrome/browser/browser_thread.h" |
#include "chrome/browser/chrome_blob_storage_context.h" |
#include "chrome/browser/content_settings/host_content_settings_map.h" |
+#include "chrome/browser/defaults.h" |
#include "chrome/browser/dom_ui/ntp_resource_cache.h" |
#include "chrome/browser/download/download_manager.h" |
#include "chrome/browser/extensions/default_apps.h" |
@@ -371,29 +372,43 @@ void ProfileImpl::InitExtensions() { |
void ProfileImpl::RegisterComponentExtensions() { |
// Register the component extensions. |
- typedef std::list<std::pair<std::string, int> > ComponentExtensionList; |
+ typedef std::list<std::pair<FilePath::StringType, int> > |
+ ComponentExtensionList; |
ComponentExtensionList component_extensions; |
// Bookmark manager. |
- component_extensions.push_back( |
- std::make_pair("bookmark_manager", IDR_BOOKMARKS_MANIFEST)); |
+ component_extensions.push_back(std::make_pair( |
+ FILE_PATH_LITERAL("bookmark_manager"), |
+ IDR_BOOKMARKS_MANIFEST)); |
#if defined(TOUCH_UI) |
- component_extensions.push_back( |
- std::make_pair("keyboard", IDR_KEYBOARD_MANIFEST)); |
+ component_extensions.push_back(std::make_pair( |
+ FILE_PATH_LITERAL("keyboard"), |
+ IDR_KEYBOARD_MANIFEST)); |
+#endif |
+ |
+#if defined(OS_CHROMEOS) |
+ if (browser_defaults::enable_help_app) { |
+ component_extensions.push_back(std::make_pair( |
+ FILE_PATH_LITERAL("/usr/share/chromeos-assets/helpapp"), |
+ IDR_HELP_MANIFEST)); |
+ } |
#endif |
// Web Store. |
- component_extensions.push_back( |
- std::make_pair("web_store", IDR_WEBSTORE_MANIFEST)); |
+ component_extensions.push_back(std::make_pair( |
+ FILE_PATH_LITERAL("web_store"), |
+ IDR_WEBSTORE_MANIFEST)); |
for (ComponentExtensionList::iterator iter = component_extensions.begin(); |
iter != component_extensions.end(); ++iter) { |
- FilePath path; |
- if (PathService::Get(chrome::DIR_RESOURCES, &path)) { |
- path = path.AppendASCII(iter->first); |
- } else { |
- NOTREACHED(); |
+ FilePath path(iter->first); |
+ if (!path.IsAbsolute()) { |
+ if (PathService::Get(chrome::DIR_RESOURCES, &path)) { |
+ path = path.Append(iter->first); |
+ } else { |
+ NOTREACHED(); |
+ } |
} |
std::string manifest = |