Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6e9c8d2df7209e93bc447cc3fcba86771b8cc4b5
      
https://github.com/WebKit/WebKit/commit/6e9c8d2df7209e93bc447cc3fcba86771b8cc4b5
  Author: Anne van Kesteren <[email protected]>
  Date:   2026-03-12 (Thu, 12 Mar 2026)

  Changed paths:
    M 
LayoutTests/editing/selection/click-selection-with-selectstart-node-removal.html
    M LayoutTests/fast/dom/FileList-iterator-using-open-panel.html
    M LayoutTests/fast/dom/HTMLAnchorElement/anchor-download-unset.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-download-user-triggered-synthetic-click.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download-async-delegate.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-base-target-popup-not-allowed.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-target-popup-not-allowed.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-target.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-backslash.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-doublequote.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-slashes.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-unicode.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-no-extension.html
    M LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download.html
    M LayoutTests/fast/dom/HTMLAnchorElement/anchor-nodownload-set.html
    M LayoutTests/fast/dom/HTMLAnchorElement/anchor-nodownload.html
    M 
LayoutTests/fast/events/can-click-element-on-page-with-active-pseudo-class-and-search-field.html
    M LayoutTests/fast/events/ios/fire-input-and-keypress-on-return-key.html
    M LayoutTests/fast/events/ios/key-command-italic-dispatches-keydown.html
    M LayoutTests/fast/events/ios/key-command-italic.html
    M LayoutTests/fast/events/ios/key-command-transpose.html
    M LayoutTests/fast/events/ios/submit-form-target-blank-using-return-key.html
    M LayoutTests/fast/files/apply-blob-url-to-img-using-open-panel.html
    M LayoutTests/fast/files/apply-blob-url-to-xhr-using-open-panel.html
    M LayoutTests/fast/files/file-list-test-using-open-panel.html
    M LayoutTests/fast/files/file-reader-abort-using-open-panel.html
    M LayoutTests/fast/files/file-reader-directory-crash-using-open-panel.html
    M LayoutTests/fast/files/filereader-zip-bundle-using-open-panel.html
    M 
LayoutTests/fast/forms/auto-fill-button/caps-lock-indicator-should-be-visible-after-hiding-auto-fill-strong-password-button.html
    M 
LayoutTests/fast/forms/auto-fill-button/caps-lock-indicator-should-not-be-visible-when-auto-fill-strong-password-button-is-visible.html
    M 
LayoutTests/fast/forms/datalist/datalist-textinput-dynamically-add-options-on-keydown-expected.txt
    M 
LayoutTests/fast/forms/datalist/datalist-textinput-dynamically-add-options-on-keydown.html
    M LayoutTests/fast/forms/datalist/datalist-textinput-keydown.html
    M 
LayoutTests/fast/forms/date/date-editable-components/date-editable-components-focus-and-blur-events.html
    M 
LayoutTests/fast/forms/date/date-editable-components/date-editable-components-mouse-events.html
    M 
LayoutTests/fast/forms/datetimelocal/datetimelocal-editable-components/datetimelocal-editable-components-focus-and-blur-events.html
    M 
LayoutTests/fast/forms/datetimelocal/datetimelocal-editable-components/datetimelocal-editable-components-mouse-events.html
    M LayoutTests/fast/forms/file/entries-api/image-no-transcode-open-panel.html
    M LayoutTests/fast/forms/file/entries-api/image-transcode-open-panel.html
    M LayoutTests/fast/forms/file/entries-api/pages-jpeg-open-panel.html
    M LayoutTests/fast/forms/file/entries-api/pdf-jpeg-open-panel.html
    M LayoutTests/fast/forms/file/entries-api/png-raw-open-panel.html
    M LayoutTests/fast/forms/file/entries-api/webkitdirectory-open-panel.html
    M LayoutTests/fast/forms/file/file-input-reset-using-open-panel.html
    M LayoutTests/fast/forms/file/file-input-type-detached-on-change.html
    M LayoutTests/fast/forms/file/file-input-user-selection-events.html
    M 
