Created attachment 396709 [details]
Not for review
Created attachment 396840 [details]
Fixes the bug
Could you attach a simple test case, please (I can't tell from the test case which div is behaving correctly and which one is not)? I'd like to debug this a bit.
(In reply to zalan from comment #3)
> Could you attach a simple test case, please (I can't tell from the test case
> which div is behaving correctly and which one is not)? I'd like to debug
> this a bit.
Sure! There’s not much to the minimal repro case; it’s just an editable root with a line height larger than the font size.
E.g., data:text/html,<input style="line-height: 10em">
Both when the field is initially focused and when it has text, the caret height should be about the same as the font size. Currently, it is not (the height when the field is empty is the height of the field, and then it changes to be come ≈ font height + (line height / 2) once text is entered.
In my test case, all text fields except for id="vertical” exhibit the undesired behavior.
Created attachment 396847 [details]
Minimal repro case
It looks like the caret is not sitting on the baseline (initially).
Created attachment 396850 [details]
(In reply to zalan from comment #6)
> It looks like the caret is not sitting on the baseline (initially).
If it helps at all, we go through a different codepath (RenderBoxModelObject::localCaretRectForEmptyElement) when computing the caret rect in this case.
Comment on attachment 396850 [details]
Thanks for the review!
Committed r260367: <https://trac.webkit.org/changeset/260367>
All reviewed patches have been landed. Closing bug and clearing flags on attachment 396850 [details].