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

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

Issue 10821085: mac: Remove one static initializer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include <execinfo.h> 5 #include <execinfo.h>
6 6
7 #import "content/browser/accessibility/browser_accessibility_cocoa.h" 7 #import "content/browser/accessibility/browser_accessibility_cocoa.h"
8 8
9 #include <map> 9 #include <map>
10 10
(...skipping 29 matching lines...) Expand all
40 return returnValue; 40 return returnValue;
41 } 41 }
42 42
43 struct MapEntry { 43 struct MapEntry {
44 AccessibilityNodeData::Role webKitValue; 44 AccessibilityNodeData::Role webKitValue;
45 NSString* nativeValue; 45 NSString* nativeValue;
46 }; 46 };
47 47
48 typedef std::map<AccessibilityNodeData::Role, NSString*> RoleMap; 48 typedef std::map<AccessibilityNodeData::Role, NSString*> RoleMap;
49 49
50 struct AttributeToMethodNameEntry {
51 NSString* attribute;
52 NSString* methodName;
53 };
54
55 const AttributeToMethodNameEntry attributeToMethodNameContainer[] = {
56 { NSAccessibilityChildrenAttribute, @"children" },
57 { NSAccessibilityColumnsAttribute, @"columns" },
58 { NSAccessibilityDescriptionAttribute, @"description" },
59 { NSAccessibilityEnabledAttribute, @"enabled" },
60 { NSAccessibilityFocusedAttribute, @"focused" },
61 { NSAccessibilityHelpAttribute, @"help" },
62 { NSAccessibilityMaxValueAttribute, @"maxValue" },
63 { NSAccessibilityMinValueAttribute, @"minValue" },
64 { NSAccessibilityNumberOfCharactersAttribute, @"numberOfCharacters" },
65 { NSAccessibilityParentAttribute, @"parent" },
66 { NSAccessibilityPositionAttribute, @"position" },
67 { NSAccessibilityRoleAttribute, @"role" },
68 { NSAccessibilityRoleDescriptionAttribute, @"roleDescription" },
69 { NSAccessibilityRowsAttribute, @"rows" },
70 { NSAccessibilitySizeAttribute, @"size" },
71 { NSAccessibilitySubroleAttribute, @"subrole" },
72 { NSAccessibilityTabsAttribute, @"tabs" },
73 { NSAccessibilityTitleAttribute, @"title" },
74 { NSAccessibilityTitleUIElementAttribute, @"titleUIElement" },
75 { NSAccessibilityTopLevelUIElementAttribute, @"window" },
76 { NSAccessibilityURLAttribute, @"url" },
77 { NSAccessibilityValueAttribute, @"value" },
78 { NSAccessibilityVisibleCharacterRangeAttribute, @"visibleCharacterRange" },
79 { NSAccessibilityWindowAttribute, @"window" },
80 { @"AXAccessKey", @"accessKey" },
81 { @"AXARIAAtomic", @"ariaAtomic" },
82 { @"AXARIABusy", @"ariaBusy" },
83 { @"AXARIALive", @"ariaLive" },
84 { @"AXARIARelevant", @"ariaRelevant" },
85 { @"AXLoaded", @"loaded" },
86 { @"AXLoadingProgress", @"loadingProgress" },
87 { @"AXRequired", @"required" },
88 { @"AXVisited", @"visited" },
89 };
90
91 // GetState checks the bitmask used in AccessibilityNodeData to check 50 // GetState checks the bitmask used in AccessibilityNodeData to check
92 // if the given state was set on the accessibility object. 51 // if the given state was set on the accessibility object.
93 bool GetState(BrowserAccessibility* accessibility, int state) { 52 bool GetState(BrowserAccessibility* accessibility, int state) {
94 return ((accessibility->state() >> state) & 1); 53 return ((accessibility->state() >> state) & 1);
95 } 54 }
96 55
97 RoleMap BuildRoleMap() { 56 RoleMap BuildRoleMap() {
98 const MapEntry roles[] = { 57 const MapEntry roles[] = {
99 { AccessibilityNodeData::ROLE_ALERT, NSAccessibilityGroupRole }, 58 { AccessibilityNodeData::ROLE_ALERT, NSAccessibilityGroupRole },
100 { AccessibilityNodeData::ROLE_ALERT_DIALOG, NSAccessibilityGroupRole }, 59 { AccessibilityNodeData::ROLE_ALERT_DIALOG, NSAccessibilityGroupRole },
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 return nil; 238 return nil;
280 } 239 }
281 240
282 // A mapping from an accessibility attribute to its method name. 241 // A mapping from an accessibility attribute to its method name.
283 NSDictionary* attributeToMethodNameMap = nil; 242 NSDictionary* attributeToMethodNameMap = nil;
284 243
285 } // namespace 244 } // namespace
286 245
287 @implementation BrowserAccessibilityCocoa 246 @implementation BrowserAccessibilityCocoa
288 247
289 + (void)initialize { 248 + (void)initialize {
Nico 2012/07/29 06:09:07 (+initialize methods are effectively static initia
249 const struct {
250 NSString* attribute;
251 NSString* methodName;
252 } attributeToMethodNameContainer[] = {
253 { NSAccessibilityChildrenAttribute, @"children" },
254 { NSAccessibilityColumnsAttribute, @"columns" },
255 { NSAccessibilityDescriptionAttribute, @"description" },
256 { NSAccessibilityEnabledAttribute, @"enabled" },
257 { NSAccessibilityFocusedAttribute, @"focused" },
258 { NSAccessibilityHelpAttribute, @"help" },
259 { NSAccessibilityMaxValueAttribute, @"maxValue" },
260 { NSAccessibilityMinValueAttribute, @"minValue" },
261 { NSAccessibilityNumberOfCharactersAttribute, @"numberOfCharacters" },
262 { NSAccessibilityParentAttribute, @"parent" },
263 { NSAccessibilityPositionAttribute, @"position" },
264 { NSAccessibilityRoleAttribute, @"role" },
265 { NSAccessibilityRoleDescriptionAttribute, @"roleDescription" },
266 { NSAccessibilityRowsAttribute, @"rows" },
267 { NSAccessibilitySizeAttribute, @"size" },
268 { NSAccessibilitySubroleAttribute, @"subrole" },
269 { NSAccessibilityTabsAttribute, @"tabs" },
270 { NSAccessibilityTitleAttribute, @"title" },
271 { NSAccessibilityTitleUIElementAttribute, @"titleUIElement" },
272 { NSAccessibilityTopLevelUIElementAttribute, @"window" },
273 { NSAccessibilityURLAttribute, @"url" },
274 { NSAccessibilityValueAttribute, @"value" },
275 { NSAccessibilityVisibleCharacterRangeAttribute, @"visibleCharacterRange" },
276 { NSAccessibilityWindowAttribute, @"window" },
277 { @"AXAccessKey", @"accessKey" },
278 { @"AXARIAAtomic", @"ariaAtomic" },
279 { @"AXARIABusy", @"ariaBusy" },
280 { @"AXARIALive", @"ariaLive" },
281 { @"AXARIARelevant", @"ariaRelevant" },
282 { @"AXLoaded", @"loaded" },
283 { @"AXLoadingProgress", @"loadingProgress" },
284 { @"AXRequired", @"required" },
285 { @"AXVisited", @"visited" },
286 };
287
290 NSMutableDictionary* dict = [[NSMutableDictionary alloc] init]; 288 NSMutableDictionary* dict = [[NSMutableDictionary alloc] init];
291 const size_t numAttributes = sizeof(attributeToMethodNameContainer) / 289 const size_t numAttributes = sizeof(attributeToMethodNameContainer) /
292 sizeof(attributeToMethodNameContainer[0]); 290 sizeof(attributeToMethodNameContainer[0]);
293 for (size_t i = 0; i < numAttributes; ++i) { 291 for (size_t i = 0; i < numAttributes; ++i) {
294 [dict setObject:attributeToMethodNameContainer[i].methodName 292 [dict setObject:attributeToMethodNameContainer[i].methodName
295 forKey:attributeToMethodNameContainer[i].attribute]; 293 forKey:attributeToMethodNameContainer[i].attribute];
296 } 294 }
297 attributeToMethodNameMap = dict; 295 attributeToMethodNameMap = dict;
298 dict = nil; 296 dict = nil;
299 } 297 }
(...skipping 777 matching lines...) Expand 10 before | Expand all | Expand 10 after
1077 return [super hash]; 1075 return [super hash];
1078 return browserAccessibility_->renderer_id(); 1076 return browserAccessibility_->renderer_id();
1079 } 1077 }
1080 1078
1081 - (BOOL)accessibilityShouldUseUniqueId { 1079 - (BOOL)accessibilityShouldUseUniqueId {
1082 return YES; 1080 return YES;
1083 } 1081 }
1084 1082
1085 @end 1083 @end
1086 1084
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698