Changeset 105791 in webkit
- Timestamp:
- Jan 24, 2012 1:18:36 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 24 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r105783 r105791 1 2012-01-24 Mario Sanchez Prada <msanchez@igalia.com> 2 3 [GTK] Refactor GTK's accessibilitity code to be more modular 4 https://bugs.webkit.org/show_bug.cgi?id=76783 5 6 Reviewed by Martin Robinson. 7 8 Don't expose functions for the ATK interfaces in header files. 9 10 Expose only the initialization function for each interface, and 11 use the generic functions from ATK interfaces where needed. 12 13 * accessibility/gtk/WebKitAccessibleInterfaceAction.cpp: 14 (webkitAccessibleActionDoAction): Made this function static. 15 (webkitAccessibleActionGetNActions): Ditto. 16 (webkitAccessibleActionGetDescription): Ditto. 17 (webkitAccessibleActionGetKeybinding): Ditto. 18 (webkitAccessibleActionGetName): Ditto. 19 (webkitAccessibleActionInterfaceInit): Moved to the bottom. 20 * accessibility/gtk/WebKitAccessibleInterfaceAction.h: Removed all 21 functions but the one for initializing the interface from here. 22 23 * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp: 24 (webkitAccessibleComponentRefAccessibleAtPoint): Made this function static. 25 (webkitAccessibleComponentGetExtents): Ditto. 26 (webkitAccessibleComponentGrabFocus): Ditto. 27 (webkitAccessibleComponentInterfaceInit): Moved to the bottom. 28 * accessibility/gtk/WebKitAccessibleInterfaceComponent.h: Removed all 29 functions but the one for initializing the interface from here. 30 31 * accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp: 32 (webkitAccessibleDocumentGetAttributeValue): Made this function static. 33 (webkitAccessibleDocumentGetAttributes): Ditto. 34 (webkitAccessibleDocumentGetLocale): Ditto. 35 (webkitAccessibleDocumentInterfaceInit): Moved to the bottom. 36 * accessibility/gtk/WebKitAccessibleInterfaceDocument.h: Removed all 37 functions but the one for initializing the interface from here. 38 39 * accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp: 40 (webkitAccessibleEditableTextSetRunAttributes): Made this function static. 41 (webkitAccessibleEditableTextSetTextContents): Ditto. 42 (webkitAccessibleEditableTextInsertText): Ditto. 43 (webkitAccessibleEditableTextCopyText): Ditto. 44 (webkitAccessibleEditableTextCutText): Ditto. 45 (webkitAccessibleEditableTextDeleteText): Ditto. 46 (webkitAccessibleEditableTextPasteText): Ditto. 47 (webkitAccessibleEditableTextInterfaceInit): Moved to the bottom. 48 * accessibility/gtk/WebKitAccessibleInterfaceEditableText.h: Removed all 49 functions but the one for initializing the interface from here. 50 51 * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp: 52 (webkitAccessibleHyperlinkImplGetHyperlink): Made this function static. 53 (webkitAccessibleHyperlinkImplInterfaceInit): Moved to the bottom. 54 * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h: Removed all 55 functions but the one for initializing the interface from here. 56 57 * accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp: 58 (webkitAccessibleHypertextGetLink): Made this function static. 59 (webkitAccessibleHypertextGetNLinks): Ditto. 60 (webkitAccessibleHypertextGetLinkIndex): Ditto. 61 (webkitAccessibleHypertextInterfaceInit): Moved to the bottom. 62 * accessibility/gtk/WebKitAccessibleInterfaceHypertext.h: Removed all 63 functions but the one for initializing the interface from here. 64 65 * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp: 66 (webkitAccessibleImageGetImagePosition): Made this function static. 67 (webkitAccessibleImageGetImageDescription): Ditto. 68 (webkitAccessibleImageGetImageSize): Ditto. 69 (webkitAccessibleImageInterfaceInit): Moved to the bottom. 70 * accessibility/gtk/WebKitAccessibleInterfaceImage.h: Removed all 71 functions but the one for initializing the interface from here. 72 73 * accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp: 74 (webkitAccessibleSelectionAddSelection): Made this function static. 75 (webkitAccessibleSelectionClearSelection): Ditto. 76 (webkitAccessibleSelectionRefSelection): Ditto. 77 (webkitAccessibleSelectionGetSelectionCount): Ditto. 78 (webkitAccessibleSelectionIsChildSelected): Ditto. 79 (webkitAccessibleSelectionRemoveSelection): Ditto. 80 (webkitAccessibleSelectionSelectAllSelection): Ditto. 81 (webkitAccessibleSelectionInterfaceInit): Moved to the bottom. 82 * accessibility/gtk/WebKitAccessibleInterfaceSelection.h: Removed all 83 functions but the one for initializing the interface from here. 84 85 * accessibility/gtk/WebKitAccessibleInterfaceTable.cpp: 86 (webkitAccessibleTableRefAt): Made this function static. 87 (webkitAccessibleTableGetIndexAt): Ditto. 88 (webkitAccessibleTableGetColumnAtIndex): Ditto. 89 (webkitAccessibleTableGetRowAtIndex): Ditto. 90 (webkitAccessibleTableGetNColumns): Ditto. 91 (webkitAccessibleTableGetNRows): Ditto. 92 (webkitAccessibleTableGetColumnExtentAt): Ditto. 93 (webkitAccessibleTableGetRowExtentAt): Ditto. 94 (webkitAccessibleTableGetColumnHeader): Ditto. 95 (webkitAccessibleTableGetRowHeader): Ditto. 96 (webkitAccessibleTableGetCaption): Ditto. 97 (webkitAccessibleTableGetColumnDescription): Ditto. 98 (webkitAccessibleTableGetRowDescription): Ditto. 99 (webkitAccessibleTableInterfaceInit): Moved to the bottom. 100 * accessibility/gtk/WebKitAccessibleInterfaceTable.h: Removed all 101 functions but the one for initializing the interface from here. 102 103 * accessibility/gtk/WebKitAccessibleInterfaceText.cpp: 104 (textForRenderer): Made this function static. 105 (textForObject): Ditto. 106 (webkitAccessibleTextGetText): Ditto. 107 (webkitAccessibleTextGetTextAfterOffset): Ditto. 108 (webkitAccessibleTextGetTextAtOffset): Ditto. 109 (webkitAccessibleTextGetTextBeforeOffset): Ditto. 110 (webkitAccessibleTextGetCharacterAtOffset): Ditto. 111 (webkitAccessibleTextGetCaretOffset): Ditto. 112 (webkitAccessibleTextGetRunAttributes): Ditto. 113 (webkitAccessibleTextGetDefaultAttributes): Ditto. 114 (webkitAccessibleTextGetCharacterExtents): Ditto. 115 (webkitAccessibleTextGetRangeExtents): Ditto. 116 (webkitAccessibleTextGetCharacterCount): Ditto. 117 (webkitAccessibleTextGetOffsetAtPoint): Ditto. 118 (webkitAccessibleTextGetNSelections): Ditto. 119 (webkitAccessibleTextGetSelection): Ditto. 120 (webkitAccessibleTextAddSelection): Ditto. 121 (webkitAccessibleTextSetSelection): Ditto. 122 (webkitAccessibleTextRemoveSelection): Ditto. 123 (webkitAccessibleTextSetCaretOffset): Ditto. 124 (webkitAccessibleTextInterfaceInit): Moved to the bottom. 125 * accessibility/gtk/WebKitAccessibleInterfaceText.h: Removed all 126 functions but the one for initializing the interface from here. 127 128 * accessibility/gtk/WebKitAccessibleInterfaceValue.cpp: 129 (webkitAccessibleValueGetCurrentValue): Made this function static. 130 (webkitAccessibleValueGetMaximumValue): Ditto. 131 (webkitAccessibleValueGetMinimumValue): Ditto. 132 (webkitAccessibleValueSetCurrentValue): Ditto. 133 (webkitAccessibleValueGetMinimumIncrement): Ditto. 134 (webkitAccessibleValueInterfaceInit): Moved to the bottom. 135 * accessibility/gtk/WebKitAccessibleInterfaceValue.h: Removed all 136 functions but the one for initializing the interface from here. 137 138 * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: 139 (webkitAccessibleGetName): Replace call to 140 webkitAccessibleTextGetText with atk_text_get_text. 141 1 142 2012-01-24 James Robinson <jamesr@chromium.org> 2 143 -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceAction.cpp
r105618 r105791 47 47 } 48 48 49 static gboolean webkitAccessibleActionDoAction(AtkAction* action, gint index) 50 { 51 g_return_val_if_fail(!index, FALSE); 52 return core(action)->performDefaultAction(); 53 } 54 55 static gint webkitAccessibleActionGetNActions(AtkAction*) 56 { 57 return 1; 58 } 59 60 static const gchar* webkitAccessibleActionGetDescription(AtkAction*, gint) 61 { 62 // TODO: Need a way to provide/localize action descriptions. 63 notImplemented(); 64 return ""; 65 } 66 67 static const gchar* webkitAccessibleActionGetKeybinding(AtkAction* action, gint index) 68 { 69 g_return_val_if_fail(!index, 0); 70 // FIXME: Construct a proper keybinding string. 71 return returnString(core(action)->accessKey().string()); 72 } 73 74 static const gchar* webkitAccessibleActionGetName(AtkAction* action, gint index) 75 { 76 g_return_val_if_fail(!index, 0); 77 return returnString(core(action)->actionVerb()); 78 } 79 49 80 void webkitAccessibleActionInterfaceInit(AtkActionIface* iface) 50 81 { … … 55 86 iface->get_name = webkitAccessibleActionGetName; 56 87 } 57 58 gboolean webkitAccessibleActionDoAction(AtkAction* action, gint index)59 {60 g_return_val_if_fail(!index, FALSE);61 return core(action)->performDefaultAction();62 }63 64 gint webkitAccessibleActionGetNActions(AtkAction*)65 {66 return 1;67 }68 69 const gchar* webkitAccessibleActionGetDescription(AtkAction*, gint)70 {71 // TODO: Need a way to provide/localize action descriptions.72 notImplemented();73 return "";74 }75 76 const gchar* webkitAccessibleActionGetKeybinding(AtkAction* action, gint index)77 {78 g_return_val_if_fail(!index, 0);79 // FIXME: Construct a proper keybinding string.80 return returnString(core(action)->accessKey().string());81 }82 83 const gchar* webkitAccessibleActionGetName(AtkAction* action, gint index)84 {85 g_return_val_if_fail(!index, 0);86 return returnString(core(action)->actionVerb());87 } -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceAction.h
r105618 r105791 26 26 27 27 void webkitAccessibleActionInterfaceInit(AtkActionIface*); 28 gboolean webkitAccessibleActionDoAction(AtkAction*, gint index);29 gint webkitAccessibleActionGetNActions(AtkAction*);30 const gchar* webkitAccessibleActionGetDescription(AtkAction*, gint index);31 const gchar* webkitAccessibleActionGetKeybinding(AtkAction*, gint index);32 const gchar* webkitAccessibleActionGetName(AtkAction*, gint index);33 28 34 29 #endif // WebKitAccessibleInterfaceAction_h -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp
r105716 r105791 65 65 } 66 66 67 void webkitAccessibleComponentInterfaceInit(AtkComponentIface* iface) 68 { 69 iface->ref_accessible_at_point = webkitAccessibleComponentRefAccessibleAtPoint; 70 iface->get_extents = webkitAccessibleComponentGetExtents; 71 iface->grab_focus = webkitAccessibleComponentGrabFocus; 72 } 73 74 AtkObject* webkitAccessibleComponentRefAccessibleAtPoint(AtkComponent* component, gint x, gint y, AtkCoordType coordType) 67 static AtkObject* webkitAccessibleComponentRefAccessibleAtPoint(AtkComponent* component, gint x, gint y, AtkCoordType coordType) 75 68 { 76 69 IntPoint pos = atkToContents(core(component), coordType, x, y); … … 83 76 } 84 77 85 void webkitAccessibleComponentGetExtents(AtkComponent* component, gint* x, gint* y, gint* width, gint* height, AtkCoordType coordType)78 static void webkitAccessibleComponentGetExtents(AtkComponent* component, gint* x, gint* y, gint* width, gint* height, AtkCoordType coordType) 86 79 { 87 80 IntRect rect = core(component)->elementRect(); … … 89 82 } 90 83 91 gboolean webkitAccessibleComponentGrabFocus(AtkComponent* component)84 static gboolean webkitAccessibleComponentGrabFocus(AtkComponent* component) 92 85 { 93 86 core(component)->setFocused(true); 94 87 return core(component)->isFocused(); 95 88 } 89 90 void webkitAccessibleComponentInterfaceInit(AtkComponentIface* iface) 91 { 92 iface->ref_accessible_at_point = webkitAccessibleComponentRefAccessibleAtPoint; 93 iface->get_extents = webkitAccessibleComponentGetExtents; 94 iface->grab_focus = webkitAccessibleComponentGrabFocus; 95 } -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceComponent.h
r105716 r105791 26 26 27 27 void webkitAccessibleComponentInterfaceInit(AtkComponentIface*); 28 AtkObject* webkitAccessibleComponentRefAccessibleAtPoint(AtkComponent*, gint x, gint y, AtkCoordType);29 void webkitAccessibleComponentGetExtents(AtkComponent*, gint* x, gint* y, gint* width, gint* height, AtkCoordType);30 gboolean webkitAccessibleComponentGrabFocus(AtkComponent*);31 28 32 29 #endif // WebKitAccessibleInterfaceComponent_h -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp
r105721 r105791 68 68 } 69 69 70 void webkitAccessibleDocumentInterfaceInit(AtkDocumentIface* iface) 71 { 72 iface->get_document_attribute_value = webkitAccessibleDocumentGetAttributeValue; 73 iface->get_document_attributes = webkitAccessibleDocumentGetAttributes; 74 iface->get_document_locale = webkitAccessibleDocumentGetLocale; 75 } 76 77 const gchar* webkitAccessibleDocumentGetAttributeValue(AtkDocument* document, const gchar* attribute) 70 static const gchar* webkitAccessibleDocumentGetAttributeValue(AtkDocument* document, const gchar* attribute) 78 71 { 79 72 return documentAttributeValue(document, attribute); 80 73 } 81 74 82 AtkAttributeSet* webkitAccessibleDocumentGetAttributes(AtkDocument* document)75 static AtkAttributeSet* webkitAccessibleDocumentGetAttributes(AtkDocument* document) 83 76 { 84 77 AtkAttributeSet* attributeSet = 0; … … 94 87 } 95 88 96 const gchar* webkitAccessibleDocumentGetLocale(AtkDocument* document)89 static const gchar* webkitAccessibleDocumentGetLocale(AtkDocument* document) 97 90 { 98 91 // TODO: Should we fall back on lang xml:lang when the following comes up empty? … … 103 96 return 0; 104 97 } 98 99 void webkitAccessibleDocumentInterfaceInit(AtkDocumentIface* iface) 100 { 101 iface->get_document_attribute_value = webkitAccessibleDocumentGetAttributeValue; 102 iface->get_document_attributes = webkitAccessibleDocumentGetAttributes; 103 iface->get_document_locale = webkitAccessibleDocumentGetLocale; 104 } -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceDocument.h
r105721 r105791 26 26 27 27 void webkitAccessibleDocumentInterfaceInit(AtkDocumentIface*); 28 const gchar* webkitAccessibleDocumentGetAttributeValue(AtkDocument*, const gchar*);29 AtkAttributeSet* webkitAccessibleDocumentGetAttributes(AtkDocument*);30 const gchar* webkitAccessibleDocumentGetLocale(AtkDocument*);31 28 32 29 #endif // WebKitAccessibleInterfaceDocument_h -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp
r105722 r105791 48 48 } 49 49 50 void webkitAccessibleEditableTextInterfaceInit(AtkEditableTextIface* iface) 51 { 52 iface->set_run_attributes = webkitAccessibleEditableTextSetRunAttributes; 53 iface->set_text_contents = webkitAccessibleEditableTextSetTextContents; 54 iface->insert_text = webkitAccessibleEditableTextInsertText; 55 iface->copy_text = webkitAccessibleEditableTextCopyText; 56 iface->cut_text = webkitAccessibleEditableTextCutText; 57 iface->delete_text = webkitAccessibleEditableTextDeleteText; 58 iface->paste_text = webkitAccessibleEditableTextPasteText; 59 } 60 61 gboolean webkitAccessibleEditableTextSetRunAttributes(AtkEditableText*, AtkAttributeSet*, gint, gint) 50 static gboolean webkitAccessibleEditableTextSetRunAttributes(AtkEditableText*, AtkAttributeSet*, gint, gint) 62 51 { 63 52 notImplemented(); … … 65 54 } 66 55 67 void webkitAccessibleEditableTextSetTextContents(AtkEditableText* text, const gchar* string)56 static void webkitAccessibleEditableTextSetTextContents(AtkEditableText* text, const gchar* string) 68 57 { 69 58 // FIXME: string nullcheck? … … 71 60 } 72 61 73 void webkitAccessibleEditableTextInsertText(AtkEditableText* text, const gchar* string, gint length, gint* position)62 static void webkitAccessibleEditableTextInsertText(AtkEditableText* text, const gchar* string, gint length, gint* position) 74 63 { 75 64 // FIXME: string nullcheck? … … 91 80 } 92 81 93 void webkitAccessibleEditableTextCopyText(AtkEditableText*, gint, gint)82 static void webkitAccessibleEditableTextCopyText(AtkEditableText*, gint, gint) 94 83 { 95 84 notImplemented(); 96 85 } 97 86 98 void webkitAccessibleEditableTextCutText(AtkEditableText*, gint, gint)87 static void webkitAccessibleEditableTextCutText(AtkEditableText*, gint, gint) 99 88 { 100 89 notImplemented(); 101 90 } 102 91 103 void webkitAccessibleEditableTextDeleteText(AtkEditableText* text, gint startPos, gint endPos)92 static void webkitAccessibleEditableTextDeleteText(AtkEditableText* text, gint startPos, gint endPos) 104 93 { 105 94 AccessibilityObject* coreObject = core(text); … … 117 106 } 118 107 119 void webkitAccessibleEditableTextPasteText(AtkEditableText*, gint)108 static void webkitAccessibleEditableTextPasteText(AtkEditableText*, gint) 120 109 { 121 110 notImplemented(); 122 111 } 112 113 void webkitAccessibleEditableTextInterfaceInit(AtkEditableTextIface* iface) 114 { 115 iface->set_run_attributes = webkitAccessibleEditableTextSetRunAttributes; 116 iface->set_text_contents = webkitAccessibleEditableTextSetTextContents; 117 iface->insert_text = webkitAccessibleEditableTextInsertText; 118 iface->copy_text = webkitAccessibleEditableTextCopyText; 119 iface->cut_text = webkitAccessibleEditableTextCutText; 120 iface->delete_text = webkitAccessibleEditableTextDeleteText; 121 iface->paste_text = webkitAccessibleEditableTextPasteText; 122 } -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceEditableText.h
r105722 r105791 26 26 27 27 void webkitAccessibleEditableTextInterfaceInit(AtkEditableTextIface*); 28 gboolean webkitAccessibleEditableTextSetRunAttributes(AtkEditableText*, AtkAttributeSet*, gint startOffset, gint endOffset);29 void webkitAccessibleEditableTextSetTextContents(AtkEditableText*, const gchar*);30 void webkitAccessibleEditableTextInsertText(AtkEditableText*, const gchar*, gint length, gint* position);31 void webkitAccessibleEditableTextCopyText(AtkEditableText*, gint startPos, gint endPos);32 void webkitAccessibleEditableTextCutText(AtkEditableText*, gint startPos, gint endPos);33 void webkitAccessibleEditableTextDeleteText(AtkEditableText*, gint startPos, gint endPos);34 void webkitAccessibleEditableTextPasteText(AtkEditableText*, gint position);35 28 36 29 #endif // WebKitAccessibleInterfaceEditableText_h -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp
r105724 r105791 27 27 static GQuark hyperlinkObjectQuark = 0; 28 28 29 void webkitAccessibleHyperlinkImplInterfaceInit(AtkHyperlinkImplIface* iface) 30 { 31 iface->get_hyperlink = webkitAccessibleHyperlinkImplGetHyperlink; 32 hyperlinkObjectQuark = g_quark_from_static_string("webkit-accessible-hyperlink-object"); 33 } 34 35 AtkHyperlink* webkitAccessibleHyperlinkImplGetHyperlink(AtkHyperlinkImpl* hyperlink) 29 static AtkHyperlink* webkitAccessibleHyperlinkImplGetHyperlink(AtkHyperlinkImpl* hyperlink) 36 30 { 37 31 AtkHyperlink* hyperlinkObject = ATK_HYPERLINK(g_object_get_qdata(G_OBJECT(hyperlink), hyperlinkObjectQuark)); … … 42 36 return hyperlinkObject; 43 37 } 38 39 void webkitAccessibleHyperlinkImplInterfaceInit(AtkHyperlinkImplIface* iface) 40 { 41 iface->get_hyperlink = webkitAccessibleHyperlinkImplGetHyperlink; 42 hyperlinkObjectQuark = g_quark_from_static_string("webkit-accessible-hyperlink-object"); 43 } -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h
r105724 r105791 24 24 25 25 void webkitAccessibleHyperlinkImplInterfaceInit(AtkHyperlinkImplIface*); 26 AtkHyperlink* webkitAccessibleHyperlinkImplGetHyperlink(AtkHyperlinkImpl*);27 26 28 27 #endif // WebKitAccessibleInterfaceHyperlinkImpl_h -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp
r105725 r105791 34 34 } 35 35 36 void webkitAccessibleHypertextInterfaceInit(AtkHypertextIface* iface) 37 { 38 iface->get_link = webkitAccessibleHypertextGetLink; 39 iface->get_n_links = webkitAccessibleHypertextGetNLinks; 40 iface->get_link_index = webkitAccessibleHypertextGetLinkIndex; 41 } 42 43 AtkHyperlink* webkitAccessibleHypertextGetLink(AtkHypertext* hypertext, gint index) 36 static AtkHyperlink* webkitAccessibleHypertextGetLink(AtkHypertext* hypertext, gint index) 44 37 { 45 38 AccessibilityObject::AccessibilityChildrenVector children = core(hypertext)->children(); … … 66 59 } 67 60 68 gint webkitAccessibleHypertextGetNLinks(AtkHypertext* hypertext)61 static gint webkitAccessibleHypertextGetNLinks(AtkHypertext* hypertext) 69 62 { 70 63 AccessibilityObject::AccessibilityChildrenVector children = core(hypertext)->children(); … … 85 78 } 86 79 87 gint webkitAccessibleHypertextGetLinkIndex(AtkHypertext* hypertext, gint charIndex)80 static gint webkitAccessibleHypertextGetLinkIndex(AtkHypertext* hypertext, gint charIndex) 88 81 { 89 82 size_t linksCount = webkitAccessibleHypertextGetNLinks(hypertext); … … 104 97 return -1; 105 98 } 99 100 void webkitAccessibleHypertextInterfaceInit(AtkHypertextIface* iface) 101 { 102 iface->get_link = webkitAccessibleHypertextGetLink; 103 iface->get_n_links = webkitAccessibleHypertextGetNLinks; 104 iface->get_link_index = webkitAccessibleHypertextGetLinkIndex; 105 } -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHypertext.h
r105725 r105791 24 24 25 25 void webkitAccessibleHypertextInterfaceInit(AtkHypertextIface*); 26 AtkHyperlink* webkitAccessibleHypertextGetLink(AtkHypertext*, gint index);27 gint webkitAccessibleHypertextGetNLinks(AtkHypertext*);28 gint webkitAccessibleHypertextGetLinkIndex(AtkHypertext*, gint charIndex);29 26 30 27 #endif // WebKitAccessibleInterfaceHypertext_h -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceImage.cpp
r105726 r105791 47 47 } 48 48 49 void webkitAccessibleImageInterfaceInit(AtkImageIface* iface) 50 { 51 iface->get_image_position = webkitAccessibleImageGetImagePosition; 52 iface->get_image_description = webkitAccessibleImageGetImageDescription; 53 iface->get_image_size = webkitAccessibleImageGetImageSize; 54 } 55 56 void webkitAccessibleImageGetImagePosition(AtkImage* image, gint* x, gint* y, AtkCoordType coordType) 49 static void webkitAccessibleImageGetImagePosition(AtkImage* image, gint* x, gint* y, AtkCoordType coordType) 57 50 { 58 51 IntRect rect = core(image)->elementRect(); … … 60 53 } 61 54 62 const gchar* webkitAccessibleImageGetImageDescription(AtkImage* image)55 static const gchar* webkitAccessibleImageGetImageDescription(AtkImage* image) 63 56 { 64 57 return returnString(core(image)->accessibilityDescription()); 65 58 } 66 59 67 void webkitAccessibleImageGetImageSize(AtkImage* image, gint* width, gint* height)60 static void webkitAccessibleImageGetImageSize(AtkImage* image, gint* width, gint* height) 68 61 { 69 62 IntSize size = core(image)->size(); … … 74 67 *height = size.height(); 75 68 } 69 70 void webkitAccessibleImageInterfaceInit(AtkImageIface* iface) 71 { 72 iface->get_image_position = webkitAccessibleImageGetImagePosition; 73 iface->get_image_description = webkitAccessibleImageGetImageDescription; 74 iface->get_image_size = webkitAccessibleImageGetImageSize; 75 } -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceImage.h
r105726 r105791 26 26 27 27 void webkitAccessibleImageInterfaceInit(AtkImageIface*); 28 void webkitAccessibleImageGetImagePosition(AtkImage*, gint* x, gint* y, AtkCoordType);29 const gchar* webkitAccessibleImageGetImageDescription(AtkImage*);30 void webkitAccessibleImageGetImageSize(AtkImage*, gint* width, gint* height);31 28 32 29 #endif // WebKitAccessibleInterfaceImage_h -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp
r105727 r105791 124 124 } 125 125 126 static gboolean webkitAccessibleSelectionAddSelection(AtkSelection* selection, gint index) 127 { 128 AccessibilityObject* coreSelection = core(selection); 129 if (!coreSelection) 130 return FALSE; 131 132 AccessibilityObject* option = optionFromList(selection, index); 133 if (option && (coreSelection->isListBox() || coreSelection->isMenuList())) { 134 option->setSelected(true); 135 return option->isSelected(); 136 } 137 138 return FALSE; 139 } 140 141 static gboolean webkitAccessibleSelectionClearSelection(AtkSelection* selection) 142 { 143 AccessibilityObject* coreSelection = core(selection); 144 if (!coreSelection) 145 return FALSE; 146 147 AccessibilityObject::AccessibilityChildrenVector selectedItems; 148 if (coreSelection->isListBox() || coreSelection->isMenuList()) { 149 // Set the list of selected items to an empty list; then verify that it worked. 150 AccessibilityListBox* listBox = static_cast<AccessibilityListBox*>(coreSelection); 151 listBox->setSelectedChildren(selectedItems); 152 listBox->selectedChildren(selectedItems); 153 return !selectedItems.size(); 154 } 155 return FALSE; 156 } 157 158 static AtkObject* webkitAccessibleSelectionRefSelection(AtkSelection* selection, gint index) 159 { 160 AccessibilityObject* option = optionFromSelection(selection, index); 161 if (option) { 162 AtkObject* child = option->wrapper(); 163 g_object_ref(child); 164 return child; 165 } 166 167 return 0; 168 } 169 170 static gint webkitAccessibleSelectionGetSelectionCount(AtkSelection* selection) 171 { 172 AccessibilityObject* coreSelection = core(selection); 173 if (!coreSelection || !coreSelection->isAccessibilityRenderObject()) 174 return 0; 175 176 if (coreSelection->isListBox()) { 177 AccessibilityObject::AccessibilityChildrenVector selectedItems; 178 coreSelection->selectedChildren(selectedItems); 179 return static_cast<gint>(selectedItems.size()); 180 } 181 182 if (coreSelection->isMenuList()) { 183 RenderObject* renderer = coreSelection->renderer(); 184 if (!renderer) 185 return 0; 186 187 int selectedIndex = toHTMLSelectElement(renderer->node())->selectedIndex(); 188 return selectedIndex >= 0 && selectedIndex < static_cast<int>(toHTMLSelectElement(renderer->node())->listItems().size()); 189 } 190 191 return 0; 192 } 193 194 static gboolean webkitAccessibleSelectionIsChildSelected(AtkSelection* selection, gint index) 195 { 196 AccessibilityObject* coreSelection = core(selection); 197 if (!coreSelection) 198 return 0; 199 200 AccessibilityObject* option = optionFromList(selection, index); 201 if (option && (coreSelection->isListBox() || coreSelection->isMenuList())) 202 return option->isSelected(); 203 204 return FALSE; 205 } 206 207 static gboolean webkitAccessibleSelectionRemoveSelection(AtkSelection* selection, gint index) 208 { 209 AccessibilityObject* coreSelection = core(selection); 210 if (!coreSelection) 211 return 0; 212 213 // TODO: This is only getting called if i == 0. What is preventing the rest? 214 AccessibilityObject* option = optionFromSelection(selection, index); 215 if (option && (coreSelection->isListBox() || coreSelection->isMenuList())) { 216 option->setSelected(false); 217 return !option->isSelected(); 218 } 219 220 return FALSE; 221 } 222 223 static gboolean webkitAccessibleSelectionSelectAllSelection(AtkSelection* selection) 224 { 225 AccessibilityObject* coreSelection = core(selection); 226 if (!coreSelection || !coreSelection->isMultiSelectable()) 227 return FALSE; 228 229 AccessibilityObject::AccessibilityChildrenVector children = coreSelection->children(); 230 if (coreSelection->isListBox()) { 231 AccessibilityListBox* listBox = static_cast<AccessibilityListBox*>(coreSelection); 232 listBox->setSelectedChildren(children); 233 AccessibilityObject::AccessibilityChildrenVector selectedItems; 234 listBox->selectedChildren(selectedItems); 235 return selectedItems.size() == children.size(); 236 } 237 238 return FALSE; 239 } 240 126 241 void webkitAccessibleSelectionInterfaceInit(AtkSelectionIface* iface) 127 242 { … … 134 249 iface->select_all_selection = webkitAccessibleSelectionSelectAllSelection; 135 250 } 136 137 gboolean webkitAccessibleSelectionAddSelection(AtkSelection* selection, gint index)138 {139 AccessibilityObject* coreSelection = core(selection);140 if (!coreSelection)141 return FALSE;142 143 AccessibilityObject* option = optionFromList(selection, index);144 if (option && (coreSelection->isListBox() || coreSelection->isMenuList())) {145 option->setSelected(true);146 return option->isSelected();147 }148 149 return FALSE;150 }151 152 gboolean webkitAccessibleSelectionClearSelection(AtkSelection* selection)153 {154 AccessibilityObject* coreSelection = core(selection);155 if (!coreSelection)156 return FALSE;157 158 AccessibilityObject::AccessibilityChildrenVector selectedItems;159 if (coreSelection->isListBox() || coreSelection->isMenuList()) {160 // Set the list of selected items to an empty list; then verify that it worked.161 AccessibilityListBox* listBox = static_cast<AccessibilityListBox*>(coreSelection);162 listBox->setSelectedChildren(selectedItems);163 listBox->selectedChildren(selectedItems);164 return !selectedItems.size();165 }166 return FALSE;167 }168 169 AtkObject* webkitAccessibleSelectionRefSelection(AtkSelection* selection, gint index)170 {171 AccessibilityObject* option = optionFromSelection(selection, index);172 if (option) {173 AtkObject* child = option->wrapper();174 g_object_ref(child);175 return child;176 }177 178 return 0;179 }180 181 gint webkitAccessibleSelectionGetSelectionCount(AtkSelection* selection)182 {183 AccessibilityObject* coreSelection = core(selection);184 if (!coreSelection || !coreSelection->isAccessibilityRenderObject())185 return 0;186 187 if (coreSelection->isListBox()) {188 AccessibilityObject::AccessibilityChildrenVector selectedItems;189 coreSelection->selectedChildren(selectedItems);190 return static_cast<gint>(selectedItems.size());191 }192 193 if (coreSelection->isMenuList()) {194 RenderObject* renderer = coreSelection->renderer();195 if (!renderer)196 return 0;197 198 int selectedIndex = toHTMLSelectElement(renderer->node())->selectedIndex();199 return selectedIndex >= 0 && selectedIndex < static_cast<int>(toHTMLSelectElement(renderer->node())->listItems().size());200 }201 202 return 0;203 }204 205 gboolean webkitAccessibleSelectionIsChildSelected(AtkSelection* selection, gint index)206 {207 AccessibilityObject* coreSelection = core(selection);208 if (!coreSelection)209 return 0;210 211 AccessibilityObject* option = optionFromList(selection, index);212 if (option && (coreSelection->isListBox() || coreSelection->isMenuList()))213 return option->isSelected();214 215 return FALSE;216 }217 218 gboolean webkitAccessibleSelectionRemoveSelection(AtkSelection* selection, gint index)219 {220 AccessibilityObject* coreSelection = core(selection);221 if (!coreSelection)222 return 0;223 224 // TODO: This is only getting called if i == 0. What is preventing the rest?225 AccessibilityObject* option = optionFromSelection(selection, index);226 if (option && (coreSelection->isListBox() || coreSelection->isMenuList())) {227 option->setSelected(false);228 return !option->isSelected();229 }230 231 return FALSE;232 }233 234 gboolean webkitAccessibleSelectionSelectAllSelection(AtkSelection* selection)235 {236 AccessibilityObject* coreSelection = core(selection);237 if (!coreSelection || !coreSelection->isMultiSelectable())238 return FALSE;239 240 AccessibilityObject::AccessibilityChildrenVector children = coreSelection->children();241 if (coreSelection->isListBox()) {242 AccessibilityListBox* listBox = static_cast<AccessibilityListBox*>(coreSelection);243 listBox->setSelectedChildren(children);244 AccessibilityObject::AccessibilityChildrenVector selectedItems;245 listBox->selectedChildren(selectedItems);246 return selectedItems.size() == children.size();247 }248 249 return FALSE;250 } -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceSelection.h
r105727 r105791 26 26 27 27 void webkitAccessibleSelectionInterfaceInit(AtkSelectionIface*); 28 gboolean webkitAccessibleSelectionAddSelection(AtkSelection*, gint index);29 gboolean webkitAccessibleSelectionClearSelection(AtkSelection*);30 AtkObject* webkitAccessibleSelectionRefSelection(AtkSelection*, gint index);31 gint webkitAccessibleSelectionGetSelectionCount(AtkSelection*);32 gboolean webkitAccessibleSelectionIsChildSelected(AtkSelection*, gint index);33 gboolean webkitAccessibleSelectionRemoveSelection(AtkSelection*, gint index);34 gboolean webkitAccessibleSelectionSelectAllSelection(AtkSelection*);35 28 36 29 #endif // WebKitAccessibleInterfaceSelection_h -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceTable.cpp
r105749 r105791 85 85 } 86 86 } 87 return 0; 88 } 89 90 static AtkObject* webkitAccessibleTableRefAt(AtkTable* table, gint row, gint column) 91 { 92 AccessibilityTableCell* axCell = cell(table, row, column); 93 if (!axCell) 94 return 0; 95 return axCell->wrapper(); 96 } 97 98 static gint webkitAccessibleTableGetIndexAt(AtkTable* table, gint row, gint column) 99 { 100 AccessibilityTableCell* axCell = cell(table, row, column); 101 AccessibilityTable* axTable = static_cast<AccessibilityTable*>(core(table)); 102 return cellIndex(axCell, axTable); 103 } 104 105 static gint webkitAccessibleTableGetColumnAtIndex(AtkTable* table, gint index) 106 { 107 AccessibilityTableCell* axCell = cellAtIndex(table, index); 108 if (axCell) { 109 pair<int, int> columnRange; 110 axCell->columnIndexRange(columnRange); 111 return columnRange.first; 112 } 113 return -1; 114 } 115 116 static gint webkitAccessibleTableGetRowAtIndex(AtkTable* table, gint index) 117 { 118 AccessibilityTableCell* axCell = cellAtIndex(table, index); 119 if (axCell) { 120 pair<int, int> rowRange; 121 axCell->rowIndexRange(rowRange); 122 return rowRange.first; 123 } 124 return -1; 125 } 126 127 static gint webkitAccessibleTableGetNColumns(AtkTable* table) 128 { 129 AccessibilityObject* accTable = core(table); 130 if (accTable->isAccessibilityRenderObject()) 131 return static_cast<AccessibilityTable*>(accTable)->columnCount(); 132 return 0; 133 } 134 135 static gint webkitAccessibleTableGetNRows(AtkTable* table) 136 { 137 AccessibilityObject* accTable = core(table); 138 if (accTable->isAccessibilityRenderObject()) 139 return static_cast<AccessibilityTable*>(accTable)->rowCount(); 140 return 0; 141 } 142 143 static gint webkitAccessibleTableGetColumnExtentAt(AtkTable* table, gint row, gint column) 144 { 145 AccessibilityTableCell* axCell = cell(table, row, column); 146 if (axCell) { 147 pair<int, int> columnRange; 148 axCell->columnIndexRange(columnRange); 149 return columnRange.second; 150 } 151 return 0; 152 } 153 154 static gint webkitAccessibleTableGetRowExtentAt(AtkTable* table, gint row, gint column) 155 { 156 AccessibilityTableCell* axCell = cell(table, row, column); 157 if (axCell) { 158 pair<int, int> rowRange; 159 axCell->rowIndexRange(rowRange); 160 return rowRange.second; 161 } 162 return 0; 163 } 164 165 static AtkObject* webkitAccessibleTableGetColumnHeader(AtkTable* table, gint column) 166 { 167 AccessibilityObject* accTable = core(table); 168 if (accTable->isAccessibilityRenderObject()) { 169 AccessibilityObject::AccessibilityChildrenVector allColumnHeaders; 170 static_cast<AccessibilityTable*>(accTable)->columnHeaders(allColumnHeaders); 171 unsigned columnCount = allColumnHeaders.size(); 172 for (unsigned k = 0; k < columnCount; ++k) { 173 pair<int, int> columnRange; 174 AccessibilityTableCell* cell = static_cast<AccessibilityTableCell*>(allColumnHeaders.at(k).get()); 175 cell->columnIndexRange(columnRange); 176 if (columnRange.first <= column && column < columnRange.first + columnRange.second) 177 return allColumnHeaders[k]->wrapper(); 178 } 179 } 180 return 0; 181 } 182 183 static AtkObject* webkitAccessibleTableGetRowHeader(AtkTable* table, gint row) 184 { 185 AccessibilityObject* accTable = core(table); 186 if (accTable->isAccessibilityRenderObject()) { 187 AccessibilityObject::AccessibilityChildrenVector allRowHeaders; 188 static_cast<AccessibilityTable*>(accTable)->rowHeaders(allRowHeaders); 189 unsigned rowCount = allRowHeaders.size(); 190 for (unsigned k = 0; k < rowCount; ++k) { 191 pair<int, int> rowRange; 192 AccessibilityTableCell* cell = static_cast<AccessibilityTableCell*>(allRowHeaders.at(k).get()); 193 cell->rowIndexRange(rowRange); 194 if (rowRange.first <= row && row < rowRange.first + rowRange.second) 195 return allRowHeaders[k]->wrapper(); 196 } 197 } 198 return 0; 199 } 200 201 static AtkObject* webkitAccessibleTableGetCaption(AtkTable* table) 202 { 203 AccessibilityObject* accTable = core(table); 204 if (accTable->isAccessibilityRenderObject()) { 205 Node* node = accTable->node(); 206 if (node && node->hasTagName(HTMLNames::tableTag)) { 207 HTMLTableCaptionElement* caption = static_cast<HTMLTableElement*>(node)->caption(); 208 if (caption) 209 return AccessibilityObject::firstAccessibleObjectFromNode(caption->renderer()->node())->wrapper(); 210 } 211 } 212 return 0; 213 } 214 215 static const gchar* webkitAccessibleTableGetColumnDescription(AtkTable* table, gint column) 216 { 217 AtkObject* columnHeader = atk_table_get_column_header(table, column); 218 if (columnHeader && ATK_IS_TEXT(columnHeader)) 219 return atk_text_get_text(ATK_TEXT(columnHeader), 0, -1); 220 221 return 0; 222 } 223 224 static const gchar* webkitAccessibleTableGetRowDescription(AtkTable* table, gint row) 225 { 226 AtkObject* rowHeader = atk_table_get_row_header(table, row); 227 if (rowHeader && ATK_IS_TEXT(rowHeader)) 228 return atk_text_get_text(ATK_TEXT(rowHeader), 0, -1); 229 87 230 return 0; 88 231 } … … 104 247 iface->get_row_description = webkitAccessibleTableGetRowDescription; 105 248 } 106 107 AtkObject* webkitAccessibleTableRefAt(AtkTable* table, gint row, gint column)108 {109 AccessibilityTableCell* axCell = cell(table, row, column);110 if (!axCell)111 return 0;112 return axCell->wrapper();113 }114 115 gint webkitAccessibleTableGetIndexAt(AtkTable* table, gint row, gint column)116 {117 AccessibilityTableCell* axCell = cell(table, row, column);118 AccessibilityTable* axTable = static_cast<AccessibilityTable*>(core(table));119 return cellIndex(axCell, axTable);120 }121 122 gint webkitAccessibleTableGetColumnAtIndex(AtkTable* table, gint index)123 {124 AccessibilityTableCell* axCell = cellAtIndex(table, index);125 if (axCell) {126 pair<int, int> columnRange;127 axCell->columnIndexRange(columnRange);128 return columnRange.first;129 }130 return -1;131 }132 133 gint webkitAccessibleTableGetRowAtIndex(AtkTable* table, gint index)134 {135 AccessibilityTableCell* axCell = cellAtIndex(table, index);136 if (axCell) {137 pair<int, int> rowRange;138 axCell->rowIndexRange(rowRange);139 return rowRange.first;140 }141 return -1;142 }143 144 gint webkitAccessibleTableGetNColumns(AtkTable* table)145 {146 AccessibilityObject* accTable = core(table);147 if (accTable->isAccessibilityRenderObject())148 return static_cast<AccessibilityTable*>(accTable)->columnCount();149 return 0;150 }151 152 gint webkitAccessibleTableGetNRows(AtkTable* table)153 {154 AccessibilityObject* accTable = core(table);155 if (accTable->isAccessibilityRenderObject())156 return static_cast<AccessibilityTable*>(accTable)->rowCount();157 return 0;158 }159 160 gint webkitAccessibleTableGetColumnExtentAt(AtkTable* table, gint row, gint column)161 {162 AccessibilityTableCell* axCell = cell(table, row, column);163 if (axCell) {164 pair<int, int> columnRange;165 axCell->columnIndexRange(columnRange);166 return columnRange.second;167 }168 return 0;169 }170 171 gint webkitAccessibleTableGetRowExtentAt(AtkTable* table, gint row, gint column)172 {173 AccessibilityTableCell* axCell = cell(table, row, column);174 if (axCell) {175 pair<int, int> rowRange;176 axCell->rowIndexRange(rowRange);177 return rowRange.second;178 }179 return 0;180 }181 182 AtkObject* webkitAccessibleTableGetColumnHeader(AtkTable* table, gint column)183 {184 AccessibilityObject* accTable = core(table);185 if (accTable->isAccessibilityRenderObject()) {186 AccessibilityObject::AccessibilityChildrenVector allColumnHeaders;187 static_cast<AccessibilityTable*>(accTable)->columnHeaders(allColumnHeaders);188 unsigned columnCount = allColumnHeaders.size();189 for (unsigned k = 0; k < columnCount; ++k) {190 pair<int, int> columnRange;191 AccessibilityTableCell* cell = static_cast<AccessibilityTableCell*>(allColumnHeaders.at(k).get());192 cell->columnIndexRange(columnRange);193 if (columnRange.first <= column && column < columnRange.first + columnRange.second)194 return allColumnHeaders[k]->wrapper();195 }196 }197 return 0;198 }199 200 AtkObject* webkitAccessibleTableGetRowHeader(AtkTable* table, gint row)201 {202 AccessibilityObject* accTable = core(table);203 if (accTable->isAccessibilityRenderObject()) {204 AccessibilityObject::AccessibilityChildrenVector allRowHeaders;205 static_cast<AccessibilityTable*>(accTable)->rowHeaders(allRowHeaders);206 unsigned rowCount = allRowHeaders.size();207 for (unsigned k = 0; k < rowCount; ++k) {208 pair<int, int> rowRange;209 AccessibilityTableCell* cell = static_cast<AccessibilityTableCell*>(allRowHeaders.at(k).get());210 cell->rowIndexRange(rowRange);211 if (rowRange.first <= row && row < rowRange.first + rowRange.second)212 return allRowHeaders[k]->wrapper();213 }214 }215 return 0;216 }217 218 AtkObject* webkitAccessibleTableGetCaption(AtkTable* table)219 {220 AccessibilityObject* accTable = core(table);221 if (accTable->isAccessibilityRenderObject()) {222 Node* node = accTable->node();223 if (node && node->hasTagName(HTMLNames::tableTag)) {224 HTMLTableCaptionElement* caption = static_cast<HTMLTableElement*>(node)->caption();225 if (caption)226 return AccessibilityObject::firstAccessibleObjectFromNode(caption->renderer()->node())->wrapper();227 }228 }229 return 0;230 }231 232 const gchar* webkitAccessibleTableGetColumnDescription(AtkTable* table, gint column)233 {234 AtkObject* columnHeader = atk_table_get_column_header(table, column);235 if (columnHeader && ATK_IS_TEXT(columnHeader))236 return webkitAccessibleTextGetText(ATK_TEXT(columnHeader), 0, -1);237 238 return 0;239 }240 241 const gchar* webkitAccessibleTableGetRowDescription(AtkTable* table, gint row)242 {243 AtkObject* rowHeader = atk_table_get_row_header(table, row);244 if (rowHeader && ATK_IS_TEXT(rowHeader))245 return webkitAccessibleTextGetText(ATK_TEXT(rowHeader), 0, -1);246 247 return 0;248 } -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceTable.h
r105749 r105791 26 26 27 27 void webkitAccessibleTableInterfaceInit(AtkTableIface*); 28 AtkObject* webkitAccessibleTableRefAt(AtkTable*, gint row, gint column);29 gint webkitAccessibleTableGetIndexAt(AtkTable*, gint row, gint column);30 gint webkitAccessibleTableGetColumnAtIndex(AtkTable*, gint index);31 gint webkitAccessibleTableGetRowAtIndex(AtkTable*, gint index);32 gint webkitAccessibleTableGetNColumns(AtkTable*);33 gint webkitAccessibleTableGetNRows(AtkTable*);34 gint webkitAccessibleTableGetColumnExtentAt(AtkTable*, gint row, gint column);35 gint webkitAccessibleTableGetRowExtentAt(AtkTable*, gint row, gint column);36 AtkObject* webkitAccessibleTableGetColumnHeader(AtkTable*, gint column);37 AtkObject* webkitAccessibleTableGetRowHeader(AtkTable*, gint row);38 AtkObject* webkitAccessibleTableGetCaption(AtkTable*);39 const gchar* webkitAccessibleTableGetColumnDescription(AtkTable*, gint column);40 const gchar* webkitAccessibleTableGetRowDescription(AtkTable*, gint row);41 28 42 29 #endif // WebKitAccessibleInterfaceTable_h -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceText.cpp
r105745 r105791 60 60 } 61 61 62 gchar* textForRenderer(RenderObject* renderer)62 static gchar* textForRenderer(RenderObject* renderer) 63 63 { 64 64 GString* resultText = g_string_new(0); … … 119 119 } 120 120 121 gchar* textForObject(AccessibilityObject* coreObject)121 static gchar* textForObject(AccessibilityObject* coreObject) 122 122 { 123 123 GString* str = g_string_new(0); … … 144 144 return g_string_free(str, FALSE); 145 145 } 146 147 static gchar* webkitAccessibleTextGetText(AtkText*, gint startOffset, gint endOffset); 146 148 147 149 static GailTextUtil* getGailTextUtilForAtk(AtkText* textObject) … … 505 507 } 506 508 509 static gchar* webkitAccessibleTextGetText(AtkText* text, gint startOffset, gint endOffset) 510 { 511 AccessibilityObject* coreObject = core(text); 512 513 int end = endOffset; 514 if (endOffset == -1) { 515 end = coreObject->stringValue().length(); 516 if (!end) 517 end = coreObject->textUnderElement().length(); 518 } 519 520 String ret; 521 if (coreObject->isTextControl()) 522 ret = coreObject->doAXStringForRange(PlainTextRange(0, endOffset)); 523 else { 524 ret = coreObject->stringValue(); 525 if (!ret) 526 ret = coreObject->textUnderElement(); 527 } 528 529 if (!ret.length()) { 530 // This can happen at least with anonymous RenderBlocks (e.g. body text amongst paragraphs) 531 ret = String(textForObject(coreObject)); 532 if (!end) 533 end = ret.length(); 534 } 535 536 // Prefix a item number/bullet if needed 537 if (coreObject->roleValue() == ListItemRole) { 538 RenderObject* objRenderer = coreObject->renderer(); 539 if (objRenderer && objRenderer->isListItem()) { 540 String markerText = toRenderListItem(objRenderer)->markerTextWithSuffix(); 541 ret = objRenderer->style()->direction() == LTR ? markerText + ret : ret + markerText; 542 if (endOffset == -1) 543 end += markerText.length(); 544 } 545 } 546 547 ret = ret.substring(startOffset, end - startOffset); 548 return g_strdup(ret.utf8().data()); 549 } 550 551 static gchar* webkitAccessibleTextGetTextAfterOffset(AtkText* text, gint offset, AtkTextBoundary boundaryType, gint* startOffset, gint* endOffset) 552 { 553 return gail_text_util_get_text(getGailTextUtilForAtk(text), getPangoLayoutForAtk(text), GAIL_AFTER_OFFSET, boundaryType, offset, startOffset, endOffset); 554 } 555 556 static gchar* webkitAccessibleTextGetTextAtOffset(AtkText* text, gint offset, AtkTextBoundary boundaryType, gint* startOffset, gint* endOffset) 557 { 558 return gail_text_util_get_text(getGailTextUtilForAtk(text), getPangoLayoutForAtk(text), GAIL_AT_OFFSET, boundaryType, offset, startOffset, endOffset); 559 } 560 561 static gchar* webkitAccessibleTextGetTextBeforeOffset(AtkText* text, gint offset, AtkTextBoundary boundaryType, gint* startOffset, gint* endOffset) 562 { 563 return gail_text_util_get_text(getGailTextUtilForAtk(text), getPangoLayoutForAtk(text), GAIL_BEFORE_OFFSET, boundaryType, offset, startOffset, endOffset); 564 } 565 566 static gunichar webkitAccessibleTextGetCharacterAtOffset(AtkText*, gint) 567 { 568 notImplemented(); 569 return 0; 570 } 571 572 static gint webkitAccessibleTextGetCaretOffset(AtkText* text) 573 { 574 // coreObject is the unignored object whose offset the caller is requesting. 575 // focusedObject is the object with the caret. It is likely ignored -- unless it's a link. 576 AccessibilityObject* coreObject = core(text); 577 if (!coreObject->isAccessibilityRenderObject()) 578 return 0; 579 580 // We need to make sure we pass a valid object as reference. 581 if (coreObject->accessibilityIsIgnored()) 582 coreObject = coreObject->parentObjectUnignored(); 583 if (!coreObject) 584 return 0; 585 586 int offset; 587 if (!objectFocusedAndCaretOffsetUnignored(coreObject, offset)) 588 return 0; 589 590 RenderObject* renderer = coreObject->renderer(); 591 if (renderer && renderer->isListItem()) { 592 String markerText = toRenderListItem(renderer)->markerTextWithSuffix(); 593 594 // We need to adjust the offset for the list item marker. 595 offset += markerText.length(); 596 } 597 598 // TODO: Verify this for RTL text. 599 return offset; 600 } 601 602 static AtkAttributeSet* webkitAccessibleTextGetRunAttributes(AtkText* text, gint offset, gint* startOffset, gint* endOffset) 603 { 604 AccessibilityObject* coreObject = core(text); 605 AtkAttributeSet* result; 606 607 if (!coreObject) { 608 *startOffset = 0; 609 *endOffset = atk_text_get_character_count(text); 610 return 0; 611 } 612 613 if (offset == -1) 614 offset = atk_text_get_caret_offset(text); 615 616 result = getRunAttributesFromAccesibilityObject(coreObject, offset, startOffset, endOffset); 617 618 if (*startOffset < 0) { 619 *startOffset = offset; 620 *endOffset = offset; 621 } 622 623 return result; 624 } 625 626 static AtkAttributeSet* webkitAccessibleTextGetDefaultAttributes(AtkText* text) 627 { 628 AccessibilityObject* coreObject = core(text); 629 if (!coreObject || !coreObject->isAccessibilityRenderObject()) 630 return 0; 631 632 return getAttributeSetForAccessibilityObject(coreObject); 633 } 634 635 static void webkitAccessibleTextGetCharacterExtents(AtkText* text, gint offset, gint* x, gint* y, gint* width, gint* height, AtkCoordType coords) 636 { 637 IntRect extents = textExtents(text, offset, 1, coords); 638 *x = extents.x(); 639 *y = extents.y(); 640 *width = extents.width(); 641 *height = extents.height(); 642 } 643 644 static void webkitAccessibleTextGetRangeExtents(AtkText* text, gint startOffset, gint endOffset, AtkCoordType coords, AtkTextRectangle* rect) 645 { 646 IntRect extents = textExtents(text, startOffset, endOffset - startOffset, coords); 647 rect->x = extents.x(); 648 rect->y = extents.y(); 649 rect->width = extents.width(); 650 rect->height = extents.height(); 651 } 652 653 static gint webkitAccessibleTextGetCharacterCount(AtkText* text) 654 { 655 return accessibilityObjectLength(core(text)); 656 } 657 658 static gint webkitAccessibleTextGetOffsetAtPoint(AtkText* text, gint x, gint y, AtkCoordType coords) 659 { 660 // FIXME: Use the AtkCoordType 661 // TODO: Is it correct to ignore range.length? 662 IntPoint pos(x, y); 663 PlainTextRange range = core(text)->doAXRangeForPosition(pos); 664 return range.start; 665 } 666 667 static gint webkitAccessibleTextGetNSelections(AtkText* text) 668 { 669 AccessibilityObject* coreObject = core(text); 670 VisibleSelection selection = coreObject->selection(); 671 672 // Only range selections are needed for the purpose of this method 673 if (!selection.isRange()) 674 return 0; 675 676 // We don't support multiple selections for now, so there's only 677 // two possibilities 678 // Also, we don't want to do anything if the selection does not 679 // belong to the currently selected object. We have to check since 680 // there's no way to get the selection for a given object, only 681 // the global one (the API is a bit confusing) 682 return selectionBelongsToObject(coreObject, selection) ? 1 : 0; 683 } 684 685 static gchar* webkitAccessibleTextGetSelection(AtkText* text, gint selectionNum, gint* startOffset, gint* endOffset) 686 { 687 // Default values, unless the contrary is proved 688 *startOffset = *endOffset = 0; 689 690 // WebCore does not support multiple selection, so anything but 0 does not make sense for now. 691 if (selectionNum) 692 return 0; 693 694 // Get the offsets of the selection for the selected object 695 AccessibilityObject* coreObject = core(text); 696 VisibleSelection selection = coreObject->selection(); 697 getSelectionOffsetsForObject(coreObject, selection, *startOffset, *endOffset); 698 699 // Return 0 instead of "", as that's the expected result for 700 // this AtkText method when there's no selection 701 if (*startOffset == *endOffset) 702 return 0; 703 704 return webkitAccessibleTextGetText(text, *startOffset, *endOffset); 705 } 706 707 static gboolean webkitAccessibleTextAddSelection(AtkText*, gint, gint) 708 { 709 notImplemented(); 710 return FALSE; 711 } 712 713 static gboolean webkitAccessibleTextSetSelection(AtkText* text, gint selectionNum, gint startOffset, gint endOffset) 714 { 715 // WebCore does not support multiple selection, so anything but 0 does not make sense for now. 716 if (selectionNum) 717 return FALSE; 718 719 AccessibilityObject* coreObject = core(text); 720 if (!coreObject->isAccessibilityRenderObject()) 721 return FALSE; 722 723 // Consider -1 and out-of-bound values and correct them to length 724 gint textCount = webkitAccessibleTextGetCharacterCount(text); 725 if (startOffset < 0 || startOffset > textCount) 726 startOffset = textCount; 727 if (endOffset < 0 || endOffset > textCount) 728 endOffset = textCount; 729 730 // We need to adjust the offsets for the list item marker. 731 RenderObject* renderer = coreObject->renderer(); 732 if (renderer && renderer->isListItem()) { 733 String markerText = toRenderListItem(renderer)->markerTextWithSuffix(); 734 int markerLength = markerText.length(); 735 if (startOffset < markerLength || endOffset < markerLength) 736 return FALSE; 737 738 startOffset -= markerLength; 739 endOffset -= markerLength; 740 } 741 742 PlainTextRange textRange(startOffset, endOffset - startOffset); 743 VisiblePositionRange range = coreObject->visiblePositionRangeForRange(textRange); 744 if (range.isNull()) 745 return FALSE; 746 747 coreObject->setSelectedVisiblePositionRange(range); 748 return TRUE; 749 } 750 751 static gboolean webkitAccessibleTextRemoveSelection(AtkText* text, gint selectionNum) 752 { 753 // WebCore does not support multiple selection, so anything but 0 does not make sense for now. 754 if (selectionNum) 755 return FALSE; 756 757 // Do nothing if current selection doesn't belong to the object 758 if (!webkitAccessibleTextGetNSelections(text)) 759 return FALSE; 760 761 // Set a new 0-sized selection to the caret position, in order 762 // to simulate selection removal (GAIL style) 763 gint caretOffset = webkitAccessibleTextGetCaretOffset(text); 764 return webkitAccessibleTextSetSelection(text, selectionNum, caretOffset, caretOffset); 765 } 766 767 static gboolean webkitAccessibleTextSetCaretOffset(AtkText* text, gint offset) 768 { 769 AccessibilityObject* coreObject = core(text); 770 771 if (!coreObject->isAccessibilityRenderObject()) 772 return FALSE; 773 774 RenderObject* renderer = coreObject->renderer(); 775 if (renderer && renderer->isListItem()) { 776 String markerText = toRenderListItem(renderer)->markerTextWithSuffix(); 777 int markerLength = markerText.length(); 778 if (offset < markerLength) 779 return FALSE; 780 781 // We need to adjust the offset for list items. 782 offset -= markerLength; 783 } 784 785 PlainTextRange textRange(offset, 0); 786 VisiblePositionRange range = coreObject->visiblePositionRangeForRange(textRange); 787 if (range.isNull()) 788 return FALSE; 789 790 coreObject->setSelectedVisiblePositionRange(range); 791 return TRUE; 792 } 793 507 794 void webkitAccessibleTextInterfaceInit(AtkTextIface* iface) 508 795 { … … 526 813 iface->set_caret_offset = webkitAccessibleTextSetCaretOffset; 527 814 } 528 529 gchar* webkitAccessibleTextGetText(AtkText* text, gint startOffset, gint endOffset)530 {531 AccessibilityObject* coreObject = core(text);532 533 int end = endOffset;534 if (endOffset == -1) {535 end = coreObject->stringValue().length();536 if (!end)537 end = coreObject->textUnderElement().length();538 }539 540 String ret;541 if (coreObject->isTextControl())542 ret = coreObject->doAXStringForRange(PlainTextRange(0, endOffset));543 else {544 ret = coreObject->stringValue();545 if (!ret)546 ret = coreObject->textUnderElement();547 }548 549 if (!ret.length()) {550 // This can happen at least with anonymous RenderBlocks (e.g. body text amongst paragraphs)551 ret = String(textForObject(coreObject));552 if (!end)553 end = ret.length();554 }555 556 // Prefix a item number/bullet if needed557 if (coreObject->roleValue() == ListItemRole) {558 RenderObject* objRenderer = coreObject->renderer();559 if (objRenderer && objRenderer->isListItem()) {560 String markerText = toRenderListItem(objRenderer)->markerTextWithSuffix();561 ret = objRenderer->style()->direction() == LTR ? markerText + ret : ret + markerText;562 if (endOffset == -1)563 end += markerText.length();564 }565 }566 567 ret = ret.substring(startOffset, end - startOffset);568 return g_strdup(ret.utf8().data());569 }570 571 gchar* webkitAccessibleTextGetTextAfterOffset(AtkText* text, gint offset, AtkTextBoundary boundaryType, gint* startOffset, gint* endOffset)572 {573 return gail_text_util_get_text(getGailTextUtilForAtk(text), getPangoLayoutForAtk(text), GAIL_AFTER_OFFSET, boundaryType, offset, startOffset, endOffset);574 }575 576 gchar* webkitAccessibleTextGetTextAtOffset(AtkText* text, gint offset, AtkTextBoundary boundaryType, gint* startOffset, gint* endOffset)577 {578 return gail_text_util_get_text(getGailTextUtilForAtk(text), getPangoLayoutForAtk(text), GAIL_AT_OFFSET, boundaryType, offset, startOffset, endOffset);579 }580 581 gchar* webkitAccessibleTextGetTextBeforeOffset(AtkText* text, gint offset, AtkTextBoundary boundaryType, gint* startOffset, gint* endOffset)582 {583 return gail_text_util_get_text(getGailTextUtilForAtk(text), getPangoLayoutForAtk(text), GAIL_BEFORE_OFFSET, boundaryType, offset, startOffset, endOffset);584 }585 586 gunichar webkitAccessibleTextGetCharacterAtOffset(AtkText*, gint)587 {588 notImplemented();589 return 0;590 }591 592 gint webkitAccessibleTextGetCaretOffset(AtkText* text)593 {594 // coreObject is the unignored object whose offset the caller is requesting.595 // focusedObject is the object with the caret. It is likely ignored -- unless it's a link.596 AccessibilityObject* coreObject = core(text);597 if (!coreObject->isAccessibilityRenderObject())598 return 0;599 600 // We need to make sure we pass a valid object as reference.601 if (coreObject->accessibilityIsIgnored())602 coreObject = coreObject->parentObjectUnignored();603 if (!coreObject)604 return 0;605 606 int offset;607 if (!objectFocusedAndCaretOffsetUnignored(coreObject, offset))608 return 0;609 610 RenderObject* renderer = coreObject->renderer();611 if (renderer && renderer->isListItem()) {612 String markerText = toRenderListItem(renderer)->markerTextWithSuffix();613 614 // We need to adjust the offset for the list item marker.615 offset += markerText.length();616 }617 618 // TODO: Verify this for RTL text.619 return offset;620 }621 622 AtkAttributeSet* webkitAccessibleTextGetRunAttributes(AtkText* text, gint offset, gint* startOffset, gint* endOffset)623 {624 AccessibilityObject* coreObject = core(text);625 AtkAttributeSet* result;626 627 if (!coreObject) {628 *startOffset = 0;629 *endOffset = atk_text_get_character_count(text);630 return 0;631 }632 633 if (offset == -1)634 offset = atk_text_get_caret_offset(text);635 636 result = getRunAttributesFromAccesibilityObject(coreObject, offset, startOffset, endOffset);637 638 if (*startOffset < 0) {639 *startOffset = offset;640 *endOffset = offset;641 }642 643 return result;644 }645 646 AtkAttributeSet* webkitAccessibleTextGetDefaultAttributes(AtkText* text)647 {648 AccessibilityObject* coreObject = core(text);649 if (!coreObject || !coreObject->isAccessibilityRenderObject())650 return 0;651 652 return getAttributeSetForAccessibilityObject(coreObject);653 }654 655 void webkitAccessibleTextGetCharacterExtents(AtkText* text, gint offset, gint* x, gint* y, gint* width, gint* height, AtkCoordType coords)656 {657 IntRect extents = textExtents(text, offset, 1, coords);658 *x = extents.x();659 *y = extents.y();660 *width = extents.width();661 *height = extents.height();662 }663 664 void webkitAccessibleTextGetRangeExtents(AtkText* text, gint startOffset, gint endOffset, AtkCoordType coords, AtkTextRectangle* rect)665 {666 IntRect extents = textExtents(text, startOffset, endOffset - startOffset, coords);667 rect->x = extents.x();668 rect->y = extents.y();669 rect->width = extents.width();670 rect->height = extents.height();671 }672 673 gint webkitAccessibleTextGetCharacterCount(AtkText* text)674 {675 return accessibilityObjectLength(core(text));676 }677 678 gint webkitAccessibleTextGetOffsetAtPoint(AtkText* text, gint x, gint y, AtkCoordType coords)679 {680 // FIXME: Use the AtkCoordType681 // TODO: Is it correct to ignore range.length?682 IntPoint pos(x, y);683 PlainTextRange range = core(text)->doAXRangeForPosition(pos);684 return range.start;685 }686 687 gint webkitAccessibleTextGetNSelections(AtkText* text)688 {689 AccessibilityObject* coreObject = core(text);690 VisibleSelection selection = coreObject->selection();691 692 // Only range selections are needed for the purpose of this method693 if (!selection.isRange())694 return 0;695 696 // We don't support multiple selections for now, so there's only697 // two possibilities698 // Also, we don't want to do anything if the selection does not699 // belong to the currently selected object. We have to check since700 // there's no way to get the selection for a given object, only701 // the global one (the API is a bit confusing)702 return selectionBelongsToObject(coreObject, selection) ? 1 : 0;703 }704 705 gchar* webkitAccessibleTextGetSelection(AtkText* text, gint selectionNum, gint* startOffset, gint* endOffset)706 {707 // Default values, unless the contrary is proved708 *startOffset = *endOffset = 0;709 710 // WebCore does not support multiple selection, so anything but 0 does not make sense for now.711 if (selectionNum)712 return 0;713 714 // Get the offsets of the selection for the selected object715 AccessibilityObject* coreObject = core(text);716 VisibleSelection selection = coreObject->selection();717 getSelectionOffsetsForObject(coreObject, selection, *startOffset, *endOffset);718 719 // Return 0 instead of "", as that's the expected result for720 // this AtkText method when there's no selection721 if (*startOffset == *endOffset)722 return 0;723 724 return webkitAccessibleTextGetText(text, *startOffset, *endOffset);725 }726 727 gboolean webkitAccessibleTextAddSelection(AtkText*, gint, gint)728 {729 notImplemented();730 return FALSE;731 }732 733 gboolean webkitAccessibleTextRemoveSelection(AtkText* text, gint selectionNum)734 {735 // WebCore does not support multiple selection, so anything but 0 does not make sense for now.736 if (selectionNum)737 return FALSE;738 739 // Do nothing if current selection doesn't belong to the object740 if (!webkitAccessibleTextGetNSelections(text))741 return FALSE;742 743 // Set a new 0-sized selection to the caret position, in order744 // to simulate selection removal (GAIL style)745 gint caretOffset = webkitAccessibleTextGetCaretOffset(text);746 return webkitAccessibleTextSetSelection(text, selectionNum, caretOffset, caretOffset);747 }748 749 gboolean webkitAccessibleTextSetSelection(AtkText* text, gint selectionNum, gint startOffset, gint endOffset)750 {751 // WebCore does not support multiple selection, so anything but 0 does not make sense for now.752 if (selectionNum)753 return FALSE;754 755 AccessibilityObject* coreObject = core(text);756 if (!coreObject->isAccessibilityRenderObject())757 return FALSE;758 759 // Consider -1 and out-of-bound values and correct them to length760 gint textCount = webkitAccessibleTextGetCharacterCount(text);761 if (startOffset < 0 || startOffset > textCount)762 startOffset = textCount;763 if (endOffset < 0 || endOffset > textCount)764 endOffset = textCount;765 766 // We need to adjust the offsets for the list item marker.767 RenderObject* renderer = coreObject->renderer();768 if (renderer && renderer->isListItem()) {769 String markerText = toRenderListItem(renderer)->markerTextWithSuffix();770 int markerLength = markerText.length();771 if (startOffset < markerLength || endOffset < markerLength)772 return FALSE;773 774 startOffset -= markerLength;775 endOffset -= markerLength;776 }777 778 PlainTextRange textRange(startOffset, endOffset - startOffset);779 VisiblePositionRange range = coreObject->visiblePositionRangeForRange(textRange);780 if (range.isNull())781 return FALSE;782 783 coreObject->setSelectedVisiblePositionRange(range);784 return TRUE;785 }786 787 gboolean webkitAccessibleTextSetCaretOffset(AtkText* text, gint offset)788 {789 AccessibilityObject* coreObject = core(text);790 791 if (!coreObject->isAccessibilityRenderObject())792 return FALSE;793 794 RenderObject* renderer = coreObject->renderer();795 if (renderer && renderer->isListItem()) {796 String markerText = toRenderListItem(renderer)->markerTextWithSuffix();797 int markerLength = markerText.length();798 if (offset < markerLength)799 return FALSE;800 801 // We need to adjust the offset for list items.802 offset -= markerLength;803 }804 805 PlainTextRange textRange(offset, 0);806 VisiblePositionRange range = coreObject->visiblePositionRangeForRange(textRange);807 if (range.isNull())808 return FALSE;809 810 coreObject->setSelectedVisiblePositionRange(range);811 return TRUE;812 } -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceText.h
r105745 r105791 26 26 27 27 void webkitAccessibleTextInterfaceInit(AtkTextIface*); 28 gchar* webkitAccessibleTextGetText(AtkText*, gint startOffset, gint endOffset);29 gchar* webkitAccessibleTextGetTextAfterOffset(AtkText*, gint offset, AtkTextBoundary, gint* startOffset, gint* endOffset);30 gchar* webkitAccessibleTextGetTextAtOffset(AtkText*, gint offset, AtkTextBoundary, gint* startOffset, gint* endOffset);31 gchar* webkitAccessibleTextGetTextBeforeOffset(AtkText*, gint offset, AtkTextBoundary, gint* startOffset, gint* endOffset);32 gunichar webkitAccessibleTextGetCharacterAtOffset(AtkText*, gint offset);33 gint webkitAccessibleTextGetCaretOffset(AtkText*);34 AtkAttributeSet* webkitAccessibleTextGetRunAttributes(AtkText*, gint offset, gint* startOffset, gint* endOffset);35 AtkAttributeSet* webkitAccessibleTextGetDefaultAttributes(AtkText*);36 void webkitAccessibleTextGetCharacterExtents(AtkText*, gint offset, gint* x, gint* y, gint* width, gint* height, AtkCoordType);37 void webkitAccessibleTextGetRangeExtents(AtkText*, gint startOffset, gint endOffset, AtkCoordType, AtkTextRectangle*);38 gint webkitAccessibleTextGetCharacterCount(AtkText*);39 gint webkitAccessibleTextGetOffsetAtPoint(AtkText*, gint x, gint y, AtkCoordType);40 gint webkitAccessibleTextGetNSelections(AtkText*);41 gchar* webkitAccessibleTextGetSelection(AtkText*, gint selectionNum, gint* startOffset, gint* endOffset);42 gboolean webkitAccessibleTextAddSelection(AtkText*, gint startOffset, gint endOffset);43 gboolean webkitAccessibleTextSetSelection(AtkText*, gint selectionNum, gint startOffset, gint endOffset);44 gboolean webkitAccessibleTextRemoveSelection(AtkText*, gint selectionNum);45 gboolean webkitAccessibleTextSetCaretOffset(AtkText*, gint offset);46 28 47 29 #endif // WebKitAccessibleInterfaceText_h -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceValue.cpp
r105740 r105791 34 34 } 35 35 36 void webkitAccessibleValueInterfaceInit(AtkValueIface* iface) 37 { 38 iface->get_current_value = webkitAccessibleValueGetCurrentValue; 39 iface->get_maximum_value = webkitAccessibleValueGetMaximumValue; 40 iface->get_minimum_value = webkitAccessibleValueGetMinimumValue; 41 iface->set_current_value = webkitAccessibleValueSetCurrentValue; 42 iface->get_minimum_increment = webkitAccessibleValueGetMinimumIncrement; 43 } 44 45 void webkitAccessibleValueGetCurrentValue(AtkValue* value, GValue* gValue) 36 static void webkitAccessibleValueGetCurrentValue(AtkValue* value, GValue* gValue) 46 37 { 47 38 memset(gValue, 0, sizeof(GValue)); … … 50 41 } 51 42 52 void webkitAccessibleValueGetMaximumValue(AtkValue* value, GValue* gValue)43 static void webkitAccessibleValueGetMaximumValue(AtkValue* value, GValue* gValue) 53 44 { 54 45 memset(gValue, 0, sizeof(GValue)); … … 57 48 } 58 49 59 void webkitAccessibleValueGetMinimumValue(AtkValue* value, GValue* gValue)50 static void webkitAccessibleValueGetMinimumValue(AtkValue* value, GValue* gValue) 60 51 { 61 52 memset(gValue, 0, sizeof(GValue)); … … 64 55 } 65 56 66 gboolean webkitAccessibleValueSetCurrentValue(AtkValue* value, const GValue* gValue)57 static gboolean webkitAccessibleValueSetCurrentValue(AtkValue* value, const GValue* gValue) 67 58 { 68 59 if (!G_VALUE_HOLDS_DOUBLE(gValue) && !G_VALUE_HOLDS_INT(gValue)) … … 81 72 } 82 73 83 void webkitAccessibleValueGetMinimumIncrement(AtkValue* value, GValue* gValue)74 static void webkitAccessibleValueGetMinimumIncrement(AtkValue* value, GValue* gValue) 84 75 { 85 76 memset(gValue, 0, sizeof(GValue)); … … 89 80 g_value_set_double(gValue, 0.0); 90 81 } 82 83 void webkitAccessibleValueInterfaceInit(AtkValueIface* iface) 84 { 85 iface->get_current_value = webkitAccessibleValueGetCurrentValue; 86 iface->get_maximum_value = webkitAccessibleValueGetMaximumValue; 87 iface->get_minimum_value = webkitAccessibleValueGetMinimumValue; 88 iface->set_current_value = webkitAccessibleValueSetCurrentValue; 89 iface->get_minimum_increment = webkitAccessibleValueGetMinimumIncrement; 90 } -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceValue.h
r105740 r105791 24 24 25 25 void webkitAccessibleValueInterfaceInit(AtkValueIface*); 26 void webkitAccessibleValueGetCurrentValue(AtkValue*, GValue*);27 void webkitAccessibleValueGetMaximumValue(AtkValue*, GValue*);28 void webkitAccessibleValueGetMinimumValue(AtkValue*, GValue*);29 gboolean webkitAccessibleValueSetCurrentValue(AtkValue*, const GValue*);30 void webkitAccessibleValueGetMinimumIncrement(AtkValue*, GValue*);31 26 32 27 #endif // WebKitAccessibleInterfaceValue_h -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp
r105754 r105791 105 105 AtkObject* atkObject = label->wrapper(); 106 106 if (ATK_IS_TEXT(atkObject)) 107 return webkitAccessibleTextGetText(ATK_TEXT(atkObject), 0, -1);107 return atk_text_get_text(ATK_TEXT(atkObject), 0, -1); 108 108 } 109 109
Note: See TracChangeset
for help on using the changeset viewer.