RESOLVED FIXED 228802
REGRESSION (r280492): Clicking backspace on sign in fields results in deleting two characters instead of one
https://bugs.webkit.org/show_bug.cgi?id=228802
Summary REGRESSION (r280492): Clicking backspace on sign in fields results in deletin...
Dana Estra
Reported 2021-08-04 15:25:09 PDT
REGRESSION (r280492): Clicking backspace on sign in fields results in deleting two characters instead of one
Attachments
Patch (1.46 KB, patch)
2021-08-04 15:29 PDT, Dana Estra
no flags
Patch (1.45 KB, patch)
2021-08-04 16:07 PDT, Dana Estra
no flags
For EWS (4.87 KB, patch)
2021-08-04 17:56 PDT, Wenson Hsieh
no flags
Dana Estra
Comment 1 2021-08-04 15:29:49 PDT
Tim Horton
Comment 2 2021-08-04 15:43:29 PDT
Comment on attachment 434942 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=434942&action=review > Source/WebCore/ChangeLog:8 > + No tests yet. The fact that this didn't break any tests is astounding; you should see if Wenson has any good ideas about how to test the software keyboard codepath (we may not have a good way, and no need for making one to block the regression fix).
Wenson Hsieh
Comment 3 2021-08-04 15:50:39 PDT
(In reply to Tim Horton from comment #2) > Comment on attachment 434942 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=434942&action=review > > > Source/WebCore/ChangeLog:8 > > + No tests yet. > > The fact that this didn't break any tests is astounding; you should see if > Wenson has any good ideas about how to test the software keyboard codepath > (we may not have a good way, and no need for making one to block the > regression fix). The last time I looked into adding support for this, I did not find any straightforward way to achieve this (using API, SPI, or even IPI). That said, it has been several years since this investigation, so we should take another look at this! (In the shorter term, perhaps it's also possible to write an API test that swizzles/mocks/calls directly into `WKContentView` to simulate pressing the delete key on the software keyboard on iOS).
Wenson Hsieh
Comment 4 2021-08-04 15:57:22 PDT
(In reply to Wenson Hsieh from comment #3) > (In reply to Tim Horton from comment #2) > > Comment on attachment 434942 [details] > > Patch > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=434942&action=review > > > > > Source/WebCore/ChangeLog:8 > > > + No tests yet. > > > > The fact that this didn't break any tests is astounding; you should see if > > Wenson has any good ideas about how to test the software keyboard codepath > > (we may not have a good way, and no need for making one to block the > > regression fix). > > The last time I looked into adding support for this, I did not find any > straightforward way to achieve this (using API, SPI, or even IPI). That > said, it has been several years since this investigation, so we should take > another look at this! > > (In the shorter term, perhaps it's also possible to write an API test that > swizzles/mocks/calls directly into `WKContentView` to simulate pressing the > delete key on the software keyboard on iOS). From a quick debugging session on my iPhone, it looks like we might be able to grab the TIKeyboardLayout from the active UIKeyboardImpl, look up the frame (CGRect) of the corresponding key string, map that from input view coordinates into screen coordinates, and then synthesize HID events to tap the center of that rect. I suppose any test that uses this mechanism would need to listen for DOM events (keyup) to know that the key press is finished.
Dana Estra
Comment 5 2021-08-04 16:07:03 PDT
Wenson Hsieh
Comment 6 2021-08-04 16:08:54 PDT
EWS
Comment 7 2021-08-04 16:54:02 PDT
Committed r280671 (240276@main): <https://commits.webkit.org/240276@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 434949 [details].
Wenson Hsieh
Comment 8 2021-08-04 17:56:44 PDT Comment hidden (obsolete)
Wenson Hsieh
Comment 9 2021-08-04 17:56:45 PDT Comment hidden (obsolete)
Wenson Hsieh
Comment 10 2021-08-04 17:57:36 PDT Comment hidden (obsolete)
Note You need to log in before you can comment on or make changes to this bug.