Commit 14607799 authored by dmazzoni@chromium.org's avatar dmazzoni@chromium.org

The Mac accessibility impl should defer to BrowserAccessibilityManager

to determine if a node has focus, not the element's state (which goes
stale too quickly - that's how we enforce that only one element is focused
at once). That was preventing VoiceOver from notifying us when it wanted to
set focus, because it thought a node already had focus when it didn't.

BUG=105923
TEST=Use Chrome with VoiceOver, use VoiceOver navigation keys to browse focusable elements repeatedly.


Review URL: http://codereview.chromium.org/8749014

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112343 0039d316-1c4b-4281-b951-d872f2087c98
parent 68ba21bb
...@@ -427,8 +427,9 @@ NSDictionary* attributeToMethodNameMap = nil; ...@@ -427,8 +427,9 @@ NSDictionary* attributeToMethodNameMap = nil;
} }
- (NSNumber*)focused { - (NSNumber*)focused {
BrowserAccessibilityManager* manager = browserAccessibility_->manager();
NSNumber* ret = [NSNumber numberWithBool: NSNumber* ret = [NSNumber numberWithBool:
GetState(browserAccessibility_, WebAccessibility::STATE_FOCUSED)]; manager->GetFocus(NULL) == browserAccessibility_];
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment