[webkit-changes] [WebKit/WebKit] c7a54f: Fix painting of RenderListBox in vertical writing ...

Aditya Keerthi noreply at github.com
Thu Sep 28 10:54:12 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c7a54f98d7217bc27161357670a5b7549a231959
      https://github.com/WebKit/WebKit/commit/c7a54f98d7217bc27161357670a5b7549a231959
  Author: Aditya Keerthi <akeerthi at apple.com>
  Date:   2023-09-28 (Thu, 28 Sep 2023)

  Changed paths:
    A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-options-visual-order-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-options-visual-order.html
    M LayoutTests/platform/ios/TestExpectations
    M Source/WebCore/rendering/RenderListBox.cpp
    M Source/WebCore/rendering/RenderListBox.h

  Log Message:
  -----------
  Fix painting of RenderListBox in vertical writing mode
https://bugs.webkit.org/show_bug.cgi?id=261802
rdar://115766419

Reviewed by Tim Nguyen.

Ensure option items are painted following the block direction. This patch
also renames variables refer to logical values where necessary.

Subsequent patches will add support for horizontal scrolling and keyboard
navigation.

* LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-options-visual-order-expected.txt: Added.

The newly added tests is a failures for now, since `<select>` is still forced
to `writing-mode: horizontal-tb`. Once `RenderListBox` fully supports vertical
writing mode, and is enabled under the setting, these tests will pass.

* LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/select-multiple-options-visual-order.html: Added.
* LayoutTests/platform/ios/TestExpectations:

`RenderListBox` is not used on iOS.

* Source/WebCore/rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::layout):
(WebCore::RenderListBox::computeIntrinsicLogicalWidths const):
(WebCore::RenderListBox::computePreferredLogicalWidths):
(WebCore::RenderListBox::numVisibleItems const):
(WebCore::RenderListBox::listLogicalHeight const):
(WebCore::RenderListBox::computeLogicalHeight const):
(WebCore::RenderListBox::itemBoundingBoxRect const):
(WebCore::RenderListBox::paintItem):
(WebCore::itemOffsetForAlignment):
(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::listIndexAtOffset const):
(WebCore::RenderListBox::panScroll):
(WebCore::RenderListBox::listIndexIsVisible):
(WebCore::RenderListBox::maximumNumberOfItemsThatFitInPaddingAfterArea const):
(WebCore::RenderListBox::numberOfVisibleItemsInPaddingBefore const):
(WebCore::RenderListBox::numberOfVisibleItemsInPaddingAfter const):
(WebCore::RenderListBox::computeFirstIndexesVisibleInPaddingBeforeAfterAreas):
(WebCore::RenderListBox::scrollTo):
(WebCore::RenderListBox::itemLogicalHeight const):
(WebCore::RenderListBox::scrollHeight const):
(WebCore::RenderListBox::scrollTop const):
(WebCore::RenderListBox::setScrollTop):
(WebCore::RenderListBox::listHeight const): Deleted.
(WebCore::RenderListBox::maximumNumberOfItemsThatFitInPaddingBottomArea const): Deleted.
(WebCore::RenderListBox::numberOfVisibleItemsInPaddingTop const): Deleted.
(WebCore::RenderListBox::numberOfVisibleItemsInPaddingBottom const): Deleted.
(WebCore::RenderListBox::computeFirstIndexesVisibleInPaddingTopBottomAreas): Deleted.
(WebCore::RenderListBox::itemHeight const): Deleted.
* Source/WebCore/rendering/RenderListBox.h:

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




More information about the webkit-changes mailing list