Closed Bug 1121335 Opened 9 years ago Closed 9 years ago

[Text Selection] Caret can't be dragged freely in email compose view

Categories

(Core :: DOM: Selection, defect, P2)

x86_64
Linux
defect

Tracking

()

VERIFIED FIXED
mozilla38
blocking-b2g 2.2+
Tracking Status
firefox36 --- wontfix
firefox37 --- wontfix
firefox38 --- fixed
b2g-v2.2 --- verified
b2g-master --- verified

People

(Reporter: twen, Assigned: pchang)

References

()

Details

Attachments

(2 files, 3 obsolete files)

### STR
0. Prerequisite: Set up an email account.
1. Open email app.
2. Tap pencil icon to compose a new email.
3. Enter some message with four lines of text. 
4. Long press on the message to bring out copy/paste selection menu.
5. Tap select all.
6. Drag right caret to the previous line.
 

### Actual
Right caret will not move past the beginning of the last line

### Expected
Right caret can be dragged to the previous line

### Version
Gaia-Rev        7c5b27cad370db377b18a742d3f3fdb0070e899f
Gecko-Rev       https://hg.mozilla.org/mozilla-central/rev/f5947d58ab02
Build-ID        20150112160202
Version         38.0a1
Device-Name     flame
FW-Release      4.4.2
FW-Incremental  65
FW-Date         Mon Dec 15 18:51:29 CST 2014
Bootloader      L1TC000118D0
blocking-b2g: --- → 2.2?
QA Whiteboard: [textselection]
This is related to the selection range issue. Assign to myself.
Assignee: nobody → pchang
blocking-b2g: 2.2? → 2.2+
Priority: -- → P2
I found this issue was caused by two problems, listed in the following.

a. Email app assigns -moz-user-selection:none for all elements by default, and change to -moz-user-select:text if the element is content editable. Under this configuration, the <br> becomes unselectable. Therefore, it introduces multiple selection ranges in compose view if users input text as multiple lines. It causes some trobule during the multiple lines copying because the <br> is not selectable.

b. When multiple select ranges happen, there exists wrong selection range input for checking the valid selection drag in [1]


[1]https://dxr.mozilla.org/mozilla-central/source/layout/base/SelectionCarets.cpp?from=SelectionCarets.cpp&case=true#
Update the URL which can reproduce this issue in browser.
Attachment #8550209 - Flags: review?(roc)
Attachment #8551083 - Flags: review?(roc)
Attachment #8551083 - Flags: feedback?(mtseng)
Attachment #8551083 - Flags: feedback?(mtseng) → feedback+
Attachment #8550209 - Flags: approval-mozilla-b2g37?
Attachment #8551083 - Flags: approval-mozilla-b2g37?
Hi Peter,

the 2 patch failed to apply:

Which patches do you want to import? [Default is '1', use '1-2' for all] 2
adding 1121335 to series file
renamed 1121335 -> bug-1121335-test.patch
applying bug-1121335-test.patch
patching file layout/base/tests/marionette/test_selectioncarets.py
Hunk #2 FAILED at 33
Hunk #3 FAILED at 97
2 out of 4 hunks FAILED -- saving rejects to file layout/base/tests/marionette/test_selectioncarets.py.rej
patch failed, unable to continue (try -v)
patch failed, rejects left in working dir
errors during apply, please fix and refresh bug-1121335-test.patch

could you take a look thanks!
Flags: needinfo?(pchang)
Keywords: checkin-needed
NOTE: Please see https://wiki.mozilla.org/Release_Management/B2G_Landing to better understand the B2G approval process and landings.

