| 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 1191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1202 - (NSArray*)accessibilityParameterizedAttributeNames { | 1202 - (NSArray*)accessibilityParameterizedAttributeNames { |
| 1203 if (!browserAccessibility_) | 1203 if (!browserAccessibility_) |
| 1204 return nil; | 1204 return nil; |
| 1205 | 1205 |
| 1206 if ([[self role] isEqualToString:NSAccessibilityTableRole] || | 1206 if ([[self role] isEqualToString:NSAccessibilityTableRole] || |
| 1207 [[self role] isEqualToString:NSAccessibilityGridRole]) { | 1207 [[self role] isEqualToString:NSAccessibilityGridRole]) { |
| 1208 return [NSArray arrayWithObjects: | 1208 return [NSArray arrayWithObjects: |
| 1209 NSAccessibilityCellForColumnAndRowParameterizedAttribute, | 1209 NSAccessibilityCellForColumnAndRowParameterizedAttribute, |
| 1210 nil]; | 1210 nil]; |
| 1211 } | 1211 } |
| 1212 if ([[self role] isEqualToString:NSAccessibilityTextFieldRole] || | 1212 if ([[self role] isEqualToString:NSAccessibilityTextFieldRole]) { |
| 1213 [[self role] isEqualToString:NSAccessibilityTextAreaRole]) { | |
| 1214 return [NSArray arrayWithObjects: | 1213 return [NSArray arrayWithObjects: |
| 1215 NSAccessibilityLineForIndexParameterizedAttribute, | 1214 NSAccessibilityLineForIndexParameterizedAttribute, |
| 1216 NSAccessibilityRangeForLineParameterizedAttribute, | 1215 NSAccessibilityRangeForLineParameterizedAttribute, |
| 1217 NSAccessibilityStringForRangeParameterizedAttribute, | 1216 NSAccessibilityStringForRangeParameterizedAttribute, |
| 1218 NSAccessibilityRangeForPositionParameterizedAttribute, | 1217 NSAccessibilityRangeForPositionParameterizedAttribute, |
| 1219 NSAccessibilityRangeForIndexParameterizedAttribute, | 1218 NSAccessibilityRangeForIndexParameterizedAttribute, |
| 1220 NSAccessibilityBoundsForRangeParameterizedAttribute, | 1219 NSAccessibilityBoundsForRangeParameterizedAttribute, |
| 1221 NSAccessibilityRTFForRangeParameterizedAttribute, | 1220 NSAccessibilityRTFForRangeParameterizedAttribute, |
| 1222 NSAccessibilityAttributedStringForRangeParameterizedAttribute, | 1221 NSAccessibilityAttributedStringForRangeParameterizedAttribute, |
| 1223 NSAccessibilityStyleRangeForIndexParameterizedAttribute, | 1222 NSAccessibilityStyleRangeForIndexParameterizedAttribute, |
| (...skipping 10 matching lines...) Expand all Loading... |
| 1234 // Returns an array of action names that this object will respond to. | 1233 // Returns an array of action names that this object will respond to. |
| 1235 - (NSArray*)accessibilityActionNames { | 1234 - (NSArray*)accessibilityActionNames { |
| 1236 if (!browserAccessibility_) | 1235 if (!browserAccessibility_) |
| 1237 return nil; | 1236 return nil; |
| 1238 | 1237 |
| 1239 NSMutableArray* ret = | 1238 NSMutableArray* ret = |
| 1240 [NSMutableArray arrayWithObject:NSAccessibilityShowMenuAction]; | 1239 [NSMutableArray arrayWithObject:NSAccessibilityShowMenuAction]; |
| 1241 NSString* role = [self role]; | 1240 NSString* role = [self role]; |
| 1242 // TODO(dtseng): this should only get set when there's a default action. | 1241 // TODO(dtseng): this should only get set when there's a default action. |
| 1243 if (![role isEqualToString:NSAccessibilityStaticTextRole] && | 1242 if (![role isEqualToString:NSAccessibilityStaticTextRole] && |
| 1244 ![role isEqualToString:NSAccessibilityTextAreaRole] && | |
| 1245 ![role isEqualToString:NSAccessibilityTextFieldRole]) { | 1243 ![role isEqualToString:NSAccessibilityTextFieldRole]) { |
| 1246 [ret addObject:NSAccessibilityPressAction]; | 1244 [ret addObject:NSAccessibilityPressAction]; |
| 1247 } | 1245 } |
| 1248 | 1246 |
| 1249 return ret; | 1247 return ret; |
| 1250 } | 1248 } |
| 1251 | 1249 |
| 1252 // Returns a sub-array of values for the given attribute value, starting at | 1250 // Returns a sub-array of values for the given attribute value, starting at |
| 1253 // index, with up to maxCount items. If the given index is out of bounds, | 1251 // index, with up to maxCount items. If the given index is out of bounds, |
| 1254 // or there are no values for the given attribute, it will return nil. | 1252 // or there are no values for the given attribute, it will return nil. |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1339 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1337 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1340 NSAccessibilityColumnIndexRangeAttribute, | 1338 NSAccessibilityColumnIndexRangeAttribute, |
| 1341 NSAccessibilityRowIndexRangeAttribute, | 1339 NSAccessibilityRowIndexRangeAttribute, |
| 1342 @"AXSortDirection", | 1340 @"AXSortDirection", |
| 1343 nil]]; | 1341 nil]]; |
| 1344 } else if ([role isEqualToString:@"AXWebArea"]) { | 1342 } else if ([role isEqualToString:@"AXWebArea"]) { |
| 1345 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1343 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1346 @"AXLoaded", | 1344 @"AXLoaded", |
| 1347 @"AXLoadingProgress", | 1345 @"AXLoadingProgress", |
| 1348 nil]]; | 1346 nil]]; |
| 1349 } else if ([role isEqualToString:NSAccessibilityTextFieldRole] || | 1347 } else if ([role isEqualToString:NSAccessibilityTextFieldRole]) { |
| 1350 [role isEqualToString:NSAccessibilityTextAreaRole]) { | |
| 1351 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1348 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1352 NSAccessibilityInsertionPointLineNumberAttribute, | 1349 NSAccessibilityInsertionPointLineNumberAttribute, |
| 1353 NSAccessibilityNumberOfCharactersAttribute, | 1350 NSAccessibilityNumberOfCharactersAttribute, |
| 1354 NSAccessibilitySelectedTextAttribute, | 1351 NSAccessibilitySelectedTextAttribute, |
| 1355 NSAccessibilitySelectedTextRangeAttribute, | 1352 NSAccessibilitySelectedTextRangeAttribute, |
| 1356 NSAccessibilityVisibleCharacterRangeAttribute, | 1353 NSAccessibilityVisibleCharacterRangeAttribute, |
| 1357 nil]]; | 1354 nil]]; |
| 1358 } else if ([role isEqualToString:NSAccessibilityTabGroupRole]) { | 1355 } else if ([role isEqualToString:NSAccessibilityTabGroupRole]) { |
| 1359 [ret addObject:NSAccessibilityTabsAttribute]; | 1356 [ret addObject:NSAccessibilityTabsAttribute]; |
| 1360 } else if ([role isEqualToString:NSAccessibilityProgressIndicatorRole] || | 1357 } else if ([role isEqualToString:NSAccessibilityProgressIndicatorRole] || |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1506 return NO; | 1503 return NO; |
| 1507 | 1504 |
| 1508 if ([attribute isEqualToString:NSAccessibilityFocusedAttribute]) | 1505 if ([attribute isEqualToString:NSAccessibilityFocusedAttribute]) |
| 1509 return GetState(browserAccessibility_, | 1506 return GetState(browserAccessibility_, |
| 1510 ui::AX_STATE_FOCUSABLE); | 1507 ui::AX_STATE_FOCUSABLE); |
| 1511 if ([attribute isEqualToString:NSAccessibilityValueAttribute]) { | 1508 if ([attribute isEqualToString:NSAccessibilityValueAttribute]) { |
| 1512 return browserAccessibility_->GetBoolAttribute( | 1509 return browserAccessibility_->GetBoolAttribute( |
| 1513 ui::AX_ATTR_CAN_SET_VALUE); | 1510 ui::AX_ATTR_CAN_SET_VALUE); |
| 1514 } | 1511 } |
| 1515 if ([attribute isEqualToString:NSAccessibilitySelectedTextRangeAttribute] && | 1512 if ([attribute isEqualToString:NSAccessibilitySelectedTextRangeAttribute] && |
| 1516 ([[self role] isEqualToString:NSAccessibilityTextFieldRole] || | 1513 ([[self role] isEqualToString:NSAccessibilityTextFieldRole])) |
| 1517 [[self role] isEqualToString:NSAccessibilityTextAreaRole])) | |
| 1518 return YES; | 1514 return YES; |
| 1519 | 1515 |
| 1520 return NO; | 1516 return NO; |
| 1521 } | 1517 } |
| 1522 | 1518 |
| 1523 // Returns whether or not this object should be ignored in the accessibility | 1519 // Returns whether or not this object should be ignored in the accessibility |
| 1524 // tree. | 1520 // tree. |
| 1525 - (BOOL)accessibilityIsIgnored { | 1521 - (BOOL)accessibilityIsIgnored { |
| 1526 if (!browserAccessibility_) | 1522 if (!browserAccessibility_) |
| 1527 return true; | 1523 return true; |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1624 if (!browserAccessibility_) | 1620 if (!browserAccessibility_) |
| 1625 return [super hash]; | 1621 return [super hash]; |
| 1626 return browserAccessibility_->GetId(); | 1622 return browserAccessibility_->GetId(); |
| 1627 } | 1623 } |
| 1628 | 1624 |
| 1629 - (BOOL)accessibilityShouldUseUniqueId { | 1625 - (BOOL)accessibilityShouldUseUniqueId { |
| 1630 return YES; | 1626 return YES; |
| 1631 } | 1627 } |
| 1632 | 1628 |
| 1633 @end | 1629 @end |
| OLD | NEW |