Bug 220723
| Summary: | Page scrolls when dispatching space keypress event from an input field | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Mats <mats> |
| Component: | UI Events | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | ap, cdumez, graouts, hi, smoley, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | Safari 14 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Mats
When pressing space key inside a textfield, no page scroll is observed. Should work the same for untrusted events, test case below:
Open any page with an input on it, such as: https://bugs.webkit.org/
Run this in the console:
const input = $('input[type=text]'); // grab first input on the page
const event = new KeyboardEvent('keypress', {
altKey: false,
bubbles: true,
cancelBubble: false,
cancelable: true,
charCode: 32,
code: "Space",
composed: true,
ctrlKey: false,
currentTarget: null,
defaultPrevented: false,
detail: 0,
eventPhase: 0,
isComposing: false,
key: " ",
keyCode: 0,
location: 0,
metaKey: false,
repeat: false,
returnValue: true,
shiftKey: false,
srcElement: input,
target: input,
type: "keypress",
which: 0
});
input.focus();
input.dispatchEvent(event);
Note that page scrolls.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/73479284>