| 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 #include <execinfo.h> | 5 #include <execinfo.h> |
| 6 | 6 |
| 7 #import "content/browser/accessibility/browser_accessibility_cocoa.h" | 7 #import "content/browser/accessibility/browser_accessibility_cocoa.h" |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 | 10 |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 { @"AXARIAAtomic", @"ariaAtomic" }, | 108 { @"AXARIAAtomic", @"ariaAtomic" }, |
| 109 { @"AXARIABusy", @"ariaBusy" }, | 109 { @"AXARIABusy", @"ariaBusy" }, |
| 110 { @"AXARIALive", @"ariaLive" }, | 110 { @"AXARIALive", @"ariaLive" }, |
| 111 { @"AXARIARelevant", @"ariaRelevant" }, | 111 { @"AXARIARelevant", @"ariaRelevant" }, |
| 112 { @"AXGrabbed", @"grabbed" }, | 112 { @"AXGrabbed", @"grabbed" }, |
| 113 { @"AXInvalid", @"invalid" }, | 113 { @"AXInvalid", @"invalid" }, |
| 114 { @"AXLoaded", @"loaded" }, | 114 { @"AXLoaded", @"loaded" }, |
| 115 { @"AXLoadingProgress", @"loadingProgress" }, | 115 { @"AXLoadingProgress", @"loadingProgress" }, |
| 116 { @"AXPlaceholder", @"placeholder" }, | 116 { @"AXPlaceholder", @"placeholder" }, |
| 117 { @"AXRequired", @"required" }, | 117 { @"AXRequired", @"required" }, |
| 118 { @"AXSortDirection", @"sortDirection" }, |
| 118 { @"AXVisited", @"visited" }, | 119 { @"AXVisited", @"visited" }, |
| 119 }; | 120 }; |
| 120 | 121 |
| 121 NSMutableDictionary* dict = [[NSMutableDictionary alloc] init]; | 122 NSMutableDictionary* dict = [[NSMutableDictionary alloc] init]; |
| 122 const size_t numAttributes = sizeof(attributeToMethodNameContainer) / | 123 const size_t numAttributes = sizeof(attributeToMethodNameContainer) / |
| 123 sizeof(attributeToMethodNameContainer[0]); | 124 sizeof(attributeToMethodNameContainer[0]); |
| 124 for (size_t i = 0; i < numAttributes; ++i) { | 125 for (size_t i = 0; i < numAttributes; ++i) { |
| 125 [dict setObject:attributeToMethodNameContainer[i].methodName | 126 [dict setObject:attributeToMethodNameContainer[i].methodName |
| 126 forKey:attributeToMethodNameContainer[i].attribute]; | 127 forKey:attributeToMethodNameContainer[i].attribute]; |
| 127 } | 128 } |
| (...skipping 647 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 775 | 776 |
| 776 return ret; | 777 return ret; |
| 777 } | 778 } |
| 778 | 779 |
| 779 // Returns the size of this object. | 780 // Returns the size of this object. |
| 780 - (NSValue*)size { | 781 - (NSValue*)size { |
| 781 gfx::Rect bounds = browserAccessibility_->GetLocalBoundsRect(); | 782 gfx::Rect bounds = browserAccessibility_->GetLocalBoundsRect(); |
| 782 return [NSValue valueWithSize:NSMakeSize(bounds.width(), bounds.height())]; | 783 return [NSValue valueWithSize:NSMakeSize(bounds.width(), bounds.height())]; |
| 783 } | 784 } |
| 784 | 785 |
| 786 - (NSString*)sortDirection { |
| 787 int sortDirection; |
| 788 if (!browserAccessibility_->GetIntAttribute( |
| 789 ui::AX_ATTR_SORT_DIRECTION, &sortDirection)) |
| 790 return @""; |
| 791 |
| 792 switch (sortDirection) { |
| 793 case ui::AX_SORT_DIRECTION_UNSORTED: |
| 794 return @""; |
| 795 case ui::AX_SORT_DIRECTION_ASCENDING: |
| 796 return @"AXSortDirectionAscending"; |
| 797 case ui::AX_SORT_DIRECTION_DESCENDING: |
| 798 return @"AXSortDirectionDescending"; |
| 799 case ui::AX_SORT_DIRECTION_OTHER: |
| 800 return @"AXSortDirectionUnknown"; |
| 801 default: |
| 802 NOTREACHED(); |
| 803 } |
| 804 |
| 805 return @""; |
| 806 } |
| 807 |
| 785 // Returns a subrole based upon the role. | 808 // Returns a subrole based upon the role. |
| 786 - (NSString*) subrole { | 809 - (NSString*) subrole { |
| 787 ui::AXRole browserAccessibilityRole = [self internalRole]; | 810 ui::AXRole browserAccessibilityRole = [self internalRole]; |
| 788 if (browserAccessibilityRole == ui::AX_ROLE_TEXT_FIELD && | 811 if (browserAccessibilityRole == ui::AX_ROLE_TEXT_FIELD && |
| 789 GetState(browserAccessibility_, ui::AX_STATE_PROTECTED)) { | 812 GetState(browserAccessibility_, ui::AX_STATE_PROTECTED)) { |
| 790 return @"AXSecureTextField"; | 813 return @"AXSecureTextField"; |
| 791 } | 814 } |
| 792 | 815 |
| 793 if (browserAccessibilityRole == ui::AX_ROLE_DESCRIPTION_LIST) | 816 if (browserAccessibilityRole == ui::AX_ROLE_DESCRIPTION_LIST) |
| 794 return @"AXDefinitionList"; | 817 return @"AXDefinitionList"; |
| (...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1294 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1317 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1295 NSAccessibilityIndexAttribute, | 1318 NSAccessibilityIndexAttribute, |
| 1296 NSAccessibilityHeaderAttribute, | 1319 NSAccessibilityHeaderAttribute, |
| 1297 NSAccessibilityRowsAttribute, | 1320 NSAccessibilityRowsAttribute, |
| 1298 NSAccessibilityVisibleRowsAttribute, | 1321 NSAccessibilityVisibleRowsAttribute, |
| 1299 nil]]; | 1322 nil]]; |
| 1300 } else if ([role isEqualToString:NSAccessibilityCellRole]) { | 1323 } else if ([role isEqualToString:NSAccessibilityCellRole]) { |
| 1301 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1324 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1302 NSAccessibilityColumnIndexRangeAttribute, | 1325 NSAccessibilityColumnIndexRangeAttribute, |
| 1303 NSAccessibilityRowIndexRangeAttribute, | 1326 NSAccessibilityRowIndexRangeAttribute, |
| 1327 @"AXSortDirection", |
| 1304 nil]]; | 1328 nil]]; |
| 1305 } else if ([role isEqualToString:@"AXWebArea"]) { | 1329 } else if ([role isEqualToString:@"AXWebArea"]) { |
| 1306 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1330 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1307 @"AXLoaded", | 1331 @"AXLoaded", |
| 1308 @"AXLoadingProgress", | 1332 @"AXLoadingProgress", |
| 1309 nil]]; | 1333 nil]]; |
| 1310 } else if ([role isEqualToString:NSAccessibilityTextFieldRole] || | 1334 } else if ([role isEqualToString:NSAccessibilityTextFieldRole] || |
| 1311 [role isEqualToString:NSAccessibilityTextAreaRole]) { | 1335 [role isEqualToString:NSAccessibilityTextAreaRole]) { |
| 1312 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1336 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1313 NSAccessibilityInsertionPointLineNumberAttribute, | 1337 NSAccessibilityInsertionPointLineNumberAttribute, |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1577 if (!browserAccessibility_) | 1601 if (!browserAccessibility_) |
| 1578 return [super hash]; | 1602 return [super hash]; |
| 1579 return browserAccessibility_->GetId(); | 1603 return browserAccessibility_->GetId(); |
| 1580 } | 1604 } |
| 1581 | 1605 |
| 1582 - (BOOL)accessibilityShouldUseUniqueId { | 1606 - (BOOL)accessibilityShouldUseUniqueId { |
| 1583 return YES; | 1607 return YES; |
| 1584 } | 1608 } |
| 1585 | 1609 |
| 1586 @end | 1610 @end |
| OLD | NEW |