Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0817760f7266b906787bf6779391ff6a2fcc882c
https://github.com/WebKit/WebKit/commit/0817760f7266b906787bf6779391ff6a2fcc882c
Author: Wenson Hsieh <[email protected]>
Date: 2023-03-13 (Mon, 13 Mar 2023)
Changed paths:
M
LayoutTests/editing/selection/ios/do-not-hide-selection-in-visible-container.html
M
LayoutTests/editing/selection/ios/do-not-show-selection-in-empty-borderless-subframe.html
M
LayoutTests/editing/selection/ios/do-not-zoom-to-focused-hidden-contenteditable.html
M
LayoutTests/editing/selection/ios/hide-selection-in-hidden-contenteditable.html
M
LayoutTests/editing/selection/ios/hide-selection-in-tiny-contenteditable.html
M
LayoutTests/editing/selection/ios/persist-selection-after-tapping-on-element-with-mousedown-handler.html
M Source/WebKit/Platform/spi/ios/UIKitSPI.h
M Tools/WebKitTestRunner/ios/TestControllerIOS.mm
Log Message:
-----------
[iOS] Various tests in editing/selection/ios fail with out-of-process
keyboard enabled
https://bugs.webkit.org/show_bug.cgi?id=253800
rdar://106007933
Reviewed by Ryosuke Niwa.
Apply several mitigations to keep these iOS-specific tests passing, when OOP
keyboard is enabled.
See below for more details.
*
LayoutTests/editing/selection/ios/do-not-hide-selection-in-visible-container.html:
*
LayoutTests/editing/selection/ios/do-not-show-selection-in-empty-borderless-subframe.html:
*
LayoutTests/editing/selection/ios/do-not-zoom-to-focused-hidden-contenteditable.html:
Adjust various tests to wait for the keyboard to hide before either ending, or
attempting to show
the keyboard again by focusing another element. While this is generally good
test hygiene, when OOPK
is enabled, failure to ensure this causes the keyboard hiding/showing
notifications to be batched
together when the keyboard is shown before it even starts to dismiss; this
breaks any subsequent
attempt to wait for the keyboard to appear when focusing, which waits for the
notification to be
posted.
*
LayoutTests/editing/selection/ios/hide-selection-in-hidden-contenteditable.html:
* LayoutTests/editing/selection/ios/hide-selection-in-tiny-contenteditable.html:
*
LayoutTests/editing/selection/ios/persist-selection-after-tapping-on-element-with-mousedown-handler.html:
* Source/WebKit/Platform/spi/ios/UIKitSPI.h:
* Tools/WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::handleKeyboardWillHideNotification):
(WTR::TestController::platformResetStateToConsistentValues):
Additionally fix logic that dismisses the keyboard (and waits for it to finish
disappearing) between
tests to work with OOPK. With OOPK enabled, this will fail because we currently
expect the
notification for `WillHide` to be dispatched during the call to
`-resignFirstResponder`, such that
we only wait for the `DidHide` notification afterwards. However, since
`WillHide` itself is delayed,
we end up skipping waiting altogether.
To fix this, we add another phase to wait for `WillHide` before waiting for
`DidHide`. Note that
this is still compatible with OOPK disabled, since the flag will already be
unset underneath the
call to `-resignFirstResponder`, causing us to effectively skip waiting.
Canonical link: https://commits.webkit.org/261588@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes