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

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

Issue 2694903010: AX checked state changes (Closed)
Patch Set: Fix android test Created 3 years, 9 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 1856 matching lines...) Expand 10 before | Expand all | Expand 10 after
1867 1867
1868 if (isMixed) 1868 if (isMixed)
1869 value = 2; 1869 value = 2;
1870 1870
1871 return [NSNumber numberWithInt:value]; 1871 return [NSNumber numberWithInt:value];
1872 1872
1873 } else if ([role isEqualToString:NSAccessibilityCheckBoxRole] || 1873 } else if ([role isEqualToString:NSAccessibilityCheckBoxRole] ||
1874 [role isEqualToString:NSAccessibilityRadioButtonRole] || 1874 [role isEqualToString:NSAccessibilityRadioButtonRole] ||
1875 [self internalRole] == ui::AX_ROLE_MENU_ITEM_CHECK_BOX || 1875 [self internalRole] == ui::AX_ROLE_MENU_ITEM_CHECK_BOX ||
1876 [self internalRole] == ui::AX_ROLE_MENU_ITEM_RADIO) { 1876 [self internalRole] == ui::AX_ROLE_MENU_ITEM_RADIO) {
1877 int value = 0; 1877 int value;
1878 value = GetState( 1878 const int checkedState =
1879 browserAccessibility_, ui::AX_STATE_CHECKED) ? 1 : 0; 1879 browserAccessibility_->GetIntAttribute(ui::AX_ATTR_CHECKED_STATE);
1880 value = GetState( 1880 switch (checkedState) {
1881 browserAccessibility_, ui::AX_STATE_SELECTED) ? 1881 case ui::AX_CHECKED_STATE_TRUE:
1882 1 : 1882 value = 1;
1883 value; 1883 break;
1884 1884 case ui::AX_CHECKED_STATE_MIXED:
1885 if (browserAccessibility_->GetBoolAttribute(ui::AX_ATTR_STATE_MIXED)) { 1885 value = 2;
1886 value = 2; 1886 break;
1887 default:
1888 value = GetState(browserAccessibility_, ui::AX_STATE_SELECTED) ? 1 : 0;
1889 break;
1887 } 1890 }
1888 return [NSNumber numberWithInt:value]; 1891 return [NSNumber numberWithInt:value];
1889 } else if ([role isEqualToString:NSAccessibilityProgressIndicatorRole] || 1892 } else if ([role isEqualToString:NSAccessibilityProgressIndicatorRole] ||
1890 [role isEqualToString:NSAccessibilitySliderRole] || 1893 [role isEqualToString:NSAccessibilitySliderRole] ||
1891 [role isEqualToString:NSAccessibilityIncrementorRole] || 1894 [role isEqualToString:NSAccessibilityIncrementorRole] ||
1892 [role isEqualToString:NSAccessibilityScrollBarRole]) { 1895 [role isEqualToString:NSAccessibilityScrollBarRole]) {
1893 float floatValue; 1896 float floatValue;
1894 if (browserAccessibility_->GetFloatAttribute( 1897 if (browserAccessibility_->GetFloatAttribute(
1895 ui::AX_ATTR_VALUE_FOR_RANGE, &floatValue)) { 1898 ui::AX_ATTR_VALUE_FOR_RANGE, &floatValue)) {
1896 return [NSNumber numberWithFloat:floatValue]; 1899 return [NSNumber numberWithFloat:floatValue];
(...skipping 988 matching lines...) Expand 10 before | Expand all | Expand 10 after
2885 } 2888 }
2886 2889
2887 - (BOOL)accessibilityNotifiesWhenDestroyed { 2890 - (BOOL)accessibilityNotifiesWhenDestroyed {
2888 // Indicate that BrowserAccessibilityCocoa will post a notification when it's 2891 // Indicate that BrowserAccessibilityCocoa will post a notification when it's
2889 // destroyed (see -detach). This allows VoiceOver to do some internal things 2892 // destroyed (see -detach). This allows VoiceOver to do some internal things
2890 // more efficiently. 2893 // more efficiently.
2891 return YES; 2894 return YES;
2892 } 2895 }
2893 2896
2894 @end 2897 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698