Changeset 105722 in webkit


Ignore:
Timestamp:
Jan 24, 2012 3:47:51 AM (12 years ago)
Author:
mario@webkit.org
Message:

[GTK] Refactor GTK's accessibilitity code to be more modular
https://bugs.webkit.org/show_bug.cgi?id=76783

Reviewed by Martin Robinson.

New files for the implementation of the AtkEditableText interface,
containing the related code from WebKitAccessibleWrapperAtk.cpp.

  • accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp: Added.

(core):
(webkitAccessibleEditableTextInterfaceInit):
(webkitAccessibleEditableTextSetRunAttributes):
(webkitAccessibleEditableTextSetTextContents):
(webkitAccessibleEditableTextInsertText):
(webkitAccessibleEditableTextCopyText):
(webkitAccessibleEditableTextCutText):
(webkitAccessibleEditableTextDeleteText):
(webkitAccessibleEditableTextPasteText):

  • accessibility/gtk/WebKitAccessibleInterfaceEditableText.h: Added.
  • accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code

related to the implementation of the AtkEditableText interface.

Add new files to build files.

  • GNUmakefile.list.am: Add WebKitAccessibleInterfaceEditableText.[h|cpp].
  • WebCore.gypi: Ditto.
Location:
trunk/Source/WebCore
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r105721 r105722  
     12012-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
    1302012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
    231
  • trunk/Source/WebCore/GNUmakefile.list.am

    r105721 r105722  
    44284428        Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp \
    44294429        Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceDocument.h \
     4430        Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp \
     4431        Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceEditableText.h \
    44304432        Source/WebCore/accessibility/gtk/WebKitAccessibleUtil.cpp \
    44314433        Source/WebCore/accessibility/gtk/WebKitAccessibleUtil.h \
  • trunk/Source/WebCore/WebCore.gypi

    r105721 r105722  
    13521352            'accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp',
    13531353            'accessibility/gtk/WebKitAccessibleInterfaceDocument.h',
     1354            'accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp',
     1355            'accessibility/gtk/WebKitAccessibleInterfaceEditableText.h',
    13541356            'accessibility/gtk/WebKitAccessibleUtil.cpp',
    13551357            'accessibility/gtk/WebKitAccessibleUtil.h',
  • trunk/Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp

    r105721 r105722  
    6767#include "WebKitAccessibleInterfaceComponent.h"
    6868#include "WebKitAccessibleInterfaceDocument.h"
     69#include "WebKitAccessibleInterfaceEditableText.h"
    6970#include "WebKitAccessibleUtil.h"
    7071#include "htmlediting.h"
     
    119120
    120121static AccessibilityObject* core(AtkText* text)
    121 {
    122     return core(ATK_OBJECT(text));
    123 }
    124 
    125 static AccessibilityObject* core(AtkEditableText* text)
    126122{
    127123    return core(ATK_OBJECT(text));
     
    18471843}
    18481844
    1849 // EditableText
    1850 
    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 WebCore
    1869     // 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 WebCore
    1897     // 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 
    19251845// Image
    19261846
     
    22962216    {(GInterfaceInitFunc)atk_selection_interface_init,
    22972217     (GInterfaceFinalizeFunc) 0, 0},
    2298     {(GInterfaceInitFunc)atk_editable_text_interface_init,
    2299      (GInterfaceFinalizeFunc) 0, 0},
     2218    {reinterpret_cast<GInterfaceInitFunc>(webkitAccessibleEditableTextInterfaceInit), 0, 0},
    23002219    {(GInterfaceInitFunc)atk_text_interface_init,
    23012220     (GInterfaceFinalizeFunc) 0, 0},
Note: See TracChangeset for help on using the changeset viewer.