Bug 217692
Summary: | `beforeinput` event is not fired when selecting an item of autocomplete or password manager | ||
---|---|---|---|
Product: | WebKit | Reporter: | Masayuki Nakano <masayuki> |
Component: | HTML Editing | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | ahmad.saleem792, karlcow, megan_gardner, mike, webkit-bug-importer, wenson_hsieh |
Priority: | P2 | Keywords: | BrowserCompat, InRadar |
Version: | Safari 14 | ||
Hardware: | Mac | ||
OS: | macOS 10.15 |
Masayuki Nakano
1. Go to https://d-toybox.com/studio/lib/input_event_viewer.html
2. Choose "<input type="text">"
3. Submit the form below "Test editor beahvior:"
4. Then, you'll see same page, backspace some characters from the last to show autocomplete suggest.
5. Choose one of the list.
Then, `beforeinput` should be fired when replacing the `<input>`'s value, but only `input` event is fired. You can check it with the table below "Events:".
You can similar thing with password manager with choosing "<input type="password">" at #2.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/70304782>
Masayuki Nakano
FYI: Firefox will ship `beforeinput` with the following hack because of this WebKit's bug and Blink's same bug (https://bugs.chromium.org/p/chromium/issues/detail?id=1051844).
1. Will fire `beforeinput` event when user uses build-in autocomplete etc.
2. Set its `inputType` to `insertReplacementText` as defined by the spec.
3. But make it not cancelable for protecting Firefox users from web apps which unexpectedly blocks default actions of `insertReplacementText`.
https://phabricator.services.mozilla.com/D93206
sideshowbarker
Nakano-san, Do you know if we have any relevant WPT tests for this?
sideshowbarker
Nakano-san, Is the Chrome behavior for this case spec-conforming?
Masayuki Nakano
(In reply to sideshowbarker from comment #3)
> Nakano-san, Do you know if we have any relevant WPT tests for this?
Unfortunately, there is no WPTs because the test driver does not provide a way to work with browsers' UI like a popup of autocomplete.
(In reply to sideshowbarker from comment #4)
> Nakano-san, Is the Chrome behavior for this case spec-conforming?
No, I filed Chromium bug too.
https://issues.chromium.org/issues/40673974