Bug 191475

Summary: [iOS] WebKit should handle shift state changes when using the software keyboard
Product: WebKit Reporter: Daniel Bates <dbates>
Component: WebKit Misc.Assignee: Daniel Bates <dbates>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, dino, ews-watchlist, megan_gardner, webkit-bug-importer, wenson_hsieh
Priority: P2 Keywords: InRadar
Version: WebKit Local Build   
Hardware: iPhone / iPad   
OS: iOS 12   
URL: https://unixpapa.com/js/testkey.html
Bug Depends on:    
Bug Blocks: 190571, 190565    
Attachments:
Description Flags
Patch
none
Archive of layout-test-results from ews126 for ios-simulator-wk2
none
Patch
none
Archive of layout-test-results from ews124 for ios-simulator-wk2 none

Description Daniel Bates 2018-11-09 10:56:13 PST
Tapping the shift key on the software keyboard should dispatch DOM key events. Double tapping the shift key on the software keyboard to toggle caps locks should show the caps locks indicator if the currently focused element is a password field.
Comment 1 Daniel Bates 2018-11-09 11:00:13 PST
You can observe this issue by performing the following:

1. Visit <https://unixpapa.com/js/testkey.html>.
2. Check the modifiers checkbox.
3. Focus the text field.
4. Tap the shift key on the software keyboard.

Nothing happens. But we should have seen a keydown and keyup event for the shift key.

Similarly, nothing happens if you enable caps lock or disable caps lock by double tapping the shift key.
Comment 2 Radar WebKit Bug Importer 2018-11-09 11:01:36 PST
<rdar://problem/45949246>
Comment 3 Daniel Bates 2018-12-18 16:04:09 PST
Created attachment 357627 [details]
Patch

It is not possible to write a test for this change with our current infrastructure without mocking more of the software keyboard or performing user interface testing. I am open to ideas.
Comment 4 EWS Watchlist 2018-12-18 18:06:54 PST
Comment on attachment 357627 [details]
Patch

Attachment 357627 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: https://webkit-queues.webkit.org/results/10466513

New failing tests:
imported/w3c/web-platform-tests/webrtc/simplecall-no-ssrcs.https.html
Comment 5 EWS Watchlist 2018-12-18 18:06:56 PST
Created attachment 357644 [details]
Archive of layout-test-results from ews126 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews126  Port: ios-simulator-wk2  Platform: Mac OS X 10.13.6
Comment 6 Brent Fulgham 2019-01-04 12:57:37 PST
Comment on attachment 357644 [details]
Archive of layout-test-results from ews126 for ios-simulator-wk2

This EWS failure is not related to this patch. I've seen it happen on other patches as well.
Comment 7 Daniel Bates 2019-01-04 16:52:30 PST
Created attachment 358396 [details]
Patch
Comment 8 EWS Watchlist 2019-01-04 18:47:24 PST
Comment on attachment 358396 [details]
Patch

Attachment 358396 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: https://webkit-queues.webkit.org/results/10635430

New failing tests:
imported/w3c/web-platform-tests/webrtc/simplecall.https.html
Comment 9 EWS Watchlist 2019-01-04 18:47:26 PST
Created attachment 358418 [details]
Archive of layout-test-results from ews124 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews124  Port: ios-simulator-wk2  Platform: Mac OS X 10.13.6
Comment 10 Daniel Bates 2019-01-22 13:15:43 PST
Comment on attachment 358396 [details]
Patch

Clearing flags on attachment: 358396

Committed r240288: <https://trac.webkit.org/changeset/240288>
Comment 11 Daniel Bates 2019-01-22 13:15:44 PST
All reviewed patches have been landed.  Closing bug.