Re: Proposal to ammend the composition event spec.

Hi, Dan-

If everyone is agreed about this, then I have no problem changing the 
spec.  I'm on vacation right now so I'm not following the conversation 
closely, but I'll fix the spec when I get back next week.

Regards-
-Doug

Daniel Danilatos wrote (on 6/30/10 11:44 AM):
> So it seems we're all happy with this. Doug, any chance of it finding
> its way into the spec? We really would like to fix the outstanding
> issues in Webkit.
>
> Dan
>
> On Thu, Jun 17, 2010 at 11:47 AM, Ojan Vafai<ojan@chromium.org>  wrote:
>>  I didn't mean to derail the original proposal. As best I can tell, everyone
>>  who has voiced an opinion agrees that compositionstart/compositionend should
>>  bound all IME related DOM modifications and that textInput should fire
>>  before the compositionEnd event.
>>  Whether it also fires before compositionStart is totally orthogonal. We
>>  should try to address that after we've come to a conclusion on the other
>>  thread about extending textInput to other input modes.
>>  Ojan
>>  On Wed, Jun 16, 2010 at 6:08 PM, James Su<suzhe@google.com>  wrote:
>>>
>>>  To prevent all text input, I think the preferred way is to just cancel
>>>  keydown event. In this case we don't need to care about textInput and
>>>  composition events at all. It's also compatible with non-IME input mode. So
>>>  I think textInput and composition events should not be fired at all if
>>>  keydown is cancelled.
>>>  Regards
>>>  James Su
>>>
>>>  2010/6/16 Ojan Vafai<ojan@chromium.org>
>>>>
>>>>  On Wed, Jun 16, 2010 at 2:38 PM, Ojan Vafai<ojan@chromium.org>  wrote:
>>>>>
>>>>>  to type "wo" ->  我
>>>>>  user "w"<-- Canceling keydown should prevent the composition from
>>>>>  starting and the DOM should not be modified.
>>>>
>>>>  Upon further thought, I think we should also fire a textInput event here
>>>>  (not sure if it should fire before or after compositionstart). "data" can
>>>>  just be the empty string. It should be possible to only listen to textInput
>>>>  and preventDefault to prevent all text insertion. You shouldn't need to
>>>>  listen to both textInput and keydown/compositionstart.
>>>>
>>>>>
>>>>>  event compositionstart
>>>>>  ("w")
>>>>>
>>>>>  user "o"<-- Not related to textInput since this keydown doesn't
>>>>>  generate a textInput event. One cross-platform solution would be to cancel
>>>>>  the composition.
>>>>>  ("wo")
>>>>>
>>>>>  user<space>    <-- Same as above.
>>>>>  ("我")
>>>>>
>>>>>  user<space>  (to commit the composition)<-- Should cancel the textInput
>>>>>  and thus cancel the composition.
>>>>>  ("")
>>>>>  event textInput (cancelable)
>>>>>  ("我")
>>>>>  event compositionend
>>>>>  -Ojan
>>>>
>>>
>>
>>
>
>

Received on Wednesday, 30 June 2010 16:37:33 UTC