Bug 57681 - REGRESSION: Assertion failure when executing a complex custom key binding
Summary: REGRESSION: Assertion failure when executing a complex custom key binding
Alias: None
Product: WebKit
Classification: Unclassified
Component: HTML Editing (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac All
: P2 Normal
Assignee: Alexey Proskuryakov
Depends on:
Reported: 2011-04-01 16:37 PDT by Alexey Proskuryakov
Modified: 2011-04-01 17:29 PDT (History)
1 user (show)

See Also:

proposed fix (3.20 KB, patch)
2011-04-01 16:42 PDT, Alexey Proskuryakov
darin: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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>.