Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d0d3d16a42b549d26fcb969a226d5ed6ef099a13
https://github.com/WebKit/WebKit/commit/d0d3d16a42b549d26fcb969a226d5ed6ef099a13
Author: Tim Nguyen <[email protected]>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
A LayoutTests/fast/forms/ios/select-base-appearance-picker-expected.txt
A LayoutTests/fast/forms/ios/select-base-appearance-picker.html
M
LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/rendering/widgets/the-select-element/select-as-listbox-default-styles.tentative-expected.txt
R
LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/customizable-select/button-in-popover-expected.txt
R
LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/customizable-select/select-anchor-regression-expected.txt
M
LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/customizable-select/select-click-drag-option.optional-expected.txt
M
LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/customizable-select/select-inside-top-layer-expected.txt
R
LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/customizable-select/select-pseudo-open-expected.txt
M LayoutTests/resources/ui-helper.js
M Source/WebCore/html/HTMLSelectElement.cpp
M Source/WebCore/html/HTMLSelectElement.h
M Source/WebKit/Shared/FocusedElementInformation.h
M Source/WebKit/Shared/FocusedElementInformation.serialization.in
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
Log Message:
-----------
Enhanced <select>: don't use native picker on iOS
https://bugs.webkit.org/show_bug.cgi?id=307887
rdar://170370809
Reviewed by Wenson Hsieh.
`appearance: base` is meant to be consistent across platforms to avoid
developer friction.
Developers who use `appearance: base` on `::picker(select)` opt-in to use the
web-based picker instead of the native one.
* LayoutTests/fast/forms/ios/select-base-appearance-picker-expected.txt: Added.
* LayoutTests/fast/forms/ios/select-base-appearance-picker.html: Added.
Add test coverage.
*
LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/rendering/widgets/the-select-element/select-as-listbox-default-styles.tentative-expected.txt:
Expected "regression", iOS always used menulists instead of listboxes. This now
shows up because we call "updateStyleIfNeeded()" which makes this test reflect
reality.
*
LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/customizable-select/button-in-popover-expected.txt:
Removed.
*
LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/customizable-select/select-anchor-regression-expected.txt:
Removed.
*
LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/customizable-select/select-click-drag-option.optional-expected.txt:
*
LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/customizable-select/select-inside-top-layer-expected.txt:
More baselines reflecting matching behavior with macOS.
*
LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/customizable-select/select-pseudo-open-expected.txt:
Removed.
iOS now matches macOS behavior, the removal of these baselines match that.
* LayoutTests/resources/ui-helper.js:
(window.UIHelper.isShowingContextMenu):
* Source/WebCore/html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::menuListDefaultEventHandler):
Make the base appearance picker actually show on iOS.
* Source/WebCore/html/HTMLSelectElement.h:
* Source/WebKit/Shared/FocusedElementInformation.h:
* Source/WebKit/Shared/FocusedElementInformation.serialization.in:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(createInputPeripheralWithView):
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::focusedElementInformation):
Pass the base appearance state to block the native picker when necessary.
Canonical link: https://commits.webkit.org/307663@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications