RESOLVED FIXED Bug 40009
[Gtk] Make DRT more coherent with other ports to allow reusing more tests
https://bugs.webkit.org/show_bug.cgi?id=40009
Summary [Gtk] Make DRT more coherent with other ports to allow reusing more tests
Mario Sanchez Prada
Reported 2010-06-01 10:48:09 PDT
I recently found there are some differences between different versions of the DRT (in special between Mac and GTK versions) that makes cumbersome at some points to share some tests and their expected results, as is the case for instance of the accessibility/aria-checkbox-text.html test. In this specific case, the test expects that the output of getting the accessible title for some checkboxes follows a pattern like "AXTitle: MyTitle", where "AXTitle: " is a prefix Mac's DRT adds to "MyName", which is meant to be the accessible title for a given object. However, GTK's DRT would return just "MyTitle" (without the prefix) which makes that the aria-checkbox-text.html test can not be reused even if we had a specific aria-checkbox-text-expected.txt file under platform/gtk/accessibility. So, to avoid this my proposal would be to make sure GTK's DRT behaves exactly the same way than Mac's DRT when it comes to adding these kind of prefix to certain accessible attributes (which so far would be role, subrole, roledescription, title, description, language and helptext) and fix the affected tests currently under platform/gtk/accessibility to take into account this new way of naming those attributes' values in DRT. This should help fixing bug 39997, as well as to ease the implementation of new tests in the future.
Attachments
Patch proposal (19.36 KB, patch)
2010-06-01 11:08 PDT, Mario Sanchez Prada
no flags
Mario Sanchez Prada
Comment 1 2010-06-01 11:08:26 PDT
Created attachment 57569 [details] Patch proposal This patch makes sure the role(), title() and description() functions in GTK's DRT (the only ones implemented so far from those affected by this bug) return their values with a proper prefix, as stated above. It's partially inspired in the first version of the first patch for bug 39997 which, after filing this new one, became dependant on it.
Martin Robinson
Comment 2 2010-06-01 11:53:11 PDT
Comment on attachment 57569 [details] Patch proposal I like this approach a lot better! > - return JSStringCreateWithUTF8CString(atk_role_get_name(role)); > + const gchar* roleName = atk_role_get_name(role); > + GOwnPtr<gchar> axRole(g_strdup_printf("AXRole: %s", roleName)); > + > + return JSStringCreateWithUTF8CString(axRole.get()); > } Only one small nit. You don't need roleName here. You can simply use atk_role_get_name(...) in g_strdup_printf.
Mario Sanchez Prada
Comment 3 2010-06-01 14:28:13 PDT
(In reply to comment #2) > (From update of attachment 57569 [details]) > I like this approach a lot better! > > > - return JSStringCreateWithUTF8CString(atk_role_get_name(role)); > > + const gchar* roleName = atk_role_get_name(role); > > + GOwnPtr<gchar> axRole(g_strdup_printf("AXRole: %s", roleName)); > > + > > + return JSStringCreateWithUTF8CString(axRole.get()); > > } > > Only one small nit. You don't need roleName here. You can simply > use atk_role_get_name(...) in g_strdup_printf. Yeah, I know. Just did it that way to avoid having a too long line. But I can make the change if that fits better in WebKit codebase, no problem.
Xan Lopez
Comment 4 2010-06-29 04:56:56 PDT
Comment on attachment 57569 [details] Patch proposal Looks good.
WebKit Commit Bot
Comment 5 2010-06-29 06:28:07 PDT
Comment on attachment 57569 [details] Patch proposal Clearing flags on attachment: 57569 Committed r62111: <http://trac.webkit.org/changeset/62111>
WebKit Commit Bot
Comment 6 2010-06-29 06:28:11 PDT
All reviewed patches have been landed. Closing bug.
WebKit Review Bot
Comment 7 2010-06-29 06:47:24 PDT
http://trac.webkit.org/changeset/62111 might have broken GTK Linux 32-bit Release
Mario Sanchez Prada
Comment 8 2010-06-29 09:26:34 PDT
(In reply to comment #7) > http://trac.webkit.org/changeset/62111 might have broken GTK Linux 32-bit Release Filed a new bug to fix this small issue, which happened due to being working in paralell in this bug and bug 36128, basically (a new test added along with bug 36128 needs updating according to this one): https://bugs.webkit.org/show_bug.cgi?id=41355
Note You need to log in before you can comment on or make changes to this bug.