diff options
-rw-r--r-- | chrome/browser/browser_resources.grd | 2 | ||||
-rw-r--r-- | chrome/browser/profiles/profile_impl.cc | 14 | ||||
-rw-r--r-- | chrome/browser/resources/access_chromevox/manifest.json | 26 | ||||
-rw-r--r-- | chrome/common/extensions/extension_constants.cc | 4 | ||||
-rw-r--r-- | chrome/common/extensions/extension_constants.h | 6 |
5 files changed, 52 insertions, 0 deletions
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd index 46cb09e..907deb4 100644 --- a/chrome/browser/browser_resources.grd +++ b/chrome/browser/browser_resources.grd @@ -101,6 +101,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> diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc index 3b540d1..05e0436 100644 --- a/chrome/browser/profiles/profile_impl.cc +++ b/chrome/browser/profiles/profile_impl.cc @@ -406,6 +406,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() { diff --git a/chrome/browser/resources/access_chromevox/manifest.json b/chrome/browser/resources/access_chromevox/manifest.json new file mode 100644 index 0000000..9d37904 --- /dev/null +++ b/chrome/browser/resources/access_chromevox/manifest.json @@ -0,0 +1,26 @@ +{ + "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" + ] + } + ] +}
\ No newline at end of file diff --git a/chrome/common/extensions/extension_constants.cc b/chrome/common/extensions/extension_constants.cc index 5235aed..8c5b495 100644 --- a/chrome/common/extensions/extension_constants.cc +++ b/chrome/common/extensions/extension_constants.cc @@ -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 } diff --git a/chrome/common/extensions/extension_constants.h b/chrome/common/extensions/extension_constants.h index d67966f..5e92dec 100644 --- a/chrome/common/extensions/extension_constants.h +++ b/chrome/common/extensions/extension_constants.h @@ -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_ |