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

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

Issue 10381010: Add initial GTK web accessibility framework (new with valgrind fix). (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 7 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 #import "content/browser/accessibility/browser_accessibility_mac.h"
9 #include "content/common/accessibility_messages.h" 10 #include "content/common/accessibility_messages.h"
10 11
11 // static 12 // static
12 BrowserAccessibilityManager* BrowserAccessibilityManager::Create( 13 BrowserAccessibilityManager* BrowserAccessibilityManager::Create(
13 gfx::NativeView parent_view, 14 gfx::NativeView parent_view,
14 const WebAccessibility& src, 15 const WebAccessibility& src,
15 BrowserAccessibilityDelegate* delegate, 16 BrowserAccessibilityDelegate* delegate,
16 BrowserAccessibilityFactory* factory) { 17 BrowserAccessibilityFactory* factory) {
17 return new BrowserAccessibilityManagerMac( 18 return new BrowserAccessibilityManagerMac(
18 parent_view, src, delegate, factory); 19 parent_view, src, delegate, factory);
19 } 20 }
20 21
21 BrowserAccessibilityManagerMac::BrowserAccessibilityManagerMac( 22 BrowserAccessibilityManagerMac::BrowserAccessibilityManagerMac(
22 gfx::NativeView parent_window, 23 gfx::NativeView parent_window,
23 const webkit_glue::WebAccessibility& src, 24 const webkit_glue::WebAccessibility& src,
24 BrowserAccessibilityDelegate* delegate, 25 BrowserAccessibilityDelegate* delegate,
25 BrowserAccessibilityFactory* factory) 26 BrowserAccessibilityFactory* factory)
26 : BrowserAccessibilityManager(parent_window, src, delegate, factory) { 27 : BrowserAccessibilityManager(parent_window, src, delegate, factory) {
27 } 28 }
28 29
29 void BrowserAccessibilityManagerMac::NotifyAccessibilityEvent( 30 void BrowserAccessibilityManagerMac::NotifyAccessibilityEvent(
30 int type, 31 int type,
31 BrowserAccessibility* node) { 32 BrowserAccessibility* node) {
33 BrowserAccessibilityMac* mac_node = node->ToBrowserAccessibilityMac();
34 if (!mac_node)
35 return;
36 BrowserAccessibilityCocoa* native_node = mac_node->native_view();
37 if (!native_node)
38 return;
39
32 // Refer to AXObjectCache.mm (webkit). 40 // Refer to AXObjectCache.mm (webkit).
33 NSString* event_id = @""; 41 NSString* event_id = @"";
34 switch (type) { 42 switch (type) {
35 case AccessibilityNotificationActiveDescendantChanged: 43 case AccessibilityNotificationActiveDescendantChanged:
36 if (node->role() == WebAccessibility::ROLE_TREE) 44 if (node->role() == WebAccessibility::ROLE_TREE)
37 event_id = NSAccessibilitySelectedRowsChangedNotification; 45 event_id = NSAccessibilitySelectedRowsChangedNotification;
38 else 46 else
39 event_id = NSAccessibilityFocusedUIElementChangedNotification; 47 event_id = NSAccessibilityFocusedUIElementChangedNotification;
40 case AccessibilityNotificationAlert: 48 case AccessibilityNotificationAlert:
41 // Not used on Mac. 49 // Not used on Mac.
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 case AccessibilityNotificationTextInserted: 99 case AccessibilityNotificationTextInserted:
92 // Not used on Mac. 100 // Not used on Mac.
93 return; 101 return;
94 case AccessibilityNotificationTextRemoved: 102 case AccessibilityNotificationTextRemoved:
95 // Not used on Mac. 103 // Not used on Mac.
96 return; 104 return;
97 case AccessibilityNotificationValueChanged: 105 case AccessibilityNotificationValueChanged:
98 event_id = NSAccessibilityValueChangedNotification; 106 event_id = NSAccessibilityValueChangedNotification;
99 break; 107 break;
100 } 108 }
101 BrowserAccessibilityCocoa* native_node = node->toBrowserAccessibilityCocoa();
102 DCHECK(native_node);
103 NSAccessibilityPostNotification(native_node, event_id); 109 NSAccessibilityPostNotification(native_node, event_id);
104 } 110 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698