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

Issue 635504 link

Starred by 10 users

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug


Sign in to add a comment

SpellCheckProvider should not attempt to decide typing progress

Project Member Reported by xiaoche...@chromium.org, Aug 8 2016

Issue description

Version: ToT
OS: All

What steps will reproduce the problem?
(1) Open data:text/html, <div contenteditable>zz a</div>
(2) Focus the <div>

What is the expected output?

"zz" should be marked as misspelled by red waves

What do you see instead?

Nothing is marked. Further investigation shows that SpellCheckProvider::SatisfyRequestFromCache() always cancels the request at line 327:

https://cs.chromium.org/chromium/src/chrome/renderer/spellchecker/spellcheck_provider.cc?rcl=1470626560&l=327
 
Hope crrev.com/2221903002 is a correct fix.
Blocking: 635452
It turns out that crrev.com/2221903002 broke unit test SpellCheckProviderTest.MultiLineText, failing the 2nd and 3rd assertions. It seems that the behavior reported in this issue is intended, as the unit test states "SpellCheckProvider class does not spellcheck text while we are typing a word".

However, it also mistakenly determines some other cases as "while typing", including the case in the issue description.

I'm wondering whether SpellCheckProvider should judge if the user is typing. It seems that Blink is a better place to do this job.
Blocking: 517298
Owner: xiaoche...@chromium.org
Status: Assigned (was: Untriaged)
Blocking: 512271
Blocking: 47749
Blocking: 332412
Blocking: 471260
Blocking: 610557
Summary: SpellCheckProvider should not attempt to decide typing progress (was: SpellCheckProvider::SatisfyRequestFromCache() cancels request when last_request_ is empty)
Changing issue summary. SpellCheckProvider has no reliable way to check the typing progress, and hence, should not check it. This job should be done in Blink.
Project Member

Comment 11 by bugdroid1@chromium.org, Feb 24 2017

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

commit 0fcdf64bf2b57cfc3c21965bd037d198f7fabd4e
Author: xiaochengh <xiaochengh@chromium.org>
Date: Fri Feb 24 19:18:23 2017

Stop SpellCheckProvider from deciding typing progress

In order not to check spelling in the middle of typing a word,
SpellCheckProvider used to decide the typing process, which is
a job that it can't reliably accomplish due to lack of information.

Now that the Blink-side SpellChecker class is no longer sending
spell check requests in the middle of typing a word, there is no
need for SpellCheckProvider to perform the check. Hence, this patch
removes the related code from SpellCheckProvider, and modifies
tests accordingly.

BUG= 635504 
TEST=SpellCheckProviderTest.MultiLineText

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

[modify] https://crrev.com/0fcdf64bf2b57cfc3c21965bd037d198f7fabd4e/components/spellcheck/renderer/spellcheck_provider.cc
[modify] https://crrev.com/0fcdf64bf2b57cfc3c21965bd037d198f7fabd4e/components/spellcheck/renderer/spellcheck_provider.h
[modify] https://crrev.com/0fcdf64bf2b57cfc3c21965bd037d198f7fabd4e/components/spellcheck/renderer/spellcheck_provider_hunspell_unittest.cc

Labels: M-58
Status: Fixed (was: Assigned)
Blocking: -512271
Blocking: 512271
Cc: ssamanoori@chromium.org
 Issue 512271  has been merged into this issue.
Blocking: -610557
Blocking: 610557
Cc: xiaoche...@chromium.org
 Issue 610557  has been merged into this issue.
Blocking: -610557
Components: -UI>Browser>Spellcheck UI>Browser>Language>Spellcheck
Cc: kkaluri@chromium.org
 Issue 667760  has been merged into this issue.

Sign in to add a comment