Changeset 82095 in webkit
- Timestamp:
- Mar 28, 2011 3:16:38 AM (13 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r82094 r82095 1 2011-03-26 Mario Sanchez Prada <msanchez@igalia.com> 2 3 Reviewed by Martin Robinson. 4 5 [GTK] Expose the AtkValue interface for WAI-ARIA sliders 6 https://bugs.webkit.org/show_bug.cgi?id=56655 7 8 New test to check WAI-ARIA sliders required attributes. 9 10 * platform/gtk/accessibility/aria-slider-required-attributes-expected.txt: Added. 11 * platform/gtk/accessibility/aria-slider-required-attributes.html: Added. 12 1 13 2011-03-28 Sergio Villar Senin <svillar@igalia.com> 2 14 -
trunk/Source/WebCore/ChangeLog
r82093 r82095 1 2011-03-26 Mario Sanchez Prada <msanchez@igalia.com> 2 3 Reviewed by Martin Robinson. 4 5 [GTK] Expose the AtkValue interface for WAI-ARIA sliders 6 https://bugs.webkit.org/show_bug.cgi?id=56655 7 8 Implement AtkValue interface for WAI-ARIA sliders. 9 10 Test: platform/gtk/accessibility/aria-slider-required-attributes.html 11 12 * accessibility/gtk/AXObjectCacheAtk.cpp: 13 (WebCore::AXObjectCache::postPlatformNotification): Emit the 14 'property-change::accessible-value' signal when needed. 15 16 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 17 (core): New, returns a core object from an AtkValue. 18 (webkitAccessibleValueGetCurrentValue): New, implements AtkValue. 19 (webkitAccessibleValueGetMaximumValue): Ditto. 20 (webkitAccessibleValueGetMinimumValue): Ditto. 21 (webkitAccessibleValueSetCurrentValue): Ditto. 22 (webkitAccessibleValueGetMinimumIncrement): Ditto. 23 (atkValueInterfaceInit): Ditto. 24 (GetAtkInterfaceTypeFromWAIType): Add ATK_TYPE_VALUE. 25 (getInterfaceMaskFromObject): Set the WAI_VALUE bit for sliders. 26 1 27 2011-03-28 Maciej Stachowiak <mjs@apple.com> 2 28 -
trunk/Source/WebCore/accessibility/gtk/AXObjectCacheAtk.cpp
r80214 r82095 144 144 } 145 145 notifyChildrenSelectionChange(coreObject); 146 } else if (notification == AXValueChanged) { 147 if (!ATK_IS_VALUE(axObject)) 148 return; 149 150 AtkPropertyValues propertyValues; 151 propertyValues.property_name = "accessible-value"; 152 153 memset(&propertyValues.new_value, 0, sizeof(GValue)); 154 atk_value_get_current_value(ATK_VALUE(axObject), &propertyValues.new_value); 155 156 g_signal_emit_by_name(ATK_OBJECT(axObject), "property-change::accessible-value", &propertyValues, NULL); 146 157 } 147 158 } -
trunk/Source/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp
r80059 r82095 157 157 { 158 158 return core(ATK_OBJECT(document)); 159 } 160 161 static AccessibilityObject* core(AtkValue* value) 162 { 163 return core(ATK_OBJECT(value)); 159 164 } 160 165 … … 2302 2307 } 2303 2308 2309 2310 static void webkitAccessibleValueGetCurrentValue(AtkValue* value, GValue* gValue) 2311 { 2312 memset(gValue, 0, sizeof(GValue)); 2313 g_value_init(gValue, G_TYPE_DOUBLE); 2314 g_value_set_double(gValue, core(value)->valueForRange()); 2315 } 2316 2317 static void webkitAccessibleValueGetMaximumValue(AtkValue* value, GValue* gValue) 2318 { 2319 memset(gValue, 0, sizeof(GValue)); 2320 g_value_init(gValue, G_TYPE_DOUBLE); 2321 g_value_set_double(gValue, core(value)->maxValueForRange()); 2322 } 2323 2324 static void webkitAccessibleValueGetMinimumValue(AtkValue* value, GValue* gValue) 2325 { 2326 memset(gValue, 0, sizeof(GValue)); 2327 g_value_init(gValue, G_TYPE_DOUBLE); 2328 g_value_set_double(gValue, core(value)->minValueForRange()); 2329 } 2330 2331 static gboolean webkitAccessibleValueSetCurrentValue(AtkValue* value, const GValue* gValue) 2332 { 2333 if (!G_VALUE_HOLDS_DOUBLE(gValue) && !G_VALUE_HOLDS_INT(gValue)) 2334 return FALSE; 2335 2336 AccessibilityObject* coreObject = core(value); 2337 if (!coreObject->canSetValueAttribute()) 2338 return FALSE; 2339 2340 if (G_VALUE_HOLDS_DOUBLE(gValue)) 2341 coreObject->setValue(String::number(g_value_get_double(gValue))); 2342 else 2343 coreObject->setValue(String::number(g_value_get_int(gValue))); 2344 2345 return TRUE; 2346 } 2347 2348 static void webkitAccessibleValueGetMinimumIncrement(AtkValue* value, GValue* gValue) 2349 { 2350 memset(gValue, 0, sizeof(GValue)); 2351 g_value_init(gValue, G_TYPE_DOUBLE); 2352 2353 // There's not such a thing in the WAI-ARIA specification, thus return zero. 2354 g_value_set_double(gValue, 0.0); 2355 } 2356 2357 static void atkValueInterfaceInit(AtkValueIface* iface) 2358 { 2359 iface->get_current_value = webkitAccessibleValueGetCurrentValue; 2360 iface->get_maximum_value = webkitAccessibleValueGetMaximumValue; 2361 iface->get_minimum_value = webkitAccessibleValueGetMinimumValue; 2362 iface->set_current_value = webkitAccessibleValueSetCurrentValue; 2363 iface->get_minimum_increment = webkitAccessibleValueGetMinimumIncrement; 2364 } 2365 2304 2366 static const GInterfaceInfo AtkInterfacesInitFunctions[] = { 2305 2367 {(GInterfaceInitFunc)atk_action_interface_init, … … 2322 2384 (GInterfaceFinalizeFunc) 0, 0}, 2323 2385 {(GInterfaceInitFunc)atk_document_interface_init, 2386 (GInterfaceFinalizeFunc) 0, 0}, 2387 {(GInterfaceInitFunc)atkValueInterfaceInit, 2324 2388 (GInterfaceFinalizeFunc) 0, 0} 2325 2389 }; … … 2335 2399 WAI_HYPERTEXT, 2336 2400 WAI_HYPERLINK, 2337 WAI_DOCUMENT 2401 WAI_DOCUMENT, 2402 WAI_VALUE, 2338 2403 }; 2339 2404 … … 2361 2426 case WAI_DOCUMENT: 2362 2427 return ATK_TYPE_DOCUMENT; 2428 case WAI_VALUE: 2429 return ATK_TYPE_VALUE; 2363 2430 } 2364 2431 … … 2432 2499 interfaceMask |= 1 << WAI_DOCUMENT; 2433 2500 2501 // Value 2502 if (role == SliderRole) 2503 interfaceMask |= 1 << WAI_VALUE; 2504 2434 2505 return interfaceMask; 2435 2506 }
Note: See TracChangeset
for help on using the changeset viewer.