Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6579616b4bb7adc583d862b1fe09586128f9f32e
      
https://github.com/WebKit/WebKit/commit/6579616b4bb7adc583d862b1fe09586128f9f32e
  Author: Wenson Hsieh <wenson_hs...@apple.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M Source/WebKit/UIProcess/ios/forms/WKDatePickerPopoverController.mm

  Log Message:
  -----------
  Maps sometimes crashes in -[NSPopover 
showRelativeToRect:ofView:preferredEdge:] when presenting a date picker
https://bugs.webkit.org/show_bug.cgi?id=269513
rdar://121850106

Reviewed by Aditya Keerthi.

The changes in https://commits.webkit.org/272922@main mitigated cases where 
rotating on iOS caused the date picker to
lay out incorrectly. In previous iOS releases, this used to cause the date 
picker to dismiss altogether, so this change
restored that behavior by adding logic to immediately dismiss the date picker 
when the size of the popover container is
changing outside of the scope of presentation or dismissal (i.e. during 
rotation).

However, on Catalyst, the `-isBeingPresented` flag is `NO` despite being in the 
middle of popover presentation, so we
end up immediately dismissing the popover while it's in the middle of 
presenting, which causes a crash in AppKit.
rdar://123039861 tracks the that the flag returns NO during presentation; for 
now, we'll address this by avoiding this
codepath altogether on Catalyst, since it's only intended to kick in during 
device rotation on iOS anyways.

* Source/WebKit/UIProcess/ios/forms/WKDatePickerPopoverController.mm:

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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to