| Index: ui/accessibility/platform/ax_platform_node_win.cc
|
| diff --git a/ui/accessibility/platform/ax_platform_node_win.cc b/ui/accessibility/platform/ax_platform_node_win.cc
|
| index 6dcdc91e23134602f6be614e7d9fd9f4f6b9761c..801758492f9abd52d3847f6d55d64538c39d0ae5 100644
|
| --- a/ui/accessibility/platform/ax_platform_node_win.cc
|
| +++ b/ui/accessibility/platform/ax_platform_node_win.cc
|
| @@ -538,8 +538,6 @@ STDMETHODIMP AXPlatformNodeWin::put_accValue(VARIANT var_id,
|
| return E_FAIL;
|
| }
|
|
|
| -// IAccessible functions not supported.
|
| -
|
| STDMETHODIMP AXPlatformNodeWin::get_accSelection(VARIANT* selected) {
|
| COM_OBJECT_VALIDATE_1_ARG(selected);
|
| if (selected)
|
| @@ -549,7 +547,17 @@ STDMETHODIMP AXPlatformNodeWin::get_accSelection(VARIANT* selected) {
|
|
|
| STDMETHODIMP AXPlatformNodeWin::accSelect(
|
| LONG flagsSelect, VARIANT var_id) {
|
| - return E_NOTIMPL;
|
| + AXPlatformNodeWin* target;
|
| + COM_OBJECT_VALIDATE_VAR_ID_AND_GET_TARGET(var_id, target);
|
| +
|
| + if (flagsSelect & SELFLAG_TAKEFOCUS) {
|
| + ui::AXActionData action_data;
|
| + action_data.action = ui::AX_ACTION_FOCUS;
|
| + target->delegate_->AccessibilityPerformAction(action_data);
|
| + return S_OK;
|
| + }
|
| +
|
| + return S_FALSE;
|
| }
|
|
|
| STDMETHODIMP AXPlatformNodeWin::get_accHelpTopic(
|
|
|