| 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 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 { NSAccessibilityVisibleCharacterRangeAttribute, @"visibleCharacterRange" }, | 101 { NSAccessibilityVisibleCharacterRangeAttribute, @"visibleCharacterRange" }, |
| 102 { NSAccessibilityVisibleCellsAttribute, @"visibleCells" }, | 102 { NSAccessibilityVisibleCellsAttribute, @"visibleCells" }, |
| 103 { NSAccessibilityVisibleChildrenAttribute, @"visibleChildren" }, | 103 { NSAccessibilityVisibleChildrenAttribute, @"visibleChildren" }, |
| 104 { NSAccessibilityVisibleColumnsAttribute, @"visibleColumns" }, | 104 { NSAccessibilityVisibleColumnsAttribute, @"visibleColumns" }, |
| 105 { NSAccessibilityVisibleRowsAttribute, @"visibleRows" }, | 105 { NSAccessibilityVisibleRowsAttribute, @"visibleRows" }, |
| 106 { NSAccessibilityWindowAttribute, @"window" }, | 106 { NSAccessibilityWindowAttribute, @"window" }, |
| 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 { @"AXARIASetSize", @"ariaSetSize" }, |
| 112 { @"AXARIAPosInSet", @"ariaPosInSet" }, |
| 111 { @"AXARIARelevant", @"ariaRelevant" }, | 113 { @"AXARIARelevant", @"ariaRelevant" }, |
| 112 { @"AXDropEffects", @"dropeffect" }, | 114 { @"AXDropEffects", @"dropeffect" }, |
| 113 { @"AXGrabbed", @"grabbed" }, | 115 { @"AXGrabbed", @"grabbed" }, |
| 114 { @"AXInvalid", @"invalid" }, | 116 { @"AXInvalid", @"invalid" }, |
| 115 { @"AXLoaded", @"loaded" }, | 117 { @"AXLoaded", @"loaded" }, |
| 116 { @"AXLoadingProgress", @"loadingProgress" }, | 118 { @"AXLoadingProgress", @"loadingProgress" }, |
| 117 { @"AXPlaceholder", @"placeholder" }, | 119 { @"AXPlaceholder", @"placeholder" }, |
| 118 { @"AXRequired", @"required" }, | 120 { @"AXRequired", @"required" }, |
| 119 { @"AXSortDirection", @"sortDirection" }, | 121 { @"AXSortDirection", @"sortDirection" }, |
| 120 { @"AXVisited", @"visited" }, | 122 { @"AXVisited", @"visited" }, |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 - (NSString*)ariaLive { | 165 - (NSString*)ariaLive { |
| 164 return NSStringForStringAttribute( | 166 return NSStringForStringAttribute( |
| 165 browserAccessibility_, ui::AX_ATTR_LIVE_STATUS); | 167 browserAccessibility_, ui::AX_ATTR_LIVE_STATUS); |
| 166 } | 168 } |
| 167 | 169 |
| 168 - (NSString*)ariaRelevant { | 170 - (NSString*)ariaRelevant { |
| 169 return NSStringForStringAttribute( | 171 return NSStringForStringAttribute( |
| 170 browserAccessibility_, ui::AX_ATTR_LIVE_RELEVANT); | 172 browserAccessibility_, ui::AX_ATTR_LIVE_RELEVANT); |
| 171 } | 173 } |
| 172 | 174 |
| 175 - (NSNumber*)ariaPosInSet { |
| 176 return [NSNumber numberWithInt: |
| 177 browserAccessibility_->GetIntAttribute(ui::AX_ATTR_POS_IN_SET)]; |
| 178 } |
| 179 |
| 180 - (NSNumber*)ariaSetSize { |
| 181 return [NSNumber numberWithInt: |
| 182 browserAccessibility_->GetIntAttribute(ui::AX_ATTR_SET_SIZE)]; |
| 183 } |
| 184 |
| 173 // Returns an array of BrowserAccessibilityCocoa objects, representing the | 185 // Returns an array of BrowserAccessibilityCocoa objects, representing the |
| 174 // accessibility children of this object. | 186 // accessibility children of this object. |
| 175 - (NSArray*)children { | 187 - (NSArray*)children { |
| 176 if (!children_) { | 188 if (!children_) { |
| 177 uint32 childCount = browserAccessibility_->PlatformChildCount(); | 189 uint32 childCount = browserAccessibility_->PlatformChildCount(); |
| 178 children_.reset([[NSMutableArray alloc] initWithCapacity:childCount]); | 190 children_.reset([[NSMutableArray alloc] initWithCapacity:childCount]); |
| 179 for (uint32 index = 0; index < childCount; ++index) { | 191 for (uint32 index = 0; index < childCount; ++index) { |
| 180 BrowserAccessibilityCocoa* child = | 192 BrowserAccessibilityCocoa* child = |
| 181 browserAccessibility_->PlatformGetChild(index)-> | 193 browserAccessibility_->PlatformGetChild(index)-> |
| 182 ToBrowserAccessibilityCocoa(); | 194 ToBrowserAccessibilityCocoa(); |
| (...skipping 1217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1400 nil]]; | 1412 nil]]; |
| 1401 } | 1413 } |
| 1402 | 1414 |
| 1403 // Add the url attribute only if it has a valid url. | 1415 // Add the url attribute only if it has a valid url. |
| 1404 if ([self url] != nil) { | 1416 if ([self url] != nil) { |
| 1405 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1417 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1406 NSAccessibilityURLAttribute, | 1418 NSAccessibilityURLAttribute, |
| 1407 nil]]; | 1419 nil]]; |
| 1408 } | 1420 } |
| 1409 | 1421 |
| 1422 // Position in set and Set size |
| 1423 if (browserAccessibility_->HasIntAttribute(ui::AX_ATTR_POS_IN_SET)) { |
| 1424 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1425 @"AXARIAPosInSet", |
| 1426 nil]]; |
| 1427 } |
| 1428 if (browserAccessibility_->HasIntAttribute(ui::AX_ATTR_SET_SIZE)) { |
| 1429 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1430 @"AXARIASetSize", |
| 1431 nil]]; |
| 1432 } |
| 1433 |
| 1410 // Live regions. | 1434 // Live regions. |
| 1411 if (browserAccessibility_->HasStringAttribute( | 1435 if (browserAccessibility_->HasStringAttribute( |
| 1412 ui::AX_ATTR_LIVE_STATUS)) { | 1436 ui::AX_ATTR_LIVE_STATUS)) { |
| 1413 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1437 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1414 @"AXARIALive", | 1438 @"AXARIALive", |
| 1415 nil]]; | 1439 nil]]; |
| 1416 } | 1440 } |
| 1417 if (browserAccessibility_->HasStringAttribute( | 1441 if (browserAccessibility_->HasStringAttribute( |
| 1418 ui::AX_ATTR_LIVE_RELEVANT)) { | 1442 ui::AX_ATTR_LIVE_RELEVANT)) { |
| 1419 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1443 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1624 if (!browserAccessibility_) | 1648 if (!browserAccessibility_) |
| 1625 return [super hash]; | 1649 return [super hash]; |
| 1626 return browserAccessibility_->GetId(); | 1650 return browserAccessibility_->GetId(); |
| 1627 } | 1651 } |
| 1628 | 1652 |
| 1629 - (BOOL)accessibilityShouldUseUniqueId { | 1653 - (BOOL)accessibilityShouldUseUniqueId { |
| 1630 return YES; | 1654 return YES; |
| 1631 } | 1655 } |
| 1632 | 1656 |
| 1633 @end | 1657 @end |
| OLD | NEW |