Closed
Bug 1243657
Opened 8 years ago
Closed 8 years ago
[IMM] When there is only composition string in editor, canceling the composition causes painting caret at odd position (right-most of the editor)
Categories
(Core :: Spelling checker, defect)
Tracking
()
RESOLVED
FIXED
mozilla47
People
(Reporter: alice0775, Assigned: masayuki)
References
()
Details
(Keywords: inputmethod, regression, reproducible)
Attachments
(2 files)
1.16 MB,
video/x-ms-wmv
|
Details | |
1.93 KB,
patch
|
ehsan.akhgari
:
review+
|
Details | Diff | Splinter Review |
The problem happens 1. Microsoft IME and Microsoft Office 2010 as well 2. TSF off 3. "半角英数" 入力モード 4. ESC key will move caret to the beginning of 1st line Steps To Reproduce: 1. Choose MS-IME for default IME 2-1. Open "Microsoft IMEのプロパティ" > "全般" 2-2. Choose "半角英数" of 初期入力モード 2-3. Switch tab "和英混在入力" 2-4. Turn on "英字をローマ字から漢字変換する(主に英語を入力する)" 2-5. OK 4. Start Firefox with TSF off 5. Open web page incl. input field. e.g. data:text/html,<input type="text"> 5. Forcus input field 6. Right click on the field. And Enable "Check Spelling" 7. IME on and Choose conversion mode to "半角英数(P)" 8. Type word and then [ESC] Actual Results: Caret jumps to the end of line Expected Results: Caret should be at the start of line Regression window: https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=13aa9ac1791e&tochange=4631a7474d8a Regressed by: Bug 1077345
Reporter | ||
Updated•8 years ago
|
OS: Windows → Windows 7
Assignee | ||
Comment 1•8 years ago
|
||
I don't understand the STR well. Could you exmplain about #8? I tried to type "abc" and then, type Escape key, then, the composition string is canceled normally.
Reporter | ||
Comment 2•8 years ago
|
||
(In reply to Masayuki Nakano [:masayuki] (Mozilla Japan) from comment #1) > I don't understand the STR well. Could you exmplain about #8? > > I tried to type "abc" and then, type Escape key, then, the composition > string is canceled normally. Yes, the composition string is canceled, but caret jump to the end
Reporter | ||
Comment 3•8 years ago
|
||
Reporter | ||
Comment 4•8 years ago
|
||
MS-IME2012 and Google日本語入力(2.17.2400.0) on Windows8.1(VM) is affected. MS-IME and Google日本語入力(2.17.2400.0) on Windows10 build11099(VM) is also affected.
Reporter | ||
Comment 5•8 years ago
|
||
Corrected. This occurs regardless of the IME input mode. Steps To Reproduce: 1. Start Firefox with TSF off 2. Open web page incl. input field. e.g. data:text/html,<input type="text"> 3. Forcus input field 4. Right click on the field. And Enable "Check Spelling" 5. IME on 6. Type abc and then [ESC]
Assignee | ||
Comment 6•8 years ago
|
||
I have another question, do you reproduce this with <textarea> or something contenteditable element? I mean, this might be a bug related to autocomplete.
Flags: needinfo?(alice0775)
Reporter | ||
Comment 7•8 years ago
|
||
I cannot reproduce with [1],[2]. [1] data:text/html,<div contenteditable style="border:1px solid red;height:100px"></div> [2] data:text/html,<textarea>
Flags: needinfo?(alice0775)
Reporter | ||
Comment 8•8 years ago
|
||
I will change the status to trivial, because there are no functioning problems except the caret position.
Severity: normal → trivial
Assignee | ||
Comment 9•8 years ago
|
||
Thank you very much. I can now reproduce this bug on both Win7 and Win10. But I'm still not sure what's the cause... (Why does this only occur with IMM???)
Assignee | ||
Updated•8 years ago
|
Assignee: nobody → masayuki
Status: NEW → ASSIGNED
Component: Widget: Win32 → Spelling checker
OS: Windows 7 → Windows
Hardware: Unspecified → All
Summary: [IMM32] ESC key will move caret to the end of line → [IMM] When there is only composition string in editor, canceling the composition causes painting caret at odd position (right-most of the editor)
Assignee | ||
Comment 10•8 years ago
|
||
This is a bug of spell checker. mozInlineSpellStatus::InitForEditorChange() may be called with removed text node. This may occur at deleteSelection or insertIMEText. For the former, the method handles correctly. However, it doesn't assume insertIMEText deletes text node. If there is no text except composition string, canceling the composition may cause removing the text node. Then, |mAnchorRange->ComparePoint(aPreviousNode, aPreviousOffset, &cmpResult)| fails and failing InitForEditorChange() causes skipping CreateBogusNodeIfNeeded(), CreateTrailingBRIfNeeded() and CollapseSelectionToTrailingBRIfNeeded() in nsTextEditRules::AfterEdit(). This is the cause of odd caret position. Although, I'm not sure if this bug isn't reproducible in TSF mode...
Attachment #8713467 -
Flags: review?(ehsan)
Comment 11•8 years ago
|
||
Comment on attachment 8713467 [details] [diff] [review] spellchecker should check if IME composition works as deleting whole text Review of attachment 8713467 [details] [diff] [review]: ----------------------------------------------------------------- Thanks! Is it possible to add a test for this?
Attachment #8713467 -
Flags: review?(ehsan) → review+
Assignee | ||
Comment 12•8 years ago
|
||
(In reply to :Ehsan Akhgari from comment #11) > Thanks! Is it possible to add a test for this? Maybe, maybe not, because I don't understand the cause completely since this won't be reproduced with TSF mode... Anyway, I'll try to do it later when I have much time.
Assignee | ||
Comment 13•8 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/e22bed8364ad9066dec0b619e77bcda503493d38 Bug 1243657 spellchecker should check if IME composition works as deleting whole text r=ehsan
Comment 14•8 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/e22bed8364ad
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla47
Updated•8 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•