RESOLVED FIXED Bug 191446
[iOS] Mouse/Touch/Pointer events are missing modifier keys
https://bugs.webkit.org/show_bug.cgi?id=191446
Summary [iOS] Mouse/Touch/Pointer events are missing modifier keys
Daniel Bates
Reported 2018-11-08 16:58:30 PST
Seen on an iPad running iOS 12 with a hardware keyboard attached. All modifier keys are false in a non-programmatically-generated mouse event regardless of whether a modifier key was held when the mouse event was created. I noticed this when using the Contact app on iCloud.com. You can observe this issue yourself by performing the following: 1. Visit <https://icloud.com> and sign in. 2. Tap Contacts. 3. Tap on some contact. 4. Hold down the Shift key on the keyboard and tap another contact. Then all contacts between the first contact tapped in (3) and the last contact tapped in (4) should be selected. But only the last tapped contact in (4) is selected.
Attachments
Work-in-progress patch (39.30 KB, patch)
2019-02-06 16:08 PST, Daniel Bates
no flags
Now with an untested test! (48.19 KB, patch)
2019-02-07 11:16 PST, Daniel Bates
no flags
Work-in-progress patch (49.71 KB, patch)
2019-02-07 12:23 PST, Daniel Bates
no flags
Work-in-progress patch (49.86 KB, patch)
2019-02-07 13:31 PST, Daniel Bates
no flags
Archive of layout-test-results from ews103 for mac-highsierra (2.42 MB, application/zip)
2019-02-07 14:31 PST, EWS Watchlist
no flags
Archive of layout-test-results from ews112 for mac-highsierra (2.28 MB, application/zip)
2019-02-07 15:01 PST, EWS Watchlist
no flags
Archive of layout-test-results from ews121 for ios-simulator-wk2 (1.19 MB, application/zip)
2019-02-07 15:02 PST, EWS Watchlist
no flags
Archive of layout-test-results from ews107 for mac-highsierra-wk2 (2.53 MB, application/zip)
2019-02-07 15:11 PST, EWS Watchlist
no flags
Patch and layout tests (103.41 KB, patch)
2019-02-08 14:51 PST, Daniel Bates
no flags
Archive of layout-test-results from ews100 for mac-highsierra (2.44 MB, application/zip)
2019-02-08 15:56 PST, EWS Watchlist
no flags
Archive of layout-test-results from ews107 for mac-highsierra-wk2 (2.73 MB, application/zip)
2019-02-08 16:02 PST, EWS Watchlist
no flags
Archive of layout-test-results from ews121 for ios-simulator-wk2 (737.19 KB, application/zip)
2019-02-08 16:23 PST, EWS Watchlist
no flags
Archive of layout-test-results from ews113 for mac-highsierra (2.05 MB, application/zip)
2019-02-08 18:15 PST, EWS Watchlist
no flags
Patch and layout tests (105.72 KB, patch)
2019-02-10 12:36 PST, Daniel Bates
no flags
Patch and layout tests (106.27 KB, patch)
2019-02-10 12:47 PST, Daniel Bates
no flags
Archive of layout-test-results from ews107 for mac-highsierra-wk2 (2.60 MB, application/zip)
2019-02-10 14:05 PST, EWS Watchlist
no flags
Archive of layout-test-results from ews124 for ios-simulator-wk2 (2.47 MB, application/zip)
2019-02-10 14:47 PST, EWS Watchlist
no flags
Patch and layout tests (111.11 KB, patch)
2019-02-10 15:09 PST, Daniel Bates
no flags
Cat for Tim (46.93 KB, patch)
2019-02-11 10:55 PST, Daniel Bates
thorton: review-
Radar WebKit Bug Importer
Comment 1 2018-11-08 16:58:49 PST
Daniel Bates
Comment 2 2019-02-06 14:56:58 PST
(In reply to Daniel Bates from comment #0) > Seen on an iPad running iOS 12 with a hardware keyboard attached. > > All modifier keys are false in a non-programmatically-generated mouse event > regardless of whether a modifier key was held when the mouse event was > created. I noticed this when using the Contact app on iCloud.com. You can > observe this issue yourself by performing the following: > > 1. Visit <https://icloud.com> and sign in. > 2. Tap Contacts. > 3. Tap on some contact. > 4. Hold down the Shift key on the keyboard and tap another contact. > > Then all contacts between the first contact tapped in (3) and the last > contact tapped in (4) should be selected. But only the last tapped contact > in (4) is selected. iCloud seems to use touch events on iOS and does not check for modifier flags. iCloud will address this in <rdar://problem/47856410>. Re-purposing this bug to wire up modifier keys for mouse, touch/pointer events.
Daniel Bates
Comment 3 2019-02-06 16:08:07 PST
Created attachment 361342 [details] Work-in-progress patch
EWS Watchlist
Comment 4 2019-02-06 16:09:21 PST Comment hidden (obsolete)
Daniel Bates
Comment 5 2019-02-07 11:16:18 PST
Created attachment 361421 [details] Now with an untested test! Now packed with a build fix and fortified with an untested test!
EWS Watchlist
Comment 6 2019-02-07 11:20:04 PST Comment hidden (obsolete)
Daniel Bates
Comment 7 2019-02-07 12:23:00 PST
Created attachment 361427 [details] Work-in-progress patch
EWS Watchlist
Comment 8 2019-02-07 12:25:06 PST Comment hidden (obsolete)
Daniel Bates
Comment 9 2019-02-07 13:31:57 PST
Created attachment 361435 [details] Work-in-progress patch
EWS Watchlist
Comment 10 2019-02-07 13:34:48 PST Comment hidden (obsolete)
EWS Watchlist
Comment 11 2019-02-07 14:31:17 PST Comment hidden (obsolete)
EWS Watchlist
Comment 12 2019-02-07 14:31:19 PST Comment hidden (obsolete)
EWS Watchlist
Comment 13 2019-02-07 15:01:32 PST Comment hidden (obsolete)
EWS Watchlist
Comment 14 2019-02-07 15:01:33 PST Comment hidden (obsolete)
EWS Watchlist
Comment 15 2019-02-07 15:02:20 PST Comment hidden (obsolete)
EWS Watchlist
Comment 16 2019-02-07 15:02:21 PST Comment hidden (obsolete)
EWS Watchlist
Comment 17 2019-02-07 15:11:38 PST Comment hidden (obsolete)
EWS Watchlist
Comment 18 2019-02-07 15:11:39 PST Comment hidden (obsolete)
Daniel Bates
Comment 19 2019-02-08 14:51:25 PST
Created attachment 361538 [details] Patch and layout tests
EWS Watchlist
Comment 20 2019-02-08 14:54:26 PST Comment hidden (obsolete)
EWS Watchlist
Comment 21 2019-02-08 15:56:54 PST Comment hidden (obsolete)
EWS Watchlist
Comment 22 2019-02-08 15:56:56 PST Comment hidden (obsolete)
EWS Watchlist
Comment 23 2019-02-08 16:02:03 PST Comment hidden (obsolete)
EWS Watchlist
Comment 24 2019-02-08 16:02:04 PST Comment hidden (obsolete)
EWS Watchlist
Comment 25 2019-02-08 16:23:28 PST Comment hidden (obsolete)
EWS Watchlist
Comment 26 2019-02-08 16:23:29 PST Comment hidden (obsolete)
EWS Watchlist
Comment 27 2019-02-08 18:15:42 PST Comment hidden (obsolete)
EWS Watchlist
Comment 28 2019-02-08 18:15:44 PST Comment hidden (obsolete)
Daniel Bates
Comment 29 2019-02-10 12:36:11 PST
Created attachment 361637 [details] Patch and layout tests
EWS Watchlist
Comment 30 2019-02-10 12:38:52 PST
Attachment 361637 [details] did not pass style-queue: ERROR: Source/WebKit/Shared/ios/NativeWebTouchEventIOS.mm:124: Comma should be at the beginning of the line in a member initialization list. [whitespace/init] [4] Total errors found: 1 in 35 files If any of these errors are false positives, please file a bug against check-webkit-style.
Daniel Bates
Comment 31 2019-02-10 12:47:41 PST
Created attachment 361639 [details] Patch and layout tests
EWS Watchlist
Comment 32 2019-02-10 12:52:12 PST
Attachment 361639 [details] did not pass style-queue: ERROR: Source/WebKit/Shared/ios/NativeWebTouchEventIOS.mm:124: Comma should be at the beginning of the line in a member initialization list. [whitespace/init] [4] Total errors found: 1 in 35 files If any of these errors are false positives, please file a bug against check-webkit-style.
EWS Watchlist
Comment 33 2019-02-10 14:05:23 PST
Comment on attachment 361639 [details] Patch and layout tests Attachment 361639 [details] did not pass mac-wk2-ews (mac-wk2): Output: https://webkit-queues.webkit.org/results/11101945 New failing tests: http/tests/security/anchor-download-block-crossorigin.html
EWS Watchlist
Comment 34 2019-02-10 14:05:25 PST
Created attachment 361641 [details] Archive of layout-test-results from ews107 for mac-highsierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-highsierra-wk2 Platform: Mac OS X 10.13.6
EWS Watchlist
Comment 35 2019-02-10 14:47:15 PST
Comment on attachment 361639 [details] Patch and layout tests Attachment 361639 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: https://webkit-queues.webkit.org/results/11102004 New failing tests: imported/w3c/web-platform-tests/webrtc/simplecall-no-ssrcs.https.html
EWS Watchlist
Comment 36 2019-02-10 14:47:17 PST
Created attachment 361642 [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
Daniel Bates
Comment 37 2019-02-10 15:09:01 PST
Created attachment 361646 [details] Patch and layout tests Also patch up _hoverGestureRecognizerChanged
EWS Watchlist
Comment 38 2019-02-10 15:12:12 PST
Attachment 361646 [details] did not pass style-queue: ERROR: Source/WebKit/Shared/ios/NativeWebTouchEventIOS.mm:124: Comma should be at the beginning of the line in a member initialization list. [whitespace/init] [4] Total errors found: 1 in 38 files If any of these errors are false positives, please file a bug against check-webkit-style.
Tim Horton
Comment 39 2019-02-11 10:47:59 PST
Comment on attachment 361646 [details] Patch and layout tests View in context: https://bugs.webkit.org/attachment.cgi?id=361646&action=review > LayoutTests/http/tests/adClickAttribution/anchor-tag-attributes-validation-expected.txt:-2 > -CONSOLE MESSAGE: line 107: adcampaignid must have a non-negative value less than 64 for Ad Click Attribution. We should really fix these
Daniel Bates
Comment 40 2019-02-11 10:55:46 PST
Created attachment 361696 [details] Cat for Tim
Daniel Bates
Comment 41 2019-02-11 11:02:00 PST
Comment on attachment 361646 [details] Patch and layout tests Clearing flags on attachment: 361646 Committed r241272: <https://trac.webkit.org/changeset/241272>
Daniel Bates
Comment 42 2019-02-11 11:02:02 PST
All reviewed patches have been landed. Closing bug.
Alex Christensen
Comment 43 2019-02-11 12:43:19 PST
WebKit Commit Bot
Comment 44 2019-02-11 13:48:41 PST
Re-opened since this is blocked by bug 194513
Daniel Bates
Comment 45 2019-02-11 15:24:32 PST
Note You need to log in before you can comment on or make changes to this bug.