LayoutTests/fast/forms/file/file-reset-in-change-using-open-panel-with-icon.html
    M LayoutTests/fast/forms/file/file-reset-in-change-using-open-panel.html
    M LayoutTests/fast/forms/file/get-file-upload-using-open-panel.html
    M LayoutTests/fast/forms/file/input-file-value-using-open-panel.html
    M LayoutTests/fast/forms/file/input-file-write-files-using-open-panel.html
    M LayoutTests/fast/forms/file/open-file-panel-crash.html
    M 
LayoutTests/fast/forms/focus-change-after-layout-update-during-focus-crash.html
    M LayoutTests/fast/forms/ios/refocus-select-after-size-change.html
    M LayoutTests/fast/forms/ios/show-select-menu-in-unparented-view-crash.html
    M 
LayoutTests/fast/forms/month/month-editable-components/month-editable-components-focus-and-blur-events.html
    M 
LayoutTests/fast/forms/month/month-editable-components/month-editable-components-mouse-events.html
    M LayoutTests/fast/forms/password-scrolled-after-caps-lock-toggled.html
    M LayoutTests/fast/forms/switch/click-animation-disabled.html
    M 
LayoutTests/fast/forms/switch/click-animation-interrupted-document-removed.html
    M LayoutTests/fast/forms/switch/click-animation-interrupted-type-change.html
    M LayoutTests/fast/forms/switch/click-animation-interrupted.html
    M LayoutTests/fast/forms/switch/click-animation-preventdefault.html
    M LayoutTests/fast/forms/switch/click-animation-redundant-checked.html
    M LayoutTests/fast/forms/switch/click-animation-redundant-disabled.html
    M LayoutTests/fast/forms/switch/click-animation-twice.html
    M LayoutTests/fast/forms/switch/click-animation.html
    M 
LayoutTests/fast/forms/time/time-editable-components/time-editable-components-focus-and-blur-events.html
    M 
LayoutTests/fast/forms/time/time-editable-components/time-editable-components-mouse-events.html
    M LayoutTests/fast/frames/consume_transient_activation.html
    M LayoutTests/fast/history/page-cache-createObjectURL-using-open-panel.html
    M 
LayoutTests/fast/inline-block/hittest-fails-on-inline-block-with-visibility-change.html
    M LayoutTests/fast/loader/form-submission-after-beforeunload-cancel.html
    M LayoutTests/fast/loader/show-only-one-beforeunload-dialog.html
    M LayoutTests/fast/selectors/focus-visible-setSelectionRange.html
    M LayoutTests/fast/svg/foreign-object-offset-position.html
    M LayoutTests/fast/web-share/share-transient-activation-expired.html
    M LayoutTests/fast/web-share/share-transient-activation.html
    M LayoutTests/fast/web-share/share-with-files-feature-disabled.html
    M LayoutTests/fast/web-share/share-with-files.html
    M LayoutTests/fast/web-share/share-with-no-url.html
    M LayoutTests/fast/web-share/share.html
    M 
LayoutTests/http/tests/download/anchor-download-attribute-content-disposition-no-extension-octet-stream.html
    M 
LayoutTests/http/tests/download/anchor-download-attribute-content-disposition-no-extension-text-plain.html
    M 
LayoutTests/http/tests/download/anchor-download-attribute-content-disposition.html
    M LayoutTests/http/tests/download/anchor-download-no-extension.html
    M LayoutTests/http/tests/download/anchor-download-no-value.html
    M LayoutTests/http/tests/download/anchor-download-redirect.html
    M LayoutTests/http/tests/download/area-download.html
    M LayoutTests/http/tests/download/convert-cached-load-to-download.html
    M 
LayoutTests/http/tests/events/touch/ios/cross-frame-single-tap-same-origin.https.html
    M LayoutTests/http/tests/local/blob/resources/hybrid-blob-util.js
    M 
LayoutTests/http/tests/local/fileapi/file-last-modified-after-delete-using-open-panel.html
    M 
LayoutTests/http/tests/local/fileapi/file-last-modified-using-open-panel.html
    M 
LayoutTests/http/tests/local/fileapi/upload-zip-bundle-as-blob-using-open-panel.html
    M 
