OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 "chrome/browser/browser_accessibility.h" | 5 #include "chrome/browser/browser_accessibility.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "chrome/browser/browser_accessibility_manager.h" | 8 #include "chrome/browser/browser_accessibility_manager.h" |
9 | 9 |
10 using webkit_glue::WebAccessibility; | 10 using webkit_glue::WebAccessibility; |
(...skipping 541 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
552 return BrowserAccessibilityManager::GetInstance()-> | 552 return BrowserAccessibilityManager::GetInstance()-> |
553 RequestAccessibilityInfo(&in_params, routing_id_, process_id_); | 553 RequestAccessibilityInfo(&in_params, routing_id_, process_id_); |
554 } | 554 } |
555 | 555 |
556 const WebAccessibility::OutParams& BrowserAccessibility::response() { | 556 const WebAccessibility::OutParams& BrowserAccessibility::response() { |
557 return BrowserAccessibilityManager::GetInstance()->response(); | 557 return BrowserAccessibilityManager::GetInstance()->response(); |
558 } | 558 } |
559 | 559 |
560 long BrowserAccessibility::MSAARole(long browser_accessibility_role) { | 560 long BrowserAccessibility::MSAARole(long browser_accessibility_role) { |
561 switch (browser_accessibility_role) { | 561 switch (browser_accessibility_role) { |
562 case WebAccessibility::ROLE_PUSHBUTTON : | 562 case WebAccessibility::ROLE_CELL: |
| 563 return ROLE_SYSTEM_CELL; |
| 564 case WebAccessibility::ROLE_CHECKBUTTON: |
| 565 return ROLE_SYSTEM_CHECKBUTTON; |
| 566 case WebAccessibility::ROLE_COLUMN: |
| 567 return ROLE_SYSTEM_COLUMN; |
| 568 case WebAccessibility::ROLE_COLUMNHEADER: |
| 569 return ROLE_SYSTEM_COLUMNHEADER; |
| 570 case WebAccessibility::ROLE_GRAPHIC: |
| 571 return ROLE_SYSTEM_GRAPHIC; |
| 572 case WebAccessibility::ROLE_GROUPING: |
| 573 return ROLE_SYSTEM_GROUPING; |
| 574 case WebAccessibility::ROLE_LINK: |
| 575 return ROLE_SYSTEM_LINK; |
| 576 case WebAccessibility::ROLE_LIST: |
| 577 case WebAccessibility::ROLE_LISTBOX: |
| 578 return ROLE_SYSTEM_LIST; |
| 579 case WebAccessibility::ROLE_MENUITEM: |
| 580 return ROLE_SYSTEM_MENUITEM; |
| 581 case WebAccessibility::ROLE_MENUPOPUP: |
| 582 return ROLE_SYSTEM_MENUPOPUP; |
| 583 case WebAccessibility::ROLE_OUTLINE: |
| 584 return ROLE_SYSTEM_OUTLINE; |
| 585 case WebAccessibility::ROLE_PAGETABLIST: |
| 586 return ROLE_SYSTEM_PAGETABLIST; |
| 587 case WebAccessibility::ROLE_PROGRESSBAR: |
| 588 return ROLE_SYSTEM_PROGRESSBAR; |
| 589 case WebAccessibility::ROLE_PUSHBUTTON: |
563 return ROLE_SYSTEM_PUSHBUTTON; | 590 return ROLE_SYSTEM_PUSHBUTTON; |
564 case WebAccessibility::ROLE_RADIOBUTTON : | 591 case WebAccessibility::ROLE_RADIOBUTTON: |
565 return ROLE_SYSTEM_RADIOBUTTON; | 592 return ROLE_SYSTEM_RADIOBUTTON; |
566 case WebAccessibility::ROLE_CHECKBUTTON : | 593 case WebAccessibility::ROLE_ROW: |
567 return ROLE_SYSTEM_CHECKBUTTON; | 594 return ROLE_SYSTEM_ROW; |
568 case WebAccessibility::ROLE_SLIDER : | 595 case WebAccessibility::ROLE_ROWHEADER: |
| 596 return ROLE_SYSTEM_ROWHEADER; |
| 597 case WebAccessibility::ROLE_SLIDER: |
569 return ROLE_SYSTEM_SLIDER; | 598 return ROLE_SYSTEM_SLIDER; |
570 case WebAccessibility::ROLE_PAGETABLIST : | 599 case WebAccessibility::ROLE_STATICTEXT: |
571 return ROLE_SYSTEM_PAGETABLIST; | 600 return ROLE_SYSTEM_STATICTEXT; |
572 case WebAccessibility::ROLE_TEXT : | 601 case WebAccessibility::ROLE_TABLE: |
| 602 return ROLE_SYSTEM_TABLE; |
| 603 case WebAccessibility::ROLE_TEXT: |
573 return ROLE_SYSTEM_TEXT; | 604 return ROLE_SYSTEM_TEXT; |
574 case WebAccessibility::ROLE_STATICTEXT : | 605 case WebAccessibility::ROLE_CLIENT: |
575 return ROLE_SYSTEM_STATICTEXT; | |
576 case WebAccessibility::ROLE_OUTLINE : | |
577 return ROLE_SYSTEM_OUTLINE; | |
578 case WebAccessibility::ROLE_COLUMN : | |
579 return ROLE_SYSTEM_COLUMN; | |
580 case WebAccessibility::ROLE_ROW : | |
581 return ROLE_SYSTEM_ROW; | |
582 case WebAccessibility::ROLE_GROUPING : | |
583 return ROLE_SYSTEM_GROUPING; | |
584 case WebAccessibility::ROLE_LIST : | |
585 return ROLE_SYSTEM_LIST; | |
586 case WebAccessibility::ROLE_TABLE : | |
587 return ROLE_SYSTEM_TABLE; | |
588 case WebAccessibility::ROLE_LINK : | |
589 return ROLE_SYSTEM_LINK; | |
590 case WebAccessibility::ROLE_GRAPHIC : | |
591 return ROLE_SYSTEM_GRAPHIC; | |
592 case WebAccessibility::ROLE_CLIENT : | |
593 default: | 606 default: |
594 // This is the default role for MSAA. | 607 // This is the default role for MSAA. |
595 return ROLE_SYSTEM_CLIENT; | 608 return ROLE_SYSTEM_CLIENT; |
596 } | 609 } |
597 } | 610 } |
598 | 611 |
599 long BrowserAccessibility::MSAAState(long browser_accessibility_state) { | 612 long BrowserAccessibility::MSAAState(long browser_accessibility_state) { |
600 long state = 0; | 613 long state = 0; |
601 | 614 |
602 if ((browser_accessibility_state >> WebAccessibility::STATE_LINKED) & 1) | 615 if ((browser_accessibility_state >> WebAccessibility::STATE_CHECKED) & 1) |
603 state |= STATE_SYSTEM_LINKED; | 616 state |= STATE_SYSTEM_CHECKED; |
| 617 |
| 618 if ((browser_accessibility_state >> WebAccessibility::STATE_FOCUSABLE) & 1) |
| 619 state |= STATE_SYSTEM_FOCUSABLE; |
| 620 |
| 621 if ((browser_accessibility_state >> WebAccessibility::STATE_FOCUSED) & 1) |
| 622 state |= STATE_SYSTEM_FOCUSED; |
604 | 623 |
605 if ((browser_accessibility_state >> WebAccessibility::STATE_HOTTRACKED) & 1) | 624 if ((browser_accessibility_state >> WebAccessibility::STATE_HOTTRACKED) & 1) |
606 state |= STATE_SYSTEM_HOTTRACKED; | 625 state |= STATE_SYSTEM_HOTTRACKED; |
607 | 626 |
608 if ((browser_accessibility_state >> WebAccessibility::STATE_UNAVAILABLE) & 1) | 627 if ((browser_accessibility_state >> |
609 state |= STATE_SYSTEM_UNAVAILABLE; | 628 WebAccessibility::STATE_INDETERMINATE) & 1) { |
| 629 state |= STATE_SYSTEM_INDETERMINATE; |
| 630 } |
610 | 631 |
611 if ((browser_accessibility_state >> WebAccessibility::STATE_READONLY) & 1) | 632 if ((browser_accessibility_state >> WebAccessibility::STATE_LINKED) & 1) |
612 state |= STATE_SYSTEM_READONLY; | 633 state |= STATE_SYSTEM_LINKED; |
613 | |
614 if ((browser_accessibility_state >> WebAccessibility::STATE_OFFSCREEN) & 1) | |
615 state |= STATE_SYSTEM_OFFSCREEN; | |
616 | 634 |
617 if ((browser_accessibility_state >> | 635 if ((browser_accessibility_state >> |
618 WebAccessibility::STATE_MULTISELECTABLE) & 1) { | 636 WebAccessibility::STATE_MULTISELECTABLE) & 1) { |
619 state |= STATE_SYSTEM_MULTISELECTABLE; | 637 state |= STATE_SYSTEM_MULTISELECTABLE; |
620 } | 638 } |
621 | 639 |
622 if ((browser_accessibility_state >> WebAccessibility::STATE_PROTECTED) & 1) | 640 if ((browser_accessibility_state >> WebAccessibility::STATE_OFFSCREEN) & 1) |
623 state |= STATE_SYSTEM_PROTECTED; | 641 state |= STATE_SYSTEM_OFFSCREEN; |
624 | |
625 if ((browser_accessibility_state >> | |
626 WebAccessibility::STATE_INDETERMINATE) & 1) { | |
627 state |= STATE_SYSTEM_INDETERMINATE; | |
628 } | |
629 | |
630 if ((browser_accessibility_state >> WebAccessibility::STATE_CHECKED) & 1) | |
631 state |= STATE_SYSTEM_CHECKED; | |
632 | 642 |
633 if ((browser_accessibility_state >> WebAccessibility::STATE_PRESSED) & 1) | 643 if ((browser_accessibility_state >> WebAccessibility::STATE_PRESSED) & 1) |
634 state |= STATE_SYSTEM_PRESSED; | 644 state |= STATE_SYSTEM_PRESSED; |
635 | 645 |
636 if ((browser_accessibility_state >> WebAccessibility::STATE_FOCUSED) & 1) | 646 if ((browser_accessibility_state >> WebAccessibility::STATE_PROTECTED) & 1) |
637 state |= STATE_SYSTEM_FOCUSED; | 647 state |= STATE_SYSTEM_PROTECTED; |
| 648 |
| 649 if ((browser_accessibility_state >> WebAccessibility::STATE_READONLY) & 1) |
| 650 state |= STATE_SYSTEM_READONLY; |
638 | 651 |
639 if ((browser_accessibility_state >> WebAccessibility::STATE_TRAVERSED) & 1) | 652 if ((browser_accessibility_state >> WebAccessibility::STATE_TRAVERSED) & 1) |
640 state |= STATE_SYSTEM_TRAVERSED; | 653 state |= STATE_SYSTEM_TRAVERSED; |
641 | 654 |
642 if ((browser_accessibility_state >> WebAccessibility::STATE_FOCUSABLE) & 1) | 655 if ((browser_accessibility_state >> WebAccessibility::STATE_UNAVAILABLE) & 1) |
643 state |= STATE_SYSTEM_FOCUSABLE; | 656 state |= STATE_SYSTEM_UNAVAILABLE; |
644 | 657 |
645 return state; | 658 return state; |
646 } | 659 } |
OLD | NEW |