GNOME Bugzilla – Bug 628410
Add support for object toolkits
Last modified: 2010-09-20 10:58:27 UTC
Some toolkits now expose the toolkit as an AtkObject Attribute. Doing so allows us to handle cases where multiple toolkits are in an application. For instance consider Epiphany: The application widgets are Gtk+. As a result, the default script (which fails back on the Gail toolkit) should be used when in menus, trying to read the status bar, etc. However, the content being displayed uses a different toolkit. If we fall back on Gail, we will do the wrong thing. :-( At the moment in Orca, we *always* get the toolkit by asking the accessible application for it. Thus in Epiphany the Gtk+ application reports Gail. If we first look for the AtkObject Attribute and use that toolkit if it is reported, we can handle each AtkObject correctly. focus_tracking_presenter.py will need to be modified to accomplish this.
Created attachment 169153 [details] [review] proposed fix This patch should do the trick. Given the nature/location of the change, it needs to be regression tested. I will do that now.
Passed all of the regression tests I was able to run. (OOo, gtk-demo, subset of the Firefox 4.0 tests). Plus some additional manual testing, including Firefox. I was not able to run the java tests because something isn't set up correctly with my java atk wrapper in Maverick. Thus even with Accerciser, the SwingSet2 demo causes CORBA errors to be spit up. Ale: I believe this patch is sound. And it's required in order for us to provide access to WebKitGtk content (Epiphany, Yelp 3.0, and -- I believe -- Gwibber) Therefore I'd like to commit this to master, *assuming you think it is sound to do so*. Please review and let me know. Thanks!
Review of attachment 169153 [details] [review]: Good for me.
Comment on attachment 169153 [details] [review] proposed fix (In reply to comment #3) > Review of attachment 169153 [details] [review]: > > Good for me. Thanks Ale! Committed to master. http://git.gnome.org/browse/orca/commit/?id=adacc221f267917f46d0c3dd82f258be99491248