| 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/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
| 10 #include "content/browser/accessibility/browser_accessibility_manager_gtk.h" | 10 #include "content/browser/accessibility/browser_accessibility_manager_gtk.h" |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 98 return ToBrowserAccessibilityGtk(BROWSER_ACCESSIBILITY(atk_object)); | 98 return ToBrowserAccessibilityGtk(BROWSER_ACCESSIBILITY(atk_object)); |
| 99 } | 99 } |
| 100 | 100 |
| 101 static void browser_accessibility_get_current_value( | 101 static void browser_accessibility_get_current_value( |
| 102 AtkValue* atk_object, GValue* value) { | 102 AtkValue* atk_object, GValue* value) { |
| 103 BrowserAccessibilityGtk* obj = ToBrowserAccessibilityGtk(atk_object); | 103 BrowserAccessibilityGtk* obj = ToBrowserAccessibilityGtk(atk_object); |
| 104 if (!obj) | 104 if (!obj) |
| 105 return; | 105 return; |
| 106 | 106 |
| 107 float float_val; | 107 float float_val; |
| 108 if (obj->GetFloatAttribute(AccessibilityNodeData::ATTR_VALUE_FOR_RANGE, | 108 if (obj->GetFloatAttribute(ui::AX_ATTR_VALUE_FOR_RANGE, |
| 109 &float_val)) { | 109 &float_val)) { |
| 110 memset(value, 0, sizeof(*value)); | 110 memset(value, 0, sizeof(*value)); |
| 111 g_value_init(value, G_TYPE_FLOAT); | 111 g_value_init(value, G_TYPE_FLOAT); |
| 112 g_value_set_float(value, float_val); | 112 g_value_set_float(value, float_val); |
| 113 } | 113 } |
| 114 } | 114 } |
| 115 | 115 |
| 116 static void browser_accessibility_get_minimum_value( | 116 static void browser_accessibility_get_minimum_value( |
| 117 AtkValue* atk_object, GValue* value) { | 117 AtkValue* atk_object, GValue* value) { |
| 118 BrowserAccessibilityGtk* obj = ToBrowserAccessibilityGtk(atk_object); | 118 BrowserAccessibilityGtk* obj = ToBrowserAccessibilityGtk(atk_object); |
| 119 if (!obj) | 119 if (!obj) |
| 120 return; | 120 return; |
| 121 | 121 |
| 122 float float_val; | 122 float float_val; |
| 123 if (obj->GetFloatAttribute(AccessibilityNodeData::ATTR_MIN_VALUE_FOR_RANGE, | 123 if (obj->GetFloatAttribute(ui::AX_ATTR_MIN_VALUE_FOR_RANGE, |
| 124 &float_val)) { | 124 &float_val)) { |
| 125 memset(value, 0, sizeof(*value)); | 125 memset(value, 0, sizeof(*value)); |
| 126 g_value_init(value, G_TYPE_FLOAT); | 126 g_value_init(value, G_TYPE_FLOAT); |
| 127 g_value_set_float(value, float_val); | 127 g_value_set_float(value, float_val); |
| 128 } | 128 } |
| 129 } | 129 } |
| 130 | 130 |
| 131 static void browser_accessibility_get_maximum_value( | 131 static void browser_accessibility_get_maximum_value( |
| 132 AtkValue* atk_object, GValue* value) { | 132 AtkValue* atk_object, GValue* value) { |
| 133 BrowserAccessibilityGtk* obj = ToBrowserAccessibilityGtk(atk_object); | 133 BrowserAccessibilityGtk* obj = ToBrowserAccessibilityGtk(atk_object); |
| 134 if (!obj) | 134 if (!obj) |
| 135 return; | 135 return; |
| 136 | 136 |
| 137 float float_val; | 137 float float_val; |
| 138 if (obj->GetFloatAttribute(AccessibilityNodeData::ATTR_MAX_VALUE_FOR_RANGE, | 138 if (obj->GetFloatAttribute(ui::AX_ATTR_MAX_VALUE_FOR_RANGE, |
| 139 &float_val)) { | 139 &float_val)) { |
| 140 memset(value, 0, sizeof(*value)); | 140 memset(value, 0, sizeof(*value)); |
| 141 g_value_init(value, G_TYPE_FLOAT); | 141 g_value_init(value, G_TYPE_FLOAT); |
| 142 g_value_set_float(value, float_val); | 142 g_value_set_float(value, float_val); |
| 143 } | 143 } |
| 144 } | 144 } |
| 145 | 145 |
| 146 static void browser_accessibility_get_minimum_increment( | 146 static void browser_accessibility_get_minimum_increment( |
| 147 AtkValue* atk_object, GValue* value) { | 147 AtkValue* atk_object, GValue* value) { |
| 148 // TODO(dmazzoni): get the correct value from an <input type=range>. | 148 // TODO(dmazzoni): get the correct value from an <input type=range>. |
| (...skipping 23 matching lines...) Expand all Loading... |
| 172 return NULL; | 172 return NULL; |
| 173 | 173 |
| 174 return ToBrowserAccessibilityGtk(BROWSER_ACCESSIBILITY(atk_object)); | 174 return ToBrowserAccessibilityGtk(BROWSER_ACCESSIBILITY(atk_object)); |
| 175 } | 175 } |
| 176 | 176 |
| 177 static const gchar* browser_accessibility_get_name(AtkObject* atk_object) { | 177 static const gchar* browser_accessibility_get_name(AtkObject* atk_object) { |
| 178 BrowserAccessibilityGtk* obj = ToBrowserAccessibilityGtk(atk_object); | 178 BrowserAccessibilityGtk* obj = ToBrowserAccessibilityGtk(atk_object); |
| 179 if (!obj) | 179 if (!obj) |
| 180 return NULL; | 180 return NULL; |
| 181 | 181 |
| 182 return obj->GetStringAttribute(AccessibilityNodeData::ATTR_NAME).c_str(); | 182 return obj->GetStringAttribute(ui::AX_ATTR_NAME).c_str(); |
| 183 } | 183 } |
| 184 | 184 |
| 185 static const gchar* browser_accessibility_get_description( | 185 static const gchar* browser_accessibility_get_description( |
| 186 AtkObject* atk_object) { | 186 AtkObject* atk_object) { |
| 187 BrowserAccessibilityGtk* obj = ToBrowserAccessibilityGtk(atk_object); | 187 BrowserAccessibilityGtk* obj = ToBrowserAccessibilityGtk(atk_object); |
| 188 if (!obj) | 188 if (!obj) |
| 189 return NULL; | 189 return NULL; |
| 190 | 190 |
| 191 return obj->GetStringAttribute( | 191 return obj->GetStringAttribute( |
| 192 AccessibilityNodeData::ATTR_DESCRIPTION).c_str(); | 192 ui::AX_ATTR_DESCRIPTION).c_str(); |
| 193 } | 193 } |
| 194 | 194 |
| 195 static AtkObject* browser_accessibility_get_parent(AtkObject* atk_object) { | 195 static AtkObject* browser_accessibility_get_parent(AtkObject* atk_object) { |
| 196 BrowserAccessibilityGtk* obj = ToBrowserAccessibilityGtk(atk_object); | 196 BrowserAccessibilityGtk* obj = ToBrowserAccessibilityGtk(atk_object); |
| 197 if (!obj) | 197 if (!obj) |
| 198 return NULL; | 198 return NULL; |
| 199 if (obj->parent()) | 199 if (obj->parent()) |
| 200 return obj->parent()->ToBrowserAccessibilityGtk()->GetAtkObject(); | 200 return obj->parent()->ToBrowserAccessibilityGtk()->GetAtkObject(); |
| 201 | 201 |
| 202 BrowserAccessibilityManagerGtk* manager = | 202 BrowserAccessibilityManagerGtk* manager = |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 248 | 248 |
| 249 static AtkStateSet* browser_accessibility_ref_state_set(AtkObject* atk_object) { | 249 static AtkStateSet* browser_accessibility_ref_state_set(AtkObject* atk_object) { |
| 250 BrowserAccessibilityGtk* obj = ToBrowserAccessibilityGtk(atk_object); | 250 BrowserAccessibilityGtk* obj = ToBrowserAccessibilityGtk(atk_object); |
| 251 if (!obj) | 251 if (!obj) |
| 252 return NULL; | 252 return NULL; |
| 253 AtkStateSet* state_set = | 253 AtkStateSet* state_set = |
| 254 ATK_OBJECT_CLASS(browser_accessibility_parent_class)-> | 254 ATK_OBJECT_CLASS(browser_accessibility_parent_class)-> |
| 255 ref_state_set(atk_object); | 255 ref_state_set(atk_object); |
| 256 int32 state = obj->state(); | 256 int32 state = obj->state(); |
| 257 | 257 |
| 258 if (state & (1 << blink::WebAXStateFocusable)) | 258 if (state & (1 << ui::AX_STATE_FOCUSABLE)) |
| 259 atk_state_set_add_state(state_set, ATK_STATE_FOCUSABLE); | 259 atk_state_set_add_state(state_set, ATK_STATE_FOCUSABLE); |
| 260 if (obj->manager()->GetFocus(NULL) == obj) | 260 if (obj->manager()->GetFocus(NULL) == obj) |
| 261 atk_state_set_add_state(state_set, ATK_STATE_FOCUSED); | 261 atk_state_set_add_state(state_set, ATK_STATE_FOCUSED); |
| 262 if (state & (1 << blink::WebAXStateEnabled)) | 262 if (state & (1 << blink::WebAXStateEnabled)) |
| 263 atk_state_set_add_state(state_set, ATK_STATE_ENABLED); | 263 atk_state_set_add_state(state_set, ATK_STATE_ENABLED); |
| 264 | 264 |
| 265 return state_set; | 265 return state_set; |
| 266 } | 266 } |
| 267 | 267 |
| 268 static AtkRelationSet* browser_accessibility_ref_relation_set( | 268 static AtkRelationSet* browser_accessibility_ref_relation_set( |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 357 ATK_VALUE_INTERFACE, | 357 ATK_VALUE_INTERFACE, |
| 358 }; | 358 }; |
| 359 | 359 |
| 360 static int GetInterfaceMaskFromObject(BrowserAccessibilityGtk* obj) { | 360 static int GetInterfaceMaskFromObject(BrowserAccessibilityGtk* obj) { |
| 361 int interface_mask = 0; | 361 int interface_mask = 0; |
| 362 | 362 |
| 363 // Component interface is always supported. | 363 // Component interface is always supported. |
| 364 interface_mask |= 1 << ATK_COMPONENT_INTERFACE; | 364 interface_mask |= 1 << ATK_COMPONENT_INTERFACE; |
| 365 | 365 |
| 366 int role = obj->role(); | 366 int role = obj->role(); |
| 367 if (role == blink::WebAXRoleProgressIndicator || | 367 if (role == ui::AX_ROLE_PROGRESS_INDICATOR || |
| 368 role == blink::WebAXRoleScrollBar || | 368 role == ui::AX_ROLE_SCROLL_BAR || |
| 369 role == blink::WebAXRoleSlider) { | 369 role == ui::AX_ROLE_SLIDER) { |
| 370 interface_mask |= 1 << ATK_VALUE_INTERFACE; | 370 interface_mask |= 1 << ATK_VALUE_INTERFACE; |
| 371 } | 371 } |
| 372 | 372 |
| 373 return interface_mask; | 373 return interface_mask; |
| 374 } | 374 } |
| 375 | 375 |
| 376 static GType GetAccessibilityTypeFromObject(BrowserAccessibilityGtk* obj) { | 376 static GType GetAccessibilityTypeFromObject(BrowserAccessibilityGtk* obj) { |
| 377 static const GTypeInfo type_info = { | 377 static const GTypeInfo type_info = { |
| 378 sizeof(BrowserAccessibilityAtkClass), | 378 sizeof(BrowserAccessibilityAtkClass), |
| 379 (GBaseInitFunc) 0, | 379 (GBaseInitFunc) 0, |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 469 } | 469 } |
| 470 } | 470 } |
| 471 } | 471 } |
| 472 | 472 |
| 473 bool BrowserAccessibilityGtk::IsNative() const { | 473 bool BrowserAccessibilityGtk::IsNative() const { |
| 474 return true; | 474 return true; |
| 475 } | 475 } |
| 476 | 476 |
| 477 void BrowserAccessibilityGtk::InitRoleAndState() { | 477 void BrowserAccessibilityGtk::InitRoleAndState() { |
| 478 switch(role()) { | 478 switch(role()) { |
| 479 case blink::WebAXRoleDocument: | 479 case ui::AX_ROLE_DOCUMENT: |
| 480 case blink::WebAXRoleRootWebArea: | 480 case ui::AX_ROLE_ROOT_WEB_AREA: |
| 481 case blink::WebAXRoleWebArea: | 481 case ui::AX_ROLE_WEB_AREA: |
| 482 atk_role_ = ATK_ROLE_DOCUMENT_WEB; | 482 atk_role_ = ATK_ROLE_DOCUMENT_WEB; |
| 483 break; | 483 break; |
| 484 case blink::WebAXRoleGroup: | 484 case ui::AX_ROLE_GROUP: |
| 485 case blink::WebAXRoleDiv: | 485 case ui::AX_ROLE_DIV: |
| 486 atk_role_ = ATK_ROLE_SECTION; | 486 atk_role_ = ATK_ROLE_SECTION; |
| 487 break; | 487 break; |
| 488 case blink::WebAXRoleButton: | 488 case ui::AX_ROLE_BUTTON: |
| 489 atk_role_ = ATK_ROLE_PUSH_BUTTON; | 489 atk_role_ = ATK_ROLE_PUSH_BUTTON; |
| 490 break; | 490 break; |
| 491 case blink::WebAXRoleCheckBox: | 491 case ui::AX_ROLE_CHECK_BOX: |
| 492 atk_role_ = ATK_ROLE_CHECK_BOX; | 492 atk_role_ = ATK_ROLE_CHECK_BOX; |
| 493 break; | 493 break; |
| 494 case blink::WebAXRoleComboBox: | 494 case ui::AX_ROLE_COMBO_BOX: |
| 495 atk_role_ = ATK_ROLE_COMBO_BOX; | 495 atk_role_ = ATK_ROLE_COMBO_BOX; |
| 496 break; | 496 break; |
| 497 case blink::WebAXRoleLink: | 497 case ui::AX_ROLE_LINK: |
| 498 atk_role_ = ATK_ROLE_LINK; | 498 atk_role_ = ATK_ROLE_LINK; |
| 499 break; | 499 break; |
| 500 case blink::WebAXRoleRadioButton: | 500 case ui::AX_ROLE_RADIO_BUTTON: |
| 501 atk_role_ = ATK_ROLE_RADIO_BUTTON; | 501 atk_role_ = ATK_ROLE_RADIO_BUTTON; |
| 502 break; | 502 break; |
| 503 case blink::WebAXRoleStaticText: | 503 case ui::AX_ROLE_STATIC_TEXT: |
| 504 atk_role_ = ATK_ROLE_TEXT; | 504 atk_role_ = ATK_ROLE_TEXT; |
| 505 break; | 505 break; |
| 506 case blink::WebAXRoleTextArea: | 506 case ui::AX_ROLE_TEXT_AREA: |
| 507 atk_role_ = ATK_ROLE_ENTRY; | 507 atk_role_ = ATK_ROLE_ENTRY; |
| 508 break; | 508 break; |
| 509 case blink::WebAXRoleTextField: | 509 case ui::AX_ROLE_TEXT_FIELD: |
| 510 atk_role_ = ATK_ROLE_ENTRY; | 510 atk_role_ = ATK_ROLE_ENTRY; |
| 511 break; | 511 break; |
| 512 default: | 512 default: |
| 513 atk_role_ = ATK_ROLE_UNKNOWN; | 513 atk_role_ = ATK_ROLE_UNKNOWN; |
| 514 break; | 514 break; |
| 515 } | 515 } |
| 516 } | 516 } |
| 517 | 517 |
| 518 } // namespace content | 518 } // namespace content |
| OLD | NEW |