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

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

Issue 407493004: Revert of Revert of Migrate accessibility from RenderView to RenderFrame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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.Offset(size.width / 2, size.height / 2);
1558 [self delegate]->AccessibilityShowMenu(origin);
1554 } 1559 }
1555 } 1560 }
1556 1561
1557 // Returns the description of the given action. 1562 // Returns the description of the given action.
1558 - (NSString*)accessibilityActionDescription:(NSString*)action { 1563 - (NSString*)accessibilityActionDescription:(NSString*)action {
1559 if (!browserAccessibility_) 1564 if (!browserAccessibility_)
1560 return nil; 1565 return nil;
1561 1566
1562 return NSAccessibilityActionDescription(action); 1567 return NSAccessibilityActionDescription(action);
1563 } 1568 }
1564 1569
1565 // Sets an override value for a specific accessibility attribute. 1570 // Sets an override value for a specific accessibility attribute.
1566 // This class does not support this. 1571 // This class does not support this.
1567 - (BOOL)accessibilitySetOverrideValue:(id)value 1572 - (BOOL)accessibilitySetOverrideValue:(id)value
1568 forAttribute:(NSString*)attribute { 1573 forAttribute:(NSString*)attribute {
1569 return NO; 1574 return NO;
1570 } 1575 }
1571 1576
1572 // Sets the value for an accessibility attribute via the accessibility API. 1577 // Sets the value for an accessibility attribute via the accessibility API.
1573 - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute { 1578 - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute {
1574 if (!browserAccessibility_) 1579 if (!browserAccessibility_)
1575 return; 1580 return;
1576 1581
1577 if ([attribute isEqualToString:NSAccessibilityFocusedAttribute]) { 1582 if ([attribute isEqualToString:NSAccessibilityFocusedAttribute]) {
1583 BrowserAccessibilityManager* manager = browserAccessibility_->manager();
1578 NSNumber* focusedNumber = value; 1584 NSNumber* focusedNumber = value;
1579 BOOL focused = [focusedNumber intValue]; 1585 BOOL focused = [focusedNumber intValue];
1580 if (focused) 1586 if (focused)
1581 [self delegate]->AccessibilitySetFocus(browserAccessibility_->GetId()); 1587 manager->SetFocus(browserAccessibility_, true);
1582 } 1588 }
1583 if ([attribute isEqualToString:NSAccessibilitySelectedTextRangeAttribute]) { 1589 if ([attribute isEqualToString:NSAccessibilitySelectedTextRangeAttribute]) {
1584 NSRange range = [(NSValue*)value rangeValue]; 1590 NSRange range = [(NSValue*)value rangeValue];
1585 [self delegate]->AccessibilitySetTextSelection( 1591 [self delegate]->AccessibilitySetTextSelection(
1586 browserAccessibility_->GetId(), 1592 browserAccessibility_->GetId(),
1587 range.location, range.location + range.length); 1593 range.location, range.location + range.length);
1588 } 1594 }
1589 } 1595 }
1590 1596
1591 // Returns the deepest accessibility child that should not be ignored. 1597 // 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]; 1635 return [super hash];
1630 return browserAccessibility_->GetId(); 1636 return browserAccessibility_->GetId();
1631 } 1637 }
1632 1638
1633 - (BOOL)accessibilityShouldUseUniqueId { 1639 - (BOOL)accessibilityShouldUseUniqueId {
1634 return YES; 1640 return YES;
1635 } 1641 }
1636 1642
1637 @end 1643 @end
1638 1644
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698