Page MenuHomePhabricator

Firefox: Annotation boundary sidedness failure using IMEs
Closed, ResolvedPublic8 Estimated Story Points

Description

Steps to reproduce:

  • In Firefox on Linux, edit <h1>ab<u>cd</u></h1>
  • Press end, left, left (so the cursor is just after <u>)
  • Type 'ㅎ' in Ibus Korean (i.e. press 'g')

Expected
The DM and DOM stay in sync

Observed
The character 'ㅎ' is underlined in the DM, but not in the DOM

Explanation
This is because the IME (like many others) doesn't emit keyDown events, so ve.ce.Surface#keyDownState.focusIsAfterAnnotationBoundary doesn't get used.

Event Timeline

dchan claimed this task.
dchan raised the priority of this task from to Medium.
dchan updated the task description. (Show Details)

Change 241144 had a related patch set uploaded (by Divec):
De-Houdini-fy the handling of observed DOM changes

https://gerrit.wikimedia.org/r/241144

If the IME selects inserted text, this bug is even worse, because the non-collapsedness causes a complex change which triggers a re-render, closing the IME. This happens with Windows 8.1 Korean on IE11 when typing at the start of <p><i>x</i></p>.

Change 241144 merged by jenkins-bot:
De-Houdini-fy the handling of observed DOM changes

https://gerrit.wikimedia.org/r/241144