Created attachment 448180 [details] Minimum reproducible example of the issue On a page with multiple input elements that have colored text-decoration, and the color changes on focus: - The text-decoration color doesn't change back to the non-focused style when blurring one input and focusing another, leading to a "stuck" effect. - This issue only occurs when `outline: none;` is specified in the input styles. Steps to reproduce: - Download and open reduction.html (attached) - Tap/click on one input - Tap/click on a different input Observe how the first-focused input keeps the red underline, despite the focus shifting away. The expected result is for only one input to ever have a red underline, as the CSS specifies.
we are mostly likely missing a repaint when it's a text-decoration-color change only. We trigger repaint when input:focus { text-decoration-color: red; color: green; }
<rdar://problem/87145636>
Created attachment 448416 [details] Patch
Created attachment 448419 [details] Patch
Created attachment 448421 [details] Patch
Comment on attachment 448421 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=448421&action=review > LayoutTests/fast/forms/dynamic-text-decoration-change.html:26 > + result.textContent = internals.repaintRectsAsText().length ? "PASS" : "FAIL -no repaint happened"; Would it be better to dump the rects so that we detect if they change?
(In reply to Simon Fraser (smfr) from comment #6) > Comment on attachment 448421 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=448421&action=review > > > LayoutTests/fast/forms/dynamic-text-decoration-change.html:26 > > + result.textContent = internals.repaintRectsAsText().length ? "PASS" : "FAIL -no repaint happened"; > > Would it be better to dump the rects so that we detect if they change? I don't feel strongly about this but such rect changes (especially with a fix like this) in the past only implied rebaselineing and not actual bugs.
Committed r287674 (?): <https://commits.webkit.org/r287674> All reviewed patches have been landed. Closing bug and clearing flags on attachment 448421 [details].