| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #import "ui/accessibility/platform/ax_platform_node_mac.h" | 5 #import "ui/accessibility/platform/ax_platform_node_mac.h" |
| 6 | 6 |
| 7 #import <Cocoa/Cocoa.h> | 7 #import <Cocoa/Cocoa.h> |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 | 9 |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 371 if ([attributeName isEqualToString:NSAccessibilitySelectedAttribute] || | 371 if ([attributeName isEqualToString:NSAccessibilitySelectedAttribute] || |
| 372 [attributeName | 372 [attributeName |
| 373 isEqualToString:NSAccessibilitySelectedChildrenAttribute] || | 373 isEqualToString:NSAccessibilitySelectedChildrenAttribute] || |
| 374 [attributeName | 374 [attributeName |
| 375 isEqualToString:NSAccessibilitySelectedTextRangeAttribute] || | 375 isEqualToString:NSAccessibilitySelectedTextRangeAttribute] || |
| 376 [attributeName | 376 [attributeName |
| 377 isEqualToString:NSAccessibilityVisibleCharacterRangeAttribute]) { | 377 isEqualToString:NSAccessibilityVisibleCharacterRangeAttribute]) { |
| 378 return NO; | 378 return NO; |
| 379 } | 379 } |
| 380 | 380 |
| 381 if ([attributeName isEqualToString:NSAccessibilityValueAttribute]) | 381 if ([attributeName isEqualToString:NSAccessibilityValueAttribute] || |
| 382 [attributeName isEqualToString:NSAccessibilitySelectedTextAttribute]) |
| 382 return node_->GetDelegate()->CanSetStringValue(); | 383 return node_->GetDelegate()->CanSetStringValue(); |
| 383 // TODO(patricialor): Implement and merge with conditional for value above. | |
| 384 if ([attributeName isEqualToString:NSAccessibilitySelectedTextAttribute]) | |
| 385 return NO; | |
| 386 | 384 |
| 387 if ([attributeName isEqualToString:NSAccessibilityFocusedAttribute]) { | 385 if ([attributeName isEqualToString:NSAccessibilityFocusedAttribute]) { |
| 388 if (ui::AXViewState::IsFlagSet(node_->GetData().state, | 386 if (ui::AXViewState::IsFlagSet(node_->GetData().state, |
| 389 ui::AX_STATE_FOCUSABLE)) | 387 ui::AX_STATE_FOCUSABLE)) |
| 390 return NO; | 388 return NO; |
| 391 } | 389 } |
| 392 | 390 |
| 393 // TODO(patricialor): Add callbacks for updating the above attributes except | 391 // TODO(patricialor): Add callbacks for updating the above attributes except |
| 394 // NSAccessibilityValueAttribute and return YES. | 392 // NSAccessibilityValueAttribute and return YES. |
| 395 return NO; | 393 return NO; |
| 396 } | 394 } |
| 397 | 395 |
| 398 - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute { | 396 - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute { |
| 399 if ([attribute isEqualToString:NSAccessibilityValueAttribute] && | 397 if ([attribute isEqualToString:NSAccessibilityValueAttribute] && |
| 400 [value isKindOfClass:[NSString class]]) | 398 [value isKindOfClass:[NSString class]]) { |
| 401 node_->GetDelegate()->SetStringValue(base::SysNSStringToUTF16(value)); | 399 node_->GetDelegate()->SetStringValue(base::SysNSStringToUTF16(value), true); |
| 400 } else if ([attribute isEqualToString:NSAccessibilitySelectedTextAttribute] && |
| 401 [value isKindOfClass:[NSString class]]) { |
| 402 node_->GetDelegate()->SetStringValue(base::SysNSStringToUTF16(value), |
| 403 false); |
| 404 } |
| 402 | 405 |
| 403 // TODO(patricialor): Plumb through all the other writable attributes as | 406 // TODO(patricialor): Plumb through all the other writable attributes as |
| 404 // specified in accessibilityIsAttributeSettable. | 407 // specified in accessibilityIsAttributeSettable. |
| 405 } | 408 } |
| 406 | 409 |
| 407 - (id)accessibilityAttributeValue:(NSString*)attribute { | 410 - (id)accessibilityAttributeValue:(NSString*)attribute { |
| 408 SEL selector = NSSelectorFromString(attribute); | 411 SEL selector = NSSelectorFromString(attribute); |
| 409 if ([self respondsToSelector:selector]) | 412 if ([self respondsToSelector:selector]) |
| 410 return [self performSelector:selector]; | 413 return [self performSelector:selector]; |
| 411 return nil; | 414 return nil; |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 582 } | 585 } |
| 583 NotifyMacEvent(native_node_, event_type); | 586 NotifyMacEvent(native_node_, event_type); |
| 584 } | 587 } |
| 585 | 588 |
| 586 int AXPlatformNodeMac::GetIndexInParent() { | 589 int AXPlatformNodeMac::GetIndexInParent() { |
| 587 // TODO(dmazzoni): implement this. http://crbug.com/396137 | 590 // TODO(dmazzoni): implement this. http://crbug.com/396137 |
| 588 return -1; | 591 return -1; |
| 589 } | 592 } |
| 590 | 593 |
| 591 } // namespace ui | 594 } // namespace ui |
| OLD | NEW |