First spellcheck request is always canceled
Reported by
ganenk...@yandex-team.ru,
Jun 7 2018
|
|||||||
Issue description
UserAgent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 YaBrowser/18.4.1.833 Yowser/2.5 Safari/537.36
Example URL:
Steps to reproduce the problem:
1. Start browser
2. Make only one spellcheck request with incorrect word
3. Request will be canceled, and spellcheck result will be incorrect until next spellcheck request
What is the expected behavior?
What went wrong?
1 renderer gets text checking request (SpellCheck::RequestTextChecking)
2 renderer sees that dictionaries are not initialized (InitializeIfNeeded), request is set as pending (pending_request_param_). It's worth mentioning, that pending_request_param_ exists by this only reason - to wait dictionaries initialization and process request.
...
3 browser receives a dictionary initialization request: hunspell and custom_dictionary initialization starts
4 in browser, the first initialized is custom_dictionary(5) and then hunspell(9). The order may be different - it depends on the speed of processing the initialization hunspell dictionary and custom dictionary.
5 browser creates a message about initializing with empty list of dictionaries and just loaded custom_dictionary.
void SpellcheckService::OnCustomDictionaryLoaded() {
InitForAllRenderers(); -- here is Initialize call with not inited dictionaries
}
6 renderer receives a message about the initialization of dictionaries and starts pending_request_param_ spellcheck
7 renderer handles the spellcheck for an empty list of dictionaries as the cancellation of the check (see SpellCheck::PerformSpellCheck). This is the bug of which the task is devoted.
8 until the next request for spellcheck from blink, the words are not rechecked
…
9 browser successfully loads hunspell and making a new init message
10 renderer receives the initialized dictionaries, and all next spellcheck requests will be processed normally
Does it occur on multiple sites: N/A
Is it a problem with a plugin? N/A
Did this work before? N/A
Does this work in other browsers? N/A
Chrome version: 65.0.3325.181 Channel: n/a
OS Version: 10.0
Flash Version: Shockwave Flash 29.0 r0
Due to the large number of spellcheck requests this problem is hard to reproduce in browser. But step-by-step description shows that code path with [pending_request_param_] is working incorrectly.
,
Jun 8 2018
,
Jun 14 2018
Tested this on reported chrome version on 65.0.3325.181 and latest chrome stable 67.0.3396.79 and 67.0.3396.87 using Windows 10. Attaching Screencast for reference. Steps -------- 1. Launched chrome 2. Navigated to www.gmail.com and tried to compose some text. . We have observed that spelling suggestion getting correctly. @Reporter: As we are unable to reproduce the issue from our end. Could you please review the attached screen-cast and confirm if anything being missed here.upgrade to latest version on M67 stable and check the issue.The latest chrome builds can be downloaded from the below URL: https://www.chromium.org/getting-involved/dev-channel Thanks!
,
Jun 14 2018
Actually it is hard to catch it in practice. First of all, you are getting spellcheck from online - this code pass is pretty different. Second, you got several spell requests just after pasting space symbol (there al least two of them). And finally you can see problem repeatance in unittests in my commit (https://chromium-review.googlesource.com/c/chromium/src/+/1085449).
,
Jun 14 2018
Thank you for providing more feedback. Adding the requester to the cc list. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jun 15 2018
@groby@chromium.org: As per comment #5 marking this issue as untriaged and requesting dev to look in to it Thanks.! Thanks.!
,
Aug 22
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e7f35a93db7e02a177ee4e768dd8c66e3043d7c4 commit e7f35a93db7e02a177ee4e768dd8c66e3043d7c4 Author: Konstantin Ganenko <ganenkokb@yandex-team.ru> Date: Wed Aug 22 22:26:42 2018 Fix first word spellcheck. Do not process pending request if initialize call is come with not inited dictionaries. R=groby@chromium.org Bug: 850424 Change-Id: I0dd7213f9865b2c5949fd6367c524edfd09febf1 Reviewed-on: https://chromium-review.googlesource.com/1085449 Commit-Queue: Rachel Blum <groby@chromium.org> Reviewed-by: Rachel Blum <groby@chromium.org> Cr-Commit-Position: refs/heads/master@{#585283} [modify] https://crrev.com/e7f35a93db7e02a177ee4e768dd8c66e3043d7c4/components/spellcheck/renderer/spellcheck.cc [modify] https://crrev.com/e7f35a93db7e02a177ee4e768dd8c66e3043d7c4/components/spellcheck/renderer/spellcheck_unittest.cc
,
Sep 17
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5fe8de1abd4bd5a1d87d5e7e801b3949adf35230 commit 5fe8de1abd4bd5a1d87d5e7e801b3949adf35230 Author: Mike Wittman <wittman@chromium.org> Date: Mon Sep 17 21:26:02 2018 Revert "Fix first word spellcheck." This reverts commit e7f35a93db7e02a177ee4e768dd8c66e3043d7c4. Reason for revert: Causes significant startup and jank regressions. Original change's description: > Fix first word spellcheck. > > Do not process pending request if initialize call is come with not inited > dictionaries. > > R=groby@chromium.org > > Bug: 850424 > Change-Id: I0dd7213f9865b2c5949fd6367c524edfd09febf1 > Reviewed-on: https://chromium-review.googlesource.com/1085449 > Commit-Queue: Rachel Blum <groby@chromium.org> > Reviewed-by: Rachel Blum <groby@chromium.org> > Cr-Commit-Position: refs/heads/master@{#585283} TBR=groby@chromium.org,ganenkokb@yandex-team.ru # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 850424, 883398 Change-Id: If2b242b87a44d40010427a3e0a6474c103f8f054 Reviewed-on: https://chromium-review.googlesource.com/1228934 Reviewed-by: Mike Wittman <wittman@chromium.org> Reviewed-by: Rachel Blum <groby@chromium.org> Commit-Queue: Mike Wittman <wittman@chromium.org> Cr-Commit-Position: refs/heads/master@{#591821} [modify] https://crrev.com/5fe8de1abd4bd5a1d87d5e7e801b3949adf35230/components/spellcheck/renderer/spellcheck.cc [modify] https://crrev.com/5fe8de1abd4bd5a1d87d5e7e801b3949adf35230/components/spellcheck/renderer/spellcheck_unittest.cc
,
Sep 20
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6acaa334121b4607e9417eaaff7141bd90e520dc commit 6acaa334121b4607e9417eaaff7141bd90e520dc Author: Mike Wittman <wittman@chromium.org> Date: Thu Sep 20 20:58:52 2018 Revert "Fix first word spellcheck." This reverts commit e7f35a93db7e02a177ee4e768dd8c66e3043d7c4. Reason for revert: Causes significant startup and jank regressions. Original change's description: > Fix first word spellcheck. > > Do not process pending request if initialize call is come with not inited > dictionaries. > > R=groby@chromium.org > > Bug: 850424 > Change-Id: I0dd7213f9865b2c5949fd6367c524edfd09febf1 > Reviewed-on: https://chromium-review.googlesource.com/1085449 > Commit-Queue: Rachel Blum <groby@chromium.org> > Reviewed-by: Rachel Blum <groby@chromium.org> > Cr-Commit-Position: refs/heads/master@{#585283} TBR=groby@chromium.org,ganenkokb@yandex-team.ru # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 850424, 883398 Change-Id: If2b242b87a44d40010427a3e0a6474c103f8f054 Reviewed-on: https://chromium-review.googlesource.com/1228934 Reviewed-by: Mike Wittman <wittman@chromium.org> Reviewed-by: Rachel Blum <groby@chromium.org> Commit-Queue: Mike Wittman <wittman@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#591821}(cherry picked from commit 5fe8de1abd4bd5a1d87d5e7e801b3949adf35230) Reviewed-on: https://chromium-review.googlesource.com/1237261 Reviewed-by: Xi Cheng <chengx@chromium.org> Cr-Commit-Position: refs/branch-heads/3538@{#551} Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811} [modify] https://crrev.com/6acaa334121b4607e9417eaaff7141bd90e520dc/components/spellcheck/renderer/spellcheck.cc [modify] https://crrev.com/6acaa334121b4607e9417eaaff7141bd90e520dc/components/spellcheck/renderer/spellcheck_unittest.cc
,
Sep 20
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6acaa334121b4607e9417eaaff7141bd90e520dc Commit: 6acaa334121b4607e9417eaaff7141bd90e520dc Author: wittman@chromium.org Commiter: chengx@chromium.org Date: 2018-09-20 20:58:52 +0000 UTC Revert "Fix first word spellcheck." This reverts commit e7f35a93db7e02a177ee4e768dd8c66e3043d7c4. Reason for revert: Causes significant startup and jank regressions. Original change's description: > Fix first word spellcheck. > > Do not process pending request if initialize call is come with not inited > dictionaries. > > R=groby@chromium.org > > Bug: 850424 > Change-Id: I0dd7213f9865b2c5949fd6367c524edfd09febf1 > Reviewed-on: https://chromium-review.googlesource.com/1085449 > Commit-Queue: Rachel Blum <groby@chromium.org> > Reviewed-by: Rachel Blum <groby@chromium.org> > Cr-Commit-Position: refs/heads/master@{#585283} TBR=groby@chromium.org,ganenkokb@yandex-team.ru # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 850424, 883398 Change-Id: If2b242b87a44d40010427a3e0a6474c103f8f054 Reviewed-on: https://chromium-review.googlesource.com/1228934 Reviewed-by: Mike Wittman <wittman@chromium.org> Reviewed-by: Rachel Blum <groby@chromium.org> Commit-Queue: Mike Wittman <wittman@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#591821}(cherry picked from commit 5fe8de1abd4bd5a1d87d5e7e801b3949adf35230) Reviewed-on: https://chromium-review.googlesource.com/1237261 Reviewed-by: Xi Cheng <chengx@chromium.org> Cr-Commit-Position: refs/branch-heads/3538@{#551} Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811} |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by dtapu...@chromium.org
, Jun 7 2018