Changeset 105604 in webkit
- Timestamp:
- Jan 23, 2012 2:21:03 AM (12 years ago)
- Location:
- trunk/Source
- Files:
-
- 10 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r105600 r105604 1 2012-01-22 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 Rename the file for the ATK AccessibilityObject wrapper to be more 9 coherent with the rest of the files in the same directory. 10 11 * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Renamed from 12 Source/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp. 13 (fallbackObject): 14 (returnString): 15 (core): 16 (webkit_accessible_get_name): 17 (webkit_accessible_get_description): 18 (setAtkRelationSetFromCoreObject): 19 (isRootObject): 20 (atkParentOfRootObject): 21 (webkit_accessible_get_parent): 22 (getNChildrenForTable): 23 (webkit_accessible_get_n_children): 24 (getChildForTable): 25 (webkit_accessible_ref_child): 26 (getIndexInParentForCellInRow): 27 (webkit_accessible_get_index_in_parent): 28 (addAttributeToSet): 29 (webkit_accessible_get_attributes): 30 (atkRole): 31 (webkit_accessible_get_role): 32 (selectionBelongsToObject): 33 (isTextWithCaret): 34 (setAtkStateSetFromCoreObject): 35 (webkit_accessible_ref_state_set): 36 (webkit_accessible_ref_relation_set): 37 (webkit_accessible_init): 38 (webkit_accessible_finalize): 39 (webkit_accessible_class_init): 40 (webkit_accessible_get_type): 41 (webkit_accessible_action_do_action): 42 (webkit_accessible_action_get_n_actions): 43 (webkit_accessible_action_get_description): 44 (webkit_accessible_action_get_keybinding): 45 (webkit_accessible_action_get_name): 46 (atk_action_interface_init): 47 (listObjectForSelection): 48 (optionFromList): 49 (optionFromSelection): 50 (webkit_accessible_selection_add_selection): 51 (webkit_accessible_selection_clear_selection): 52 (webkit_accessible_selection_ref_selection): 53 (webkit_accessible_selection_get_selection_count): 54 (webkit_accessible_selection_is_child_selected): 55 (webkit_accessible_selection_remove_selection): 56 (webkit_accessible_selection_select_all_selection): 57 (atk_selection_interface_init): 58 (utf8Substr): 59 (convertUniCharToUTF8): 60 (textForRenderer): 61 (textForObject): 62 (webkit_accessible_text_get_text): 63 (getGailTextUtilForAtk): 64 (getPangoLayoutForAtk): 65 (webkit_accessible_text_get_text_after_offset): 66 (webkit_accessible_text_get_text_at_offset): 67 (webkit_accessible_text_get_text_before_offset): 68 (webkit_accessible_text_get_character_at_offset): 69 (webkit_accessible_text_get_caret_offset): 70 (baselinePositionForRenderObject): 71 (getAttributeSetForAccessibilityObject): 72 (compareAttribute): 73 (attributeSetDifference): 74 (accessibilityObjectLength): 75 (getAccessibilityObjectForOffset): 76 (getRunAttributesFromAccesibilityObject): 77 (webkit_accessible_text_get_run_attributes): 78 (webkit_accessible_text_get_default_attributes): 79 (textExtents): 80 (webkit_accessible_text_get_character_extents): 81 (webkit_accessible_text_get_range_extents): 82 (webkit_accessible_text_get_character_count): 83 (webkit_accessible_text_get_offset_at_point): 84 (getSelectionOffsetsForObject): 85 (webkit_accessible_text_get_n_selections): 86 (webkit_accessible_text_get_selection): 87 (webkit_accessible_text_add_selection): 88 (webkit_accessible_text_set_selection): 89 (webkit_accessible_text_remove_selection): 90 (webkit_accessible_text_set_caret_offset): 91 (atk_text_interface_init): 92 (webkit_accessible_editable_text_set_run_attributes): 93 (webkit_accessible_editable_text_set_text_contents): 94 (webkit_accessible_editable_text_insert_text): 95 (webkit_accessible_editable_text_copy_text): 96 (webkit_accessible_editable_text_cut_text): 97 (webkit_accessible_editable_text_delete_text): 98 (webkit_accessible_editable_text_paste_text): 99 (atk_editable_text_interface_init): 100 (contentsToAtk): 101 (atkToContents): 102 (webkit_accessible_component_ref_accessible_at_point): 103 (webkit_accessible_component_get_extents): 104 (webkit_accessible_component_grab_focus): 105 (atk_component_interface_init): 106 (webkit_accessible_image_get_image_position): 107 (webkit_accessible_image_get_image_description): 108 (webkit_accessible_image_get_image_size): 109 (atk_image_interface_init): 110 (cell): 111 (cellIndex): 112 (cellAtIndex): 113 (webkit_accessible_table_ref_at): 114 (webkit_accessible_table_get_index_at): 115 (webkit_accessible_table_get_column_at_index): 116 (webkit_accessible_table_get_row_at_index): 117 (webkit_accessible_table_get_n_columns): 118 (webkit_accessible_table_get_n_rows): 119 (webkit_accessible_table_get_column_extent_at): 120 (webkit_accessible_table_get_row_extent_at): 121 (webkit_accessible_table_get_column_header): 122 (webkit_accessible_table_get_row_header): 123 (webkit_accessible_table_get_caption): 124 (webkit_accessible_table_get_column_description): 125 (webkit_accessible_table_get_row_description): 126 (atk_table_interface_init): 127 (webkitAccessibleHypertextGetLink): 128 (webkitAccessibleHypertextGetNLinks): 129 (webkitAccessibleHypertextGetLinkIndex): 130 (atkHypertextInterfaceInit): 131 (webkitAccessibleHyperlinkImplGetHyperlink): 132 (atkHyperlinkImplInterfaceInit): 133 (documentAttributeValue): 134 (webkit_accessible_document_get_attribute_value): 135 (webkit_accessible_document_get_attributes): 136 (webkit_accessible_document_get_locale): 137 (atk_document_interface_init): 138 (webkitAccessibleValueGetCurrentValue): 139 (webkitAccessibleValueGetMaximumValue): 140 (webkitAccessibleValueGetMinimumValue): 141 (webkitAccessibleValueSetCurrentValue): 142 (webkitAccessibleValueGetMinimumIncrement): 143 (atkValueInterfaceInit): 144 (GetAtkInterfaceTypeFromWAIType): 145 (getInterfaceMaskFromObject): 146 (getUniqueAccessibilityTypeName): 147 (getAccessibilityTypeFromObject): 148 (webkit_accessible_new): 149 (webkit_accessible_get_accessibility_object): 150 (webkit_accessible_detach): 151 (webkit_accessible_get_focused_element): 152 (objectFocusedAndCaretOffsetUnignored): 153 * accessibility/gtk/WebKitAccessibleWrapperAtk.h: Renamed from 154 Source/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.h. 155 156 Update the include for the AccessibilityObject wrapper header. 157 158 * accessibility/gtk/AXObjectCacheAtk.cpp: Update include. 159 * accessibility/gtk/WebKitAccessibleHyperlink.cpp: Ditto. 160 * accessibility/gtk/WebKitAccessibleHyperlink.h: Ditto. 161 * editing/gtk/FrameSelectionGtk.cpp: 162 163 Update filename for the ATK wrapper in build files. 164 165 * GNUmakefile.list.am: Updated. 166 * WebCore.gypi: Updated. 167 1 168 2012-01-20 Pavel Feldman <pfeldman@google.com> 2 169 -
trunk/Source/WebCore/GNUmakefile.list.am
r105514 r105604 4422 4422 webcoregtk_sources += \ 4423 4423 Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp \ 4424 Source/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp \4425 Source/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.h \4426 4424 Source/WebCore/accessibility/gtk/AXObjectCacheAtk.cpp \ 4427 4425 Source/WebCore/accessibility/gtk/WebKitAccessibleHyperlink.h \ 4428 4426 Source/WebCore/accessibility/gtk/WebKitAccessibleHyperlink.cpp \ 4427 Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp \ 4428 Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.h \ 4429 4429 Source/WebCore/bindings/js/ScriptControllerGtk.cpp \ 4430 4430 Source/WebCore/editing/gtk/FrameSelectionGtk.cpp \ -
trunk/Source/WebCore/WebCore.gypi
r105569 r105604 1767 1767 'accessibility/gtk/AXObjectCacheAtk.cpp', 1768 1768 'accessibility/gtk/AccessibilityObjectAtk.cpp', 1769 'accessibility/gtk/AccessibilityObjectWrapperAtk.cpp',1770 'accessibility/gtk/AccessibilityObjectWrapperAtk.h',1771 1769 'accessibility/gtk/WebKitAccessibleHyperlink.cpp', 1772 1770 'accessibility/gtk/WebKitAccessibleHyperlink.h', 1771 'accessibility/gtk/WebKitAccessibleWrapperAtk.cpp', 1772 'accessibility/gtk/WebKitAccessibleWrapperAtk.h', 1773 1773 'accessibility/mac/AXObjectCacheMac.mm', 1774 1774 'accessibility/mac/AccessibilityObjectMac.mm', -
trunk/Source/WebCore/accessibility/gtk/AXObjectCacheAtk.cpp
r102062 r105604 22 22 23 23 #include "AccessibilityObject.h" 24 #include "AccessibilityObjectWrapperAtk.h"25 24 #include "Document.h" 26 25 #include "Element.h" … … 29 28 #include "Range.h" 30 29 #include "TextIterator.h" 30 #include "WebKitAccessibleWrapperAtk.h" 31 31 32 32 namespace WebCore { -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleHyperlink.cpp
r95901 r105604 25 25 #include "AXObjectCache.h" 26 26 #include "AccessibilityObject.h" 27 #include "AccessibilityObjectWrapperAtk.h"28 27 #include "NotImplemented.h" 29 28 #include "Position.h" … … 32 31 #include "RenderObject.h" 33 32 #include "TextIterator.h" 33 #include "WebKitAccessibleWrapperAtk.h" 34 34 #include "htmlediting.h" 35 35 -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleHyperlink.h
r95901 r105604 20 20 #ifndef WebKitAccessibleHyperlink_h 21 21 #define WebKitAccessibleHyperlink_h 22 23 #include "AccessibilityObjectWrapperAtk.h"24 22 25 23 #include <atk/atk.h> -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp
r105603 r105604 1 1 /* 2 2 * Copyright (C) 2008 Nuanti Ltd. 3 * Copyright (C) 2009 Igalia S.L.4 3 * Copyright (C) 2009 Jan Alonzo 4 * Copyright (C) 2009, 2010, 2011, 2012 Igalia S.L. 5 5 * 6 6 * Portions from Mozilla a11y, copyright as follows: … … 30 30 31 31 #include "config.h" 32 #include " AccessibilityObjectWrapperAtk.h"32 #include "WebKitAccessibleWrapperAtk.h" 33 33 34 34 #if HAVE(ACCESSIBILITY) … … 49 49 #include "FrameView.h" 50 50 #include "GOwnPtr.h" 51 #include "HostWindow.h"52 51 #include "HTMLNames.h" 53 52 #include "HTMLSelectElement.h" 54 53 #include "HTMLTableCaptionElement.h" 55 54 #include "HTMLTableElement.h" 55 #include "HostWindow.h" 56 56 #include "InlineTextBox.h" 57 57 #include "IntRect.h" … … 167 167 } 168 168 169 static gchar* webkit_accessible_text_get_text(AtkText* text, gint startOffset, gint endOffset);169 static gchar* webkit_accessible_text_get_text(AtkText*, gint startOffset, gint endOffset); 170 170 171 171 static const gchar* webkit_accessible_get_name(AtkObject* object) … … 547 547 return ATK_ROLE_MENU_ITEM; 548 548 case ColumnRole: 549 // return ATK_ROLE_TABLE_COLUMN_HEADER; // Is this right?549 // return ATK_ROLE_TABLE_COLUMN_HEADER; // Is this right? 550 550 return ATK_ROLE_UNKNOWN; // Matches Mozilla 551 551 case RowRole: 552 // return ATK_ROLE_TABLE_ROW_HEADER; // Is this right?552 // return ATK_ROLE_TABLE_ROW_HEADER; // Is this right? 553 553 return ATK_ROLE_LIST_ITEM; // Matches Mozilla 554 554 case ToolbarRole: … … 557 557 return ATK_ROLE_PROGRESS_BAR; // Is this right? 558 558 case ProgressIndicatorRole: 559 // return ATK_ROLE_SPIN_BUTTON; // Some confusion about this role in AccessibilityRenderObject.cpp559 // return ATK_ROLE_SPIN_BUTTON; // Some confusion about this role in AccessibilityRenderObject.cpp 560 560 return ATK_ROLE_PROGRESS_BAR; 561 561 case WindowRole: … … 598 598 return ATK_ROLE_TEXT; 599 599 case WebAreaRole: 600 // return ATK_ROLE_HTML_CONTAINER; // Is this right?600 // return ATK_ROLE_HTML_CONTAINER; // Is this right? 601 601 return ATK_ROLE_DOCUMENT_FRAME; 602 602 case HeadingRole: … … 702 702 // isReadOnly is false for listBoxOptions, we need to add one 703 703 // more check so that we do not present them as being "editable". 704 if ((!coreObject->isReadOnly() ||705 (coreObject->isControl() && coreObject->canSetValueAttribute())) &&706 !isListBoxOption)704 if ((!coreObject->isReadOnly() 705 || (coreObject->isControl() && coreObject->canSetValueAttribute())) 706 && !isListBoxOption) 707 707 atk_state_set_add_state(stateSet, ATK_STATE_EDITABLE); 708 708 … … 878 878 static gboolean webkit_accessible_action_do_action(AtkAction* action, gint i) 879 879 { 880 g_return_val_if_fail( i == 0, FALSE);880 g_return_val_if_fail(!i, FALSE); 881 881 return core(action)->performDefaultAction(); 882 882 } … … 889 889 static const gchar* webkit_accessible_action_get_description(AtkAction* action, gint i) 890 890 { 891 g_return_val_if_fail( i == 0, 0);891 g_return_val_if_fail(!i, 0); 892 892 // TODO: Need a way to provide/localize action descriptions. 893 893 notImplemented(); … … 897 897 static const gchar* webkit_accessible_action_get_keybinding(AtkAction* action, gint i) 898 898 { 899 g_return_val_if_fail( i == 0, 0);899 g_return_val_if_fail(!i, 0); 900 900 // FIXME: Construct a proper keybinding string. 901 901 return returnString(core(action)->accessKey().string()); … … 904 904 static const gchar* webkit_accessible_action_get_name(AtkAction* action, gint i) 905 905 { 906 g_return_val_if_fail( i == 0, 0);906 g_return_val_if_fail(!i, 0); 907 907 return returnString(core(action)->actionVerb()); 908 908 } … … 1022 1022 listBox->setSelectedChildren(selectedItems); 1023 1023 listBox->selectedChildren(selectedItems); 1024 return selectedItems.size() == 0;1024 return !selectedItems.size(); 1025 1025 } 1026 1026 return false; … … 1511 1511 1512 1512 // Returns an AtkAttributeSet with the elements of a1 which are either 1513 // not present or different in a2. 1513 // not present or different in a2. Neither a1 nor a2 should be used 1514 1514 // after calling this function. 1515 1515 static AtkAttributeSet* attributeSetDifference(AtkAttributeSet* a1, AtkAttributeSet* a2) … … 1665 1665 1666 1666 IntRect extents = coreObject->doAXBoundsForRange(PlainTextRange(startOffset, rangeLength)); 1667 switch (coords) {1667 switch (coords) { 1668 1668 case ATK_XY_SCREEN: 1669 1669 if (Document* document = coreObject->document()) … … 1937 1937 AccessibilityObject* coreObject = core(text); 1938 1938 // FIXME: Not implemented in WebCore 1939 // coreObject->setSelectedTextRange(PlainTextRange(*position, 0));1940 // coreObject->setSelectedText(String::fromUTF8(string));1939 // coreObject->setSelectedTextRange(PlainTextRange(*position, 0)); 1940 // coreObject->setSelectedText(String::fromUTF8(string)); 1941 1941 1942 1942 Document* document = coreObject->document(); … … 1965 1965 AccessibilityObject* coreObject = core(text); 1966 1966 // FIXME: Not implemented in WebCore 1967 // coreObject->setSelectedTextRange(PlainTextRange(start_pos, end_pos - start_pos));1968 // coreObject->setSelectedText(String());1967 // coreObject->setSelectedTextRange(PlainTextRange(start_pos, end_pos - start_pos)); 1968 // coreObject->setSelectedText(String()); 1969 1969 1970 1970 Document* document = coreObject->document(); … … 2150 2150 { 2151 2151 AccessibilityTableCell* axCell = cellAtIndex(table, index); 2152 if (axCell) {2152 if (axCell) { 2153 2153 pair<int, int> columnRange; 2154 2154 axCell->columnIndexRange(columnRange); … … 2161 2161 { 2162 2162 AccessibilityTableCell* axCell = cellAtIndex(table, index); 2163 if (axCell) {2163 if (axCell) { 2164 2164 pair<int, int> rowRange; 2165 2165 axCell->rowIndexRange(rowRange); … … 2405 2405 { 2406 2406 AtkAttributeSet* attributeSet = 0; 2407 const gchar* attributes [] = {"DocType", "Encoding", "URI"};2407 const gchar* attributes[] = { "DocType", "Encoding", "URI" }; 2408 2408 2409 2409 for (unsigned i = 0; i < G_N_ELEMENTS(attributes); i++) { -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.h
r105603 r105604 2 2 * Copyright (C) 2008 Nuanti Ltd. 3 3 * Copyright (C) 2009 Jan Alonzo 4 * Copyright (C) 2009, 2010, 2011, 2012 Igalia S.L. 4 5 * 5 6 * This library is free software; you can redistribute it and/or … … 19 20 */ 20 21 21 #ifndef AccessibilityObjectWrapperAtk_h22 #define AccessibilityObjectWrapperAtk_h22 #ifndef WebKitAccessibleWrapperAtk_h 23 #define WebKitAccessibleWrapperAtk_h 23 24 24 25 #include <atk/atk.h> 25 26 26 27 namespace WebCore { 27 28 class AccessibilityObject; 28 29 } 29 30 … … 40 41 typedef struct _WebKitAccessibleClass WebKitAccessibleClass; 41 42 42 struct _WebKitAccessible 43 { 43 struct _WebKitAccessible { 44 44 AtkObject parent; 45 45 WebCore::AccessibilityObject* m_object; 46 46 }; 47 47 48 struct _WebKitAccessibleClass 49 { 48 struct _WebKitAccessibleClass { 50 49 AtkObjectClass parent_class; 51 50 }; 52 51 53 GType webkit_accessible_get_type 52 GType webkit_accessible_get_type(void) G_GNUC_CONST; 54 53 55 WebKitAccessible* webkit_accessible_new (WebCore::AccessibilityObject* core_object);54 WebKitAccessible* webkit_accessible_new(WebCore::AccessibilityObject*); 56 55 57 WebCore::AccessibilityObject* webkit_accessible_get_accessibility_object (WebKitAccessible* accessible);56 WebCore::AccessibilityObject* webkit_accessible_get_accessibility_object(WebKitAccessible*); 58 57 59 void webkit_accessible_detach (WebKitAccessible* accessible);58 void webkit_accessible_detach(WebKitAccessible*); 60 59 61 AtkObject* webkit_accessible_get_focused_element(WebKitAccessible* accessible);60 AtkObject* webkit_accessible_get_focused_element(WebKitAccessible*); 62 61 63 62 WebCore::AccessibilityObject* objectFocusedAndCaretOffsetUnignored(WebCore::AccessibilityObject*, int& offset); … … 65 64 G_END_DECLS 66 65 67 #endif // AccessibilityObjectWrapperAtk_h66 #endif // WebKitAccessibleWrapperAtk_h -
trunk/Source/WebCore/editing/gtk/FrameSelectionGtk.cpp
r105590 r105604 21 21 #include "FrameSelection.h" 22 22 23 #include "AccessibilityObjectWrapperAtk.h"24 23 #include "AXObjectCache.h" 25 24 #include "Frame.h" 26 25 #include "RefPtr.h" 26 #include "WebKitAccessibleWrapperAtk.h" 27 27 28 28 #include <gtk/gtk.h> -
trunk/Source/WebKit/gtk/ChangeLog
r105590 r105604 1 2012-01-22 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 Update the include for the AccessibilityObject wrapper header. 9 10 * WebCoreSupport/DumpRenderTreeSupportGtk.cpp: Update include. 11 * webkit/webkitwebframe.cpp: Ditto. 12 1 13 2012-01-22 Mario Sanchez Prada <msanchez@igalia.com> 2 14 -
trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp
r104591 r105604 26 26 #include "AXObjectCache.h" 27 27 #include "AccessibilityObject.h" 28 #include "AccessibilityObjectWrapperAtk.h"29 28 #include "AnimationController.h" 30 29 #include "DOMWrapperWorld.h" … … 61 60 #include "Settings.h" 62 61 #include "TextIterator.h" 62 #include "WebKitAccessibleWrapperAtk.h" 63 63 #include "WebKitDOMRangePrivate.h" 64 64 #include "WorkerThread.h" -
trunk/Source/WebKit/gtk/webkit/webkitwebframe.cpp
r102627 r105604 29 29 30 30 #include "AXObjectCache.h" 31 #include "AccessibilityObjectWrapperAtk.h"32 31 #include "AnimationController.h" 33 32 #include "DOMObjectCache.h" … … 56 55 #include "SubstituteData.h" 57 56 #include "TextIterator.h" 57 #include "WebKitAccessibleWrapperAtk.h" 58 58 #include "markup.h" 59 59 #include "webkit/WebKitDOMRangePrivate.h"
Note: See TracChangeset
for help on using the changeset viewer.