| 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 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 104 { NSAccessibilityVisibleRowsAttribute, @"visibleRows" }, | 104 { NSAccessibilityVisibleRowsAttribute, @"visibleRows" }, |
| 105 { NSAccessibilityWindowAttribute, @"window" }, | 105 { NSAccessibilityWindowAttribute, @"window" }, |
| 106 { @"AXAccessKey", @"accessKey" }, | 106 { @"AXAccessKey", @"accessKey" }, |
| 107 { @"AXARIAAtomic", @"ariaAtomic" }, | 107 { @"AXARIAAtomic", @"ariaAtomic" }, |
| 108 { @"AXARIABusy", @"ariaBusy" }, | 108 { @"AXARIABusy", @"ariaBusy" }, |
| 109 { @"AXARIALive", @"ariaLive" }, | 109 { @"AXARIALive", @"ariaLive" }, |
| 110 { @"AXARIARelevant", @"ariaRelevant" }, | 110 { @"AXARIARelevant", @"ariaRelevant" }, |
| 111 { @"AXInvalid", @"invalid" }, | 111 { @"AXInvalid", @"invalid" }, |
| 112 { @"AXLoaded", @"loaded" }, | 112 { @"AXLoaded", @"loaded" }, |
| 113 { @"AXLoadingProgress", @"loadingProgress" }, | 113 { @"AXLoadingProgress", @"loadingProgress" }, |
| 114 { @"AXPlaceholder", @"placeholder" }, |
| 114 { @"AXRequired", @"required" }, | 115 { @"AXRequired", @"required" }, |
| 115 { @"AXVisited", @"visited" }, | 116 { @"AXVisited", @"visited" }, |
| 116 }; | 117 }; |
| 117 | 118 |
| 118 NSMutableDictionary* dict = [[NSMutableDictionary alloc] init]; | 119 NSMutableDictionary* dict = [[NSMutableDictionary alloc] init]; |
| 119 const size_t numAttributes = sizeof(attributeToMethodNameContainer) / | 120 const size_t numAttributes = sizeof(attributeToMethodNameContainer) / |
| 120 sizeof(attributeToMethodNameContainer[0]); | 121 sizeof(attributeToMethodNameContainer[0]); |
| 121 for (size_t i = 0; i < numAttributes; ++i) { | 122 for (size_t i = 0; i < numAttributes; ++i) { |
| 122 [dict setObject:attributeToMethodNameContainer[i].methodName | 123 [dict setObject:attributeToMethodNameContainer[i].methodName |
| 123 forKey:attributeToMethodNameContainer[i].attribute]; | 124 forKey:attributeToMethodNameContainer[i].attribute]; |
| (...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 394 if (!browserAccessibility_->GetHtmlAttribute("aria-invalid", &invalidUTF)) | 395 if (!browserAccessibility_->GetHtmlAttribute("aria-invalid", &invalidUTF)) |
| 395 return NULL; | 396 return NULL; |
| 396 NSString* invalid = base::SysUTF16ToNSString(invalidUTF); | 397 NSString* invalid = base::SysUTF16ToNSString(invalidUTF); |
| 397 if ([invalid isEqualToString:@"false"] || | 398 if ([invalid isEqualToString:@"false"] || |
| 398 [invalid isEqualToString:@""]) { | 399 [invalid isEqualToString:@""]) { |
| 399 return @"false"; | 400 return @"false"; |
| 400 } | 401 } |
| 401 return invalid; | 402 return invalid; |
| 402 } | 403 } |
| 403 | 404 |
| 405 - (NSString*)placeholder { |
| 406 return NSStringForStringAttribute( |
| 407 browserAccessibility_, ui::AX_ATTR_PLACEHOLDER); |
| 408 } |
| 409 |
| 404 - (void)addLinkedUIElementsFromAttribute:(ui::AXIntListAttribute)attribute | 410 - (void)addLinkedUIElementsFromAttribute:(ui::AXIntListAttribute)attribute |
| 405 addTo:(NSMutableArray*)outArray { | 411 addTo:(NSMutableArray*)outArray { |
| 406 const std::vector<int32>& attributeValues = | 412 const std::vector<int32>& attributeValues = |
| 407 browserAccessibility_->GetIntListAttribute(attribute); | 413 browserAccessibility_->GetIntListAttribute(attribute); |
| 408 for (size_t i = 0; i < attributeValues.size(); ++i) { | 414 for (size_t i = 0; i < attributeValues.size(); ++i) { |
| 409 BrowserAccessibility* element = | 415 BrowserAccessibility* element = |
| 410 browserAccessibility_->manager()->GetFromID(attributeValues[i]); | 416 browserAccessibility_->manager()->GetFromID(attributeValues[i]); |
| 411 if (element) | 417 if (element) |
| 412 [outArray addObject:element->ToBrowserAccessibilityCocoa()]; | 418 [outArray addObject:element->ToBrowserAccessibilityCocoa()]; |
| 413 } | 419 } |
| (...skipping 937 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1351 NSAccessibilityExpandedAttribute, | 1357 NSAccessibilityExpandedAttribute, |
| 1352 nil]]; | 1358 nil]]; |
| 1353 } | 1359 } |
| 1354 | 1360 |
| 1355 if (GetState(browserAccessibility_, ui::AX_STATE_VERTICAL) | 1361 if (GetState(browserAccessibility_, ui::AX_STATE_VERTICAL) |
| 1356 || GetState(browserAccessibility_, ui::AX_STATE_HORIZONTAL)) { | 1362 || GetState(browserAccessibility_, ui::AX_STATE_HORIZONTAL)) { |
| 1357 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1363 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1358 NSAccessibilityOrientationAttribute, nil]]; | 1364 NSAccessibilityOrientationAttribute, nil]]; |
| 1359 } | 1365 } |
| 1360 | 1366 |
| 1367 if (browserAccessibility_->HasStringAttribute(ui::AX_ATTR_PLACEHOLDER)) { |
| 1368 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1369 @"AXPlaceholder", nil]]; |
| 1370 } |
| 1371 |
| 1361 if (GetState(browserAccessibility_, ui::AX_STATE_REQUIRED)) { | 1372 if (GetState(browserAccessibility_, ui::AX_STATE_REQUIRED)) { |
| 1362 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1373 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1363 @"AXRequired", nil]]; | 1374 @"AXRequired", nil]]; |
| 1364 } | 1375 } |
| 1365 | 1376 |
| 1366 // Title UI Element. | 1377 // Title UI Element. |
| 1367 if (browserAccessibility_->HasIntAttribute(ui::AX_ATTR_TITLE_UI_ELEMENT) || | 1378 if (browserAccessibility_->HasIntAttribute(ui::AX_ATTR_TITLE_UI_ELEMENT) || |
| 1368 (browserAccessibility_->HasIntListAttribute(ui::AX_ATTR_LABELLEDBY_IDS) && | 1379 (browserAccessibility_->HasIntListAttribute(ui::AX_ATTR_LABELLEDBY_IDS) && |
| 1369 browserAccessibility_->GetIntListAttribute(ui::AX_ATTR_LABELLEDBY_IDS) | 1380 browserAccessibility_->GetIntListAttribute(ui::AX_ATTR_LABELLEDBY_IDS) |
| 1370 .size() == 1)) { | 1381 .size() == 1)) { |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1518 return [super hash]; | 1529 return [super hash]; |
| 1519 return browserAccessibility_->GetId(); | 1530 return browserAccessibility_->GetId(); |
| 1520 } | 1531 } |
| 1521 | 1532 |
| 1522 - (BOOL)accessibilityShouldUseUniqueId { | 1533 - (BOOL)accessibilityShouldUseUniqueId { |
| 1523 return YES; | 1534 return YES; |
| 1524 } | 1535 } |
| 1525 | 1536 |
| 1526 @end | 1537 @end |
| 1527 | 1538 |
| OLD | NEW |