1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// Copyright 2014 The Chromium Authors. All rights reserved. 2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// Use of this source code is governed by a BSD-style license that can be 3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// found in the LICENSE file. 4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com#ifndef UI_ACCESSIBILITY_AX_PLATFORM_NODE_MAC_H_ 6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com#define UI_ACCESSIBILITY_AX_PLATFORM_NODE_MAC_H_ 7ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 843c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com#include "base/mac/scoped_nsobject.h" 943c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com#include "ui/accessibility/ax_export.h" 1043c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com#include "ui/accessibility/platform/ax_platform_node_base.h" 1143c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com 1243c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com@class AXPlatformNodeCocoa; 1343c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com 1443c50c8c77df82c5cffb55cae2d386e59802b88freed@google.comnamespace ui { 1543c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com 1643c50c8c77df82c5cffb55cae2d386e59802b88freed@google.comclass AXPlatformNodeMac : public AXPlatformNodeBase { 1743c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com public: 1843c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com AXPlatformNodeMac(); 1943c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com 2043c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com // AXPlatformNode. 2143c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com virtual void Destroy() OVERRIDE; 2243c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com virtual gfx::NativeViewAccessible GetNativeViewAccessible() OVERRIDE; 2343c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com 2443c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com private: 2543c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com virtual ~AXPlatformNodeMac(); 2643c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com 2743c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com base::scoped_nsobject<AXPlatformNodeCocoa> native_node_; 2843c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com 2943c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com DISALLOW_COPY_AND_ASSIGN(AXPlatformNodeMac); 3043c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com}; 3143c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com 3243c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com} // namespace ui 3343c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com 3443c50c8c77df82c5cffb55cae2d386e59802b88freed@google.comAX_EXPORT 3543c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com@interface AXPlatformNodeCocoa : NSObject { 3643c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com @private 3743c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com ui::AXPlatformNodeBase* node_; // Weak. Retains us. 3843c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com} 3943c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com 4043c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com+ (NSString*)nativeRoleFromAXRole:(ui::AXRole)role; 4143c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com+ (NSString*)nativeSubroleFromAXRole:(ui::AXRole)role; 4243c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com 4343c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com- (instancetype)initWithNode:(ui::AXPlatformNodeBase*)node; 4443c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com- (void)detach; 4543c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com 4643c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com@property(nonatomic, readonly) NSRect boundsInScreen; 4743c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com 4843c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com@end 4943c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com 5043c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com#endif // UI_ACCESSIBILITY_AX_PLATFORM_NODE_MAC_H_ 5143c50c8c77df82c5cffb55cae2d386e59802b88freed@google.com