Skip to content
  • mario@webkit.org's avatar
    [GTK] ATK text-caret-moved and text-selection-changed events not being emitted · d048f763
    mario@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=76069
    
    Reviewed by Martin Robinson.
    
    Source/WebCore:
    
    Fix bug introduced with patch for Bug 72830.
    
    * accessibility/AccessibilityObject.cpp:
    (WebCore::AccessibilityObject::isDescendantOfObject): New function,
    to check if an accessibility object is a descendant of other object.
    (WebCore::AccessibilityObject::isAncestorOfObject): New function,
    to check if an accessibility object is an ancestor of other object.
    * accessibility/AccessibilityObject.h:
    
    * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
    (webkit_accessible_text_get_caret_offset): Make sure to pass the
    right reference object to objectFocusedAndCaretOffsetUnignored.
    (objectFocusedAndCaretOffsetUnignored): Use positionBeforeNode
    instead of firstPositionInNode for calculating the begining of the
    range used to calculate the offsets. Ensure that the reference
    object is never a descendant of the actual object being returned.
    
    * editing/gtk/FrameSelectionGtk.cpp:
    (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
    Pass the right accessibility object associated with the current
    selection to objectFocusedAndCaretOffsetUnignored.
    
    Source/WebKit/gtk:
    
    Update caret browsing related unit tests to check emissions of
    'text-caret-moved' and 'text-selection-changed' signals.
    
    * tests/testatk.c:
    (textCaretMovedCallback): New callback for 'text-caret-moved'.
    (testWebkitAtkCaretOffsets): Check emissions of 'text-caret-moved'.
    (textSelectionChangedCallback): New callback for 'text-selection-changed'.
    (testWebkitAtkTextSelections): Check emissions of 'text-selection-changed'.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@105590 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    d048f763