[Approval Request Comment]
Bug caused by (feature/regressing bug #):
User impact if declined: The drag behavior in email compose view will have problem
Testing completed: Locally on dog-food device and add the test case to verify this patch
Risk to taking this patch (and alternatives if risky): low risk
String or UUID changes made by this patch: none
Attachment #8550209 - Attachment is obsolete: true
Attachment #8550209 - Flags: approval-mozilla-b2g37?
Flags: needinfo?(pchang)
Attachment #8553719 - Flags: review+
Attachment #8553719 - Flags: approval-mozilla-b2g37?
[Approval Request Comment]
Bug caused by (feature/regressing bug #):
User impact if declined: This is the test case for attachment 8551083 [details] [diff] [review]
Testing completed: Verify the test case passed in local
Risk to taking this patch (and alternatives if risky): no risk
String or UUID changes made by this patch: none
Attachment #8551083 - Attachment is obsolete: true
Attachment #8551083 - Flags: approval-mozilla-b2g37?
Attachment #8553722 - Flags: review+
Attachment #8553722 - Flags: feedback+
Attachment #8553722 - Flags: approval-mozilla-b2g37?
Keywords: checkin-needed
(In reply to Carsten Book [:Tomcat] from comment #7)
> Hi Peter,
> 
> the 2 patch failed to apply:
> 
> Which patches do you want to import? [Default is '1', use '1-2' for all] 2
> adding 1121335 to series file
> renamed 1121335 -> bug-1121335-test.patch
> applying bug-1121335-test.patch
> patching file layout/base/tests/marionette/test_selectioncarets.py
> Hunk #2 FAILED at 33
> Hunk #3 FAILED at 97
> 2 out of 4 hunks FAILED -- saving rejects to file
> layout/base/tests/marionette/test_selectioncarets.py.rej
> patch failed, unable to continue (try -v)
> patch failed, rejects left in working dir
> errors during apply, please fix and refresh bug-1121335-test.patch
> 
> could you take a look thanks!

 Carsten, I just update the patch again, please help to apply again. Thanks.
Fix the marionette fail because of test_selectioncarets.py merge conflict.
Attachment #8553722 - Attachment is obsolete: true
Attachment #8553722 - Flags: approval-mozilla-b2g37?
Attachment #8554351 - Flags: review+
Attachment #8554351 - Flags: feedback+
Local marionette was passed.
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/a763a5642590
https://hg.mozilla.org/mozilla-central/rev/5f52e0321f3c
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
Attachment #8553719 - Flags: approval-mozilla-b2g37? → approval-mozilla-b2g37+
Comment on attachment 8554351 [details] [diff] [review]
v3 Add the testing of selectioncarets drag with multiple selection ranges

Review of attachment 8554351 [details] [diff] [review]:
-----------------------------------------------------------------

[Approval Request Comment]
Bug caused by (feature/regressing bug #):
User impact if declined: This is the test case for attachment 8551083 [details] [diff] [review] [diff] [review]
Testing completed: Verify the test case passed in local
Risk to taking this patch (and alternatives if risky): no risk
String or UUID changes made by this patch: none
Attachment #8554351 - Flags: approval-mozilla-b2g37?
Attachment #8554351 - Flags: approval-mozilla-b2g37? → approval-mozilla-b2g37+
QA Whiteboard: [textselection] → [COM=Text Selection]
This issue is verified fixed on Flame 2.2 and 3.0. After tapping to select all text, user is able to move the right caret freely in email compose field.

The left caret, however, is difficult to get it to start moving, if user has edge gesture feature enabled (it is enabled by default), because the left caret is so close to the edge of the screen. It is irrelevant to this bug but I'm just putting what I observed here.

Device: Flame 3.0
BuildID: 20150511010202
Gaia: 6089234ace8b294a8feef064387604bae16254e3
Gecko: d8420a541d1c
Gonk: 040bb1e9ac8a5b6dd756fdd696aa37a8868b5c67
Version: 40.0a1 (3.0) 
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:40.0) Gecko/40.0 Firefox/40.0

Device: Flame 2.2
BuildID: 20150511002500
Gaia: 528ef60e7cda09ad43478065f5d33bda398fbeb7
Gecko: 8d04cc085cf5
Gonk: ab265fb203390c70b8f2a054f38cf4b2f2dad70a
Version: 37.0 (2.2) 
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
Status: RESOLVED → VERIFIED
QA Whiteboard: [COM=Text Selection] → [COM=Text Selection][QAnalyst-Triage?]
Flags: needinfo?(ktucker)
QA Whiteboard: [COM=Text Selection][QAnalyst-Triage?] → [COM=Text Selection][QAnalyst-Triage+]
Flags: needinfo?(ktucker)
You need to log in before you can comment on or make changes to this bug.