In RTL, I think we should distribute odd caret widths more to the left than to the right, so that the caret doesn't overlap what is usually the just typed character. Also in RTL, we shouldn't make the caret stay in the root line box in auto wrap modes, it should just be kept inside the containing block (like we do in non wrapping modes before the text wraps). <rdar://problem/6804912>
(In reply to comment #0) > Also in RTL, we shouldn't make the caret stay in the root line box in auto wrap > modes, it should just be kept inside the containing block (like we do in non > wrapping modes before the text wraps). I don't understand why there needs to be a different rule for RTL.
>> Also in RTL, we shouldn't make the caret stay in the root line box in auto wrap >> modes, it should just be kept inside the containing block (like we do in non >> wrapping modes before the text wraps). > I don't understand why there needs to be a different rule for RTL. Sorry I was unclear. I only mean that right now, we don't bound carets in LTR text to their root line box in auto wrap, only in RTL, so the fix only needs to happen in the RTL case.
As for the caret width, I agree, but I think the definition of "in RTL" should not be too fine-grained: perhaps consider the block direction, but not individual text boxes'.
Going to hold off on the caretWidth distribution change for now, since we think it may make us deviate from AppKit.
Created attachment 29625 [details] patch
http://trac.webkit.org/changeset/42685
Oops! Made a big typo. Fixed it in http://trac.webkit.org/changeset/42686