1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef UI_ACCESSIBILITY_AX_PLATFORM_NODE_MAC_H_ 6#define UI_ACCESSIBILITY_AX_PLATFORM_NODE_MAC_H_ 7 8#include "base/mac/scoped_nsobject.h" 9#include "ui/accessibility/ax_export.h" 10#include "ui/accessibility/platform/ax_platform_node_base.h" 11 12@class AXPlatformNodeCocoa; 13 14namespace ui { 15 16class AXPlatformNodeMac : public AXPlatformNodeBase { 17 public: 18 AXPlatformNodeMac(); 19 20 // AXPlatformNode. 21 virtual void Destroy() OVERRIDE; 22 virtual gfx::NativeViewAccessible GetNativeViewAccessible() OVERRIDE; 23 24 private: 25 virtual ~AXPlatformNodeMac(); 26 27 base::scoped_nsobject<AXPlatformNodeCocoa> native_node_; 28 29 DISALLOW_COPY_AND_ASSIGN(AXPlatformNodeMac); 30}; 31 32} // namespace ui 33 34AX_EXPORT 35@interface AXPlatformNodeCocoa : NSObject { 36 @private 37 ui::AXPlatformNodeBase* node_; // Weak. Retains us. 38} 39 40+ (NSString*)nativeRoleFromAXRole:(ui::AXRole)role; 41+ (NSString*)nativeSubroleFromAXRole:(ui::AXRole)role; 42 43- (instancetype)initWithNode:(ui::AXPlatformNodeBase*)node; 44- (void)detach; 45 46@property(nonatomic, readonly) NSRect boundsInScreen; 47 48@end 49 50#endif // UI_ACCESSIBILITY_AX_PLATFORM_NODE_MAC_H_ 51