Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7fd6818d91806bf407ec38e3be19038ee2790e98
      
https://github.com/WebKit/WebKit/commit/7fd6818d91806bf407ec38e3be19038ee2790e98
  Author: Wenson Hsieh <[email protected]>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M Source/WebCore/platform/ios/WebEvent.mm

  Log Message:
  -----------
  [iOS] Pressing any modifier with a hardware keyboard debug asserts under 
-[WebEvent characters]
https://bugs.webkit.org/show_bug.cgi?id=269430
rdar://122968675

Reviewed by Aditya Keerthi.

In iOS 17.4, UIKit now always calls into `-characters` and 
`-charactersIgnoringModifiers` in the
process of constructing a `UIKeyEvent` from a `WebEvent` (which is eventually 
wrapped in a
`BEKeyEvent`). For modifier keys, this ends up triggering assertions in these 
two methods.

To keep these assertions relevant when using `BEKeyEntry` for key event 
dispatch, only allow them to
trigger once the key event arrives in WebKit code, and we proceed to unwrap the 
`BEKeyEntry` back
into the underlying `WebEvent`.

This fixes ~25 failing tests in debug iOS.

* Source/WebCore/platform/ios/WebEvent.mm:
(-[WebEvent characters]):
(-[WebEvent charactersIgnoringModifiers]):
(-[WebEvent initWithKeyEntry:]):

Canonical link: https://commits.webkit.org/274701@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to