| Index: chrome/browser/accessibility/accessibility_extension_api.cc
|
| diff --git a/chrome/browser/accessibility/accessibility_extension_api.cc b/chrome/browser/accessibility/accessibility_extension_api.cc
|
| index 5efdaeca45c387d517dfd35c19a562ba71143ed1..f5562ce64932e9f748cc59f93ad9644cc31047a7 100644
|
| --- a/chrome/browser/accessibility/accessibility_extension_api.cc
|
| +++ b/chrome/browser/accessibility/accessibility_extension_api.cc
|
| @@ -10,6 +10,8 @@
|
| #include "chrome/browser/accessibility/accessibility_extension_api_constants.h"
|
| #include "chrome/browser/extensions/api/tabs/tabs_constants.h"
|
| #include "chrome/browser/extensions/event_router.h"
|
| +#include "chrome/browser/extensions/extension_host.h"
|
| +#include "chrome/browser/extensions/extension_service.h"
|
| #include "chrome/browser/extensions/extension_system.h"
|
| #include "chrome/browser/extensions/extension_tab_util.h"
|
| #include "chrome/browser/infobars/confirm_infobar_delegate.h"
|
| @@ -17,7 +19,9 @@
|
| #include "chrome/browser/infobars/infobar_service.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/common/extensions/api/experimental_accessibility.h"
|
| +#include "chrome/common/extensions/background_info.h"
|
| #include "content/public/browser/browser_accessibility_state.h"
|
| +#include "extensions/browser/lazy_background_task_queue.h"
|
| #include "extensions/common/error_utils.h"
|
|
|
| namespace keys = extension_accessibility_api_constants;
|
| @@ -164,6 +168,33 @@ void ExtensionAccessibilityEventRouter::OnMenuClosed(
|
| args.Pass());
|
| }
|
|
|
| +void ExtensionAccessibilityEventRouter::OnChromeVoxLoadStateChanged(
|
| + Profile* profile,
|
| + bool loading,
|
| + bool make_announcements) {
|
| + scoped_ptr<base::ListValue> event_args(new base::ListValue());
|
| + event_args->Append(base::Value::CreateBooleanValue(loading));
|
| + event_args->Append(base::Value::CreateBooleanValue(make_announcements));
|
| + ExtensionAccessibilityEventRouter::DispatchEventToChromeVox(profile,
|
| + experimental_accessibility::OnChromeVoxLoadStateChanged::kEventName,
|
| + event_args.Pass());
|
| +}
|
| +
|
| +// Static.
|
| +void ExtensionAccessibilityEventRouter::DispatchEventToChromeVox(
|
| + Profile* profile,
|
| + const char* event_name,
|
| + scoped_ptr<base::ListValue> event_args) {
|
| + extensions::ExtensionSystem* system =
|
| + extensions::ExtensionSystem::Get(profile);
|
| + if (!system)
|
| + return;
|
| + scoped_ptr<extensions::Event> event(new extensions::Event(event_name,
|
| + event_args.Pass()));
|
| + system->event_router()->DispatchEventToExtension(
|
| + extension_misc::kChromeVoxExtensionId, event.Pass());
|
| +}
|
| +
|
| void ExtensionAccessibilityEventRouter::DispatchEvent(
|
| Profile* profile,
|
| const char* event_name,
|
|
|