Changeset 49775 in webkit


Ignore:
Timestamp:
Oct 19, 2009 4:58:38 AM (14 years ago)
Author:
eric@webkit.org
Message:

2009-10-19 Joanmarie Diggs <joanmarie.diggs@gmail.com>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=30489
[Gtk] The document frame/html container claims to be parentless

Work around for the parentless claim made by the accessible associated
with the embedded WebView. When we identify this condition, get the
widget's parent, and then get the AtkObject from that. Admittedly an ugly
hack, but we'll need it for Yelp and other Gtk+/GNOME applications which
plan to switch over to WebKit.

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

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r49774 r49775  
     12009-10-19  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
     2
     3        Reviewed by Xan Lopez.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=30489
     6        [Gtk] The document frame/html container claims to be parentless
     7
     8        Work around for the parentless claim made by the accessible associated
     9        with the embedded WebView. When we identify this condition, get the
     10        widget's parent, and then get the AtkObject from that. Admittedly an ugly
     11        hack, but we'll need it for Yelp and other Gtk+/GNOME applications which
     12        plan to switch over to WebKit.
     13
     14        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
     15        (webkit_accessible_get_parent):
     16
    1172009-10-19  Benjamin Otte  <otte@gnome.org>
    218
  • trunk/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp

    r49751 r49775  
    136136{
    137137    AccessibilityObject* coreParent = core(object)->parentObject();
     138
     139    // The top level web view claims to not have a parent. This makes it
     140    // impossible for assistive technologies to ascend the accessible
     141    // hierarchy all the way to the application. (Bug 30489)
     142    if (!coreParent && core(object)->isWebArea()) {
     143        HostWindow* hostWindow = core(object)->document()->view()->hostWindow();
     144        if (hostWindow) {
     145            PlatformPageClient webView = hostWindow->platformPageClient();
     146            if (webView) {
     147                GtkWidget* webViewParent = gtk_widget_get_parent(webView);
     148                if (webViewParent)
     149                    return gtk_widget_get_accessible(webViewParent);
     150            }
     151        }
     152    }
    138153
    139154    if (!coreParent)
Note: See TracChangeset for help on using the changeset viewer.