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

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

Issue 273423004: Migrate accessibility from RenderView to RenderFrame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix win & android compile Created 6 years, 7 months 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
OLDNEW
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 1473 matching lines...) Expand 10 before | Expand all | Expand 10 after
1484 // that backs this object. 1484 // that backs this object.
1485 - (void)accessibilityPerformAction:(NSString*)action { 1485 - (void)accessibilityPerformAction:(NSString*)action {
1486 if (!browserAccessibility_) 1486 if (!browserAccessibility_)
1487 return; 1487 return;
1488 1488
1489 // TODO(dmazzoni): Support more actions. 1489 // TODO(dmazzoni): Support more actions.
1490 if ([action isEqualToString:NSAccessibilityPressAction]) { 1490 if ([action isEqualToString:NSAccessibilityPressAction]) {
1491 [self delegate]->AccessibilityDoDefaultAction( 1491 [self delegate]->AccessibilityDoDefaultAction(
1492 browserAccessibility_->GetId()); 1492 browserAccessibility_->GetId());
1493 } else if ([action isEqualToString:NSAccessibilityShowMenuAction]) { 1493 } else if ([action isEqualToString:NSAccessibilityShowMenuAction]) {
1494 [self delegate]->AccessibilityShowMenu(browserAccessibility_->GetId()); 1494 NSPoint objOrigin = [self origin];
1495 NSSize size = [[self size] sizeValue];
1496 gfx::Point origin = [self delegate]->AccessibilityOriginInScreen(
1497 gfx::Rect(objOrigin.x, objOrigin.y, size.width, size.height));
1498 origin.set_x(origin.x() + size.width / 2);
1499 origin.set_y(origin.y() + size.width / 2);
1500 [self delegate]->AccessibilityShowMenu(origin);
1495 } 1501 }
1496 } 1502 }
1497 1503
1498 // Returns the description of the given action. 1504 // Returns the description of the given action.
1499 - (NSString*)accessibilityActionDescription:(NSString*)action { 1505 - (NSString*)accessibilityActionDescription:(NSString*)action {
1500 if (!browserAccessibility_) 1506 if (!browserAccessibility_)
1501 return nil; 1507 return nil;
1502 1508
1503 return NSAccessibilityActionDescription(action); 1509 return NSAccessibilityActionDescription(action);
1504 } 1510 }
1505 1511
1506 // Sets an override value for a specific accessibility attribute. 1512 // Sets an override value for a specific accessibility attribute.
1507 // This class does not support this. 1513 // This class does not support this.
1508 - (BOOL)accessibilitySetOverrideValue:(id)value 1514 - (BOOL)accessibilitySetOverrideValue:(id)value
1509 forAttribute:(NSString*)attribute { 1515 forAttribute:(NSString*)attribute {
1510 return NO; 1516 return NO;
1511 } 1517 }
1512 1518
1513 // Sets the value for an accessibility attribute via the accessibility API. 1519 // Sets the value for an accessibility attribute via the accessibility API.
1514 - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute { 1520 - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute {
1515 if (!browserAccessibility_) 1521 if (!browserAccessibility_)
1516 return; 1522 return;
1517 1523
1518 if ([attribute isEqualToString:NSAccessibilityFocusedAttribute]) { 1524 if ([attribute isEqualToString:NSAccessibilityFocusedAttribute]) {
1525 BrowserAccessibilityManager* manager = browserAccessibility_->manager();
1519 NSNumber* focusedNumber = value; 1526 NSNumber* focusedNumber = value;
1520 BOOL focused = [focusedNumber intValue]; 1527 BOOL focused = [focusedNumber intValue];
1521 if (focused) 1528 if (focused)
1522 [self delegate]->AccessibilitySetFocus(browserAccessibility_->GetId()); 1529 manager->SetFocus(browserAccessibility_, true);
1523 } 1530 }
1524 if ([attribute isEqualToString:NSAccessibilitySelectedTextRangeAttribute]) { 1531 if ([attribute isEqualToString:NSAccessibilitySelectedTextRangeAttribute]) {
1525 NSRange range = [(NSValue*)value rangeValue]; 1532 NSRange range = [(NSValue*)value rangeValue];
1526 [self delegate]->AccessibilitySetTextSelection( 1533 [self delegate]->AccessibilitySetTextSelection(
1527 browserAccessibility_->GetId(), 1534 browserAccessibility_->GetId(),
1528 range.location, range.location + range.length); 1535 range.location, range.location + range.length);
1529 } 1536 }
1530 } 1537 }
1531 1538
1532 // Returns the deepest accessibility child that should not be ignored. 1539 // Returns the deepest accessibility child that should not be ignored.
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1570 return [super hash]; 1577 return [super hash];
1571 return browserAccessibility_->GetId(); 1578 return browserAccessibility_->GetId();
1572 } 1579 }
1573 1580
1574 - (BOOL)accessibilityShouldUseUniqueId { 1581 - (BOOL)accessibilityShouldUseUniqueId {
1575 return YES; 1582 return YES;
1576 } 1583 }
1577 1584
1578 @end 1585 @end
1579 1586
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698