[Webkit-unassigned] [Bug 169209] New: Punctuation characters in Sogou IME have no keypress event and no composition events and also have inconsistent input/textinput ordering.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Mar 6 11:45:33 PST 2017


https://bugs.webkit.org/show_bug.cgi?id=169209

            Bug ID: 169209
           Summary: Punctuation characters in Sogou IME have no keypress
                    event and no composition events and also have
                    inconsistent input/textinput ordering.
    Classification: Unclassified
           Product: WebKit
           Version: Safari 10
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: HTML Events
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: charleyroy at google.com

I tested this on:

* Safari Technology Preview Release 23 (Safari 10.2, WebKit 12604.1.5)
* Safari Version 10.0.3 (12602.4.8)

I am using the Sogou IME (http://pinyin.sogou.com/mac/).

I am using this JS fiddle to log events, but any event logger will show this: https://jsfiddle.net/c1g6rahm/2/

In a content editable, press a punctuation character (eg. the key '.' to get '。', ',' to get ',', 'Shift+1' to get '!' - notice they are full width).

Obtained event trace:
1. textInput
2. input
3. keydown - 229 (WIN_IME key)
4. keyup - 188 (in this case I pressed ',')

This is problematic for a number of reasons:
1. There is no compositionstart/compositionupdate/composition end events, which there should be when using keydown WIN_IME
2. The textInput/input events are not between keydown/keyup, which they should be (they are when pressing regular ASCII/latin characters)
3. There is no keypress event fired. For example, Chrome fires a keypress with keycode 65292 for ',' and with keycode 12290 for '。'

The combination of these make it very hard to detect that these specific characters were selected without relying on the contents of the contenteditable. This also diverges from the spec at https://w3c.github.io/uievents/#events-composition-key-events.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20170306/c3b76e16/attachment.html>


More information about the webkit-unassigned mailing list