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

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: Rebase Created 6 years, 5 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 1532 matching lines...) Expand 10 before | Expand all | Expand 10 after
1543 // that backs this object. 1543 // that backs this object.
1544 - (void)accessibilityPerformAction:(NSString*)action { 1544 - (void)accessibilityPerformAction:(NSString*)action {
1545 if (!browserAccessibility_) 1545 if (!browserAccessibility_)
1546 return; 1546 return;
1547 1547
1548 // TODO(dmazzoni): Support more actions. 1548 // TODO(dmazzoni): Support more actions.
1549 if ([action isEqualToString:NSAccessibilityPressAction]) { 1549 if ([action isEqualToString:NSAccessibilityPressAction]) {
1550 [self delegate]->AccessibilityDoDefaultAction( 1550 [self delegate]->AccessibilityDoDefaultAction(
1551 browserAccessibility_->GetId()); 1551 browserAccessibility_->GetId());
1552 } else if ([action isEqualToString:NSAccessibilityShowMenuAction]) { 1552 } else if ([action isEqualToString:NSAccessibilityShowMenuAction]) {
1553 [self delegate]->AccessibilityShowMenu(browserAccessibility_->GetId()); 1553 NSPoint objOrigin = [self origin];
1554 NSSize size = [[self size] sizeValue];
1555 gfx::Point origin = [self delegate]->AccessibilityOriginInScreen(
1556 gfx::Rect(objOrigin.x, objOrigin.y, size.width, size.height));
1557 origin.set_x(origin.x() + size.width / 2);
1558 origin.set_y(origin.y() + size.width / 2);
ncarter (slow) 2014/07/15 01:23:28 Should this be size.height instead of .width? You
dmazzoni 2014/07/15 07:55:03 Good catch, thanks!
1559 [self delegate]->AccessibilityShowMenu(origin);
1554 } 1560 }
1555 } 1561 }
1556 1562
1557 // Returns the description of the given action. 1563 // Returns the description of the given action.
1558 - (NSString*)accessibilityActionDescription:(NSString*)action { 1564 - (NSString*)accessibilityActionDescription:(NSString*)action {
1559 if (!browserAccessibility_) 1565 if (!browserAccessibility_)
1560 return nil; 1566 return nil;
1561 1567
1562 return NSAccessibilityActionDescription(action); 1568 return NSAccessibilityActionDescription(action);
1563 } 1569 }
1564 1570
1565 // Sets an override value for a specific accessibility attribute. 1571 // Sets an override value for a specific accessibility attribute.
1566 // This class does not support this. 1572 // This class does not support this.
1567 - (BOOL)accessibilitySetOverrideValue:(id)value 1573 - (BOOL)accessibilitySetOverrideValue:(id)value
1568 forAttribute:(NSString*)attribute { 1574 forAttribute:(NSString*)attribute {
1569 return NO; 1575 return NO;
1570 } 1576 }
1571 1577
1572 // Sets the value for an accessibility attribute via the accessibility API. 1578 // Sets the value for an accessibility attribute via the accessibility API.
1573 - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute { 1579 - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute {
1574 if (!browserAccessibility_) 1580 if (!browserAccessibility_)
1575 return; 1581 return;
1576 1582
1577 if ([attribute isEqualToString:NSAccessibilityFocusedAttribute]) { 1583 if ([attribute isEqualToString:NSAccessibilityFocusedAttribute]) {
1584 BrowserAccessibilityManager* manager = browserAccessibility_->manager();
1578 NSNumber* focusedNumber = value; 1585 NSNumber* focusedNumber = value;
1579 BOOL focused = [focusedNumber intValue]; 1586 BOOL focused = [focusedNumber intValue];
1580 if (focused) 1587 if (focused)
1581 [self delegate]->AccessibilitySetFocus(browserAccessibility_->GetId()); 1588 manager->SetFocus(browserAccessibility_, true);
1582 } 1589 }
1583 if ([attribute isEqualToString:NSAccessibilitySelectedTextRangeAttribute]) { 1590 if ([attribute isEqualToString:NSAccessibilitySelectedTextRangeAttribute]) {
1584 NSRange range = [(NSValue*)value rangeValue]; 1591 NSRange range = [(NSValue*)value rangeValue];
1585 [self delegate]->AccessibilitySetTextSelection( 1592 [self delegate]->AccessibilitySetTextSelection(
1586 browserAccessibility_->GetId(), 1593 browserAccessibility_->GetId(),
1587 range.location, range.location + range.length); 1594 range.location, range.location + range.length);
1588 } 1595 }
1589 } 1596 }
1590 1597
1591 // Returns the deepest accessibility child that should not be ignored. 1598 // Returns the deepest accessibility child that should not be ignored.
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1629 return [super hash]; 1636 return [super hash];
1630 return browserAccessibility_->GetId(); 1637 return browserAccessibility_->GetId();
1631 } 1638 }
1632 1639
1633 - (BOOL)accessibilityShouldUseUniqueId { 1640 - (BOOL)accessibilityShouldUseUniqueId {
1634 return YES; 1641 return YES;
1635 } 1642 }
1636 1643
1637 @end 1644 @end
1638 1645
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698