Bug 58265

Summary: WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut
Product: WebKit Reporter: Alexey Proskuryakov <ap>
Component: WebKit2Assignee: Alexey Proskuryakov <ap>
Status: RESOLVED FIXED    
Severity: Normal CC: enrica, evan
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.6   
Attachments:
Description Flags
proposed fix mjs: review+

Alexey Proskuryakov
Reported 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. <rdar://problem/9221468>
Attachments
proposed fix (11.01 KB, patch)
2011-04-11 14:04 PDT, Alexey Proskuryakov
mjs: review+
Alexey Proskuryakov
Comment 1 2011-04-11 14:04:00 PDT
Created attachment 89083 [details] proposed fix
Maciej Stachowiak
Comment 2 2011-04-11 15:11:29 PDT
Comment on attachment 89083 [details] proposed fix r=me Is there any way to make a test for this?
Alexey Proskuryakov
Comment 3 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.
Evan Martin
Comment 4 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.
Alexey Proskuryakov
Comment 5 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.
Note You need to log in before you can comment on or make changes to this bug.