[webkit-changes] [WebKit/WebKit] 1f6aec: [UIAsyncTextInput] Fix several failing iOS API tes...
Wenson Hsieh
noreply at github.com
Wed Jan 3 17:07:14 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 1f6aecd2d6505d6ffb9bc1c379f806c1f76698c7
https://github.com/WebKit/WebKit/commit/1f6aecd2d6505d6ffb9bc1c379f806c1f76698c7
Author: Wenson Hsieh <wenson_hsieh at apple.com>
Date: 2024-01-03 (Wed, 03 Jan 2024)
Changed paths:
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
M Tools/TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm
Log Message:
-----------
[UIAsyncTextInput] Fix several failing iOS API tests when async text input is enabled
https://bugs.webkit.org/show_bug.cgi?id=267064
rdar://120438466
Reviewed by Megan Gardner.
Fix 4 failing API tests, when async text input is enabled:
• DragAndDropTests.ContentEditableToContentEditable
• DragAndDropTests.ContentEditableToTextarea
These two tests are failing because they expect WebKit to write RTF and/or FlatRTFD upon starting a
drag. This is no longer the case when this feature is enabled, since the system now takes care of
lazily coercing web archive and HTML data to RTF/FlatRTFD/`NSAttributedString` as needed.
As such, we simply adjust this test to pass as long as HTML data is placed at a higher type fidelity
than plain text.
• KeyboardInputTests.IsSingleLineDocument
This actually caught a real bug, where we're failing to actually set the `singleLineDocument`
property on the extended traits delegate (`WKSEExtendedTextInputTraits`), since the call site is
guarded by a `-respondsToSelector:` check for `-setIsSingleLineDocument:` (the legacy name on
private text input traits) instead of `-setSingleLineDocument:` (the new property name on the
extended traits).
Fix the test by fixing `-_updateTextInputTraits:`.
• KeyboardInputTests.EditableWebViewRequiresKeyboardWhenFirstResponder
This test failure is due to the fact that, for a fully-editable web view (i.e. if the embedder sets
`-[WKWebView _editable]` to `YES`), `-_requiresKeyboardWhenFirstResponder` now returns `YES` instead
of `NO` when focusing a `readonly` text field.
Address this and restore shipping behavior by only reverting to the superclass implementation in the
case where the web view is not fully editable.
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _requiresKeyboardWhenFirstResponder]):
(-[WKContentView _updateTextInputTraits:]):
* Tools/TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(checkRichTextTypePrecedesPlainTextType):
Canonical link: https://commits.webkit.org/272638@main
More information about the webkit-changes
mailing list