Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(160)

Side by Side Diff: chrome/browser/accessibility/browser_accessibility_cocoa.mm

Issue 5751002: Hook up AXVisited attribute. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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"]) {
256 WebAccessibility::Attribute urlAttribute =
257 [[self role] isEqualToString:@"AXWebArea"] ?
258 WebAccessibility::ATTR_DOC_URL :
259 WebAccessibility::ATTR_LINK_TARGET;
252 return NSStringForWebAccessibilityAttribute( 260 return NSStringForWebAccessibilityAttribute(
253 browserAccessibility_->attributes(), 261 browserAccessibility_->attributes(),
254 WebAccessibility::ATTR_DOC_URL); 262 urlAttribute);
255 } 263 }
256 264
257 // TODO(dtseng): provide complete implementations for the following.
258 if ([attribute isEqualToString:@"AXVisited"])
259 return [NSNumber numberWithBool:NO];
260
261 // Text related attributes. 265 // Text related attributes.
262 if ([attribute isEqualToString: 266 if ([attribute isEqualToString:
263 NSAccessibilityNumberOfCharactersAttribute]) { 267 NSAccessibilityNumberOfCharactersAttribute]) {
264 return [NSNumber numberWithInt:browserAccessibility_->value().length()]; 268 return [NSNumber numberWithInt:browserAccessibility_->value().length()];
265 } 269 }
266 if ([attribute isEqualToString: 270 if ([attribute isEqualToString:
267 NSAccessibilityVisibleCharacterRangeAttribute]) { 271 NSAccessibilityVisibleCharacterRangeAttribute]) {
268 return [NSValue valueWithRange: 272 return [NSValue valueWithRange:
269 NSMakeRange(0, browserAccessibility_->value().length())]; 273 NSMakeRange(0, browserAccessibility_->value().length())];
270 } 274 }
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 NSAccessibilityHelpAttribute, 356 NSAccessibilityHelpAttribute,
353 NSAccessibilityParentAttribute, 357 NSAccessibilityParentAttribute,
354 NSAccessibilityPositionAttribute, 358 NSAccessibilityPositionAttribute,
355 NSAccessibilityRoleAttribute, 359 NSAccessibilityRoleAttribute,
356 NSAccessibilityRoleDescriptionAttribute, 360 NSAccessibilityRoleDescriptionAttribute,
357 NSAccessibilitySizeAttribute, 361 NSAccessibilitySizeAttribute,
358 NSAccessibilityTitleAttribute, 362 NSAccessibilityTitleAttribute,
359 NSAccessibilityTopLevelUIElementAttribute, 363 NSAccessibilityTopLevelUIElementAttribute,
360 NSAccessibilityValueAttribute, 364 NSAccessibilityValueAttribute,
361 NSAccessibilityWindowAttribute, 365 NSAccessibilityWindowAttribute,
366 @"AXURL",
367 @"AXVisited",
362 nil]]; 368 nil]];
363 369
364 // Specific role attributes. 370 // Specific role attributes.
365 if ([self role] == @"AXWebArea") { 371 if ([self role] == @"AXWebArea") {
366 [ret addObjectsFromArray:[NSArray arrayWithObjects: 372 [ret addObjectsFromArray:[NSArray arrayWithObjects:
367 @"AXLoaded", 373 @"AXLoaded",
368 @"AXURL",
369 @"AXVisited",
370 nil]]; 374 nil]];
371 } 375 }
372 376
373 if ([self role] == NSAccessibilityTextFieldRole) { 377 if ([self role] == NSAccessibilityTextFieldRole) {
374 [ret addObjectsFromArray:[NSArray arrayWithObjects: 378 [ret addObjectsFromArray:[NSArray arrayWithObjects:
375 NSAccessibilityInsertionPointLineNumberAttribute, 379 NSAccessibilityInsertionPointLineNumberAttribute,
376 NSAccessibilityNumberOfCharactersAttribute, 380 NSAccessibilityNumberOfCharactersAttribute,
377 NSAccessibilitySelectedTextAttribute, 381 NSAccessibilitySelectedTextAttribute,
378 NSAccessibilitySelectedTextRangeAttribute, 382 NSAccessibilitySelectedTextRangeAttribute,
379 NSAccessibilityVisibleCharacterRangeAttribute, 383 NSAccessibilityVisibleCharacterRangeAttribute,
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
473 477
474 - (NSUInteger)hash { 478 - (NSUInteger)hash {
475 // Potentially called during dealloc. 479 // Potentially called during dealloc.
476 if (!browserAccessibility_) 480 if (!browserAccessibility_)
477 return [super hash]; 481 return [super hash];
478 return browserAccessibility_->renderer_id(); 482 return browserAccessibility_->renderer_id();
479 } 483 }
480 484
481 @end 485 @end
482 486
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698