Spell check underlines appear during IME composition |
||||||||
Issue descriptionChrome Version: 62.0.3181.0 OS: Mac What steps will reproduce the problem? (1) Switch to the pinyin IME for Simplified Chinese (2) Focus any spellcheck-enabled text box in any page (3) Type "pinxiejiancha" without committing What is the expected result? Spell check underlines shouldn't appear What happens instead? Spell check underlines appear together with the composition underline This is not a Mac-only bug. Any IME that preserves the original characters during composition will also do, for example, Sunpinyin on Linux.
,
Aug 10 2017
Might be related to the TypingCommand::kPreventSpellChecking flag, which is set in InputMethodController but never used...
,
Aug 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9768f0d44d7098cc769771f7e024425b8408656e commit 9768f0d44d7098cc769771f7e024425b8408656e Author: Xiaocheng Hu <xiaochengh@chromium.org> Date: Tue Aug 15 07:01:00 2017 Do not perform spellcheck when prevented by text composition Durint text composition, a flag TypingCommand::should_prevent_spell_checking_ is set, but is currently not used, causing spellcheck underlines appear during composition. This patch fixes the issue by utilizing the flag. Bug: 754453 Change-Id: I852c99dcbd6130836ae6b4e19b9e18fbbbd9bed5 Reviewed-on: https://chromium-review.googlesource.com/613665 Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org> Reviewed-by: Ryan Landay <rlanday@chromium.org> Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org> Cr-Commit-Position: refs/heads/master@{#494337} [add] https://crrev.com/9768f0d44d7098cc769771f7e024425b8408656e/third_party/WebKit/LayoutTests/editing/spelling/typing_with_composition.html [modify] https://crrev.com/9768f0d44d7098cc769771f7e024425b8408656e/third_party/WebKit/Source/core/editing/commands/TypingCommand.h [modify] https://crrev.com/9768f0d44d7098cc769771f7e024425b8408656e/third_party/WebKit/Source/core/editing/spellcheck/HotModeSpellCheckRequester.cpp
,
Aug 15 2017
,
Aug 17 2017
Reverting the CL as it breaks Android spellcheck menu. We need a more systematic approach to make spellchecker, typing and IME work together.
,
Aug 18 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4fc637d73ce84633e5029957c051208849569d3b commit 4fc637d73ce84633e5029957c051208849569d3b Author: Xiaocheng Hu <xiaochengh@chromium.org> Date: Fri Aug 18 00:37:03 2017 Revert "Do not perform spellcheck when prevented by text composition" This reverts commit 9768f0d44d7098cc769771f7e024425b8408656e. Reason for revert: Breaks the Android spellcheck menu. When tapping on a misspelled word, the marker gets cleared and the spellcheck menu no longer appear. Original change's description: > Do not perform spellcheck when prevented by text composition > > Durint text composition, a flag TypingCommand::should_prevent_spell_checking_ > is set, but is currently not used, causing spellcheck underlines appear > during composition. > > This patch fixes the issue by utilizing the flag. > > Bug: 754453 > Change-Id: I852c99dcbd6130836ae6b4e19b9e18fbbbd9bed5 > Reviewed-on: https://chromium-review.googlesource.com/613665 > Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org> > Reviewed-by: Ryan Landay <rlanday@chromium.org> > Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#494337} TBR=xiaochengh@chromium.org,rlanday@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 754453 Change-Id: I7ccdbe8a0b4a4251f21349b9ab257ecf19946a79 Reviewed-on: https://chromium-review.googlesource.com/619767 Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org> Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org> Cr-Commit-Position: refs/heads/master@{#495396} [delete] https://crrev.com/1a3cb5e5a94e5e8c821ef53b155a09c4e122551c/third_party/WebKit/LayoutTests/editing/spelling/typing_with_composition.html [modify] https://crrev.com/4fc637d73ce84633e5029957c051208849569d3b/third_party/WebKit/Source/core/editing/commands/TypingCommand.h [modify] https://crrev.com/4fc637d73ce84633e5029957c051208849569d3b/third_party/WebKit/Source/core/editing/spellcheck/HotModeSpellCheckRequester.cpp
,
Nov 2 2017
,
Nov 2 2017
We have this on Android too. I think the solution is to use the same logic as the native Android EditText widget. There, the spell check underlines don't appear until you're done typing the word, and they also don't go away when you tap on the word (so the spell check menu works).
,
Nov 2 2017
Thanks for taking it :)
,
Dec 10 2017
,
Jan 2 2018
xiaochengh@, I think the correct logic is to do what you tried to do in https://chromium-review.googlesource.com/619767 to avoid spell-checking a word currently being composed, but also have logic to not clear the spell check underline for a word under composition until it's actually edited. Is this feasible?
,
Jan 2 2018
Sounds good as a high level idea. We still need to work out the details in order not to regress anything again.
,
Feb 7 2018
I don't think I have time to work on it soon. |
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by xiaoche...@chromium.org
, Aug 10 2017100 KB
100 KB View Download