See attached testcase; the caret is not fully erased when blinking. Reproduces in Safari on Mountain Lion. I have a hunch that this is due to a combination of r139282 (confirmed by bisection) and subpixel layout (entirely speculative). <rdar://problem/13062683>
Created attachment 185375 [details] test
Created attachment 185376 [details] off caret
Created attachment 185377 [details] on caret
Also reproducing on Mac Chromium 25.0.1364.45, looks like cross-platform issue.
Confirmed on chromium-linux 25.0.1364.45 too. Looks like we still need the 1-pixel padding workaround. I'm uploading a patch now.
Created attachment 185414 [details] Patch
Don't have access to a Mac right now. Waiting for Mac EWS bot result to update TestExpectations.
Comment on attachment 185414 [details] Patch I'm surprised Mac EWS passed all the tests. Do they generate pixel results properly for repaint regions?
(In reply to comment #8) > (From update of attachment 185414 [details]) > I'm surprised Mac EWS passed all the tests. Do they generate pixel results properly for repaint regions? Mac EWS doesn't run pixel tests.
Got it. I'll run it on my Macbook then.
Created attachment 185442 [details] Patch
Comment on attachment 185442 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=185442&action=review > Source/WebCore/editing/FrameSelection.cpp:1330 > + // FIXME: Need to over-paint 1 pixel to workaround some rounding problem. s/some/a/ or s/problem/problems/. > Source/WebCore/editing/FrameSelection.cpp:1332 > + // Can't reproduce http://webkit.org/b/19086 but probably the same root cause. This line doesn't belong here.
Created attachment 185445 [details] Patch
Comment on attachment 185445 [details] Patch Clearing flags on attachment: 185445 Committed r141243: <http://trac.webkit.org/changeset/141243>
All reviewed patches have been landed. Closing bug.
Thanks for adding back that workaround, I'll try to figure out why we get the repaint rect wrong for the caret when I get a chance. We had similar problems in chromium when we first turned on subpixel layout.