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

Side by Side Diff: content/browser/accessibility/browser_accessibility_manager_win.cc

Issue 63253002: Rename WebKit namespace to blink (part 3) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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_win.h" 5 #include "content/browser/accessibility/browser_accessibility_manager_win.h"
6 6
7 #include <atlbase.h> 7 #include <atlbase.h>
8 #include <atlapp.h> 8 #include <atlapp.h>
9 #include <atlcom.h> 9 #include <atlcom.h>
10 #include <atlcrack.h> 10 #include <atlcrack.h>
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 if (tracked_scroll_object_) { 116 if (tracked_scroll_object_) {
117 tracked_scroll_object_->Release(); 117 tracked_scroll_object_->Release();
118 tracked_scroll_object_ = NULL; 118 tracked_scroll_object_ = NULL;
119 } 119 }
120 } 120 }
121 121
122 // static 122 // static
123 AccessibilityNodeData BrowserAccessibilityManagerWin::GetEmptyDocument() { 123 AccessibilityNodeData BrowserAccessibilityManagerWin::GetEmptyDocument() {
124 AccessibilityNodeData empty_document; 124 AccessibilityNodeData empty_document;
125 empty_document.id = 0; 125 empty_document.id = 0;
126 empty_document.role = WebKit::WebAXRoleRootWebArea; 126 empty_document.role = blink::WebAXRoleRootWebArea;
127 empty_document.state = 127 empty_document.state =
128 (1 << WebKit::WebAXStateEnabled) | 128 (1 << blink::WebAXStateEnabled) |
129 (1 << WebKit::WebAXStateReadonly) | 129 (1 << blink::WebAXStateReadonly) |
130 (1 << WebKit::WebAXStateBusy); 130 (1 << blink::WebAXStateBusy);
131 return empty_document; 131 return empty_document;
132 } 132 }
133 133
134 void BrowserAccessibilityManagerWin::MaybeCallNotifyWinEvent(DWORD event, 134 void BrowserAccessibilityManagerWin::MaybeCallNotifyWinEvent(DWORD event,
135 LONG child_id) { 135 LONG child_id) {
136 // Don't fire events if this view isn't hooked up to its parent. 136 // Don't fire events if this view isn't hooked up to its parent.
137 if (!parent_iaccessible()) 137 if (!parent_iaccessible())
138 return; 138 return;
139 139
140 #if defined(USE_AURA) 140 #if defined(USE_AURA)
(...skipping 23 matching lines...) Expand all
164 unique_id_to_renderer_id_map_.erase( 164 unique_id_to_renderer_id_map_.erase(
165 node->ToBrowserAccessibilityWin()->unique_id_win()); 165 node->ToBrowserAccessibilityWin()->unique_id_win());
166 BrowserAccessibilityManager::RemoveNode(node); 166 BrowserAccessibilityManager::RemoveNode(node);
167 if (node == tracked_scroll_object_) { 167 if (node == tracked_scroll_object_) {
168 tracked_scroll_object_->Release(); 168 tracked_scroll_object_->Release();
169 tracked_scroll_object_ = NULL; 169 tracked_scroll_object_ = NULL;
170 } 170 }
171 } 171 }
172 172
173 void BrowserAccessibilityManagerWin::NotifyAccessibilityEvent( 173 void BrowserAccessibilityManagerWin::NotifyAccessibilityEvent(
174 WebKit::WebAXEvent event_type, 174 blink::WebAXEvent event_type,
175 BrowserAccessibility* node) { 175 BrowserAccessibility* node) {
176 LONG event_id = EVENT_MIN; 176 LONG event_id = EVENT_MIN;
177 switch (event_type) { 177 switch (event_type) {
178 case WebKit::WebAXEventActiveDescendantChanged: 178 case blink::WebAXEventActiveDescendantChanged:
179 event_id = IA2_EVENT_ACTIVE_DESCENDANT_CHANGED; 179 event_id = IA2_EVENT_ACTIVE_DESCENDANT_CHANGED;
180 break; 180 break;
181 case WebKit::WebAXEventAlert: 181 case blink::WebAXEventAlert:
182 event_id = EVENT_SYSTEM_ALERT; 182 event_id = EVENT_SYSTEM_ALERT;
183 break; 183 break;
184 case WebKit::WebAXEventAriaAttributeChanged: 184 case blink::WebAXEventAriaAttributeChanged:
185 event_id = IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED; 185 event_id = IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED;
186 break; 186 break;
187 case WebKit::WebAXEventAutocorrectionOccured: 187 case blink::WebAXEventAutocorrectionOccured:
188 event_id = IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED; 188 event_id = IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED;
189 break; 189 break;
190 case WebKit::WebAXEventBlur: 190 case blink::WebAXEventBlur:
191 // Equivalent to focus on the root. 191 // Equivalent to focus on the root.
192 event_id = EVENT_OBJECT_FOCUS; 192 event_id = EVENT_OBJECT_FOCUS;
193 node = GetRoot(); 193 node = GetRoot();
194 break; 194 break;
195 case WebKit::WebAXEventCheckedStateChanged: 195 case blink::WebAXEventCheckedStateChanged:
196 event_id = EVENT_OBJECT_STATECHANGE; 196 event_id = EVENT_OBJECT_STATECHANGE;
197 break; 197 break;
198 case WebKit::WebAXEventChildrenChanged: 198 case blink::WebAXEventChildrenChanged:
199 event_id = EVENT_OBJECT_REORDER; 199 event_id = EVENT_OBJECT_REORDER;
200 break; 200 break;
201 case WebKit::WebAXEventFocus: 201 case blink::WebAXEventFocus:
202 event_id = EVENT_OBJECT_FOCUS; 202 event_id = EVENT_OBJECT_FOCUS;
203 break; 203 break;
204 case WebKit::WebAXEventInvalidStatusChanged: 204 case blink::WebAXEventInvalidStatusChanged:
205 event_id = EVENT_OBJECT_STATECHANGE; 205 event_id = EVENT_OBJECT_STATECHANGE;
206 break; 206 break;
207 case WebKit::WebAXEventLiveRegionChanged: 207 case blink::WebAXEventLiveRegionChanged:
208 // TODO: try not firing a native notification at all, since 208 // TODO: try not firing a native notification at all, since
209 // on Windows, each individual item in a live region that changes 209 // on Windows, each individual item in a live region that changes
210 // already gets its own notification. 210 // already gets its own notification.
211 event_id = EVENT_OBJECT_REORDER; 211 event_id = EVENT_OBJECT_REORDER;
212 break; 212 break;
213 case WebKit::WebAXEventLoadComplete: 213 case blink::WebAXEventLoadComplete:
214 event_id = IA2_EVENT_DOCUMENT_LOAD_COMPLETE; 214 event_id = IA2_EVENT_DOCUMENT_LOAD_COMPLETE;
215 break; 215 break;
216 case WebKit::WebAXEventMenuListItemSelected: 216 case blink::WebAXEventMenuListItemSelected:
217 event_id = EVENT_OBJECT_FOCUS; 217 event_id = EVENT_OBJECT_FOCUS;
218 break; 218 break;
219 case WebKit::WebAXEventMenuListValueChanged: 219 case blink::WebAXEventMenuListValueChanged:
220 event_id = EVENT_OBJECT_VALUECHANGE; 220 event_id = EVENT_OBJECT_VALUECHANGE;
221 break; 221 break;
222 case WebKit::WebAXEventHide: 222 case blink::WebAXEventHide:
223 event_id = EVENT_OBJECT_HIDE; 223 event_id = EVENT_OBJECT_HIDE;
224 break; 224 break;
225 case WebKit::WebAXEventShow: 225 case blink::WebAXEventShow:
226 event_id = EVENT_OBJECT_SHOW; 226 event_id = EVENT_OBJECT_SHOW;
227 break; 227 break;
228 case WebKit::WebAXEventScrolledToAnchor: 228 case blink::WebAXEventScrolledToAnchor:
229 event_id = EVENT_SYSTEM_SCROLLINGSTART; 229 event_id = EVENT_SYSTEM_SCROLLINGSTART;
230 break; 230 break;
231 case WebKit::WebAXEventSelectedChildrenChanged: 231 case blink::WebAXEventSelectedChildrenChanged:
232 event_id = EVENT_OBJECT_SELECTIONWITHIN; 232 event_id = EVENT_OBJECT_SELECTIONWITHIN;
233 break; 233 break;
234 case WebKit::WebAXEventSelectedTextChanged: 234 case blink::WebAXEventSelectedTextChanged:
235 event_id = IA2_EVENT_TEXT_CARET_MOVED; 235 event_id = IA2_EVENT_TEXT_CARET_MOVED;
236 break; 236 break;
237 case WebKit::WebAXEventTextChanged: 237 case blink::WebAXEventTextChanged:
238 event_id = EVENT_OBJECT_NAMECHANGE; 238 event_id = EVENT_OBJECT_NAMECHANGE;
239 break; 239 break;
240 case WebKit::WebAXEventTextInserted: 240 case blink::WebAXEventTextInserted:
241 event_id = IA2_EVENT_TEXT_INSERTED; 241 event_id = IA2_EVENT_TEXT_INSERTED;
242 break; 242 break;
243 case WebKit::WebAXEventTextRemoved: 243 case blink::WebAXEventTextRemoved:
244 event_id = IA2_EVENT_TEXT_REMOVED; 244 event_id = IA2_EVENT_TEXT_REMOVED;
245 break; 245 break;
246 case WebKit::WebAXEventValueChanged: 246 case blink::WebAXEventValueChanged:
247 event_id = EVENT_OBJECT_VALUECHANGE; 247 event_id = EVENT_OBJECT_VALUECHANGE;
248 break; 248 break;
249 default: 249 default:
250 // Not all WebKit accessibility events result in a Windows 250 // Not all WebKit accessibility events result in a Windows
251 // accessibility notification. 251 // accessibility notification.
252 break; 252 break;
253 } 253 }
254 254
255 if (event_id != EVENT_MIN) { 255 if (event_id != EVENT_MIN) {
256 // Pass the node's unique id in the |child_id| argument to NotifyWinEvent; 256 // Pass the node's unique id in the |child_id| argument to NotifyWinEvent;
257 // the AT client will then call get_accChild on the HWND's accessibility 257 // the AT client will then call get_accChild on the HWND's accessibility
258 // object and pass it that same id, which we can use to retrieve the 258 // object and pass it that same id, which we can use to retrieve the
259 // IAccessible for this node. 259 // IAccessible for this node.
260 LONG child_id = node->ToBrowserAccessibilityWin()->unique_id_win(); 260 LONG child_id = node->ToBrowserAccessibilityWin()->unique_id_win();
261 MaybeCallNotifyWinEvent(event_id, child_id); 261 MaybeCallNotifyWinEvent(event_id, child_id);
262 } 262 }
263 263
264 // If this is a layout complete notification (sent when a container scrolls) 264 // If this is a layout complete notification (sent when a container scrolls)
265 // and there is a descendant tracked object, send a notification on it. 265 // and there is a descendant tracked object, send a notification on it.
266 // TODO(dmazzoni): remove once http://crbug.com/113483 is fixed. 266 // TODO(dmazzoni): remove once http://crbug.com/113483 is fixed.
267 if (event_type == WebKit::WebAXEventLayoutComplete && 267 if (event_type == blink::WebAXEventLayoutComplete &&
268 tracked_scroll_object_ && 268 tracked_scroll_object_ &&
269 tracked_scroll_object_->IsDescendantOf(node)) { 269 tracked_scroll_object_->IsDescendantOf(node)) {
270 MaybeCallNotifyWinEvent( 270 MaybeCallNotifyWinEvent(
271 IA2_EVENT_VISIBLE_DATA_CHANGED, 271 IA2_EVENT_VISIBLE_DATA_CHANGED,
272 tracked_scroll_object_->ToBrowserAccessibilityWin()->unique_id_win()); 272 tracked_scroll_object_->ToBrowserAccessibilityWin()->unique_id_win());
273 tracked_scroll_object_->Release(); 273 tracked_scroll_object_->Release();
274 tracked_scroll_object_ = NULL; 274 tracked_scroll_object_ = NULL;
275 } 275 }
276 } 276 }
277 277
(...skipping 11 matching lines...) Expand all
289 unique_id_to_renderer_id_map_.find(unique_id_win); 289 unique_id_to_renderer_id_map_.find(unique_id_win);
290 if (iter != unique_id_to_renderer_id_map_.end()) { 290 if (iter != unique_id_to_renderer_id_map_.end()) {
291 BrowserAccessibility* result = GetFromRendererID(iter->second); 291 BrowserAccessibility* result = GetFromRendererID(iter->second);
292 if (result) 292 if (result)
293 return result->ToBrowserAccessibilityWin(); 293 return result->ToBrowserAccessibilityWin();
294 } 294 }
295 return NULL; 295 return NULL;
296 } 296 }
297 297
298 } // namespace content 298 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698