Changeset 105722 in webkit
- Timestamp:
- Jan 24, 2012 3:47:51 AM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r105721 r105722 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 New files for the implementation of the AtkEditableText interface, 9 containing the related code from WebKitAccessibleWrapperAtk.cpp. 10 11 * accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp: Added. 12 (core): 13 (webkitAccessibleEditableTextInterfaceInit): 14 (webkitAccessibleEditableTextSetRunAttributes): 15 (webkitAccessibleEditableTextSetTextContents): 16 (webkitAccessibleEditableTextInsertText): 17 (webkitAccessibleEditableTextCopyText): 18 (webkitAccessibleEditableTextCutText): 19 (webkitAccessibleEditableTextDeleteText): 20 (webkitAccessibleEditableTextPasteText): 21 * accessibility/gtk/WebKitAccessibleInterfaceEditableText.h: Added. 22 * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code 23 related to the implementation of the AtkEditableText interface. 24 25 Add new files to build files. 26 27 * GNUmakefile.list.am: Add WebKitAccessibleInterfaceEditableText.[h|cpp]. 28 * WebCore.gypi: Ditto. 29 1 30 2012-01-24 Mario Sanchez Prada <msanchez@igalia.com> 2 31 -
trunk/Source/WebCore/GNUmakefile.list.am
r105721 r105722 4428 4428 Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp \ 4429 4429 Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceDocument.h \ 4430 Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp \ 4431 Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceEditableText.h \ 4430 4432 Source/WebCore/accessibility/gtk/WebKitAccessibleUtil.cpp \ 4431 4433 Source/WebCore/accessibility/gtk/WebKitAccessibleUtil.h \ -
trunk/Source/WebCore/WebCore.gypi
r105721 r105722 1352 1352 'accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp', 1353 1353 'accessibility/gtk/WebKitAccessibleInterfaceDocument.h', 1354 'accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp', 1355 'accessibility/gtk/WebKitAccessibleInterfaceEditableText.h', 1354 1356 'accessibility/gtk/WebKitAccessibleUtil.cpp', 1355 1357 'accessibility/gtk/WebKitAccessibleUtil.h', -
trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp
r105721 r105722 67 67 #include "WebKitAccessibleInterfaceComponent.h" 68 68 #include "WebKitAccessibleInterfaceDocument.h" 69 #include "WebKitAccessibleInterfaceEditableText.h" 69 70 #include "WebKitAccessibleUtil.h" 70 71 #include "htmlediting.h" … … 119 120 120 121 static AccessibilityObject* core(AtkText* text) 121 {122 return core(ATK_OBJECT(text));123 }124 125 static AccessibilityObject* core(AtkEditableText* text)126 122 { 127 123 return core(ATK_OBJECT(text)); … … 1847 1843 } 1848 1844 1849 // EditableText1850 1851 static gboolean webkit_accessible_editable_text_set_run_attributes(AtkEditableText* text, AtkAttributeSet* attrib_set, gint start_offset, gint end_offset)1852 {1853 notImplemented();1854 return FALSE;1855 }1856 1857 static void webkit_accessible_editable_text_set_text_contents(AtkEditableText* text, const gchar* string)1858 {1859 // FIXME: string nullcheck?1860 core(text)->setValue(String::fromUTF8(string));1861 }1862 1863 static void webkit_accessible_editable_text_insert_text(AtkEditableText* text, const gchar* string, gint length, gint* position)1864 {1865 // FIXME: string nullcheck?1866 1867 AccessibilityObject* coreObject = core(text);1868 // FIXME: Not implemented in WebCore1869 // coreObject->setSelectedTextRange(PlainTextRange(*position, 0));1870 // coreObject->setSelectedText(String::fromUTF8(string));1871 1872 Document* document = coreObject->document();1873 if (!document || !document->frame())1874 return;1875 1876 coreObject->setSelectedVisiblePositionRange(coreObject->visiblePositionRangeForRange(PlainTextRange(*position, 0)));1877 coreObject->setFocused(true);1878 // FIXME: We should set position to the actual inserted text length, which may be less than that requested.1879 if (document->frame()->editor()->insertTextWithoutSendingTextEvent(String::fromUTF8(string), false, 0))1880 *position += length;1881 }1882 1883 static void webkit_accessible_editable_text_copy_text(AtkEditableText* text, gint start_pos, gint end_pos)1884 {1885 notImplemented();1886 }1887 1888 static void webkit_accessible_editable_text_cut_text(AtkEditableText* text, gint start_pos, gint end_pos)1889 {1890 notImplemented();1891 }1892 1893 static void webkit_accessible_editable_text_delete_text(AtkEditableText* text, gint start_pos, gint end_pos)1894 {1895 AccessibilityObject* coreObject = core(text);1896 // FIXME: Not implemented in WebCore1897 // coreObject->setSelectedTextRange(PlainTextRange(start_pos, end_pos - start_pos));1898 // coreObject->setSelectedText(String());1899 1900 Document* document = coreObject->document();1901 if (!document || !document->frame())1902 return;1903 1904 coreObject->setSelectedVisiblePositionRange(coreObject->visiblePositionRangeForRange(PlainTextRange(start_pos, end_pos - start_pos)));1905 coreObject->setFocused(true);1906 document->frame()->editor()->performDelete();1907 }1908 1909 static void webkit_accessible_editable_text_paste_text(AtkEditableText* text, gint position)1910 {1911 notImplemented();1912 }1913 1914 static void atk_editable_text_interface_init(AtkEditableTextIface* iface)1915 {1916 iface->set_run_attributes = webkit_accessible_editable_text_set_run_attributes;1917 iface->set_text_contents = webkit_accessible_editable_text_set_text_contents;1918 iface->insert_text = webkit_accessible_editable_text_insert_text;1919 iface->copy_text = webkit_accessible_editable_text_copy_text;1920 iface->cut_text = webkit_accessible_editable_text_cut_text;1921 iface->delete_text = webkit_accessible_editable_text_delete_text;1922 iface->paste_text = webkit_accessible_editable_text_paste_text;1923 }1924 1925 1845 // Image 1926 1846 … … 2296 2216 {(GInterfaceInitFunc)atk_selection_interface_init, 2297 2217 (GInterfaceFinalizeFunc) 0, 0}, 2298 {(GInterfaceInitFunc)atk_editable_text_interface_init, 2299 (GInterfaceFinalizeFunc) 0, 0}, 2218 {reinterpret_cast<GInterfaceInitFunc>(webkitAccessibleEditableTextInterfaceInit), 0, 0}, 2300 2219 {(GInterfaceInitFunc)atk_text_interface_init, 2301 2220 (GInterfaceFinalizeFunc) 0, 0},
Note: See TracChangeset
for help on using the changeset viewer.