Make HelpApp component extension.

BUG=http://code.google.com/p/chromium-os/issues/detail?id=6923
TEST=manual

Review URL: http://codereview.chromium.org/5758002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72473 0039d316-1c4b-4281-b951-d872f2087c98
parent 3d2ef644
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include "build/build_config.h" #include "build/build_config.h"
#include "chrome/browser/about_flags.h" #include "chrome/browser/about_flags.h"
#include "chrome/browser/browser_main_win.h" #include "chrome/browser/browser_main_win.h"
#include "chrome/browser/defaults.h"
#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_process_impl.h" #include "chrome/browser/browser_process_impl.h"
#include "chrome/browser/browser_shutdown.h" #include "chrome/browser/browser_shutdown.h"
...@@ -1061,6 +1062,11 @@ bool IsMetricsReportingEnabled(const PrefService* local_state) { ...@@ -1061,6 +1062,11 @@ bool IsMetricsReportingEnabled(const PrefService* local_state) {
// Main routine for running as the Browser process. // Main routine for running as the Browser process.
int BrowserMain(const MainFunctionParams& parameters) { int BrowserMain(const MainFunctionParams& parameters) {
TRACE_EVENT_BEGIN("BrowserMain", 0, ""); TRACE_EVENT_BEGIN("BrowserMain", 0, "");
// If we're running tests (ui_task is non-null).
if (parameters.ui_task)
browser_defaults::enable_help_app = false;
scoped_ptr<BrowserMainParts> scoped_ptr<BrowserMainParts>
parts(BrowserMainParts::CreateBrowserMainParts(parameters)); parts(BrowserMainParts::CreateBrowserMainParts(parameters));
......
...@@ -101,6 +101,7 @@ without changes to the corresponding grd file. etaa --> ...@@ -101,6 +101,7 @@ without changes to the corresponding grd file. etaa -->
<include name="IDR_NETWORK_MENU_JS" file="resources\network_menu.js" flattenhtml="true" type="BINDATA" /> <include name="IDR_NETWORK_MENU_JS" file="resources\network_menu.js" flattenhtml="true" type="BINDATA" />
<include name="IDR_WRENCH_MENU_JS" file="resources\wrench_menu.js" flattenhtml="true" type="BINDATA" /> <include name="IDR_WRENCH_MENU_JS" file="resources\wrench_menu.js" flattenhtml="true" type="BINDATA" />
<include name="IDR_WRENCH_MENU_CSS" file="resources\wrench_menu.css" flattenhtml="true" type="BINDATA" /> <include name="IDR_WRENCH_MENU_CSS" file="resources\wrench_menu.css" flattenhtml="true" type="BINDATA" />
<include name="IDR_HELP_MANIFEST" file="resources\help_app\manifest.json" type="BINDATA" />
<!-- manifest file of ChromeVox accessibility extension --> <!-- manifest file of ChromeVox accessibility extension -->
<include name="IDR_CHROMEVOX_MANIFEST" file="resources\access_chromevox\manifest.json" type="BINDATA" /> <include name="IDR_CHROMEVOX_MANIFEST" file="resources\access_chromevox\manifest.json" type="BINDATA" />
</if> </if>
......
...@@ -86,4 +86,6 @@ bool bookmarks_enabled = true; ...@@ -86,4 +86,6 @@ bool bookmarks_enabled = true;
bool skip_restore = false; bool skip_restore = false;
bool enable_help_app = true;
} // namespace browser_defaults } // namespace browser_defaults
...@@ -84,6 +84,10 @@ extern bool bookmarks_enabled; ...@@ -84,6 +84,10 @@ extern bool bookmarks_enabled;
// Should we skip the user's preference for restore. False by default. // Should we skip the user's preference for restore. False by default.
extern bool skip_restore; extern bool skip_restore;
// Whether HelpApp is enabled. True by default. This is only used by Chrome OS
// today.
extern bool enable_help_app;
} // namespace browser_defaults } // namespace browser_defaults
#endif // CHROME_BROWSER_DEFAULTS_H_ #endif // CHROME_BROWSER_DEFAULTS_H_
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include "chrome/browser/browser_thread.h" #include "chrome/browser/browser_thread.h"
#include "chrome/browser/chrome_blob_storage_context.h" #include "chrome/browser/chrome_blob_storage_context.h"
#include "chrome/browser/content_settings/host_content_settings_map.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/dom_ui/ntp_resource_cache.h"
#include "chrome/browser/download/download_manager.h" #include "chrome/browser/download/download_manager.h"
#include "chrome/browser/extensions/default_apps.h" #include "chrome/browser/extensions/default_apps.h"
...@@ -371,29 +372,43 @@ void ProfileImpl::InitExtensions() { ...@@ -371,29 +372,43 @@ void ProfileImpl::InitExtensions() {
void ProfileImpl::RegisterComponentExtensions() { void ProfileImpl::RegisterComponentExtensions() {
// Register the component extensions. // 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; ComponentExtensionList component_extensions;
// Bookmark manager. // Bookmark manager.
component_extensions.push_back( component_extensions.push_back(std::make_pair(
std::make_pair("bookmark_manager", IDR_BOOKMARKS_MANIFEST)); FILE_PATH_LITERAL("bookmark_manager"),
IDR_BOOKMARKS_MANIFEST));
#if defined(TOUCH_UI) #if defined(TOUCH_UI)
component_extensions.push_back( component_extensions.push_back(std::make_pair(
std::make_pair("keyboard", IDR_KEYBOARD_MANIFEST)); 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 #endif
// Web Store. // Web Store.
component_extensions.push_back( component_extensions.push_back(std::make_pair(
std::make_pair("web_store", IDR_WEBSTORE_MANIFEST)); FILE_PATH_LITERAL("web_store"),
IDR_WEBSTORE_MANIFEST));
for (ComponentExtensionList::iterator iter = component_extensions.begin(); for (ComponentExtensionList::iterator iter = component_extensions.begin();
iter != component_extensions.end(); ++iter) { iter != component_extensions.end(); ++iter) {
FilePath path; FilePath path(iter->first);
if (PathService::Get(chrome::DIR_RESOURCES, &path)) { if (!path.IsAbsolute()) {
path = path.AppendASCII(iter->first); if (PathService::Get(chrome::DIR_RESOURCES, &path)) {
} else { path = path.Append(iter->first);
NOTREACHED(); } else {
NOTREACHED();
}
} }
std::string manifest = std::string manifest =
......
{
"key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqtHjbcvWT9Kbcapi0SaG28I66eRQHQvOqngCizm87qMb9RTgrftaUAGwPmxFLy4gBwO572N5ACpxsR6m2fRg9PSjeqaEojiFd28KY/b4VPoq/ukNOy97Ns7lPv4gmtNB8txuFIFuNw3s1k8nEJVAp659d7SnMsL4O1uXkW1huGQIDAQAB",
"name": "Help",
"version": "1.5",
"icons": {"16": "images/Help_16.png",
"24": "images/Help_24.png",
"48": "images/Help_48.png",
"128": "images/Help_128.png" },
"description": "Chrome OS Help",
"default_locale": "en",
"incognito": "split",
"permissions": [
"tabs",
"http://www.google.com/support/chromeos/*/*",
"https://www.google.com/support/chromeos/*/*"
],
"browser_action": {
"default_icon": "images/question_16b.png",
"default_title": "Help Center",
"default_popup": "popup.html"
}
}
...@@ -141,7 +141,7 @@ namespace { ...@@ -141,7 +141,7 @@ namespace {
// The URL to be loaded to display Help. // The URL to be loaded to display Help.
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
const char kHelpContentUrl[] = const char kHelpContentUrl[] =
"chrome-extension://oonnajkebngbfpmcpekfdeofeannbapp/main.html"; "chrome-extension://honijodknafkokifofgiaalefdiedpko/main.html";
const char kHelpContentOnlineUrl[] = const char kHelpContentOnlineUrl[] =
"http://www.google.com/support/chromeos/"; "http://www.google.com/support/chromeos/";
#else #else
......
...@@ -251,6 +251,11 @@ void BrowserActionButton::OnMouseExited(const views::MouseEvent& e) { ...@@ -251,6 +251,11 @@ void BrowserActionButton::OnMouseExited(const views::MouseEvent& e) {
void BrowserActionButton::ShowContextMenu(const gfx::Point& p, void BrowserActionButton::ShowContextMenu(const gfx::Point& p,
bool is_mouse_gesture) { bool is_mouse_gesture) {
// There is nothing in context menu that has sense to show for
// component extensions so just ignore the request.
if (extension()->location() == Extension::COMPONENT)
return;
showing_context_menu_ = true; showing_context_menu_ = true;
SetButtonPushed(); SetButtonPushed();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment