Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7abec143ddb94dfa96545e67979834d16b52a16b https://github.com/WebKit/WebKit/commit/7abec143ddb94dfa96545e67979834d16b52a16b Author: Tim Nguyen <n...@apple.com> Date: 2022-11-24 (Thu, 24 Nov 2022)
Changed paths: M LayoutTests/TestExpectations M LayoutTests/fast/multicol/client-rects-spanners-complex.html M LayoutTests/fast/multicol/client-rects-spanners.html M LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-item-compressible-002-expected.txt A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-native-horizontal-rtl.optional-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-native-horizontal-rtl.optional.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-native-horizontal.optional-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-native-horizontal.optional.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-native-vertical-rtl.optional-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-native-vertical-rtl.optional.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-native-vertical.optional-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-native-vertical.optional.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-none-horizontal-rtl.optional-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-none-horizontal-rtl.optional.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-none-horizontal.optional-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-none-horizontal.optional.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-none-vertical-rtl.optional-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-none-vertical-rtl.optional.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-none-vertical.optional-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-none-vertical.optional.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-native-horizontal.optional-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-native-horizontal.optional.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-native-vlr.optional-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-native-vlr.optional.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-native-vrl.optional-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-native-vrl.optional.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-none-horizontal.optional-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-none-horizontal.optional.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-none-vlr.optional-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-none-vlr.optional.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-none-vrl.optional-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-none-vrl.optional.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-scrolling.optional-expected.txt A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-scrolling.optional.html A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-size-scrolling-and-sizing.optional-expected.txt A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-size-scrolling-and-sizing.optional.html M LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/w3c-import.log M LayoutTests/platform/gtk/TestExpectations M LayoutTests/platform/ios/TestExpectations M Source/WebCore/css/horizontalFormControls.css M Source/WebCore/css/html.css M Source/WebCore/html/shadow/SliderThumbElement.cpp M Source/WebCore/rendering/RenderTheme.cpp M Source/WebCore/rendering/RenderTheme.h M Source/WebCore/rendering/RenderThemeIOS.mm Log Message: ----------- Support `input[type="range"]` in vertical writing mode https://bugs.webkit.org/show_bug.cgi?id=248208 rdar://102598641 Reviewed by Darin Adler. Re-use `appearance: slider-vertical` for painting natively and adjust the thumb positioning code to take in account various inline direction configurations. - horizontal writing mode + any appearance that is not slider-vertical: follows inline direction (left to right or right to left) - horizontal writing mode + `appearance: slider-vertical`: always bottom to top regardless of direction (preserves old behavior) - vertical writing mode + any appearance: follows inline direction (top to bottom in LTR, bottom to top in RTL) WPT imported from https://github.com/web-platform-tests/wpt/commit/3f94991edbdf818c74d93c354117e82a3b2a2758 * LayoutTests/TestExpectations: * LayoutTests/fast/multicol/client-rects-spanners-complex.html: * LayoutTests/fast/multicol/client-rects-spanners.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-item-compressible-002-expected.txt: * LayoutTests/platform/gtk/TestExpectations: * LayoutTests/platform/ios/TestExpectations: * Source/WebCore/css/horizontalFormControls.css: (@namespace "http://www.w3.org/1999/xhtml";): * Source/WebCore/css/html.css: (input:not([type="color"],[type="range"]), select, button, meter, progress): (input:not([type="color"]), select, button, meter, progress): Deleted. Enable input[type=range] when VerticalFormControlsEnabled setting is enabled. * Source/WebCore/html/shadow/SliderThumbElement.cpp: (WebCore::hasVerticalAppearance): Now also returns true for vertical writing modes regardless of the appearance value (WebCore::RenderSliderContainer::computeLogicalHeight const): Logical height is writing-mode aware, adjust check to reflect this is specifically for appearance: slider-vertical in horizontal mode. (WebCore::RenderSliderContainer::layout): Adjust initial positioning code for vertical writing mode support (WebCore::SliderThumbElement::setPositionFromPoint): Adjust dragging code for vertical writing mode support * Source/WebCore/rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): we now pass in the style in autoAppearanceForElement so we can query the writing mode reliably (WebCore::RenderTheme::autoAppearanceForElement const): paint slider using slider-vertical appearance in vertical writing mode (WebCore::RenderTheme::paintSliderTicks): Adjust tick positioning code to correctly query reversed inline direction * Source/WebCore/rendering/RenderTheme.h: * Source/WebCore/rendering/RenderThemeIOS.mm: (WebCore::RenderThemeIOS::paintSliderTicks): ditto. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/w3c-import.log: * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-native-horizontal-rtl.optional-expected-mismatch.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-native-horizontal-rtl.optional.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-native-horizontal.optional-expected-mismatch.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-native-horizontal.optional.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-native-vertical-rtl.optional-expected-mismatch.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-native-vertical-rtl.optional.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-native-vertical.optional-expected-mismatch.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-native-vertical.optional.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-none-horizontal-rtl.optional-expected-mismatch.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-none-horizontal-rtl.optional.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-none-horizontal.optional-expected-mismatch.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-none-horizontal.optional.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-none-vertical-rtl.optional-expected-mismatch.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-none-vertical-rtl.optional.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-none-vertical.optional-expected-mismatch.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/range-input-appearance-none-vertical.optional.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-native-horizontal.optional-expected-mismatch.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-native-horizontal.optional.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-native-vlr.optional-expected-mismatch.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-native-vlr.optional.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-native-vrl.optional-expected-mismatch.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-native-vrl.optional.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-none-horizontal.optional-expected-mismatch.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-none-horizontal.optional.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-none-vlr.optional-expected-mismatch.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-none-vlr.optional.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-none-vrl.optional-expected-mismatch.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-appearance-none-vrl.optional.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-scrolling.optional-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-scrolling.optional.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-size-scrolling-and-sizing.optional-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-size-scrolling-and-sizing.optional.html: Added. Canonical link: https://commits.webkit.org/256994@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes