Changeset 79332 in webkit


Ignore:
Timestamp:
Feb 22, 2011 10:24:54 AM (13 years ago)
Author:
Philippe Normand
Message:

2011-02-22 Philippe Normand <pnormand@igalia.com>

Unreviewed, rolling out r79321.
http://trac.webkit.org/changeset/79321
https://bugs.webkit.org/show_bug.cgi?id=53146

Regresses fast/forms/listbox-typeahead-cyrillic.html and fast
/spatial-navigation/snav-single-select.html on GTK

  • platform/gtk/accessibility/combo-box-collapsed-selection-changed-expected.txt: Removed.
  • platform/gtk/accessibility/combo-box-collapsed-selection-changed.html: Removed.

2011-02-22 Philippe Normand <pnormand@igalia.com>

Unreviewed, rolling out r79321.
http://trac.webkit.org/changeset/79321
https://bugs.webkit.org/show_bug.cgi?id=53146

Regresses fast/forms/listbox-typeahead-cyrillic.html and fast
/spatial-navigation/snav-single-select.html on GTK

  • accessibility/gtk/AXObjectCacheAtk.cpp: (WebCore::notifyChildrenSelectionChange): (WebCore::AXObjectCache::postPlatformNotification):
Location:
trunk
Files:
2 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r79330 r79332  
     12011-02-22  Philippe Normand  <pnormand@igalia.com>
     2
     3        Unreviewed, rolling out r79321.
     4        http://trac.webkit.org/changeset/79321
     5        https://bugs.webkit.org/show_bug.cgi?id=53146
     6
     7        Regresses  fast/forms/listbox-typeahead-cyrillic.html and fast
     8        /spatial-navigation/snav-single-select.html on GTK
     9
     10        * platform/gtk/accessibility/combo-box-collapsed-selection-changed-expected.txt: Removed.
     11        * platform/gtk/accessibility/combo-box-collapsed-selection-changed.html: Removed.
     12
    1132011-02-02  Martin Robinson  <mrobinson@igalia.com>
    214
  • trunk/Source/WebCore/ChangeLog

    r79330 r79332  
     12011-02-22  Philippe Normand  <pnormand@igalia.com>
     2
     3        Unreviewed, rolling out r79321.
     4        http://trac.webkit.org/changeset/79321
     5        https://bugs.webkit.org/show_bug.cgi?id=53146
     6
     7        Regresses  fast/forms/listbox-typeahead-cyrillic.html and fast
     8        /spatial-navigation/snav-single-select.html on GTK
     9
     10        * accessibility/gtk/AXObjectCacheAtk.cpp:
     11        (WebCore::notifyChildrenSelectionChange):
     12        (WebCore::AXObjectCache::postPlatformNotification):
     13
    1142011-02-22  Ilya Tikhonovsky  <loislo@chromium.org>
    215
  • trunk/Source/WebCore/accessibility/gtk/AXObjectCacheAtk.cpp

    r79321 r79332  
    4343}
    4444
    45 static AccessibilityObject* getListObject(AccessibilityObject* object)
    46 {
    47     // Only list boxes and menu lists supported so far.
    48     if (!object->isListBox() && !object->isMenuList())
    49         return 0;
    50 
    51     // For list boxes the list object is just itself.
    52     if (object->isListBox())
    53         return object;
    54 
    55     // For menu lists we need to return the first accessible child,
    56     // with role MenuListPopupRole, since that's the one holding the list
    57     // of items with role MenuListOptionRole.
    58     AccessibilityObject::AccessibilityChildrenVector children = object->children();
    59     if (!children.size())
    60         return 0;
    61 
    62     AccessibilityObject* listObject = children.at(0).get();
    63     if (!listObject->isMenuListPopup())
    64         return 0;
    65 
    66     return listObject;
    67 }
    68 
    6945static void notifyChildrenSelectionChange(AccessibilityObject* object)
    7046{
     
    7450    static RefPtr<AccessibilityObject> oldFocusedObject = 0;
    7551
    76     // Only list boxes and menu lists supported so far.
    77     if (!object || !(object->isListBox() || object->isMenuList()))
     52    // Only list boxes supported so far.
     53    if (!object || !object->isListBox())
    7854        return;
    7955
     
    8258
    8359    // Find the item where the selection change was triggered from.
     60    AccessibilityObject::AccessibilityChildrenVector items = object->children();
    8461    SelectElement* select = toSelectElement(static_cast<Element*>(object->node()));
    8562    if (!select)
    8663        return;
    8764    int changedItemIndex = select->activeSelectionStartListIndex();
    88 
    89     AccessibilityObject* listObject = getListObject(object);
    90     if (!listObject)
    91         return;
    92 
    93     AccessibilityObject::AccessibilityChildrenVector items = listObject->children();
    9465    if (changedItemIndex < 0 || changedItemIndex >= static_cast<int>(items.size()))
    9566        return;
    9667    AccessibilityObject* item = items.at(changedItemIndex).get();
    9768
    98     // Ensure oldFocusedObject belongs to the same list object that
     69    // Ensure the oldFocusedObject belongs to the same document that
    9970    // the current item so further comparisons make sense. Otherwise,
    10071    // just reset oldFocusedObject so it won't be taken into account.
    101     if (item && oldFocusedObject && item->parentObject() != oldFocusedObject->parentObject())
     72    if (item && oldFocusedObject && item->document() != oldFocusedObject->document())
    10273        oldFocusedObject = 0;
    10374
     
    133104            return;
    134105        g_signal_emit_by_name(axObject, "state-change", "checked", coreObject->isChecked());
    135     } else if (notification == AXSelectedChildrenChanged || notification == AXMenuListValueChanged) {
    136         if (notification == AXMenuListValueChanged && coreObject->isMenuList()) {
    137             g_signal_emit_by_name(axObject, "focus-event", true);
    138             g_signal_emit_by_name(axObject, "state-change", "focused", true);
    139         }
     106    } else if (notification == AXMenuListValueChanged) {
     107        if (!coreObject->isMenuList())
     108            return;
     109        g_signal_emit_by_name(axObject, "focus-event", true);
     110        g_signal_emit_by_name(axObject, "state-change", "focused", true);
     111    } else if (notification == AXSelectedChildrenChanged)
    140112        notifyChildrenSelectionChange(coreObject);
    141     }
    142113}
    143114
Note: See TracChangeset for help on using the changeset viewer.