Chromium Code Reviews| 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 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 107 { @"AXAccessKey", @"accessKey" }, | 107 { @"AXAccessKey", @"accessKey" }, |
| 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 { @"AXInvalid", @"invalid" }, | 112 { @"AXInvalid", @"invalid" }, |
| 113 { @"AXLoaded", @"loaded" }, | 113 { @"AXLoaded", @"loaded" }, |
| 114 { @"AXLoadingProgress", @"loadingProgress" }, | 114 { @"AXLoadingProgress", @"loadingProgress" }, |
| 115 { @"AXPlaceholder", @"placeholder" }, | 115 { @"AXPlaceholder", @"placeholder" }, |
| 116 { @"AXRequired", @"required" }, | 116 { @"AXRequired", @"required" }, |
| 117 { @"AXSortDirection", @"sortDirection" }, | |
| 117 { @"AXVisited", @"visited" }, | 118 { @"AXVisited", @"visited" }, |
| 118 }; | 119 }; |
| 119 | 120 |
| 120 NSMutableDictionary* dict = [[NSMutableDictionary alloc] init]; | 121 NSMutableDictionary* dict = [[NSMutableDictionary alloc] init]; |
| 121 const size_t numAttributes = sizeof(attributeToMethodNameContainer) / | 122 const size_t numAttributes = sizeof(attributeToMethodNameContainer) / |
| 122 sizeof(attributeToMethodNameContainer[0]); | 123 sizeof(attributeToMethodNameContainer[0]); |
| 123 for (size_t i = 0; i < numAttributes; ++i) { | 124 for (size_t i = 0; i < numAttributes; ++i) { |
| 124 [dict setObject:attributeToMethodNameContainer[i].methodName | 125 [dict setObject:attributeToMethodNameContainer[i].methodName |
| 125 forKey:attributeToMethodNameContainer[i].attribute]; | 126 forKey:attributeToMethodNameContainer[i].attribute]; |
| 126 } | 127 } |
| (...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 767 | 768 |
| 768 return ret; | 769 return ret; |
| 769 } | 770 } |
| 770 | 771 |
| 771 // Returns the size of this object. | 772 // Returns the size of this object. |
| 772 - (NSValue*)size { | 773 - (NSValue*)size { |
| 773 gfx::Rect bounds = browserAccessibility_->GetLocalBoundsRect(); | 774 gfx::Rect bounds = browserAccessibility_->GetLocalBoundsRect(); |
| 774 return [NSValue valueWithSize:NSMakeSize(bounds.width(), bounds.height())]; | 775 return [NSValue valueWithSize:NSMakeSize(bounds.width(), bounds.height())]; |
| 775 } | 776 } |
| 776 | 777 |
| 778 - (NSString*)sortDirection { | |
| 779 int sortDirection; | |
| 780 if (!browserAccessibility_->GetIntAttribute( | |
| 781 ui::AX_ATTR_SORT_DIRECTION, &sortDirection)) | |
| 782 return @""; | |
| 783 | |
| 784 switch (sortDirection) { | |
| 785 case ui::AX_SORT_DIRECTION_Unsorted: | |
|
dmazzoni
2015/01/27 18:59:17
enum should be all caps
| |
| 786 return @""; | |
| 787 case ui::AX_SORT_DIRECTION_ASCENDING: | |
| 788 return @"AXSortDirectionAscending"; | |
| 789 case ui::AX_SORT_DIRECTION_DESCENDING: | |
| 790 return @"AXSortDirectionDescending"; | |
| 791 case ui::AX_SORT_DIRECTION_OTHER: | |
| 792 return @"AXSortDirectionUnknown"; | |
| 793 default: | |
| 794 NOTREACHED(); | |
| 795 } | |
| 796 | |
| 797 return @""; | |
| 798 } | |
| 799 | |
| 777 // Returns a subrole based upon the role. | 800 // Returns a subrole based upon the role. |
| 778 - (NSString*) subrole { | 801 - (NSString*) subrole { |
| 779 ui::AXRole browserAccessibilityRole = [self internalRole]; | 802 ui::AXRole browserAccessibilityRole = [self internalRole]; |
| 780 if (browserAccessibilityRole == ui::AX_ROLE_TEXT_FIELD && | 803 if (browserAccessibilityRole == ui::AX_ROLE_TEXT_FIELD && |
| 781 GetState(browserAccessibility_, ui::AX_STATE_PROTECTED)) { | 804 GetState(browserAccessibility_, ui::AX_STATE_PROTECTED)) { |
| 782 return @"AXSecureTextField"; | 805 return @"AXSecureTextField"; |
| 783 } | 806 } |
| 784 | 807 |
| 785 if (browserAccessibilityRole == ui::AX_ROLE_DESCRIPTION_LIST) | 808 if (browserAccessibilityRole == ui::AX_ROLE_DESCRIPTION_LIST) |
| 786 return @"AXDefinitionList"; | 809 return @"AXDefinitionList"; |
| (...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1283 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1306 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1284 NSAccessibilityIndexAttribute, | 1307 NSAccessibilityIndexAttribute, |
| 1285 NSAccessibilityHeaderAttribute, | 1308 NSAccessibilityHeaderAttribute, |
| 1286 NSAccessibilityRowsAttribute, | 1309 NSAccessibilityRowsAttribute, |
| 1287 NSAccessibilityVisibleRowsAttribute, | 1310 NSAccessibilityVisibleRowsAttribute, |
| 1288 nil]]; | 1311 nil]]; |
| 1289 } else if ([role isEqualToString:NSAccessibilityCellRole]) { | 1312 } else if ([role isEqualToString:NSAccessibilityCellRole]) { |
| 1290 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1313 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1291 NSAccessibilityColumnIndexRangeAttribute, | 1314 NSAccessibilityColumnIndexRangeAttribute, |
| 1292 NSAccessibilityRowIndexRangeAttribute, | 1315 NSAccessibilityRowIndexRangeAttribute, |
| 1316 @"AXSortDirection", | |
| 1293 nil]]; | 1317 nil]]; |
| 1294 } else if ([role isEqualToString:@"AXWebArea"]) { | 1318 } else if ([role isEqualToString:@"AXWebArea"]) { |
| 1295 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1319 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1296 @"AXLoaded", | 1320 @"AXLoaded", |
| 1297 @"AXLoadingProgress", | 1321 @"AXLoadingProgress", |
| 1298 nil]]; | 1322 nil]]; |
| 1299 } else if ([role isEqualToString:NSAccessibilityTextFieldRole] || | 1323 } else if ([role isEqualToString:NSAccessibilityTextFieldRole] || |
| 1300 [role isEqualToString:NSAccessibilityTextAreaRole]) { | 1324 [role isEqualToString:NSAccessibilityTextAreaRole]) { |
| 1301 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1325 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1302 NSAccessibilityInsertionPointLineNumberAttribute, | 1326 NSAccessibilityInsertionPointLineNumberAttribute, |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1560 if (!browserAccessibility_) | 1584 if (!browserAccessibility_) |
| 1561 return [super hash]; | 1585 return [super hash]; |
| 1562 return browserAccessibility_->GetId(); | 1586 return browserAccessibility_->GetId(); |
| 1563 } | 1587 } |
| 1564 | 1588 |
| 1565 - (BOOL)accessibilityShouldUseUniqueId { | 1589 - (BOOL)accessibilityShouldUseUniqueId { |
| 1566 return YES; | 1590 return YES; |
| 1567 } | 1591 } |
| 1568 | 1592 |
| 1569 @end | 1593 @end |
| OLD | NEW |