Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(166)

Side by Side Diff: content/browser/accessibility/browser_accessibility_com_win.cc

Issue 2893683002: Selection follows focus/activedescendant in single selection containers (Closed)
Patch Set: Last test to fix we hope Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2017 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/accessibility/browser_accessibility_com_win.h" 5 #include "content/browser/accessibility/browser_accessibility_com_win.h"
6 6
7 #include <UIAutomationClient.h> 7 #include <UIAutomationClient.h>
8 #include <UIAutomationCoreApi.h> 8 #include <UIAutomationCoreApi.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 5333 matching lines...) Expand 10 before | Expand all | Expand 10 after
5344 break; 5344 break;
5345 case ui::AX_ROLE_LIST: 5345 case ui::AX_ROLE_LIST:
5346 ia_role = ROLE_SYSTEM_LIST; 5346 ia_role = ROLE_SYSTEM_LIST;
5347 ia_state |= STATE_SYSTEM_READONLY; 5347 ia_state |= STATE_SYSTEM_READONLY;
5348 break; 5348 break;
5349 case ui::AX_ROLE_LIST_BOX: 5349 case ui::AX_ROLE_LIST_BOX:
5350 ia_role = ROLE_SYSTEM_LIST; 5350 ia_role = ROLE_SYSTEM_LIST;
5351 break; 5351 break;
5352 case ui::AX_ROLE_LIST_BOX_OPTION: 5352 case ui::AX_ROLE_LIST_BOX_OPTION:
5353 ia_role = ROLE_SYSTEM_LISTITEM; 5353 ia_role = ROLE_SYSTEM_LISTITEM;
5354 if (ia_state & STATE_SYSTEM_SELECTABLE) {
5355 ia_state |= STATE_SYSTEM_FOCUSABLE;
5356 }
5357 break; 5354 break;
5358 case ui::AX_ROLE_LIST_ITEM: 5355 case ui::AX_ROLE_LIST_ITEM:
5359 ia_role = ROLE_SYSTEM_LISTITEM; 5356 ia_role = ROLE_SYSTEM_LISTITEM;
5360 ia_state |= STATE_SYSTEM_READONLY; 5357 ia_state |= STATE_SYSTEM_READONLY;
5361 break; 5358 break;
5362 case ui::AX_ROLE_MAIN: 5359 case ui::AX_ROLE_MAIN:
5363 ia_role = ROLE_SYSTEM_GROUPING; 5360 ia_role = ROLE_SYSTEM_GROUPING;
5364 ia2_role = IA2_ROLE_PARAGRAPH; 5361 ia2_role = IA2_ROLE_PARAGRAPH;
5365 break; 5362 break;
5366 case ui::AX_ROLE_MARK: 5363 case ui::AX_ROLE_MARK:
(...skipping 25 matching lines...) Expand all
5392 ia_role = ROLE_SYSTEM_MENUITEM; 5389 ia_role = ROLE_SYSTEM_MENUITEM;
5393 ia2_role = IA2_ROLE_RADIO_MENU_ITEM; 5390 ia2_role = IA2_ROLE_RADIO_MENU_ITEM;
5394 break; 5391 break;
5395 case ui::AX_ROLE_MENU_LIST_POPUP: 5392 case ui::AX_ROLE_MENU_LIST_POPUP:
5396 ia_role = ROLE_SYSTEM_LIST; 5393 ia_role = ROLE_SYSTEM_LIST;
5397 ia2_state &= ~(IA2_STATE_EDITABLE); 5394 ia2_state &= ~(IA2_STATE_EDITABLE);
5398 break; 5395 break;
5399 case ui::AX_ROLE_MENU_LIST_OPTION: 5396 case ui::AX_ROLE_MENU_LIST_OPTION:
5400 ia_role = ROLE_SYSTEM_LISTITEM; 5397 ia_role = ROLE_SYSTEM_LISTITEM;
5401 ia2_state &= ~(IA2_STATE_EDITABLE); 5398 ia2_state &= ~(IA2_STATE_EDITABLE);
5402 if (ia_state & STATE_SYSTEM_SELECTABLE) {
5403 ia_state |= STATE_SYSTEM_FOCUSABLE;
5404 }
5405 break; 5399 break;
5406 case ui::AX_ROLE_METER: 5400 case ui::AX_ROLE_METER:
5407 role_name = html_tag; 5401 role_name = html_tag;
5408 ia_role = ROLE_SYSTEM_PROGRESSBAR; 5402 ia_role = ROLE_SYSTEM_PROGRESSBAR;
5409 break; 5403 break;
5410 case ui::AX_ROLE_NAVIGATION: 5404 case ui::AX_ROLE_NAVIGATION:
5411 ia_role = ROLE_SYSTEM_GROUPING; 5405 ia_role = ROLE_SYSTEM_GROUPING;
5412 ia2_role = IA2_ROLE_SECTION; 5406 ia2_role = IA2_ROLE_SECTION;
5413 break; 5407 break;
5414 case ui::AX_ROLE_NOTE: 5408 case ui::AX_ROLE_NOTE:
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
5645 5639
5646 BrowserAccessibilityComWin* ToBrowserAccessibilityComWin( 5640 BrowserAccessibilityComWin* ToBrowserAccessibilityComWin(
5647 BrowserAccessibility* obj) { 5641 BrowserAccessibility* obj) {
5648 if (!obj || !obj->IsNative()) 5642 if (!obj || !obj->IsNative())
5649 return nullptr; 5643 return nullptr;
5650 auto* result = static_cast<BrowserAccessibilityWin*>(obj)->GetCOM(); 5644 auto* result = static_cast<BrowserAccessibilityWin*>(obj)->GetCOM();
5651 return result; 5645 return result;
5652 } 5646 }
5653 5647
5654 } // namespace content 5648 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698