OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #import "content/browser/accessibility/browser_accessibility_cocoa.h" | 5 #import "content/browser/accessibility/browser_accessibility_cocoa.h" |
6 | 6 |
7 #include <execinfo.h> | 7 #include <execinfo.h> |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 #include <string.h> | 10 #include <string.h> |
(...skipping 1886 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1897 value = 2; | 1897 value = 2; |
1898 break; | 1898 break; |
1899 default: | 1899 default: |
1900 value = GetState(browserAccessibility_, ui::AX_STATE_SELECTED) ? 1 : 0; | 1900 value = GetState(browserAccessibility_, ui::AX_STATE_SELECTED) ? 1 : 0; |
1901 break; | 1901 break; |
1902 } | 1902 } |
1903 return [NSNumber numberWithInt:value]; | 1903 return [NSNumber numberWithInt:value]; |
1904 } else if ([role isEqualToString:NSAccessibilityProgressIndicatorRole] || | 1904 } else if ([role isEqualToString:NSAccessibilityProgressIndicatorRole] || |
1905 [role isEqualToString:NSAccessibilitySliderRole] || | 1905 [role isEqualToString:NSAccessibilitySliderRole] || |
1906 [role isEqualToString:NSAccessibilityIncrementorRole] || | 1906 [role isEqualToString:NSAccessibilityIncrementorRole] || |
1907 [role isEqualToString:NSAccessibilityScrollBarRole]) { | 1907 [role isEqualToString:NSAccessibilityScrollBarRole] || |
| 1908 ([role isEqualToString:NSAccessibilitySplitterRole] && |
| 1909 browserAccessibility_->HasState(ui::AX_STATE_FOCUSABLE))) { |
1908 float floatValue; | 1910 float floatValue; |
1909 if (browserAccessibility_->GetFloatAttribute( | 1911 if (browserAccessibility_->GetFloatAttribute( |
1910 ui::AX_ATTR_VALUE_FOR_RANGE, &floatValue)) { | 1912 ui::AX_ATTR_VALUE_FOR_RANGE, &floatValue)) { |
1911 return [NSNumber numberWithFloat:floatValue]; | 1913 return [NSNumber numberWithFloat:floatValue]; |
1912 } | 1914 } |
1913 } else if ([role isEqualToString:NSAccessibilityColorWellRole]) { | 1915 } else if ([role isEqualToString:NSAccessibilityColorWellRole]) { |
1914 unsigned int color = static_cast<unsigned int>( | 1916 unsigned int color = static_cast<unsigned int>( |
1915 browserAccessibility_->GetIntAttribute(ui::AX_ATTR_COLOR_VALUE)); | 1917 browserAccessibility_->GetIntAttribute(ui::AX_ATTR_COLOR_VALUE)); |
1916 unsigned int red = SkColorGetR(color); | 1918 unsigned int red = SkColorGetR(color); |
1917 unsigned int green = SkColorGetG(color); | 1919 unsigned int green = SkColorGetG(color); |
(...skipping 714 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2632 ]]; | 2634 ]]; |
2633 } else if ([role isEqualToString:@"AXWebArea"]) { | 2635 } else if ([role isEqualToString:@"AXWebArea"]) { |
2634 [ret addObjectsFromArray:@[ | 2636 [ret addObjectsFromArray:@[ |
2635 @"AXLoaded", NSAccessibilityLoadingProgressAttribute | 2637 @"AXLoaded", NSAccessibilityLoadingProgressAttribute |
2636 ]]; | 2638 ]]; |
2637 } else if ([role isEqualToString:NSAccessibilityTabGroupRole]) { | 2639 } else if ([role isEqualToString:NSAccessibilityTabGroupRole]) { |
2638 [ret addObject:NSAccessibilityTabsAttribute]; | 2640 [ret addObject:NSAccessibilityTabsAttribute]; |
2639 } else if ([role isEqualToString:NSAccessibilityProgressIndicatorRole] || | 2641 } else if ([role isEqualToString:NSAccessibilityProgressIndicatorRole] || |
2640 [role isEqualToString:NSAccessibilitySliderRole] || | 2642 [role isEqualToString:NSAccessibilitySliderRole] || |
2641 [role isEqualToString:NSAccessibilityIncrementorRole] || | 2643 [role isEqualToString:NSAccessibilityIncrementorRole] || |
2642 [role isEqualToString:NSAccessibilityScrollBarRole]) { | 2644 [role isEqualToString:NSAccessibilityScrollBarRole] || |
| 2645 ([role isEqualToString:NSAccessibilitySplitterRole] && |
| 2646 browserAccessibility_->HasState(ui::AX_STATE_FOCUSABLE))) { |
2643 [ret addObjectsFromArray:@[ | 2647 [ret addObjectsFromArray:@[ |
2644 NSAccessibilityMaxValueAttribute, NSAccessibilityMinValueAttribute, | 2648 NSAccessibilityMaxValueAttribute, NSAccessibilityMinValueAttribute, |
2645 NSAccessibilityValueDescriptionAttribute | 2649 NSAccessibilityValueDescriptionAttribute |
2646 ]]; | 2650 ]]; |
2647 } else if ([subrole isEqualToString:NSAccessibilityOutlineRowSubrole]) { | 2651 } else if ([subrole isEqualToString:NSAccessibilityOutlineRowSubrole]) { |
2648 [ret addObjectsFromArray:@[ | 2652 [ret addObjectsFromArray:@[ |
2649 NSAccessibilityDisclosingAttribute, | 2653 NSAccessibilityDisclosingAttribute, |
2650 NSAccessibilityDisclosedByRowAttribute, | 2654 NSAccessibilityDisclosedByRowAttribute, |
2651 NSAccessibilityDisclosureLevelAttribute, | 2655 NSAccessibilityDisclosureLevelAttribute, |
2652 NSAccessibilityDisclosedRowsAttribute | 2656 NSAccessibilityDisclosedRowsAttribute |
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2898 } | 2902 } |
2899 | 2903 |
2900 - (BOOL)accessibilityNotifiesWhenDestroyed { | 2904 - (BOOL)accessibilityNotifiesWhenDestroyed { |
2901 // Indicate that BrowserAccessibilityCocoa will post a notification when it's | 2905 // Indicate that BrowserAccessibilityCocoa will post a notification when it's |
2902 // destroyed (see -detach). This allows VoiceOver to do some internal things | 2906 // destroyed (see -detach). This allows VoiceOver to do some internal things |
2903 // more efficiently. | 2907 // more efficiently. |
2904 return YES; | 2908 return YES; |
2905 } | 2909 } |
2906 | 2910 |
2907 @end | 2911 @end |
OLD | NEW |