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

Side by Side Diff: content/browser/accessibility/browser_accessibility_cocoa.mm

Issue 2694903010: AX checked state changes (Closed)
Patch Set: git cl try Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/browser/accessibility/browser_accessibility_cocoa.h" 5 #import "content/browser/accessibility/browser_accessibility_cocoa.h"
6 6
7 #include <execinfo.h> 7 #include <execinfo.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 #include <string.h> 10 #include <string.h>
(...skipping 1867 matching lines...) Expand 10 before | Expand all | Expand 10 after
1878 1878
1879 if (isMixed) 1879 if (isMixed)
1880 value = 2; 1880 value = 2;
1881 1881
1882 return [NSNumber numberWithInt:value]; 1882 return [NSNumber numberWithInt:value];
1883 1883
1884 } else if ([role isEqualToString:NSAccessibilityCheckBoxRole] || 1884 } else if ([role isEqualToString:NSAccessibilityCheckBoxRole] ||
1885 [role isEqualToString:NSAccessibilityRadioButtonRole] || 1885 [role isEqualToString:NSAccessibilityRadioButtonRole] ||
1886 [self internalRole] == ui::AX_ROLE_MENU_ITEM_CHECK_BOX || 1886 [self internalRole] == ui::AX_ROLE_MENU_ITEM_CHECK_BOX ||
1887 [self internalRole] == ui::AX_ROLE_MENU_ITEM_RADIO) { 1887 [self internalRole] == ui::AX_ROLE_MENU_ITEM_RADIO) {
1888 int value = 0; 1888 int value;
1889 value = GetState( 1889 const auto checkedState = static_cast<ui::AXCheckedState>(
1890 browserAccessibility_, ui::AX_STATE_CHECKED) ? 1 : 0; 1890 browserAccessibility_->GetIntAttribute(ui::AX_ATTR_CHECKED_STATE));
1891 value = GetState( 1891 switch (checkedState) {
1892 browserAccessibility_, ui::AX_STATE_SELECTED) ? 1892 case ui::AX_CHECKED_STATE_TRUE:
1893 1 : 1893 value = 1;
1894 value; 1894 break;
1895 1895 case ui::AX_CHECKED_STATE_MIXED:
1896 if (browserAccessibility_->GetBoolAttribute(ui::AX_ATTR_STATE_MIXED)) { 1896 value = 2;
1897 value = 2; 1897 break;
1898 default:
1899 value = GetState(browserAccessibility_, ui::AX_STATE_SELECTED) ? 1 : 0;
1900 break;
1898 } 1901 }
1899 return [NSNumber numberWithInt:value]; 1902 return [NSNumber numberWithInt:value];
1900 } else if ([role isEqualToString:NSAccessibilityProgressIndicatorRole] || 1903 } else if ([role isEqualToString:NSAccessibilityProgressIndicatorRole] ||
1901 [role isEqualToString:NSAccessibilitySliderRole] || 1904 [role isEqualToString:NSAccessibilitySliderRole] ||
1902 [role isEqualToString:NSAccessibilityIncrementorRole] || 1905 [role isEqualToString:NSAccessibilityIncrementorRole] ||
1903 [role isEqualToString:NSAccessibilityScrollBarRole]) { 1906 [role isEqualToString:NSAccessibilityScrollBarRole]) {
1904 float floatValue; 1907 float floatValue;
1905 if (browserAccessibility_->GetFloatAttribute( 1908 if (browserAccessibility_->GetFloatAttribute(
1906 ui::AX_ATTR_VALUE_FOR_RANGE, &floatValue)) { 1909 ui::AX_ATTR_VALUE_FOR_RANGE, &floatValue)) {
1907 return [NSNumber numberWithFloat:floatValue]; 1910 return [NSNumber numberWithFloat:floatValue];
(...skipping 988 matching lines...) Expand 10 before | Expand all | Expand 10 after
2896 } 2899 }
2897 2900
2898 - (BOOL)accessibilityNotifiesWhenDestroyed { 2901 - (BOOL)accessibilityNotifiesWhenDestroyed {
2899 // Indicate that BrowserAccessibilityCocoa will post a notification when it's 2902 // Indicate that BrowserAccessibilityCocoa will post a notification when it's
2900 // destroyed (see -detach). This allows VoiceOver to do some internal things 2903 // destroyed (see -detach). This allows VoiceOver to do some internal things
2901 // more efficiently. 2904 // more efficiently.
2902 return YES; 2905 return YES;
2903 } 2906 }
2904 2907
2905 @end 2908 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698