2009-07-02 Xan Lopez <xlopez@igalia.com>
authorxan@webkit.org <xan@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 3 Jul 2009 14:08:22 +0000 (14:08 +0000)
committerxan@webkit.org <xan@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 3 Jul 2009 14:08:22 +0000 (14:08 +0000)
        Reviewed by Jan Alonzo.

        https://bugs.webkit.org/show_bug.cgi?id=26815
        [Gtk] text-selection-changed events are not issued for the correct
        object when the selection spans multiple objects

        Get the focused node from the end of the selection, not the start,
        so we can detect when we cross object boundaries.

        * editing/gtk/SelectionControllerGtk.cpp:
        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@45534 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/editing/gtk/SelectionControllerGtk.cpp

index acf1c2ee4cc91326f5eb2c5532cc7bef0702a95a..ec386c3499254395d5d64fef8f79030b0aaae27d 100644 (file)
@@ -1,3 +1,17 @@
+2009-07-02  Xan Lopez  <xlopez@igalia.com>
+
+        Reviewed by Jan Alonzo.
+
+        https://bugs.webkit.org/show_bug.cgi?id=26815
+        [Gtk] text-selection-changed events are not issued for the correct
+        object when the selection spans multiple objects
+
+        Get the focused node from the end of the selection, not the start,
+        so we can detect when we cross object boundaries.
+
+        * editing/gtk/SelectionControllerGtk.cpp:
+        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
+
 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
 
         Reviewed by Simon Fraser.
index c21c45a54d88e980e3c484908143d581ec1bc0b0..e2eef27d492b632dedbf1d16eb477245c9e32e62 100644 (file)
@@ -30,7 +30,7 @@ namespace WebCore {
 void SelectionController::notifyAccessibilityForSelectionChange()
 {
     if (AXObjectCache::accessibilityEnabled() && m_sel.start().isNotNull() && m_sel.end().isNotNull()) {
-        RenderObject* focusedNode = m_sel.start().node()->renderer();
+        RenderObject* focusedNode = m_sel.end().node()->renderer();
         AccessibilityObject* accessibilityObject = m_frame->document()->axObjectCache()->getOrCreate(focusedNode);
         AtkObject* wrapper = accessibilityObject->wrapper();
         if (ATK_IS_TEXT(wrapper)) {