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

Side by Side Diff: ui/accessibility/platform/ax_platform_node_auralinux.cc

Issue 2694903010: AX checked state changes (Closed)
Patch Set: git cl try Created 3 years, 8 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
« no previous file with comments | « ui/accessibility/ax_tree_unittest.cc ('k') | ui/accessibility/platform/ax_platform_node_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "ui/accessibility/platform/ax_platform_node_auralinux.h" 5 #include "ui/accessibility/platform/ax_platform_node_auralinux.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/strings/sys_string_conversions.h" 10 #include "base/strings/sys_string_conversions.h"
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after
454 return ATK_ROLE_SECTION; 454 return ATK_ROLE_SECTION;
455 #endif 455 #endif
456 case ui::AX_ROLE_WINDOW: 456 case ui::AX_ROLE_WINDOW:
457 return ATK_ROLE_WINDOW; 457 return ATK_ROLE_WINDOW;
458 default: 458 default:
459 return ATK_ROLE_UNKNOWN; 459 return ATK_ROLE_UNKNOWN;
460 } 460 }
461 } 461 }
462 462
463 void AXPlatformNodeAuraLinux::GetAtkState(AtkStateSet* atk_state_set) { 463 void AXPlatformNodeAuraLinux::GetAtkState(AtkStateSet* atk_state_set) {
464 uint32_t state = GetData().state; 464 const uint32_t state = GetData().state;
465 465
466 if (state & (1 << ui::AX_STATE_CHECKED))
467 atk_state_set_add_state(atk_state_set, ATK_STATE_CHECKED);
468 if (state & (1 << ui::AX_STATE_DEFAULT)) 466 if (state & (1 << ui::AX_STATE_DEFAULT))
469 atk_state_set_add_state(atk_state_set, ATK_STATE_DEFAULT); 467 atk_state_set_add_state(atk_state_set, ATK_STATE_DEFAULT);
470 if (state & (1 << ui::AX_STATE_EDITABLE)) 468 if (state & (1 << ui::AX_STATE_EDITABLE))
471 atk_state_set_add_state(atk_state_set, ATK_STATE_EDITABLE); 469 atk_state_set_add_state(atk_state_set, ATK_STATE_EDITABLE);
472 if (!(state & (1 << ui::AX_STATE_DISABLED))) 470 if (!(state & (1 << ui::AX_STATE_DISABLED)))
473 atk_state_set_add_state(atk_state_set, ATK_STATE_ENABLED); 471 atk_state_set_add_state(atk_state_set, ATK_STATE_ENABLED);
474 if (state & (1 << ui::AX_STATE_EXPANDED)) 472 if (state & (1 << ui::AX_STATE_EXPANDED))
475 atk_state_set_add_state(atk_state_set, ATK_STATE_EXPANDED); 473 atk_state_set_add_state(atk_state_set, ATK_STATE_EXPANDED);
476 if (state & (1 << ui::AX_STATE_FOCUSABLE)) 474 if (state & (1 << ui::AX_STATE_FOCUSABLE))
477 atk_state_set_add_state(atk_state_set, ATK_STATE_FOCUSABLE); 475 atk_state_set_add_state(atk_state_set, ATK_STATE_FOCUSABLE);
478 if (state & (1 << ui::AX_STATE_PRESSED)) 476 if (state & (1 << ui::AX_STATE_PRESSED))
479 atk_state_set_add_state(atk_state_set, ATK_STATE_PRESSED); 477 atk_state_set_add_state(atk_state_set, ATK_STATE_PRESSED);
480 if (state & (1 << ui::AX_STATE_SELECTABLE)) 478 if (state & (1 << ui::AX_STATE_SELECTABLE))
481 atk_state_set_add_state(atk_state_set, ATK_STATE_SELECTABLE); 479 atk_state_set_add_state(atk_state_set, ATK_STATE_SELECTABLE);
482 if (state & (1 << ui::AX_STATE_SELECTED)) 480 if (state & (1 << ui::AX_STATE_SELECTED))
483 atk_state_set_add_state(atk_state_set, ATK_STATE_SELECTED); 481 atk_state_set_add_state(atk_state_set, ATK_STATE_SELECTED);
484 482
483 // Checked state
484 const auto checked_state = static_cast<ui::AXCheckedState>(
485 GetIntAttribute(ui::AX_ATTR_CHECKED_STATE));
486 switch (checked_state) {
487 case ui::AX_CHECKED_STATE_MIXED:
488 atk_state_set_add_state(atk_state_set, ATK_STATE_INDETERMINATE);
489 break;
490 case ui::AX_CHECKED_STATE_TRUE:
491 atk_state_set_add_state(atk_state_set, ATK_STATE_CHECKED);
492 break;
493 default:
494 break;
495 }
496
485 if (delegate_->GetFocus() == GetNativeViewAccessible()) 497 if (delegate_->GetFocus() == GetNativeViewAccessible())
486 atk_state_set_add_state(atk_state_set, ATK_STATE_FOCUSED); 498 atk_state_set_add_state(atk_state_set, ATK_STATE_FOCUSED);
487 } 499 }
488 500
489 void AXPlatformNodeAuraLinux::GetAtkRelations(AtkRelationSet* atk_relation_set) 501 void AXPlatformNodeAuraLinux::GetAtkRelations(AtkRelationSet* atk_relation_set)
490 { 502 {
491 } 503 }
492 504
493 AXPlatformNodeAuraLinux::AXPlatformNodeAuraLinux() 505 AXPlatformNodeAuraLinux::AXPlatformNodeAuraLinux()
494 : atk_object_(nullptr) { 506 : atk_object_(nullptr) {
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 568
557 void AXPlatformNodeAuraLinux::GetSize(gint* width, gint* height) { 569 void AXPlatformNodeAuraLinux::GetSize(gint* width, gint* height) {
558 gfx::Rect rect_size = gfx::ToEnclosingRect(GetData().location); 570 gfx::Rect rect_size = gfx::ToEnclosingRect(GetData().location);
559 if (width) 571 if (width)
560 *width = rect_size.width(); 572 *width = rect_size.width();
561 if (height) 573 if (height)
562 *height = rect_size.height(); 574 *height = rect_size.height();
563 } 575 }
564 576
565 } // namespace ui 577 } // namespace ui
OLDNEW
« no previous file with comments | « ui/accessibility/ax_tree_unittest.cc ('k') | ui/accessibility/platform/ax_platform_node_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698