Changeset 50509 in webkit


Ignore:
Timestamp:
Nov 4, 2009 2:35:56 AM (14 years ago)
Author:
eric@webkit.org
Message:

2009-11-04 Joanmarie Diggs <joanmarie.diggs@gmail.com>

Reviewed by Jan Alonzo.

https://bugs.webkit.org/show_bug.cgi?id=31044
[Gtk] assertion when webkit_accessible_get_index_in_parent attempts to get parent of the web view

  • accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (atkParentOfWebView): (webkit_accessible_get_index_in_parent): (webkit_accessible_get_parent):
Location:
trunk/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r50508 r50509  
     12009-11-04  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
     2
     3        Reviewed by Jan Alonzo.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=31044
     6        [Gtk] assertion when webkit_accessible_get_index_in_parent attempts to get parent of the web view
     7
     8        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
     9        (atkParentOfWebView):
     10        (webkit_accessible_get_index_in_parent):
     11        (webkit_accessible_get_parent):
     12
    1132009-11-04  Dominik Röttsches  <dominik.roettsches@access-company.com>
    214
  • trunk/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp

    r50506 r50509  
    202202static gpointer webkit_accessible_parent_class = NULL;
    203203
    204 static AtkObject* webkit_accessible_get_parent(AtkObject* object)
     204static AtkObject* atkParentOfWebView(AtkObject* object)
    205205{
    206206    AccessibilityObject* coreParent = core(object)->parentObjectUnignored();
     
    222222
    223223    if (!coreParent)
    224         return NULL;
     224        return 0;
     225
     226    return coreParent->wrapper();
     227}
     228
     229static AtkObject* webkit_accessible_get_parent(AtkObject* object)
     230{
     231    AccessibilityObject* coreParent = core(object)->parentObjectUnignored();
     232    if (!coreParent && core(object)->isWebArea())
     233        return atkParentOfWebView(object);
     234
     235    if (!coreParent)
     236        return 0;
    225237
    226238    return coreParent->wrapper();
     
    256268    AccessibilityObject* parent = coreObject->parentObjectUnignored();
    257269
    258     g_return_val_if_fail(parent, 0);
     270    if (!parent && core(object)->isWebArea()) {
     271        AtkObject* atkParent = atkParentOfWebView(object);
     272        if (!atkParent)
     273            return -1;
     274
     275        unsigned count = atk_object_get_n_accessible_children(atkParent);
     276        for (unsigned i = 0; i < count; ++i) {
     277            AtkObject* child = atk_object_ref_accessible_child(atkParent, i);
     278            bool childIsObject = child == object;
     279            g_object_unref(child);
     280            if (childIsObject)
     281                return i;
     282        }
     283    }
    259284
    260285    AccessibilityObject::AccessibilityChildrenVector children = parent->children();
     
    265290    }
    266291
    267     return 0;
     292    return -1;
    268293}
    269294
Note: See TracChangeset for help on using the changeset viewer.