| 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 cac4f2c50887c01ace6db72238ab3b5640094ed7..63957ae5049cd631c65a57a630c6e295f667431e 100644
|
| --- a/chrome/browser/accessibility/accessibility_extension_api.cc
|
| +++ b/chrome/browser/accessibility/accessibility_extension_api.cc
|
| @@ -25,6 +25,10 @@
|
| #include "extensions/common/error_utils.h"
|
| #include "extensions/common/manifest_handlers/background_info.h"
|
|
|
| +#if defined(OS_CHROMEOS)
|
| +#include "chrome/browser/chromeos/ui/accessibility_focus_ring_controller.h"
|
| +#endif
|
| +
|
| namespace keys = extension_accessibility_api_constants;
|
| namespace accessibility_private = extensions::api::accessibility_private;
|
|
|
| @@ -308,3 +312,29 @@ bool AccessibilityPrivateGetAlertsForTabFunction::RunSync() {
|
| SetResult(alerts_value);
|
| return true;
|
| }
|
| +
|
| +bool AccessibilityPrivateSetFocusRingFunction::RunSync() {
|
| +#if defined(OS_CHROMEOS)
|
| + base::ListValue* rect_values = NULL;
|
| + EXTENSION_FUNCTION_VALIDATE(args_->GetList(0, &rect_values));
|
| +
|
| + std::vector<gfx::Rect> rects;
|
| + for (size_t i = 0; i < rect_values->GetSize(); ++i) {
|
| + base::DictionaryValue* rect_value = NULL;
|
| + EXTENSION_FUNCTION_VALIDATE(rect_values->GetDictionary(i, &rect_value));
|
| + int left, top, width, height;
|
| + EXTENSION_FUNCTION_VALIDATE(rect_value->GetInteger("left", &left));
|
| + EXTENSION_FUNCTION_VALIDATE(rect_value->GetInteger("top", &top));
|
| + EXTENSION_FUNCTION_VALIDATE(rect_value->GetInteger("width", &width));
|
| + EXTENSION_FUNCTION_VALIDATE(rect_value->GetInteger("height", &height));
|
| + rects.push_back(gfx::Rect(left, top, width, height));
|
| + }
|
| +
|
| + chromeos::AccessibilityFocusRingController::GetInstance()->SetFocusRing(
|
| + rects);
|
| + return true;
|
| +#endif // defined(OS_CHROMEOS)
|
| +
|
| + error_ = keys:: kErrorNotSupported;
|
| + return false;
|
| +}
|
|
|