Chromium Code Reviews| 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..854450eef73a3a6a5b9297b4595c6bd5f9a41195 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,18 @@ 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; |
| + action_data.target_node_id = unique_id_; |
|
dmazzoni
2017/05/30 15:24:04
Wrong id - this should be GetData().id() - but act
|
| + target->delegate_->AccessibilityPerformAction(action_data); |
| + return S_OK; |
| + } |
| + |
| + return S_FALSE; |
| } |
| STDMETHODIMP AXPlatformNodeWin::get_accHelpTopic( |