Bug 57681

Summary: REGRESSION: Assertion failure when executing a complex custom key binding
Product: WebKit Reporter: Alexey Proskuryakov <ap>
Component: HTML EditingAssignee: Alexey Proskuryakov <ap>
Status: RESOLVED FIXED    
Severity: Normal CC: darin
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: All   
Attachments:
Description Flags
proposed fix darin: review+

Description Alexey Proskuryakov 2011-04-01 16:37:13 PDT
In an attempt to make results of NSTextInput protocol methods more correct, we now execute saved commands when executing any method that returns a result (which could be stale otherwise).

This means that insertText: can now be sent back to WebCore while interpreting the original RawKeyDown event - but Editor::insertText asserts that the underlying event is a Char one.
Comment 1 Alexey Proskuryakov 2011-04-01 16:42:37 PDT
Created attachment 87942 [details]
proposed fix
Comment 2 Alexey Proskuryakov 2011-04-01 16:45:02 PDT
This doesn't address the root cause - there is still a theoretical possibility of a input source sending an insertText:, and then forcing immediate execution by asking about something. But this fixes the bug and improves performance, so it's a good thing.
Comment 3 Enrica Casucci 2011-04-01 17:07:27 PDT
Comment on attachment 87942 [details]
proposed fix

Makes perfect sense to me.
Comment 4 Alexey Proskuryakov 2011-04-01 17:29:04 PDT
Committed <http://trac.webkit.org/changeset/82749>.