- From: Doug Schepers <schepers@w3.org>
- Date: Wed, 30 Jun 2010 17:37:23 +0100
- To: Daniel Danilatos <daniel@danilatos.com>
- CC: James Su <suzhe@google.com>, "Hironori Bono (坊野 博典)" <hbono@google.com>, www-dom@w3.org, Ojan Vafai <ojan@chromium.org>
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