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

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

Issue 116293005: Refactor content/ to use ui::AXNodeData instead of blink. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update content/DEPS instead of subdirs Created 6 years, 11 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
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 "content/browser/accessibility/browser_accessibility_manager_mac.h" 5 #include "content/browser/accessibility/browser_accessibility_manager_mac.h"
6 6
7 #import "base/logging.h" 7 #import "base/logging.h"
8 #import "content/browser/accessibility/browser_accessibility_cocoa.h" 8 #import "content/browser/accessibility/browser_accessibility_cocoa.h"
9 #include "content/common/accessibility_messages.h" 9 #include "content/common/accessibility_messages.h"
10 10
11 namespace content { 11 namespace content {
12 12
13 // static 13 // static
14 BrowserAccessibilityManager* BrowserAccessibilityManager::Create( 14 BrowserAccessibilityManager* BrowserAccessibilityManager::Create(
15 const AccessibilityNodeData& src, 15 const ui::AXNodeData& src,
16 BrowserAccessibilityDelegate* delegate, 16 BrowserAccessibilityDelegate* delegate,
17 BrowserAccessibilityFactory* factory) { 17 BrowserAccessibilityFactory* factory) {
18 return new BrowserAccessibilityManagerMac(NULL, src, delegate, factory); 18 return new BrowserAccessibilityManagerMac(NULL, src, delegate, factory);
19 } 19 }
20 20
21 BrowserAccessibilityManagerMac::BrowserAccessibilityManagerMac( 21 BrowserAccessibilityManagerMac::BrowserAccessibilityManagerMac(
22 NSView* parent_view, 22 NSView* parent_view,
23 const AccessibilityNodeData& src, 23 const ui::AXNodeData& src,
24 BrowserAccessibilityDelegate* delegate, 24 BrowserAccessibilityDelegate* delegate,
25 BrowserAccessibilityFactory* factory) 25 BrowserAccessibilityFactory* factory)
26 : BrowserAccessibilityManager(src, delegate, factory), 26 : BrowserAccessibilityManager(src, delegate, factory),
27 parent_view_(parent_view) { 27 parent_view_(parent_view) {
28 } 28 }
29 29
30 // static 30 // static
31 AccessibilityNodeData BrowserAccessibilityManagerMac::GetEmptyDocument() { 31 ui::AXNodeData BrowserAccessibilityManagerMac::GetEmptyDocument() {
32 AccessibilityNodeData empty_document; 32 ui::AXNodeData empty_document;
33 empty_document.id = 0; 33 empty_document.id = 0;
34 empty_document.role = blink::WebAXRoleRootWebArea; 34 empty_document.role = ui::AX_ROLE_ROOT_WEB_AREA;
35 empty_document.state = 35 empty_document.state =
36 1 << blink::WebAXStateReadonly; 36 1 << ui::AX_STATE_READONLY;
37 return empty_document; 37 return empty_document;
38 } 38 }
39 39
40 void BrowserAccessibilityManagerMac::NotifyAccessibilityEvent( 40 void BrowserAccessibilityManagerMac::NotifyAccessibilityEvent(
41 blink::WebAXEvent event_type, 41 ui::AXEvent event_type,
42 BrowserAccessibility* node) { 42 BrowserAccessibility* node) {
43 if (!node->IsNative()) 43 if (!node->IsNative())
44 return; 44 return;
45 45
46 // Refer to AXObjectCache.mm (webkit). 46 // Refer to AXObjectCache.mm (webkit).
47 NSString* event_id = @""; 47 NSString* event_id = @"";
48 switch (event_type) { 48 switch (event_type) {
49 case blink::WebAXEventActiveDescendantChanged: 49 case ui::AX_EVENT_ACTIVEDESCENDANTCHANGED:
50 if (node->role() == blink::WebAXRoleTree) 50 if (node->role() == ui::AX_ROLE_TREE)
51 event_id = NSAccessibilitySelectedRowsChangedNotification; 51 event_id = NSAccessibilitySelectedRowsChangedNotification;
52 else 52 else
53 event_id = NSAccessibilityFocusedUIElementChangedNotification; 53 event_id = NSAccessibilityFocusedUIElementChangedNotification;
54 break; 54 break;
55 case blink::WebAXEventAlert: 55 case ui::AX_EVENT_ALERT:
56 // Not used on Mac. 56 // Not used on Mac.
57 return; 57 return;
58 case blink::WebAXEventBlur: 58 case ui::AX_EVENT_BLUR:
59 // A no-op on Mac. 59 // A no-op on Mac.
60 return; 60 return;
61 case blink::WebAXEventCheckedStateChanged: 61 case ui::AX_EVENT_CHECKED_STATE_CHANGED:
62 // Not used on Mac. 62 // Not used on Mac.
63 return; 63 return;
64 case blink::WebAXEventChildrenChanged: 64 case ui::AX_EVENT_CHILDREN_CHANGED:
65 // TODO(dtseng): no clear equivalent on Mac. 65 // TODO(dtseng): no clear equivalent on Mac.
66 return; 66 return;
67 case blink::WebAXEventFocus: 67 case ui::AX_EVENT_FOCUS:
68 event_id = NSAccessibilityFocusedUIElementChangedNotification; 68 event_id = NSAccessibilityFocusedUIElementChangedNotification;
69 break; 69 break;
70 case blink::WebAXEventLayoutComplete: 70 case ui::AX_EVENT_LAYOUT_COMPLETE:
71 event_id = @"AXLayoutComplete"; 71 event_id = @"AXLayoutComplete";
72 break; 72 break;
73 case blink::WebAXEventLiveRegionChanged: 73 case ui::AX_EVENT_LIVE_REGION_CHANGED:
74 event_id = @"AXLiveRegionChanged"; 74 event_id = @"AXLiveRegionChanged";
75 break; 75 break;
76 case blink::WebAXEventLoadComplete: 76 case ui::AX_EVENT_LOAD_COMPLETE:
77 event_id = @"AXLoadComplete"; 77 event_id = @"AXLoadComplete";
78 break; 78 break;
79 case blink::WebAXEventMenuListValueChanged: 79 case ui::AX_EVENT_MENU_LIST_VALUE_CHANGED:
80 // Not used on Mac. 80 // Not used on Mac.
81 return; 81 return;
82 case blink::WebAXEventShow: 82 case ui::AX_EVENT_SHOW:
83 // Not used on Mac. 83 // Not used on Mac.
84 return; 84 return;
85 case blink::WebAXEventHide: 85 case ui::AX_EVENT_HIDE:
86 // Not used on Mac. 86 // Not used on Mac.
87 return; 87 return;
88 case blink::WebAXEventRowCountChanged: 88 case ui::AX_EVENT_ROW_COUNT_CHANGED:
89 event_id = NSAccessibilityRowCountChangedNotification; 89 event_id = NSAccessibilityRowCountChangedNotification;
90 break; 90 break;
91 case blink::WebAXEventRowCollapsed: 91 case ui::AX_EVENT_ROW_COLLAPSED:
92 event_id = @"AXRowCollapsed"; 92 event_id = @"AXRowCollapsed";
93 break; 93 break;
94 case blink::WebAXEventRowExpanded: 94 case ui::AX_EVENT_ROW_EXPANDED:
95 event_id = @"AXRowExpanded"; 95 event_id = @"AXRowExpanded";
96 break; 96 break;
97 case blink::WebAXEventScrolledToAnchor: 97 case ui::AX_EVENT_SCROLLED_TO_ANCHOR:
98 // Not used on Mac. 98 // Not used on Mac.
99 return; 99 return;
100 case blink::WebAXEventSelectedChildrenChanged: 100 case ui::AX_EVENT_SELECTED_CHILDREN_CHANGED:
101 event_id = NSAccessibilitySelectedChildrenChangedNotification; 101 event_id = NSAccessibilitySelectedChildrenChangedNotification;
102 break; 102 break;
103 case blink::WebAXEventSelectedTextChanged: 103 case ui::AX_EVENT_SELECTED_TEXT_CHANGED:
104 event_id = NSAccessibilitySelectedTextChangedNotification; 104 event_id = NSAccessibilitySelectedTextChangedNotification;
105 break; 105 break;
106 case blink::WebAXEventTextInserted: 106 case ui::AX_EVENT_TEXT_INSERTED:
107 // Not used on Mac. 107 // Not used on Mac.
108 return; 108 return;
109 case blink::WebAXEventTextRemoved: 109 case ui::AX_EVENT_TEXT_REMOVED:
110 // Not used on Mac. 110 // Not used on Mac.
111 return; 111 return;
112 case blink::WebAXEventValueChanged: 112 case ui::AX_EVENT_VALUE_CHANGED:
113 event_id = NSAccessibilityValueChangedNotification; 113 event_id = NSAccessibilityValueChangedNotification;
114 break; 114 break;
115 case blink::WebAXEventAriaAttributeChanged: 115 case ui::AX_EVENT_ARIA_ATTRIBUTE_CHANGED:
116 // Not used on Mac. 116 // Not used on Mac.
117 return; 117 return;
118 case blink::WebAXEventAutocorrectionOccured: 118 case ui::AX_EVENT_AUTOCORRECTION_OCCURED:
119 // Not used on Mac. 119 // Not used on Mac.
120 return; 120 return;
121 case blink::WebAXEventInvalidStatusChanged: 121 case ui::AX_EVENT_INVALID_STATUS_CHANGED:
122 // Not used on Mac. 122 // Not used on Mac.
123 return; 123 return;
124 case blink::WebAXEventLocationChanged: 124 case ui::AX_EVENT_LOCATION_CHANGED:
125 // Not used on Mac. 125 // Not used on Mac.
126 return; 126 return;
127 case blink::WebAXEventMenuListItemSelected: 127 case ui::AX_EVENT_MENU_LIST_ITEM_SELECTED:
128 // Not used on Mac. 128 // Not used on Mac.
129 return; 129 return;
130 case blink::WebAXEventTextChanged: 130 case ui::AX_EVENT_TEXT_CHANGED:
131 // Not used on Mac. 131 // Not used on Mac.
132 return; 132 return;
133 default: 133 default:
134 LOG(WARNING) << "Unknown accessibility event: " << event_type; 134 LOG(WARNING) << "Unknown accessibility event: " << event_type;
135 return; 135 return;
136 } 136 }
137 BrowserAccessibilityCocoa* native_node = node->ToBrowserAccessibilityCocoa(); 137 BrowserAccessibilityCocoa* native_node = node->ToBrowserAccessibilityCocoa();
138 DCHECK(native_node); 138 DCHECK(native_node);
139 NSAccessibilityPostNotification(native_node, event_id); 139 NSAccessibilityPostNotification(native_node, event_id);
140 } 140 }
141 141
142 } // namespace content 142 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698