Each time I press tab, all lines of text on the screen are repainted. This is one of the core causes of bug 307545.
I guess this happens because of the fix for bug 151375. Since that bug got fixed, the appearance of a focus outline cause an incremental reflow.
Shouldn't we be able to do an incremental reflow and not repaint items that haven't changed?
testcase wfm Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8b5) Gecko/20050923 Firefox/1.4 ID:2005092307
(In reply to comment #4) > testcase wfm > Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8b5) Gecko/20050923 > Firefox/1.4 ID:2005092307 What did you test? You need to put in debugging statements to see how many lines are repainted with each focus move. It's not a readily apparent bug otherwise, unless you're running a screen reader or possibly on a lower-end machine.
Created attachment 197200 [details] Simple OSM torture testcase
Created attachment 197507 [details] [diff] [review] fix Try this. It seems to help a lot for me. On every focus change the ESM tells docshell the canvas no longer has focus. The docshell then invalidates the entire window. Instead we should only invalidate the window if the canvas previously had focus.
Re Comment 5 Apologies, I was looking for flickering whilst tabbing through the links on the testcase.
Comment on attachment 197507 [details] [diff] [review] fix This fixes most of the problem, which is good enough for Firefox 1.5. It's a simple fix. The only time it doesn't fix the problem is when tab is moving to or from the canvas frame, but that can get fixed in Firefox 2.0 with the ExtTextOut work.
Aaron, is there any way for our QA to easily verify this?
(In reply to comment #10) > Aaron, is there any way for our QA to easily verify this? Not an easy way without downloading a screen reader. I already verified it. Just have QA make sure it didn't break anything on trunk. However, I think we'll see that nothing has regressed in the next day or two.
The bug this really fixed is bug 307545. Although I have already verified that this fixes that, I can have IBM QA double verify this bug via bug 307545, since they already have Window-Eyes installed and are accustomed to screen reader testing.
Did this cause 311152?