[Cocoa] Candidate list of Apple Japanese IME may show at wrong position when undoing the last commit
Categories
(Core :: DOM: UI Events & Focus Handling, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox85 | --- | fixed |
People
(Reporter: masayuki, Assigned: masayuki)
References
(Blocks 1 open bug)
Details
(Keywords: inputmethod)
Attachments
(2 files)
STR:
0. Activate Apple Japanese Input and disable Live conversion
- Go to https://d-toybox.com/studio/lib/input_event_viewer.html
- Choose "<div contenteditable>" radio button
- Type a word in the HTML editor and commit it
- Reconvert it with Ctrl + Shift + R (without changing selection)
Then, you may see candidate list at wrong position.
According to the log, FirstRectForCharacterRange
tries to retrieve first character of new composition before starting composition, and fails to get it due to not in ContentCacheInParent
. So, we need some hack for this case.
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 1•4 years ago
|
||
Currently, it manages the composition start offset with uint32_t
and setting
it to UINT32_MAX
when there is no composition. But this is now rewritable
with Maybe<uint32_t>
for easier to read.
Assignee | ||
Comment 2•4 years ago
|
||
Usually, IME sets selection and considers candidate list position at starting
new composition. However, Apple Japanese IME sometimes consider the candidate
list position at retrieving the character rects before setting selection.
Therefore, we need to store last commit string's character rects, but don't
need to store it in long time because Kakutei-Undo is supported by Japanese
IMEs and they work only immediately after committing a composition. E.g.,
after moving caret, it won't be available.
Depends on D97838
Pushed by masayuki@d-toybox.com: https://hg.mozilla.org/integration/autoland/rev/ea83d6666b32 part 1: Make `ContentCache` manage composition start offset with `Maybe` instead of using a magic number r=m_kato https://hg.mozilla.org/integration/autoland/rev/0e1c1a720ca7 part 2: Make `ContentCache` cache character rects in last commit composition string for undoing the commit r=m_kato
Comment 4•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/ea83d6666b32
https://hg.mozilla.org/mozilla-central/rev/0e1c1a720ca7
Updated•3 years ago
|
Description
•