Bug 103072 - RTL/LTR Override Character can break caret movement/placement
Summary: RTL/LTR Override Character can break caret movement/placement
Status: UNCONFIRMED
Alias: None
Product: WebKit
Classification: Unclassified
Component: HTML Editing (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on: 105451
Blocks:
  Show dependency treegraph
 
Reported: 2012-11-22 08:12 PST by Yair Yogev
Modified: 2012-12-19 12:17 PST (History)
6 users (show)

See Also:


Attachments
testcase (437 bytes, text/html)
2012-11-22 08:12 PST, Yair Yogev
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yair Yogev 2012-11-22 08:12:28 PST
Created attachment 175680 [details]
testcase

Steps to repro:
1. Put the caret in the second (empty) line
2. Press the Left arrow key
- the caret will appear in the middle of the line instead of at the end of it. 
3. Try to place the caret in the second part of the line using the mouse
- that part of the line is not "clickable"

There is also the symmetric case using RTL textarea and LTR Override Character.

Tested using
Google Chrome    25.0.1323.1 (Official Build 167142) dev-m
OS    Windows XP
WebKit    537.19 (@134111)
JavaScript    V8 3.15.1.2
Comment 1 Yi Shen 2012-12-19 12:17:06 PST
This bug contains two issues - First. press the left arrow key from the second line move the caret to the middle of the line instead of the end of it. -- this problem is because webkit lacks of one-to-one correspondence between visual and logical character positions. 

The second issue is unable to place the caret in the RTL text in the first line by using mouse click -- I have created a separated bug 105451 and submit a patch for it.

(In reply to comment #0)
> Created an attachment (id=175680) [details]
> testcase
> 
> Steps to repro:
> 1. Put the caret in the second (empty) line
> 2. Press the Left arrow key
> - the caret will appear in the middle of the line instead of at the end of it. 
> 3. Try to place the caret in the second part of the line using the mouse
> - that part of the line is not "clickable"
> 
> There is also the symmetric case using RTL textarea and LTR Override Character.
> 
> Tested using
> Google Chrome    25.0.1323.1 (Official Build 167142) dev-m
> OS    Windows XP
> WebKit    537.19 (@134111)
> JavaScript    V8 3.15.1.2