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
Created attachment 448416 [details]
Created attachment 448419 [details]
Created attachment 448421 [details]
Comment on attachment 448421 [details]
View in context: https://bugs.webkit.org/attachment.cgi?id=448421&action=review
> + 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]
> View in context:
> > 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].