Adding ChromeVox as a component extensions (enabled only for ChromeOS, for now)

BUG=none
TEST=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72238 0039d316-1c4b-4281-b951-d872f2087c98
parent 50bc61d4
......@@ -100,6 +100,8 @@ 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_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" />
<!-- manifest file of ChromeVox accessibility extension -->
<include name="IDR_CHROMEVOX_MANIFEST" file="resources\access_chromevox\manifest.json" type="BINDATA" />
</if>
</includes>
</release>
......
......@@ -402,6 +402,20 @@ void ProfileImpl::RegisterComponentExtensions() {
extensions_service_->register_component_extension(
ExtensionService::ComponentExtensionInfo(manifest, path));
}
#if defined(OS_CHROMEOS)
// Register access extensions only if accessibility is enabled.
if (g_browser_process->local_state()->
GetBoolean(prefs::kAccessibilityEnabled)) {
FilePath path = FilePath(extension_misc::kAccessExtensionPath)
.AppendASCII("access_chromevox");
std::string manifest =
ResourceBundle::GetSharedInstance().GetRawDataResource(
IDR_CHROMEVOX_MANIFEST).as_string();
extensions_service_->register_component_extension(
ExtensionService::ComponentExtensionInfo(manifest, path));
}
#endif
}
void ProfileImpl::InstallDefaultApps() {
......
{
"key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDltVl1k15pjRzuZfMc3B69inxwm2bZeZ2O8/zFO+NluHnBm3GJ3fzdOoFGJd+M16I8p7zxxQyHeDMfWYASyCeB8XnUEDKjqNLQfCnncsANzHsYoEbYj2nEUML2P13b9q+AAvpCBpAJ4cZp81e9n1y/vbSXHE4385cgkKueItzikQIDAQAB",
"name": "ChromeVox",
"version": "1.0",
"description": "ChromeVox - Giving Voice to Chrome.",
"background_page": "chromevox/background/background.html",
"permissions": [
"bookmarks",
"tabs",
"experimental",
"http://*/",
"https://*/"
],
"content_scripts": [
{
"matches": [ "<all_urls>" ],
"all_frames": true,
"js": [
"build/build_defs.js",
"build/build_config_chrome.js",
"chromevox/injected/main.js",
"common/extension_bridge.js"
]
}
]
}
......@@ -332,4 +332,8 @@ namespace extension_misc {
const char* kBookmarkManagerId = "eemcgdkfndhakfknompkggombfjjjeno";
const char* kWebStoreAppId = "ahfgeienlihckogmohjhadlkjgocpleb";
const char* kAppsPromoHistogram = "Extensions.AppsPromo";
#if defined(OS_CHROMEOS)
const char* kAccessExtensionPath =
"/usr/share/chromeos-assets/accessibility/extensions";
#endif
}
......@@ -268,6 +268,12 @@ namespace extension_misc {
PROMO_SEEN,
PROMO_BUCKET_BOUNDARY
};
#if defined(OS_CHROMEOS)
// The directory path on a ChromeOS device where accessibility extensions are
// stored.
extern const char* kAccessExtensionPath;
#endif
} // extension_misc
#endif // CHROME_COMMON_EXTENSIONS_EXTENSION_CONSTANTS_H_
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