WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
103067
Keyboard caret movement in textarea with RTL Override Character can make tab unresponsive
https://bugs.webkit.org/show_bug.cgi?id=103067
Summary
Keyboard caret movement in textarea with RTL Override Character can make tab ...
Yair Yogev
Reported
2012-11-22 06:43:28 PST
Steps to repro: 1. Copy that 7th line from the source code of
http://xkcd.com/1137/
(
view-source:http://xkcd.com/1137/
from chrome) 2. Type a line of text in the comments textarea in this very page, for example type "one two three" and press enter. 3. Paste that 7th line you copied before (it should appear in the beginning of the second line) 4. Use your mouse to select the "<title>xkcd: " prefix of that line you pasted and press the Delete key. 5. Now press Left 6. The tab is now unresponsive. 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 and also using Windows Safari 5.1.7 (7534.57.2) with
r131444
WebKit
Attachments
testcase
(388 bytes, text/html)
2012-11-22 07:24 PST
,
Yair Yogev
no flags
Details
first try
(4.16 KB, patch)
2012-12-05 11:25 PST
,
Yi Shen
rniwa
: review-
rniwa
: commit-queue-
Details
Formatted Diff
Diff
updated base on Niwa's review
(5.26 KB, patch)
2012-12-05 14:05 PST
,
Yi Shen
rniwa
: review+
rniwa
: commit-queue-
Details
Formatted Diff
Diff
fix test
(5.02 KB, patch)
2012-12-10 15:02 PST
,
Yi Shen
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Jeremy Moskovich
Comment 1
2012-11-22 06:56:45 PST
Able to reproduce on the following browsers: * Chrome 25.0.1323.0 on OS X * Safari 6.0.2 on OS X Just to clarify step #4 - to select, click on the left side of the first line and drag all the way past the line to the right. "<title>xkcd: " will be selected.
Yair Yogev
Comment 2
2012-11-22 07:24:37 PST
Created
attachment 175672
[details]
testcase
Yi Shen
Comment 3
2012-12-04 14:29:16 PST
Is anyone working on this issue? If not, I will work on it.
Ryosuke Niwa
Comment 4
2012-12-04 16:02:27 PST
Go for it!
Yi Shen
Comment 5
2012-12-05 11:25:49 PST
Created
attachment 177801
[details]
first try A quick fix for this crash issue.
Ryosuke Niwa
Comment 6
2012-12-05 11:54:07 PST
Comment on
attachment 177801
[details]
first try View in context:
https://bugs.webkit.org/attachment.cgi?id=177801&action=review
> Source/WebCore/editing/VisiblePosition.cpp:149 > InlineBox* prevBox = box->prevLeafChild(); > - if (!prevBox) { > + if (!prevBox || prevBox->isLineBreak()) {
I think what you want to do here is to call prevLeafChildIgnoringLineBreak() in the previous line. Also, you probably need to do the same thing in leftVisuallyDistinctCandidate.
Ryosuke Niwa
Comment 7
2012-12-05 11:54:29 PST
Comment on
attachment 177801
[details]
first try r- because it’s missing a fix in leftVisuallyDistinctCandidate.
Yair Yogev
Comment 8
2012-12-05 12:10:37 PST
did you mean rightVisuallyDistinctCandidate ?
Ryosuke Niwa
Comment 9
2012-12-05 12:11:14 PST
(In reply to
comment #8
)
> did you mean rightVisuallyDistinctCandidate ?
Oops, yeah, that’s what I meant.
Yi Shen
Comment 10
2012-12-05 14:05:13 PST
Created
attachment 177825
[details]
updated base on Niwa's review Thanks for the review, niwa :)
Ryosuke Niwa
Comment 11
2012-12-07 14:14:23 PST
Comment on
attachment 177825
[details]
updated base on Niwa's review View in context:
https://bugs.webkit.org/attachment.cgi?id=177825&action=review
> Source/WebCore/editing/VisiblePosition.cpp:148 > - InlineBox* prevBox = box->prevLeafChild(); > + InlineBox* prevBox = box->prevLeafChildIgnoringLineBreak();
Looks much better!
> LayoutTests/editing/selection/move-by-character-crash-test-textarea.html:11 > + var test = document.getElementById("test_move_by_character");
Please use camelCase.
Yi Shen
Comment 12
2012-12-10 15:02:57 PST
Created
attachment 178641
[details]
fix test
WebKit Review Bot
Comment 13
2012-12-10 15:04:27 PST
Comment on
attachment 178641
[details]
fix test Rejecting
attachment 178641
[details]
from commit-queue.
max.hong.shen@gmail.com
does not have committer permissions according to
http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py
. - If you do not have committer rights please read
http://webkit.org/coding/contributing.html
for instructions on how to use bugzilla flags. - If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed). The commit-queue restarts itself every 2 hours. After restart the commit-queue will correctly respect your committer rights.
WebKit Review Bot
Comment 14
2012-12-10 15:31:36 PST
Comment on
attachment 178641
[details]
fix test Clearing flags on attachment: 178641 Committed
r137213
: <
http://trac.webkit.org/changeset/137213
>
WebKit Review Bot
Comment 15
2012-12-10 15:31:40 PST
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug