| 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_gtk.h" | 5 #include "content/browser/accessibility/browser_accessibility_gtk.h" |
| 6 | 6 |
| 7 #include <gtk/gtk.h> | 7 #include <gtk/gtk.h> |
| 8 | 8 |
| 9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
| 10 #include "content/browser/accessibility/browser_accessibility_manager_gtk.h" | 10 #include "content/browser/accessibility/browser_accessibility_manager_gtk.h" |
| 11 #include "content/common/accessibility_messages.h" | 11 #include "content/common/accessibility_messages.h" |
| 12 | 12 |
| 13 using webkit_glue::WebAccessibility; | 13 using content::AccessibilityNodeData; |
| 14 | 14 |
| 15 // The maximum length of an autogenerated unique type name string, | 15 // The maximum length of an autogenerated unique type name string, |
| 16 // generated from the 16-bit interface mask from an AtkObject. | 16 // generated from the 16-bit interface mask from an AtkObject. |
| 17 // 30 is enough for the prefix "WAIType" + 5 hex chars (max) */ | 17 // 30 is enough for the prefix "WAIType" + 5 hex chars (max) */ |
| 18 static const int kWAITypeNameLen = 30; | 18 static const int kWAITypeNameLen = 30; |
| 19 | 19 |
| 20 static gpointer browser_accessibility_parent_class = NULL; | 20 static gpointer browser_accessibility_parent_class = NULL; |
| 21 | 21 |
| 22 static BrowserAccessibilityGtk* ToBrowserAccessibilityGtk( | 22 static BrowserAccessibilityGtk* ToBrowserAccessibilityGtk( |
| 23 BrowserAccessibilityAtk* atk_object) { | 23 BrowserAccessibilityAtk* atk_object) { |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 return obj->atk_role(); | 83 return obj->atk_role(); |
| 84 } | 84 } |
| 85 | 85 |
| 86 static AtkStateSet* browser_accessibility_ref_state_set(AtkObject* atk_object) { | 86 static AtkStateSet* browser_accessibility_ref_state_set(AtkObject* atk_object) { |
| 87 BrowserAccessibilityGtk* obj = ToBrowserAccessibilityGtk(atk_object); | 87 BrowserAccessibilityGtk* obj = ToBrowserAccessibilityGtk(atk_object); |
| 88 AtkStateSet* state_set = | 88 AtkStateSet* state_set = |
| 89 ATK_OBJECT_CLASS(browser_accessibility_parent_class)-> | 89 ATK_OBJECT_CLASS(browser_accessibility_parent_class)-> |
| 90 ref_state_set(atk_object); | 90 ref_state_set(atk_object); |
| 91 int32 state = obj->state(); | 91 int32 state = obj->state(); |
| 92 | 92 |
| 93 if ((state >> WebAccessibility::STATE_FOCUSABLE) & 1) | 93 if ((state >> AccessibilityNodeData::STATE_FOCUSABLE) & 1) |
| 94 atk_state_set_add_state(state_set, ATK_STATE_FOCUSABLE); | 94 atk_state_set_add_state(state_set, ATK_STATE_FOCUSABLE); |
| 95 if (obj->manager()->GetFocus(NULL) == obj) | 95 if (obj->manager()->GetFocus(NULL) == obj) |
| 96 atk_state_set_add_state(state_set, ATK_STATE_FOCUSED); | 96 atk_state_set_add_state(state_set, ATK_STATE_FOCUSED); |
| 97 | 97 |
| 98 return state_set; | 98 return state_set; |
| 99 } | 99 } |
| 100 | 100 |
| 101 static AtkRelationSet* browser_accessibility_ref_relation_set( | 101 static AtkRelationSet* browser_accessibility_ref_relation_set( |
| 102 AtkObject* atk_object) { | 102 AtkObject* atk_object) { |
| 103 AtkRelationSet* relation_set = | 103 AtkRelationSet* relation_set = |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 307 } | 307 } |
| 308 | 308 |
| 309 bool BrowserAccessibilityGtk::IsNative() const { | 309 bool BrowserAccessibilityGtk::IsNative() const { |
| 310 return true; | 310 return true; |
| 311 } | 311 } |
| 312 | 312 |
| 313 void BrowserAccessibilityGtk::InitRoleAndState() { | 313 void BrowserAccessibilityGtk::InitRoleAndState() { |
| 314 atk_acc_name_ = UTF16ToUTF8(name()); | 314 atk_acc_name_ = UTF16ToUTF8(name()); |
| 315 | 315 |
| 316 string16 description; | 316 string16 description; |
| 317 GetStringAttribute(WebAccessibility::ATTR_DESCRIPTION, &description); | 317 GetStringAttribute(AccessibilityNodeData::ATTR_DESCRIPTION, &description); |
| 318 atk_acc_description_ = UTF16ToUTF8(description); | 318 atk_acc_description_ = UTF16ToUTF8(description); |
| 319 | 319 |
| 320 switch(role_) { | 320 switch(role_) { |
| 321 case WebAccessibility::ROLE_BUTTON: | 321 case AccessibilityNodeData::ROLE_BUTTON: |
| 322 atk_role_ = ATK_ROLE_PUSH_BUTTON; | 322 atk_role_ = ATK_ROLE_PUSH_BUTTON; |
| 323 break; | 323 break; |
| 324 case WebAccessibility::ROLE_CHECKBOX: | 324 case AccessibilityNodeData::ROLE_CHECKBOX: |
| 325 atk_role_ = ATK_ROLE_CHECK_BOX; | 325 atk_role_ = ATK_ROLE_CHECK_BOX; |
| 326 break; | 326 break; |
| 327 case WebAccessibility::ROLE_COMBO_BOX: | 327 case AccessibilityNodeData::ROLE_COMBO_BOX: |
| 328 atk_role_ = ATK_ROLE_COMBO_BOX; | 328 atk_role_ = ATK_ROLE_COMBO_BOX; |
| 329 break; | 329 break; |
| 330 case WebAccessibility::ROLE_LINK: | 330 case AccessibilityNodeData::ROLE_LINK: |
| 331 atk_role_ = ATK_ROLE_LINK; | 331 atk_role_ = ATK_ROLE_LINK; |
| 332 break; | 332 break; |
| 333 case WebAccessibility::ROLE_RADIO_BUTTON: | 333 case AccessibilityNodeData::ROLE_RADIO_BUTTON: |
| 334 atk_role_ = ATK_ROLE_RADIO_BUTTON; | 334 atk_role_ = ATK_ROLE_RADIO_BUTTON; |
| 335 break; | 335 break; |
| 336 case WebAccessibility::ROLE_TEXTAREA: | 336 case AccessibilityNodeData::ROLE_TEXTAREA: |
| 337 atk_role_ = ATK_ROLE_ENTRY; | 337 atk_role_ = ATK_ROLE_ENTRY; |
| 338 break; | 338 break; |
| 339 case WebAccessibility::ROLE_TEXT_FIELD: | 339 case AccessibilityNodeData::ROLE_TEXT_FIELD: |
| 340 atk_role_ = ATK_ROLE_ENTRY; | 340 atk_role_ = ATK_ROLE_ENTRY; |
| 341 break; | 341 break; |
| 342 case WebAccessibility::ROLE_WEBCORE_LINK: | 342 case AccessibilityNodeData::ROLE_WEBCORE_LINK: |
| 343 atk_role_ = ATK_ROLE_LINK; | 343 atk_role_ = ATK_ROLE_LINK; |
| 344 break; | 344 break; |
| 345 default: | 345 default: |
| 346 atk_role_ = ATK_ROLE_UNKNOWN; | 346 atk_role_ = ATK_ROLE_UNKNOWN; |
| 347 break; | 347 break; |
| 348 } | 348 } |
| 349 } | 349 } |
| OLD | NEW |