Bug 8268 - REGRESSION (r13639): Caret leaves a small footprint in the focus ring as it moves
Summary: REGRESSION (r13639): Caret leaves a small footprint in the focus ring as it m...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 420+
Hardware: Mac OS X 10.4
: P1 Normal
Assignee: Nobody
URL:
Keywords: HasReduction, InRadar, Regression
Depends on:
Blocks:
 
Reported: 2006-04-08 15:46 PDT by Justin Garcia
Modified: 2007-12-07 11:26 PST (History)
6 users (show)

See Also:


Attachments
testcase (205 bytes, text/html)
2006-04-08 15:47 PDT, Justin Garcia
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Justin Garcia 2006-04-08 15:46:03 PDT
Attaching a testcase
Comment 1 Justin Garcia 2006-04-08 15:47:01 PDT
Created attachment 7586 [details]
testcase
Comment 2 Darin Adler 2006-04-08 17:04:27 PDT
Dave, this is what I was worried about re-introducing. I guess it happened!
Comment 3 Dave Hyatt 2006-04-10 11:10:58 PDT
I have a good way of fixing this that will handle overflow too (the old fix for this didn't).
Comment 4 Dave Hyatt 2006-04-10 13:38:40 PDT
The last outline-related checkin before revision 13639 is the one darin made to deal with textfield focus rings not matching.  My code had not yet landed, so this is not related to my coalesced update changes.
Comment 5 Darin Adler 2006-04-11 09:25:54 PDT
I've verified that the focus-ring drawing functions are called when the caret blinks, but nothing is being drawn. Continuing to investigate.
Comment 6 Darin Adler 2006-04-11 09:41:34 PDT
There's some kind of rounding problem here. Setting an outline-offset of either 1px or -1px makes the bug go away.
Comment 7 Alice Liu 2006-05-21 22:33:09 PDT
<rdar://problem/4556558>
Comment 8 Darin Adler 2007-01-29 09:09:08 PST
Waiting on a Core Graphics fix for focus ring drawing before revisiting this problem.
Comment 9 Antti Koivisto 2007-02-18 13:47:28 PST
It seems that if the clip overlaps inside edge of the focus ring exactly one pixel deep the focus ring does not get drawn. This particular bug can be easily worked around in repaintRectForCaret (in SelectionController.cpp) by doing caret.inflate(2) instead of inflate(1) or removing the inflate line. First option increases overlap and makes the focus ring paint correctly, second one removes overlap. That just hides the actual problem though.

I think this is most likely the same problem as bug 11965.
Comment 10 David Kilzer (:ddkilzer) 2007-12-05 08:44:51 PST
I can still reproduce this bug with the attached test case (Attachment #7586 [details]), but not with this test case:

data:text/html,<input type=text>

Comment 11 David Kilzer (:ddkilzer) 2007-12-05 08:45:27 PST
(In reply to comment #10)
> I can still reproduce this bug with the attached test case (Attachment #7586 [details] [edit]),
> but not with this test case:
> 
> data:text/html,<input type=text>

Using a local debug build of WebKit r28434 with Safari 3.0.4 (523.12) on Mac OS X 10.4.11 (8S165).

Comment 12 mitz 2007-12-07 11:26:35 PST
Fixed in <http://trac.webkit.org/projects/webkit/changeset/28523>.