Bug 206341
Summary: | [GTK] Missing onbeforeinput or extra oninput in certain case | ||
---|---|---|---|
Product: | WebKit | Reporter: | Milan Crha <mcrha> |
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | bugs-noreply |
Priority: | P2 | ||
Version: | Other | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Milan Crha
As far as I know, every oninput event should be preceded by onbeforeinput, or at least things like entering text and deleting it should do that. I found out a case, where it is not done, the onbeforeinput is missing or the oninput is invoked in error.
Steps:
a) open MiniBrowser in editor mode:
$ MiniBrowser --editor-mode
b) open the Web Inspector and execute in the JavaScript console these two commands:
document.body.onbeforeinput = function(event) { console.log("before input:" + event.inputType); };
document.body.oninput = function(event) { console.log("input:" + event.inputType); };
c) click with the mouse to the window body
d) press these keys: <Enter><Backspace>
The console should show:
before input:insertParagraph
input:insertParagraph
before input:deleteContentBackward
input:deleteContentBackward
So far so good.
d) press this key once: <Backspace>
While there should be added to the console:
before input:deleteContentBackward
input:deleteContentBackward
there's only added:
input:deleteContentBackward
thus the onbeforeinput invocation is missing.
Pressing <Backspace> again doesn't invoke onbeforeinput, neither oninput, as expected.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |