GNOME Bugzilla – Bug 592634
The Gecko script's handling of caret navigation interferes when navigating editable messages in Thunderbird
Last modified: 2009-09-24 23:49:25 UTC
The Summary pretty much says it all. While working on bug 592053, I kept finding more and more minor -- but nonetheless present -- cases where we weren't handling things quite right in editable messages in Thunderbird. :-( The workaround of having the user turn off Orca's control of the caret with Orca+F12 for the most part solves the problem. However, what Orca says in response is not always correct because the Gecko script's say{Character,Word,Line} methods make corrections when we're at the very last character. If we adjust that, we speak the document frame's role when we shouldn't. Yadda, yadda, yadda....
Created attachment 141371 [details] [review] revision 1 This seems to address the bulk of the issues I have found. While the changes are not super dramatic, I feel that they are big enough to warrant waiting until after the 2.28 release with the aim of getting any kinks worked out for inclusion in 2.28.1.
*** Bug 592053 has been marked as a duplicate of this bug. ***
Comment on attachment 141371 [details] [review] revision 1 While this patch probably doesn't solve all issues, it does improve the situation, pylints, and passes all of our regression tests. Therefore, I've committed this patch to master -- and only master. We should consider for 2.28.1 pending testing.
Created attachment 142085 [details] [review] fix for an additional issue While working on revision 1, I found that when composing certain HTML messages, Control+End worked as expected, but then Up Arrow skipped over text. This patch fixes that. Pylinted and fully regression tested. Committed to master (only). Should be considered for 2.28.1 pending further testing.
Created attachment 142099 [details] [review] additional work This patch: * adds an additional efficiency tweak to the Gecko script's getBottomOfFile which also happens to handle the issue raised in bug 591860 (grinding to a halt when Control+End is pressed in Tbird). * corrects a problem where Control+End failed to move to the end of an editable HTML message if the caret happened to be in a table. * modifies the Tbird getBottomOfFile to truly move to the end of objects which are not of ROLE_DOCUMENT_FRAME in editable messages (as opposed to the last actual character). Pylinted, regression tested, functionally tested. Committed to master. Should be considered for inclusion in 2.28.1 pending further testing.
Given that these three patches address many problems which I found in Tbird's caret navigation, I'm going to close this bug as FIXED rather than allow it to turn into an uber-bug. Additional tbird caret navigation bugs should be filed as need be.
Now that code freeze is over, I've committed these fixes to the GNOME-2-28 branch for inclusion in 2.28.1