Closed Bug 1400189 Opened 3 years ago Closed 3 years ago

Space character occasionally skiped when writeing in Korean IME

Categories

(Core :: DOM: UI Events & Focus Handling, defect)

57 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla58
Tracking Status
firefox-esr52 --- unaffected
firefox56 --- unaffected
firefox57 + fixed
firefox58 --- fixed

People

(Reporter: tjtncks, Assigned: masayuki)

References

Details

(Keywords: inputmethod, regression)

Attachments

(2 files)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0
Build ID: 20170914100122

Steps to reproduce:

write korean characters in web in some forms (like search bars in site, twitch chat, etc... and type space bar while last letter doesn't finallized (blue square cover the last letter)
P.S it happens most offen in twitch search and chat.


Actual results:

occasionally (like once in 5~10 works), the last letter doesn finnalized, but space character (U+0020, I assume) doesn't appear after it.


Expected results:

space character should appear after last latter.
Although I cannot reproduce this using Microsoft IME (Korean) + Windows 10.  Do you use same IME?
Flags: needinfo?(tjtncks)
Component: Untriaged → Widget: Win32
Keywords: inputmethod
Product: Firefox → Core
yes I using default MS IME for korean.
I captured a video of it, How I upload a attachment?
Flags: needinfo?(tjtncks)
Ah, I can reproduce this on Twitter.  [Space] doesn't sometimes insert space.  But I cannot reproduce address bar and simple contenteditable sample.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Yes, it doesn't happen in simple forms.
I reproduced this bug even on simple <input> element like:
https://w3c.github.io/uievents/tools/key-event-viewer.html

Type "KeyA" and type "Space" quickly.

Then, I see no white spaces between Hangul characters. At that time, I see the events in this order:

> 	type			charCode	keyCode	key	code	isComposing	data	<input>.value
> 88	compositionstart	-		-	-	-	-		''	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁㅁ '
> 87	keyup			0		32		Space	0		-	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁㅁ '
> 86	input			-		-	-	-	-		-	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁㅁ '
> 85	keypress		32		0		Space	0		-	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁㅁ'
> 84	keydown			0		32		Space	0		-	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁㅁ'
> 83	input			-		-	-	-	-		-	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁㅁ'
> 82	compositionend		-		-	-	-	-		'ㅁ'	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁㅁ'
> 81	input			-		-	-	-	-		-	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁㅁ'
> 80	keyup			0		65	a	KeyA	0		-	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁㅁ'
> 79	input			-		-	-	-	-		-	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁㅁ'
> 78	compositionupdate	-		-	-	-	-		'ㅁ'	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ'
> 77	compositionstart	-		-	-	-	-		''	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ'
> 76	keyup			0		32		Space	0		-	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ'
> 75	input			-		-	-	-	-		-	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ'
> 74	compositionend		-		-	-	-	-		'ㅁ'	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ'
> 73	input			-		-	-	-	-		-	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ'
> 72	keypress		32		0		Space	0		-	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ'
> 71	keydown			0		32		Space	0		-	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ'
> 70	keyup			0		65	a	KeyA	0		-	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ'
> 69	input			-		-	-	-	-		-	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ'
> 68	compositionupdate	-		-	-	-	-		'ㅁ'	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ '
> 67	compositionstart	-		-	-	-	-		''	'ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ '

According to this log, Space key event may be fired in a composition and ignored. As far as I've tested, I cannot reproduce this bug in non-e10s window. So, perhaps, event order is broken in remote process.
Could be a regression of bug 1389314 since it doesn't give same priority to composition events and selectionset event as keyboard events, but still not sure since it's for DnD.
tjtncks:

Could you check if one of these builds fixes this bug?
x86: https://queue.taskcluster.net/v1/task/UCFGr3GHQGuahhafVU4Xpw/runs/0/artifacts/public/build/target.zip
x64: https://queue.taskcluster.net/v1/task/fOGr0WNIRnKc5N5hZOLR2A/runs/0/artifacts/public/build/target.zip

If you cannot reproduce this bug with these builds, I'll request to review the patch.
Flags: needinfo?(tjtncks)
I couldn't reproduce the bug on it.
by the way, can you make the fix landed on FF57b4~5 to? as the bug was there from the 57, the beta versions are affected, too.
Flags: needinfo?(tjtncks)
(In reply to tjtncks from comment #11)
> I couldn't reproduce the bug on it.

Thank you!

> by the way, can you make the fix landed on FF57b4~5 to? as the bug was there
> from the 57, the beta versions are affected, too.

I guess it's possible because of low risk.
[Tracking Requested - why for this release]:

This is serious regression of bug 1389314. This must be really annoying for Korean users and may be so some other IME users too.
Assignee: nobody → masayuki
Blocks: 1389314
Status: NEW → ASSIGNED
Component: Widget: Win32 → Event Handling
OS: Unspecified → All
Hardware: Unspecified → All
Comment on attachment 8913942 [details]
Bug 1400189 - Give same priority to composition events and selectionset event as keyboard events at sending those events from the main process to a remote process

https://reviewboard.mozilla.org/r/185322/#review190284

LGTM, Thanks.
Attachment #8913942 - Flags: review?(sshih) → review+
Pushed by masayuki@d-toybox.com:
https://hg.mozilla.org/integration/autoland/rev/d9c1d98878cb
Give same priority to composition events and selectionset event as keyboard events at sending those events from the main process to a remote process r=stone
https://hg.mozilla.org/mozilla-central/rev/d9c1d98878cb
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
Hi, Masayuki
Wil you request an uplift to beta 57?
Flags: needinfo?(masayuki)
(In reply to Ethan Tseng [:ethan] - 57 Regression Engineering Support from comment #18)
> Hi, Masayuki
> Wil you request an uplift to beta 57?

(Masayuki Nakano [:masayuki] (JST, +0900) from comment #12)
> (In reply to tjtncks from comment #11)
> > I couldn't reproduce the bug on it.
> 
> Thank you!
> 
> > by the way, can you make the fix landed on FF57b4~5 to? as the bug was there
> > from the 57, the beta versions are affected, too.
> 
> I guess it's possible because of low risk.

I think he will.
Comment on attachment 8913942 [details]
Bug 1400189 - Give same priority to composition events and selectionset event as keyboard events at sending those events from the main process to a remote process

Approval Request Comment
[Feature/Bug causing the regression]:
Regression of bug 1389314.

[User impact if declined]:
Some keyboard inputs immediately after committing IME composition may be discarded in content process.

[Is this code covered by automated tests?]:
No.

[Has the fix been verified in Nightly?]:
Yes.

[Needs manual test from QE? If yes, steps to reproduce]:
No.

[List of other uplifts needed for the feature/fix]:
Nothing.

[Is the change risky?]:
No.

[Why is the change risky/not risky?]:
Just giving same priority as keyboard events to composition events and selection set event when sending them from TabParent to its remote process.

[String changes made/needed]:
No.
Flags: needinfo?(masayuki)
Attachment #8913942 - Flags: approval-mozilla-beta?
Comment on attachment 8913942 [details]
Bug 1400189 - Give same priority to composition events and selectionset event as keyboard events at sending those events from the main process to a remote process

Recent regression, taking it.
Should be in 57b5
Attachment #8913942 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
(In reply to Masayuki Nakano [:masayuki] (JST, +0900) from comment #20)
> [Is this code covered by automated tests?]:
> No.
> 
> [Has the fix been verified in Nightly?]:
> Yes.
> 
> [Needs manual test from QE? If yes, steps to reproduce]:
> No.

Setting qe-verify- based on Masayuki Nakano's assessment on manual testing needs.
Flags: qe-verify-
Component: Event Handling → User events and focus handling
You need to log in before you can comment on or make changes to this bug.