[Webkit-unassigned] [Bug 107737] [Chromium] Editor::m_compositionNode not updated on HTMLInputElement::setValue()

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jan 25 16:51:48 PST 2013


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





--- Comment #17 from Ryosuke Niwa <rniwa at webkit.org>  2013-01-25 16:53:43 PST ---
(From update of attachment 184829)
View in context: https://bugs.webkit.org/attachment.cgi?id=184829&action=review

>>>>> Source/WebCore/editing/Editor.cpp:2883
>>>>> +        cancelComposition();
>>>> 
>>>> I'd like to know why this bug only reproduces in Chromium first.
>>> 
>>> This bug is fixed in Mac port because on WebEditorClient::respondToChangedSelection there is a call to WebHTMLView::_selectionChanged which in turn calls WebHTMLView::_updateSelectionForInputManager. In _updateSelectionForInputManager there is this exact check as in this patch that calls editor()->cancelComposition().
>>> 
>>> Chromium does not have a similar call path.
>> 
>> Why don't you make the same call in WebEditorClient then? Alternatively, we can move that code in the mac port to WebCore but then we should be deleting the code in WebEditorClient instead.
> 
> I think it would be good to have shared code as this would benefit all the WebKit clients. Do yo think this is a good place to put it though?
> 
> Also, do you think we should pass a new argument to EditorClient::respondToChangedSelection() that would tell the client if the composition was cancelled? That way I could remove most of the updateSelectionForInputManager code.

We could do that. Alternatively, the client can keep track of when the composition was canceled since I think we already have a callback for when a composition is canceled.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list