Bug 58265 - WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut
Summary: WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.6
: P2 Normal
Assignee: Alexey Proskuryakov
Keywords: InRadar
Depends on:
Reported: 2011-04-11 13:48 PDT by Alexey Proskuryakov
Modified: 2011-04-28 14:14 PDT (History)
2 users (show)

See Also:

proposed fix (11.01 KB, patch)
2011-04-11 14:04 PDT, Alexey Proskuryakov
mjs: 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-11 13:48:43 PDT
WebPage::performDefaultBehaviorForKeyEvent() doesn't check for modifiers, so it consumes too many variations with the Delete key.

This used to be fine in WebKit1, because the logic was in -[FrameView keyDown:], which was only executed after performKeyEquivalent traveled the responder chain - but in WebKit2, the web process doesn't even know if it's handling a keyDown or a performKeyEquivalent.

Comment 1 Alexey Proskuryakov 2011-04-11 14:04:00 PDT
Created attachment 89083 [details]
proposed fix
Comment 2 Maciej Stachowiak 2011-04-11 15:11:29 PDT
Comment on attachment 89083 [details]
proposed fix


Is there any way to make a test for this?
Comment 3 Alexey Proskuryakov 2011-04-11 15:50:12 PDT
Committed <http://trac.webkit.org/changeset/83522>.

We can't test how UI and web processes interact, since WebKitTestRunner only uses injected bundle API.
Comment 4 Evan Martin 2011-04-28 12:07:38 PDT
FYI, this seems to have regressed the behavior in Linux Chrome that pressing backspace should not go back.  I'm still looking into why; I don't understand this code too well.  I am not upset because we deserved it, since didn't have tests covering this behavior, just thought you might wanna know.
Comment 5 Alexey Proskuryakov 2011-04-28 14:14:13 PDT
Well yes, this code implements the behavior of going back on backspace in a cross platform manner. I didn't know there was any port that didn't want it, and I'm surprised.