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

Unified Diff: ui/accessibility/platform/ax_platform_node_mac.mm

Issue 2715543003: Views a11y: Implement AXPlatformNode::FromNativeViewAccessible on all platforms. (Closed)
Patch Set: Make GetForView protected. Created 3 years, 10 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: ui/accessibility/platform/ax_platform_node_mac.mm
diff --git a/ui/accessibility/platform/ax_platform_node_mac.mm b/ui/accessibility/platform/ax_platform_node_mac.mm
index 9edb01336f2b23b0513e8bf4e20d314dc76925e0..66f9f917f389690ac0c5bcfe3f7504faf0154adc 100644
--- a/ui/accessibility/platform/ax_platform_node_mac.mm
+++ b/ui/accessibility/platform/ax_platform_node_mac.mm
@@ -230,7 +230,11 @@ void NotifyMacEvent(AXPlatformNodeCocoa* target, ui::AXEvent event_type) {
- (NSString*)getStringAttribute:(ui::AXStringAttribute)attribute;
@end
-@implementation AXPlatformNodeCocoa
+@implementation AXPlatformNodeCocoa {
+ ui::AXPlatformNodeBase* node_; // Weak. Retains us.
+}
+
+@synthesize node = node_;
// A mapping of AX roles to native roles.
+ (NSString*)nativeRoleFromAXRole:(ui::AXRole)role {
@@ -290,7 +294,7 @@ void NotifyMacEvent(AXPlatformNodeCocoa* target, ui::AXEvent event_type) {
- (id)accessibilityHitTest:(NSPoint)point {
for (AXPlatformNodeCocoa* child in [self AXChildren]) {
- if (NSPointInRect(point, child.boundsInScreen))
+ if (NSPointInRect(point, [child boundsInScreen]))
return [child accessibilityHitTest:point];
}
return NSAccessibilityUnignoredAncestor(self);
@@ -626,6 +630,14 @@ AXPlatformNode* AXPlatformNode::Create(AXPlatformNodeDelegate* delegate) {
return node;
}
+// static
+AX_EXPORT AXPlatformNode* AXPlatformNode::FromNativeViewAccessible(
+ gfx::NativeViewAccessible accessible) {
+ if ([accessible isKindOfClass:[AXPlatformNodeCocoa class]])
+ return [accessible node];
+ return nullptr;
+}
+
AXPlatformNodeMac::AXPlatformNodeMac() {
}

Powered by Google App Engine
This is Rietveld 408576698