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 |