LayoutTests/http/tests/local/formdata/send-form-data-constructed-from-form-using-open-panel.html
    M 
LayoutTests/http/tests/local/formdata/send-form-data-with-empty-file-filename-using-open-panel.html
    M LayoutTests/http/tests/misc/form-submit-file-cross-site-redirect.html
    M LayoutTests/http/tests/misc/form-submit-file-cross-site.html
    M LayoutTests/http/tests/misc/iframe-beforeunload-dialog-allow-modals.html
    M LayoutTests/http/tests/misc/iframe-beforeunload-dialog-block-modals.html
    M 
LayoutTests/http/tests/misc/iframe-beforeunload-dialog-matching-ancestor-securityorigin.html
    M 
LayoutTests/http/tests/misc/iframe-beforeunload-dialog-not-matching-ancestor-securityorigin.html
    M LayoutTests/http/tests/paymentrequest/paymentrequest-features.https.html
    M 
LayoutTests/http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html
    M LayoutTests/http/tests/security/anchor-download-allow-blob.html
    M LayoutTests/http/tests/security/anchor-download-allow-data.html
    M LayoutTests/http/tests/security/anchor-download-allow-sameorigin.html
    M LayoutTests/http/tests/security/anchor-download-block-crossorigin.html
    M 
LayoutTests/http/tests/security/anchor-download-octet-stream-no-extension.html
    M 
LayoutTests/http/tests/security/frameNavigation/resources/iframe-that-performs-parent-navigation-with-user-activation.html
    M LayoutTests/http/tests/site-isolation/resources/pointer-lock.html
    M LayoutTests/http/tests/ssl/applepay/ApplePayError.html
    M LayoutTests/http/tests/ssl/applepay/ApplePaySession.html
    M LayoutTests/http/tests/ssl/applepay/ApplePaySessionV3.html
    M LayoutTests/http/tests/ssl/applepay/ApplePaySessionV4.html
    M LayoutTests/http/tests/ssl/applepay/ApplePaySessionV5.html
    M LayoutTests/http/tests/webshare/webshare-allow-attribute-share.https.html
    M LayoutTests/http/wpt/service-workers/file-upload.html
    M LayoutTests/http/wpt/service-workers/form-data-upload.html
    M LayoutTests/media/video-src-blob-replay.html
    M LayoutTests/media/video-src-blob-using-open-panel.html
    M LayoutTests/pdf/annotations/checkbox-set-active.html
    M LayoutTests/pdf/annotations/dropdown-select-second-option.html
    M LayoutTests/pdf/annotations/radio-buttons-select-second.html
    M LayoutTests/platform/ios/TestExpectations
    M LayoutTests/platform/ipad/TestExpectations
    M LayoutTests/pointerevents/pointer-event-twist-on-tap-or-click.html
    M LayoutTests/resources/ui-helper.js

  Log Message:
  -----------
  Switch UIHelper's activateAt() to use eventSender.asyncMouse*()
https://bugs.webkit.org/show_bug.cgi?id=309768

Reviewed by Ryosuke Niwa.

activateAt() is already asynchronous, but only on iOS would you be
truly required to await its promise. This change make it asynchronous
on all platforms, which is a pre-requisite if you want to use it to
open <select> elements on macOS for instance (and I do, see bug
308457).

124 tests that were not awaiting its promise are changed to await it.
Some of these could probably do without awaiting, but it was easier to
change all of them and it makes copypasta easier going forward.

9 tests were not even asynchronous (despite this being required for
iOS). This is also addressed and some tests were migrated from
js-test-[pre|post] to js-test.

This also exposed a bug in
fast/forms/datalist/datalist-textinput-dynamically-add-options-on-keydown.html
due to the insertion of a <div id=console> by js-test. We address this
by inserting it upfront. (The asynchronous mouse inputs would go to the
wrong place.) This fixes bug 271712 as a side effect by making the test
work on iOS.

And it exposed a bug in
http/tests/webshare/webshare-allow-attribute-share.https.html due to it
not registering a listener in time. (It relied on synchronous delivery
of events.)

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to