Closed
Bug 1258308
Opened 9 years ago
Closed 9 years ago
<textarea> displays caret on wrong line after selecting \n on the second line
Categories
(Core :: DOM: Selection, defect)
Core
DOM: Selection
Tracking
()
VERIFIED
FIXED
mozilla48
Tracking | Status | |
---|---|---|
firefox48 | --- | fixed |
People
(Reporter: arni2033, Assigned: MatsPalmgren_bugz)
References
(Blocks 1 open bug)
Details
Attachments
(3 files)
202 bytes,
text/html
|
Details | |
1.23 KB,
patch
|
ehsan.akhgari
:
review+
|
Details | Diff | Splinter Review |
7.88 KB,
patch
|
ehsan.akhgari
:
review+
|
Details | Diff | Splinter Review |
STR: 1. Open attached "testcase 1" 2. Click in the second line, press End to move cursor to the end of the line [you will get "asdf\nghjk[caret]\nzxcv" in textarea] 3. Press Shift+Right to select "\n" 4. Press Right key to move cursor to the end of text selection 5. Type "x" Result: After Step 4 cursor is displayed at the end of the 2nd line After Step 5 the typed letter ("x") appears in the beginning of the 3rd line Expectations: After Step 4 cursor should be displayed at the start of the 3rd line
>>> My Info: Win7_64, Nightly 48, 32bit, ID 20160320030409
Assignee | ||
Comment 3•9 years ago
|
||
Ah right, the fix in bug 1237236 is using GetPrimaryFrame so it only really works on the first line. We need to lookup the actual continuation that renders aParentNode/aOffset...
Component: Editor → Selection
Comment 4•9 years ago
|
||
(In reply to Mats Palmgren (:mats) from comment #3) > Ah right, the fix in bug 1237236 is using GetPrimaryFrame so it only really > works on the first line. We need to lookup the actual continuation that > renders aParentNode/aOffset... Can you rename this bug with the correct diagnosis? We've now got multiple bugs with similar symptoms in the name. Thanks!
Flags: needinfo?(mats)
Assignee | ||
Comment 5•9 years ago
|
||
This is just a variation that my fix in bug 1237236 didn't catch.
Assignee: nobody → mats
Severity: normal → minor
Flags: needinfo?(mats)
Summary: <textarea> displays caret on wrong line after selecting \n, and when I start typing, caret teleports to the next line [3/2] → <textarea> displays caret on wrong line after selecting \n on the second line
Assignee | ||
Comment 6•9 years ago
|
||
I guess we could skip the first do_QueryFrame now, but nsCaret::GetFrameAndOffset looks relatively expensive so it's probably worth avoid calling it unless we know we have a text frame.
Attachment #8733407 -
Flags: review?(ehsan)
Assignee | ||
Comment 7•9 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=0ddd899ef57e
Updated•9 years ago
|
Attachment #8733407 -
Flags: review?(ehsan) → review+
Comment 8•9 years ago
|
||
Comment on attachment 8733409 [details] [diff] [review] tests Review of attachment 8733409 [details] [diff] [review]: ----------------------------------------------------------------- ::: layout/base/tests/test_reftests_with_caret.html @@ +170,5 @@ > tests.push([ 'bug966992-1.html' , 'bug966992-1-ref.html' ]); > tests.push([ 'bug966992-2.html' , 'bug966992-2-ref.html' ]); > tests.push([ 'bug966992-3.html' , 'bug966992-3-ref.html' ]); > tests.push(function() {SpecialPowers.pushPrefEnv({'clear': [['layout.css.overflow-clip-box.enabled']]}, nextTest);}); > + tests.push([ 'bug1258308-1.html' , 'bug1258308-1-ref.html' ]); // it seems VK_END doesn't work on Android Hmm. bug664087-*.html seem to use this just fine. But this is fine if you want to land it as is.
Attachment #8733409 -
Flags: review+
Assignee | ||
Comment 9•9 years ago
|
||
Odd... the failures looked identical on OSX and Android -- after I changed VK_END to Accel+VK_RIGHT for OSX the test worked fine so I assumed it was the same problem on Android, only I couldn't figure out what key combo to use there... Anyway, I'll land it without Android testing for now. (and I added a "maybe?" to the test comment quoted above)
Comment 10•9 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/82c36cd54626 https://hg.mozilla.org/integration/mozilla-inbound/rev/99a181de0c57
Assignee | ||
Updated•9 years ago
|
Flags: in-testsuite+
Comment 11•9 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/82c36cd54626 https://hg.mozilla.org/mozilla-central/rev/99a181de0c57
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
Reporter | ||
Comment 12•9 years ago
|
||
STR in comment 0 is Fixed on: Win7_64, Nightly 48, 32bit, ID 20160324030447 But I still can reproduce the same issue if I select the last \n if it's the last symbol in textarea. I.e. if I press Shift+Right then Right in textarea "A\nB[caret]\n" I already filed that case as bug 1237286 (Or should I file a separate bug not involving Shift+Enter?)
Assignee | ||
Comment 13•9 years ago
|
||
It may be the same underlying bug as bug 1237286, but please file a separate bug just in case, with a testcase and STR. Mark it as blocking 1237286 to make a link between the two. Thanks for verifying these fixes on Windows.
You need to log in
before you can comment on or make changes to this bug.
Description
•