[Webkit-unassigned] [Bug 139862] execDeleteCommand() does not update spellchecker sometimes

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jan 22 03:34:23 PST 2015


https://bugs.webkit.org/show_bug.cgi?id=139862

Grzegorz Czajkowski <g.czajkowski at samsung.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |darin at apple.com,
                   |                            |rniwa at webkit.org

--- Comment #2 from Grzegorz Czajkowski <g.czajkowski at samsung.com> ---
(In reply to comment #0)
> The following tests are failing:
> 
> LayoutTests/editing/spelling/editing-multiple-words-with-markers.html
> LayoutTests/editing/spelling/grammar-edit-word.html
> 
> There are three issues:
> 
> 1. In one task in TypingCommand::deleteKeyPressed we are doing two selection
> changes:
> 
> deleteSelection(selectionToDelete, m_smartDelete);
>    calls respondToChangedSelection() and editorUIUpdateTimer.startOneShot(0)
> 
> typingAddedToOpenCommand(DeleteKey); 
>    calls respondToChangedSelection() but editorUIUpdateTimer is still active
> and we do an early return and do not notify spellchecker about this
> selection change.
> 
> Invoking updateEditorUINowIfScheduled() does not help after applying command
> as we already lost one selection change.
> 

Updated description as I was debugging it:
On asynchronous spellchecker, the response containing the positions and lengths of potential markers may include results which are not sill valid besides the currently present text is not supposed to have a markers.

That happens when selection change causes a caret position inside the word.
In this case WebKit should not render spelling/grammar markers. For example,

User types:
it's a meagesga meagesga   (async spellcheck request #1)

User selects a range:
it's a meag|esga meag|esga

User deletes a range:
it's a meag^esga           (^ - caret position)

Spellchecker gets response for request #1 and applies it!
it's a meag^esga
       ~~~~~~~~~

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20150122/c4404521/attachment-0002.html>


More information about the webkit-unassigned mailing list