[Webkit-unassigned] [Bug 26310] New: Webkit should generate "compositionstart", "compositionend", and "text" events like firefox

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jun 10 22:40:14 PDT 2009


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

           Summary: Webkit should generate "compositionstart",
                    "compositionend", and "text" events like firefox
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
               URL: http://www.danilatos.com/event-test/ExperimentTest.html
        OS/Version: All
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: HTML Editing
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: daniel.danilatos at gmail.com
                CC: hbono at chromium.org, ojan at chromium.org


For IME input, firefox generates compositionstart and compositionend events to
signify the start and end of a sequence of IME input. Additionally, for each
individual change in the dom, it generates a "text" event.

It should be possible to make arbitrary changes to the dom, and move the caret,
during compositionstart. The IME input should then take place in the location
where the caret has been placed.

This all works on firefox, tested 3.0, 3.5, 3.6

I understand that this will still have some issues relating to recomposition of
text, but since recomposition isn't even implemented yet, at least this will
allow solving 99%-100% of current problems that exist regarding IMEs and
unexpected DOM modifications.

To illustrate the events, please use
http://www.danilatos.com/event-test/ExperimentTest.html

To illustrate the caret movement, please use
http://www.danilatos.com/event-test/ime-test.html
Instructions: 
1. Select action "Split at cursor, move cursor into span.", and tick when
"compositionstart". 
2. Switch to an IME (e.g. Chinese pinyin, or tablet input, or whatever). 
3. Click somewhere in the red editable area, and begin typing. The IME input
should successfully get transported into the middle of some green coloured
text.

In Firefox 3.0+, this works great, both for "compositionstart" and for "key
event". In Safari/Chrome, the DOM changes first, THEN the green text comes up
(only for "key event" since there is no composition start in webkit), then the
cursor gets moved, and the IME input state is broken (e.g. the underline for
chinese input vanishes, as the cursor has moved after the input began, not
before).


-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list