[webkit-changes] [WebKit/WebKit] a166cb: [iOS] Time picker fails to blur after tapping the ...

Wenson Hsieh noreply at github.com
Wed Jan 24 21:53:39 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a166cbc7846f1df9bac19ca8a314f333e122d8bb
      https://github.com/WebKit/WebKit/commit/a166cbc7846f1df9bac19ca8a314f333e122d8bb
  Author: Wenson Hsieh <wenson_hsieh at apple.com>
  Date:   2024-01-24 (Wed, 24 Jan 2024)

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

  Log Message:
  -----------
  [iOS] Time picker fails to blur after tapping the page while editing hour/minute text fields
https://bugs.webkit.org/show_bug.cgi?id=268046
rdar://119175928

Reviewed by Aditya Keerthi.

When editing hour/minute text fields while a time picker is presented and then tapping any non-
editable content on the page to dismiss the time picker and keyboard, the
`-presentationControllerDidDismiss:` `UIPopoverPresentationControllerDelegate` method never gets
invoked by UIKit. As a result, we end up never sending `-accessoryDone` back to the content view and
blurring the time input, which then gets us into a state where subsequent attempts to focus the time
input fail to show a popover, because the content view is still in a state where it thinks the
popover is still presenting.

To address this, we can instead override `-viewDidDisappear:` and notify the popover controller
delegate if needed, which is (luckily) still invoked in this scenario.

* Source/WebKit/UIProcess/ios/forms/WKDatePickerPopoverController.mm:
(-[WKDatePickerPopoverController viewDidDisappear:]):

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




More information about the webkit-changes mailing list