GNOME Bugzilla – Bug 416857
Entering Firefox dialogs/panels interferes with caret position
Last modified: 2007-03-14 21:55:33 UTC
Steps to reproduce: 1. Launch Orca 2. Launch Firefox 3 3. Navigate to a page, then navigate within that page. 4. Get into the Open dialog (File->Open) then press Escape 5. Resume navigation in the page. Actual Results: Orca will start at the top of the page rather than resume at the location where the user had been prior to getting into the Open dialog. Expected Results: The caret position would not be affected as a result of getting into the Open dialog box. Other notes: This also happens when getting into and then out of the History panel (View->Sidebar->History)
Created attachment 84579 [details] [review] Patch to look at newLocusOfFocus instead of event.source in locusOfFocusChanged I think the Gecko.py:locusOfFocusChanged method might be erroneously looking at event.source instead of newLocusOfFocus. This patch seems to fix the problem. Joanie, can you please verify?
Created attachment 84581 [details] debug.out from using the patch This patch works, but we get an error: [...]
+ Trace 118592
caretOffset = newLocusOfFocus.caretOffset
return self.__dict__[attr]
Full debug.out attached.
Created attachment 84582 [details] [review] Patch to fix stupid mistake. Oops! I forgot to add the .text reference in.
Still works, but.... Traceback (most recent call last):
+ Trace 118599
return obj.characterOffsetInParent
Oh...that. I think it might be YAFFB. Here's the comment from the code: # If this is issued, something is broken in the AT-SPI # implementation. # debug.printException(debug.LEVEL_SEVERE) return -1 Rather than swallowing the garbage I think we might be getting from FF, I wanted to make sure I had something in there to remind us to spit it out and log a bug against them if we ran into this situation. (In reply to comment #4) > Still works, but.... > > Traceback (most recent call last): > File "/usr/lib/python2.5/site-packages/orca/Gecko.py", line 2068, in > getCharacterOffsetInParent > return obj.characterOffsetInParent > File "/usr/lib/python2.5/site-packages/orca/atspi.py", line 1348, in > __getattr__ > return self.__dict__[attr] > KeyError: 'characterOffsetInParent' >
I can no longer reproduce this problem. The patch works period. :-)
Thanks! Committed and closing as FIXED.