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

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

Issue 2694903010: AX checked state changes (Closed)
Patch Set: Test checkbox attribute in automation API, fix whitespace, remove change to third party code Created 3 years, 9 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 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 437 matching lines...) Expand 10 before | Expand all | Expand 10 after
448 return ATK_ROLE_SECTION; 448 return ATK_ROLE_SECTION;
449 #endif 449 #endif
450 case ui::AX_ROLE_WINDOW: 450 case ui::AX_ROLE_WINDOW:
451 return ATK_ROLE_WINDOW; 451 return ATK_ROLE_WINDOW;
452 default: 452 default:
453 return ATK_ROLE_UNKNOWN; 453 return ATK_ROLE_UNKNOWN;
454 } 454 }
455 } 455 }
456 456
457 void AXPlatformNodeAuraLinux::GetAtkState(AtkStateSet* atk_state_set) { 457 void AXPlatformNodeAuraLinux::GetAtkState(AtkStateSet* atk_state_set) {
458 uint32_t state = GetData().state; 458 const uint32_t state = GetData().state;
459 459
460 if (state & (1 << ui::AX_STATE_CHECKED))
461 atk_state_set_add_state(atk_state_set, ATK_STATE_CHECKED);
462 if (state & (1 << ui::AX_STATE_DEFAULT)) 460 if (state & (1 << ui::AX_STATE_DEFAULT))
463 atk_state_set_add_state(atk_state_set, ATK_STATE_DEFAULT); 461 atk_state_set_add_state(atk_state_set, ATK_STATE_DEFAULT);
464 if (state & (1 << ui::AX_STATE_EDITABLE)) 462 if (state & (1 << ui::AX_STATE_EDITABLE))
465 atk_state_set_add_state(atk_state_set, ATK_STATE_EDITABLE); 463 atk_state_set_add_state(atk_state_set, ATK_STATE_EDITABLE);
466 if (!(state & (1 << ui::AX_STATE_DISABLED))) 464 if (!(state & (1 << ui::AX_STATE_DISABLED)))
467 atk_state_set_add_state(atk_state_set, ATK_STATE_ENABLED); 465 atk_state_set_add_state(atk_state_set, ATK_STATE_ENABLED);
468 if (state & (1 << ui::AX_STATE_EXPANDED)) 466 if (state & (1 << ui::AX_STATE_EXPANDED))
469 atk_state_set_add_state(atk_state_set, ATK_STATE_EXPANDED); 467 atk_state_set_add_state(atk_state_set, ATK_STATE_EXPANDED);
470 if (state & (1 << ui::AX_STATE_FOCUSABLE)) 468 if (state & (1 << ui::AX_STATE_FOCUSABLE))
471 atk_state_set_add_state(atk_state_set, ATK_STATE_FOCUSABLE); 469 atk_state_set_add_state(atk_state_set, ATK_STATE_FOCUSABLE);
472 if (state & (1 << ui::AX_STATE_PRESSED)) 470 if (state & (1 << ui::AX_STATE_PRESSED))
473 atk_state_set_add_state(atk_state_set, ATK_STATE_PRESSED); 471 atk_state_set_add_state(atk_state_set, ATK_STATE_PRESSED);
474 if (state & (1 << ui::AX_STATE_SELECTABLE)) 472 if (state & (1 << ui::AX_STATE_SELECTABLE))
475 atk_state_set_add_state(atk_state_set, ATK_STATE_SELECTABLE); 473 atk_state_set_add_state(atk_state_set, ATK_STATE_SELECTABLE);
476 if (state & (1 << ui::AX_STATE_SELECTED)) 474 if (state & (1 << ui::AX_STATE_SELECTED))
477 atk_state_set_add_state(atk_state_set, ATK_STATE_SELECTED); 475 atk_state_set_add_state(atk_state_set, ATK_STATE_SELECTED);
478 476
477 // Checked state
478 const int checked = GetIntAttribute(ui::AX_ATTR_CHECKED_STATE);
479 switch (checked) {
480 case ui::AX_CHECKED_STATE_MIXED:
481 atk_state_set_add_state(atk_state_set, ATK_STATE_INDETERMINATE);
482 break;
483 case ui::AX_CHECKED_STATE_TRUE:
484 atk_state_set_add_state(atk_state_set, ATK_STATE_CHECKED);
485 break;
486 default:
487 break;
488 }
489
479 if (delegate_->GetFocus() == GetNativeViewAccessible()) 490 if (delegate_->GetFocus() == GetNativeViewAccessible())
480 atk_state_set_add_state(atk_state_set, ATK_STATE_FOCUSED); 491 atk_state_set_add_state(atk_state_set, ATK_STATE_FOCUSED);
481 } 492 }
482 493
483 void AXPlatformNodeAuraLinux::GetAtkRelations(AtkRelationSet* atk_relation_set) 494 void AXPlatformNodeAuraLinux::GetAtkRelations(AtkRelationSet* atk_relation_set)
484 { 495 {
485 } 496 }
486 497
487 AXPlatformNodeAuraLinux::AXPlatformNodeAuraLinux() 498 AXPlatformNodeAuraLinux::AXPlatformNodeAuraLinux()
488 : atk_object_(nullptr) { 499 : atk_object_(nullptr) {
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 561
551 void AXPlatformNodeAuraLinux::GetSize(gint* width, gint* height) { 562 void AXPlatformNodeAuraLinux::GetSize(gint* width, gint* height) {
552 gfx::Rect rect_size = gfx::ToEnclosingRect(GetData().location); 563 gfx::Rect rect_size = gfx::ToEnclosingRect(GetData().location);
553 if (width) 564 if (width)
554 *width = rect_size.width(); 565 *width = rect_size.width();
555 if (height) 566 if (height)
556 *height = rect_size.height(); 567 *height = rect_size.height();
557 } 568 }
558 569
559 } // namespace ui 570 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698