New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 689541 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug

Blocking:
issue 585875



Sign in to add a comment

InputEvent: Support non-cancelable input type "insertCompositionText" for IME

Project Member Reported by chongz@chromium.org, Feb 7 2017

Issue description

According to the latest discussion we only fire non-cancelable 
"insertCompositionText" during IME.

Event Order:
1. compositionstart
(2. beforeinput "insertCompositionText"
3. compositionupdate
4.)+ input "insertCompositionText"
5. compositionupdate

2-4 could repeat multiple times.

Note that the implementation should also cover
  1. Desktop reverse conversion
  2. All platform start composition from non-collapsed selection
  3. Android tap and recomposition

Proposal:
https://lists.w3.org/Archives/Public/public-editing-tf/2017Feb/0003.html
 
Project Member

Comment 1 by bugdroid1@chromium.org, Feb 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1e17147805b80e1953b51b0ec29cf26798c09b13

commit 1e17147805b80e1953b51b0ec29cf26798c09b13
Author: chongz <chongz@chromium.org>
Date: Mon Feb 13 21:25:57 2017

[InputEvent] Fire "insertCompositionText" during IME

According to the latest discussion we only fire non-cancelable
"insertCompositionText" during IME.

Event Order:
1. compositionstart
(2. beforeinput "insertCompositionText"
3. compositionupdate
4.)+ input "insertCompositionText"
5. compositionupdate

2-4 could repeat multiple times.

The approach is to fire "insertCompositionText" along with
"compositionupdate".

Proposal:
https://lists.w3.org/Archives/Public/public-editing-tf/2017Feb/0003.html

BUG= 689541 

Review-Url: https://codereview.chromium.org/2675363003
Cr-Commit-Position: refs/heads/master@{#450095}

[modify] https://crrev.com/1e17147805b80e1953b51b0ec29cf26798c09b13/third_party/WebKit/Source/core/editing/InputMethodController.cpp
[modify] https://crrev.com/1e17147805b80e1953b51b0ec29cf26798c09b13/third_party/WebKit/Source/core/editing/InputMethodControllerTest.cpp
[modify] https://crrev.com/1e17147805b80e1953b51b0ec29cf26798c09b13/third_party/WebKit/Source/core/editing/commands/CompositeEditCommand.cpp
[modify] https://crrev.com/1e17147805b80e1953b51b0ec29cf26798c09b13/third_party/WebKit/Source/core/editing/commands/TypingCommand.cpp
[modify] https://crrev.com/1e17147805b80e1953b51b0ec29cf26798c09b13/third_party/WebKit/Source/core/events/InputEvent.cpp
[modify] https://crrev.com/1e17147805b80e1953b51b0ec29cf26798c09b13/third_party/WebKit/Source/core/events/InputEvent.h

Comment 2 by chongz@chromium.org, Feb 13 2017

Labels: M-58
Status: Fixed (was: Started)

Sign in to add a comment