| Index: content/browser/accessibility/browser_accessibility_cocoa.mm
|
| diff --git a/content/browser/accessibility/browser_accessibility_cocoa.mm b/content/browser/accessibility/browser_accessibility_cocoa.mm
|
| index cca823d03b6b15222eb5c886e226b062133b4a63..c844cdb09abb09cb113faab19f84abbb7570f3a6 100644
|
| --- a/content/browser/accessibility/browser_accessibility_cocoa.mm
|
| +++ b/content/browser/accessibility/browser_accessibility_cocoa.mm
|
| @@ -2853,25 +2853,15 @@ NSString* const NSAccessibilityRequiredAttribute = @"AXRequired";
|
| if (![self instanceActive])
|
| return nil;
|
|
|
| - BrowserAccessibilityCocoa* hit = self;
|
| - for (BrowserAccessibilityCocoa* child in [self children]) {
|
| - if (!child->browserAccessibility_)
|
| - continue;
|
| - NSPoint origin = [child origin];
|
| - NSSize size = [[child size] sizeValue];
|
| - NSRect rect;
|
| - rect.origin = origin;
|
| - rect.size = size;
|
| - if (NSPointInRect(point, rect)) {
|
| - hit = child;
|
| - id childResult = [child accessibilityHitTest:point];
|
| - if (![childResult accessibilityIsIgnored]) {
|
| - hit = childResult;
|
| - break;
|
| - }
|
| - }
|
| - }
|
| - return NSAccessibilityUnignoredAncestor(hit);
|
| + BrowserAccessibilityManager* manager = browserAccessibility_->manager();
|
| + gfx::Point screen_point(point.x, point.y);
|
| + screen_point += manager->GetViewBounds().OffsetFromOrigin();
|
| +
|
| + BrowserAccessibility* hit = manager->CachingAsyncHitTest(screen_point);
|
| + if (!hit)
|
| + return nil;
|
| +
|
| + return NSAccessibilityUnignoredAncestor(ToBrowserAccessibilityCocoa(hit));
|
| }
|
|
|
| - (BOOL)isEqual:(id)object {
|
|
|