Bug 43020 - IME Composition events are handled inconsistently in each port
Summary: IME Composition events are handled inconsistently in each port
Status: UNCONFIRMED
Alias: None
Product: WebKit
Classification: Unclassified
Component: HTML Editing (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Major
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 40518
  Show dependency treegraph
 
Reported: 2010-07-26 22:09 PDT by Joone Hur
Modified: 2010-08-02 12:48 PDT (History)
4 users (show)

See Also:


Attachments
composition status table (60.35 KB, image/png)
2010-07-26 22:16 PDT, Joone Hur
no flags Details
Korean Hangul Composition Event Test (updated) (58.22 KB, image/png)
2010-07-26 22:27 PDT, Joone Hur
no flags Details
test case (1.39 KB, text/html)
2010-07-26 22:52 PDT, Joone Hur
no flags Details
Korean Hangul Composition Event Test2 (updated) (61.13 KB, image/png)
2010-07-26 23:00 PDT, Joone Hur
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joone Hur 2010-07-26 22:09:45 PDT
All ports of WebKit handles composition & textEvent events in inconsistent ways. 
In addition, keyboard events are still dispatched to the DOM during a composition.

According to W3C DOM Level 3 events,
1) A browser should fire compositionstart, compositionupdate, and compositionend event during a composition.
2) The textEvent event should be dispatched after a compositionend event if the composition has not been canceled.
3) While a composition session is active, keyboard events should not be dispatched to the DOM (i.e., the text composition system "swallows" the keyboard events), and only compositionupdate events may be dispatched to indicate the composition process.

Therefore, it is necessary to fix the problems as follows:
1) IME Composition events should be handled consistently in all ports of WebKit.
2) Keyboard events should not be dispatched during a composition.
3) The textInput event should be dispatched after a compositionend event.
Comment 1 Joone Hur 2010-07-26 22:16:36 PDT
Created attachment 62642 [details]
composition status table

The attached png file shows the status of DOM events during a Hangul(Korean alphabet) composition.
Comment 2 Joone Hur 2010-07-26 22:27:58 PDT
Created attachment 62644 [details]
Korean Hangul Composition Event Test (updated)

The attached png file shows the status of DOM events during a Hangul(Korean alphabet) composition
Comment 3 Joone Hur 2010-07-26 22:52:46 PDT
Created attachment 62645 [details]
test case

This test case is brought from https://bugzilla.mozilla.org/show_bug.cgi?id=354358 and tweaked a bit.
Comment 4 Joone Hur 2010-07-26 23:00:20 PDT
Created attachment 62647 [details]
Korean Hangul Composition Event Test2 (updated)