Bug 3710

Summary: display a split caret when on boundary between LTR and RTL text
Product: WebKit Reporter: Darin Adler <darin>
Component: HTML EditingAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: emacemac7, enrica, fantasai.bugs, ian, mitz, playmobil, rniwa, tony, xji
Priority: P1 Keywords: InRadar, Regression
Version: 412   
Hardware: Mac   
OS: OS X 10.4   
Bug Depends on:    
Bug Blocks: 3729    
Attachments:
Description Flags
First cut at a fix; some wrong concepts, needs a lot of work none

Description Darin Adler 2005-06-25 12:14:13 PDT
Like other editing systems on Mac OS X, WebKit should display a split caret when on the boundary 
between a LTR and RTL run.

The high caret is the "primary caret" and corresponds to the place the caret would be for the base writing 
direction. The low caret is the "secondary caret" and corresponds to the place the caret would be for the 
other writing direction.
Comment 1 Darin Adler 2005-06-25 12:14:34 PDT
I've got a patch in the works that implements this.
Comment 2 Darin Adler 2005-06-25 12:44:21 PDT
Created attachment 2644 [details]
First cut at a fix; some wrong concepts, needs a lot of work
Comment 3 Darin Adler 2005-06-26 17:15:14 PDT
Bug 3729 talks about a related issue, making the right and left arrow keys do the right thing in RTL text.
Comment 4 mitz 2006-07-16 15:50:57 PDT
I started working on this bug and on bug 3729 (starting with the latter), ressurrecting bits from Darin's patch. I am changing inlineBox() so that for "primary" it will always return the box whose direction is the same as the base direction, for both edges. That seems to work well. I also think that as the "base direction" you should take the direction of the block, which is not necessarily the same as the RenderText's direction, but I still haven't changed that.
Comment 5 David Kilzer (:ddkilzer) 2007-03-24 04:42:05 PDT
Regressions are P1.

Comment 6 Darin Adler 2007-05-04 22:17:45 PDT
<rdar://problem/5183684>
Comment 7 Ryosuke Niwa 2011-03-07 17:03:47 PST
The bug the 22386 is Windows counterpart of this bug.