OLD | NEW |
---|---|
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "chrome/browser/accessibility/browser_accessibility_cocoa.h" | 7 #import "chrome/browser/accessibility/browser_accessibility_cocoa.h" |
8 | 8 |
9 #include "app/l10n_util_mac.h" | 9 #include "app/l10n_util_mac.h" |
10 #include "base/string16.h" | 10 #include "base/string16.h" |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
237 } | 237 } |
238 if ([attribute isEqualToString:NSAccessibilityFocusedAttribute]) { | 238 if ([attribute isEqualToString:NSAccessibilityFocusedAttribute]) { |
239 NSNumber* ret = [NSNumber numberWithBool: | 239 NSNumber* ret = [NSNumber numberWithBool: |
240 GetState(browserAccessibility_, WebAccessibility::STATE_FOCUSED)]; | 240 GetState(browserAccessibility_, WebAccessibility::STATE_FOCUSED)]; |
241 return ret; | 241 return ret; |
242 } | 242 } |
243 if ([attribute isEqualToString:NSAccessibilityEnabledAttribute]) { | 243 if ([attribute isEqualToString:NSAccessibilityEnabledAttribute]) { |
244 return [NSNumber numberWithBool: | 244 return [NSNumber numberWithBool: |
245 !GetState(browserAccessibility_, WebAccessibility::STATE_UNAVAILABLE)]; | 245 !GetState(browserAccessibility_, WebAccessibility::STATE_UNAVAILABLE)]; |
246 } | 246 } |
247 if ([attribute isEqualToString:@"AXVisited"]) { | |
248 return [NSNumber numberWithBool: | |
249 GetState(browserAccessibility_, WebAccessibility::STATE_TRAVERSED)]; | |
250 } | |
247 | 251 |
248 // AXWebArea attributes. | 252 // AXWebArea attributes. |
249 if ([attribute isEqualToString:@"AXLoaded"]) | 253 if ([attribute isEqualToString:@"AXLoaded"]) |
250 return [NSNumber numberWithBool:YES]; | 254 return [NSNumber numberWithBool:YES]; |
251 if ([attribute isEqualToString:@"AXURL"]) { | 255 if ([attribute isEqualToString:@"AXURL"]) { |
252 return NSStringForWebAccessibilityAttribute( | 256 return NSStringForWebAccessibilityAttribute( |
253 browserAccessibility_->attributes(), | 257 browserAccessibility_->attributes(), |
254 WebAccessibility::ATTR_DOC_URL); | 258 WebAccessibility::ATTR_DOC_URL); |
255 } | 259 } |
256 | 260 |
257 // TODO(dtseng): provide complete implementations for the following. | |
258 if ([attribute isEqualToString:@"AXVisited"]) | |
259 return [NSNumber numberWithBool:NO]; | |
260 | |
261 // Text related attributes. | 261 // Text related attributes. |
262 if ([attribute isEqualToString: | 262 if ([attribute isEqualToString: |
263 NSAccessibilityNumberOfCharactersAttribute]) { | 263 NSAccessibilityNumberOfCharactersAttribute]) { |
264 return [NSNumber numberWithInt:browserAccessibility_->value().length()]; | 264 return [NSNumber numberWithInt:browserAccessibility_->value().length()]; |
265 } | 265 } |
266 if ([attribute isEqualToString: | 266 if ([attribute isEqualToString: |
267 NSAccessibilityVisibleCharacterRangeAttribute]) { | 267 NSAccessibilityVisibleCharacterRangeAttribute]) { |
268 return [NSValue valueWithRange: | 268 return [NSValue valueWithRange: |
269 NSMakeRange(0, browserAccessibility_->value().length())]; | 269 NSMakeRange(0, browserAccessibility_->value().length())]; |
270 } | 270 } |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
352 NSAccessibilityHelpAttribute, | 352 NSAccessibilityHelpAttribute, |
353 NSAccessibilityParentAttribute, | 353 NSAccessibilityParentAttribute, |
354 NSAccessibilityPositionAttribute, | 354 NSAccessibilityPositionAttribute, |
355 NSAccessibilityRoleAttribute, | 355 NSAccessibilityRoleAttribute, |
356 NSAccessibilityRoleDescriptionAttribute, | 356 NSAccessibilityRoleDescriptionAttribute, |
357 NSAccessibilitySizeAttribute, | 357 NSAccessibilitySizeAttribute, |
358 NSAccessibilityTitleAttribute, | 358 NSAccessibilityTitleAttribute, |
359 NSAccessibilityTopLevelUIElementAttribute, | 359 NSAccessibilityTopLevelUIElementAttribute, |
360 NSAccessibilityValueAttribute, | 360 NSAccessibilityValueAttribute, |
361 NSAccessibilityWindowAttribute, | 361 NSAccessibilityWindowAttribute, |
362 @"AXURL", | |
Chris Guillory
2010/12/09 22:04:02
Does this URL expect the href value for a link?
| |
363 @"AXVisited", | |
362 nil]]; | 364 nil]]; |
363 | 365 |
364 // Specific role attributes. | 366 // Specific role attributes. |
365 if ([self role] == @"AXWebArea") { | 367 if ([self role] == @"AXWebArea") { |
366 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 368 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
367 @"AXLoaded", | 369 @"AXLoaded", |
368 @"AXURL", | |
369 @"AXVisited", | |
370 nil]]; | 370 nil]]; |
371 } | 371 } |
372 | 372 |
373 if ([self role] == NSAccessibilityTextFieldRole) { | 373 if ([self role] == NSAccessibilityTextFieldRole) { |
374 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 374 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
375 NSAccessibilityInsertionPointLineNumberAttribute, | 375 NSAccessibilityInsertionPointLineNumberAttribute, |
376 NSAccessibilityNumberOfCharactersAttribute, | 376 NSAccessibilityNumberOfCharactersAttribute, |
377 NSAccessibilitySelectedTextAttribute, | 377 NSAccessibilitySelectedTextAttribute, |
378 NSAccessibilitySelectedTextRangeAttribute, | 378 NSAccessibilitySelectedTextRangeAttribute, |
379 NSAccessibilityVisibleCharacterRangeAttribute, | 379 NSAccessibilityVisibleCharacterRangeAttribute, |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
473 | 473 |
474 - (NSUInteger)hash { | 474 - (NSUInteger)hash { |
475 // Potentially called during dealloc. | 475 // Potentially called during dealloc. |
476 if (!browserAccessibility_) | 476 if (!browserAccessibility_) |
477 return [super hash]; | 477 return [super hash]; |
478 return browserAccessibility_->renderer_id(); | 478 return browserAccessibility_->renderer_id(); |
479 } | 479 } |
480 | 480 |
481 @end | 481 @end |
482 | 482 |
OLD | NEW |