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

Unified Diff: content/browser/accessibility/browser_accessibility_cocoa.mm

Issue 2393123002: Implement caching asynchronous accessibility hit testing. (Closed)
Patch Set: Created 4 years, 2 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 side-by-side diff with in-line comments
Download patch
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 f0dc23827a78ca158623a549b9316d1bf17617dd..38a8b68d9691ac526e36424146967493058c99cf 100644
--- a/content/browser/accessibility/browser_accessibility_cocoa.mm
+++ b/content/browser/accessibility/browser_accessibility_cocoa.mm
@@ -2846,25 +2846,14 @@ 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);
+ LOG(ERROR) << "HitTest " << point.x << ", " << point.y
Elly Fong-Jones 2016/10/06 14:20:53 leftover?
dmazzoni 2016/10/10 19:36:42 Fixed
+ << " : " << (hit ? hit->GetData().ToString() : "null");
+ return NSAccessibilityUnignoredAncestor(ToBrowserAccessibilityCocoa(hit));
}
- (BOOL)isEqual:(id)object {

Powered by Google App Engine
This is Rietveld 408576698