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